JWT plugin also blocks OPTIONS pre-flight messages

Summary
Current the JWT plugin also blocks OPTIONS requests. Many libraries don't give the user the option to specify headers for the OPTIONS pre-flight. I.E. Angular HTTP module
Steps To Reproduce

$ curl -k -X OPTIONS https://KONG_URL:8443/API
{"message":"Unauthorized"}

Additional Details & Logs

Kong version 0.10.2
Operating System centos

Workaround
Currently you append ?jwt=.... to your URLs along with configuring the authorization header, but that makes the urls super ugly

workaround: https://github.com/Mashape/kong/pull/1535#issuecomment-308876264

@Tieske Maybe I didn't look closely enough, but can you apply the plugin to all APIs and then remove it for certain APIs (like for options?). Ideally we don't want the overhead/risk of having to remember to apply to all new APIs

@jamestenglish currently there is no negative model for global plugin assignment (e.g., there is no way to apply a plugin to all execept n APIs). This doesn't make the workaround noted above any less valid, though :)

@p0pr0ck5 , Just a little clarification on your workaround:

For now, one could workaround this by creating a separate API that forwards to the same upstream, handling only OPTIONS requests, that does not have this plugin enabled.
Does this mean i need to PATCH my original API limiting it's methods to exclude OPTIONS and then add this addtional API, or can i have 2 api's with the same hosts both serving OPTIONS and one get prioritized over the other?

it would be nice to know a little detail as to which API is chosen to serve a given request

@lucastheisen Please see the docs https://getkong.org/docs/latest/proxy/


Clan tier bonus bonus increase

Began as an idea to attempt to get closer to what it was in the last game:
Suggestion: Doubling or tripling bonuses
If the bonus says +1, to make it more than +1, perhaps a +2 or +3.
Bonus suggestions to increase, or to add:
Companion limit increased.
Workshop limit increased.
Addendum: I tried to make this work with console commands, hence why I am posting it here since I failed. Apparently companions added through console crash the game when used in leadership roles (to be exact, caravan leaders)

Some sort of multiplier, like a difficulty option slider... Ok, sure.

I suggest you make these as an optional mod since this is how the game was designed, The original requests are to fix bugs or to enhance the game not make the game easier by lessening the difficulty but this is your mod and your choice, but I want TW to recognize your ability to fix problems.

I suggest you make these as an optional mod since this is how the game was designed, The original requests are to fix bugs or to enhance the game not make the game easier by lessening the difficulty ### but this is your mod and your choice, but I want TW to recognize your ability to fix problems.

mod, modification, alteration of initial function whether it was intended or by mistake. Relax my guy, every group starts the same and ends the same. Tackle errors, followed by improvements.

Yeah sorry about that I tend to get a little defense of good work and have
experience with seeing it get derailed and go belly up over going in the
wrong direction. So I do apologize if I said anything wrong.
Thanks for your support.
On Mon, Apr 6, 2020, 3:07 AM johnshepardn7117<EMAIL_ADDRESS>wrote:

I suggest you make these as an optional mod since this is how the game was
designed, The original requests are to fix bugs or to enhance the game not
make the game easier by lessening the difficulty ### but this is your
mod and your choice, but I want TW to recognize your ability to fix
problems.
mod, modification, alteration of initial function whether it was intended
or by mistake. Relax my guy, every group starts the same and ends the same.
Tackle errors, followed by improvements.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Tyler-IN/MnB2-Bannerlord-CommunityPatch/issues/5#issuecomment-609604908,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFZ7JN567AEGB52EHDS5Z6DRLF5TDANCNFSM4L5RNDFA
.


How to prepare HANA, express edition environment for tutorials

xs login -u xsa_admin -p
yields in command not found:
If 'xs' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf xs
You should provide a suitable command substitute.

Either you do not have xs installed (that is, you have a server-only version) or you have not done sudo su -hxeadm previously.  I'll review the tutorial to make this more clear though. Thanks for the feedback.


Fix JS error on cannot read property length of undefined (postListIds)

Summary
Got an error after leaving all teams.  It breaks as all white screen only with console error of:

Ticket Link
n/a but Cypress test got it [link to test report]

@saturninoabril That component should always mount with postListIds because on mount we use that data to define the scroll position. I am gonna look into the cause of this so we have to keep this PR on hold for now

@sudheerDev Sure, maybe also look if we can make postListIds: PropTypes.array, as required.

@sudheerDev Sure, maybe also look if we can make postListIds: PropTypes.array, as required.

Make sense i will do that too.

@saturninoabril PR here https://github.com/mattermost/mattermost-webapp/pull/3106


avoiding empty RDF literals while converting CSV?

Hi!
While converting CSV/TSV files to RDF that contain som rows with empty cells for certain columns that should be used as input for the generation of RDF literals, I noticed that the RML converter does not ignore these empty cells but creates empty RDF literals. Is there an option to override this, so that no triples are generated with empty RDF literals? Perhaps this should even be the default setting?
Example TSV:
U1	D1-en	D1-nl
123	some english description of 123	een nederlandstalige beschrijving van 123
456		een nl beschrijving van 456

Corresponding RML mapping:
<#CSVW_source1> a csvw:Table ;
   csvw:url "empty_values.tsv" ;
   csvw:dialect [
		a csvw:Dialect ;
		csvw:delimiter "\t"
   ] .

<#mapping-D1-functionOnSubject> a rr:TriplesMap;
	rml:logicalSource [
		rml:source <#CSVW_source1> ;
		rml:referenceFormulation ql:CSV
	] ;
	rr:subjectMap
	[
		rr:template "https://mydomain.org/data#{U1}" ;
		rr:class owl:Class
	] ;
	rr:predicateObjectMap [
		rr:predicate rdfs:label ;
		rr:objectMap
		[
			rml:reference "D1-en" ;
			rr:language "en"
		]
	] ;
	rr:predicateObjectMap [
		rr:predicate rdfs:label ;
		rr:objectMap
		[
			rml:reference "D1-nl" ;
			rr:language "nl"
		]
	] .

Results in (note the second last line with the empty RDF literal string):
<https://mydomain.org/data#123> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class>.
<https://mydomain.org/data#123> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://w3id.org/dot#ClassifiedDamage>.
<https://mydomain.org/data#123> <http://www.w3.org/2000/01/rdf-schema#label> "some english description of 123"@en.
<https://mydomain.org/data#123> <http://www.w3.org/2000/01/rdf-schema#label> "een nederlandstalige beschrijving van 123"@nl.
<https://mydomain.org/data#456> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class>.
<https://mydomain.org/data#456> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://w3id.org/dot#ClassifiedDamage>.
<https://mydomain.org/data#456> <http://www.w3.org/2000/01/rdf-schema#label> ""@en.
<https://mydomain.org/data#456> <http://www.w3.org/2000/01/rdf-schema#label> "een nl beschrijving van 456"@nl.

Yes, an RML processor can ignore these empty cells if the right predicate is used.
R2RML provides rr:template which performs some additional checks and
transformations based on the value, which is not the case for rml:reference.
The latter just reference to the value and uses it directly.
You can find more information about this difference in the R2RML and RML spec:
https://rml.io/specs/rml/#from-template
This issue is related to https://github.com/RMLio/rmlmapper-java/issues/59.
If you change rml:reference to rr:template, you get the desired result.
I did this already for your mapping rules:
@prefix rr:   <http://www.w3.org/ns/r2rml#> .
@prefix rml:  <http://semweb.mmlab.be/ns/rml#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ql:   <http://semweb.mmlab.be/ns/ql#> .
@prefix csvw:   <http://www.w3.org/ns/csvw#> .
@prefix owl:    <http://www.w3.org/2002/07/owl#> .
@base <http://example.com/> .

<#CSVW_source1> a csvw:Table ;
   csvw:url "empty_values.tsv" ;
   csvw:dialect [
		a csvw:Dialect ;
		csvw:delimiter "\t"
   ] .

<#mapping-D1-functionOnSubject> a rr:TriplesMap;
	rml:logicalSource [
		rml:source <#CSVW_source1> ;
		rml:referenceFormulation ql:CSV
	] ;
	rr:subjectMap
	[
		rr:template "https://mydomain.org/data#{U1}" ;
		rr:class owl:Class
	] ;
	rr:predicateObjectMap [
		rr:predicate rdfs:label ;
		rr:objectMap
		[
			rr:template "{D1-en}" ;
			rr:language "en"
		]
	] ;
	rr:predicateObjectMap [
		rr:predicate rdfs:label ;
		rr:objectMap
		[
			rr:template "{D1-nl}" ;
			rr:language "nl"
		]
	] .

Which gives the following results with the RML Mapper:
<https://mydomain.org/data#123> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class>.
<https://mydomain.org/data#123> <http://www.w3.org/2000/01/rdf-schema#label> "some english description of 123"@en.
<https://mydomain.org/data#123> <http://www.w3.org/2000/01/rdf-schema#label> "een nederlandstalige beschrijving van 123"@nl.
<https://mydomain.org/data#456> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class>.
<https://mydomain.org/data#456> <http://www.w3.org/2000/01/rdf-schema#label> "een nl beschrijving van 456"@nl.

Another approach is to make use of FnO functions.
You can check if the length of the string > 0 and use it as a condition to
execute this rr:predicateObjectMap or not.
A list of all available functions in the RML Mapper can be found here:
https://rml.io/docs/rml/data-retrieval/

thanks for the clear answer! I didn't know that rr:template can also be used for creating literals!

Nice! This also works for empty XML elements.


Fix for false warning "Missing resource string: 'undefined'"

Escaped pipe character in Regex pattern to prevent it being interpreted as OR
This commit fixes issue #5

This change now correctly identifies {{'TEXT_SEARCH_PLACEHOLDERdddd' | translate }}" but doesnt identify {{'TEXT_SEARCH_PLACEHOLDERdddd' | translate}}"
Note the lack of space after '| translate'

I have incorporated this fix suggestion into PR #7. Thanks


from tensorboard import SummaryWriter wrong

this file https://github.com/apache/incubator-mxnet/blob/master/python/mxnet/contrib/tensorboard.py does not work any more,
because new tensorboard does not have a Class named SummaryWrite in writer.py
how could I use tensorboard now?

It's not hard to handle the tensorboard summary with python code,  here is an example:
train_writer = SummaryWriter(cfg.train_logdir)
eval_writer = SummaryWriter(cfg.eval_logdir)
train_writer.add_scalar("loss", train_mloss, count)
train_writer.add_scalar("miou", train_miou, count)
eval_writer.add_scalar("loss", eval_mloss, count)
eval_writer.add_scalar("miou", eval_miou, count)

tensorboard has been changed to refer to the TensorFlow's TensorBoard in PyPI.

@sandeep-krishnamurthy please add labels Breaking, thanks!

@qingzhouzhen Can this issue be closed now since https://github.com/apache/incubator-mxnet/pull/11426 has been merged?


Foundations --> CNN clarifications

Under Modelling there is a sequence of 3D diagrams showing the flow of shapes. It seems that the vocab_size dimension disappeared after the convolution step. From the earlier gifs showing convolution, they only use integers in each cell instead of a one hot encoded vector. I was hoping for some explanation of where the vocab_size dimension went during convolution, like what kind of aggregation happened there.

If there were annotations of the shapes as pytorch requires (including the manual axis 1,2 transpose) under each step will be very helpful. I had been trying to see the shapes throughout the flow using torchsummary.summary(model,(500,8,1)) but no matter what pattern i try it gives ValueError: too many values to unpack (expected 1).
It is breaking at user-defined code which is strange because i thought it should be torchsummary's issue. If i try to turn this 3-tuple into a single integer, then this user-code passes but torchsummary breaks saying integer is not iterable.

Does torchsummary work by sending random values through the pipeline to get the shapes and that's why it has to run user-code and that's why i see this unpacking error? How do I use properly torchsummary to view CNN shapes?
     19
     20         # Rearrange input so num_channels is in dim 1 (N, C, L)
---> 21         x_in, = inputs
     22         if not channel_first:
     23             x_in = x_in.transpose(1, 2)

Since the filter has the same depth as the input, the output will now have the depth as the # of filters. This diagram might provide more insight: https://raw.githubusercontent.com/GokuMohandas/MadeWithML/main/images/foundations/cnn/conv.png
I remember trying to use torchsummary couple years and ran into issues so I removed them here. I'll take a look to see if any changes have been made to make this possible.


refactor: Refactor contractInfo assignment and add null check for chainSlug

📝 Changed routes:

/[chainSlug]/[...paths]

(view full size)

Commit 86da91588555ebdf7a6011fcfd9b6999c747bae6 (https://thirdweb-4yvd26imr.thirdweb-preview.com).


TernaryApp does not work

Repro steps:

Open RStudio
Install Ternary from CRAN
Load Ternary package
Type TernaryApp() in RStudio console

Error message:
Error in colourInput("col", "Background colour", "#ffffff") :
  could not find function "colourInput"

RStudio version: Version 1.4.1714
R version 4.1.0 (2021-05-18)

Dear gabett
RDocumentation only provides documentation on the packages and does not maintain the packages it lists.
Hence it would be best if you would ask your question in the respective package respository: https://github.com/ms609/Ternary
Thanks
Lode


Events of type "repository" now avoid checking hook id.

Summary
Events of type "repository" having "action" delete must trigger the deletion of registered repositories. Given we use the same deserialization struct for both "repository" and "meta" events, we erroneously checked the received hook id against the one stored in the database, thus consistently failing.
Added fix, test case, and improved logs.
Fixes #3461
Change Type
Mark the type of change your PR introduces:

[X] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[X] Refactoring or test improvements (no bug fixes or new functionality)

Testing

reproduced issue locally
added test case

Review Checklist:

[X] Reviewed my own code for quality and clarity.
[X] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[X] Included tests that validate the fix or feature.
[X] Checked that related changes are merged.

coverage: 52.408% (+0.04%) from 52.365%
when pulling af7ed629a2a8d4da996f34c5532691224454b24a on issue-3461
into 300d8575928b8312c6dc64fd3dcff6e676ad51f1 on main.


Stage to Main Release

Sync main with stage
Test URLs:

Before: https://main--express--adobecom.hlx.page/express/
After: https://stage--express--adobecom.hlx.page/express/?martech=off

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

Comparison is base (508baf0) 31.72% compared to head (4222a6f) 31.89%.
Report is 4 commits behind head on main.

Files
Patch %
Lines

express/scripts/utils.js
16.85%
74 Missing :warning:

...locks/multifunction-button/multifunction-button.js
4.25%
45 Missing :warning:

express/blocks/shared/floating-cta.js
28.57%
35 Missing :warning:

express/scripts/mobile-beta-gating.js
81.55%
19 Missing :warning:

express/blocks/search-marquee/search-marquee.js
0.00%
6 Missing :warning:

express/blocks/template-list/template-list.js
0.00%
4 Missing :warning:

...cks/how-to-steps-carousel/how-to-steps-carousel.js
75.00%
3 Missing :warning:

express/blocks/link-list/link-list.js
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #526      +/-   ##
==========================================
+ Coverage   31.72%   31.89%   +0.16%
==========================================
  Files         125      126       +1
  Lines       23913    24109     +196
==========================================
+ Hits         7586     7689     +103
- Misses      16327    16420      +93

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

delayed


Push Notification Deep Link to Notifications Tab

Issue Description
Tapping on the push notification icon opens the app, but does not take the user to the notifications tab.
Steps to Reproduce / Code Snippets
Receive push notification.
Tap on push notification icon.
App opens (to the last active tab or home view)
Expected Results
App should load and take the user to the notifications tab .
Additional Information

React Native version:
Platform(s) (iOS, Android, or both?): Android and iOS
Operating System (macOS, Linux, or Windows?):

ecf68af8667e7841d824242a9e38d04795235c0b

Verified on branch deep-linking
Routes available:
Messaging (default)
Home
Map
Preferences (User Profile)
Notifications (Topic Subscriptions)
Feedback
ParkingSpotType
ManageParkingLots
SurfReport
CardPreferences
Usage:
// Take user to the Home view
"data": {
	"routeName": "Home"
}```


Refactor Program.cs

I recently worked on adding some features to this project and identified a multiple refactor possibilities. For example, export-spaces and 'import-spaces' can be refactored into individual modules and their code can be further refactored into methods.

if you agree, I could work on this slowly over the next few weeks. This will also make it easier to develop some unit testing for the core functionalities.

It's a slight trade off at this point. I normally start from the outset with dependency injection and separation of concerns, but fir this project was weary of spending the additional time until ROI is more clear. Part of me is also enjoying the simple navigation.
That being said, if you're very eager and willing, feel free to start the refactor. You can also propose your changes before investing the time, if you would like feedback etc.


Trivy-operator IAM serviceAccount unexpected status code 401 Unauthorized to aws ECR

hi! I followed this guide https://aquasecurity.github.io/trivy-operator/v0.5.0/vulnerability-scanning/managed-registries/#amazon-elastic-container-registry-ecr, by using of terraform created iam role, associated it with service account by using oidc provider (AWS EKS), policy attached to ima role have all required permissions. In pod i can see all atributes of aws iam connectivity:
k describe po addon-trivy-operator-85697f87c6-chbqb  -n addon
...
Environment
      AWS_STS_REGIONAL_ENDPOINTS:      regional
      AWS_DEFAULT_REGION:                         us-west-1
      AWS_REGION:                                           us-west-1.
      AWS_ROLE_ARN:                            arn:aws:iam::123456789123:role/trivy-operator-role
      AWS_WEB_IDENTITY_TOKEN_FILE:        /var/run/secrets/eks.amazonaws.com/serviceaccount/token
Mounts:
      /var/run/secrets/eks.amazonaws.com/serviceaccount from aws-iam-token (ro)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-slzpc (ro)
...

In scan-vulnerabilityreport i can find the same configuration, but i have an error in scan-vulnerabilityreport-* pods:
{"level":"error","ts":"... image scan error: scan error: scan failed: failed analysis: unable to get missing layers: unable to fetch missing layers: twirp error permission_denied: Error from intermediary with HTTP status code 403 \"Forbidden\ ...}

I have separately installed trivy server new the operator, it is working in clientServer mode
What i have missed? Thx for the help

Trivy-Operator version (use trivy-operator version): 0.14.1
Kubernetes version (use kubectl version): 1.23 AWS EKS
OS (macOS 10.15, Windows 10, Ubuntu 19.10 etc): Linux

@nikolai-ivanisenko can you please share trivy-operator config-maps

gm @chen-keinan
i have deleted it and returned to use a starboard, but i'd like to install it anyway.
Source: trivy-operator/templates/config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: trivy-operator
namespace: default
labels:
helm.sh/chart: trivy-operator-0.14.1
app.kubernetes.io/name: trivy-operator
app.kubernetes.io/instance: release-name
app.kubernetes.io/version: "0.14.1"
app.kubernetes.io/managed-by: Helm
data:
nodeCollector.volumes: "[{"hostPath":{"path":"/var/lib/etcd"},"name":"var-lib-etcd"},{"hostPath":{"path":"/var/lib/kubelet"},"name":"var-lib-kubelet"},{"hostPath":{"path":"/var/lib/kube-scheduler"},"name":"var-lib-kube-scheduler"},{"hostPath":{"path":"/var/lib/kube-controller-manager"},"name":"var-lib-kube-controller-manager"},{"hostPath":{"path":"/etc/systemd"},"name":"etc-systemd"},{"hostPath":{"path":"/lib/systemd"},"name":"lib-systemd"},{"hostPath":{"path":"/etc/kubernetes"},"name":"etc-kubernetes"},{"hostPath":{"path":"/etc/cni/net.d/"},"name":"etc-cni-netd"}]"
nodeCollector.volumeMounts: "[{"mountPath":"/var/lib/etcd","name":"var-lib-etcd","readOnly":true},{"mountPath":"/var/lib/kubelet","name":"var-lib-kubelet","readOnly":true},{"mountPath":"/var/lib/kube-scheduler","name":"var-lib-kube-scheduler","readOnly":true},{"mountPath":"/var/lib/kube-controller-manager","name":"var-lib-kube-controller-manager","readOnly":true},{"mountPath":"/etc/systemd","name":"etc-systemd","readOnly":true},{"mountPath":"/lib/systemd/","name":"lib-systemd","readOnly":true},{"mountPath":"/etc/kubernetes","name":"etc-kubernetes","readOnly":true},{"mountPath":"/etc/cni/net.d/","name":"etc-cni-netd","readOnly":true}]"
scanJob.podTemplateContainerSecurityContext: "{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true}"
scanJob.compressLogs: "true"
vulnerabilityReports.scanner: "Trivy"
configAuditReports.scanner: "Trivy"
compliance.failEntriesLimit: "10"
report.recordFailedChecksOnly: "true"
node.collector.imageRef: "ghcr.io/aquasecurity/node-collector:0.0.6"
Source: trivy-operator/templates/config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: trivy-operator-trivy-config
namespace: default
labels:
helm.sh/chart: trivy-operator-0.14.1
app.kubernetes.io/name: trivy-operator
app.kubernetes.io/instance: release-name
app.kubernetes.io/version: "0.14.1"
app.kubernetes.io/managed-by: Helm
data:
trivy.repository: "123456789123.dkr.ecr.us-west-2.amazonaws.com/aquasec/trivy"
trivy.tag: "0.42.0"
trivy.additionalVulnerabilityReportFields: ""
trivy.httpProxy: ""
trivy.httpsProxy: ""
trivy.noProxy: ""
trivy.severity: "UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL"
trivy.slow: "true"
trivy.dbRepository: "ghcr.io/aquasecurity/trivy-db"
trivy.javaDbRepository: "ghcr.io/aquasecurity/trivy-java-db"
trivy.command: "image"
trivy.dbRepositoryInsecure: "false"
trivy.useBuiltinRegoPolicies: "true"
trivy.supportedConfigAuditKinds: "Workload,Service,Role,ClusterRole,NetworkPolicy,Ingress,LimitRange,ResourceQuota"
trivy.ignoreUnfixed: "true"
trivy.timeout: "5m0s"
trivy.mode: "ClientServer"
trivy.serverURL: "http://addon-trivy-server.addon:4954"
trivy.resources.requests.cpu: "100m"
trivy.resources.requests.memory: "100M"
trivy.resources.limits.cpu: "500m"
trivy.resources.limits.memory: "500M"
Source: trivy-operator/templates/policies.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: trivy-operator-policies-config
namespace: default
labels:
helm.sh/chart: trivy-operator-0.14.1
app.kubernetes.io/name: trivy-operator
app.kubernetes.io/instance: release-name
app.kubernetes.io/version: "0.14.1"
app.kubernetes.io/managed-by: Helm
data:
example
policy.my_policy.kinds: Workload
policy.my_policy.rego: "package builtin.kubernetes.KSV008

import data.lib.kubernetes
import data.lib.result

default failHostIPC = false

rego_metadata := {
"id": "KSV008",
"avd_id": "AVD-KSV-0008",
"title": "Access to host IPC namespace",
"short_code": "no-shared-ipc-namespace",
"version": "v1.0.0",
"severity": "HIGH",
"type": "Kubernetes Security Check",
"description": "Sharing the host’s IPC namespace allows container processes to communicate with processes on the host.",
"recommended_actions": "Do not set 'spec.template.spec.hostIPC' to true.",
"url": "https://kubernetes.io/docs/concepts/security/pod-security-standards/#baseline",
#}

rego_input := {
"combine": false,
"selector": [{"type": "kubernetes"}],
}

failHostIPC is true if spec.hostIPC is set to true (on all resources)
failHostIPC {
kubernetes.host_ipcs[_] == true
}

#deny[res] {
failHostIPC
msg := kubernetes.format(sprintf("%s '%s' should not set 'spec.template.spec.hostIPC' to true", [kubernetes.kind, kubernetes.name]))
res := result.new(msg, input.spec)
#}"

@nikolai-ivanisenko  are you using trivy-operator built-in server ?

right now i have mostly 403 problem and i guess it relates to ecr auth but for starboard i have the same configuration
i have separated trivy server deployment thats why i dont want to use buildin server but i have not configuration, which is related to auth.
configmap of existing trivy server
apiVersion: v1
data:
HTTP_PROXY: http://proxy.dev.sirius.tlzproject.com:80
HTTPS_PROXY: http://proxy.dev.sirius.tlzproject.com:80
NO_PROXY: ...,dkr.ecr.eu-west-2.amazonaws.com,... (LIST of PROXIES)
TRIVY_CACHE_DIR: /home/scanner/.cache/trivy
TRIVY_DB_REPOSITORY: ghcr.io/aquasecurity/trivy-db
TRIVY_DEBUG: "false"
TRIVY_IGNORE_UNFIXED: "true"
TRIVY_LISTEN: <IP_ADDRESS>:4954
TRIVY_SKIP_UPDATE: "false"
kind: ConfigMap
metadata:
annotations:
meta.helm.sh/release-name: addon-trivy-server
meta.helm.sh/release-namespace: addon
creationTimestamp: "2023-07-15T09:09:59Z"
labels:
app.kubernetes.io/instance: addon-trivy-server
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: trivy-server
app.kubernetes.io/version: latest
helm.sh/chart: trivy-server-0.4.16
name: addon-trivy-server
namespace: addon
resourceVersion: "853752709"
uid: 3c9b0396-77d6-4b3d-9864-337289cc4e45
secret:
apiVersion: v1
data:
GITHUB_TOKEN: ""
TRIVY_PASSWORD: ""
TRIVY_TOKEN: ""
TRIVY_USERNAME: ""
kind: Secret
metadata:
annotations:
meta.helm.sh/release-name: addon-trivy-server
meta.helm.sh/release-namespace: addon
creationTimestamp: "2023-07-15T09:09:59Z"
labels:
app.kubernetes.io/instance: addon-trivy-server
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: trivy-server
app.kubernetes.io/version: latest
helm.sh/chart: trivy-server-0.4.16
name: addon-trivy-server
namespace: addon
resourceVersion: "853522193"
uid: 99225926-6f9a-4091-b786-88ea77da33ab
type: Opaque
logs of trivy server:
2023-07-18T00:18:27.622Z	WARN	'TRIVY_SKIP_UPDATE' is deprecated. Use 'TRIVY_SKIP_DB_UPDATE' instead.
2023-07-18T00:18:27.633Z	INFO	Need to update DB
2023-07-18T00:18:27.633Z	INFO	DB Repository: ghcr.io/aquasecurity/trivy-db
2023-07-18T00:18:27.633Z	INFO	Downloading DB...
2023-07-18T00:18:33.256Z	INFO	Listening <IP_ADDRESS>:4954...

i also tried to add ecr:* to iam role and all read/download options to ecr repo policy but it still shows the same error:
{"level":"error","ts":"... image scan error: scan error: scan failed: failed analysis: unable to get missing layers: unable to fetch missing layers: twirp error permission_denied: Error from intermediary with HTTP status code 403 \"Forbidden\ ...}

@nikolai-ivanisenko could be related to setting , how are you running the server ? helm ?
can you try running operator with built-in server just to confirm if it is env. setting issue


Remove unused variable

Please wait for review(s), otherwise we have to rethink the admin role again... 😉


”Bratovoești”, ”Bădoși”, ”Georocu Mare” , "Prunet" are listed in the drop-down menu

Description:
”Bratovoești”, ”Bădoși”, ”Georocu Mare” , "Prunet" the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Bratovoești"

Expected results
The location appears in the drop-down menu as "Sat Bratovoești, DOLJ (Bratovoești)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Bădoși"

Expected results
The location appears in the drop-down menu as "Sat Bădoși, DOLJ (Bratovoești)".

**> Step 4
Press "x" button.
Expected results
The location was deleted from the search bar.**

Step 5
Write in the search bar "Georocu Mare"

Expected results
The location appears in the drop-down menu as "Sat Georocu Mare, DOLJ (Bratovoești)".

**> Step 6
Press "x" button.
Expected results
The location was deleted from the search bar.**

Step 7
Write in the search bar "Prunet"

Expected results
The location appears in the drop-down menu as "Sat Prunet, DOLJ (Bratovoești)".


docs: how to use uplift with travis ci

Codecov Report

Merging #164 (1207999) into main (c51fbb4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #164   +/-   ##
=======================================
  Coverage   83.37%   83.37%
=======================================
  Files          28       28
  Lines        1504     1504
=======================================
  Hits         1254     1254
  Misses        199      199
  Partials       51       51

Continue to review full report at Codecov.

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


HARP-8361: Fix material's shader updates in line rendering materials.

Thank you for contributing to harp.gl!
Before requesting a pull request, please remember to check the following documents:

contribution guidelines
coding style

If you are adding new functionality we would highly appreciate if you can describe what is the capability you are adding and even better if you can add some examples. Please also remember to add tests for it.
CI Check
Our bots will check whether your PR can be directly integrated into the mainline. We have some internal integration tests running on the background, our bots will inform you of the next steps and someone from our team will take a look and help if needed!
And please do not forget to sign-off your commit! You can read more about DCO here. But, in short, you just need to use git commit -s or append --signoff when you are committing to the repo.
Happy contributing!

Codecov Report

Merging #1193 into master will increase coverage by 0.21%.
The diff coverage is 51.82%.

@@            Coverage Diff            @@
##           master   #1193      +/-   ##
=========================================
+ Coverage   47.69%   47.9%   +0.21%
=========================================
  Files         258     258
  Lines       22956   23003      +47
  Branches     5101    5115      +14
=========================================
+ Hits        10948   11020      +72
+ Misses      12008   11983      -25

Impacted Files
Coverage Δ

@here/harp-materials/lib/EdgeMaterial.ts
12.67% <10%> (+2.33%)
:arrow_up:

@here/harp-mapview/lib/MapViewFog.ts
65.27% <100%> (-0.94%)
:arrow_down:

...ere/harp-materials/lib/ShaderChunks/LinesChunks.ts
100% <100%> (ø)
:arrow_up:

...re/harp-materials/lib/HighPrecisionLineMaterial.ts
25.8% <16.66%> (-1.12%)
:arrow_down:

...e/harp-mapview/lib/geometry/TileGeometryCreator.ts
11.44% <20%> (+0.35%)
:arrow_up:

@here/harp-materials/lib/SolidLineMaterial.ts
43.64% <43.05%> (+5.23%)
:arrow_up:

@here/harp-materials/lib/Utils.ts
80.95% <90.62%> (+9.98%)
:arrow_up:

@here/harp-mapview/lib/MapView.ts
58.93% <0%> (-0.08%)
:arrow_down:

...here/harp-mapview/lib/text/TextElementsRenderer.ts
10.22% <0%> (-0.02%)
:arrow_down:

@here/harp-omv-datasource/lib/OmvDataSource.ts
35.82% <0%> (ø)
:arrow_up:

... and 38 more

Continue to review full report at Codecov.

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


Using a list/array in mail operator

Hi,
Digdag v0.9.12

I am unable to use an array from a variable in mail operator, for eg,:
cat fail_mail.dig

_export:
   mail:
      from<EMAIL_ADDRESS>      host: localhost
      port: 2225
   emails:
     -<EMAIL_ADDRESS>     -<EMAIL_ADDRESS>
+fail_mail:
  sh>: exit 1
  _error:
    mail>:
        data: workflow failed
    subject: this failed
    to: ${emails}

throws an error:
2017-05-26 11:52:27 +1000 [ERROR] (0016@[0:default]+fail_mail+fail_mail^error): Configuration error at task +fail_mail+fail_mail^error: Invalid address (config)
> Illegal address (address)

If I use an YAML anchor it works as expected:
cat fail_mail_anchor.dig

_export:
   mail:
      from<EMAIL_ADDRESS>      host: localhost
      port: 2225
   emails: &emails
     -<EMAIL_ADDRESS>     -<EMAIL_ADDRESS>
+fail_mail_enchor:
  sh>: exit 1
  _error:
    mail>:
        data: workflow failed
    subject: this failed
    to: *emails

and just plain echo is outputting the array:
cat fail_echo.dig

_export:
   mail:
      from<EMAIL_ADDRESS>      host: localhost
      port: 2225
   emails:
     -<EMAIL_ADDRESS>     -<EMAIL_ADDRESS>
+fail_echo:
  sh>: exit 1
  _error:
    sh>: echo ${emails}

2017-05-26 12:03:01 +1000 [INFO] (0016@[0:default]+fail_echo+fail_echo^error): sh>: echo ["123<EMAIL_ADDRESS>

But, anchor is not an option(?) as I would like to add the emails to a separate files and include them in the _export section.

This is because ${...} syntax always returns a string but mail operator expects an array. Therefore, type mismatch is happening. This code uses getList method which expects array type exactly. If it uses parseList instead, it accepts a JSON string and parses it as a list.

Thanks @frsyuki,
In the last response:
2017-05-26 12:03:01 +1000 [INFO] (0016@[0:default]+fail_echo+fail_echo^error): sh>: echo
["123<EMAIL_ADDRESS>
${emails} becomes ["123<EMAIL_ADDRESS>so i though it was returning an array...
How can I handle this (i would like to get the to list from another file)?
Any help will be appreciated,

+1
Meet same issue

Hi @@frsyuki,
Do we have solution to above problem now with latest version of Digdag to pass the array of email address as a env variable, may be using params.yml file using -P option or env.store variable set by python / _export
if we define email_to and email_cc in params.yml like below
{
email_to: "["abc@gmail.com","xyz2gmail.com"]",
email_cc: "["abc@gmail.com","xyz2gmail.com"]"
}
and then run the digdag with -P params.yml command line argument, it throws error like can't convert string to array
mail>:
to: ${email_to}
cc: ${email_cc}

Is there a solution for this?

Close the old issue. Please reopen or file new one if you need.


Add support for two different icons: One for iOS and a different one for Android

As suggested on Reddit ( https://www.reddit.com/r/FlutterDev/comments/8f26iq/flutter_launcher_icons_v021_released/dy0glg9/ ) it would be great to add the ability to have one icon for iOS and a separate icon for Android.

Thanks to @mdudek this feature has now been implemented and should be available to use in the next release


Slow (but kinda awesome) rendering of graphs in single PDF

Attach (recommended) or Link to PDF file here:
http://www.espenhaug.com/KnowYourWeapon.pdf
Configuration:

Web browser and its version: Firefox 82
Operating system and its version: Ubuntu 20.04, Dell XPS 9550 HiDPI
PDF.js version: as shipped
Is a browser extension: no

Steps to reproduce the problem:

Observe pleasing progressive rendering effect on all the 3D graphs in the document as they are scrolled into view
Recall that PDFs are not intended to be animated and consider it might be worth reporting as a potential bug

What is the expected behavior? (add screenshot)
Graphs render immediately, as in for example in evince using the same PDF.
What went wrong? (add screenshot)
Graphs render pleasingly
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

This is a huge vector graphic. I've seen the effect here but it's not really THAT slow, and in rare cases I've also seen such an effect with Adobe Reader, e.g. with
http://www.math.ubc.ca/~cass/graphics/manual/pdf/ch14.pdf
(see first and last page)

Feel free to close this if it is spurious, I do not have any problem with the performance, it just seemed like maybe the file was exposing some slow algorithm that may not have been worth reporting

The PDF document in https://github.com/mozilla/pdf.js/issues/12535#issue-729915912 simply contains an absolutely ridiculous amount of "normal" rendering operators, i.e. there's no repeated images or similar that could be cached, and as such there's unfortunately not much that we can really do to improve performance here.
Also, when testing this in Firefox 84 on Windows, the slowest page takes < 1.5 seconds to finish loading (which while not great isn't terrible either IMHO).

I agree, so let's close this. @occasionallydavid Thank you for reporting it though; reporting and closing after investigation is always better than not reporting it, since it might be something that is indeed wrong/can be optimized.


how can i make video replay again after completion

i want to make video play again after completion

where can i write this please ??

where can i write this please ??

extends JzvdStd
on your setUp function
like this:
public void setUp(String url, String title, int screen, boolean isLoop) {
JZDataSource dataSource = new JZDataSource(url);
    dataSource.looping = isLoop;
    super.setUp(dataSource, screen);

}


linux Support

as flutter linux is quiet stable is there any plan to support linux ?

There is no concrete plan at the moment. To my knowledge the biggest problem with Linux support is that is doesn't have a standard library (similar to Windows or macOS) that provides access to location information.
My Linux experience is very limited and I am not confident on which (third party) lib would be best to include. Feedback or pull requests are welcome.

There is no concrete plan at the moment. To my knowledge the biggest problem with Linux support is that is doesn't have a standard library (similar to Windows or macOS) that provides access to location information.
My Linux experience is very limited and I am not confident on which (third party) lib would be best to include. Feedback or pull requests are welcome.

I left a comment https://github.com/Baseflow/flutter-geolocator/issues/241#issuecomment-1060681624 on a previous issue providing some insight on a possible approach to implement this.
I can't work on this right now but maybe someone from Canonical (@jpnurmi, @Feichtmeier) is willing to contribute here or can point to someone with both Linux & Dart expertise to implement this.

Sounds like a fun task! A geoclue client for Dart would be a good place to start.

FYI, I started working on a GeoClue client: https://github.com/jpnurmi/geoclue.dart

FYI, I started working on a GeoClue client: https://github.com/jpnurmi/geoclue.dart

Wow that was fast! I'm willing to help although right now I'm not running a Linux distro with dbus nor geoclue, maybe I can test those edge cases.

hey i could help you test that if yall want im currently using debian 11

I haven't looked at flutter-geolocator, but you can try to run the geoclue.dart example if you want: https://github.com/jpnurmi/geoclue.dart

hey thanks i would try it

https://github.com/jpnurmi/flutter-geolocator/tree/linux/geolocator_linux

thank you so much for this

I agree, I will re-open the issue.


Question: How to document C extension?

I have a library binding with most implementation in C. I wrote some macros to make the binding code less repetitive. I expected a bit to trip up default documentation comment tools, but I was hoping that I can override the missing parts by providing more explicit markup / tags / directives.
Is it possible to specify namespace (class or module) by using markup (tags or directives)? I scanned the list but didn't find it yet.
What is the best way to deal with unusual C implementation in more general terms? Is it considered an acceptable approach to add almost empty ruby files which only contain doc comments?

Thank you for your insightful answer! I think I'll go with the !@parse approach for the short term, and maybe look at writing a directive extension later.

Thank you for your insightful answer! I think I'll go with the !@parse approach for the short term, and maybe look at writing a directive extension later.


⚠ ClamAV has degraded performance

In 310c633, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 298 ms

Resolved: ClamAV performance has improved in cf1d7b1.


Unable to click on the file path navigation links just under the search box

For insance, open https://code.google.com/p/chromium/codesearch#chromium/src/components/safe_json/&q=safe&sq=package:chromium&
And then try to click any of the directory links in:
//src/components/safe_json/
The problem is that the following div is too big and appears on top of the filepath:

Its height is set to 60px by .m-e in CSS, but since OmniChromium removes the Chromium icon next to search, this height should also be reduced.

PR: https://github.com/kalman/chrome-extensions/pull/4

Fixed by #5

Thanks!


No build-system for using or installing the library

There's currently no build-system.
The README recommends to copy https://github.com/Ryzee119/lvgl-sdl/blob/master/example/CMakeLists.txt
Additionally, that makefile adds a manual build-system for lvgl, which should not be necessary.
This is not how CMake usually does things.
Instead, you can normally just use add_subdirectory(${LVDRV_DIR}) which would then link those CMake build-systems together.
I'd expect the example to be closer to this:

# This will expose the (potentially virtual) lvgl library
add_subdirectory(${LVDRV_DIR})

set(SRC_FILES
    # My example project source files (Change this for your own project)
    "${PROJECT_DIR}/example.c"
    "${PROJECT_DIR}/input_test.c"
    "${PROJECT_DIR}/lv_examples/src/lv_demo_benchmark/*.c"
    "${PROJECT_DIR}/lv_examples/src/lv_demo_stress/*.c"
    "${PROJECT_DIR}/lv_examples/src/lv_demo_widgets/*.c"
    "${PROJECT_DIR}/lv_examples/src/lv_demo_ex_get_started/*.c"
    "${PROJECT_DIR}/lv_examples/src/lv_demo_ex_style/*.c"
    "${PROJECT_DIR}/lv_examples/src/lv_demo_ex_widgets/*.c"
    "${PROJECT_DIR}/lv_examples/assets/*.c"
)
add_executable(lvgl_example ${SRC_FILES})
target_link_libraries(lvgl_example PUBLIC lvgl)

Furthermore, the SDL2 dependency only has to be added to lvgl, and if it's the right visibility (note the PUBLIC in target_link_libraries), that will have a transitive property and ensure that all users of lvgl_example will also link against SDL2.
Consult CMake docs for more information.
For people who don't want to bundle lvgl, all they'll have to do is to replace the add_subdirectory with find_package(REQUIRED lvgl) (or along those lines).

I think this is partially an issue with upstream, because they also don't have an install target. There don't even seem to be rules which headers should be included or how to package them (without copying the entire source tree). It's a huge mess, but it looks like they are currently transitioning to CMake (unfortunately often using it very poorly).
However, the build-system I proposed can probably be largely be used for bundling (just find_package won't work, because there's no way to install or package the library).


Enable access does expire

The doc says that the entry will not expire but in the UI there is a expiration date.

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

ID: 0e01673a-0cf0-b6bd-2a93-efb0427f8d3e
Version Independent ID: 52f65831-75b9-5ffd-2c2f-0582f7cca2a6
Content: Enable just-in-time database access - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/dev-itpro/database/database-just-in-time-JIT-access.md
Service: dynamics-365-cross-app
Product: ****
Technology: ****
GitHub Login: @laneswenka
Microsoft Alias: laswenka

@laneswenka - Can you take a look? Thanks.

Created bug 572049 to track this issue.

Updated, this will go out in the next scheduled docs publish wave.


Setup a simple test build to verify

Will test Linux and Windows docker workflows
Will test Windows docker-less workflow
Tests will init and build a tiny swift library
The "uses" is relative to use the one that may be changed by the PR

Fixes #73

Thank you!


What is the semantic of "clip::lock"?

Does the clip::lock freeze the clipboard so that other process can not modify the content until clip::lock is destructed? Or it just is the util to manipulate clipboard?

Hi @Azure-Vani, yeah, that should be the expected behavior. Platforms like Windows or macOS provide a way to lock the clipboard temporarily to check its format and then retrieve the data in that format (this must be an atomic operation in a lock/unlock block).
Some of our examples are not 100% correct, like this (they are written without locks just for simplicity):
  if (clip::has(clip::text_format())) {
    std::string value;
    clip::get_text(value);

    std::cout << "Clipboard content is '" << value << "'\n";
  }

In this case, as we don't lock the clipboard between the clip::has(clip::text_format()) and clip::get_text() call, it might happen that get_text() fails because in the middle other application changes the clipboard content.

Cool! I've forked it and try to provide Linux clipboard support based on X11.  :)

@Azure-Vani it would be great! any kind of help you need, please ask


Make moveToTarget an extension function

Description
Move the private _moveToTarget function to an extension function to Vector2 as it can be quite useful.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors and are passing (See Contributor Guide).
[x] I updated/added relevant documentation (doc comments with ///) and updated/added examples in doc/examples.
[x] I have formatted my code with ./scripts/format.sh and the Flame analyzer (./scripts/analyze.sh) does not report any problems.
[x] I read and followed the Flutter Style Guide.
[x] I have added a description of the change under [next] in CHANGELOG.md.
[x] I removed the Draft status, by clicking on the Ready for review button in this PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flame users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md).
[x] No, this is not a breaking change.

Ah didn't realize that include vector2 extensions as well, let me add


pass FLUTTER_TARGET_PLATFORM flag to cmake.

fix https://github.com/sony/flutter-elinux/issues/149

@HidenoriMatsubayashi okay, updated.


units: Use Self in consts

Use Self in the public consts in Amount and SignedAmount. This is more terse with no loss of clarity.
Internal change only.

Wrong date in branch name, woops.

Woops, maybe raising 18 PRs in ten minutes was a bit enthusiastic.


Not working on 2023.3

Please update plugin to work on the new build of IDEs (233.*).

Hi @sicikh - thanks for using the theme! I've just submitted an update to the marketplace, it is pending approval currently but should be working for the newer builds of IDEs (including the upcoming 2024.1 release) once v1.2.5 is live :)


CI Inaccessible

The CI reference in the README, https://main.bosh-ci.cf-app.com/teams/main/pipelines/bosh:cli, links to a server which doesn't respond.
main.bosh-ci.cf-app.com took too long to respond.

@Everlag we have decided to block global access to it as an additional security measure. is there any particular information you were looking for? im trying to find out if there needs to be filtered down view that will be visible to everyone.

I'm in the process of onboarding into developing in the bosh ecosystem. Having the concourse pipeline visible in the web interface makes understanding the pipeline's dependency graph significantly easier.

Hi @Everlag. As Dmitriy mentioned, CI access requires authentication. To better understand the pipeline, you are welcome to read and deploy this pipeline to your own environment.


Using both Universal Analytics and GA4

I have an Angular site which uses google analytics (universal analytics) to track page views, etc. The way we add the tracker is by setting the account, e.g.
AnalyticsProvider.setAccount({'tracker': 'UA-12345-1'})
We are trying to explore the same metrics we are currently collecting in the new GA4. We followed the instructions about adding multiple trackers and currently have the call:
AnalyticsProvider.setAccount([    { tracker: 'UA-12345-1', name: "universal" },    { tracker: 'G-123456', name: "ga4" } ]);
In the instructions it mentions that this works only for universal analytics, and it is likewise not sending the collected metrics to the GA4 page and only the Universal Analytics page.
Is there a way to set the tracking in a way to send our metrics to both the UA page and the GA4 page?

Hi, no idea sorry

I have an Angular site that uses google analytics (universal analytics) to track page views, etc. The way it added the tracker is by setting the account UA-XXXXX-X. Now want to use GA4, will changing the tracker id will transfer data, or need to use some other package?


Add image processing support

automatic change format, resize, crop, ...

We already added some feature in Qute to be able to support this

Oh really? In Qute?

@FroMage you remember we need some part of the tree to be able to detect the image tag at buildtime. We discussed it at the f2f. AFAI rememebr @mkouba implemented that part.

What tree? What image tag? I'm not following how this relates to image processing.

@FroMage you remember we need some part of the tree to be able to detect the image tag at buildtime. We discussed it at the f2f. AFAI rememebr @mkouba implemented that part.

Yes, I did. It's the Template#findNodes(Predicate<TemplateNode>) method. And here's an example how to use it: https://github.com/quarkusio/quarkus/blob/main/independent-projects/qute/core/src/test/java/io/quarkus/qute/TemplateNodesTest.java#L32-L59


Using the Same Source Markdown... Markdown.ToHtml() != document.ToHtml()

Hello. Yesterday, I tested converting an MD file to HTML (html1 below). This worked fine. Then I decided to try parsing the markdown so I could make changes to it.  This did not work. Below is the code I'm using. I would expect html1 and html2 to be identical, however, they are not.
string markdown = File.ReadAllText($@"{mdPath}\Documentation.md");

var document = Markdown.Parse(markdown);
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();

string html1 = Markdown.ToHtml(markdown, pipeline);
string html2 = document.ToHtml(pipeline);

If the Documentation.md file in the example above only contains "# General" (no quotes), html1 is
General
 and html2 is
General
.
The ToHtml source formats are different (markdown vs MarkdownDocument), but both ultimately came from the same source markdown. And they run through the same pipeline, which I assume is where all the logic is. What am I missing? Why does one H1 have an ID but the other does not?

You need to pass the pipeline to both Parse and ToHtml or by looking at what is behind ToHtml:
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
var document = Markdown.Parse(markdown, pipeline);

string html1 = Markdown.ToHtml(markdown, pipeline);
string html2 = document.ToHtml(pipeline);

https://github.com/xoofx/markdig/blob/dfa2c94b88fdb36dd5446054b281d13bda5ef87b/src/Markdig/Markdown.cs#L95-L104

I would have expected one of the pipeline "passes" to be redundant, but as you showed, that is how the code works. Suppose that would come into play if, like I'm trying, the document is changed after the initial parse.
At any rate, thank you for the quick and detailed response.


Vue rollup template

Hi,
I'm a new member use vue.js. I love vue.js because simple, easy to learn and especial build reusable components. Vue templates help me build quick prototyping and now I build new template using rollup.
The repository I development is: https://github.com/dangvanthanh/vue-rollup-boilerplate
I hope every one using vue.js have more options about vue templates and suggestion from you.

Hi @dangvanthanh !
Thanks, this looks cool, I like Rollup too! We usually advise template authors to open PR on https://github.com/vuejs/awesome-vue repository under Boilerplates section ;)

Thank you very much @zigomir


Added a Filer interface and implemented the interface for two differe…

@guidiego - Added a Filer interface and implemented the interface for two different types and used the interface in parse.go instead of interface{}.

#1

@guidiego updated the pull requests to resolve the conflicts from your last commit today.


Strategies for handling large corpora through Google Cloud Storage?

Hi!
I have recently come across this repository and have been conducting tests using TPUv4 pods.
As part of my experimentation, I have explored several approaches for feeding datasets into the model,
including utilizing Hugging Face datasets or employing JSON files (with lines) either locally or through a GCS bucket.
During my analysis,
I have noticed that the JSON data loader appears to download the entire JSON file from the gs:// directory and subsequently tokenize and yield the line-by-line data.
This approach presents a challenge when dealing with corpus files exceeding 1TB in size, as it is not practical to store such extensive data in a single JSON file.
I am curious to learn how do you handle this issue,
and I would appreciate any insights!
Thanks for your great work 👍

The JSONDataset from this repo already implements streaming from GCS bucket if you give a path of gs:// for the json file. For the huggingface dataset, I've tried implementing something similar but it seems that the huggingface datasets library does not support streaming from a bucket file system.

Hello, and thank you so much for your prompt response. I apologize for any confusion caused by my previous question.
I would like to share my current situation: I have thousands of JSONL files, each with a size of approximately 1GB. It appears that the JSON dataset currently supports only a single JSON file.
Could you kindly offer your thoughts on the best approach to handle these files? Would it be more efficient to concatenate all of the files into a single, large JSON file, or should we consider implementing a new method to support a glob path (e.g., 'gs://~~~/*.jsonl')?
Thank you again for your assistance, and I'm looking forward to your valuable suggestions.

I'd recommend just joining the files together. Since each example is a line in the file, simply concatenating the files should suffice.

What's the best way to handle extremely large datasets from HuggingFace (ie RedPajama) with TPU v4 Pod?
My current thought is to use a separate VM to save the dataset to a persistent disk, then mount the disk read-only to the pod and output the model to a GCS bucket. However, I have no clue whether that would work.
I'm guessing you've done this before (since open-llama was trained with EasyLM and RedPajama). How did you accomplish it?

Why not directly reading the data from GCS? EasyLM supports directly reading data from GCS buckets when a GCS path is passed into the dataloader.

Reading the dataset docs, it wasn't clear that HuggingFace datasets were compatible with GCS (or if they were, how one would go about setting it up)

The huggingface one is not, but json one is, and that's how you load custom datasets.


Version2: Add sorting to certificate list

https://github.com/PeculiarVentures/fortify-tools/assets/129727832/355acabd-8541-4ce8-8693-080c81c41618

@OleksandrSPV Could you please resolve the conflicts?

@OleksandrSPV Could you please resolve the conflicts?

@donskov Done.


[perf] wrapped bytes experiement

I've removed the hashcode field. I'm wondering if we should have 2 implementation: one for keys (with the field pre-computed) and another for values (without the field). @danberindei  what do you think?

run performance tests please
library
cs

I'm wondering if we should have 2 implementation: one for keys (with the field pre-computed) and another for values (without the field).

Interesting idea!
Remember to check with jol If making such a change actually wins you any space. As far as I remember, this change should save you 8 bytes per instance!
The drawback would be with polymorhic calls cost, but I assume you don't really need a shared interface?

@pruivo BTW such a change would get my +1 just becasue it makes sense, independently from it being confirmed by Ci performance tests.
If the performance tests don't approve, there's something fishy to look at why it wouldn't improve.
(less allocations is always better, but it might throw off some other tuning point out of balance)

some more context about JOL: http://lists.jboss.org/pipermail/infinispan-dev/2013-December/014311.html

well, it already implements a shared interface public class WrappedByteArray implements WrappedBytes but most of our code uses the class directly.
But I'm not sure if it is worth. The hash code should be used mostly one time when put/retrieve from DataContainer. Our consistent hash uses the bytes directly.

@pruivo I don't think I'd want a different class for the keys and the values.

The change to not have the hashCode could save at most 8 bytes.  It would average out to 4 bytes.  The problem is the byte[] is not a predefined size so it might be less than the alignment size the and the int might fix perfectly in the unused alignment space.

Hu? Come confusion here. It's not about averages, and doesn't depend on the actual byte array size. It will save 8 bytes for each instance.

Yes sorry, scatter brained atm, the padding is there no matter what other values are present.

But I'm not sure if it is worth. The hash code should be used mostly one time when put/retrieve from DataContainer. Our consistent hash uses the bytes directly.
Yeah unfortunately due to the client it has to :(

I would say for now we can just remove the field and not worry about it.  The equalsWrappingBytes method should just be removed for now as well.  It can be reevaluated again if we ever link off heap to other parts of the system

run performance tests please
cs

@Sanne @wburns I've checked with jol and it can save 8 or 16 bytes in a 64 bits jvm (depends of the configuration)

trying another approach: sending the computed hash code over the network

run performance tests please
cs

trying another approach: sending the computed hash code over the network

why ? Is it to avoid re-computing, or to address some issue?

@Sanne performance is much worst

performance is much worst

I'm not surprised. We still don't have a system which gets you a magic number to let you know if the change is good or bad ;)
It doesn't mean it's a bad idea though, nor that you should abandon it. You need to figure out why the number changed this way.

performance is much worst
Is worse than what?  Than master?  If so that sounds very fishy.  I don't see the completed run report, is that where you are basing that from?

run performance tests please
cs

run performance tests please
cs

@pruivo C/S tests are broken right now because of enhancements being applied (selecting different settings.xml). I will retrigger it once fixed.

run performance tests please
cs

run performance tests please
cs


Create Privacy Policy

Proposal for Privacy Policy

Good work bro. Will like you to do this soon again.


Fixed incorrect datatype in range function from the last commit

Apologies, the nb_batch size fix from last time resulted in an unsuitable datatype for the range function - I missed that in the tests as I was working in another branch and just happen to notice the nb_batch bug.

We're going to set up automated testing going forward to avoid this kind of issue.

Apologies, again, for that.


LangChain: Add software tests

About
Stacked on top of GH-85, this patch adds software tests to the examples around LangChain, in order to validate the Jupyter Notebooks work well, and keep working.

Problem
-DELETE OK, 30 rows affected (0.000 sec)
+DELETE OK, 0 rows affected (0.000 sec)

-- https://github.com/crate/cratedb-examples/actions/runs/6684017889/job/18160822060?pr=97#step:5:585
Source
https://github.com/crate/cratedb-examples/blob/1ff62c7e914469bee9e14416d81143497e13c2f1/framework/langchain/document_loader.ipynb?short_path=201bb43#L55-L77

-DELETE OK, 30 rows affected (0.000 sec)
+DELETE OK, 0 rows affected (0.000 sec)

Fixed with:

https://github.com/crate-workbench/langchain/commit/2bf5c604ac2f72c5eb8f6392cd31d6da59417011
https://github.com/crate-workbench/langchain/commit/14d784370781053f19a05247419e2414678b7ff1
e8f4a4260

Status Quo
It works. 🚀
collecting ... collected 3 items

test.py::test_notebook[document_loader.ipynb] PASSED
test.py::test_notebook[vector_search.ipynb] SKIPPED (OPENAI_API_KEY not given [skip-notebook])
test.py::test_notebook[conversational_memory.ipynb] PASSED

-- https://github.com/crate/cratedb-examples/actions/runs/6684315548/job/18161437538?pr=97#step:5:519
Outlook
test_notebook[vector_search.ipynb] will be addressed on behalf of a subsequent iteration.


metadata download failed

https://jitpack.io/com/github/beyka/androidtiffbitmapfactory/<IP_ADDRESS>/androidtiffbitmapfactory-<IP_ADDRESS>.pom
Repo not found or no access token provided

need username and password ....


Future commands

We were talking about potential new commands at a recent work session. This is where the init command idea came from.
Another command concept was brought up:  CRUD for m30ml elements (for instance adding a new reference or modifying a data structure).  I have been thinking about this and want to capture my thoughts about it.

This concept is one of several core features in sliderule (a sister tool to m30ml and using the same core technology).  Implementing it in the m30ml core would open the possibility to implement the next rev of sliderule with the m30ml core.
I think we could use reflection on the architecture model to implement this concept. The definition model for any architecture described in m30ml has templates for data structures that include documentation, typing, etc. If we are not defining enough details to use reflection then I think the utility of using reflection for the CRUD operations would be reason enough to extend the m30ml language spec.
I think we should abstract the core functionality enough that tools implementing data storage and retrieval can implement different storage systems while still leveraging the core engine for CRUD operations on the in memory representation (like an MVC model abstraction layer).

Speaking of MVC, here is an interesting blog post on applying MVC to CLI apps - https://dzone.com/articles/poor-mans-console-mvc


Feature Request: No Useless List Unpack-Repack

Description
Saw this is in a discussion on RUFF: https://github.com/astral-sh/ruff/issues/7618
Thread just mentions this construct[*x] as opposed to just calling list(x). Not only is the later more readable, I would assume it's more efficient because lack of arg unpack (we should benchmark it though)? You may want to add a rule to flag this weird construct.

Sounds sensible but let’s not assume and do a benchmark first. dicts can also be constructed via unpack so the rule could cover both.

Unpacking is faster, presumably because it doesn't need to look up the name list. So, let's leave this.
In [1]: items = list(range(10))

In [2]: %timeit list(items)
52.1 ns ± 0.144 ns per loop (mean ± std. dev. of 7 runs, 10,000,000 loops each)

In [3]: %timeit [*items]
34.5 ns ± 0.173 ns per loop (mean ± std. dev. of 7 runs, 10,000,000 loops each)


Unable to use DbConfigurationTypeAttribute if DBConfiguration is loaded into the appdomain

I have a simple case where I wish to setup a DBContext to use a particular DbConfiguration using the attribute on the DbContext rather than via the app.config
However even though there are no other usages of EF in a project I continue to get
System.InvalidOperationException: The default DbConfiguration instance was used by the Entity Framework before the 'KeyValueDbConfiguration' type was discovered. An instance of 'KeyValueDbConfiguration' must be set at application start before using any Entity Framework features or must be registered in the application's config file
If I add
  <entityFramework codeConfigurationType="xx.KeyValueDbConfiguration, xxx">
to the app.config everything is fine.
Is there a way to find what loaded the default DbConfiguration, and stop it?
Here is the repo I am working with: https://github.com/amccool/Orleans.StorageProviders.SimpleSQLServerStorage/tree/140-with-sessionid

@amccool I'll think you find that DbConfiguration behaviour is global e.g. I had a project recently with two DbContexts using separate DbConfiguration types, when I attempt to create the context, the second one would complain about the other DbConfiguration.

going from memory here.   I believe I figured this out.    I was not using the 'correct' constructor for the dbcontext.
public KeyValueDbContext(DbConnection dbConnection, bool contextOwnsConnection)             : base(dbConnection, contextOwnsConnection) { }
once I switched to this constructor things where loading 'better'.   As it were, the documentation is good, but like WCF, its tough to correlate the error message to the documentation for the wanted behavior.
Lets treat this issue and a question - and close it.
BTW - having the source available was really the saving grace.  👍 for Microsoft open sourcing


Kubernetes API tokens are not being refreshed.

Bug report
[Description of the bug]
Running kubernetes-restart with an expired API token results in the command failing.
I have not tested this with the other commands so I am not sure if it's exclusive to the restart command.
Kubernetes id-token's expire reasonably quickly (at least every few days).
When kubectl is run with an expired token it will attempt to refresh it before contacting the api server.
It definitely looks like kubernetes-restart and possibly other commands are not refreshing that token.
I tested this buy checking my ~/.kube/config file into git and running the restart.
I think ran a kubectl command and diffed the kube config file and the id-token and refresh-token were indeed different.
After that update the restart command succeeded.
Expected behavior: [What you expected to happen]
Restart is performed successfully.
Actual behavior: [What actually happened]
This was the output from a kubernetes-restart with an expired token.
[INFO][2019-03-27 12:31:58 +0000]
[INFO][2019-03-27 12:31:58 +0000]    -----------------------------------Phase 1: Initializing restart------------------------------------
Traceback (most recent call last):
    18: from /usr/local/bin/kubernetes-restart:23:in `<main>'
    17: from /usr/local/bin/kubernetes-restart:23:in `load'
    16: from /var/lib/gems/2.5.0/gems/kubernetes-deploy-0.25.0/exe/kubernetes-restart:28:in `<top (required)>'
    15: from /var/lib/gems/2.5.0/gems/kubernetes-deploy-0.25.0/lib/kubernetes-deploy/restart_task.rb:42:in `perform!'
    14: from /var/lib/gems/2.5.0/gems/kubernetes-deploy-0.25.0/lib/kubernetes-deploy/restart_task.rb:123:in `verify_namespace'
    13: from /var/lib/gems/2.5.0/gems/kubernetes-deploy-0.25.0/lib/kubernetes-deploy/restart_task.rb:179:in `kubeclient'
    12: from /var/lib/gems/2.5.0/gems/kubernetes-deploy-0.25.0/lib/kubernetes-deploy/kubeclient_builder.rb:17:in `build_v1_kubeclient'
    11: from /var/lib/gems/2.5.0/gems/kubernetes-deploy-0.25.0/lib/kubernetes-deploy/kubeclient_builder.rb:102:in `_build_kubeclient'
    10: from /var/lib/gems/2.5.0/gems/kubeclient-4.3.0/lib/kubeclient/config.rb:47:in `context'
     9: from /var/lib/gems/2.5.0/gems/kubernetes-deploy-0.25.0/lib/kubernetes-deploy/kubeclient_builder/kube_config.rb:16:in `fetch_user_auth_options'
     8: from /var/lib/gems/2.5.0/gems/kubeclient-4.3.0/lib/kubeclient/config.rb:162:in `fetch_user_auth_options'
     7: from /var/lib/gems/2.5.0/gems/kubeclient-4.3.0/lib/kubeclient/oidc_auth_provider.rb:24:in `token'
     6: from /var/lib/gems/2.5.0/gems/openid_connect-1.1.6/lib/openid_connect/response_object/id_token.rb:67:in `decode'
     5: from /var/lib/gems/2.5.0/gems/json-jwt-1.10.0/lib/json/jose.rb:63:in `decode'
     4: from /var/lib/gems/2.5.0/gems/json-jwt-1.10.0/lib/json/jwt.rb:104:in `decode_compact_serialized'
     3: from /var/lib/gems/2.5.0/gems/json-jwt-1.10.0/lib/json/jws.rb:195:in `decode_compact_serialized'
     2: from /var/lib/gems/2.5.0/gems/json-jwt-1.10.0/lib/json/jws.rb:26:in `verify!'
     1: from /var/lib/gems/2.5.0/gems/json-jwt-1.10.0/lib/json/jws.rb:131:in `valid?'
/var/lib/gems/2.5.0/gems/json-jwt-1.10.0/lib/json/jose.rb:29:in `with_jwk_support': JSON::JWK::Set::KidNotFound (JSON::JWK::Set::KidNotFound)

Version(s) affected: [run kubernetes-deploy --version]
v0.25.0
Steps to Reproduce

[First Step]
Wait for your API token to expire. We discovered this on a Monday so a couple of days will do it.
[Second Step]
Run kubernetes-restart

So, this turns out to have been fixed by https://github.com/abonas/kubeclient/pull/407.
Unfortunately, this just opens us up to another related issue: the second invocation of kubeclient in a restart, because it's using a new Kubeclient::Client instance reading fresh from the KUBECONFIG file, and the previous refresh when verifying the namespace didn't update the config file, our refresh-token is now invalid:

Note: id-tokens retrieved via this provider are not written back to the $KUBECONFIG file as they would be when using kubectl.

I think it's probably the responsibility of kubernetes-deploy to write this back to the correct KUBECONFIG file, so this ticket constitutes that feature request.

See https://github.com/abonas/kubeclient/issues/409


Flagging similar work using R in NHS Wales

Hello @mattia-ficarelli and @pauliecarroll, I don't if you'd be interested in some work I did Wales on trying to make travel-time-analysis more accessible.
The main product was a set of weekly-updating LSOA-to-LSOA matrices, covering driving and public transport for Wales and bordering regions, but this is built using tools in R that are more flexible. I gave a presentation at an NHS-R conference in November 2021 which gives a bit more detail on approach.
I note that this doesn't solve some of the more significant issues, like obtaining public per-way speed data (instead it falls back on UK-wide  averages from 2017).
(Hope it's okay to communicate this as an 'issue'! Wasn't sure of a better approach.)

Hi @stupidpupil , thanks for getting in touch, and great to see some similar work in this space. We've recently picked up the work again, and are developing this to improve the functionality and add use cases into the repo, but are now storing the new repo here. https://github.com/nhs-pycom/nhs_time_of_travel.
I'd be very interested to look through your code for the tool you built, do you have a link to the repo/ github page? my email is<EMAIL_ADDRESS>very happy to continue this conversation.

Thanks Paul.
{parochial} is an R package that helps build OpenTripPlanner, Conveyal R5 and Open Source Routing Machine (OSRM) networks for bits of Great Britain, either locally or using GitHub Actions. It just wraps a bunch of other tools, in a slightly ropey manner.
https://github.com/stupidpupil/wales_ish_otp_graph/ is an example of using it to build those networks, weekly, for Wales and bordering bits of England.
The easiest way to get an idea of the work it does might be to look at a recent action run.
The presentation linked above is still mostly accurate (and links to GitHub repos throughout), although I've now split 'parochial' out from the work (that was originally more tied to Wales).
Those Wales-ish networks are now used to build a few products:

LSOA11-to-LSOA11 travel time matrices. Public transport matrices are updated weekly by this repo, again using GitHub Actions.
LSOA11-to-NHS-Wales-sites matrices.  Public transport matrices are updated weekly, again using GitHub Actions.
A demo service finder, built around finding Cadw heritage sites by public transport from train stations, updated weekly, again using GitHub Actions. (The interface for this needs a lot of work! I suggest picking 'Cardiff Queen Street Rail Station' to see an example of it working.)

I see you're working in R, we're working in Python for this problem, but have come across some of the same type of issues with data storage and space.
I've now started using the Pyrosm package in python for creating network maps, last night I ran the pbf file for Wales, it still took 34 minutes, but it's a lot faster than the way I was previously creating networkx maps for regions or area, where it would have been hours if it had run at all. And you can cache the data file afterward. I ran on my own laptop, a 16gb ram, macbook, with 8gb ram it may crash your laptop. But this package is definitely worth checking out. https://pyrosm.readthedocs.io/en/latest/
I'll take a look through the links in your message today thank you.

Doing the analysis itself in Python - and the opportunities that affords you to more easily improve e.g. speeds on individual road segments - looks really interesting.
(A lot of what parochial does is wrap external tools like osmium, pfaedle etc. and avoids actually pulling stuff into R, which has its limitations.)


av1 also for TWINT possbile

"Uncaught Error: AV1 must begin with eBill"
this error is not correct as also twint is allowed as alternative scheme.
Code-generation by raisenow.com

SwissQRBill v3.1.2 which fixes this issue is now released on npm.


Enable specifying fixed pipeline version on RunConfiguration

Closes #67
Tasks

[x] Update RunConfiguration CRD to have a Pipeline field with name:version instead of a PipelineName field
[x] Extend kfp cli to accept a specific pipeline version when submitting a new run configuration
[x] Include RunConfiguration name in run completion event
[x] Documentation updated with usage example

Ok to test

ok to test


[RFC] Clarify (and improve) rules for projections and well-formedness

Type system changes to address the outlives relation with respect to projections, and to better enforce that all types are well-formed (meaning that they respect their declared bounds). The current implementation can be both unsound (rust-lang/rust#24622), inconvenient (rust-lang/rust#23442), and surprising (rust-lang/rust#21748, rust-lang/rust#25692). The changes are as follows:

Simplify the outlives relation to be syntactically based.
Specify improved rules for the outlives relation and projections.
Specify more specifically where WF bounds are enforced, covering several cases missing from the implementation.

The proposed changes here have been tested and found to cause only a modest number of regressions (about two dozen root regressions were previously found on crates.io; however, that run did not yet include all the provisions from this RFC; updated numbers coming soon). In order to minimize the impact on users, the plan is to first introduce the changes in two stages:

Initially, warnings will be issued for cases that violate the rules specified in this RFC. These warnings are not lints and cannot be silenced except by correcting the code such that it type-checks under the new rules.
After one release cycle, those warnings will become errors.

Note that although the changes do cause regressions, they also cause some code (like that in rust-lang/rust#23442) which currently gets errors to compile successfully.
cc @rust-lang/lang
Rendered

cc @arielb1

@nikomatsakis I think the issue referenced for 'unsound' in your description should be https://github.com/rust-lang/rust/issues/24622 which is mentioned in the RFC.

@Ryman thanks.

I think the [[T]] issue is a straight bug in old versions of rustc and shouldn't result in just a warning.

@arielb1

I think the [[T]] issue is a straight bug in rustc and shouldn't result in just a warning.

Perhaps, but the issue is really not whether it's a bug or not, the question is about whether code is affected by the change. That said, I haven't observed any.

@nikomatsakis
[[T]] basically causes an ICE every time it is used, so it is relatively hard to abuse.

Could you also clarify which of Box<Foo<'a>+'static>, Box<Foo<'static>+'a> and Box<Foo<'a>+'b> are well-formed (assuming 'a and `'b' are unrelated free regions)?

Hear ye, hear ye. This RFC is entering final comment period.

I'll be making some modifications soon to address various comments. Sorry for the delay. I've been investigating impl techniques to make warnings, and also trying to get a full assessment of the impact so I can include it in the RFC. But after brief discussion with lang team we decided to move to FCP in any case, since it seems that the essence of this RFC must go forward, perhaps with minor modifications.

@RalfJung

Why is it a good idea to do that? It seems kind of weird to require the argument type of a function to outlive 'a, just for the function pointer itself to do so.

The goal is to be able to assume that P::TraitRef outlives 'a if P: 'a. This implies that the regions which can appear in an associated type definition are limited to those "affected" by the outlives relation. So, for example, imagine this impl:
trait Foo {
    type Input;
    fn invoke(&self, x: Self::Input);
}

impl<'a> Foo for fn(&'a i32) {
    type Input = &'a i32;
    fn invoke(&self, x: &'a i32) {
       (*self)(x)
    }
}

If we didn't have this rule, then the impl would have to be illegal, because 'a would be "unconstrained" by the self type (with respect to outlives). IOW imagine that we decided that T::Input: 'static because T: 'static -- but here T=fn(&'a i32), and T::Input is &'a i32, so if fn(&'a i32): 'static then something is clearly wrong.
I entertained the idea of restricting impls rather than types but examples like that one seem perfectly reasonable and it would be a shame to make them illegal. Moreover, there isn't much use to be able to have a value of type fn(&'a i32) in a scope 'b where 'a: 'b doesn't hold, since you could never call it.

@RalfJung

I'm probably blind here, but doesn't the rule check that all argument types are WF? Following the NoHash example, for HashMap<NoHash, u32> to be WF, the where clause is checked according to the definitions above.

I'll double-check, I think that paragraph may have hung about from an earlier draft. The current impl I am working on does check fn arguments for WF, but it skips predicates that involve bound regions I think the best thing would be to check rather whether it's ever possible for the predicate to hold, but that's harder to implement at the moment.

If we didn't have this rule, then the impl would have to be illegal, because 'a would be "unconstrained" by the self type (with respect to outlives).

I see. So you don't actually plan to even check that whenever an impl is written, the requirement on associated types hold (which is what I would have expected) - instead, you want to be able to deduce that this is the case without any checking. That hasn't become clear to me.

Moreover, there isn't much use to be able to have a value of type fn(&'a i32) in a scope 'b where 'a: 'b doesn't hold, since you could never call it.

One could pass on the function pointer to someone who does know that 'a is still ongoing, even if we don't know that ourselves. Function pointers are Copy, but "keeping a lifetime alive" is a proper, non-duplicable permission, so it's not ruled out that this may be useful. But it's not like I can come up with an example ad-hoc.

updated numbers coming soon

Any updates?

I just pushed an updated version. This version includes, in particular, information about the number of affected crates. It took me some time to gather this information because cleaning up the implementation took some time (particularly achieving the desired "warning, not error" property).

The impact on crates.io is summarized in this section: https://github.com/nikomatsakis/rfcs/blob/projection-and-lifetimes/text/0000-projections-lifetimes-and-wf.md#impact-on-cratesio

@RalfJung

I see. So you don't actually plan to even check that whenever an impl is written, the requirement on associated types hold (which is what I would have expected) - instead, you want to be able to deduce that this is the case without any checking. That hasn't become clear to me.

I'm not 100% sure what you mean. We do check that the impl is legal. But I wish to be able to conclude that <P0 as Trait<...>>::Ty: 'a if Pi: 'a (for all i). I wish to be able to conclude this without knowing what impl is in use and so forth. If we are strict in the way that I mention, I believe we can do so.

One could pass on the function pointer to someone who does know that 'a is still ongoing, even if we don't know that ourselves. Function pointers are Copy, but "keeping a lifetime alive" is a proper, non-duplicable permission, so it's not ruled out that this may be useful. But it's not like I can come up with an example ad-hoc.

In general, I think we should try to maintain the invariant that if you can name a type, then it is in scope. There are some cases where this doesn't hold today, though I believe a slightly weaker form does: it can you reach data of a type, then all borrowed data contained within is in scope (modulo bugs in dropck). This may in fact be enough for all practical purposes (I'm still debating about this).
I definitely think we can imagine scenarios where being able to name types that may or may not be in scope are useful -- dropck, among them. But I think I'd prefer to address this in a more "robust" way, e.g. by explicitly declaring that some type T (or lifetime parameter 'a) is not necessarily in scope, and propagating that assumption though. Basically, I think the hypothetical use case you refer to is probably sufficiently rare that it is worth requiring extra annotations for that case, whereas the example I gave seems like something that will arise more commonly.

I'm not 100% sure what you mean. We do check that the impl is legal. But I wish to be able to conclude that <P0 as Trait<...>>::Ty: 'a if Pi: 'a (for all i). I wish to be able to conclude this without knowing what impl is in use and so forth. If we are strict in the way that I mention, I believe we can do so.

I think my statement was based on a misunderstanding, sorry for the confusion.

I definitely think we can imagine scenarios where being able to name types that may or may not be in scope are useful -- dropck, among them. But I think I'd prefer to address this in a more "robust" way, e.g. by explicitly declaring that some type T (or lifetime parameter 'a) is not necessarily in scope, and propagating that assumption though. Basically, I think the hypothetical use case you refer to is probably sufficiently rare that it is worth requiring extra annotations for that case, whereas the example I gave seems like something that will arise more commonly.

I agree it's a rare use-case - and even if Rust never supports such annotations, there's always the option of going through unsafe code.

It's official! The language design subteam has decided to accept this RFC.
There seems to have been no substantive disagreement on the major points in the RFC, and it's important to land this RFC so that the implementation can land. However, I'd like to encourage people to point out further problems or ambiguities. The text can of course be further updated as needed.

Tracking issue: https://github.com/rust-lang/rust/issues/27579

All these comments which are still sitting in the diff (including at least one typo ;-) - will you still be checking them, or should this somehow be moved to somewhere else?

@RalfJung

All these comments which are still sitting in the diff (including at least one typo ;-) - will you still be checking them, or should this somehow be moved to somewhere else?

Are you referring to your latest comments? Because I think I addressed those. But perhaps there are comments above that I've neglected to incorporate...?

@RalfJung ok, I went back over and saw I had indeed missed a few typos. They are corrected. If you have further suggestions, I'd say either make them here, or else just send me an e-mail :)

Ah, I had missed that you changed the text before merging. GitHub doesn't send an email notification for that :-/
So, most of my comments are addressed, thanks! The only remaining nit is the name of the rule in "WF checking a trait reference": I don't think it should be called "WfObjectFragment", right?

@RalfJung

So, most of my comments are addressed, thanks! The only remaining nit is the name of the rule in "WF checking a trait reference": I don't think it should be called "WfObjectFragment", right?

Gah. Yes, right.

This RFC is dramatically underestimating the number of broken crates. I've got three crates that break on their own, but they are listed as non-root breakages, presumably due to dependencies breaking as well -- most of those cases, just the dev-dependencies.

I have a question, this self-recursive type that contains a reference to a closure, rustc now requires bounds T: 'a, R: 'a. Is this really correct?
pub struct Fix<'a, T, R = T>(pub &'a Fn(Fix<T, R>, T) -> R);

@bluss it is correct, yes.

@bluss re: the question of root vs non-root, good point! I've wondered about that from time to time; seems like we should improve crater in this respect.

@nikomatsakis Ok thanks for chiming in on the Fix struct. This kind of type kind of ties my brain into a knot..
I'm not sure much can be done with crater, just that we basically don't know if leaf regressions are to be counted as regressions on their own or not, because the root regression makes it impossible to test. We just have to judge the numbers a bit differently, at least when so many crates as this are affected.

Ran into this error using an associated const on a trait. On IRC it was suggested that this is likely a compiler bug.
pub trait IterableEnum<T> {
    const ENUM_VARIANTS: &'static [T];
}

@Zalastra
Just add T: 'static. Not a bug.

It outputs two warnings

warning: the trait core::marker::Sized is not implemented for the type T
warning: the parameter type T may not live long enough

The first one must be a bug

@bluss it's odd because it seems like it doesn't take actual bounds into account - see fixed version (the Sized bound is unnecessary, but it's there to show the issue).

I agree that the T: Sized message is a bug. Did anyone file an issue?
On Tue, Sep 22, 2015 at 8:14 AM, Eduard-Mihai Burtescu <
<EMAIL_ADDRESS>wrote:

@bluss https://github.com/bluss it's odd because it seems like it
doesn't take actual bounds into account - see fixed version
https://play.rust-lang.org/?gist=343add7244bd4b210961&version=nightly&run=1
(the Sized bound is unnecessary, but it's there to show the issue).
—
Reply to this email directly or view it on GitHub
https://github.com/rust-lang/rfcs/pull/1214#issuecomment-142270767.


PhenotypicFeature severity vs SeverityLevel

The Beacon v2 PhenotypicFeature is mostly identical to the Phenopacket-schema, yet for some reason PXF::severity was modeled as Beacon::severityLevel. If I understand this correctly they are both the same type OntologyClass/OntologyTerm, but SeverityLevel is a typed version of one of these? What was the reasoning behind this decision? I can understand the reasons behind type -> featureType and adding notes, but severity -> severityLevel seems like change for change's sake, which hampers interoperability.
https://github.com/ga4gh-beacon/beacon-v2-Models/blob/539cb05dada755c7b1a66b2e187b9668fcfa670b/BEACON-V2-Model/common/phenotypicFeature.json#L44-L46
    "SeverityLevel": {
      "description": "Level/severity ontology when and as applicable to phenotype observed. Value from Human Phenotype Ontology (HP:0012824), e.g `mild`. The intensity or degree of a manifestation. [ HPO:probinson ] ",
      "$ref": "https://raw.githubusercontent.com/ga4gh-beacon/beacon-framework-v2/main/common/ontologyTerm.json",
      "examples": [
        { "id": "HP:0012825", "label": "Severe" },
        { "id": "HP:0012829", "label": "Profound" },
        { "id": "HP:0012826", "label": "Moderate" },
        { "id": "HP:0012825", "label": "Mild" },
        { "id": "HP:0012827", "label": "Bordeline" }
      ]
    },

AFAIK this was just to use the same typing/definition in multiple (well, 2) schemas instead of repeating it. In principle and apart from the renaming it doesn't change interoperability since severityLevel collapses to an OntologyTerm; and having a single prototype here has some theoretical advantage. However, since we've now decided to strive for closer PXF alignment this may be balanced out - unless you go the same way for PXF ¯\_(ツ)_/¯
I'll PR a change towards simple OT use & change of the parameter name.


do not discard empty schemas

Fixes empty schema issue, useful when empty schemas are used as place-holders for future use.
https://github.com/swagger-api/swagger-codegen/issues/5916
Added Unit test.  Successfully tested with travis-ci.

@Rajmohan apologies for missing this PR. It was covered in #552.


[DOCFIX] Add Table of contents nav bar on right side of page

The right side bar will stay at the same position while scrolling.
example without actually format:

with actually format:

alluxio-bot, merge this please

@ccmao1130 fyi


Install Coveralls test coverage reporter

Let's track test coverage.

Changes Unknown when pulling 2208c472b989c3eebd687692657c2b364850375e on tf:coveralls into ** on codevise:master**.


Capture output and send to slack (Fixes #6)

Adds option to capture the output of a command, and report it to slack.

Adding --capture-output changes the error that arises from poorly formatted commands. Have corrected this and added new error handling.