64Bit version of this tool

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>cd\
C:>cd spark-2.0.2-bin-hadoop2.7\bin
C:\spark-2.0.2-bin-hadoop2.7\bin>winutils.exe
Usage: winutils.exe [command] ...
Provide basic command line utilities for Hadoop on Windows.
The available commands and their usages are:
chmod          Change file mode bits.
Usage: chmod [OPTION] OCTAL-MODE [FILE]
or: chmod [OPTION] MODE [FILE]
Change the mode of the FILE to MODE.
-R: change files and directories recursively
Each MODE is of the form '[ugoa]*(-+=)+'.
chown          Change file owner.
Usage: chown [OWNER][:[GROUP]] [FILE]
Change the owner and/or group of the FILE to OWNER and/or GROUP.
Note:
On Linux, if a colon but no group name follows the user name, the group of
the files is changed to that user's login group. Windows has no concept of
a user's login group. So we do not change the group owner in this case.
groups         List user groups.
Usage: groups [OPTIONS] [USERNAME]
Print group information of the specified USERNAME (the current user by default).
OPTIONS: -F format the output by separating tokens with a pipe
hardlink       Hard link operations.
Usage: hardlink create [LINKNAME] [FILENAME] |
hardlink stat [FILENAME]
Creates a new hardlink on the existing file or displays the number of links
for the given file
ls             List file information.
Usage: ls [OPTIONS] [FILE]
List information about the FILE (the current directory by default).
Using long listing format and list directory entries instead of contents,
and do not dereference symbolic links.
Provides equivalent or similar function as 'ls -ld' on GNU/Linux.
OPTIONS: -L dereference symbolic links
-F format the output by separating tokens with a pipe
symlink   Create a symbolic link.
Usage: symlink [LINKNAME] [FILENAME]
Creates a symbolic link
0 is returned on success.
2 is returned if the user does no have privilege to create symbolic links.
1 is returned for all other errors.
The default security settings in Windows disallow non-elevated administrators
and all non-administrators from creating symbolic links. The security settings
for symbolic links can be changed in the Local Security Policy management
console.
readlink  Print the target of a symbolic link.
Usage: readlink [LINKNAME]
Prints the target of a symbolic link
The output and returned error codes are similar to the UNIX
readlink command. However no options are accepted.
0 is returned on success.
1 is returned for all errors.
systeminfo     System information.
Usage: systeminfo
Prints machine information on stdout
Comma separated list of the following values.
VirtualMemorySize(bytes),PhysicalMemorySize(bytes),
FreeVirtualMemory(bytes),FreePhysicalMemory(bytes),
NumberOfProcessors,CpuFrequency(Khz),
CpuTime(MilliSec,Kernel+User)

task           Task operations.
Usage: task create [TASKNAME] [COMMAND_LINE] |
      task createAsUser [TASKNAME] [USERNAME] [PIDFILE] [COMMAND_LINE] |
      task isAlive [TASKNAME] |
      task kill [TASKNAME]
      task processList [TASKNAME]
Creates a new task jobobject with taskname
Creates a new task jobobject with taskname as the user provided
Checks if task jobobject is alive
Kills task jobobject
Prints to stdout a list of processes in the task
along with their resource usage. One process per line
and comma separated info per process
ProcessId,VirtualMemoryCommitted(bytes),
WorkingSetSize(bytes),CpuTime(Millisec,Kernel+User)

service        Service operations.
Usage: service
Starts the nodemanager Windows Secure Container Executor helper service.
The service must run as a high privileged account (LocalSystem)
and is used by the nodemanager WSCE to spawn secure containers on Windows.

C:\spark-2.0.2-bin-hadoop2.7\bin>winutils.exe start
Usage: winutils.exe [command] ...
Provide basic command line utilities for Hadoop on Windows.
The available commands and their usages are:
chmod          Change file mode bits.
Usage: chmod [OPTION] OCTAL-MODE [FILE]
or: chmod [OPTION] MODE [FILE]
Change the mode of the FILE to MODE.
-R: change files and directories recursively
Each MODE is of the form '[ugoa]*(-+=)+'.
chown          Change file owner.
Usage: chown [OWNER][:[GROUP]] [FILE]
Change the owner and/or group of the FILE to OWNER and/or GROUP.
Note:
On Linux, if a colon but no group name follows the user name, the group of
the files is changed to that user's login group. Windows has no concept of
a user's login group. So we do not change the group owner in this case.
groups         List user groups.
Usage: groups [OPTIONS] [USERNAME]
Print group information of the specified USERNAME (the current user by default).
OPTIONS: -F format the output by separating tokens with a pipe
hardlink       Hard link operations.
Usage: hardlink create [LINKNAME] [FILENAME] |
hardlink stat [FILENAME]
Creates a new hardlink on the existing file or displays the number of links
for the given file
ls             List file information.
Usage: ls [OPTIONS] [FILE]
List information about the FILE (the current directory by default).
Using long listing format and list directory entries instead of contents,
and do not dereference symbolic links.
Provides equivalent or similar function as 'ls -ld' on GNU/Linux.
OPTIONS: -L dereference symbolic links
-F format the output by separating tokens with a pipe
symlink   Create a symbolic link.
Usage: symlink [LINKNAME] [FILENAME]
Creates a symbolic link
0 is returned on success.
2 is returned if the user does no have privilege to create symbolic links.
1 is returned for all other errors.
The default security settings in Windows disallow non-elevated administrators
and all non-administrators from creating symbolic links. The security settings
for symbolic links can be changed in the Local Security Policy management
console.
readlink  Print the target of a symbolic link.
Usage: readlink [LINKNAME]
Prints the target of a symbolic link
The output and returned error codes are similar to the UNIX
readlink command. However no options are accepted.
0 is returned on success.
1 is returned for all errors.
systeminfo     System information.
Usage: systeminfo
Prints machine information on stdout
Comma separated list of the following values.
VirtualMemorySize(bytes),PhysicalMemorySize(bytes),
FreeVirtualMemory(bytes),FreePhysicalMemory(bytes),
NumberOfProcessors,CpuFrequency(Khz),
CpuTime(MilliSec,Kernel+User)

task           Task operations.
Usage: task create [TASKNAME] [COMMAND_LINE] |
      task createAsUser [TASKNAME] [USERNAME] [PIDFILE] [COMMAND_LINE] |
      task isAlive [TASKNAME] |
      task kill [TASKNAME]
      task processList [TASKNAME]
Creates a new task jobobject with taskname
Creates a new task jobobject with taskname as the user provided
Checks if task jobobject is alive
Kills task jobobject
Prints to stdout a list of processes in the task
along with their resource usage. One process per line
and comma separated info per process
ProcessId,VirtualMemoryCommitted(bytes),
WorkingSetSize(bytes),CpuTime(Millisec,Kernel+User)

service        Service operations.
Usage: service
Starts the nodemanager Windows Secure Container Executor helper service.
The service must run as a high privileged account (LocalSystem)
and is used by the nodemanager WSCE to spawn secure containers on Windows.

C:\spark-2.0.2-bin-hadoop2.7\bin>spark-shell
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel).
16/11/22 17:44:50 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:379)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:394)
at org.apache.hadoop.util.Shell.(Shell.java:387)
at org.apache.hadoop.hive.conf.HiveConf$ConfVars.findHadoopBinary(HiveConf.java:2327)
at org.apache.hadoop.hive.conf.HiveConf$ConfVars.(HiveConf.java:365)
at org.apache.hadoop.hive.conf.HiveConf.(HiveConf.java:105)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.spark.util.Utils$.classForName(Utils.scala:228)
at org.apache.spark.sql.SparkSession$.hiveClassesArePresent(SparkSession.scala:963)
at org.apache.spark.repl.Main$.createSparkSession(Main.scala:91)
at $line3.$read$$iw$$iw.(:15)
at $line3.$read$$iw.(:31)
at $line3.$read.(:33)
at $line3.$read$.(:37)
at $line3.$read$.()
at $line3.$eval$.$print$lzycompute(:7)
at $line3.$eval$.$print(:6)
at $line3.$eval.$print()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:786)
at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:1047)
at scala.tools.nsc.interpreter.IMain$WrappedRequest$$anonfun$loadAndRunReq$1.apply(IMain.scala:638)
at scala.tools.nsc.interpreter.IMain$WrappedRequest$$anonfun$loadAndRunReq$1.apply(IMain.scala:637)
at scala.reflect.internal.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:31)
at scala.reflect.internal.util.AbstractFileClassLoader.asContext(AbstractFileClassLoader.scala:19)
at scala.tools.nsc.interpreter.IMain$WrappedRequest.loadAndRunReq(IMain.scala:637)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:569)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:565)
at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:807)
at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:681)
at scala.tools.nsc.interpreter.ILoop.processLine(ILoop.scala:395)
at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply$mcV$sp(SparkILoop.scala:38)
at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply(SparkILoop.scala:37)
at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply(SparkILoop.scala:37)
at scala.tools.nsc.interpreter.IMain.beQuietDuring(IMain.scala:214)
at org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:37)
at org.apache.spark.repl.SparkILoop.loadFiles(SparkILoop.scala:94)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:920)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909)
at scala.reflect.internal.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:97)
at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:909)
at org.apache.spark.repl.Main$.doMain(Main.scala:68)
at org.apache.spark.repl.Main$.main(Main.scala:51)
at org.apache.spark.repl.Main.main(Main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:736)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:185)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:210)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:124)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
16/11/22 17:44:50 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
16/11/22 17:44:52 WARN SparkContext: Use an existing SparkContext, some configuration may not take effect.
Spark context Web UI available at http://<IP_ADDRESS>:4040
Spark context available as 'sc' (master = local[*], app id = local-1479816891834).
Spark session available as 'spark'.
Welcome to
____              __
/ /  ___ / /
\ / _ / _ `/ __/  '/
// .__/_,// //_\   version 2.0.2
//
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_91)
Type in expressions to have them evaluated.
Type :help for more information.
scala>

64 bit version of the tool is not the issue.
ERROR Shell: Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

It seems you have not set a HADOOP_HOME environment variable to C:\spark-2.0.2-bin-hadoop2.7

yeah, it's that null\bin\winutils.exe error. I've tried to make it more useful in Hadoop 2.8, though I fear that I've just changed the meaningless error to one differently bad


[W5.11][W11-A1] Sashankh Chengavalli Kumar

Enhanced find to make it case-insensitive. Updated help, documentation and code to reflect changes.

Great job! I like how you extracted the method for lowerCase.

@ChengSashankh
Some comments added. Please ack & close the PR after reading comments.

Comments noted with thanks.


Access rights to the repository

Could I get access rights for creating new branches in this repository please?
Thanks!

@Alexander-Kreutz could you do that? I'm not able to do it from may side

I cannot do it either. Maybe Francois can?

@vnf1 bist du admin von dem repo?

@oliveregger: ja, indirekt über den I4MI account. Ich habe Quentin berechtig als "Collaborator".
Hum, es gibt keine differenzierte Rollen wie bei GitLab, z.B. "Owner"...

@qligier, please close the issue when you have successfully accesses

Thanks, it seems to work properly!


Kamu gets into an infinite loop with Okta on Safari

The Safari browser behaves weird when trying to SSO for Kamu through Okta. It goes into a redirect loop.
Steps to reproduce:

Open your Okta dashboard on Safari.
Click on the Kamu link.
Wait for the redirect frenzy to start 😝

I haven't been able to reproduce this bug for a long time now, so I'll close this issue for now. If anyone stills sees this behaviour let us know how you were able to reproduce it and I can open it again.


rsync completion

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Problem / Steps to reproduce
If I do rsync remote-machine:/foo/bar/**<TAB> fzf lists local paths instead of remote ones.
rsync already has regular completions for paths in shells and it would be nice to have fzf work on it too :)

I encounter this problem too.


Fixed the detection of NULL Inputs for Hash Calculation for all adapters

When all inputs of a calculated hash value are NULL, the default unknown hash should be inserted. But that did not work, because the variable "all_null" was not properly forwarded to the concatenated_standardise macro. That has been fixed for all three adapters.

hey tim thanks for fixing this. one question, i knew it was not working so i did this workaround in the exasol concatenated_standardise macro before calling the standardise_prefix :
        CASE WHEN COALESCE(
        {%- for column in columns -%}
            CAST({{ column }} AS VARCHAR(200000) UTF8) {%- if not loop.last -%} , {% endif -%}
        {% endfor -%}, NULL) IS NULL
        THEN CAST('{{ unknown_key }}' as {{ hash_dtype }})
        ELSE

can i remove this now with your fix ?

hey tim thanks for fixing this. one question, i knew it was not working so i did this workaround in the exasol concatenated_standardise macro before calling the standardise_prefix :
        CASE WHEN COALESCE(
        {%- for column in columns -%}
            CAST({{ column }} AS VARCHAR(200000) UTF8) {%- if not loop.last -%} , {% endif -%}
        {% endfor -%}, NULL) IS NULL
        THEN CAST('{{ unknown_key }}' as {{ hash_dtype }})
        ELSE

can i remove this now with your fix ?

Hi Barbara, yes you can remove that part :)


appearance property

Problem
I encountered the appearance property in a style sheet that I was porting over to Tecton. I had to skip the declaration because it isn't included in the library.
Requested enhancement
I would like the appearance property to be added to the library.
References

Basic User Interface Module Level 4: appearance property

Anything else?
This might be a good first issue if anyone is interested...

Actually, this was resolved in #16.


feat: add flag to support Enterprise GitHub

The --github-url flag can be used to operate on repositories hosted on an Enterprise Github server.
See the doc update for more information.
Tested on my work GitHub Enterprise Server 3.5.7 and working fine.

addresses https://github.com/dailymotion-oss/octopilot/issues/164

ok, seems like the linters are still using an older go version. from https://github.com/golangci/golangci-lint-action I see that

v3.0.0+ requires explicit setup-go installation step prior to using this action: uses: actions/setup-go@v3.

and in https://github.com/dailymotion-oss/octopilot/blob/master/.github/workflows/static-analysis.yml we don't use setup-go...  you can copy these few lines from https://github.com/dailymotion-oss/octopilot/blob/master/.github/workflows/pr-build.yml for example (with go-version-file: 'go.mod') and paste them in the static-analysis.yml file before the golangci action.
and then it should be ok!
thanks again for your work, and sorry that you had to go through all that...

the linter still did not pick go 1.19, any suggestion to fix this?

@vbehar just checking if we can merge this soon? I will need this soon as I'm currently using my forked binary

@vbehar just checking if we can merge this soon? I will need this soon as I'm currently using my forked binary

yes sorry I was blocked by a broken integration with codecov, it's fixed now, so I'm merging it right now

argh sorry 1 more thing that blocks the merge:

The base branch requires all commits to be signed. Learn more about signing commits.

can you please sign your commit? thanks

@vbehar I think it is signed now as I see the Verified marker on the merge

The base branch requires all commits to be signed.

arghh it requires all commits to be signed, sorry you'll have to squash your commits together to sign the new commit. or if you want I can do it for you

@vbehar will be best if you can do it, otherwise let me know


Fix broken gem instructions.

Fixed instructions on the sinatra images tutorial, current docs error on gem install json because of Ruby version. This needs to be changed in the training/sinatra image really. @thaJeztah who maintains those?

hm @svendowideit do you manage those?

sadly not, asking around :)

Thanks @SvenDowideit !

I did
apt-get install ruby2.0 && gem2.0 install json

And failed with:
Building native extensions.  This could take a while...
ERROR:  Error installing json:
	ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.0 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

Afterwards I tried
apt-get install ruby2.0-dev && gem2.0 install json

which succeeded. Not a ruby guy, but it seems headers are supplied by ruby2.0-dev that are needed right?

@jymboche you're right (but more of a Ruby guy than me) :p I guess I already had the headers. I'll update the PR.

LGTM as a temporary measure. @thaJeztah ?

yes, sounds good to me
LGTM


Solution dependencies - Code Generator depends on Tests project

Internal technical issue spotted when doing PR #23 - the ids-lib.codgen project depends on the ids-tools.tests so it can re-use the code to get some buildingSmart files using the BuildingSmartRepoFiles Helper
Obviously it works but it does seem a little quirky since it creates a circular loop.  e.g. If you were regenerate broken code, (or removed the generated code) you'd not be able to build to code-generator to regenerate new code. I'd expect the code generator to have no internal dependencies and be at the 'bottom' of the stack of projects.
Perhaps that helper should be factored out to a common library, or maybe just a shared file so the dependency can be broken. Alternatively, we should move the helper to codegen. Can do a PR if you like

@andyward,
agreed I cut corners there a bit. I think I can live with that, but if you want to invest time fixing, a PR is welcome.

Hi @andyward,
I had a few minutes and fixed this with the shared SolutionTooling library.


Add StorageWriteRequest

Closes #312

Codecov Report

:exclamation: No coverage uploaded for pull request base (0.11@7611b51). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             0.11     #345   +/-   ##
=======================================
  Coverage        ?   95.54%
=======================================
  Files           ?       47
  Lines           ?     8439
  Branches        ?        0
=======================================
  Hits            ?     8063
  Misses          ?      376
  Partials        ?        0

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Disable CSP in development environment

Rails applications that use the their Content Security Policy also in the development environment are likely to block and break Lookbook. When that happens, all the user sees is a blank white page, and some errors in the browser console :eyes:
This change disables any CSP in the Lookbook controllers, but only in development. Production environments are not impacted.

Could it be possible for this to be configurable?
The hardest part of integrating Lookbook was getting around CSP, which I've just worked through. I disabled it for all Lookbook controllers for all environments, because CSP is not a concern for lookbook pages. Appreciate that may not be the case for others using CSP, hence the question :)

I thought for this PR it's best to not get into the topic of "lookbook in production" but keep it small and focused. This PR essentially just makes explicit what was always sort of the assumption, please correct me if I'm wrong, @allmarkedup.
All it does is making sure that, in development mode, no CSP gets in the way.
Solving CSP for production, in a configurable manner, is something for a later day, I guess :)

Thanks for this @thutterer! I have to admit I know very little about CSPs so it's really good to get some contributions in this area.
Some sort of configuration option(s) could certainly be good in the future but I agree that explicitly disabling CSP here is a good first step. @pmackay what would have been useful to you to help with your integration? Just a straight true/false option for disabling CSP in all of Lookbook's controllers? Or something a bit more fine-grained?
I think I'll merge this now as it is but I'd love to learn a bit more about people's CSP requirements and how best to support them where possible.


Update docopt to fix some option parsing

Closes #1720

r? @wycats
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+ a0b3d20

:hourglass: Testing commit a0b3d20 with merge 47306a4...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64


[Question] How to change format of default request with rectangular.one()

I am connecting to an API that requires the request for a single resource to be in the form:
api/cars(123)
rather than
api/cars/123.
Can I do this with rectangular.one(route, id)?

I work with odata and i need to ..


Tried installing sdk in windows, got this error in cargo build

error: failed to run custom build command for zmq-sys v0.11.0
Caused by:
process didn't exit successfully: C:\Users\HAI\indy-sdk\libindy\target\release\build\zmq-sys-9c063d24928041d5\build-script-main (exit code: 101)
warning: build failed, waiting for other jobs to finish...
error: failed to run custom build command for openssl-sys v0.9.59
Caused by:
process didn't exit successfully: C:\Users\HAI\indy-sdk\libindy\target\release\build\openssl-sys-63294e8bdf26359a\build-script-main (exit code: 101)
note:
i have openssl and rust installed as well.
have set path for all given in environment variables pointing to C:\Bin/x64
what do i gotta do to fix it

@WadeBarnes am on aries right now after knowing its depecrated, i want to install libindy and indy-cli , i tried the sudo apt-add-repository "deb https://repo.sovrin.org/sdk/deb bionic master" -y and it gave out a lot of errors, how do i fix it or cud u give me an updated repo for latest ubuntu?

indy-cli-rs is the replacement for the indy-cli built into the indy-sdk.

Alternatively you can use the containerized indy-cli built into von-network; https://github.com/bcgov/von-network/blob/main/docs/Indy-CLI.md


rdm.rb: upgrade to v0.8.0-2540

Thank you for the contribution. It was merged directly as 050de1d7ac8074d93d8d41cfb847e5aad281f93a to keep commit history cleaner. Your contribution is still credited to you.


Revert "[app] Add option to disable Read Client"

Reverts project-chip/connectedhomeip#28050
this doesn’t compile in the opposite path, please redo this, and add tests to confirm both paths.

@wqx6 FYI

In particular, ReadClient is used from various code that was not made conditional in https://github.com/project-chip/connectedhomeip/pull/28050.
Ideally, setting that compile option would remove the definition of the ReadClient class altogether (e.g. via ifdefs in that header, so the includes don't have to be ifdefed), and then fix all the resulting compile failures.

Thanks for suggestion, I will raise another PR.


We need to do tests in every environment

Use tests and dtdoctor in:

[ ] git bash
[ ] jupyter
[ ] cmd.exe
[ ] powershell

@ayjayt can we close this one?


gather with i32 indexes

As far as I can see we can only use gather with usize indexes.
The x86 intrinsic _mm256_i32gather_ps however takes i32 indexes and a float* base pointer.
Is it possible to add more flexible options to the index type of the gather instructions?

This is related to #323.
I wonder--for forward compatibility with new instruction sets that could have some other arbitrary gather index, should gather accept any T: SimdUsize? Also, does it matter if the type is signed or unsigned (are there instruction sets that don't support negative offsets)?

SimpleV gathers with unsigned offsets are more efficient than signed offsets, because the gather operation can be fused with a few minor operations done on the output, such as saturation, but the fusing can only happen when the offsets are unsigned. If no fusing occurs, signed/unsigned is equally efficient (at least in terms of instruction count, some hardware may be faster for one or the other).
see the discussion of the SEA bit for load/store indexed in https://libre-soc.org/openpower/sv/ldst/

RISC-V V v1.0 doesn't support signed offsets (except by separately converting the offsets to a usize vector first):

If the vector offset elements are narrower than XLEN, they are zero-extended to XLEN before adding to the base effective address.

(XLEN is basically the number of bits in usize)

so, imho, if we support any non-usize indexes, we should just support all of them and LLVM can cast the input to a usize vector if needed.

It should be noted that it is fairly doubtful to offset a base pointer by a negative value in terms of Rust's system of reasoning about pointers, regardless of whether the ISA allows it, because going from &[T] to *const T and then gathering using that only gives you provenance for positive indices.

well, sometimes you want negative offsets on a raw pointer, I agree that it is very rare, but imho it's still worth supporting in some fashion (could be by saying do-it-yourself by using Simd<*const T, _>::add then call non-indexing gather on that vector of pointers), though we might want a lint on indexing using signed types if we support them in indexing-gather.

otoh, if the semantics of indexing-gather on slices is to select-in some fallback value on out-of-range indexes, using -1 as a guaranteed out-of-range value could be nice to avoid needing multiple selects.

My remarks were not about what is permissible, as I am aware of that caveat and obviously ptr.offset(i) is legal, as counting down from the end of a slice is fine. The implication was more that it would make sense if trying to use signed integers would be... less ergonomic.

Simd::gather_yes_i_know_i_want_signed_indexes 😛

As far as I can tell, LLVM's vp.gather intrinsic supports negative offsets.  I'm curious how that works on targets that don't support it natively--is there always conversion overhead, even when using unsigned offsets?
I'll implement this after #322 lands, since that touches gather as well.

As far as I can tell, LLVM's vp.gather intrinsic supports negative offsets.

that's not true, llvm.vp.gather and llvm.masked.gather don't support offsets of any sort, their input is a vector of pointers. if you need offsets (negative or positive), you have to add them into the vector of pointers (probably by using getelementptr as appropriate) and supplying the result to the gather op.
what sometimes supports offsets is the target ISA's instructions, e.g. vpgatherdd is equivalent to fusing a getelementptr with a splatted base pointer and with 32-bit offsets with a llvm.vp.gather.

I'm curious how that works on targets that don't support it natively--is there always conversion overhead, even when using unsigned offsets?

if you mean targets that don't support gather at all, it would be equivalent to a sequence of scalar load ops, with getelementptrs as needed to calculate the pointers to be loaded by applying the desired offsets.


Add partial support for EF migrations on InMemory Provider to enable data migrations and seeding

With this "Feature Request" I'm asking if it could be possible to extend the InMemoryProvider by the necessary functionality to support "data migrations".
As of today the InMemory provider does not provide EF migrations. This is not a big deal, as long as you only consider schema migrations which are not needed for the InMemoryProvider. But there are also "data migrations" represented by the methods like InsertData and UpdateData which have a relevance for InMemory databases too. They are currently quite designed for relational databases with their "table" and "column" approach and might need refactoring to be database provider agnostic.
I have the feeling that none of the data seeding/migration systems (beside a custom built one) works properly with real databases and InMemory databases in parallel.
We are using data migrations to seed our database and make potentially modifications to the existing data if needed. The documentation explains a little bit about data seeding but this systems somehow are not working for us. Let me elaborate some scenarios I tried to implement and how I failed:
Steps to reproduce

Run migrations with data migrations
We have a migration step where we call migrationBuilder.InsertData() to seed some data into the freshly created table right above the InsertData. On startup of our (test-)service we call context.Database.MigrateAsync() to run the migration chain and get everything prepared. This fails by today with the following exception as the InMemory provider does not support relational operations:

System.InvalidOperationException: Relational-specific methods can only be used when the context is using a relational database provider.
    at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.GetRelationalService[TService](IInfrastructure`1 databaseFacade)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.MigrateAsync(DatabaseFacade databaseFacade, CancellationToken cancellationToken)

Expected Behavior: It would be great if the schema related operations of the migration are simply skipped as they are "not needed" (?) while data migrations should be executed correctly. By implementing the feature request of this issue, we would be able to "migrate" the database.
Technical Challenge: I guess the InMemory provider can only consider the latest snapshot of the model for operations. A problem scenario here is: If Migration1 inserts some data to MyEntity and Migration2 adds a required property MyProp to MyEntity. I assume that with the todays implementation, the InMemory provider will fail on the data insert of Migration1 because the required field information is not filled. I'm not sure how to solve this best, maybe the schema migrations also need to be interpreted in InMemory provider and validations must consider the current state at the time of migration. Maybe validations could be ignored for the sake of in-memory testing.

Use EnsureCreatedAsync instead of MigrateAsync  as described by the docs.
The next thing I tried, is to use EnsureCreatedAsync as the docs read:

Alternatively, you can use context.Database.EnsureCreated() to create a new database containing the seed data, for example for a test database or when using the in-memory provider or any non-relation database.

But this will not work. The EnsureCreatedAsync will only try to seed data that was specified via HasData via OnModelCreating but not InsertData statements of any migration. Hence I was left with an empty InMemory database by using EnsureCreatedAsync and my tests failed as required entities were not there.
I guess this is by-design considering the current behavior. Migrations are for relational database, other providers only consider the current model snapshot as per configuration.

Use HasData in the OnModelCreating
The docs and discussions in the internet (almost) convinced me to use HasData for defining the required application entities and ensuring they are inserted. I hope that with defining HasData results in EF migrations with data migrations being generated. But I did not came that far to check how it works.

I added an initial data row to one of my entities and instantly got some errors because we are forced to define IDENTITY primary key columns while I hoped that they are auto-generated as usual. A bit or reading later, I let myself convince to add a Id = 1 to my initial data row. Now it seems to work...unless you try to insert a second record for the same entity. In my test I create a second entity, beside the seeded one. And there I get an exception because the InMemory provider does not pick up the "used primary keys" from seeding and tries to give the first added entity also the id 1 :
System.ArgumentException: An item with the same key has already been added.
    at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at Microsoft.EntityFrameworkCore.InMemory.Storage.Internal.InMemoryTable`1.Create(IUpdateEntry entry)
   at Microsoft.EntityFrameworkCore.InMemory.Storage.Internal.InMemoryStore.ExecuteTransaction(IReadOnlyList`1 entries, IDiagnosticsLogger`1 updateLogger)
   at Microsoft.EntityFrameworkCore.InMemory.Storage.Internal.InMemoryDatabase.SaveChangesAsync(IReadOnlyList`1 entries, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.<SaveChangesAsync>d__81.MoveNext()

The InMemory provider behaves like a IDENTITY_INSERT in SQL server where a CHECKIDENT is missing.
Expected Behavior: If I seed some initial records with HasData I either should not be forced to add the primary key column and let the identity generation fill it (like the InsertData also does not require it). Or the InMemory provider must detect that I used some IDs and update the internal identity counter to the next available value. Anything else makes this whole feature useless. It is understandable from #11776 that for migrating seeded data correctly the key must be known, otherwise never a UpdateData can be scaffolded. But having no mechanism in place to set the identity start values accordingly sounds like a bug. Either this should be auto-detected or at least a configuration value.
So here I am, trying to get one of the most simple tasks done: inserting some seed data for my application regardless of the database provider user, but I am failing. Either I missed something very obvious or seeding is simply a task not yet supported well by efcore.
Further technical details
EF Core version: 2.2.3
Database Provider: Microsoft.EntityFrameworkCore.InMemory and Microsoft.EntityFrameworkCore.SqlServer
Operating system: Windows 10 Pro 1809 x64
IDE: Rider 2019.2

@Danielku15 Thanks for the suggestion. We discussed this, but given that the in-memory provider is inherently non-relational, and that the migrations feature (especially the actual migrations themselves) are inherently relational, attempting to combine the two in this way would be both architecturally and pragmatically very difficult. Even with this, it's not clear that this would be the best way to manage the data--it seems like it would be very easy for the database to get out-of-sync with the model/migrations.


Impossible to configure custom TLS validation

Regardless of what was previously configured in SslContext, this line simply overrides any verification settings.

True. Does SslContext have a way of setting that? I imagine it didn't, and so the verify option was set on the Ssl instead. If it does, that line could be moved the Default implementation.

SslContext has the same functions for verification as Ssl.

I just looked again, and clearly that isn't possible, because the hostname must be passed to the verify callback. Is there a different verification you'd hope to do, or just hoping to disable it?

I want to pin to a specific certificate and don't care about hostname verification.

To unblock your use-case, you can impl SslClient for PinnedCert to do exactly as you like, and then use Client::with_connector(HttpsConnector::new(PinnedCert))
I feel the SSL/TLS design needs a bit of help in general.

Yup, did that. :)
You could do
pub struct OpensslClient {
	ctx: SslContext,
	default_verify: bool,
}

I would like to connect to a fake certificate (the certificate does not match the domain), which is currently impossible.
It would be really great if we could connect to an invalid domain/ expired certificate / unknown issuer...
Can I just impl SslClient to make this work?

Yes, you can implement SslClient however you'd like.
On Tue, Sep 20, 2016, 8:50 AM Tatref<EMAIL_ADDRESS>wrote:

I would like to connect to a fake certificate (the certificate does not
match the domain), which is currently impossible.
It would be really great if we could connect to an invalid domain/ expired
certificate / unknown issuer...
Can I just impl SslClient to make this work?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/hyperium/hyper/issues/887#issuecomment-248343756, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AADJF8HihVDqDgX3R16yyrEJejFEW5sfks5qsACrgaJpZM4Jhx0n
.

With the release of 0.10, hyper no longer bundles a default SslClient, and instead proposes use of pluggable crates to provide it. So I'm going to close this.


Triple click selecting carriage return and moving to next line

Description of the Issue
When triple clicking to select the whole line, the cursor is moving automatically to the start of the next line. When copying in this state, it's therefore copying the carriage return, and so you end up pasting two lines, instead of one, with the second line blank. This is causing me headaches when pasting into text entry fields that only show a single input line.
Steps to Reproduce the Issue
Open a text doc that contains multiple lines.
Triple click a line of text, one that has another line of text after it.
Note that the whole line of text is selected, and then the cursor is moved to the next line
CTRL+C or right click->Copy, to copy
Paste elsewhere. Note that the desired line is pasted, along with a new line, that's blank.
Expected Behavior
Only have the current line the cursor is in, copied, after triple click. Only one line should be pasted then.
Actual Behavior
An extra blank line is copied and pasted due to the cursor being moved to the next line on triple click.

This works as designed and aligns with most code editors.
Triple clicking (or clicking on a line number) will select the contents of a line and the End-Of-Line Sequence e.g. "This is a line\n".


Explore PowerBI for warm exploration

Can we use PowerBI for storing the entire event stream and enabling ad-hoc querying of recent/warm events?
We're interested the capacity and throughput limits.
This relates to #86.

PowerBI REST API:
https://msdn.microsoft.com/en-US/library/dn889825.aspx

Max rows per single push 10,000
Single push is non-continuous. It does not mean that the table is empty to start and it does not need to complete in under a second
Continuous push: Once per second at a max size of 500 rows with a max table size of 2 million rows
5 million row max per table
Max of 5 pending request at one time

Based on the above limitations, PowerBI is not a good fit for our "Warm Exploration" scenario where we send our full stream of raw data. The 5 million row max per table limit suggests that we can only send it filtered aggregated data.


read out loud, create an option where anyone can listen to their own notes

There should be an option where any logged in user can listen to their own notes written and saved in out database
Things to keep in mind:

The notes are in markdown format so that it can contain multiple nodes such as images and codeblocks, we would probably need something to parse that safely
Avoid using any kind of ai voice generator try to rely on the default browser based text to speech api

@AnkitSeal2023


Error messages from Julia

When something goes wrong in Julia code, I get a Rust error that looks like this when debug printed:
Error: ExceptionOccurred(Exception { message: "ErrorException" })

Is it possible to obtain more information about the error than just the exception type?

At the moment, I'm not sure. I was hoping when I included it that the
string would contain more relevant information but that wasn't the case.
It's something that definitely deserves more attention.
Op wo 26 feb. 2020 17:32 schreef Alice Ryhl<EMAIL_ADDRESS>
When something goes wrong in Julia code, I get a Rust error that looks
like this when debug printed:
Error: ExceptionOccurred(Exception { message: "ErrorException" })
Is it possible to obtain more information about the error than just the
exception type?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Taaitaaiger/jlrs/issues/1?email_source=notifications&email_token=AOQBHH7QW4DBXZ7JECAWOFDRE2KSRA5CNFSM4K4JMF5KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IQQRWTA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOQBHH6FMWW72O7WELZDHL3RE2KSRANCNFSM4K4JMF5A
.

I've played with exceptions a bit and there are cases where more information can be extracted. I'm going to work on that after v0.2 is released (probably this or next week).

My current idea is to change the return type of the methods that let you call a function and return the exception as a Value if it fails (as the error variant of a result, of course). I've added methods to Value today so the field names and the fields themselves can be accessed and used. Additionally, you can acquire a useful backtrace if you catch the exception in Julia, call stacktrace(catch_backtrace(), true), then wrap both in another exception and throw that exception. I'll add a convenience function to jlrs.jl to handle that for users.
What are your thoughts on these plans? Would that work for your use case?

I think returning the value is a good idea. I think you should strive for building it in a way where if the user doesn't handle it in any way, the error message should show up as expected.

I'm not sure if printing a full error message (ie including a backtrace) if the exception is not handled is possible. The main problem is that calling catch_backtrace only works if it's called from Julia in a catch block; when control has returned to Rust that information is already lost, no useful backtrace can be printed, and you'd basically end up with the current situation where only the type name can be printed if a user decides to unwrap the result.
While I think adding a convenience method that wraps a function call in a try-catch, prints the backtrace if an exception is thrown and rethrows it is fair, I don't think it should be the default.

On second thought, I think a convenience method to wrap the function itself rather than the function call is a better idea.

I'm going to assume this issue is resolved. If you run into any issues, feel free to open another issue :)


#339 [BUG] Improve the review section by Ambar Mishra

Pull Request Format
#339 [BUG] Improve the review section by Ambar Mishra
Issue #339  : [BUG] Improve the review section solved
Type of PR

Add X in the box to specify the improvement type.
[X] Bug fix
[X] Feature enhancement
[ ] Documentation update
[ ] Other (specify): ___________

Description
This update enhances the review slider functionality by displaying three review cards at a time and cycling through them every three seconds, improving user experience on larger screens. Additionally, the previous implementation was not dynamic, as adding new cards would break the code; this version now accommodates new reviews seamlessly by recalculating indices, ensuring smooth transitions and efficient rendering.
Screenshots / Videos (if applicable)
Before:
-The height of the section was increasing on adding a new user review.

Working Video :
Uploading Screen Recording 2024-10-14 223841.mp4…
After:
-The card content automatically change without increasing the height of the section, even on adding many cards.

Checklist

Add X in the box to specify.
[X] I have performed a self-review of my code.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[X] I have commented my code, particularly in hard-to-understand areas.

Additional Context
The JavaScript logic ensures smooth transitions and efficient rendering by dynamically calculating which cards to show based on the current index.
Thank you for reviewing my pull request!

@ambarmishraa, could you please add some photos of the reviewers in that section? It would help enhance the design.

ok I will do that Asap.!

swaraj-das : You can now check the review section, its in the way you demanded.


rc-status: prevent memory corruption by freeing uninitialized pointer

After emerging 0.38 I reported a heap corruption via private email. I got bored so I dove in and found:

(gdb) s
print_service (service=) at rc-status.c:162
162					free(uptime);
(gdb) s
free(): invalid pointer
Program received signal SIGABRT, Aborted.
0x00007ffff722646b in raise () from /lib64/libc.so.6

As it turns out get_uptime() does not initialize its return value and returns stack garbage,
leading to heap corruption or other funny things down the line (depending on compiler,
optimization level etc.). With this fix rc-status works properly.

I just realized that this could have been phrased better ("prevent..by not freeing..") but I hope
the problem and fix are clear anyway.


Add toolchain param to the affected actions

This is a step forward for the migration of Automatic Exec Groups. These actions don't use an executable/tool from a toolchain. Hence, None should be set.

isn't this a breaking change from bazel's POV?

It's not a breaking change since toolchain param is still not effective - Automatic Exec Groups are still not enabled in Bazel.
Still, it would be an obstacle if you're supporting Bazel version older than Bazel 6.0 since the toolchain parameter is visible from 6.0 onwards. Which Bazel version do you support in rules_oci?

We test against Bazel 5 also https://github.com/bazel-contrib/rules_oci/blob/main/.github/workflows/ci.yaml#L27
which is supported for another 15 months https://bazel.build/release#support-matrix

I will convert this to a draft and get back to it when we drop support for bazel 5.


feat: introduce file stream

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?

implement JsonOpener and CsvOpener, which open and decode a file in the StreamFuture.
implement FileStream, which converts files to DfRecordBatchStream.

Checklist

[ ]  I have written the necessary rustdoc comments.
[x]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)
#1041 #1305

PTAL 😇 @v0y4g3r @waynexia @evenyag

Is doupling with object_store::ObjectStore the only barricade that prevents us from using arrow's FileOpener?

Is doupling with object_store::ObjectStore the only barricade that prevents us from using arrow's FileOpener?

Yes 🥲

Is doupling with object_store::ObjectStore the only barricade that prevents us from using arrow's FileOpener?

Yes 🥲

Can we use opendal as the backend of object_store? Looks like there's already a binding for that.
The reasons why I prefer this approach:

we don't want to introduce a large patch solely for external table functionality
the code base is a datafusion fork with object_store replaced and we have to maintain it when upstream updates.

waiting for 😅 #1387

PTAL @waynexia


RaisedButton.icon should have padding argument

Use case
RaisedButton already has a padding argument, but the named constructor RaisedButton.icon() does not.
As a result, it's not as easy to modify padding on a RaisedButton.icon().
Proposal
Configuration parity between RaisedButton and the named constructor RaisedButton.icon().

I would like to work on this issue @shihaohong @escamoteur

Sounds good @AyushBherwani1998 let me know if you need help preparing the PR and if you need a review!

@shihaohong What kind of test case would you suggest to check the added functionality? Getting the RaisedButton.icon object in the widget test and checking the padding of the button will work?

@shihaohong thanks for the leads. I have submitted a PR, can you please review it.


Audio Stream Playback Generator Broken

Godot version
Godot 4.X
System information
Windows 11, Default WASAPI drivers,
Issue description
When running the audio generator demo. using get_stream_playback() returns null which causes playback.get_frames_available() to error out with Attempt to call function 'get_frames_available' in base 'null instance' on a null instance..
I've tried writing a condition in the _process() function to check if it is null and retry getting the playback node. After a few cycles, it will return positive but will only fill the buffer once and will not process the frames any further, leaving playback.get_frames_available() to return 0 for the remainder of the runtime.
Code:
extends Node

var sample_hz = 44100/4.0 # Keep the number of samples to mix low, GDScript is not super fast.
var pulse_hz = 440.0
var phase = 0.0

var playback: AudioStreamPlayback = null # Actual playback stream, assigned in _ready().

func _fill_buffer():
	var increment = pulse_hz / sample_hz

	var to_fill = playback.get_frames_available()
	print(to_fill)
	var buffer : PackedVector2Array
	while to_fill > 0:
		playback.push_frame(Vector2.ONE * sin(phase * TAU)) # Audio frames are stereo.
		phase = fmod(phase + increment, 1.0)
		to_fill -= 1

func _process(_delta):
	if playback != null: _fill_buffer()
	else:
		print(playback)
		_ready()

func _ready():
	$Player.stream.mix_rate = sample_hz # Setting mix rate is only possible before play().
	playback = $Player.get_stream_playback()
	if playback != null: _fill_buffer() # Prefill, do before play() to avoid delay.
	$Player.play()

Log:
--- Debugging process started ---
Godot Engine v4.0.alpha14.official.106b68050 - https://godotengine.org
Vulkan API 1.2.0 - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce RTX 2070 SUPER

[Object:null]
[Object:null]
8191
0
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Steps to reproduce
Open Audio Generator Demo in any Godot 4,X version
https://github.com/godotengine/godot-demo-projects/tree/3.4-b0d4a7c/audio/generator
Minimal reproduction project
generator - issue.zip

I can confirm this issue as well. I was able to resolve by setting Autoplay to True on the AudioStreamPLayer object -- rest of the code works fine after that change. I can confirm when opening the tutorial project in Godot 3.4 they do NOT set Autoplay to True. Not sure if a bug or not, but hope this helps!

I can confirm this also.
However, setting Autoplay to True does not really fix the problem for me. It gets rid of the error, but the sound will only play for a fraction of a second before cutting off. In Godot 3.5 the tone continues to play until you exit.
Godot v3.5.stable.official [991bb6ac7]
Godot v4.0.beta2.official [f8745f2f7]
Windows 10 Pro, Microsoft audioendpoint 10.0.19041.1

I have been playing with the audio generator as well. I also noticed that setting autoplay to true "fixed" the issue by allowing the audio to play for just a fraction of a second. However, I was able to get the demo to play a prolonged note by also commenting out the $Player.play() invocation, (in the demo of course).

I’ve noted that the auto play workaround is spotty.  If streaming a simple sine wave it’s about 50/50.  When loading a file then starting to stream it basically never works.  I did get it to work at 50/50 by streaming silence until the file was loaded, then switching to that.  It seems possible that the sooner you start streaming the more likely it is to work.

I decided to take a deep dive into the problems I was having this afternoon and made a minimal reproduction project with some of the code I was tinkering with. I've included it below. Apologies if the evil music generated makes your ears bleed.
Audio.zip
In the default configuration, the project is likely to play on startup. Of note--like many of you, I've noticed that, on startup, sound may "chirp" briefly as the initial audio buffer is consumed and overtaken by permanent silence. However, in my experience, it's totally random whether generated audio chirps and dies or continues to play on in good health. I have found this is mostly affected by the sample rate.
For me

at 48000hz, my sample project usually plays (my project's default)
at 96000hz, my sample project rarely plays
at 24000hz, my sample project rarely breaks

On the other hand, I've had the sample rate as low as 4000hz and still had the audio randomly chirp and die. I haven't found any way to recover from this error either, so generated audio is a non-starter until it's fixed.
The length of the audio buffer, and how many samples it receives in ready() may also matter, but I might as well be talking about superstition and witchcraft. I might trying straining at the source code tomorrow to see if there are any obvious problems I can understandstand related to to the sample rate.

As of Godot 4.0 beta 17 I can confirm that this is still an issue.
Working with the example project (https://github.com/godotengine/godot-demo-projects/tree/3.4-b0d4a7c/audio/generator), attempting to run the code as is will yield the following error:

E 0:00:01:0498   generator_demo.gd:27 @ _ready(): Player is inactive. Call play() before requesting get_stream_playback().
<C++ Error>    Condition "stream_playbacks.is_empty()" is true. Returning: Ref()
<C++ Source>   scene/audio/audio_stream_player.cpp:315 @ get_stream_playback()
  generator_demo.gd:27 @ _ready()

Turning "Autoplay" to "On" on the Player node will result in what sounds like a single frame of audio being played.
If you then comment out "$Player.play()" on line 29, the tone will play as intended.
I also attempted to run the example linked in the comment above, but only got what sounded like a single frame to play.
I'm having similar issues with my own project.
To summarize, it seems like the issue is that the call to get the audio stream generator playback object requires that the audio already be playing before you fill the buffer with audio to be played. This is partially fixed by setting "Autoplay" to "On" since the audio will be playing when you try to get the object, but then the audio stops when you call "play()", hence why only a single frame of audio gets played for the linked projects.
Looking through the git history, my best guess is that this was broken when the check for "!stream_playbacks.is_empty()" was added before returning stream_playback. Unfortunately I'm not familiar enough with the architecture at this time to suggest a fix.
(Running Godot 4.0 beta 17 standard build for windows 64)

The problem here is that you need to call play() or use autoplay before using the stream. Because AudioStream is now polyphonic it can contain multiple ones.
Current master gives you the error above, so its not as confusing.

I can confirm that in the example project if you move "$Player.play()" from line 29 up to above "playback = $Player.get_stream_playback()" the project works as intended. Additionally, if you leave the second "$Player.play()" command in place, it just chirps and dies. I think the cause is that as part of making AudioStream polyphonic the following was added to the play function in audio_stream_player.cpp:

if (stream->is_monophonic() && is_playing()) {
stop();
}

Meaning that if you call play twice (or autoplay and call play) the stream will be cut off.

I'm trying to migrate my music project from Godot 3 to 4, and I'm running into a related issue. However, my problem is not that the get_stream_playback() returns null. My problem is probably more similar to what @seocwen described: It works randomly, currently roughly in 1 out of 20 starts I get some audio output. When it doesn't work, I only get a single buffer of audio output, and then silence.
I have a fully self-contained minimal reproduction example here on GitHub or here as AudioStreamBug.zip. The example doesn't require any scene tree, it's generating everything dynamically:
extends Node

var audio_stream_generator_playback: AudioStreamGeneratorPlayback
var i := 0

const SAMPLE_RATE = 44100.0

func _ready():
    var audio_stream_player = AudioStreamPlayer.new()

    var audio_stream_generator = AudioStreamGenerator.new()
    audio_stream_generator.set_mix_rate(SAMPLE_RATE)
    audio_stream_generator.set_buffer_length(0.1)

    audio_stream_player.set_stream(audio_stream_generator)

    add_child(audio_stream_player)
    audio_stream_player.play(0.0)

    audio_stream_generator_playback = audio_stream_player.get_stream_playback()

func _process(_delta):

    var frames_available = audio_stream_generator_playback.get_frames_available()

    if frames_available > 0:
        print("Filling buffer of length %s" % frames_available)

        var buffer = PackedVector2Array()
        buffer.resize(frames_available)

        var freq = 440.0

        for buffer_index in range(frames_available):
            var phase = 0.5 * sin(2.0 * PI * i / SAMPLE_RATE * freq)
            buffer[buffer_index] = Vector2(phase, phase);
            i += 1

        audio_stream_generator_playback.push_buffer(buffer)

When it works, the output logs is a constant stream of
[...]
Filling buffer of length 512
Filling buffer of length 512
Filling buffer of length 512
Filling buffer of length 512
Filling buffer of length 512
Filling buffer of length 512
Filling buffer of length 512
[...]

When it doesn't work, the output is just a single
Filling buffer of length 8191

And then nothing more. In other words, audio_stream_generator_playback.get_frames_available() only returns any frames available once, and from then point onward the number of available frames is just zero, i.e., my app never gets to fill the buffer again.

I have investigated this a little bit and found out that the commit that broke the audio stream generator is afd2bbaa5f, i.e., this PR https://github.com/godotengine/godot/pull/55846. The commit immediately before (3017530e26) still works fine.
After skimming the code and adding some debug statements, I have a rough understanding of what is happening: The reason why it sometimes works and sometimes doesn't is a race condition between the audio server thread and the rendering thread. Typically user code calls playback.push_buffer() (if playback.get_frames_available() is non-zero) from the _process callback. The determining factor whether it works is whether the render thread (i.e., the _process function) gets to push something into buffer before AudioServer::_mix_step calls into AudioStreamPlaybackResampled::mix in the audio thread. If the _process function fills the buffer first, it works. However, if the audio server tries to "mix" from the playback while the buffer is still empty, it leads to an immediate erasure of the playback from that playback_list in the audio server. This happens because there is some logic that compares the requested number of frames with what actually has been produced by the playback. That's the crucial part of AudioServer::_mix_step:
https://github.com/godotengine/godot/blob/1d0e7f0222e2f6da16bea959a4170ac754110d56/servers/audio_server.cpp#L351-L371
The buffer_size is always hard coded to 512 currently. Interestingly when calling stream_playback->mix in line 351 it seems to return 128 frames, even if the rendering thread has pushed nothing into the buffer so far (I still need to understand how that is supposed to work, and why it is always 128). Then in line 357 the comparison mixed_frames != buffer_size becomes 128 != 512, so we change the state of the playback to AWAITING_DELETION in line 369-370. Further down in AudioServer::_mix_step there is a cleanup functionality the erases playbacks from the playback_list that are in the AWAITING_DELETION/FADE_OUT_TO_DELETION.
https://github.com/godotengine/godot/blob/1d0e7f0222e2f6da16bea959a4170ac754110d56/servers/audio_server.cpp#L448-L458
So in summary, if the user thread doesn't manage to push something into the generator playback, the audio server will immediately remove the generator playback the first time it renders an audio buffer.

Now the question is what's the best option to resolve the issue. Since I've only read Godot's audio code for a few minutes now and don't understand the general design yet, I can only make some guesses. Would be great if one of the audio devs could chime in. Some thoughts:

Perhaps the implementation of AudioStreamPlaybackResampled::mix should be adapted to always return the number of requested frames, no matter what. This would mean that it would have to generate silence if it doesn't have the data available. Basically the typical buffer under-run effect.
Alternatively the audio server could use a smarter logic the determine when a playback needs to be erased. I.e., instead of just checking mixed_frames != buffer_size it could rather ask the playback "are you still playing?" or so. Perhaps this could even be implemented based on some get_stream_length function, i.e., finite streams could tell their finite lengths, while infinite streams could indicate that they are infinite by returning e.g. -1. Or perhaps just a playback_stream.is_infinite() getter. Some of these solutions need to be considered carefully, because the call into the playback would then come from the audio server, i.e., a different thread, so any kind of querying function needs to be thread safe.

The PR that broke the behavior (https://github.com/godotengine/godot/pull/55846) actually modified AudioStreamPlaybackResampled::mix, which could indicate that this is the right place to fix it (i.e., keep the mixed_frames != buffer_size in the audio server as it is). I don't really understand yet why this PR modified that function in the way it did, and why this change was necessary for fixing ogg edge cases. So simply reverting it would fix the generator playback, but presumably break something related to ogg which I don't understand yet.

I think your second proposal is the way to go to fix this. I think it's silly right now that it's returning an integer when really there are two things that the caller wants to know: How many frames did you mix, and are there more? Especially because you can't consistently infer either from the other.
@bluenote10 What do you think the behavior should be during an AudioStreamGenerator buffer underrun? The fade out logic is in the audio server and it's pretty tightly coupled to the lifecycle of an AudioStreamPlayback so I don't think it would be easy to add any fadein/out to soften a buffer underrun.
I think I remember seeing another bug go through my inbox that was caused by the same bit of code but I can't remember. Something about sounds doing something weird when the number of samples in them is evenly divided by the buffer size maybe?

@ellenhp Thanks for the feedback!

What do you think the behavior should be during an AudioStreamGenerator buffer underrun?

I probably wouldn't do anything fancy. A buffer underrun always sounds bad, because even with a fade out + fade in, there is an audible interruption of the audio output. Since buffer underruns are therefore to be avoided with a high priority anyway, it is probably not worth the effort to do something complex. I.e., just outputting silence is as good/bad as anything.

I think your second proposal is the way to go to fix this. I think it's silly right now that it's returning an integer when really there are two things that the caller wants to know: How many frames did you mix, and are there more?

That would suggest to perhaps use a small struct to basically return a (num_frames_rendered, is_finished) tuple. On the other hand I'm wondering if that isn't redundant to the information provided by playback->stream_playback->is_playing(). I'm wondering if we could simple wrap that part that changes the state to AWAITING_DELETION under an if on that "is playing" as a very naive fix (the generator could always return true to stay alive, but not sure if it means it can never be deleted at all).
Currently my understanding of the audio system is much too shallow though to really judge what is best here. I hope I can find some time to do further experiments / code reading...

On the other hand I'm wondering if that isn't redundant to the information provided by playback->stream_playback->is_playing(). I'm wondering if we could simple wrap that part that changes the state to AWAITING_DELETION under an if on that "is playing" as a very naive fix

This makes sense.

(the generator could always return true to stay alive, but not sure if it means it can never be deleted at all).

This would probably just be fine, because you can still just call stop() to begin deletion I think. I don't have the code in front of me but I'm 90% sure that would work. If you play() a generator stream and then never fill it, it will stay in the playing state forever (until stop()) but I don't really think that's a problem.
I've been pretty out of the loop with what's going on with releases and stuff so I don't know the criteria for inclusion of a bugfix in the RC's, but this may (?) have to wait for a 4.0.x patch release because it could be a medium-risk change depending on how it's implemented. I'm up for trying to fix it today though, this piece of code has been bugging me for a while.

Also I wanted to add that this is great work on your part @bluenote10 tracking down the source of this issue. I scrolled up to the top and was surprised to see the way this issue ended up presenting itself. The cause is not at all obvious.

The simplest thing ended up working. @bluenote10 could you test #73162?


Support protobuf v21.0 rc1

I've also tested this using v21.4 (the latest release) but did not test any releases between those two.
I tested using:
$ npm install
$ bazel build @com_google_protobuf//:protoc
$ PROTOC="$(realpath bazel-bin/external/com_google_protobuf/protoc)" PROTOC_INC="$(realpath bazel-protobuf-javascript/external/com_google_protobuf/src/)" npm test

It may also make sense to update the version of protobuf-javascript here to match the version of protobuf.

I've also tested this using v21.4 (the latest release) but did not test any releases between those two.

What's the motivation for using v21.0 rc1 specifically?

It may also make sense to update the version of protobuf-javascript here to match the version of protobuf.

The current plan is to just continue the versioning we started with.

What's the motivation for using v21.0 rc1 specifically?

v21.0 rc1 is the first release of protobuf after the javascript folder was removed: https://github.com/protocolbuffers/protobuf/releases/tag/v21.0-rc1 v21.0 yould also make sense since that's the first non-candidate version. v21.4 could also makes sense since it is the most recent version.

The current plan is to just continue the versioning we started with.

Sure, you certainly don't need to match the protobuf version.


[DO NOT MERGE | POC] feat: Adding support for UUID type

feat: Adding support for uuid type.

Closing as there has not been any activity in the past several weeks. Please re-open if this is still relevant.


Simplifications and performance improvements for estimators

We can very cheaply determine ahead of time the correct length for the output arrays stored by the estimator types, which allows us to set indices directly rather than repeatedly growing the arrays. This provides a decent improvement in performance and memory use.
Current master:
julia> @benchmark fit(KaplanMeier, $t, $s)
BenchmarkTools.Trial: 10000 samples with 4 evaluations.
 Range (min … max):  7.563 μs … 242.163 μs  ┊ GC (min … max): 0.00% … 93.11%
 Time  (median):     8.176 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   8.810 μs ±   7.397 μs  ┊ GC (mean ± σ):  2.74% ±  3.20%

  ▃▃▅▆█▅▂▁        ▁    ▁▁                                     ▁
  ████████████▇▇█▇██▇█▇██▇▅▅▅▅▄▄▄▅▅▄▅▄▄▃▄▅▃▄▄▄▅▄▆▅▅▆▅▅▅▄▅▅▅▇█ █
  7.56 μs      Histogram: log(frequency) by time      15.8 μs <

 Memory estimate: 14.05 KiB, allocs estimate: 30.

This PR:
julia> @benchmark fit(KaplanMeier, $t, $s)
BenchmarkTools.Trial: 10000 samples with 8 evaluations.
 Range (min … max):  2.875 μs … 66.797 μs  ┊ GC (min … max): 0.00% … 86.05%
 Time  (median):     3.074 μs              ┊ GC (median):    0.00%
 Time  (mean ± σ):   3.267 μs ±  2.090 μs  ┊ GC (mean ± σ):  2.19% ±  3.32%

    ▃▆███▇▅▄▃▂▂▂▁                         ▁▁▂▂▂▁             ▂
  ▅▆██████████████▇▇▆▆▅▅▃▅▅▅▄▄▃▅▁▃▆▇█████████████▇▆▅▁▃▃▅▆▆▆▆ █
  2.87 μs      Histogram: log(frequency) by time     4.79 μs <

 Memory estimate: 8.75 KiB, allocs estimate: 10.

Here, t and s are defined as in the tests for KaplanMeier.
I've also taken care of a 5-year-old to-do item and unified the fit methods to favor using EventTimes rather than separate arrays. This simplifies things a bit.
Lastly, I fixed similarly long-standing docstring typos (I meant "denote," not "dictate") for the fit methods and added docstrings for the methods that take a single vector of EventTimes.

Codecov Report

Merging #43 (dc63baf) into master (43886ce) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #43      +/-   ##
==========================================
- Coverage   99.54%   99.53%   -0.02%
==========================================
  Files           5        5
  Lines         220      214       -6
==========================================
- Hits          219      213       -6
  Misses          1        1

Impacted Files
Coverage Δ

src/kaplanmeier.jl
100.00% <ø> (ø)

src/nelsonaalen.jl
100.00% <ø> (ø)

src/estimator.jl
100.00% <100.00%> (ø)

src/cox.jl
99.15% <0.00%> (-0.08%)
:arrow_down:

Continue to review full report at Codecov.

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


[SPARK-5131][Streaming][DOC]: There is a discrepancy in WAL implementation and configuration doc.

There is a discrepancy in WAL implementation and configuration doc.

A similar typo exists in the streaming-programming-guide.md doc.

Test build #25158 has started for   PR 3930 at commit 8e407d3.

This patch merges cleanly.

@srowen oops, I missed.
.

Test build #25159 has started for   PR 3930 at commit 3a4245f.

This patch merges cleanly.

Test build #25158 has finished for   PR 3930 at commit 8e407d3.

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

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

Test build #25159 has finished for   PR 3930 at commit 3a4245f.

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

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

Good catch.

@tdas

Yeah. Merging this and backporting to 1.2 branch.

It appears that @tdas may have forgotten to merge this, so I put it in master and 1.2 on his behalf.

@andrewor14 hey ... thanks! Yeah I think I hadnt pushed to apache before my laptop crashed and I forgot about it.

I guess you didn't have a write-ahead log to recover from.


Publish new version

Hi, I was wondering if it would be possible to publish a new version to npm in order to pull in #403. Unfortunately without a new version available, bazelisk is still being flagged by our security scans.

https://github.com/bazelbuild/bazelisk/releases/tag/v1.16.0


[Circletracer] Add command for circle file and json files visualization by node graph

This will and command for visualization by node graph.
ONE-vscode-DCO-1.0-Signed-off-by: Youngeun Seo<EMAIL_ADDRESS>

from draft #179
from issue #66.


list_code_definition_names tool issues

Which API Provider are you using?
Anthropic
Which Model are you using?
Sonnet 3.5
What happened?
When using the the list_code_definition_names tool it sometimes doesn't work, or partially work.
There are folder that it can't read the definition of the files (In my case typescript), while there is others folder that it read only one file, and report only one code definition instead of all in all files in the folder.
Steps to reproduce

Ask to use the tool or read the code definition names in a folder with files

<list_code_definition_names>
<path>[path to folder]</path>
</list_code_definition_names>

The response could aren't consistent
Cline Answer:

The tool is still not returning the source code definitions, which is puzzling given
that I've confirmed the files exist and contain code.
This might indicate an issue with the tool's parsing or recognition of TypeScript React files.

Relevant API REQUEST output
No response
Additional context
Historic of a task showing the issue a couple of times
cline_task_nov-8-2024_12-11-18-pm.md

I have the same issue with Ollama/Qwen set up. It is interesting that you have the same problem with 3.5 Sonnet. It looks like it is Cline's problem, not necessarily model specific. I think the prompting probably needs to be improved/tailored to models.


Building Customization

Hi,
Is it possible to determine the tap on the buildings or to determine customization, like changing color or texture of the building, roads?

Hi,
yes, you can do it as shortly described here: https://github.com/reinterpretcat/utymap/blob/master/docs/howto.md#tweak-mapcss-styles
MapCss is the way to change  properties consumed by element builders.
To detect tap, you need to add unity's mono behaviour on game object. To achieve this, you can tweak GameObjectBuilder:
https://github.com/reinterpretcat/utymap/blob/master/unity/demo/Assets/Scripts/Core/Plugins/GameObjectBuilder.cs
Building's mesh is used to be created by core part, so adding corresponding behaviour in  BuildFromMesh(Tile tile, Mesh mesh) should help.

Thanks.
Also, the project doesn't support Scripting Runtime Version 4+??? I tried changing it from 3.x and it started giving errors.

I stopped to work on project in Jan, 2018, before it was there. You might try to overcome the problem within using alias directive:
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/using-directive

Hey sorry to bug you again.
Is it possible to change the texture of the building or roads during runtime?
Like I have 4/5 textures for building something like bricks & stones of different kinds. Similarly for the roads too. I can change it with Unity IDE but not being able to change it during the run time.
Is it possible to change it during runtime too?

Hey sorry to bug you again.
Is it possible to change the texture of the building or roads during runtime?
Like I have 4/5 textures for building something like bricks & stones of different kinds. Similarly for the roads too. I can change it with Unity IDE but not being able to change it during the run time.
Is it possible to change it during runtime too?

have you thought about texture atlas: https://en.wikipedia.org/wiki/Texture_atlas ?
utymap uses texture atlases: it is good from performance reasons

Hey, can building Id be enough to get the information of that building?
Information like Geometry or the height?

Hi,
xml files that gets generated in the Index folder, how is it being read by the script? I tried searching for it but couldn't exactly figure out the script responsible for that.
InitTask.cs does show the entry point for composing the graph but still, I am unclear about it.

osm xml files are processed by OsmXmlParser: https://github.com/reinterpretcat/utymap/blob/master/core/src/formats/osm/xml/OsmXmlParser.hpp which uses boost spirit to define grammar in eBNF form and generate corresponding parser.
InitTask is just one peace. Take a look at https://github.com/reinterpretcat/utymap/blob/master/core/shared/ExportLib.cpp : this file defines native API available from managed part.


jaeger-collector does not respect flag value 0.

Current Behavior
jaeger-collector stores spans with span context flags set to 0.
Expected Behavior
jaeger-collector should not store spans with span contexts where the flag value is 0 because these spans failed the sampling tests.
This protects the jaeger-collector from buggy clients that assume that the collector only stores sampled spans.
Reproduction steps
To reproduce, build jaeger, and run locally as such
make build_ui
cd cmd/standalone/
go run ./main.go --span-storage.type=memory --query.static-files=../../jaeger-ui-build/build/

Then use yab to make a request as such. Use jaeger.thrift from here.
yab -A trace-id:9 -y payload.yaml

payload.yaml contains the following
---
method: "Collector::submitBatches"
peer: "localhost:14267"
request:
  batches:
    -
      process:
        service_name: flags-test
        tags:
          -
            key: jaeger.hostname
            vStr: localhost
            vType: string
      spans:
        -
          duration: 1294
          flags: 0
          operation_name: arbitrary
          parent_span_id: 0
          span_id: 1
          start_time:<PHONE_NUMBER>000000
          tags:
            -
              key: span.kind
              vStr: server
              vType: string
          trace_id_high: 0
          trace_id_low: "${trace-id:1}"
service: jaeger-collector
thrift: jaeger.thrift

Note that flags is set to 0, yet the trace is retrievable using the UI at http://localhost:16686/trace/9

I don't see this as a problem. Sampling is for the client libs. If they bothered to submit the span, why should collector drop it based on the flag?

I don't see this as a problem. Sampling is for the client libs. If they bothered to submit the span, why should collector drop it based on the flag?

I guess it's a matter of formalizing the contract on the Collector::submitBatches.
In my opinion a span with a flag of 0 at the collector doesn't have a well defined semantic meaning. The only reason this should happen is when a client isn't following the jaeger reporting contract of reporting only sampled spans. As such, enforcing the contract on the collector would be defensive and protect against large amounts of unsampled traffic.
What would you say the semantic meaning of a unsampled span at the collector is?

I think collector should keep it. Calling anything that reached the collector "unsampled" is misleading since sampling IS the act of sending something to the collector. Eg Zipkin didn't even have a way to represent sampled flag in the span.

Calling anything that reached the collector "unsampled" is misleading
The flag in the spans received have a value of zero, which by definition, is a span that is unsampled.

If we consider sampling as marking the span for storage, the collector shouldn't be storing the span.
If we consider the definition of sampling as the act of sending a span to the collector, then we are receiving semantically incorrect data because of the sampling flag being unset. I think it would be justified to not accept such data and return something similar to a http 422.

Eg Zipkin didn't even have a way to represent sampled flag in the span.
Why is this relevant?

I still do not see any justification / business reason why we should be changing anything in the collectors. Right now it's blissfully unaware of the sampling bit.

Why is this relevant?

It's a precedent.

I'm marking this as a bug as the behavior is at least confusing (even if not "wrong"), but I'm closing as I don't think we'll change this behavior.


Enabled Front Matter And Associated Features on Notebooks

Big thanks to @xnutsive for his PR on this in fast_pages, I ported everything here, and finished it off.  I added an acknowledgment section in the README to specifically thank @xnutsive for this.
Summary of changes made:

/README.md: Added a table of contents and re-organized to clarify what all the features are.  Added a summary of features at the beginning.
Enabled Google Colab and GitHub Badges on notebook posts.  Users can optionally turn this off by setting badges: false, this is true by default
Enabled jekyll plugin jekyll-toc which allows auto-generation of a table of contents in notebook posts.  This can be turned on by setting toc: true this is false by default
Updated jinja templating to allow for colab/github badges and toc
Created two new includes files notebook_{colab, github}_link.html modeled after Nate's PR, just added in the badges and styling.
Updated _config.yaml which requires some additional values to be set to ensure the badges work correctly.

/preview

@jph00 / @xnutsive this is ready for review.  Here is the preview of the build:  https://5e4622a6b84e80f183e4d645--fastpages.netlify.com
Note that in _config.yaml I set the redundant values of baseurl and github_repo ( usually 'baseurlwill be the default ofgithub_repoifgithub_repo` is not set).  This is because the CI system overrides the baseurl when creating the preview, so this has to be this way for testing (or until I can find a way to enable subdomains in netlify)

Thanks @xnutsive this was helpful, I addressed both of your feedback

[x] Put badge button borders to a scss file to have a css class, not inline css
[x] Make sure jinja if statements testing truthfulness work as expected, and that 3 checks (== True, == "true", == "True") are necessary.  For this one I tested it, and you are right, I had unnecessary logic in there, I tested True, true, etc.

Let me know if the changes look reasonable.  Thank you

/preview

/preview

@xnutsive I went for a walk and realized that I was using really bad practices while trying to inject liquid with jinja.  Instead, I refactored to use _layouts so that the jinja template stays clean.  I made these updates just now.

/preview

going ahead and merging ... working on adding Comments with Disqus next!


feat: Clear the cache according to the changed module.

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y #1510

2. What is the scope of this PR (e.g. component or file name):
kclvm/sema/src/resolver/scope.rs

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):
Previously, the analysis started from the main package to analyze the changed modules. Now, all modules in the program are analyzed.

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[x] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[x] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

174 of 179 (97.21%)  changed or added relevant lines in 5 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.08%) to 70.663%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

kclvm/ast/src/ast.rs
7
8
87.5%

kclvm/sema/src/resolver/tests.rs
143
147
97.28%

Files with Coverage Reduction
New Missed Lines
%

kclvm/sema/src/resolver/scope.rs
1
77.04%

Totals

Change from base Build<PHONE_NUMBER>5:
0.08%

Covered Lines:
50770

Relevant Lines:
71848

💛  - Coveralls


Integrating Custom security

Hi,
I had implemented forms authentication, for ssrs reports. I'm able to achieve my functionality if i open the report server in a new page/tab.
The same is not able to achieve as expected.
I had modified the reportServer and reportParam.
ex. reportServer: serverUrl+login.aspx
reportUrl: token(passing a token)
Not able to get the query parameters.
somehow I was able to get my token and validated the user.
when I'm redirecting to report viewer , I'm facing issues.
Can anybody help me out on this?
Thanks,
Raju

duplicate #14
I will try and get some better documentation up on how to handle this and the options available!!!

Hi,
I that possible to use nodejs 'mssql-ssrs' for authentication?
Ex:
var auth = {
username: 'userName',
password: 'password',
workstation: '', // optional
domain: '' // optional
};
var report = await ssrs.reportExecution.getReportByUrl(reportPath, fileType, parameters, auth)


[winpcap] Build error

Host Environment

OS: Windows
Compiler: Visual Studio 2019 Build Tools

To Reproduce
Steps to reproduce the behavior:
./vcpkg install xxxx
.\vcpkg.exe install winpcap:x64-windows
Failure logs
-Cut and paste the appropriate build messages from the console output.
-Please attach any additional failure logs mentioned in the console output.
Computing installation plan...
The following packages will be built and installed:
winpcap[core]:x64-windows -> 4.1.3#8
Detecting compiler hash for triplet x64-windows...
Restored 0 packages from C:\Users\KaiXin\AppData\Local\vcpkg\archives in 299.7 us. Use --debug to see more details.
Starting package 1/1: winpcap:x64-windows
Building package winpcap[core]:x64-windows...
-- Using cached WpcapSrc_4_1_3.zip.
-- Extracting source G:/src/vcpkg/downloads/WpcapSrc_4_1_3.zip
-- Applying patch G:/src/vcpkg/buildtrees/winpcap/src/packetNtx.patch
-- Applying patch G:/src/vcpkg/buildtrees/winpcap/src/wpcap.patch
-- Applying patch G:/src/vcpkg/ports/winpcap/create_lib.patch
-- Applying patch G:/src/vcpkg/ports/winpcap/fix-create-lib-batch.patch
-- Using source at G:/src/vcpkg/buildtrees/winpcap/src/4_1_3-2020b05bdd.clean
-- Building G:/src/vcpkg/buildtrees/winpcap/src/4_1_3-2020b05bdd.clean/packetNtx/Dll/Project/Packet.sln for Release
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:128 (message):
Command failed: msbuild G:/src/vcpkg/buildtrees/winpcap/src/4_1_3-2020b05bdd.clean/packetNtx/Dll/Project/Packet.sln /p:Configuration=Release /t:Rebuild /p:Platform=x64 /p:PlatformToolset=v142 /p:VCPkgLocalAppDataDisabled=true /p:UseIntelMKL=No /p:WindowsTargetPlatformVersion=10.0.18362.0 /p:VcpkgManifestInstall=false /p:VcpkgManifestEnabled=false /m /p:VcpkgEnabled=false
Working Directory: G:/src/vcpkg/buildtrees/winpcap/x64-windows-rel
Error code: 1
See logs for more information:
G:\src\vcpkg\buildtrees\winpcap\build-x64-windows-rel-out.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_build_msbuild.cmake:129 (vcpkg_execute_required_process)
ports/winpcap/portfile.cmake:62 (vcpkg_build_msbuild)
scripts/ports.cmake:145 (include)
error: building winpcap:x64-windows failed with: BUILD_FAILED
Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.

See logs for more information:
G:\src\vcpkg\buildtrees\winpcap\build-x64-windows-rel-out.log

Could you please provide the log: G:\src\vcpkg\buildtrees\winpcap\build-x64-windows-rel-out.log to us?

We don't have enough information to solve this issue, unfortunately; if you have any more information to help us solve this, please reopen!


Thread start/end lambdas

I have a use-case where I need to invoke code on each of the worker threads on thread creation and shutdown.
I have already written the code in my fork and would like to PR it here if you want the feature.
The use case is for running Mozilla's SpiderMonkey JavaScript engine in the thread pool. SpiderMonkey uses TLS so the engine must run on the thread that created it.
The new signature for threadFunc looks like:
inline void Worker::threadFunc(size_t id, Worker *steal_donor, OnStart onStart, OnStop onStop)

In addition each handler() takes the thread 'id' as the first param, this allows the handler to locate the correct engine, eg:
void myHandler(size_t id) {
    auto& engine = engines[id];
    engine.Evaluate("(function() { return 42; })()"); // run some JS
}

My change is based on an old commit on your master. I've raised this as an issue now since it will take me some time to merge it and I'd rather not bother if you don't want it.

I don't think it is good idea to add this into this particular code base. I believe your use-case is quite unique and it is easier and more correct to implement your own thread pool. Also I don't like idea of managing task scheduling/distribution or thread ids access outside. It breaks abstraction.


Stored Cross-site Scripting (XSS) in page creation

Q
A

Bug?
Yes

New Feature?
no

Sulu Version
1.6.6

Browser Version
Chrome

Actual Behavior
Sulu saves the code unsanitised and allows arbitrary execution of javascript.
Expected Behavior
Sulu should remove the javascript payload as it does for most others.
Steps to Reproduce

Log in as a user with page editing permissions
Choose to edit an article
Add a new block with type text.
Click the source code button on the editor and enter the following code:

Save the code

Possible Solutions
Check iframe src prior to adding to the page.

Thanks for the report :) but we explicitly allow all the HTML tags and attributes in the editor. You can decide if you want to render the content in raw (twig filter). We do this because we don't see the big problem here because the content-manager (logged in system user) should be "competent" enough to avoid it if he doesn't want it.
But we are planning in a future release to make this behavior configurable - there are no concrete plans currently.
/cc @chirimoya @danrot please add your thoughts about this topic

I also think that this is the job of the template developer. Especially because I have already seen textareas being used to copy small javascript snippets (e.g. Youtube embed codes).

@floatingbits only the ckeditor run codes but there it is run inside an iframe and should not crash any backend components. and for embed codes its recommend use textareas and not texteditors.

Hmmm. I do use a textarea. The html is output without any sanitizing to the block preview.
The code that breaks the whole edit page is a simple vimeo embed code featuring a script tag:

My blocks (without the breaking script tag) look like this:

for @ProDigySML if you don't want to output something on the website you maybe need to create a custom twig extension using something like http://htmlpurifier.org.
@floatingbits thats good.
I will know close the issue as it seems to be fixed, else feel free to reopen it or add a comment.


operator runtime-fabric-operator (v2.3.34)

Hello @jfrancin, @acornett21
Getting verify-pinned-digest failures. I verified images in csv file and digest pinning everything looks good to me. From pipeline logs unable to determine the exact cause of this failure.  Some logs:
[upload-pipeline-logs : get-pipeline-logs] + echo 'Getting pipeline logs'
[upload-pipeline-logs : get-pipeline-logs] + tkn pipelinerun logs operator-hosted-pipeline-run8wzh2
[upload-pipeline-logs : get-pipeline-logs] Getting pipeline logs
[upload-pipeline-logs : get-pipeline-logs] task verify-pinned-digest has failed: "step-check-related-images" exited with code 1 (image: "registry.access.redhat.com/ubi8-minimal@sha256:27a3683c44e97432453ad25bf4a64d040e2c82cfe0e0b36ebf1d74d68e22b1c6"); for logs run: kubectl -n operator-pipeline-prod logs operator-hosted-pipeline-run8wzh2-verify-pinned-digest-pod -c step-check-related-images
[upload-pipeline-logs : get-pipeline-logs]
[upload-pipeline-logs : get-pipeline-logs] failed to get logs for task verify-pinned-digest : container step-check-related-images has failed  : [{"key":"StartedAt","value":"2023-06-16T01:01:33.267Z","type":3}]

Hello @jfrancin, @acornett21 Getting verify-pinned-digest failures. I verified images in csv file and digest pinning everything looks good to me. From pipeline logs unable to determine the exact cause of this failure. Some logs: [digest-pinning : verify-related-images] + [[ 1 -ge 2 ]] [digest-pinning : verify-related-images] + echo 'The relatedImages section does not exist or is missing images.' [digest-pinning : verify-related-images] The relatedImages section does not exist or is missing images. [digest-pinning : verify-related-images] + echo -n false [digest-pinning : verify-related-images] + tee /tekton/results/related_images_flag [digest-pinning : verify-related-images] false But the relatedImages is present in the csv.

Never mind, found the issue, looks like this validation is recently added/updated. Could fix it. Thanks!


Mouse Click Accuracy Degraded After Upgrading to 0.35

Hyprland Version
 System/Version info
Hyprland, built from branch main at commit 890307532caa3369ea089b606b7786ccce4b8504 dirty (input: avoid reassigns of unchanged surfaces in processMouseRequest).
Date: Mon Feb 12 15:02:00 2024
Tag: v0.35.0-18-g89030753

flags: (if any)

System Information:
System name: Linux
Node name: ares
Release: 6.7.4-1-default
Version: #1 SMP PREEMPT_DYNAMIC Tue Feb  6 05:32:37 UTC 2024 (01735a3)

GPU information:
0c:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev c0) (prog-if 00 [VGA controller])

os-release: NAME="openSUSE Tumbleweed"
# VERSION="20240208"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20240208"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
# CPE 2.3 format, boo#1217921
CPE_NAME="cpe:2.3:o:opensuse:tumbleweed:20240208:*:*:*:*:*:*:*"
#CPE 2.2 format
#CPE_NAME="cpe:/o:opensuse:tumbleweed:20240208"
BUG_REPORT_URL="https://bugzilla.opensuse.org"
SUPPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
LOGO="distributor-logo-Tumbleweed"

plugins:

Bug or Regression?
Bug
Description
When clicking to place the cursor in text or to highlight text, the cursor is consistently inaccurate by at least on character, as seen in the video linked here. https://imgur.com/a/GA2ErZD
On the first part of the video, I clicked on the right side of the "p" yet the highlight started on the left side. In the second attempt, I clicked on the right side of the "e" and it started the highlight on the left.
This happens in both Vivaldi, Discord, and Zimwiki. At first I thought it would be because of Chrome/Electron whatever, but Zim is not an electron app.
Sorry if this isn't a good explanation of what's happening, unsure how to explain it better. It's very annoying as it feels as if the mouse clicks are happening slightly to the left of where I want them to be.
Using openSUSE tumbleweed, with hyprland built from source.
How to reproduce
Unsure, other than to click on things.
Crash reports, logs, images, videos
hyprland.log

Just to add some more, I tested this on Xmonad and do not have the same issue. I wanted to ensure this wasn't an openSUSE thing.

Happens to me as well.

System Info
Hyprland, built from branch main at commit 890307532caa3369ea089b606b7786ccce4b8504 dirty (input: avoid reassigns of unchanged surfaces in processMouseRequest).
Date: Mon Feb 12 21:02:00 2024
Tag: v0.35.0-18-g89030753

flags: (if any)

System Information:
System name: Linux
Node name: gensokyo
Release: 6.7.4-273-tkg-bore
Version: #1 SMP PREEMPT_DYNAMIC TKG Sun, 11 Feb 2024 00:45:54 +0000

GPU information:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev c1) (prog-if 00 [VGA controller])
14:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev cb) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

Same here...
Culprit appears to be commit #8903075 as rolling back to previous commit (#f33d73b) resolves the issue.

Also getting this issue. I thought it was wl-clip-persist which enabling its primary clipboard feature causes this inaccuracy bug (normal clipboard does not). Seems others are getting this from Hyprland itself.

Yes, same issue here

It looks like the | cursor (as well as the hand one) isn't at the correct location.
https://github.com/hyprwm/Hyprland/assets/115268502/6f98fcc7-a04d-40ab-be64-658948ab4d24

Same issue here, using NixOS.