Update to Chromium 103.0.5060.114

The tarball is finally available!

spooky resulting package difference.
resolving dependencies...
looking for conflicting packages...

Package (1)                                    Old Version      New Version       Net Change  Download Size

home_justkidding_arch_Arch/ungoogled-chromium  103.0.5060.53-2  103.0.5060.114-1  -11.53 MiB      99.40 MiB

Total Download Size:    99.40 MiB
Total Installed Size:  253.36 MiB
Net Upgrade Size:      -11.53 MiB

Hope google didn't do anything shady...

Not a big difference for me: 103.0.5060.53 103.0.5060.114


error constructing old format Challenge resource for authorization: ACME server does not allow selected challenge type or no provider is configured for domain

Here is how I configured my ClusterIssuer:
---
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
  name: letsencrypt-issuer
spec:
  acme:
    privateKeySecretRef:
      name: letsencrypt-issuer
    email: <my email>
    server: https://acme-v02.api.letsencrypt.org/directory
    solvers:
    - selector:
        dnsNames:
        - '<my domain>'
        - '*.<my domain>'
      dns01:
        route53:
          region: us-east-1

Cert manager version is v0.10.1
Error I'm getting:
E0110 16:10:01.596068       1 sync.go:79] cert-manager/controller/orders "msg"="failed to update status" "error"="error constructing old format Challenge resource for authorization: ACME server does not allow selected challenge type or no provider is configured for domain \"helloworld-go-20.default.<my domain>\"" "resource_kind"="Order" "resource_name"="route-a5bdfa6f-33c3-11ea-a966-0e5647abde27-4246890659" "resource_namespace"="default"

The reason I'm using v0.10.1 is because my cluster version is 1.1.4

Cert is generated by knative and looks like:
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  annotations:
    networking.internal.knative.dev/certificate.class: cert-manager.certificate.networking.internal.knative.dev
    serving.knative.dev/creator: kubernetes-admin
    serving.knative.dev/lastModifier: kubernetes-admin
  creationTimestamp: "2020-01-10T16:10:00Z"
  generation: 3
  labels:
    serving.knative.dev/route: helloworld-go-20
  name: route-a5bdfa6f-33c3-11ea-a966-0e5647abde27
  namespace: default
  ownerReferences:
  - apiVersion: networking.internal.knative.dev/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: Certificate
    name: route-a5bdfa6f-33c3-11ea-a966-0e5647abde27
    uid: a75304d8-33c3-11ea-a966-0e5647abde27
  resourceVersion: "31566"
  selfLink: /apis/certmanager.k8s.io/v1alpha1/namespaces/default/certificates/route-a5bdfa6f-33c3-11ea-a966-0e5647abde27
  uid: a7566a89-33c3-11ea-bc5c-0a67fc7d9dab
spec:
  acme:
    config:
    - dns01:
        provider: cloud-dns-provider
      domains:
      - helloworld-go-20.default.<my domain>
  dnsNames:
  - helloworld-go-20.default.<my domain>
  issuerRef:
    kind: ClusterIssuer
    name: letsencrypt-issuer
  secretName: route-a5bdfa6f-33c3-11ea-a966-0e5647abde27
status:
  conditions:
  - lastTransitionTime: "2020-01-10T16:10:00Z"
    message: Certificate issuance in progress. Temporary certificate issued.
    reason: TemporaryCertificate
    status: "False"
    type: Ready

We no longer support v0.10 as this is now quite old, however, you'll need to enable 'legacy style' DNS01 configuration on your issuer if you want to use the certificate.spec.acme specification - set the following on your ClusterIssuer:
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
  name: letsencrypt-issuer
spec:
  acme:
    privateKeySecretRef:
      name: letsencrypt-issuer
    email: <my email>
    server: https://acme-v02.api.letsencrypt.org/directory
    # Configure a DNS01 provider using the 'old format'
    dns01:
      providers:
      - name: cloud-dns-provider
        clouddns:
          project: my-project
          serviceAccountSecretRef:
            name: prod-clouddns-svc-acct-secret
            key: service-account.json
    # New style solver configuration - used when certificate.spec.acme is NOT set
    solvers:
    - selector:
        dnsNames:
        - '<my domain>'
        - '*.<my domain>'
      dns01:
        route53:
          region: us-east-1

You can see more examples of configuring 'old style' DNS01 providers (i.e. NOT using the issuer.spec.acme.solvers field) in the old version of the documentation: https://docs.cert-manager.io/en/release-0.7/tasks/acme/configuring-dns01/index.html

I'm going to close this as it isn't a bug, and is expected behaviour 😄 if you are still running into troubles please comment here or post in the #cert-manager channel on https://slack.k8s.io!


Enable building log4net with docker container #127

Enable building log4net with docker container #127

@vy I've updated the dockerfile, the scripts and https://github.com/apache/logging-log4net/blob/Feature/127-docker-build/doc/BUILDING.md
Please take a look.
@fluffynuts what is your opinion?

lgtm, tho I'm no docker expert, so as long as it works, which I assume it does (I'm nowhere near a PC rn), then I give it 👍👍


Can I use in a menuItem?

I trying without success to use this with a menuItem.
It`s possible? how?
tks

MenuItem is currently not supported: I'll try to find a way to make it work.

Closing this as an issue has been opened for this feature request

Version 0.3 with support for MenuBar extension is available on directory; by now only Vaadin 8.x is supported.
Feedback is welcome; feel free to open other issues.
Let me know if you need a Vaadin 7 backport


Zoom in/out Terminal

There is not option to change only the zoom of Terminal, and SideBar. No command JSON in the user editor JSON.

You can use terminal.integrated.fontSize to "zoom" the terminal.

@Tyriar Thank you! It was awesome!


Use file DLL of tensorflow on window

Anyone have example to use file DLL of tensorflow on window, please help me! I working with VS 2015, thanks in advance.

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!


Will you please upgrade to swift 1.2?

Upgrading to Swift 1.2 is in progress (#22). Please use swift-1.2 branch for now.

Thanks

Sorry to keep you waiting. 0.7.0 is now available!


schema: make additional attribute classes member of att.duration.ratio

This PR makes the following att.* classes member of att.duration.ratio:

att.layerDef.log
att.scoreDef.log
att.staffDef.log

This addresses the simple cases of polymeter as discussed and agreed in #700.
Dropping @num.default and @numbase.default might be done at a later stage if desired.

If this is to address durational ratios between staves, does it make sense to also have it on scordeDef?

The most common use is quite likely to be on staffDef. However, having it on scoreDef might make sense for successive socreDefs, or for scoreDef in parts/part.

I like the idea and am not opposed to it, but given some open discussions and the lack of compound examples for everything concerning att.duration.default and att.duration.ratio in the guidelines, I would like to push this to a later release. Could we tackle this during the developer meeting?
cf. #1071 and https://music-encoding.org/guidelines/v5/attribute-classes/att.duration.ratio.html

I am glad you like the idea. However, I think the *.default question is essentially unrelated, so I'm not sure what else needs to be discussed.

I think

[ ] we would need a corresponding example for encoding “simple polymeter” in the guidelines.
[ ] Moreover, the relation of num and numbase on one staff vs their absence on another staffDef should be clarified
[ ] and the relation to default.*attributes (especially when co-occurring).

ODD meeting 11/2024: This should definitely be accompanied by instructive examples and guideline documentation about the meaning and usage of the corresponding attributes.
Therefore, moving to v6 (and dev workshop 2025).

@lpugin, I agree that num.default, and numbase.default don't have anything to do with making <staffDef> and <scoreDef> members of att.duration.ratio.  But, keeping these attributes may cause confusion and removing them may lead to another issue.
The history of these attributes (@dur.default, num.default, and numbase.default) is long and complex, but they do have a purpose.  The need for them arises because @dur (as well as @num and @numbase) on <note> is optional.  When @dur isn't provided, the note's duration must be determined in some other fashion.  A common case is when @dur isn't given because the note is a member of a chord, where the duration is specified.  An uncommon, but legal case is when all the notes of a measure have the same duration, @dur may only be provided on the first one.  Going further, if all the notes on a staff or even in the entire piece have the same duration, then @dur need not be given on any of the notes, but provided via @dur.default on <staffDef> or <scoreDef> instead, as appropriate.
@num.default and @numbase.default support similar functionality for mensural notation.  Like, @num and @numbase on <note>, they provide a default duration (given on <staffDef> or <scoreDef>), not a ratio between staves.
To avoid the confusion created by the presence of @num and @numbase as well as  @num.default and @numbase.default on <staffDef> and <scoreDef> (already exhibited amongst ourselves), we can simply remove the *.default attributes, but then another mechanism must be created to deal with the fact that duration is optional.  Making @dur required is off the table due to the problem it creates with chords and because the change wouldn't be backward-compatible.  Renaming the *.default attributes, creating a Schematron rule that warns against the lack of duration info, and/or addressing this situation in the documentation are reasonable alternatives.  I'm not in favor of a simple  "Don't do that" or "That never happens" dismissal of the problem.  If something is valid, then someone, somewhere will eventually do it.


Add BP_WEB_SERVER_LOCATION_INCLUDES to Enable Custom Location Directives

Describe the Enhancement

Add a new optional environment variable, BP_WEB_SERVER_LOCATION_INCLUDES (or similar) to allow users to provide location-scoped NGINX directives while taking advantage of the generated nginx.conf file.
Motivation

Users migrating from buildpacks like Cloud Foundry's Staticfile buildpack commonly only customize server root, push state, and location directives. Currently, users can use this buildpack with a generated nginx.conf using BP_WEB_SERVER_ENABLE_PUSH_STATE and BP_WEB_SERVER_ROOT for the first two features, but must maintain their own nginx.conf if they need any custom location directives. This proposed feature will remove the need for these users to eject from the generated nginx.conf.

@paketo-buildpacks/web-servers-maintainers

I'd be open to a configuration that allows an include inside the default location block. PRs welcome

I've also been wishing for something like this for a while. I'm not a Go developer but I'm motivated enough that I'm open to working with the tests to submit a PR. However I think it would be a good idea to discuss an approach first, @arjun024. (And in the event a discussion here prioritizes this for the Paketo team to work on it, I'd be happy to not learn Go just to contribute a PR here. 😄)
My typical use case for this nginx buildpack is containerizing a client side React application. The BP_WEB_SERVER_ENABLE_PUSH_STATE configuration gets close to what I need, but because I need to adjust the caching of assets (bundled hash assets should cache "forever" while index.html should "never" cache) I end up needing to "eject" from the provided nginx.conf. My usual process is 1) navigate to this repo 2) download the default.conf file 3) manually replace the templating with my values 4) replace the entire provided location block with my own 5) commit it to my application's repository. I don't love this process because now I have to care about the whole nginx.conf file when I wish I could just rely on paketo's smart defaults and if the project updated the default config I wouldn't automatically benefit. I'd like to get back to a more proper "buildpack experience" with regards to the nginx.conf concerns.
So perhaps this idea for including custom location directives could be the solution?
I have a few questions and would like to hear your opinion:

Should location includes completely replace the existing location directive? I don't think it would work for my use case if it didn't replace, but I haven't completely thought it through.
Should it be accepted that the nested WebServerEnablePushState configuration under the existing location directive would be incompatible with using custom location directives? Is that reasonable behavior for a user?
Assuming a BP_WEB_SERVER_LOCATION_INCLUDES environment variable as suggested by @ChuckQuinnIV, should it accept paths to files, directories, or both?


ImportError: No module named packaging

Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/catkin_virtualenv/combine_requirements", line 27, in <module>
    from packaging.requirements import Requirement, InvalidRequirement
  File "/home/tungngo/ros/local/lib/python2.7/site-packages/vext/gatekeeper/__init__.py", line 204, in load_module
    raise ImportError("No module named %s" % modulename)
ImportError: No module named packaging

pip install packaging


add kdd 2023

Thanks for the contribution - merged a previous PR #497 that has the same information, so closing this one.


latest charts and not being published in helm hub?

i have pushed latest charts with version 1.1.0 of
citrix/citrix-adc-istio-ingress-gateway
and
citrix/citrix-cpx-istio-sidecar-injector
but still here in helm hub it is showing old charts??
reference:
https://github.com/citrix/citrix-istio-adaptor/tree/gh-pages
https://citrix.github.io/citrix-istio-adaptor/

:+1: I am seeing the same with our cert-manager repository. Please see #2202 for more details. Who is best to escalate this too? I'm unsure which org/individual runs/administrates the Helm Hub.

Hello @prydonius same bug as https://github.com/helm/hub/issues/134 ?
Thanks

@mattfarina are we still facing https://github.com/kubernetes/kubernetes/issues/77465 issue?

The issue is the one @rimusz noted. Updates are a little slow because we have to clear out jobs, etc to get it going again. I've emailed folks to see about getting a version of k8s in the public cloud we're using with the fixed version of k8s as a stable version.
At the moment neither Azure or GKE have a stable version of Kubernetes at version 1.14 or newer with the bug fixed.
We are aware of this and working on it.

@mattfarina thanks.
Could you notify us here when it's ok? 🙏

@JulienBreux I will close this issue when it's fixed. Until then you will likely see updates once a day and possibly have one skipped on a weekend.

@mattfarina enjoy! It's ok!
/close

@mattfarina thank you ... charts are upadted :)


Rainbow Maker :D

Walk around in rainbow land yayyy!!! :D

Hey! PR Games are in this repository: https://github.com/hackclub/sprig

Hey! Please submit your game in the repository https://github.com/hackclub/sprig, this repo is page aspects only:) More details on how to submit here: https://sprig.hackclub.com/share!


yt broken: Unable to extract JS player URL

Hi guys,
I have the youtube-dl running as a web service on an app engine to which an an app I've built requests the urls of  yt videos people want to play so they can be streamed
from time to time, when google changes the signatures, this will stop working, I update with the new code and all keeps working
today the service stopped working, I don’t know if this has been caught as google changing the signatures or something else but the service is failing on me with
An error happened while fetching video '7Ya2U8XN_Zw' with: ERROR: Unable to extract JS player URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
now, I try to get the same video from my mac's terminal and it works just fine.
it's the same code running on both ends and it's the latest here in github, don't know if some can't help me debug this or has encountered something like this before

Hi guys, seems like if I change the video, I get a different error
[youtube] MYSVMgRr6pw: Downloading webpage
[youtube] MYSVMgRr6pw: Extracting video information
[youtube] MYSVMgRr6pw: Downloading DASH manifest
An error happened while fetching video 'MYSVMgRr6pw' with: invalid literal for int() with base 10: 'nondash-171'

Post the full output you get when running with --verbose option.

*.dump files obtained with --write-pages would be helpful as well.

thing is that in my mac (UK) is working, but in the server is not (US) same code... now I just found out about this http://venturebeat.com/2015/01/27/youtube-ditches-flash-for-html5-video-by-default/ don't know if it's related and I am still getting the old html here in UK vs US. I will try to see how I can dump the pages from the server, since in app engine I can't do that

Ok guys was able to get the dump for here in UK and for the one the server is getting:
https://www.dropbox.com/sh/q0ei3la3ta8pzoa/AAAbI3u1CSJ0cDG_QfkpPs31a?dl=0
both files are different, the one I'm getting here in the uk has the assets, js line  that is searched for in line 1020 of the code as in
jsplayer_url_json = self._search_regex(
                        r'"assets":.+?"js":\s*("[^"]+")',
                        embed_webpage if age_gate else video_webpage, 'JS player URL')

where the one the server is getting doesn't, so I'm guessing google did change the way html exists
appreciate the help and hope this info helps you guys fixing it

Probably it's the same as #4717, in the page from US I see this message:
<h1 id="unavailable-message" class="message">
    The uploader has not made this video available in your country.
</h1>

We should detect it and report an error (assuming that this is the message you actually get when accessing the page in a browser from the US).

I don't know. Everything was working fine and out of the blue this afternoon all videos went blank. So I don't think is the same issue, as it would have gone blank from before. Something changed in the pages google serve that broke the scripts. I can see it in the logs of my server

Notably, the error messages are a red herring. Can you provide a proxy at a problematic location? (in private is fine). Without a proxy, I don't think we'll be able to adapt the extractor.

I believe this issue to be fixed in youtube-dl 2<IP_ADDRESS>, where we look in the embed page as well. I'm assuming the new version fixes the problem for you, but if it doesn't (or even if it does), please report back. We will reopen this issue then if necessary. Thanks for the report!


TypeScript usage

User story
It can currently be tricky to contribute to Vitessce due to the many edge cases in which variables can be null, for example if a subset of all possible data types are available in a dataset. TypeScript can help contributors and maintainers to be more confident about new code and modifications to existing code.
Preferred solution
Incrementally convert sub-package code from JS to TS. Probably best to go in this order:

utility sub-packages in packages/utils/... (first)
config sub-package
file types sub-packages
... other sub-packages
view types sub-packages (last)

### Tasks
- [ ] { "path": "examples/configs" },
- [ ] { "path": "examples/plugins" },
- [ ] { "path": "packages/config" },
- [ ] { "path": "packages/constants" },
- [x] { "path": "packages/constants-internal" },
- [ ] { "path": "packages/file-types/csv" },
- [ ] { "path": "packages/file-types/json" },
- [ ] { "path": "packages/file-types/ome-tiff" },
- [ ] { "path": "packages/file-types/zarr" },
- [ ] { "path": "packages/gl" },
- [ ] { "path": "packages/legend" },
- [x] { "path": "packages/plugins" },
- [x] { "path": "packages/schemas" },
- [ ] { "path": "packages/tooltip" },
- [ ] { "path": "packages/utils/export-utils" },
- [x] { "path": "packages/utils/other-utils" },
- [ ] { "path": "packages/utils/sets-utils" },
- [ ] { "path": "packages/utils/spatial-utils" },
- [x] { "path": "packages/utils/image-utils" },
- [ ] { "path": "packages/vega" },
- [ ] { "path": "packages/vit-s" },
- [ ] { "path": "packages/view-types/description" },
- [ ] { "path": "packages/view-types/feature-list" },
- [ ] { "path": "packages/view-types/genomic-profiles" },
- [ ] { "path": "packages/view-types/heatmap" },
- [ ] { "path": "packages/view-types/layer-controller" },
- [ ] { "path": "packages/view-types/layer-controller-beta" },
- [ ] { "path": "packages/view-types/obs-sets-manager" },
- [ ] { "path": "packages/view-types/scatterplot" },
- [ ] { "path": "packages/view-types/scatterplot-embedding" },
- [ ] { "path": "packages/view-types/scatterplot-gating" },
- [ ] { "path": "packages/view-types/spatial" },
- [ ] { "path": "packages/view-types/spatial-beta" },
- [ ] { "path": "packages/view-types/statistical-plots" },
- [ ] { "path": "packages/view-types/status" },
- [x] { "path": "packages/main/all" },
- [ ] { "path": "packages/main/dev" },
- [ ] { "path": "packages/main/prod" }

Possible alternatives

Possibly need to address https://github.com/vitessce/vitessce/issues/1490 prior to some of these


job.properties() doesn't do anything

Information

qiskit-ibm-provider version:
Python version:
Operating system:

What is the current behavior?
backend.run returns an IBMCircuitJob, which inherits from IBMJob. There is a properties() method defined in IBMJob, but it doesn't do anything:
https://github.com/Qiskit/qiskit-ibm-provider/blob/a3d551801155daafd2f798790b90bf35dafc25b7/qiskit_ibm_provider/job/ibm_job.py#L71-L78
Steps to reproduce the problem
Call job.properties()
What is the expected behavior?
It should return the backend properties used for the job.
Suggested solutions
Find the timestamp for when the job started running and use it to get the backend properties data during that time.

The idea of this issue is to return The backend properties used for this job, not for people to pass in a datetime parameter, which they can already do with backend.properties(). The suggestion in the OP was to find the timestamp for when the job started running and use that to query backend properties.


Feature request: Kafka Event Data Class

Use case
When using a Kafka event source either from self-managed Apache Kafka or Amazon MSK there should be a relevant data class for easy iteration/decoding.
Such functionality is implemented already in aws-lambda-go and in aws-lambda-java-libs.
Solution/User Experience
Similar to other streaming data sources a records property should be iterable returning a KafkaEventRecord that transparently decodes the values from JSON:
from aws_lambda_powertools.utilities.data_classes import event_source, KafkaEvent

@event_source(data_class=KafkaEvent)
def handler(event: KafkaEvent, context: LambdaContext):
	for record in event.records:
		print(record.decoded_key, record.json_value)

Alternative solutions
No response
Acknowledgment

[X] This feature request meets Lambda Powertools Tenets
[X] Should this be considered in other Lambda Powertools languages? i.e. Java, TypeScript

Thank you so much for the feature request @lyoung-confluent! It makes a lot of sense to cover Kafka events too. We're looking forward to review your PR tomorrow!

@rubenfonseca  i think we should also create a similar parser event for this one. what do you think?

see also  https://github.com/awslabs/aws-lambda-powertools-python/pull/1499


[Feature Request]: Logger plugin to send Hop logs to Graylog

What would you like to happen?
Write a plugin to easily ingest Hop Logs into Graylog LMS
Issue Priority
Priority: 3
Issue Component
Component: Other

Are you still working on this Sergio?  How is Graylog reading logging information?  Can it handle standard ECS (Elastic Common Schema) logs?  Perhaps that would be better, create an encoder for those JSON snippets.  That way we'll have support for tools like ELK and Datadog as well.

Ciao @mattcasters yes I'm always working on this. Just paused a bit because I was overbusy at work. I don't think it can handle ECS logs but I'll check it out.

@mattcasters I made some investigations and unfortunately Graylog do not support ECS. But the base structure of the plugin we implemented is generic and pluggable. I can add the ECS support too. Let my find out documentation on it and I will be back


Problems with initial install

Describe the bug
Hi Webb. I just got back to setting up OpenVDM for the Nuyina and had a bit of a struggle getting the first collection system transfer working. It wouldn't download files from my remote server using SSH, giving the following error in the tail message for the openvdm:run_collection_system_transfer_1 script:
--- Logging error ---
Traceback (most recent call last):
File "/opt/openvdm/venv/lib/python3.8/site-packages/python3_gearman/worker.py", line 233, in on_job_execute
job_result = function_callback(self, current_job)
File "server/workers/run_collection_system_transfer.py", line 994, in task_run_collection_system_transfer
"""
File "server/workers/run_collection_system_transfer.py", line 391, in build_dest_dir
'ignoreFilter': gearman_worker.collection_system_transfer['ignoreFilter'].replace('{cruiseID}', gearman_worker.cruise_id).replace('{loweringID}', lowering_id)
TypeError: replace() argument 2 must be str, not None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.8/logging/init.py", line 1081, in emit
has an 'encoding' attribute, it is used to determine how to do the
File "/usr/lib/python3.8/logging/init.py", line 925, in format
if self.formatter:
File "/usr/lib/python3.8/logging/init.py", line 664, in format
time (as determined by a call to usesTime(), formatTime() is
File "/usr/lib/python3.8/logging/init.py", line 369, in getMessage
arguments with the message.
TypeError: not all arguments converted during string formatting
Call stack:
File "server/workers/run_collection_system_transfer.py", line 1178, in
logging.debug("Defining Signal Handlers...")
File "/opt/openvdm/venv/lib/python3.8/site-packages/python3_gearman/worker.py", line 88, in work
continue_working = self.poll_connections_until_stopped(
File "/opt/openvdm/venv/lib/python3.8/site-packages/python3_gearman/connection_manager.py", line 249, in poll_connections_until_stopped
self.handle_connection_activity(
File "/opt/openvdm/venv/lib/python3.8/site-packages/python3_gearman/connection_manager.py", line 202, in handle_connection_activity
self.handle_read(current_connection)
File "/opt/openvdm/venv/lib/python3.8/site-packages/python3_gearman/connection_manager.py", line 281, in handle_read
current_handler.fetch_commands()
File "/opt/openvdm/venv/lib/python3.8/site-packages/python3_gearman/command_handler.py", line 45, in fetch_commands
continue_working = self.recv_command(cmd_type, **cmd_args)
File "/opt/openvdm/venv/lib/python3.8/site-packages/python3_gearman/command_handler.py", line 75, in recv_command
completed_work = cmd_callback(**cmd_args)
File "/opt/openvdm/venv/lib/python3.8/site-packages/python3_gearman/worker_handler.py", line 182, in recv_job_assign_uniq
self.connection_manager.on_job_execute(gearman_job)
File "server/workers/run_collection_system_transfer.py", line 901, in on_job_execute
self.data_start_date = self.ovdm.get_cruise_start_date() or "1970/01/01 00:00"
File "/opt/openvdm/venv/lib/python3.8/site-packages/python3_gearman/worker.py", line 235, in on_job_execute
return self.on_job_exception(current_job, sys.exc_info())
File "server/workers/run_collection_system_transfer.py", line 916, in on_job_exception
logging.debug("End date/time filter: %s", self.data_end_date)
Message: <class 'TypeError'>
Arguments: ('worker.py', 233)
2021-08-09 04:26:49,095 ERROR - Job: H:aadc-openvdm:28362, AWS430_barometer transfer failed at: 08/09/21 04:26:49
As you can see there are a couple of things going wrong here, but I didn't drill down far enough to solve them all.
I did get our transfers working though, but first enabling lowerings, and then adding a lowering record, which seems to have set things going OK for us here. I'm not sure what was going wrong with the debug logging though, or why I needed a lowering record before any file transfers would work.
cheers,
Peter

I think I found this cause of the debug message failure but still scratching my head as to “how”.

I think if fixed this awhile back so I'm going to close the ticket.


Sheet Height Change

Hey, When the height of content of the sheet changes, the sheet's height won't change. Imagine That I have a segmented button in my sheet that handles 3 different pages that shows in the sheet and the height of those pages differs. in this situation I have problem with auto increase or decrease the height of the sheet

I will check this and fix it ASAP, thank you for notifying me know about this.
Additionally, I will update Example App, after fix this issue.

I fixed it like below.
I will distribute this version ASAP. Please wait some days. thx.

I fixed this issue and distributed v1.2.0, can you check it?🙃

Thanks buddy! I'ma check it soon

I tested it and it worked just fine, thanks man. is there any option to prevent the sheet's root page to collapse a bit?

Thx bro. Can i check the detailed code?

can I remove the little pull bar？

can I remove the little pull bar？

just set the height to zero？

If you set the option to .init(pullBarHeight: .zero), you can see the image below.

This library is depended on FittedSheets and has implemented almost all of the features of FittedSheets for use in SwiftUI.
So I can't fix the UIViewController on FittedSheets. But I'll implement the Hide Pull Bar option if you need it or want it. (This code will not be much different from setting to pullBarHeight zero)

thx
发自我的iPhone
------------------ Original ------------------
From: Jeonhui Lee @.>
Date: Sun, Jun 9, 2024 11:46 PM
To: Jeonhui/FittedSheets-SwiftUI @.>
Cc: ddw @.>, Comment @.>
Subject: Re: [Jeonhui/FittedSheets-SwiftUI] Sheet Height Change (Issue #3)

there is another issue that the container which hold the whole sreen in back is not round corner。any way to make it round？
发自我的iPhone
------------------ Original ------------------
From: Jeonhui Lee @.>
Date: Sun, Jun 9, 2024 11:46 PM
To: Jeonhui/FittedSheets-SwiftUI @.>
Cc: ddw @.>, Comment @.>
Subject: Re: [Jeonhui/FittedSheets-SwiftUI] Sheet Height Change (Issue #3)

I download FiteedSheet demo,it has rounded corner in background


Keydown in edit mode not working properly

Hello,
I am implementing a scenario where I need to trigger different behavior of jstree based on user input in node edit mode. It is working excellent but having issue only with Enter key.
$(document).on('keydown', 'input.jstree-rename-input',function(event){
   keyCode = event.keyCode || event.which
   console.log(keyCode);
});

It captures and shows keydown for every key except Enter key, which have keyCode of 13.
Can you help me in solving this issue.
Thanks

This is because the keydown event is caught and its propagation is stopped if the key in question is Enter. To resolve this - add your handler BEFORE creating the tree instance.
Best regards,
Ivan

That solution did not work. Binding it first still trigger it after jstree own keydown.
I used this solution:
$.fn.bindFirst = (name, fn) ->
# bind as you normally would
# don't want to miss out on any jQuery magic
  @on name, fn
  # Thanks to a comment by @Martin, adding support for
  # namespaced events too.
  @each ->
    handlers = $._data(this, 'events')[name.split('.')[0]]
    # take out the handler we just inserted from the end
    handler = handlers.pop()
    # move it at the beginning
    handlers.splice 0, 0, handler
    return
  return

and used it as
$(@element).on 'focus', 'input.jstree-rename-input', (event)=>
      $(event.target).bindFirst 'keydown', @change_parent

This solution works for me. Hope it will work for other people as well.


Penmetsaa maven update

The same previous update #2277 is reverted in #2280.
This is new roll-forward of original pom.xml updates.

Closing the PR and reopening the PR to trigger Travis build again


Feature Enum Simplification

I have been thinking about the feature enum for a bit. The information is actually somewhat redundant, because the configuration object should have already has this: if a sensor / state does not exist in the get_info() configuration field, then that attribute shall be marked as unsupported.
Thinking along these lines here is a potentially easier-to-maintain solution:
in DeviceAws:
class DeviceAws:
fan_auto_mode: bool | None | NotImplemented

async def refresh(self):
     if not find_sensor_in_configuration(info[configuration], 'autofs'):
         self.fan_auto_mode = NotImplemented
     else:
          self.fan_auto_mode = safe_get.....

async def set_fan_auto_mode(self, value):
       if self.fan_auto_mode is NotImplemented:
             raise ValueError(".....")

Then in ha_blueair entity scripts,
class AwsFanAutoModeEntity:
@classmehotd
def supported(self, device):
return device.fan_auto_mode is not NotImplemented
and loop over all entity classes in the list, only add the entity if supported is True.
rainwoodman commented yesterday
@rainwoodman
rainwoodman
yesterday
Contributor
Also note the current enum is already per attribute -- except filtre_expired, which could be replaced by the filter usage percentage, and handled in the Entity rather than in the coordinator. Actually, the percentage could potentially be visualized with something like a mushroom card to provided more information, and I would recommend deprecating the filter_expired sensor altogether (e.g. the BlueAir app also shows the percentage, not just 'filter exipred').
Another programmatical benefit is to avoid using new override, which while being fun and fulfilling, also is an indicator of deviation from the ordinary use of the Python language constructs: essentially the current pattern is using enum class definition as a configuration language here. For the scope of our project I don't think this is a practical problem, as the amount of configuration is not that big (I suspect only 10s of devices need to be declared and we will at most add a quirks enum field later.

I'm open to this change, it might be more reliable to wait until we can some unit tests to help reduce regressions with this level of a refactor?

One of us should update ha_blueair for this. I have some idea how to bake this, but do you have pending changes that shall land first?

I don't have anything else pending, I've paused looking into other issues on the ha_blueair repo until this refactor with the tests and not implemented is finished.  If you'd like to tackle it I am happy to defer. :). I remember you suggesting a method to using the not implemented, and we could switch the model enum back to StrEnum after that too.

i missed one important thing. The switches should depend on the existence / implementedness of the setter methods. But how do we best check that? Currently in the update coordinator we say the function raises a NotImplementedError, but that's not checkable at runtime.

I would prefer to do the simple approach of just changing BlueairChildLockSwitchEntity to check
    @classmethod
    def is_implemented(kls, coordinator):
        return coordinator.child_lock is not NotImplemented and isinstance(coordinator, BlueairUpdateCoordinatorDeviceAws)

though I think this would work as is, but I agree is feels heavy and has the side affect of calling a set that should have no effect but could cause edge cases
        try:
            return coordinator.child_lock is not NotImplemented or coordinator.set_child_lock(coordinator.child_lock)
        except NotImplementedError:
            return False

after working through the humidifier pr the abstract method approach seems hard to follow, changing the base implementation to raise NotImplemented instead of being abstract with pass might be more obvious to new comers, thoughts? if we do that we could check for sub class implementations for is_implemented on setters but I'm not sure that's as easy to understand as the code at the top of this comment, even if it would auto reflect improvements made in the coordinator.  I think somebody that is adding functionality will think to update the switch entity's is_implemented
I'm happy with 1 or 3 and could quickly implement, do you have a preference between those two?


Add Yandex Data Base engine support

It would be great to add support of open source DataBase from Yandex company.
it has own rust sdk: cargo add ydb
Also hosted offering: https://cloud.yandex.com/en/services/ydb

Hi there,
As part of our effort to clean up our GitHub repo, we’re closing this issue to help focus on features and improvements that align with our focus areas and those of our community.
If this is issue is still important to you, feel free to reopen the issue and get like-minded users to upvote as we will prioritize fixing issues based on community interest. If you do reopen the issue, please ensure that there’s a clear method for us to reproduce it.
For more insight into our priorities and how we’re thinking about the future of the Prisma ORM, please see our recent blog post: https://www.prisma.io/blog/prisma-orm-manifesto.
Thank you for your understanding and support!


Add support for KV v2 in Vault plugin

The code here... compiles. And its using the code we use for safe so it probably works?
Need some testing done:

Does it backup/restore a KV v1?
Does it backup/restore a KV v2?
Can it restore a backup made with a previous version of this plugin?
Can it restore a v1 to a v2 backend? (it should be able to)
How does it behave when trying to restore a v2 backend with multiple versions into a v1 mount? (and how do we want it to behave?)

CI tests are failing in Travis.  Please fix.

The transient HTTP 502 is gone, but now we have issues since it doesn't seem like the vaultkv lib got embedded into vendor/; can you take a look @thomasmitchell ?

Vendoring was done.

This looks like it works; i'm going to hold off on approving though, until we can get validation that the code works on v2 (manual tests) and that v1 backups from previous versions of the plugin can be restored with the proposed changes.

Now that Phalanx is working, we have automated tests for Vault in a purely-v2 environment.  Merging this.


floorp: unable to use gpu acceleration

Describe the bug
Floorp can't detect GPU acceleration while Firefox ESR (on which Floorp is based on) can
Screenshots
Floorp:

Firefox ESR:

Notify maintainers
@christoph-heiss
Metadata
~
 nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.9.1-zen1, NixOS, 24.11 (Vicuña), 24.11.20240524.bfb7a88`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/store/z71lmgd0ydfnax1b13zbrls5idf1y7ak-source`

Add a :+1: reaction to issues you find important.

Thanks for the report!
I can look into it what we can do as I get time. But -- I'm the only maintainer for Floorp and currently don't really have time due to university and $dayjob, thus I cannot promise any timeline unfortunately.
Can you provide some more information about your system please? E.g. GPU, drivers would be most interesting.
Also, does Floorp log anything relevant when started via a shell?

Can you provide some more information about your system please? E.g. GPU, drivers would be most interesting.

AMD Ryzen 7 5800U and integrated GPU. Drivers were set up as per manual on the unofficial wiki page: https://nixos.wiki/wiki/AMD_GPU , also I'm using nixos-hardware module for AMD systems.
I will be able to provide you with link to the exact config when I will be able to sync it up with the remote config info on GitHub.

Also, does Floorp log anything relevant when started via a shell?

 floorp
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libpci missing (t=0.252429) [GFX1-]: glxtest: libpci missing
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libpci missing (t=0.252429) |[1][GFX1-]: glxtest: libEGL missing (t=0.252452) [GFX1-]: glxtest: libEGL missing
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libpci missing (t=0.252429) |[1][GFX1-]: glxtest: libEGL missing (t=0.252452) |[2][GFX1-]: glxtest: EGL test failed (t=0.252459) [GFX1-]: glxtest: EGL test failed
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libpci missing (t=0.252429) |[1][GFX1-]: glxtest: libEGL missing (t=0.252452) |[2][GFX1-]: glxtest: EGL test failed (t=0.252459) |[3][GFX1-]: No GPUs detected via PCI
 (t=0.252471) [GFX1-]: No GPUs detected via PCI

Please also test with vanilla Firefox, as that might yield relevant information too.

It works without problems on the vanilla Firefox

@christoph-heiss, I also have this problem. Could you please look into it?


Filter: needed_for() [tree  search]

It would be great to have a filter (or better: selection option) to select needs that are needed for a need; so a direct link or an indirect one.
Example: with 2 “product-needs”, P1 & P2; each having some requirements (some shared, some not), Rs-Rs7 & R1a-R1h & R2k-R2n; and each R having some Test, T* ..
I  should be able to generate/show a list of test for P1 only...
Thanks

Yeah, I also have this feature request in my projects.
Current solution for me is to use nested list comprehensions in filter-strings.
For you it could look like this untested!!):
[test for prod in needs if type=='product-needs' for req in prod['requirements'] for test in req['tests]]

But this a really ugly solution, as the lists in these filter_strings get recreated for each need everytime from scratch.
I'm already searching for a way to maybe cache these link-trees and make them reusable or to provide a function with a better performance.
But I haven't done anything in this area in the past, so any help, opinions or hints are welcome.

Please see also #132.
This should give you full control for the search and is currently my preferred solution for your use case.

As the user-specific need-type and link configuration can be complex, I see no way to provide a simple solution/option here.
#132 makes such filters possible, so that I close this issue.


more Mob configstuff

only the latest commit isnt merged in already. idk why it adds the others

only the latest commit isnt merged in already. idk why it adds the others


Support for Timestamp, Time and Date

When trying to insert a datetime value with the following statement
params = [0, datetime.datetime.now()]
cursor.executemany('INSERT INTO TEST_DATETIME VALUES (?, ?)', params)
connection.commit()

this error is thrown
Traceback (most recent call last):
  File "datetime-test.py", line 32, in <module>
    cursor.execute('INSERT INTO TEST_DATETIME VALUES (?, ?)', params)
  File "/Users/max/virtualenvs/hana_load/lib/python2.7/site-packages/pyhdb-0.2.3-py2.7.egg/pyhdb/cursor.py", line 254, in execute
    self.executemany(statement, parameters=[parameters])
  File "/Users/max/virtualenvs/hana_load/lib/python2.7/site-packages/pyhdb-0.2.3-py2.7.egg/pyhdb/cursor.py", line 278, in executemany
    self.execute_prepared(prepared_statement, parameters)
  File "/Users/max/virtualenvs/hana_load/lib/python2.7/site-packages/pyhdb-0.2.3-py2.7.egg/pyhdb/cursor.py", line 185, in execute_prepared
    response = self.connection.send_request(request)
  File "/Users/max/virtualenvs/hana_load/lib/python2.7/site-packages/pyhdb-0.2.3-py2.7.egg/pyhdb/connection.py", line 83, in send_request
    payload = message.pack()  # obtain BytesIO instance
  File "/Users/max/virtualenvs/hana_load/lib/python2.7/site-packages/pyhdb-0.2.3-py2.7.egg/pyhdb/protocol/message.py", line 54, in pack
    self.build_payload(payload)
  File "/Users/max/virtualenvs/hana_load/lib/python2.7/site-packages/pyhdb-0.2.3-py2.7.egg/pyhdb/protocol/message.py", line 44, in build_payload
    segment.pack(payload, commit=self.autocommit)
  File "/Users/max/virtualenvs/hana_load/lib/python2.7/site-packages/pyhdb-0.2.3-py2.7.egg/pyhdb/protocol/segments.py", line 109, in pack
    self.build_payload(payload)
  File "/Users/max/virtualenvs/hana_load/lib/python2.7/site-packages/pyhdb-0.2.3-py2.7.egg/pyhdb/protocol/segments.py", line 95, in build_payload
    part_payload = part.pack(remaining_size)
  File "/Users/max/virtualenvs/hana_load/lib/python2.7/site-packages/pyhdb-0.2.3-py2.7.egg/pyhdb/protocol/parts.py", line 100, in pack
    arguments_count, payload = self.pack_data()
  File "/Users/max/virtualenvs/hana_load/lib/python2.7/site-packages/pyhdb-0.2.3-py2.7.egg/pyhdb/protocol/parts.py", line 408, in pack_data
    pfield = _DataType.prepare(value)
AttributeError: type object 'Timestamp' has no attribute 'prepare'

The class method prepare is missing for the type object Timestamp to convert the value into binary format. The same applies for the type object Time.
The type object Date implements the prepare method. But the value is not properly stored in the database.

Create statement for the table TEST_DATETIME:
CREATE TABLE TEST_DATETIME (ID INTEGER, dt TIMESTAMP);

In Pull request https://github.com/SAP/PyHDB/pull/28 at least the timestamp problem should be solved. Once this pull request is accepted you should be able to use it.

@mathebox, the PR is merged, would you please check ?

Yes, it's working. Thanks!
I've created a pull request #32 that fixes the insert of date and time values.


Adding context allows only one time use?

i am not totally positive about this and i may be doing something wrong, but could it be that calling Raven.extra_context() and other context helpers more than once will ignore the added data and only show the data from the last call?
I am seeing this https://github.com/getsentry/raven-ruby/blob/d1eb5002fb364087b63b1b086e601bc0af1a67e7/lib/raven/instance.rb#L196 right now and it's obviously merging, but following this https://github.com/mperham/sidekiq/wiki/Error-Handling#error-handlers any Raven.extra_context() calls in my worker code get ignored.
Not sure any more if this is a Sidekiq or Sentry issue or whether I structured my code wrongly.

@mxmzb What version of raven-ruby? IIRC we had issues with extra_context inside Sidekiq until 2.6.0, which was fixed in #713.

it's sidekiq 5.0.4 and sentry-raven 2.6.0

I'm gonna need to see some code so we can reproduce, then. We have tests for Sidekiq context here.

Please feel free to comment with something I can use to reproduce, otherwise I am closing for now.


added support for creating minimized distribution contents

With this PR, a new gradle task installMinimizedDist is provided for generating minimized distribution contents, which are mandatorily required for running the importer-exporter. Non-mandatory folders like 3dcitydb, samples, templates, and 3d-web-map-client are omitted. This new task is especially useful when running the importer-exporter via Docker to keep the Docker image small.

Anything else seems fine, thanks for the implementation @yaozhihang. Currently, I delete /impexp/contribs/collada2gltf/*osx* and /impexp/contribs/collada2gltf/*windows* as they are not needed on for the UNIX-based images and some other stuff in the Dockerfiles, but it seems not worth to implement this with gradle to me.

Anything else seems fine, thanks for the implementation @yaozhihang. Currently, I delete /impexp/contribs/collada2gltf/*osx* and /impexp/contribs/collada2gltf/*windows* as they are not needed on for the UNIX-based images and some other stuff in the Dockerfiles, but it seems not worth to implement this with gradle to me.

@BWibo, yes, I was also thinking about the COLLADA2GLTF files. For a Docker image, we only need the Linux version of the tool and can drop the Windows/Mac versions, which helps to greatly reduce the size of the resulting Docker image. If the only purpose of the minimzed installation is to generate a Docker image, then we could implement this in the gradle script.
But I think we should keep the minimzed installation more general so that it can also be used on other platforms. This means that the Windows/Mac versions of COLLADA2GLTF indeed have to be removed by the Dockerfile script and not the gradle script.

@BWibo, yes, I was also thinking about the COLLADA2GLTF files. For a Docker image, we only need the Linux version of the tool and can drop the Windows/Mac versions, which helps to greatly reduce the size of the resulting Docker image. If the only purpose of the minimzed installation is to generate a Docker image, then we could implement this in the gradle script.
But I think we should keep the minimzed installation more general so that it can also be used on other platforms. This means that the Windows/Mac versions of COLLADA2GLTF indeed have to be removed by the Dockerfile script and not the gradle script.

Yes, I think so too. We would lose cross-platfrom capabilities if we removed the COLLADA2GLTF dists for OSX and WINDOWS for the minimized version. Moreover, deleting this in the Dockerfile is one line of code that is probably not going to be subject of frequent future change.

Yes, I think so too. We would lose cross-platfrom capabilities if we removed the COLLADA2GLTF dists for OSX and WINDOWS for the minimized version. Moreover, deleting this in the Dockerfile is one line of code that is probably not going to be subject of frequent future change.

In 1dc36253a8757da832603c298e55141ba3c3296d I moved the minimized dist into the distributions property as discussed aboved and changed distributionBaseName back to distributionBaseName = project.appName + '-Minimized' to avoid confliction dist folders. I'll adapt the paths in the Dockerfiles.

In 1dc36253a8757da832603c298e55141ba3c3296d I moved the minimized dist into the distributions property as discussed aboved and changed distributionBaseName back to distributionBaseName = project.appName + '-Minimized' to avoid confliction dist folders. I'll adapt the paths in the Dockerfiles.

Thanks very much for all your inputs @BWibo @clausnagel. The current implementation looks good to me.  Maybe we could think about adding three additional tasks (see the proposal below)? This allows for building OS-specific distributions much easier. Also, it will make the Dockerfile simpler and better readable. Agree?
distributions {
    main {
        ...
    }

    minimized {
        ...
    }

    minimized4Windows {
        ...
    }

    minimized4MacOS {
        ...
    }

    minimized4Linux {
        ...
    }
}

Thanks very much for all your inputs @BWibo @clausnagel. The current implementation looks good to me.  Maybe we could think about adding three additional tasks (see the proposal below)? This allows for building OS-specific distributions much easier. Also, it will make the Dockerfile simpler and better readable. Agree?
distributions {
    main {
        ...
    }

    minimized {
        ...
    }

    minimized4Windows {
        ...
    }

    minimized4MacOS {
        ...
    }

    minimized4Linux {
        ...
    }
}

I don't think that we need additional, OS-specific minimized installation tasks. It should be fairly simply to remove the OS-specific files of the COLLADA2GLTF converter in a Dockerfile. For end-users, our installer already takes care of OS-specific installations. And if we would introduce, for example, a minimized4Windows, wouldn't we have to offer a full4Windows also?
I would rather like to turn the question around as in my previous post: do we really need the minimized task in its current form? My understanding is that it's main purpose is to make the automatic creation of a Docker image easier. Then why not call it docker task and make sure that this task creates an installation that is optimized for use with Docker?

I don't think that we need additional, OS-specific minimized installation tasks. It should be fairly simply to remove the OS-specific files of the COLLADA2GLTF converter in a Dockerfile. For end-users, our installer already takes care of OS-specific installations. And if we would introduce, for example, a minimized4Windows, wouldn't we have to offer a full4Windows also?
I would rather like to turn the question around as in my previous post: do we really need the minimized task in its current form? My understanding is that it's main purpose is to make the automatic creation of a Docker image easier. Then why not call it docker task and make sure that this task creates an installation that is optimized for use with Docker?

@clausnagel you are right, the initial purpose of this PR is indeed for facilitating the creation of Docker image. I agree to rename the task minimized to docker to make things straightforward. Please check the commit b4b414f which renames the task and further optimzes the size of the distribution contents for use with Docker.

@clausnagel you are right, the initial purpose of this PR is indeed for facilitating the creation of Docker image. I agree to rename the task minimized to docker to make things straightforward. Please check the commit b4b414f which renames the task and further optimzes the size of the distribution contents for use with Docker.

Thanks, @yaozhihang. For me, it looks good now.

Thanks, @yaozhihang. For me, it looks good now.


[Feature Request] Use std::function as ConnectionFilter rather than just using an enum

Thanks for this amazing library.
ImNodeFlow is very easy for me to use.
I have some ideas regarding the enum "ConnectionFilter".
I need various types of nodes for complex pipeline design.
My nodes might have nested relationships (parent/children).
I hope the ConnectionFilter can be a std::function that determines whether the nodes are connectable or not (based on port type or parent type), rather than just using an enum.
Not sure if anyone else has any other ideas?

Sorry for my poor English skill,
I'm not so familiar in ImNodeFlow.
So below of code is just trying to explain the concepts(might be not so smart).
In ImNodeFlow.inl:
Enum as filter (original):
template<class T>
void InPin<T>::createLink(Pin *other)
{
    ...

    if (!((m_filter & other->getFilter()) != 0 || m_filter == ConnectionFilter_None || other->getFilter() == ConnectionFilter_None)) // Check Filter
        return;

    ...
}

Using std::function as filer (new):
using ConnectionFilter = std::function<bool(OutPin* outPin, InPin* inPin)>;

template<class T>
void InPin<T>::createLink(Pin *other)
{
    ...

    ConnectionFilter currFilterFunc = m_filter;
    ConnectionFilter otherFilterFunc = other->getFilter();

    if (currFilterFunc) {
        if (!currFilterFunc(other, this)) {
            return;
        }
    }

    if (otherFilterFunc) {
        if (!otherFilterFunc(other, this)) {
            return;
        }
    }

    ...
}

That means we need to call the two ConnectionFilter functions for the pins between the link.
It cannot be connected if ANY ConnectionFilter of the pin rejects it.
For those original enum values like ConnectionFilter_Integer and ConnectionFilter_Numbers, we can add some default ConnectionFilters written in std::function to check whether the "typeid(T) of InPin/OutPin" is the same for pins between the link.

Sorry, I meant to ask for a practical use case where such a filter could be useful. Knowing how it will be used will make implementation easier. Just a simple example of nodes and pins interaction to show the use of function filters

I have a GPU sampling function node (perhaps written in GLSL, where the value is merely a cache in the graphics card), the OutPin<Float32> of GPU should not be able to connect to InPin<Float32> of a CPU node (because the value of OutPin<Float32> is in cache of Graphic Card).
And I have others similar cases like it.
Some nodes can be used in certain virtual device or context only.
For download/upload data must to use certain node.
The virtual device/context can be CPU/GPU, different processes, remote computer, etc.
So I need to isolate the nodes by different scope/context except the certain upload/download nodes)

Ok, if you had function filters, ideally what would you check to validate a connection in your use case?

I'm not a native English speaker, so sorry if my expression is not fluent.
Background:
I am trying to re-design my old game engine.
The main purpose is make it more programmable by user and make it can hot-reload when runtime.
I've just started working on it; perhaps I haven't considered it thoroughly enough yet.
If I have function filters, I will check those condition in most of cases:
The context(parent) of node must be the same with other pin.
The data type of pins must be same or convertable(need to determine by other function).
But I carefully considered various scenarios that I might encounter next, there are some special cases...
Sometimes, I will allow "Circular reference" for time-based node that works in frame by frame:
Allowing "Circular reference" can save many nodes and feel more intuitive in this kind of frame swapping cases.
But in most of time I need to reject "Circular reference", so I will use an additional function to check it.
Sometimes, I need to reject the two cases because I want to limit the number of type C nodes because some soft/hard limit (maybe limit by hardware, EX: number of texture samplers in shader):
A,B,C,D are four types of node.
I need to reject them because user can use only 4 C nodes in context:
1:
A -> B -> C -> D -> C -> D -> C -> D
A -> B -> C -> D -> C -> D
2:
A -> B -> C -> D -> C -> D
A -> B -> C -> D -> C -> D
B -> C -> D
So I hope constraint the connectability by certain limitation in different scenarios.
Thank you for your patient reading.

Ok ok, thanks for the detailed explanation

The concept seems to be working
https://github.com/Fattorino/ImNodeFlow/assets/90210751/66bf2575-889c-482d-80f1-e5db25ee1a46
class PickyDisplay : public BaseNode
{
public:
    explicit PickyDisplay()
    {
        setTitle("PickyDisplay");
        addIN<float>("Val", 0.f, [](Pin* out, Pin* in) { return out->getDataType() == in->getDataType() && dynamic_cast<ImFlow::OutPin<float>*>(out)->val() > 4.f; });
        setStyle(NodeStyle::red());
    }

    void draw() override
    {
        ImGui::Text("Value = %.2f;", getInVal<float>("Val"));
        if (getInVal<float>("Val") <= 4.f)
            inPin("Val")->deleteLink();
    }
private:
};

I tried it and it works great!
Thanks!!
That's how I check for circular references. (It hasn't been well tested, no copyright, welcome to use or modify.)
namespace ImFlowEx
{
    using namespace ImFlow;

    using ConnFilterFunc = std::function<bool(Pin*, Pin*)>;

    static auto IsOutNodeInPinsCircularRef(BaseNode* checkingNode, BaseNode* rejectNode) -> bool
    {
        if (rejectNode == checkingNode) {
            return true;
        }
        for (const std::shared_ptr<Pin>& inPin : checkingNode->getIns()) {
            auto link = inPin->getLink().lock();
            if (link) {
                Pin* outPin = link->left();
                if (outPin && IsOutNodeInPinsCircularRef(outPin->getParent(), rejectNode)) {
                    return true;
                }
            }
        }
        return false;
    }

    static auto IsInNodeOutPinsCircularRef(BaseNode* checkingNode, BaseNode* rejectNode) -> bool
    {
        if (rejectNode == checkingNode) {
            return true;
        }
        for (const std::shared_ptr<Pin>& outPin : checkingNode->getOuts()) {
            auto link = outPin->getLink().lock();
            if (link) {
                Pin* inPin = link->right();
                if (inPin && IsOutNodeInPinsCircularRef(inPin->getParent(), rejectNode)) {
                    return true;
                }
            }
        }
        return false;
    }

    static auto ConnFilters_NoCircularRef() -> ConnFilterFunc
    {
        return [](Pin* out, Pin* in) {
            return
                !IsOutNodeInPinsCircularRef(out->getParent(), in->getParent()) &&
                !IsInNodeOutPinsCircularRef(in->getParent(), out->getParent());
        };
    }

    static auto CascadeConnFilters(std::vector<ConnFilterFunc>&& connFilters) -> ConnFilterFunc
    {
        return [vec = std::move(connFilters)](Pin* out, Pin* in) {
            for (const ConnFilterFunc& connFilterFunc : vec) {
                if (!connFilterFunc(out, in)) {
                    return false;
                }
            }
            return true;
        };
    }

    static ConnFilterFunc connFilterSameTypeNoCircularRef = CascadeConnFilters({ ConnectionFilter::SameType(), ConnFilters_NoCircularRef() });
}

// Use it on the node.
class NodePipelineUpdate final : public ImFlow::BaseNode
{
public:
    NodePipelineUpdate(NodeGraphHost& nodeGraphHost)
    {
        setTitle("Pipeline - Update");
        addIN<bool>("Prev.", false, ImFlowEx::connFilterSameTypeNoCircularRef, ImFlow::PinStyle::red());
    }
};

Finished implementation with commit aaaab72


Fix naming of disableStrictSSL to disableStrictSsl

I recently upgraded from 9.3.1 to 12.0.2 and ran into the problem that the request to our swagger couldn't fulfill.
I found out it was because the --disableStrictSSL flag didn't work as intended so I debugged a little and could narrow the issue down to the fact that the --disableStrictSSL arrives as disableStrictSsl after processing the args.

Hi,
kindly asking, are there any updates on this?
@js2me

Problem in file cli/process-option.js, function processFlags (camelCase):
if (!_.isEmpty(longestKey)) {
    name = _.camelCase(
      (isNoFlag ? longestKey.replace('--no-', '') : longestKey).replace(
        /(--?)/,
        '',
      ),
    );
  }


Javascript SIRI requests

So, is there no way to request Bus Monitoring via JS in the SIRI protocol?

@Jees1 If you're asking if I know about any open-source libraries projects for SIRI clients in Javascript, no, unfortunately I don't.

found a solution to what i was making, thanks!

@Jees1 Great! Could you share what you found?

Found a REST api for the system


The way we define ssbos as structs makes indirect rendering hard

To use multi-map-g you need to pass a gpu-array of indirect-commands. However to populate them from a shader they need to be an ssbo and we require ssbos to be a struct.
So for example multi-map-g wants a #<GPU-ARRAY :element-type ELEMENTS-INDIRECT-COMMAND :dimensions (10) :backed-by :BUFFER> but making the ssbo means making the following struct
(defstruct-g (inst-counts2 :layout std-430)
  (arr (elements-indirect-command 10)))

This mismatch sucks. What can we do about it?

Could varjo allow ssbo arguments to be arrays of structs of the std-430 type?

We could make command-array a cepl type and have accessor that expose ssbos and gpu-arrays that shadow each other.
It's a breaking change but could be a nice one. We could also the details of where it's array or element indirect draw which would mean we didnt have to pass in the stream... hmm it seems we still need the vao... well we could store the stream in there and pass it all together.


Update Simplified Chinese translation and add string Format_Compression

Update Simplified Chinese translation
Add language string Format_Compression

Please check out my translation toolkit (#419).

Thank you for the update.
Some questions, having in mind that I have no knowledge about Simplified Chinese:

for singular (blabla1 lines), you added 个 so plural and singular become same. Is it intentional and accepted by everyone? I wonder about that as it was not there in previous translations.
you add the English term e.g. "warp point" because the translated name is rare, do I understand correctly?
Why are all music genre translations removed?

Remarks:

"Fast Fusion" is without dash, from https://en.wikipedia.org/wiki/List_of_ID3v1_Genres

@JeromeMartinez Thank you for your reply.

There's no difference between singular and plural forms in Chinese. 0 apples, 1 apple and 2 apples are just “0/1/2 个苹果”, where “个” is a general unit for apple (like “a piece of”), and “苹果” is apple. In previous translations, the translators were not aware that these are units and will be appended to a number, so they translated the word itself and missed the “个”. Therefore I wrote some notes in the translation kit.
For the English terms, you are right. They are usually mentioned in their English form, so either the Chinese translation cannot let user understand the information correctly, or attaching an English abbreviation will let them get the idea more quickly.
Here are my reasons for removing the genre translations:

The music genre translations were taken from the Traditional Chinese translation (Chinese, Taiwan), so the wording is quite different from that in Simplified Chinese.
The genre names either do not have a common translation, or they have several translations that might be confusing. This is the Wikipedia page for the genres, and you can see many of them do not have a translation, not to mention they are not localized for Simplified Chinese (S. and T. Chinese share the same version of Wikipedia and there is a complex conversion mechanism).

In fact, the language names are also taken from the T. Chinese translation. I spent a lot of time searching for the correct translation in S. Chinese to correct them. It was really painful (even with the help of the Wikipedia page - there are a lot of translation variants).

AFAIK there isn’t a page written in Simplified Chinese which covers all the translation.
Those who care about the genre are usually music professionals. They should have enough knowledge to understand the English names. (similar to the English terms)
Tag editors usually have the genre names untranslated, so it is safe to leave the genre names untranslated.

Thank you for your explanations (and your hard work).
I let the PR open for a few days because I pinged the previous author for comments.
I'll also check the translation kit, it can definitely be useful for others (and me, I was using a old painful code for the merge of files, I may switch to Python... :) ).

@JeromeMartinez Could you take a look at MediaArea/MediaInfoLib#1217? It should be easy to solve.

@stevenlele I am updating language files through https://github.com/MediaArea/MediaInfo/pull/427.
There are new fields to translate ;-).
I use this PR also for merging fixes not relating to Simplified Chinese translation, so your PR will be only about Simplified Chinese translation.
I forked your branch, updated it from master + my PR, and squashed your commits, at https://github.com/JeromeMartinez/MediaInfo/commits/update-s-chinese. If fine for you please update your PR with this modified patch + (if you want) update of new language fields.
By the way, consider this commit in a dedicated branch, it was a proposal of update of Simplified Chinese I forgot to merge, it is conflicting with your PR, maybe you can peek some suggestions from this commit. I won't merge it, just hints for you.

@JeromeMartinez I was planning to include the translation of the new fields in this PR :joy: Well, I'll open a new PR then.
Thanks for the hints.

I was planning to include the translation of the new fields in this PR 😂 Well, I'll open a new PR then.

Oops.
Anyway, the PR was big enough, no big regrets, waiting for the next one. Thank you for you hard work on the Simplified Chinese translation.


Missing endpoints

@brianmuks  I will keep a collection of endpoints that are currently missing or being used in a wrong place.

This is called fetchTopicsBySubjectId_ but we are only returning a single topic https://github.com/SparkEdUAB/sparked-next/blob/0d7192c0e27ab715bc154dd6b62a9267f7904017/src/app/api/topic/index.ts#L260 since this is being/should be used on filters, we should return a list of topics that match the currently selected subject/units --> So it should return an array
This is called fetchUnitBySubjectId_ but it returns an array https://github.com/SparkEdUAB/sparked-next/blob/0d7192c0e27ab715bc154dd6b62a9267f7904017/src/app/api/unit/index.ts#L266 it should be named appropriately to avoid confusion
We should have ability to fetch media content by different fields https://github.com/SparkEdUAB/sparked-next/blob/main/src/app/api/media-content/index.ts

fetch by gradeId -- all basically everything
fetch by unitId -- list of media that belong to the selected unit
fetch by topicId -- list of media that belong to the selected topic

@brianmuks @mikemtdev @YewoMhango

Noted


Add support for left semi and left anti joins

To-do:

[x] Fix expected return columns mismatch
[ ] Fix incorrect merge column name
[ ] Create CPU implementation for leftanti

@sarahyurick thanks for the suggestions!

What's the current best practice for checking if a dask-sql dataframe is cpu or gpu backed without importing cudf?

What's the current best practice for checking if a dask-sql dataframe is cpu or gpu backed without importing cudf?

I think is_cudf_type should work: https://github.com/dask-contrib/dask-sql/blob/f8bf06ca09459cc78426b5a9bc67d870c4d6fba9/dask_sql/utils.py#L49

Codecov Report

Merging #1182 (c7d3a85) into main (f8bf06c) will decrease coverage by 0.57%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main    #1182      +/-   ##
==========================================
- Coverage   81.48%   80.92%   -0.57%
==========================================
  Files          78       78
  Lines        4511     4524      +13
  Branches      828      834       +6
==========================================
- Hits         3676     3661      -15
- Misses        653      670      +17
- Partials      182      193      +11

Impacted Files
Coverage Δ

dask_sql/physical/rel/base.py
93.18% <100.00%> (+0.32%)
:arrow_up:

dask_sql/physical/rel/logical/join.py
94.89% <100.00%> (-1.15%)
:arrow_down:

... and 8 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


The max size Block blob can support is more than 4.7 TB

"Block blobs can be as large as 4.7 TB" is not correct.
"Block blobs store text and binary data. Block blobs are made up of blocks of data that can be managed individually. Block blobs can store up to about 190.7 TiB."
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction

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

ID: 6fce90a6-6432-1e22-c60d-23431adfa61f
Version Independent ID: 8d3f6de5-1906-46c2-3cde-cbd134e4f680
Content: Quickstart: Azure Blob storage client library v2.1 for Python
Content Source: articles/storage/blobs/storage-quickstart-blobs-python-legacy.md
Service: storage
Sub-service: blobs
GitHub Login: @normesta
Microsoft Alias: normesta

@huwgeric
Thanks for your feedback! We will investigate and update as appropriate.

@huwgeric
For more information, refer to this article : https://docs.microsoft.com/en-us/azure/storage/blobs/scalability-targets
I'd recommend posting your question in https://azure.microsoft.com/en-us/support/community/ since it's not directly related to the documentation. We'll follow up there. We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

From the table you posted, we can see the “max blob size” are 190.7TB, 4.75TB and 195Gb in different service version.
But on the pagehttps://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python-legacy which I filed issue with, it says:
“Blob storage supports block blobs, append blobs, and page blobs. Block blobs can be as large as 4.7 TB”
Which is not accurate.
It can be:
“Blob storage supports block blobs, append blobs, and page blobs. Block blobs can be as large as 4.7 TB in service version xxx through version xxx”
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows
From: @.>
Sent: Wednesday, September 14, 2022 8:33 AM
To: @.>
Cc: @.>; @.>
Subject: Re: [MicrosoftDocs/azure-docs] The max size Block blob can support is more than 4.7 TB (Issue #98218)
@huwgerichttps://github.com/huwgeric [image] https://user-images.githubusercontent.com/80444138/190198402-743c9ed5-3a7f-41e0-a00c-02d0532ff99d.png
For more information, refer to this article : https://docs.microsoft.com/en-us/azure/storage/blobs/scalability-targets
I'd recommend posting your question in https://azure.microsoft.com/en-us/support/community/ since it's not directly related to the documentation. We'll follow up there. We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/98218#issuecomment-1246947200, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOHTBK4QQZBL6XP4DU7ZNETV6HV4JANCNFSM6AAAAAAQIJQRYU.
You are receiving this because you were mentioned.Message ID: @.***>


[KYUUBI #3385] Set spark.kubernetes.executor.podNamePrefix if missing

Why are the changes needed?
In Spark, if Kubernetes executor pod is not conforming to Kubernetes naming conventions, a user gets the next error:
org.apache.kyuubi.KyuubiSQLException: org.apache.kyuubi.KyuubiSQLException: java.lang.IllegalArgumentException: 'kyuubi-connection-spark-sql-USER-8fc2847d-b65d-4a46-bb41-4a86385cb61c-988995839f29e15f' in spark.kubernetes.executor.podNamePrefix is invalid.
It can be fixed by manually setting 'spark.kubernetes.executor.podNamePrefix' in configurations, but since you cannot dynamically set a value for every user to contain their username, it will miss this essential information that helps to distinguish executors one from another. I suggest Kyuubi server adds this config automatically if it's not coming from user.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[X] Run test locally before make a pull request

Hi @ulysses-you @yaooqinn,
could you please take a look at this and let me know wdyt? thanks

Codecov Report

Merging #3590 (dcef3e1) into master (f3244ad) will decrease coverage by 0.06%.
The diff coverage is 100.00%.

:exclamation: Current head dcef3e1 differs from pull request most recent head 8b91109. Consider uploading reports for the commit 8b91109 to get more accurate results

@@             Coverage Diff              @@
##             master    #3590      +/-   ##
============================================
- Coverage     51.86%   51.79%   -0.07%
  Complexity       13       13
============================================
  Files           484      483       -1
  Lines         27074    27000      -74
  Branches       3782     3769      -13
============================================
- Hits          14042    13985      -57
+ Misses        11664    11654      -10
+ Partials       1368     1361       -7

Impacted Files
Coverage Δ

...rg/apache/kyuubi/engine/spark/SparkSQLEngine.scala
78.04% <100.00%> (+2.14%)
:arrow_up:

...he/kyuubi/plugin/spark/authz/util/AuthZUtils.scala
52.50% <0.00%> (-6.60%)
:arrow_down:

.../apache/kyuubi/jdbc/hive/JdbcConnectionParams.java
48.14% <0.00%> (-3.58%)
:arrow_down:

...c/main/java/org/apache/kyuubi/jdbc/hive/Utils.java
35.95% <0.00%> (-1.82%)
:arrow_down:

...uthz/ranger/RuleApplyRowFilterAndDataMasking.scala
90.47% <0.00%> (-1.20%)
:arrow_down:

.../apache/kyuubi/plugin/spark/authz/v2Commands.scala
89.69% <0.00%> (-0.94%)
:arrow_down:

.../kyuubi/plugin/spark/authz/PrivilegesBuilder.scala
69.32% <0.00%> (-0.19%)
:arrow_down:

...ommon/src/main/scala/org/apache/kyuubi/Utils.scala
75.71% <0.00%> (-0.18%)
:arrow_down:

...apache/kyuubi/engine/JpsApplicationOperation.scala
77.41% <0.00%> (ø)

...he/kyuubi/plugin/spark/authz/IcebergCommands.scala

... and 7 more

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

hi @zwangsheng @ulysses-you, thanks for your input, indeed if there is more than one connection from a user - conflict would occur. I've added the Instant part and shortened the first part just to meet the limitations on the length. Leaving it as is plus adding a UUID would produce the same error as reported here. WDYT? Is Instant.now().toEpochMilli() a safe choice?

btw, I tried setting spark.kubernetes.executor.podNamePrefix to something simple like 'kyuubi-sql' and connect as different users and there were no conflicts. Spark just increases the suffix '-exec-X' for every new pod. I.g. kyuubi-sql-exec-1 ... kyuubi-sql-exec-30 (if every user has 10 executors)

btw, I tried setting spark.kubernetes.executor.podNamePrefix to something simple like 'kyuubi-sql' and connect as different users and there were no conflicts. Spark just increases the suffix '-exec-X' for every new pod. I.g. kyuubi-sql-exec-1 ... kyuubi-sql-exec-30 (if every user has 10 executors)

Hi @hanna-liashchuk , sry for reply late. Not quite sure what you mean. Let me explain a little, according to the purpose of this PR, we want Kyuubi to help each spark sql engine to set up a Kubernetes-Compliant executor pod name prefix, so that for a spark sql engine, whatever user comes to connect afterwards will be the name of the user created at the beginning, for example If the spark user creates the engine, then the executor pod prefix should be kyuubi-spark-sql-XXX-exec-XXX.

@zwangsheng Sorry, my latter comment was confusing. Indeed, the goal as you said. I meant that if 'spark.kubernetes.executor.podNamePrefix' doesn't have a distinct value, it wouldn't cause any errors or unexpected behavior as Spark will just increment the exec number.
I picked kyuubi-${user}-${Instant.now().toEpochMilli} cause in most cases it would be distinct and still conform to the Kubernetes naming conventions, adding UUID would cause the lengths of the pod name to be longer than allowed.

Thanks, merging to master

Reverted

master https://github.com/apache/incubator-kyuubi/commit/223e54e9b32a422a6e486108cc4e463de4a5c17c
branch-1.6 https://github.com/apache/incubator-kyuubi/commit/36121579e212abd41ecbbbb5aee62805488d94b8

cc @cxzl25, sorry I think this is a blocking issue because it affects users who use Kyuubi w/ Spark on K8s as long as the user name contains char not allowed in https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names, e.g. "_"


Add support for Ruby 1.9.3

Thanks for the PR. Ruby 1.9.3 support was dropped some time ago. I don't want to support it in Gibbon. https://www.ruby-lang.org/en/news/2015/02/23/support-for-ruby-1-9-3-has-ended/

Oh, please sorry. I made mistake when choosing base fork.

No problem. Thanks!


docstrings: Use raw to prevent literal escapes escaping

Can we please get this merged in? This is breaking my dev environment.

This would be a great addition indeed. Is any help needed to maintain the repo? I see the last commits are now from 3 years ago.

https://github.com/miracle2k/webassets/issues/554
https://github.com/getpelican/pelican/issues/3417


Use the UI store properties to set the layout properties

Fixes

Fixes #975 by @sarayourfriend
Fixes #977 by @sarayourfriend
Fixes #885 by @sarayourfriend
Description

This PR replaces the isMinScreen composable used to detect whether we should use the desktop or mobile layout with the state values saved in the ui store (in PR #1955). This removes flickering during the re-rendering for most of the users that were caused by first rendering the mobile UI and changing it into a desktop layout if the screen is wide enough.
The two layouts (default and blank) use isMinScreen composable to update the cookie if the screen width changes. This is done in the useLayout composable.
This PR also refactors the code that shows or hides the filters. Instead of the localStorage, it uses the UI cookie for saving the state of the filters. By default, we always have the filters open on a desktop layout. If the filters are dismissed on a desktop layout, this is saved in a cookie.
Screenshots
Currently, when the search page is loaded client-side, it renders the correct layout when loading on desktop. However, when loading the same page on the server-side, it loads the mobile layout first and turns it into the desktop layout.
With a cookie-based approach, the mobile layout is loaded on desktop width only on the first-time load. All subsequent loads with the correct cookie are done with the correct layout.
Without cookie
On SSR, the homepage content switcher is shown after the page is rendered. The search page on CSR is loaded with the correct layout. On SSR (after page reload), the mobile header is loaded first (with a smaller content switcher button, and no page menu button), and then replaced with the desktop one.
https://user-images.githubusercontent.com/15233243/200223500-ecba78da-3c83-4150-b6a8-9e90fe29c8c7.mp4
With cookie
On SSR, the desktop content switcher is shown on the page load. The search page on CSR is loaded with the correct layout. On SSR, the search page is loaded with the correct layout because the cookie has been set already. There is a problem with the sidebar showing only after all of the rendering is done. This is caused by using Teleport for the sidebar content. I'll open a new issue to remove it.
https://user-images.githubusercontent.com/15233243/200223510-65cc506b-1326-41d3-b155-2645ec4b7049.mp4
Testing Instructions

Open 'http://localhost:8443/search/?q=cat' on the desktop width. You can throttle the network speed to better see the changes in this PR:

Instead of first loading the mobile layout, and then replacing it with the desktop layout, you get the desktop layout right away (or on the second load, after the cookie has been saved).
You can also try opening the site on a narrow screen, see the saved cookie, and then open the site in a different tab on a wide screen, and see that the cookie changes, and the layout is updated.
Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[x] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@obulat Will you want a re-review of this? It seems like some things have changed significantly and I see changes being pushed regularly here, but I'm not sure when/if you're looking for another review.

Confused if/why isBreakpoint works given what Zack pointed out

Could you clarify which point that is?

@obulat I suspect Sara is referring to this comment about '>' vs. '>=':
https://github.com/WordPress/openverse-frontend/pull/1956/files/66016f81b188762cc39278b759416ac7d31d88ad#r1035469843


Codeowners inactive

Recently we set up a codeowners file.
None of the code owners does code reviews excepting @Reecepbcups.
We should probably get rid of that thing. Having a code owner's file that is full of absentees helps no one.
Code reviews have ceased happening, except by me and @Reecepbcups.

We are not absent

Why are there no reviews sir?
It has been weeks.
The code reviews do not happen.

Now it's clear that @dimiandre isn't inactive.

Do not see a reason this should be left open. If we have issues with reviews I will talk with Jack and see if I can get someone from SL to help & get added to code owners


Repository's fork cannot be turn private

Hi, I did a fork from the main branch and I were unable to turn the repository private.
I was looking some info and I can duplicate the repository to create a private one from the beginning, but will not appear as a fork of the main repo.
There is any workaround for this to participate?

The competition is not yet officially launched.
However, I turned this repository to a template repository, so that you should be able to create your own private repository from this template repository.


Fix iteration count

Sorry this caused the trainer run one more iteration than requested.
@deerzq @jq

👍


feat: a11y improvement

increase accessibility
accessible
= more people visit the site = profit (probably wrong)
= better lighthouse score (real)

@HeyLoon 有兩句日文看你要不要翻譯


Add timm dependency

I am adding the segment-anything-hq package to conda-forge. https://github.com/conda-forge/staged-recipes/pull/23663
Just noticed that the segment-anything-hq PyPI package is mssing the timm dependency, which causes issues for the conda-forge build. timm should be added.

import: 'segment_anything_hq'
Traceback (most recent call last):
File "/home/conda/staged-recipes/build_artifacts/segment-anything-hq_1691897321239/test_tmp/run_test.py", line 2, in
import segment_anything_hq
File "/home/conda/staged-recipes/build_artifacts/segment-anything-hq_1691897321239/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/segment_anything_hq/init.py", line 7, in
from .build_sam import (
File "/home/conda/staged-recipes/build_artifacts/segment-anything-hq_1691897321239/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/segment_anything_hq/build_sam.py", line 11, in
from .modeling import ImageEncoderViT, MaskDecoderHQ, PromptEncoder, Sam, TwoWayTransformer, TinyViT
File "/home/conda/staged-recipes/build_artifacts/segment-anything-hq_1691897321239/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/segment_anything_hq/modeling/init.py", line 13, in
from .tiny_vit_sam import TinyViT
File "/home/conda/staged-recipes/build_artifacts/segment-anything-hq_1691897321239/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.11/site-packages/segment_anything_hq/modeling/tiny_vit_sam.py", line 15, in
from timm.models.layers import DropPath as TimmDropPath,
ModuleNotFoundError: No module named 'timm'

Thanks. We merged the request.

@lkeab in addition, I think it would be great to push a new version to https://pypi.org/project/segment-anything-hq/ Thanks!


chore(tests): fix assertion for TestGetEndpoints and refactor assertion for TestKnativeSelectSplit

What this PR does / why we need it:
This PR fixes assertion (and not properly configured test cases) for TestGetEndpoints to check not only the number of endpoints, but theirs content too. Moreover for TestKnativeSelectSplit switches to assertion library instead of combination of reflect.DeepEqual & t.Errorf.
Which issue this PR fixes:
It's been spotted during working on https://github.com/Kong/kubernetes-ingress-controller/issues/3916

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


Adding git stash drop for issue 76195

This is a fix for issue #76195

@joaomoreno should the menu item have "..." since this is an action that results in the drop-down menu to select the stash to drop, not sure about the style here.

@joaomoreno should the menu item have "..." since this is an action that results in the drop-down menu to select the stash to drop, not sure about the style here.

Yeah, that's the usual pattern.

Ok, done. Let me know if there are other changes you recommend.

This is really a great feature. I am looking forward to use this feature in our everyday's workflow.

This is really a great feature. I am looking forward to use this feature in our everyday's workflow.
Will it also enable selective drop of stashed contents?

Yes! The way I've designed this you can selectively drop a stash. Waiting on @joaomoreno to approve or request more changes.

There were more issues which I've commented on. But I went ahead and fixed them and merged the PR. Thanks! :beers:


Feature request: allowing ignoring case in tokens

Being able to do something like that would be neat.
#[token("hello", ignore_case = true)
Hello,

Does an equivalent to this already exist? Would it be a good first issue? (I would like to try and implement it :) )

I'd go for just #[token("hello", ignore_case)].
It's all contained in the proc macro here, should be straight forward to mutate the definition given the flag, one thing to keep in mind is that this will have to work with both token and regex attributes.

I'd go for just #[token("hello", ignore_case)].
It's all contained in the proc macro here, should be straight forward to mutate the definition given the flag, one thing to keep in mind is that this will have to work with both token and regex attributes.

I started to think about the implementation but I'm running in a little issue here:
How do we discriminate between ignore_case, a lone ident and ignore_case a callback function in first position? Do I filter certain keywords parse_callback ?
A way to fix this issue without needing to think about callbacks may be to change the syntax into something like
#[token, ignore(case)]
Hello,

and just treat ignore(case) into a Nested::Named("ignore", NestedValue::Group("case")).
Also, unrelated to the issue: would a ignore_ascii_case variant be useful ? Only checking ascii case is much faster may preferred in most case.
The previous syntax could also be used with this variant.
#[token, ignore(ascii_case)]

But I will be honest, I still prefer the "flag" version, with just #["hello", ignore_case].
Any thought about that?

I started to think about the implementation but I'm running in a little issue here:
How do we discriminate between ignore_case, a lone ident and ignore_case a callback function in first position? Do I filter certain keywords parse_callback ?
A way to fix this issue without needing to think about callbacks may be to change the syntax into something like
#[token, ignore(case)]
Hello,

and just treat ignore(case) into a Nested::Named("ignore", NestedValue::Group("case")).
Also, unrelated to the issue: would a ignore_ascii_case variant be useful ? Only checking ascii case is much faster may preferred in most case.
The previous syntax could also be used with this variant.
#[token, ignore(ascii_case)]

But I will be honest, I still prefer the "flag" version, with just #["hello", ignore_case].
Any thought about that?

Ah, you are right, a bare name assumes it's a function ref. ignore(case) and optionally ignore(ascii_case) sound good to me.

Ah, you are right, a bare name assumes it's a function ref. ignore(case) and optionally ignore(ascii_case) sound good to me.

#198 merged


Is there a plan to support translating GLES to other languages?

Guessed OK, since GLES could be treated as a subset.

Sorry to get back to you so late.
Nope, I'm not planning to support GLES. This project is meant to generate GLES and other languages from GLSL and not the other way around. actually, GLSL is far more featured than GLES subset, making it a more sane choice to translate to others.


MCO-617 Assign version in-tree

Here we change version assignment from a release machinery task to a manual one, for consistency with other PuppetLabs projects.

CLA signed by all contributors.

FWIW - this looks good to me.  The only other thing I would say is that the rake tasks used to generate JIRA tix for an MCO release should be updated so that RelEng knows to bump the  file instead of simply adding an annotated git tag.
/cc @kylog @haus

Apart from I still want there to be an annotated tag so I can continue to do things like this: https://github.com/puppetlabs/marionette-collective/compare/2.7.0...2.8.0

@richardc agreed - I should have been a little more clear.  We still wanted the annotated tag for sure.

Releng doesn't bump the file, that's $DEVELOPER, https://github.com/puppetlabs/packaging/blob/master/tasks/tickets.rake#L292-L294  and I'm fine with that.

Agreed. I was thinking that jira task (done by dev) would cover the version bump.
:+1:

Which is to say, we already have that task getting created by the release-ticket maker, it's just in previous MCollective releases I've been closing it with 'the tooling does this'

:+1: just wanted to make sure nothing slips through the cracks during release - but looks like we're good already!

@richardc merged. But I don't know your procedure for merge-ups to master/etc, so I did nothing as far as merge-up.


baklava: fix cpu hogging

bump globkey
potentially fix cpu hogging

@amitojsingh366 did you make this a draft on purpose?

@benawad yes, @StratusFearMe21 is working on globkey the rust based keybind listener we are using (he's adding optimizations), he needs some time so this is draft till then.


How to set scrollPosition to auto

Description
No response

When I use the browser to move forward and backward, I want the scroll bar to maintain the current scrolling position.

https://vike.dev/clientRouting#settings
https://brillout.github.io/rules#try
Don't mis-use GitHub issues for asking questions.

Iti is not work

Minimal reproduction welcome.

scrollPosition is set to automatic, but I looked at all APIs and there is no corresponding option or setting.

@wanglanglang0318, have you try like this?
Link


use cleo in combination with logging

Hey,
do you have any plans on how to use cleo's self.line and verbosity levels in combination with logger, so log entries might get written (and colored) by a custom cleo handler?

I had something like click-log in mind.

It's easy to write logging.Handler: just take clikit's IO and check verbosity before calling write_line:
from clikit.api.io import flags as verbosity

_levels = {
    logging.CRITICAL: verbosity.NORMAL,
    logging.ERROR: verbosity.NORMAL,
    logging.WARNING: verbosity.NORMAL,
    logging.INFO: verbosity.VERY_VERBOSE,
    logging.DEBUG: verbosity.DEBUG,
}

class ClikitHandler(logging.Handler):
    """Logging handler that redirects all messages to clikit io object."""

    def __init__(self, io, level=logging.NOTSET):
        super().__init__(level=level)
        self.io = io

    def emit(self, record: logging.LogRecord):
        level = _levels[record.levelno]
        if record.levelno >= logging.WARNING:
            text = record.getMessage()
            self.io.error_line(text, flags=level)
        elif self.io.verbosity >= level:
            text = record.getMessage()
            self.io.write_line(text)

    @classmethod
    def setup_for(cls, name, io):
        log = logging.getLogger(name)
        log.setLevel(logging.DEBUG)
        log.handlers = [cls(io)]
        log.debug("Logger initialized.")

Much harder, IMO, is to get that IO between IO initialization and running command. I solved this by calling ClikitHandler.setup_for right after ApplicationConfig.create_io():
from cleo.config.application_config import ApplicationConfig
from hypai.logging import ClikitHandler

class App(cleo.Application):
    def __init__(self, config=None):
        super().__init__(config=config or AppConfig())
        self.add(BuildDebian())

class AppConfig(ApplicationConfig):
    def __init__(self):
        super().__init__("hypai", version=__version__)

class LoggingAppConfig(AppConfig):
    def create_io(self, *args, **kwargs):
        io = super().create_io(*args, **kwargs)
        ClikitHandler.setup_for("hypai", io)
        return io

def main():
    config = AppConfig()
    app = App(config=config)
    app.run()

P.S.: this is not necroposting, I just want to help others struggling with lack of documentation about CliKit's IO and Cleo-Clikit integration.

Actually it is exactly what I was looking for. Thanks @kam1sh !


Add type generic to Config

@segphault I'm not sure if we want to convolute our types in this way just to support Next.js (I'm actually leaning towards no…), but wanted to throw up this PR for consideration to solve https://github.com/markdoc/markdoc/issues/477
If you don't think we should go this direction, can you comment in the original thread and close it?
Closes https://github.com/markdoc/markdoc/issues/477

I think I'm good with this too. Sorry for the delay looking at it!