OpenCL registration method not available!

when following OPT Installation step 7.1 to execute "roslaunch kinect2_bridge kinect2_bridge.launch"
I got this error:
[kinect2_head_kinect2_bridge-2] restarting process
process[kinect2_head_kinect2_bridge-2]: started with pid [5025]
[DepthRegistration::New] OpenCL registration method not available!
[DepthRegistration::New] OpenCL registration method not available!
[OpenGLContext] failed to initialize glew for the current context!

This is similar to #59 but that was closed because they were not using a CUDA-capable GPU. I am using a NVidia Quadro K1000M, so I do not think that is the issue. The same error occurs when the Kinect v2 is plugged into different USB 3.0 ports and when not plugged in.

Problem solved. Here's how:

Initially, for step 6.1 (graphics card installation), I ran sudo ubuntu-drivers devices to see which graphics card driver provided by Ubuntu developers is recommended. Then with apt-get install nvidia-352, I installed the recommended driver. This method has no problem with my GeForce GT 730M laptop, but it doesn't work for the Quadro K1000M laptop.

After step 6.1 through 6.4 were finished, running 7.1 with Quadro K1000M returned this error:

[DepthRegistration::New] OpenCL registration method not available!

So I ran clinfo to check if OpenCL was installed correctly. It returned
E: -30

meaning that the Ubuntu-provided graphics card driver nvidia-352 need be replaced with another one.

So next we first uninstalled the Ubuntu-provided graphics driver by following this and then installed a graphics driver from NVIDA Driver Downloads. To solve the X Server error, I followed this.  For "The distribution-provided pre-install script failed! Are you sure you want to continue?", I chose yes and it went through without any problem.

After installing the NVidia-provided driver, I executed rest of the steps 6.1 through 7.1 once again. No problem with OpenCL anymore but the error turned into

[DepthRegistration::New] Using OpenCL registration method!
[DepthRegistration::New] Using OpenCL registration method!
[OpenGLContext] failed to initialize glew for the current context!

So I followed what @marketto89 said in here and added glfwInit(); to "kinect2_bridge/src/kinect2_bridge.cpp". Then running the following fixed the issue.
roscd iai_kinect2/../..
catkin_make

The "absence of glfw initialization" may be due to an outdated fork of iai_kinect2 being used in OpenPTrack.


adding FAQ for antivirus coverage

@TomJanetscheck : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@bmansheim
Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@TomJanetscheck : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Regular expression to match the script tag to inline is too specific

Hi.
So I came across this issue because my particular vite configuration outputs the script tags as:
<script async type="module" crossorigin src="/assets/whatever.cffa7373.js"></script>
This is not covered by the regular expression at L33
https://github.com/richardtallent/vite-plugin-singlefile/blob/3d15a59e53ef6afbae48dd7aa4f2c7d10ddc69c8/src/index.ts#L33
This Regex looks for a <script> tag that starts with type="module" and then contains a src attribute with the filename.
AFAICT the only thing the script should be looking for is a <script>  tag that contains the src attribute with the filename we want to embed. so that Regex should be maybe something like:
<script[^>]*?src="[\./]*${o.fileName}"[^>]*?></script>
This is how I sorted my use case which may be different than the generic use case you're trying to solve, so this solution may not please everybody, although I would think that's generic enough though.

Please try 0.10.0-beta and let me know if it helps.

0.10.0 has been released, this should be fixed now.


Discuss v0.0.4

Currently α (Alpha, Alfa).
Currently ß (Beta).
Modules done:

[x] ext
[x] php
[x] markdown

Functions tested

[x] _
[x] $
[x] require
[x] hide
[x] show
[x] ajaxPOST
[x] ajax
[x] noConflict
[x] isLocal
[x] requireSSL
[x] loadExtension
[x] isUndefined
[x] isEmpty
[x] isBlank
[x] stripTags
[x] stripScripts
[x] css
[x] escapeHTML
[x] unescapeHTML
[x] toArray
[x] runTest
[x] includes
[x] startsWith
[x] endsWith
[x] capitalize
[x] camelize
[x] truncate
[x] error handler
[x] scrollToTop
[x] scrollToBottom

Modules tested

[X] Ex
[x] php
[x] markdown

New in 0.0.4
Module loading is just easy as it can!


Add route table/UDRs to limit outbound connectivity of Databricks clusters to Firewall

When the FlowEHR vnet is peered to a hub network with an NVA (Firewall), we should add a route table and UDRs to limit outbound connectivity from the Databricks data plane subnets to the firewall for inspection of traffic, as part of data exfiltration mitigation.

depending on the landing zone being in place.


[bugfix] Anchor is not having pointer cursor on verification resend link

The anchor tag has a preventDefault() and no href attribute, so the hover pointer is the text cursor, not the pointer one. This should fix it.
I have re-checked all of the other links and this is the only occurence.

Thanks!


As a tenant I want to search for available properties by characteristics to find options that fit my rental needs, whether by location, price or size

Estimation of Effort: 5
Acceptance Criteria:

[ ] The search feature must offer filtering options based on property characteristics, including but not limited to:
[ ] Location: I can specify the desired location or neighborhood for the property.
[ ] Price Range: I can set a minimum and maximum rental price to filter properties within my budget.
[ ] Property Size: I can specify the size or number of bedrooms/bathrooms required.
[ ] Amenities: I can select specific amenities or features like parking, pool, or pet-friendly options.
[ ] Property Type: I can choose from various property types such as apartments, houses, rooms, offices, or studios.
[ ] I can leave any of the filter options blank if I do not want to apply a specific characteristic filter.
[ ] Upon entering my desired characteristics and clicking the "Search" button, the platform should display a list of available properties that match my criteria.
[ ] The list of properties should present essential details such as property name, location, rental price, and a brief description.
[ ] If no properties match my specified characteristics, the platform should provide a clear message indicating that no properties were found.
[ ] I can click on a property in the list to access more detailed information about that property.

#39


Added another test case

Added another test case

Codecov Report

Merging #13 (1493c0f) into main (db91b55) will increase coverage by 17.64%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main      #13       +/-   ##
===========================================
+ Coverage   64.70%   82.35%   +17.64%
===========================================
  Files           3        3
  Lines          17       17
===========================================
+ Hits           11       14        +3
+ Misses          6        3        -3

Impacted Files
Coverage Δ

Source/Products.Core/Common/Constants.cs
100.00% <0.00%> (+100.00%)
:arrow_up:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Problem with fitting model

I have an issue with when i try to fit my model, i keep getting that says dimensions are not equal
Dimension 1 in both shapes must be equal, but are 64 and 63. Shapes are [16,64,64] and [16,63,63]. for '{{node model_5/decoder_stage0_concat/concat}} = ConcatV2[N=2, T=DT_FLOAT, Tidx=DT_INT32](model_5/decoder_stage0_upsampling/resize/ResizeNearestNeighbor, model_5/stage4_unit1_relu1/Relu, model_5/decoder_stage0_concat/concat/axis)' with input shapes: [16,64,64,512], [16,63,63,256], [] and with computed input tensors: input[2] = <3>.
Call arguments received:
  • inputs=['tf.Tensor(shape=(16, 64, 64, 512), dtype=float32)', 'tf.Tensor(shape=(16, 63, 63, 256), dtype=float32)'

Resizing the image to the power of 2 (eg: (512, 512)) got it working for me.

Thanks, I'll try that

What fixed this problem eventually changing the dimensions of all of my data(image and masks) to a multiple of 64, it appears some of the models only accepts those sizes as input.


Publish latest themes to npm

@xiaohanyu thanks for all the themes! 😄
Please publish the latest Bootswatch v4 themes to npm

@xeoneux after we finish all v4 theme, will publish!


Add option to list only project modules

I think it'd be a very useful option to filter out all `libraryDependencies and just show all the sbt subprojects/modules.

Similarly, filtering the modules to a specific group would be useful.  In mvn, one can do mvn dependency:tree -Dincludes=*akka* and only see the Akka dependencies (and the path to those).


Issue with Binding a List of complex type object

I'm using Razor pages for my project on dotnet core 2.1, and the application doesn't seem to bind my properties correctly, is there a work around for this?
my model looks like this :
public string Draw { get; set; }
public int Start { get; set; }
public int Length { get; set; }
public List<DataTableColumnOrder> Order { get; set; }
public List<DataTableColumn> Columns { get; set; }
public DataTableColumnSearch Search { get; set; }
public List<string> Params { get; set; }
it automatically binds the simple type like draw, start and length, but gives null for complex types like list of datacolumns.
my query string looks like this:
/CMS/Index?handler=DTResponse&draw=1&columns%5B0%5D%5Bdata%5D=id&columns%5B0%5D%5Bname%5D=&columns%5B0%5D%5Bsearchable%5D=false&columns%5B0%5D%5Borderable%5D=false&columns%5B0%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B0%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B1%5D%5Bdata%5D=name&columns%5B1%5D%5Bname%5D=&columns%5B1%5D%5Bsearchable%5D=true&columns%5B1%5D%5Borderable%5D=true&columns%5B1%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B1%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B2%5D%5Bdata%5D=webPage.name&columns%5B2%5D%5Bname%5D=&columns%5B2%5D%5Bsearchable%5D=true&columns%5B2%5D%5Borderable%5D=true&columns%5B2%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B2%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B3%5D%5Bdata%5D=value&columns%5B3%5D%5Bname%5D=&columns%5B3%5D%5Bsearchable%5D=true&columns%5B3%5D%5Borderable%5D=true&columns%5B3%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B3%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B4%5D%5Bdata%5D=contentType.name&columns%5B4%5D%5Bname%5D=&columns%5B4%5D%5Bsearchable%5D=true&columns%5B4%5D%5Borderable%5D=true&columns%5B4%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B4%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B5%5D%5Bdata%5D=&columns%5B5%5D%5Bname%5D=&columns%5B5%5D%5Bsearchable%5D=false&columns%5B5%5D%5Borderable%5D=false&columns%5B5%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B5%5D%5Bsearch%5D%5Bregex%5D=false&order%5B0%5D%5Bcolumn%5D=2&order%5B0%5D%5Bdir%5D=asc&start=0&length=10&search%5Bvalue%5D=&search%5Bregex%5D=false&_=1545122652329 HTTP/1.1

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e24f48f8-6c4d-ecda-6ce6-a7826d396e99
Version Independent ID: 9c4af557-8d06-4c6c-ad2a-0dd234547563
Content: Model Binding in ASP.NET Core
Content Source: aspnetcore/mvc/models/model-binding.md
Product: aspnet-core
GitHub Login: @tdykstra
Microsoft Alias: tdykstra

I'm not sure what you're doing wrong, but you'll probably want to start with a simpler sample to figure it out.

https://stackoverflow.com/q/53840449/8818270
Link to Question on StackOverflow.

I had to build a custom model binding class to handle this scenario.
For some reason a Collection List of a complex object that has another complex object as part of it's properties can't be automatically binded correctly in core 2.1 -Razor pages.
For a detailed view of this issue, you can view my question on the stackoverflow link above.


writeBigUInt64BE is not a function

I am trying to access writeBigUInt64BE like in the codesandbox below:
https://codesandbox.io/s/stoic-bohr-bnsir
but the error states that
Buffer.prototype.writeBigUInt64BE is not a function

although it is exported as seen here: https://github1s.com/feross/buffer/blob/HEAD/index.js#L1542-L1543
Functions like writeIntLE are exported in the same way and they can be accessed.
Note: typeof BigInt returns function in my browser.

You may need import { Buffer } from "buffer/" (note the slash) rather than import { Buffer } from "buffer", in order to import the buffer npm package rather than the shim that the bundler injects, which may be an older version of buffer.

Thank you for your answer. I managed to do that in my codesandbox above, but writeBigUInt64BE is still undefined in my local vue project.
Steps to reproduce error:
git clone https://github.com/dekadentno/buffer-test
cd buffer-test
npm i
npm run serve

I know this may not be the place to ask this, but I hope you may know the answer.

The issue was in the import. Even import { Buffer } from "buffer/" // notice the slash  didn't help me, I had to import it this way import { Buffer } from 'buffer/index.js' because it was picking up node_modules/node-libs-browser/node_modules/buffer/index.js instead of node_modules/buffer/index.js.
I don't know if it should be noted in the docs and if anyone had a similar issue.


tye deploy does not work if KUBECONFIG has more than one entry

Describe the bug
When the env var KUBECONFIG is set to more than one file, tye deploy fails.
On Windows pwsh, simply set it like this:
$env:KUBECONFIG="$env:USERPROFILE\.kube\config;$env:USERPROFILE\.kube\other-config"

This is the log after running tye deploy --interactive, using the second step of tutorial.
Loading Application Details...
Processing Service 'frontend'...
    Compiling Services...
    Publishing Project...
    Building Docker Image...
        Created Docker Image: 'giggio/frontend:1.0.0'
    Pushing Docker Image...
        Pushed docker image: 'giggio/frontend:1.0.0'
    Validating Secrets...
An unhandled exception has occurred, how unseemly:
k8s.Exceptions.KubeConfigException: kubeconfig file not found at C:\Users\giovanni\.kube\config;C:\Users\giovanni\.kube\other-config;
   at k8s.KubernetesClientConfiguration.LoadKubeConfigAsync(FileInfo kubeconfig, Boolean useRelativePaths)
   at k8s.KubernetesClientConfiguration.LoadKubeConfig(FileInfo kubeconfig, Boolean useRelativePaths)
   at k8s.KubernetesClientConfiguration.BuildConfigFromConfigFile(FileInfo kubeconfig, String currentContext, String masterUrl, Boolean useRelativePaths)
   at k8s.KubernetesClientConfiguration.BuildConfigFromConfigFile(String kubeconfigPath, String currentContext, String masterUrl, Boolean useRelativePaths)
   at k8s.KubernetesClientConfiguration.BuildDefaultConfig()
   at Microsoft.Tye.ValidateSecretStep.ExecuteAsync(OutputContext output, ApplicationBuilder application, ServiceBuilder service) in /_/src/Microsoft.Tye.Core/ValidateSecr
etStep.cs:line 54
   at Microsoft.Tye.ServiceExecutor.ExecuteAsync(ServiceBuilder service) in /_/src/Microsoft.Tye.Core/ServiceExecutor.cs:line 50
   at Microsoft.Tye.Program.ExecuteDeployAsync(OutputContext output, ApplicationBuilder application, String environment, Boolean interactive, Boolean force) in /_/src/tye/
Program.DeployCommand.cs:line 86
   at Microsoft.Tye.Program.<>c.<<CreateDeployCommand>b__3_0>d.MoveNext() in /_/src/tye/Program.DeployCommand.cs:line 49
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Invocation.CommandHandler.GetResultCodeAsync(Object value, InvocationContext context)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseErrorReporting>b__19_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass14_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseDebugDirective>b__10_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass12_0.<<UseExceptionHandler>b__0>d.MoveNext()

Further technical details

Include the output of tye --version: 0.1.0-alpha.20209.5+e3fc0045bd1e5913da935241874761929f1e8465
The platform (Linux/macOS/Windows): Windows

Thanks for reporting. I'll take a look at this.

It looks like this is a bug in the upstream kubernetes client: https://github.com/kubernetes-client/csharp/issues/409
I'll see if I can work around it.

@giggio - we're looking at trying to contribute a fix for this upstream. Do you mind telling us a little bit about why you have multiple config files? We want to make sure we address your scenario.

I work with different customers and most of them ask me to renew my configs everyday, and I separate them in different files.
Also, some projects use automation to get the configs and drop them on a config file on the project directory.
Also, Docker for Windows sometimes resets the local cluster config. When that happens I have to copy over the default kube config file from Windows to WSL (which is where I do most of my k8s work), so I don't like to change the default file at all.
When a project ends, it's easy to remove the cluster info, I just delete the file.
Usually I have lots of config files at ~/.kube, and I have scripts for Bash and PowerShell that compose the KUBECONFIG environment variable on shell start up.

Thanks, that helps!

We've fixed this upstream - we'll see when we can get a new build of the k8s client and test this out.

There should hopefully be a build that has this fix.


Remove old fetch unused code

Codecov Report

Merging #432 into master will decrease coverage by 15.99%.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           master     #432    +/-   ##
========================================
- Coverage   36.18%   20.18%   -16%
========================================
  Files         133      127     -6
  Lines        1346      867   -479
  Branches      273      187    -86
========================================
- Hits          487      175   -312
+ Misses        842      690   -152
+ Partials       17        2    -15

Impacted Files
Coverage Δ

src/fetch/fetch.js
8.57% <ø> (+7.51%)
:arrow_up:

src/helpers/components.js
90.9% <0%> (-4.33%)
:arrow_down:

...c/components/Charts/DoughnutChart/DoughnutChart.js
83.33% <0%> (-3.04%)
:arrow_down:

src/helpers/promises.js
71.42% <0%> (ø)
:arrow_up:

...omponents/ManageOrganization/ManageOrganization.js
100% <0%> (ø)
:arrow_up:

...ponents/DatasetsPublication/DatasetsPublication.js
100% <0%> (ø)
:arrow_up:

src/components/Loader/Loader.js
100% <0%> (ø)
:arrow_up:

...rc/routes/Dataset/components/DatasetView/status.js
100% <0%> (ø)
:arrow_up:

...c/routes/Dataset/components/DatasetChecks/Check.js
100% <0%> (ø)
:arrow_up:

.../components/DatasetChecks/CheckDataAvailability.js
100% <0%> (ø)
:arrow_up:

... and 37 more

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 6737108...d3ea65e. Read the comment docs.

WIP ?


package.json path error

There is an incorrect path in the package.json scripts.  The clientlibs directory should be ../ui.apps/src/main/content/jcr_root/apps/core-components-examples/wcm-react/clientlibs/react-webcomponents/resources and not ../ui.apps/src/content/jcr_root/apps/core-components-examples/wcm-react/clientlibs/react-webcomponents/resources.  This error prevents the REACT components from getting built into clientlibs.

Fixed. Thanks!


gitea: 1.20.5 -> 1.21.0

Description of changes
fix https://github.com/NixOS/nixpkgs/issues/267517
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 267531 run on x86_64-linux 1

2 packages built:

gitea
gitea.data

This release has multiple breaking changes.

I think this update is worth mentioning in the 24.05 release notes.

List of breaking changes from the Gitea release notes to hopefully speed this along.

Custom themes and other assets that were previously stored in custom/public/* now belong in custom/public/assets/*
Config option [server].SSH_AUTHORIZED_KEYS_BACKUP now defaults to false
New instances of Gitea using MySQL now ignore the [database].CHARSET config option and always use the utf8mb4 charset, existing instances should migrate via the gitea doctor convert CLI command
The CLI was refactored to more strictly enforce parameter ordering, see here for some examples
The inbuilt SSH server now validates that certificates used in authentication are user certificates and not server certificates, matching the behavior of OpenSSH
Gitea Actions no longer has a "running" status for commits

Result of nixpkgs-review pr 267531 run on x86_64-linux 1

2 packages built:

gitea
gitea.data

Result of nixpkgs-review pr 267531 run on x86_64-darwin 1

2 packages marked as broken and skipped:

gitea
gitea.data

Result of nixpkgs-review pr 267531 run on aarch64-linux 1

2 packages built:

gitea
gitea.data

Result of nixpkgs-review pr 267531 run on aarch64-darwin 1

2 packages marked as broken and skipped:

gitea
gitea.data

I think only those two things are relevant, the other changes are minor breaking ones and usually we don't mention them.

Custom themes and other assets that were previously stored in custom/public/* now belong in custom/public/assets/*
New instances of Gitea using MySQL now ignore the [database].CHARSET config option and always use the utf8mb4 charset, existing instances should migrate via the gitea doctor convert CLI command

Also please update to https://github.com/go-gitea/gitea/releases/tag/v1.21.1

There should probably be a backport of 1.20.6 to 23.11 along with bumping master to 1.21.x.

Yep see #271552


Auto Start Node-Red?

Hi, I set up the Node-Red Dashboard example (Thank you Matt!) and I'm sure I'm missing something easy....... how do you auto start node-red without signing into SSH? I would like to have it start anytime the system restarts with my intervention, maybe submit a job with STRQSH?

@jeffg324 there are multiple ways to do it from QSH but this one I believe is very straight forward.

Create this script somewhere in the IFS on your system (you will need to reference it later)
https://github.com/ThePrez/IBMiOSS-utils/blob/master/sbmjob.sh

Call it like this:
QSH CMD('/oss_scripts/sbmjob.sh node-red')

NOTE: You can change which subsystem node (or whatever job you want to launch) starts under by modifying the script. I changed my to QPGMR.

Add it to your startup script or wherever you want to call it from (here is one way you could call it)
SBMJOB CMD(QSH CMD('/oss_scripts/sbmjob.sh node-red'))

Things to keep in mind:

Make sure the subsystem gets started where you elect to send the job
The user that is executing the script must have their profile path setup correctly for open source otherwise I believe you have to full qualify the path to node-red (i.e. /QOpenSys/pkgs/lib/nodejs12/bin/node-red)
https://ibmi-oss-docs.readthedocs.io/en/latest/yum/README.html#must-know-usage-notes-read-this-after-you-install

NOTE: My node-red instance runs in Node.js 12

I hope this helps. Let me know if you have other questions.

That's great, I was on the right path, thanks Matt!

You're welcome

Thanks, @thebeardedgeek !!
If you get into starting/managing multiple services, you might find my Service Commander tool handy as well.

That's a slick tool, thanks @ThePrez !
I noticed you have Kafka in the video, I'm interested in trying that as well, any tips on where to get install and setup help?

Also, FWIW, I hope to publish this feature next week: https://github.com/ThePrez/ServiceCommander-IBMi/issues/25
It should allow you to define services as autostart and then change the *SC TCP server to autostart (at least that's the vision. I am a newb at that aspect of things)

@thebeardedgeek Thanks for following up on this. I was not able to get it to work and after spending a few hours on it I got distracted by 'work' and haven't been back. ;-)
I put your script in with a small change to use nodejs14 and the sbmjob worked like a charm! Thanks again, looking forward to customizing some dashboard elements for our environment.

@jeffg324 glad to hear that worked.
Here are two things to take into consideration.

If you set the user's path via .profile or .bash_profile and run the SBMJOB command the script just needs node-red and that's it
If you change the home directory of the user running the job or change directories to oss_scripts then you can simplify the SBMJOB command to SBMJOB CMD(QSH CMD('start-node.sh')) JOB(NODERED) JOBQ(QPGMR) USER(MATTDEV)
Personally I like specifying the path so that it is explicit.


Update kotlin 1.7.21

Fixes #438

This was reverted here https://github.com/android/nowinandroid/commit/f896a8c50d41a0f79deb8a90e3130876d0d5367d but for no apparent reason in the commit message.
@mmoczkowski what was the issue?
If this needs to be 1.7.20 for now, we should revert ksp as well.

Seems to be related to Compose compiler:
e: This version (1.3.2) of the Compose Compiler requires Kotlin version 1.7.20 but you appear to be using Kotlin version 1.7.21 which is not known to be compatible.  Please fix your configuration (or suppressKotlinVersionCompatibilityCheck but don't say I didn't warn you!).
https://github.com/android/nowinandroid/actions/runs/3473373873/jobs/5805326415#step:8:242

Support for Kotlin 1.7.21 was added in 1.4.0-alpha02.

Here is the "scary" warning message in the current build: https://github.com/android/nowinandroid/actions/runs/3473866639/jobs/5806381926#step:9:23

Hey Simon, thanks for the PR, but let's wait until stable version of Compose compiler supports 1.7.21

Should we instead rollback ksp to make this scary warning message disappear?


ARROW-12351: [CI][Ruby] Use ruby/setup-ruby instead of actions/setup-ruby

Because actions/setup-ruby is deprecated:
Please note: This action is deprecated and should no longer be
used. The team at GitHub has ceased making and accepting code
contributions or maintaining issues tracker. Please, migrate your
workflows to the ruby/setup-ruby, which is being actively
maintained by the official Ruby organization.

https://github.com/actions/setup-ruby#setup-ruby

@github-actions crossbow submit debian-buster-amd64

@github-actions crossbow submit debian-buster-amd64

@github-actions crossbow submit debian-buster-amd64

https://github.com/ursacomputing/crossbow/runs/2340711692

+1


fix: add provider ID info to kubelet labels

This PR will ensure that the kubelet registers a given node with the
UUID of the server resource that it belongs to. This is necessary so
that we can associate servers to kube nodes in cluster api.

/approve

/lgtm


Threads

From what I figure out from your code, you run a lot of threads - Threads in python do not work like they do in C or something, something called GIL exists in python that essentially only allowes one thread of the interpreter to run at any given time. So, making a lot of threads does not increase performance at all, in fact it is the other way. The only usecase for threads in python is when you are doing IO related stuff that do not use much CPU.

Ah, I see, good to know. The 'DrawTerrainMultiThreaded' and 'DrawTerrainMultiThreadedFunc' functions at the top of the 'fegaria_remastered.py' file are purely tests to see if it would speed up rendering, they're not actually called. I should probably remove these from the code, but I wasn't sure if I would need them in the future. The only secondary thread used is the lighting thread. This is just because I thought it would be easier to create a thread every time the last one finished as opposed to creating a system to perform part of the lighting calculations every frame. If the lighting calculations were performed all at once on the main thread, the game would run at around 11 fps. If it will improve performance, I might create the aforementioned system to split up the lighting calculations into manageable chunks that would be run on the main thread every frame.

Yes, it is a good idea to do every CPU intensive task in the same thread in python. But there exist a module called multiprocessing which creates new processes that can run on its own, this is perfect for CPU intensively tasks like your lighting - but multiprocessing bring in a bit of overhead, they not as simple as multithreading.


Automatic PR from RestAPI-PR1010

Generated from RestAPI PR: https://github.com/Azure/azure-rest-api-specs/pull/1010

Failing due to KeyVault. Can you guys please disable these broken tests so that our PRs stop getting fails?

0.3.3 (2017-03-08)
++++++++++++++++++

Add import/export operations
Expanded documentation of create modes


ConstrativeLoss implementation

I think that your ConstrativeLoss implementation could have a problem.
In the paper the Constrative Loss is defined by:

But the Constrative Loss function implemented are:

It's exactly the same, with a different definition of labels Y.


[TECH] Write UI Tests

Try using Paparazzi

I can take this.

Sure go ahead @alexymumo

Since paparazzi doesn't support application modules https://github.com/cashapp/paparazzi/issues/107. I think we should modularize first before moving to ui tests

I wouldn't go for modularizing to support a library, I followed the discussion and it seems like it's something they aim to fix in this milestone 👇
https://github.com/cashapp/paparazzi/milestone/12
Let's wait and see after


[Bug]: The file is not saved completely

What happened?
the music only plays for 5-11 even though I made it 47 seconds
Version
v1.5-beta
OS/Browser version
Android 11 One UI 3.1
Device information (phone model or PC specs)
SM-A105G
Screenshots / Videos
No response

Duplicate of #23


Quickfix for #517

Ensure that both "" and whitespace only strings gets set to null (as xml serialization does)
Description

Related Issue(s)

#{issue number}

Verification

[ ] Your code builds clean without any errors or warnings
[ ] Manual testing done (required)
[ ] Relevant automated test added (if you find this hard, leave it and we'll help out)
[ ] All tests run green

Documentation

[ ] User documentation is updated with a separate linked PR in altinn-studio-docs. (if applicable)

Do we have any tests for this already btw? Or could we add one?

The tests from https://github.com/Altinn/app-lib-dotnet/pull/590 would work (with some adaptation).

This is just a stopgap to ensure the obvious part of the fix can be included in a release.


New Documents: recording kids

So if there are recordings being made of children, there needs to be an Akkoordverklaring - Algemeen belang - beeld & geluidsopnames for children, with parents or without parents.
So the forms we have now:

Akkoordverklaring - Algemeen Belang - beeld & geluidsopnames (adults)
a script voor mondelinge toestemming

For adults it will be either one of these.
Then if we have public interest, with children and recordings, we need either a:

Akkoordverklaring - Algemeen Belang - beeld & geluidsopnames (children, no parents present)
Akkoordverklaring - Algemeen Belang - beeld & geluidsopnames (children, parents present)

Also, the script should also be an alternative to the consent form, if there are recording, legal justification is consent and it is with adults.


LoadMore activityIndicator incorrect position after completion

Hi,
If I add new cells and reload tableview after loadMore completes, activity indicator stays at original position. Please see the attached screenshot.

@askarimov
Oh..
I'll correct immediately.

@askarimov
I corrected the bug and released ver.1.0.1.
thanks.

Great! Tahnks. Closing


Contributing guides

I'd like to see a version of this merged even if sections are still marked TODO or there are TODO comments left in to modify sections. I think even the information that is here is valuable and should be in main so others can build on top of it.
I suggest that if there is incorrect information that be removed, and that any TODOs you feel are needed be added and then that it be merged as is.

The untyped tree have since be deleted afaik, so we can remove this section.


important keybindings

Tasks

[ ] ctrl+z -> undo
[ ] ctrl+y -> redo
[ ] ctrl+a -> should do nothing (currently marks all text)
[ ] entf/delete should set "Removed on"  to the current date set in the timeline

Use case
No response
Related Pull request
No response

added item above: entf/delete should set "Removed on"  to the current date set in the timeline

There is also a bug, when you have the (full-screen) note field and you press "Entf", the plant will be removed. Expected is that the selected text gets removed.

I added: ESC from full screen markdown editor doesn't work.
If it is easy to do, it would be great to have side by side view of notes in the full screen mode. In the small editor, however, it should remain as it is.


subset lb fallback policy not invoked when hosts are unhealthy?

Suppose that the first matching subset in a subset LB has all its hosts turn unhealthy, or the subset's LB otherwise returns nullptr from chooseHost(). The subset LB will return the nullptr anyway from chooseHost():
    bool host_chosen;
    HostConstSharedPtr host = tryChooseHostFromContext(context, host_chosen);
    if (host_chosen) {
      // Subset lookup succeeded, return this result even if it's nullptr.
      return host;
    }

https://github.com/envoyproxy/envoy/blob/main/source/common/upstream/subset_lb.cc#L254
My question is: why? I would have been inclined to classify this as a bug (it's a fallback policy; why aren't we falling back given the subset can't produce a host?), except we seem to have gone through the trouble of doing it this way quite deliberately.
(I am trying to match a host by metadata and fall back to any other host if that host is unhealthy)
cc @zuercher @htuch @snowp who might have opinions if not answers :)

// The behavior used when no endpoint subset matches the selected route's metadata.

It's by design (but I also don't know why.) If the endpint subset is choosen, then no any fallback will be triggered even there is no healthy ep in the choosen subset.
Typically, the fallback is designed for subset selecting, not for host selecting.

I guess an additional question would be: can we change this?
It doesn't make a ton of sense to me that a fallback doesn't, well, fall back.

@zuercher could you advise here? Thanks.

The original design was to limit load balancing to a subset of hosts, as if they were the entirety of the cluster. When a given subset exists (has any hosts) the subset lb defers to the underlying load balancer implementation, which might result in no host being chosen once endpoint health is taken into consideration. The fallback mechanism applies when a given subset doesn't exist at all.
A more concrete example: In my experience, one reason to have a single-host subset is to allow developers to target a client at a specific test host. The use case is to test the specific code running on that upstream. As the developer I'd want to get errors if that host become unhealthy rather than have request forwarded to another upstream running different code.
I'm willing to concede there are probably other use cases where it makes sense to switch to a fallback subset when a subset's load balancer cannot select a host. It should be possible to add a configuration option to enable that.


Fix header displays skeleton when creating report with invalid user

Details

Fix header displays skeleton when creating report with invalid user
Fixed Issues

$ https://github.com/Expensify/App/issues/38879
PROPOSAL: https://github.com/Expensify/App/issues/38879#issuecomment-2023031781
Tests

Go to FAB > Start chat
Enter invalid phone number, i.e +79585702746
After opening the report, verify that the error appears and the header doesn't display skeleton
Clear the error
Go to FAB > Start chat again
Verify that the phone number that we entered above doesn't appears as recent contact

[x] Verify that no errors appear in the JS console

Offline tests

Do step 1-3 online
Do step 4-6 offline
QA Steps

Go to FAB > Start chat
Enter invalid phone number, i.e +79585702746
After opening the report, verify that the error appears and the header doesn't display skeleton
Clear the error
Go to FAB > Start chat again
Verify that the phone number that we entered above doesn't appears as recent contact

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/161821005/e1ab2a40-9b7a-4e2d-9823-8c90e6345895

Android: mWeb Chrome
https://github.com/Expensify/App/assets/161821005/c054f01d-eba4-4358-9ee5-c0296152405b

iOS: Native
https://github.com/Expensify/App/assets/161821005/87cad26c-0964-400a-8c98-d8af2594d682

iOS: mWeb Safari
https://github.com/Expensify/App/assets/161821005/bc0809cd-af41-4abd-ace3-023695a1f4f2

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/161821005/31d50a69-0f97-4358-bb26-30844b49e2a4

MacOS: Desktop
https://github.com/Expensify/App/assets/161821005/354dc6a0-ae40-4e00-a7a2-259320017628

@deetergp @nkdengineer When we start a chat with the invalid phone number(in this case, +79585702746), we can see the server at the bottom of the page. When we go back without pressing the close(X icon) on the error, and then again start chat with same number (+79585702746), we can see the error twice, this same issue happens on staging, too. It's not related to this PR, but it was found when testing this issue, so posting here.Video attached below:

Video
https://github.com/Expensify/App/assets/35371050/ca19e99d-b2a6-4182-b7d4-295e1d6ef319

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/35371050/520772a2-ee1e-4259-94e2-56998b7c832d

Android: mWeb Chrome
https://github.com/Expensify/App/assets/35371050/25db612c-1608-46ca-807b-43acfe5dad03

iOS: Native
https://github.com/Expensify/App/assets/35371050/f282ddad-38d7-4c48-accd-c40aab7cce41

iOS: mWeb Safari
https://github.com/Expensify/App/assets/35371050/76cb3543-a89a-485a-95dd-af1d8704caa3

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/35371050/5951b04f-7a27-4151-8fe0-0eb1f4eb3059

MacOS: Desktop
https://github.com/Expensify/App/assets/35371050/9923f139-f563-4fa5-b4f3-2e267a692358

@deetergp It's fixed now.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/deetergp in version: 1.4.62-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/deetergp in version: 1.4.62-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.4.62-17 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Fix Travis ci

Libevent is now installed by default on travis, so I removed it from the brew install command.
Feel free to rebase your PR onto this one if you want to test your PR on osx.

Thanks!


Update build system to flit_core

Hi, I'm opening this pull request as part of a push to modernise how packages use Flit as a Python build backend.
Using flit_core as the backend in place of flit is recommended in the docs, and will make it faster for tools like pip & build to build your package from source, as it has fewer dependencies to install. See Flit issue #698 for additional info about this.
Specifying an explicit version range (>=2,<4) helps to ensure that your package can still be readily built from source despite changes in future major versions of Flit, because it will still use version 3.x. For instance, a future version is likely to drop support for the [tool.flit.metadata] table, in favour of the now-standardised [project] table for metadata. This is also in the docs, along with details of which versions support which features.
Most users probably install your package from a pre-built 'wheel' on PyPI, so this changes won't affect them at all. But people who install from a git checkout, for instance, will benefit.

Thank you!


Unable to Apply frequencyPenalty Parameter to ChatOpenAI Class

System Info
Issue:
I'm experiencing an issue while trying to apply the frequencyPenalty parameter to the ChatOpenAI class in my Flask server setup. I'm running a Flask server that handles a POST query and returns a streaming response from GPT using LlamaIndex.
When I attempt to apply the frequencyPenalty parameter to ChatOpenAI instance, the server throws a warning:
WARNING! frequencyPenalty is not default parameter.
frequencyPenalty was transferred to model_kwargs.
Please confirm that frequencyPenalty is what you intended.

Upon reviewing the documentation, I didn't find a clear way to apply the frequencyPenalty to the ChatOpenAI class.
Here's a snippet of my current code where I'm experiencing this issue:
# LLM that supports streaming
llm = ChatOpenAI(model_name="gpt-3.5-turbo-16k", streaming=True, frequencyPenalty=6)
llm_predictor = LLMPredictor(llm=llm)

I'm using ChatOpenAI to create an instance of the LLM that supports streaming. I intended to apply frequencyPenalty to this instance but encountered the above warning.
For further reference, the complete code of my Flask server setup is shared in the original post.
Any guidance on how to correctly apply the frequencyPenalty to ChatOpenAI would be greatly appreciated. Thanks in advance!
Who can help?
No response
Information

[ ] The official example notebooks/scripts
[X] My own modified scripts

Related Components

[X] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
import openai
from flask import Flask, request, Response
from flask_cors import CORS
from dotenv import load_dotenv
import os
import pandas as pd
from llama_index import GPTVectorStoreIndex, SimpleDirectoryReader, ServiceContext, LLMPredictor, Document
from langchain.chat_models import ChatOpenAI
import logging

app = Flask(__name__)
CORS(app)

load_dotenv()

# Get the API key from the environment variable
api_key = os.getenv('OPENAI_API_KEY')

# Set the OpenAI API key directly
openai.api_key = api_key

# Loading documents from an Excel file
df = pd.read_excel('data/SupplierComplete.xlsx')

# Convert DataFrame rows into documents
documents = [
    Document(text=' '.join(f'{name}: {value}' for name, value in zip(df.columns, map(str, row.values))))
    for _, row in df.iterrows()
]

# LLM that supports streaming
llm = ChatOpenAI(model_name="gpt-3.5-turbo-16k", streaming=True, frequencyPenalty=6)
llm_predictor = LLMPredictor(llm=llm)

# Construct a simple vector index
index = GPTVectorStoreIndex.from_documents(documents, service_context=ServiceContext.from_defaults(llm_predictor=llm_predictor))

# Configure query engine to use streaming
query_engine = index.as_query_engine(streaming=True, similarity_top_k=2)

@app.route('/api/query', methods=['POST'])
def query():
    try:
        # Get the payload from the request
        payload = request.json

        # Log the received payload
        logging.info(f"Received payload: {payload}")

        # Update the LLMPredictor parameters based on the payload
        llm_predictor.max_tokens = payload.get('max_tokens', 256)
        llm_predictor.llm.temperature = payload.get('temperature', 0.9)

        # Get the system message from the payload
        system_message = [m['content'] for m in payload['messages'] if m['role'] == 'system'][0]

        # Get the question from the messages in the payload
        user_message = [m['content'] for m in payload['messages'] if m['role'] == 'user'][-1]

        # Combine system message and user message
        question = system_message + ' ' + user_message

        # Now, query returns a StreamingResponse object
        streaming_response = query_engine.query(question)

        def response_stream():
            for text in streaming_response.response_gen:
                yield text + "\n"

        return Response(response_stream(), mimetype="text/event-stream")

    except Exception as e:
        logging.error(f"Exception occurred: {e}")
        return Response(f"Server error: {e}", status=500)

if __name__ == '__main__':
    # Start the server, to run this script use "python llama_index_server.py" in terminal

    # Configure logging level
    logging.basicConfig(level=logging.DEBUG)

    app.run(host='<IP_ADDRESS>', port=5000, debug=True)

Expected behavior
I expect to be able to apply the frequencyPenalty parameter to the ChatOpenAI class without encountering any warning messages or errors. Ideally, the frequencyPenalty should influence the LLM's generation by tuning the model's likelihood to avoid frequently occurring responses. I'm expecting this to work seamlessly with other parameters and configurations I'm setting up for my ChatOpenAI instance.
If there is a specific way or an alternate parameter to achieve this functionality, I would expect the documentation to clearly illustrate this. Also, any warnings or error messages should provide actionable insights or steps for resolution.

You probably need to pass it via model_kwargs. Like so:
llm = ChatOpenAI(
  model_name="gpt-3.5-turbo-16k",
  streaming=True,
  model_kwargs={
    "frequency_penalty": 1.0,
  }
)


新 Issue 请务必遵循模版，避免导致优先级降低或直接关闭。

Description
First of all, thanks for your attention to open an issue for this project.
Please notice that if you are requesting a feature, then you should give a brief description of your request.
If you are reporting a bug, please follow the template below.
A bug report without detailed information required will have a very low priority and even be ignored (closed directly)!
Specifications

Version of Electron (run $ electron --version): v0.0.0
OS: <OS>
Stack trace from the error message (if any)

<Stack trace here>

直接改报issue的模板为中文吧，估计英文很多人不太注意。


Upgrade Mailpile to v0.5.1

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


fix: various small fixes and improvements for IATP

What this PR changes/adds
This PR is a collection of a few smaller fixes, nits an improvements, all of which were revealed/discovered while setting up and end-to-end demo of IATP.
I opted to create one acculated PR, because that seemed much less cumbersome and more temporally efficient.
The changes are specifically:

the CritertionToPredicateConverter now supports the contains operator, for Collection-type fields (https://github.com/eclipse-edc/Connector/pull/3643/commits/bb3c8bc4c9f5309a59b41fc56690cae61d65a576)
the Jws2020 schema now declares the proof.created property as optional, as per the VC DataIntegrity spec (https://github.com/eclipse-edc/Connector/pull/3643/commits/6e2cb5a6013bd865a36b3c38e3cc8126d839a1f1)
VC: allow credentialSubject.id to be null without throwing an exception (https://github.com/eclipse-edc/Connector/pull/3643/commits/3570d0c227f65359fc29534a8088216d055b849d)
VC/VP: ignore the proof when deserializing from JSON-LD. They aren't needed at runtime. (https://github.com/eclipse-edc/Connector/pull/3643/commits/3570d0c227f65359fc29534a8088216d055b849d)
providing the DefaultCredentialServiceClient was moved from IatpDefaultServiceExtension --> IdentityAndTrustExtension (https://github.com/eclipse-edc/Connector/pull/3643/commits/20d38d3e8940d654907aaf9d62918c06dcdcc1e8)
fixed some resulting compile errors (https://github.com/eclipse-edc/Connector/pull/3643/commits/553023c3fb27f0fdb13ab918652865ab15864266)

Why it does that
These smaller issues must be solved before tackling larger, subsequent changes.
Further notes

reviewer notice: i tried to keep each change within one commit

Linked Issue(s)
Closes # <-- insert Issue number if one exists
Please be sure to take a look at the contributing guidelines and our etiquette for pull requests.

Codecov Report
Attention: 4 lines in your changes are missing coverage. Please review.

Comparison is base (36ab86d) 71.76% compared to head (553023c) 71.79%.
 Consider uploading reports for the commit 6475413 to get more accurate results

Files
Patch %
Lines

.../identitytrust/core/IdentityAndTrustExtension.java
57.14%
2 Missing and 1 partial :warning:

...entitytrust/core/IatpDefaultServicesExtension.java
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3643      +/-   ##
==========================================
+ Coverage   71.76%   71.79%   +0.03%
==========================================
  Files         914      915       +1
  Lines       18278    18312      +34
  Branches     1036     1038       +2
==========================================
+ Hits        13118    13148      +30
- Misses       4708     4710       +2
- Partials      452      454       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Fix Multi-Level Column Names in DataFrame Downloaded using YahooDownloader

Fixes https://github.com/AI4Finance-Foundation/FinRL/issues/1286
This pull request addresses an issue in yahoodownloader.py where the DataFrame downloaded from Yahoo contains multi-level column names, even though a single-level column structure is expected.

thanks for your code


Added Super to mkKeyMap keys

I am using this :smile:

Added xK_Alt_L as well. It must be mentioned that both alt and super have left and right variants. I called xK_Alt_L and xK_Super_L simply Alt and Super, respectively.

Could you explain how exactly are you using this?  On first glance it seems a bit strange to have modifier keys in the list of special keys.

I stopped using it on that same day because it turned out not to be a reliable way to get the behavior I wanted.
Anyway, I was inspired by Spacemacs, which I like a lot :smile:
Spacemacs is based around evil mode in Emacs, so we edit vim-style in it, but every command in (vim) normal mode is prefixed by SPC (akin to leader in vim). So to go the left window (which would be called a buffer in vim), I press SPC w h, sequentially.
My original idea was to replicate this in my WM, and press Super w h to go left. As I couldn't find out how to do this kind of sequential keybinding using that (xK_Alt_L, xK_p) interface, I decided to hack this PR quickly to prototype my idea.
In the end, after experimenting a bit, I found it awkward, mostly because of the issue I explained in the stack exchange question, but also because Super's placement in the keyboard is much more uncomfortable than Space, in my opinion.

I see.  Yes, I can see how that spacemacs-like behavior would be nice if you like that sort of interface, but offhand I do not know how to achieve this in xmonad.  So, should this PR be closed?


Project management

GitLab (I think GitHub does too?) has some nice PM tools:

Issue boards with customizable criteria
Burndown charts for releases

If this were in GitHawk, it might just make me switch to GitHub just so I could do these things natively.
iPad support would be a must for these, IMO.

Bug Report Dump (Auto-generated)

Version 1.26.0<PHONE_NUMBER>)
Device: iPhone X (iOS 12.1.1)
TestFlight: true

Dupe #318
Sent with GitHawk


Flag which implants have Daisy running

Just like we have [SharpSocks] next to implants running the socks proxy any chance we can have [Daisy] next to implants running daisy? Makes remembering which implants are performing pivoting a little easier ;-)

Hm that should already be the case 🤔 but it may be borked, I'll take a look, thanks!

Implants that are connecting home through a daisy are flagged using the PS;D at the end of the line. But no way to tell which daisy they are using, or where daisy are running. Cheers Running 4.8

This should now have a label - update_label("DaisyHost", randomuri)


feat: improve bpn validation

WHAT
Improves the BPN validation in the following aspects:

BPNs are not hardcoded on the policy anymore
BPNs are stored in a small persistence backend (in-mem + postgres are available)
the evaluation function understands a few more operators

WHY
The old BPN validation extension was inflexible and not scalable and there were technical errors in it.
FURTHER NOTES

For compatibility reasons the old policy evaluation will remain in place but issue a deprecation warning.
I unimaginatively called the new module business-partner-validation2 - suggestions welcome
the new module isn't yet used anywhere - e2e tests, runtimes, docker images, helm charts... that'll come in another PR
[edit] a REST API to manipulate BPN+groups will follow in another PR

Closes #673

:+1:  for bpn-validation

Looks great so far. Two things:

We should have a DR for this
The left operand should have a prefix/namespace as explained in the one comment

PR incoming.


DM-40377: Create a new user menu component

New APIs:

New hook in squared that implements a useGafaelfawrUser hook. This hook leverages swr to get a user's data from Gafaelfawr's /auth/api/v1/user-info endpoint.
New hook in squared that uses next/router to compute the current page's URL. Useful for getting callback URLs for logging in.
New component, GafaelfawrUserMenu that implements a login button or user menu depending on the state from /auth/api/v1/user-info. This menu is based on Radix-UI's dropdown menu. The API here is designed so that users can compose their own menu items within the user menu. A log out button is always included at the bottom of the menu. This component will replace the user menu currently in Squareone that's built with Reach UI, which is now deprecated.

New capabilities:

Demonstrated how to use Mock Service Worker (MSW) with Storybook to provide mock API data to components. E.g. this powers stories with a logged out and logged in state.
Demonstrated using storybook interaction tests to click on the user menu and then check that the log out item exists with the appropriate URL.

Light mode, with the menu opened:

Dark mode with the menu opened:


Node crashes if cannot sync NTP (post-init)

Description
Errors that I could find in the logs below
Environment
Please complete the following information:

OS: Ubuntu 18.04

Node Version: 0.1.9+4812339036139219b1aeeb6101e7866924e2d974

Additional Resources

Logs:
ERROR   a375d.app               System time couldn't synchronize NTP server errors [failed to read server response: read udp node_ip:32821-><IP_ADDRESS>:123:
 i/o timeout failed to read server response: read udp node_ip:37024-><IP_ADDRESS>:123: i/o timeout failed to read server response: read udp node_ip-><IP_ADDRESS>:123: i/o timeo
ut]     {"node_id": "a375d"}

ERROR   a375d.blockOracle       failed to calculate eligibility proofs: failed to get latest ATX: failed to get ATX ID for target epoch 2: atx for node a375d targeti
ng epoch 2: leveldb: not found  {"node_id": "a375d"}
2020-04-26T16:23:08.001+0200    ERROR   a375d.blockBuilder      failed to check for block eligibility   {"node_id": "a375d", "layer_id": 844, "error": "failed to get latest ATX: failed to get ATX I
D for target epoch 2: atx for node a375d targeting epoch 2: leveldb: not found"}

ERROR   a375d.atxBuilder        failed to publish ATX   {"node_id": "a375d", "error": "failed to build nipst: stop requested"}
INFO    a375d.p2p               Address manager shutting down   {"P2PID": "4JMpuJPmnwqNkUmKgzAZafvtbne62auQBcMq7HBzihW5"}
INFO    a375d.blockListener     listening  stopped      {"node_id": "a375d"}
WARN    a375d.hare              Broker exiting  {"node_id": "a375d"}
ERROR   a375d.p2p               propagate event loop stopped: protocol shutdown {"P2PID": "4JMpuJPmnwqNkUmKgzAZafvtbne62auQBcMq7HBzihW5"}
INFO    a375d.p2p               Gossip protocol shutdown        {"P2PID": "4JMpuJPmnwqNkUmKgzAZafvtbne62auQBcMq7HBzihW5"}
INFO    a375d.p2p               priority queue was closed, existing     {"P2PID": "4JMpuJPmnwqNkUmKgzAZafvtbne62auQBcMq7HBzihW5", "error": "the queue is closed"}
ERROR   a375d.p2p          .udpnet              Listen UDP error, stopping server       {"P2PID": "4JMpuJPmnwqNkUmKgzAZafvtbne62auQBcMq7HBzihW5", "error": "read udp
[::]:7153: use of closed network connection"}
INFO    a375d.app               a375d42f457473dc659478250cee5380fd9cbf91574c4205a1c23401bf00dddb closing mesh   {"node_id": "a375d"}
INFO    a375d.meshDb            shutdown during cache warm up   {"node_id": "a375d"}
INFO    a375d.meshDb            Database closed {"node_id": "a375d"}
INFO    a375d.meshDb            Database closed {"node_id": "a375d"}
INFO    a375d.meshDb            Database closed {"node_id": "a375d"}
INFO    a375d.meshDb            Database closed {"node_id": "a375d"}
INFO    a375d.meshDb            Database closed {"node_id": "a375d"}
INFO    a375d.meshDb            Database closed {"node_id": "a375d"}
INFO    a375d.stateDbStore      Database closed {"node_id": "a375d"}
INFO    a375d.atxDbStore        Database closed {"node_id": "a375d"}
INFO    a375d.poetDbStore       Database closed {"node_id": "a375d"}
INFO    a375d.stateDbStore      Database closed {"node_id": "a375d"}
INFO    a375d.store             Database closed {"node_id": "a375d"}
INFO    a375d.appliedTxs        Database closed {"node_id": "a375d"}
INFO    00000.defaultLogger     App Cleanup completed

@c29r3 thanks for reporting! Was this during node startup or after it was already synced, out of the blue? Was the internet connected normally?
@y0sher do you have additional questions here? I assume there's nothing we can do if this failed on startup, other than maybe add more retries? I'm usually against infinite retries, but maybe it's a good idea here after all? We'd have to make sure the app makes it very clear that we're unable to connect. I assigned this to you so you can decide when to close this.

@noamnelke

Was this during node startup or after it was already synced, out of the blue?

no, it's works properly about one day and then crashed

Was the internet connected normally?

A few more nodes were launched on this vps, everything is fine with them. There was no significant load on the server itself

@y0sher since this isn't during node startup, maybe we shouldn't crash if we can't reach NTP?
I wonder why this happened at all 🤔

we check NTP connection each 30 mins, and stop running node if we can't access ntp servers, this is because our protocol is time based and any deviation from NTP time might lead to node be considered malicious.
NTP will be replaced with p2p time sync protocol in 0.3


How to modify dataset?

First of all thanks for this lib, it's great!
I call the notifySectionItemChanged(sectionIndex, itemIndex) method.
But had a problem is
java.lang.IllegalArgumentException: view is not a child, cannot hide android.widget.LinearLayout{21e33088 V.E...CL ......I. 0,612-600,683}
java.lang.IllegalArgumentException: Tmp detached view should be removed from RecyclerView before it can be recycled
Thanks in advance

The only reason I can think that that would be called is if sectionIndex or itemIndex are wrong in some way.
The itemIndex is relative to the section. So section N's first item would have itemIndex of 0


AttributeError due to incompatibility with newer OAuthlib version

TL;DR: Flask-OAuthlib is out-of-date from OAuthlib and is hence causing exceptions to be raised. (I don't know how to fix it.)
Currently I'm seeing that master points to commit cf24784fe4.
As I was using Flask-OAuthlib, line 822 of flask_oauthlib/provider/oauth1.py throws AttributeError: request_token. Here's my own stack trace at some point (it's not actually important; just posting for completeness):
Traceback (most recent call last):
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask_oauthlib/provider/oauth1.py", line 402, in decorated
    uri, http_method=http_method, body=body, headers=headers
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/oauthlib/oauth1/rfc5849/endpoints/authorization.py", line 156, in get_realms_and_credentials
    request.resource_owner_key, request):
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/flask_oauthlib/provider/oauth1.py", line 822, in verify_request_token
    tok = request.request_token or self._grantgetter(token=token)
  File "/Users/eason/Documents/2015S2/SE700B/flask_oauthlib_provider/.venv/lib/python3.4/site-packages/oauthlib/common.py", line 412, in __getattr__
    raise AttributeError(name)
AttributeError: request_token

I found Travis job #341.4 to have a stack trace that's very similar to mine --- even line numbers are the same. Travis job #345.4, which is a few commits away from 341.4, does not show this AttributeError. Doing a manual diff reveals that the author ( @therealmarv ) changed requirements.txt between those two builds. You can download snapshots of those two commits and do a manual diff, but here's the interesting segment of it for convenience:
--- flask-oauthlib-fbeae3e5a1f33b7f68ba253bb01fcc8bca4f712a/requirements.txt	Tue Jul 28 03:40:40 2015
+++ flask-oauthlib-44bdfe4331afa86bd3613768a05bf7b05b9451f2/requirements.txt	Fri Jul 31 20:46:35 2015
@@ -1,5 +1,5 @@
+Flask==0.10.1
+mock==1.3.0
+oauthlib==0.7.2
+requests-oauthlib==0.5.0
+Flask-SQLAlchemy==2.0
-Flask
-Mock
-oauthlib
-requests-oauthlib
-Flask-SQLAlchemy

I noticed requirements.txt in my own project to say
oauthlib==1.0.3

whereas Flask-OAuthlib's says
oauthlib==0.7.2

There is indeed a "Breaking Change" as per the 1.0.0 entry in OAuthlib's changelog that started raising attribute errors.
To reproduce some stack trace like mine that is caused by the same AttributeError, do something like the below:
git clone git@github.com:lepture/flask-oauthlib.git
git checkout master
# virtualenv and activate
pip install -r requirements.txt
pip install -U oauthlib    # currently on version 1.0.3 as noted above
# run Nose tests and see them fail with stack traces caused by AttributeErrors.

report it here: https://github.com/idan/oauthlib/blob/master/oauthlib/common.py

Send PR to OAuthlib.


Binding views in Robolectric tests

I would like to use Butterknife to reduce boilerplate code in Robolectric tests like it does with the production code. Butterknife works for me in activities and the original tests work when I switch the activity's views to use Butterknife binding.
However, it doesn't work as I expect in a test case using Robolectric (3.0):
@BindView(R.id.test_button) Button testButton;

@Before
public void setup() {
    activityUnderTest = Robolectric.setupActivity(ActivityUnderTest.class);
    ButterKnife.bind(this, activityUnderTest);
}

@Test
public void checkTestButton() {
    testButton.performClick();
}

The views are not bound, and the test will raise a NullPointerException for attempting to use the testButton reference.
I figured this would work since what I currently have is:
testButton = (Button) activityUnderTest.findViewById(R.id.test_button);
From the documentation, it seems that this should generate the previous statement:
ButterKnife.bind(this, activityUnderTest)
Is it possible to get this to work?

Specify butterknife-compiler as a testApt dependency and it should work fine.

Thank you!

Just wanted to update that if you are using android gradle plugin 2.2.+ you will need to specify butterknife-compiler as a testAnnotationProcessor and androidTestAnnotationProcessor instead of a testApt.

@JakeWharton can you please specify how to Specify butterknife-compiler as a testApt dependency.


pycookiecheat: add n8henrie to maintainers

This is my project -- I had no idea it was on nixpkgs!
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Oops, this should've been python312Packages.pycookiecheat: ...; matters less here since there's no rebuilds, but for future ref.

Oops, this should've been python312Packages.pycookiecheat: ...

Noted!
Would python3Packages.pycookiecheat have been sufficient? Or does the specific version of python matter?

As I understand it, borgo (CI) doesn't handle aliases properly, so you'd have to pick some version explicitly. And since 3.12 is the default I suggested that.

@eclairevoyant -- I don't think I had realized (or remembered at least) that PR names affected borg! It's clearly in its readme, which even uses pythonPackages as an example: https://github.com/NixOS/ofborg?tab=readme-ov-file#automatic-building
Thanks for reminding me of this!


Swap sanitize for raw in list component

What

The list component used the sanitize method. This has been swapped for the raw method.
Tests to ensure that attributes on markup passed into component are unaltered have been added.
Why

The sanitize method strips out elements and attributes that are not in an allowlist from a string, and then allows the string to be added as markup rather than being added as a string. This could strip out data- and other useful attributes given to the list component.
The raw method doesn't alter the markup - so any string passed into the component will be used verbatim. Since the strings being given to the list component come from within an application, we can presume these to be trustworthy.
Visual Changes

None.

Also forgot to mention, need to update the changelog.

@kevindew I thought that raw() was preferred over .html_safe, and that they basically did the same thing? (Only difference is that raw() just has the slight advantage because it does .to_s and then .html_safe on anything passed to it.)

@kevindew I thought that raw() was preferred over .html_safe, and that they basically did the same thing? (My understanding is that the only difference is that raw() just has the slight advantage because it does .to_s and then .html_safe on anything passed to it.)

They serve slightly different purposes, so I don't think it's quite a case of one is preferred over the other as it's contextual - and in the context of this PR I think .raw is a better choice than .html_safe. You're right that they do very similar things and I think the difference between them is just better communication of purpose.
Generally you use .html_safe as a means to specify that data can be rendered later as HTML. It's probably better explained with an example, as I imagine we're on slightly different wavelengths
# hypothetical_component.html.erb

<%= raw title %>

Allows someone to do:
<%= render "hypothetical_component", title: "My title with a a link" %>

But risks an XSS issue with
<%= render "hypothetical_component", title: "A title for #{params[:unsafe_user_input]}" %>

Whereas a safer approach moves those concerns to the caller:
# hypothetical_component.html.erb

<%= title %>

Where someone has to say when they expect html escaping to be removed:
<%= render "hypothetical_component", title: "My title with a a link".html_safe %>

And by default protects against:
<%= render "hypothetical_component", title: "A title for #{params[:unsafe_user_input]}" %>

However, like I said, all of this seems impractical for this component as it'd break a lot of use cases.


Merge pull request #10 from BluNite/third_branch

Merge pull request #8 from BluNite/secondBranch

merged blu_nite


Textfield does not handle quotation marks well

If a quotation mark is included in a string when using the --textfield option Dialog will omit the quotation mark.
Example:
/usr/local/bin/dialog --textfield "Enter string"
String entered:

Show me those " quotes "

Dialog output:

Show me those  quotes

A workaround has been found by using the --json flag. Though this then requires the output to be parsed in order for it to be usable in most applications.
Example with --json flag:
/usr/local/bin/dialog --textfield "Enter string" --json | grep "Enter string" | awk -F " : " '{print $NF}' | sed 's/^.\(.*\).$/\1/' | sed -r 's/[\"]+/"/g'
Piping to JQ using jq -r is much cleaner, although it is not ideal to have to deploy JQ to a fleet of Macs.
While we can use this workaround, perhaps an enhancement could be made so we can avoid having to use JSON and piping to sed.
Further context in Slack.

Unfortunately, I found a problem with your workaround.
If the user enters a \ character, or even multiple \\\\\, it will be replaced with a single " character.

I don't know why but the code for printing out the values explicitly strips " from the output. The commit for that line doesn't say why but I can't see an obvious reason why I would have done that.


Add more pre-commit hooks and run them in CI

As per python-discord/organisation#138, new hooks were added for pre-commit and they will run in CI too. The pipenv run lint script will now run all the new hooks, including flake8.
Hooks added
A couple of these hooks automatically apply fixes. However, they still report failure and leave any changes they make uncommitted. Therefore, the user has to commit the automatic fixes.

check-merge-conflict - Check for files that contain merge conflict strings.
check-toml - Attempts to load all toml files to verify syntax.
check-yaml - Attempts to load all yaml files to verify syntax.
end-of-file-fixer - Makes sure files end in a newline and only a newline.
mixed-line-ending - Replaces mixed line endings with LF.
trailing-whitespace - Trims trailing whitespace.
python-check-blanket-noqa - Enforce that noqa annotations always occur with specific codes

CI
The pre-commit venv is cached. There should only be a cache miss if the .pre-commit-config.yaml file changes or if the location of the Python interpreter changes (more realistically, if the Python version changes). Maybe Azure wipes the cache sometimes too, but in that case pre-commit will simply re-create the environment.
ELA edit:
Also closes #775

It's worth noting that moving flake8 out of the virtual environment also comes with a disadvantage for local development. While it's still going to be possible to run the linter from the command line using pre-commit, it will break editors that use flake8 to lint within the editor. There may be ways to deal with this, as I haven't looked into whether or not it's possible to configure editors in such a way that they're able to use pre-commit's flake8, but this will be a more complicated and non-standard set-up.
For me, personally, it probably means that I'm going to maintain a separate dependency listing locally to be able to create a pipenv or other Python virtual environment where flake8 and the plugins we use are installed to be able to use a linter in editor.
For reference, this is what you'd get with a default linter set-up in Sublime Text:
SublimeLinter: #2 flake8 test_base.py ERROR:
============================================

/home/sebastiaan/.local/share/virtualenvs/bot-I8fh9oki/bin/python: No module named flake8

I think what @SebastiaanZ is saying here is a dealbreaker for removing these dependencies from the pipfile.
I think it would be better to maintain duplicate dependencies in two files than to require a weird non-standard setup to get linting working on sublime or vscode. These are popular editors, and it should be frictionless to set up linting in our repos.

OK. What do you all think of using this hack in CI?
printf '%s\n%s' '#!/bin/bash' '"${@:2}"' >> pipenv && chmod +x pipenv

It creates a mock pipenv run executable. It will ignore the first arg (i.e. ignore the run in pipenv run) and interpret the rest as if it was a command. It'll get prepended to PATH somewhere so that when pre-commit runs the flake8 hook, it will prefer it as the pipenv executable over the normal one.

Per #775 I've also added pep8-naming to the linting toolchain and updated the codebase to fix the handful of new linting issues.

@MarkKoz I like it. It's hacky and clever and I don't mind at all because you've documented it well and it only happens in the CI. Excellent work.


allow the interpolation of individual series' via the

A description of the changes proposed in the pull request:

This PR allows the interpolation by series feature (added in v1.1.0) to be used in conjunction with the <px-vis-data-converter>.

A reference to a related issue (if applicable):

https://github.com/PredixDev/px-vis-timeseries/issues/40

@mentions of the person or team responsible for reviewing proposed changes:

@nonmetalhail

working tests:

test/px-vis-data-converter-tests.js

Thanks for the PR. You're right that the JSON parse and stringify is a problem as it prevents functions and special values such as Infinity from being passed in. It was in there to prevent seriesConfig and completeSeriesConfig from being linked and live as their own separate objects. I'll have to look into if this is a problem and if so, an alternate approach to clone the object before I can merge.

Thanks. If you want me to clone the object just let me know and I'll add it.

So I confirmed that the two are linked as a result of this. Although I dont know if it actually matters, I think we should be cautious and clone the object. It's annoying since it is a deeply nested object. If you have the time to do this, that would be great. Maybe make a method to clone so we can reuse it in the future if needed.
If you dont get around to it, I will some time next week.

Added the clone method and all tests passed. But after a recent merge of master the test-suite fails for me with Cannot read property 'select' of undefined <unknown> at px-vis-line-svg-tests.js:1350. Is that an issue on master?

Hmm... I don't think so. I'll have to take a look

It's interesting. When I run wct on master it fails almost every time on Chrome 56. When I run that particular test in Chrome 56 manually, it usually passes. When I pump up the timeouts from 100 to 300ms they pass via wct.

Futzing around with it yesterday, I think it is fine. Not sure why the travis tests were failing. Rerunning them caused them to pass. But it appears that only the Chrome and Firefox tests were running on Travis, so today I'm going to just do a quick check on IE & Edge and try to find Chrome 56 and give that a shot. But I think we're all good.
I'm probably going to wait until the end of the week to actually merge; a big client is shipping this week and I'd rather play it safe and add this after.
Thanks for the PR!

Merged! Available in v1.1.8. Thanks!


CMake support

Hi,
compiling OpenSSH is not that easy, especially on Windows and on 64bit. CMake would improve that situation, as it is nowadays used by a lot of open source projects. There seem to be some non-official repos or some scripts around, which provide some CMake scripts, but nothing official till now.
Thanks

We're looking at revamping the build system, and tracking that in other tickets/issues, but cmake isn't likely.


1394: Generates SMS auth codes for users

Looks fantastic. A few requested changes and you're good to merge. Thanks.


PostgresQL support

Now that there's a cloud sql for postgres it would be handy if the cloudsql-proxy supported it too

It does :) https://github.com/GoogleCloudPlatform/cloudsql-proxy/releases/tag/1.07
If you're having trouble getting it to work, please reopen a more specific issue.

Ah I see. I was looking under proxy/dialers and assumed the lack of postgres driver meant it wasn't supported. Thanks!


Detect when Form API #ajax callback is invoked statically but the method is not static

In PHP 7 calling a non-static method statically only threw a notice or warning. In PHP 8 it will cause EXPLOSIONS 🤯 .
Example code:
class MyForm extends BaseForm {

    public function buildForm() {
        $form['foo']['#ajax']['callback'] = [static::class, 'ajaxCallback'];
    }

    // This will error
    public function ajaxCallback() {

    }

    // This will not.
    public static function ajaxCallback() {

    }

}

Since the callback is nested in a Form API structure, PHPStan will not detect that we're eventually going to call this method. So we need a custom rule to make sure the AJAX callback is static if invoked statically.

For this we just need to read #ajax.callback and check if isCallable. That will find out if it has been statically called or not once https://github.com/phpstan/phpstan/issues/5782 lands.


License Choice - MIT

Why the MIT License?

After careful consideration, I think the most appropriate license choice for our package is MIT. Here are my reasons:

The MIT License is highly permissive, allowing developers or other users to use, modify, and distribute the software for any purpose, whether it be for personal, academic, or commercial use. We hope to give plenty of freedom for users and contributors to use this package as part of their work.
The MIT License is also straightforward, easy to understand and widely-adopted in the open-source community. This is a license that is concise, avoids legal complexity, and is accessible to a broad audience, making it a favorable choice.

I appreciate your thoughtful consideration and I wholeheartedly agree with your choice of the MIT License for our team package.

Promoting Collaboration: The MIT License is renowned for its permissiveness, fostering a collaborative environment. By opting for this license, we encourage other developers to freely use, modify, and contribute to our package. This aligns perfectly with our goal of creating a vibrant and inclusive community around our project.

Simplicity and Clarity: The simplicity and clarity of the MIT License are paramount. Its concise and easily understandable terms eliminate unnecessary legal hurdles. This simplicity not only makes it easier for users to adopt our package but also contributes to a transparent and open development process.

Community Adoption: The MIT License is widely adopted in the open-source community. By choosing a familiar and well-accepted license, we position our package for broader acceptance and adoption. This not only facilitates collaboration but also ensures that potential users and contributors are more likely to be familiar and comfortable with the licensing terms.

-Flexibility for All Use Cases: The MIT License's permissiveness empowers users to apply our package in a myriad of scenarios, whether personal, academic, or commercial. This flexibility aligns with our vision of creating a tool that can adapt to diverse needs and applications.
In summary, the MIT License is not just a permissive and widely-accepted choice; it aligns perfectly with our collaborative and open-source principles. I'm confident that this decision will contribute to the success and widespread adoption of our team package.

I agree with all of the points above. In addition to this, I like the use of the MIT license since it imposes minimal restrictions on how the software can be used, allowing for maximum freedom for both developers and users. I think this is particularly useful for an EDA package like where flexibility and openness are valued - and especially at these early stages where we are making significant developments and changes to the package!

I support the selection of the MIT license for our project, as articulated by @phchen5, @iris0614, and @rbouwer. The MIT License's permissive nature is instrumental in fostering a welcoming and collaborative environment, essential for the dynamic growth of our open-source package. By eliminating legal complexities, we not only facilitate broader adoption and contribution but also underscore our commitment to transparency and accessibility in the development process.
Also, adopting the MIT License helps our project in community engagement. It ensures our work remains accessible and adaptable across various domains, from academic research to commercial application, thereby amplifying its impact and relevance.
This choice aligns with our vision of building a versatile and influential tool that benefits a wide array of users and contributors, paving the way for a vibrant, inclusive, and innovative community around our package.

Great! Unlike copyleft licenses (e.g., GPL), the MIT License also does not impose requirements on derivative works to adopt the same open-source license. Forcing downstream projects to be open-source is not something we are particularly strict about at this point of our project. Finally, the MIT License includes a disclaimer of liability, which can help protect us from legal claims related to the use of our software. All these advantages discussed above make MIT the license of our choice!