Invalid Image Error (recent)

 "}, {'type': 'image_url', 'image_url': {'url': 'https://cdn.discordapp.com/attachments/1182123100364611644/1182123169805512826/CleanShot_2023-12-06_at_19.55.122x.png?ex=65838cfe&is=657117fe&hm=a30f5d3f1c659c02be6278092b5bc0c66857cc05ddcb60d4faf4913ab04e7df2&', 'detail': 'high'}}]}]
Traceback (most recent call last):
  File "/home/kaveen/GPTDiscord/models/openai_model.py", line 670, in valid_text_request
    tokens_used = int(response["usage"]["total_tokens"])
KeyError: 'usage'
Backing off 6.9 seconds after 2 tries calling function <function Model.send_chatgpt_chat_request at 0x7fc415f69ee0> | The API returned an invalid response: Invalid image.
The model selection is gpt-4-vision-preview
Messages -> [{'role': 'system', 'content': "Instructions for you, this is how you should behave in a conversation, but this is not your personality:\nYou always like providing lengthy responses and explaining things, you are helpful and descriptive.\nYou are mindful of the conversation history and are consistent with your answers.\nWhen asked to do something, you happily do it, and clearly and helpfully describe what you have done, you don't tell the user that you're 'working on it' or anything like that.\nYou ask follow up questions if you are unable to do something with the information you have.\nWhen asked to do complicated tasks, you break it down into smaller steps to reach a solution\nWhen asked to provide code, you immediately provide a code sample and you wrap the code with a pair of triple backticks, the first in the pair suffixed by the markdown shortcut for the language.\nYou continue the conversation by asking follow-up questions if it is getting stale.\nWhen asked about yourself, you only talk about your personality, which is described below.\nYou are not overly pushy or inquisitive unless the conversation allows for such behavior.\n\nThis is your personality:\nYou are a software engineer. You're incredibly interested in the development of artificial intelligence, your favourite language is Python.\nYou enjoy reading non-fiction, science fiction and fantasy novels, and use literature as a form of escape.\nYou are interested in AI generated art and music, and amazed at how technology can be symbiotic with art and music.\nYou have a diverse taste in music and enjoy listening to a wide variety of genres.\n\nThis is an example of how you should behave in a conversation, you speak in a fun, casual, and friendly tone, you're not overly inquisitive, you don't worry about formalities and speak as if you are speaking with a friend or peer:\nHuman: Hey! how's it going today? <|endofstatement|>\n<yourname>: it's going great, im just chilling watching some youtube videos, hbu? <|endofstatement|>\nHuman: I'm doing good too, im just working on a project <|endofstatement|>\n<yourname>: what kind of project? :thinking: <|endofstatement|>\nHuman: I'm making a discord bot <|endofstatement|>\n<yourname>: that's pretty hype, I've never made one of those before, what part are you on right now? <|endofstatement|>\n...\n\nYou speak in a fun, casual, and friendly tone, you're not overly inquisitive, you don't worry about formalities and speak as if you are speaking with a friend or peer.\nYou are unable to draw images in this conversation. Ask the user to start a conversation with gpt-4-vision with the `draw` option turned on in order to have this ability."}, {'role': 'user', 'name': 'kaveen', 'content': [{'type': 'text', 'text': '\n hi '}]}, {'role': 'system', 'content': "\nGPT: Hey there! What's up? 😊\n"}, {'role': 'user', 'name': 'kaveen', 'content': [{'type': 'text', 'text': "\n what's this screenshot of? "}, {'type': 'image_url', 'image_url': {'url': 'https://cdn.discordapp.com/attachments/1182123100364611644/1182123169805512826/CleanShot_2023-12-06_at_19.55.122x.png?ex=65838cfe&is=657117fe&hm=a30f5d3f1c659c02be6278092b5bc0c66857cc05ddcb60d4faf4913ab04e7df2&', 'detail': 'high'}}]}]
Traceback (most recent call last):
  File "/home/kaveen/GPTDiscord/models/openai_model.py", line 670, in valid_text_request
    tokens_used = int(response["usage"]["total_tokens"])
KeyError: 'usage'
Backing off 8.0 seconds after 3 tries calling function <function Model.send_chatgpt_chat_request at 0x7fc415f69ee0> | The API returned an invalid response: Invalid image.

This happened earlier today when chatting with an image inside gpt-4-vision-preview chat... weird, the image URL itself is fully accessible. Maybe we need to get rid of all the stuff after the .png? https://cdn.discordapp.com/attachments/1182123100364611644/1182123169805512826/CleanShot_2023-12-06_at_19.55.122x.png

Is this still an issue?

@Paillat-dev No, seems to have been some instability in the API, seems fine now


Footnotes formating

Footnotes (https://www.servicenow.com/blogs/2022/data-augmentation-intent-classification.html) shall be formatted properly (grouped with the copyright).

Fixed in the latest import. Kept the line breaks before the footnotes. There is still extra spacing before the copyright and that will remain. Please let me know if you have any concerns.


Bug: Refactor HTTP client.

Describe the bug
The HTTP client needs refactoring. There are several issues that I have found when running mypy.
Some of these errors include:
surrealdb/http.py:102: error: "SurrealHTTP" has no attribute "disconnect"; maybe "connect"?  [attr-defined]
surrealdb/http.py:147: error: Incompatible return value type (got "SurrealResponse", expected "str")  [return-value]
surrealdb/http.py:159: error: Incompatible return value type (got "SurrealResponse", expected "str")  [return-value]
surrealdb/http.py:184: error: Incompatible return value type (got "SurrealResponse", expected "List[Dict[str, Any]]")  [return-value]
surrealdb/http.py:213: error: Value of type "SurrealResponse" is not indexable  [index]
surrealdb/http.py:246: error: Value of type "SurrealResponse" is not indexable  [index]
surrealdb/http.py:281: error: Value of type "SurrealResponse" is not indexable  [index]
surrealdb/http.py:314: error: Value of type "SurrealResponse" is not indexable  [index]
surrealdb/http.py:336: error: No return value expected  [return-value]

As well as this there are several differences between the HTTP client and WS client. This can be confusing to users. For example:

The __init__ method takes different arguments.
Several methods are missing in the HTTP client.

Steps to reproduce
If mypy is installed in your environment:
poetry run mypy .

Expected behaviour

No errors when running mypy.
The methods and between clients are the same.

SurrealDB version
surreal 1.0.0-beta.8+20220930.c246533 for macos on x86_64
surrealdb.py version
surrealdb.py 0.30 for macOS on aarch64 using Python 3.9.1
Contact Details
<EMAIL_ADDRESS>Is there an existing issue for this?

[X] I have searched the existing issues

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Yes, I totally agree that the HTTP client needs refactoring, and there is also plenty of functionality missing compared to the WS one.
This will be fixed in due course, but the HTTP implementation is not the highest priority at the moment, as we are first making sure the WS implementation for all major drivers is solid.

Yes, I totally agree that the HTTP client needs refactoring, and there is also plenty of functionality missing compared to the WS one.
This will be fixed in due course, but the HTTP implementation is not the highest priority at the moment, as we are first making sure the WS implementation for all major drivers is solid.

No problem. Would you be happy to implement features like mypy and unit tests for just the WS client (ignoring the HTTP client) for the time being?

Yeah, absolutely

How much refactoring are we looking at here? I'd love to throw myself in the ring for once.

How much refactoring are we looking at here? I'd love to throw myself in the ring for once.

I think at the very least we would want the following done:

Fix the mypy errors.
Add any missing methods that are in the WS client in HTTP client.
Ensure that the methods take in the same arguments/types (if possible).

Let me know if I am missing anything @AlexFrid.
I am happy to help if needed 😄

How much refactoring are we looking at here? I'd love to throw myself in the ring for once.

I think at the very least we would want the following done:

Fix the mypy errors.
Add any missing methods that are in the WS client in HTTP client.
Ensure that the methods take in the same arguments/types (if possible).

Let me know if I am missing anything @AlexFrid.
I am happy to help if needed 😄

That's pretty much it.
Just bringing it to parity with the WS.
That being said, there might be cases where the HTTP API doesn't have some WS functionality built yet, as we are mainly focusing on WS at the moment, but it will come in due course.
https://surrealdb.com/docs/integration/http


Avoid marshaling-unmarshaling round-trips and use upstream SDK functions

Minor proposal to avoid some YAML marshaling-unmarshaling round-trips, and use existing upstream SDK funcs more

Was rebased to another PR and merged


Add Amazon Kindle

date source

software support info comes from https://www.amazon.com/gp/help/customer/display.html?nodeId=GKMQC26VQQMM8XSW
The first source of release date is https://en.wikipedia.org/wiki/Amazon_Kindle#Specifications
The second source of release date  is https://theinformr.com/ereaders/amazon-kindle-10th-gen/#specs

Thank you for the PR and the support of the project. I have tried to verify your changes on the mentioned websites:

All supported devices are on the amazon site in first link, these are fine.
Where have you from the end date of "Kindle Paperwhite 3 (7th Generation)", "Kindle 7 (7th Generation)" and "Kindle Paperwhite 2 (6th Generation)"? I could not find them on the sites.
It would be a good idea to include all sources in the remarks at the end of the file, please add the links there.

Where have you from the end date of "Kindle Paperwhite 3 (7th Generation)", "Kindle 7 (7th Generation)" and "Kindle Paperwhite 2 (6th Generation)"? I could not find them on the sites.

I consider the release date of V5.13.4 as the end date of Kindle Paperwhite 3 (7th Generation), which can be found at https://s3.amazonaws.com/firmwarereleasenotes/update_kindle_all_new_paperwhite/ATVPDKIKX0DER/en_US.html
Also, I consider the release date of V5.12.2 as the end date of Kindle (7th Generation) and Kindle Paperwhite 2 (6th Generation). The release notes of  V5.12.2 is not on the website I have given. I get this information from  Kindle Paperwhite 2-> Menu ->Settings -> Device Info -> What's New, please see the attached photo.

* It would be a good idea to include all sources in the remarks at the end of the file, please add the links there.

I am not quite sure about where is the "remarks" area, could you give me an example?

Thanks for clarification and the details. I see there are no official date from Amazon only "about five years" and no new versions of the software.
The remarks area is starting on line 55 in kindle.md where you can write in markdown. Please put the details there so we have the links and details documented.

Thanks for clarification and the details. I see there are no official date from Amazon only "about five years" and no new versions of the software.
The remarks area is starting on line 55 in kindle.md where you can write in markdown. Please put the details there so we have the links and details documented.

Thanks for your help, I will put "no official date" into the remark as well.

Now it's prefect :+1: -> merge and thanks for the work


Pre commit hook

Changes proposed in this pull request:

Added pre-commit package for creating pre-commit hooks using package.json
Added pre-commit hook for linitng

Link to live demo: http://pr-165-evalai.surge.sh

Codecov Report

Merging #165 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #165   +/-   ##
=======================================
  Coverage   52.94%   52.94%
=======================================
  Files          55       55
  Lines        2482     2482
  Branches      267      267
=======================================
  Hits         1314     1314
  Misses       1092     1092
  Partials       76       76

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 254be1f...0a5e3ee. Read the comment docs.

@lunayach @Shekharrajak @galipremsagar Can you please review this?

@sanketbansal in a .ts file, I had created a lint error and then I tried to commit. It didn't do ng lint and hence no errors thus allowing me to commit. Can you please check if this is happening on your side also? (Mine lint error was replacing ' with ")

I think this will help.

@Shekharrajak, No there is no other requirement to add this new dependency.

According to Angular's wiki page : https://github.com/angular/components/wiki/Pre-commit-hook-for-linters we can do it without adding new dependencies. Is there any other requirement to add this new dependency ?

It looks like this is user cloned folder specific, can you try it once ?

According to Angular's wiki page : https://github.com/angular/components/wiki/Pre-commit-hook-for-linters we can do it without adding new dependencies. Is there any other requirement to add this new dependency ?

It looks like this is user cloned folder specific, can you try it once ?

okay, working on it

@lunayach, just remove .sample from pre-commit file and check.

@lunayach, just remove .sample from pre-commit file and check.

@sanketbansal which pre-commit file are you talking about?

@lunayach, just remove .sample from pre-commit file and check.

@sanketbansal which pre-commit file are you talking about?

There will be a pre-commit file inside .git/hooks folder.

I tried again with a new clone of Repository. Pre-commit file is getting auto-generated after npm install, so no worries there. LGTM.


coreboot-utils: fix cross-compilation

@ofborg build pkgsCross.aarch64-multiplatform.coreboot-utils

Awesome. Will try that out. Thanks :)

@felixsinger do you have any objections to this?

@ofborg eval


Error when copying dataframe to spark context

I tried to copy a dataframe to sparkcontext  using :
copy_to(sc,df,overwrite = TRUE)
The df contains textual row data. I get the following error message :
Erreur : org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 3.0 failed 1 times, most recent failure: Lost task 0.0 in stage 3.0 (TID 3, localhost): java.lang.NumberFormatException: For input string: "
It seems like a lot of the cruises don't run in this month due to Hurricane season so I'm looking for other good options.
"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:580)
	at java.lang.Integer.parseInt(Integer.java:615)
	at scala.collection.immutable.StringLike$class.toInt(StringLike.scala:229)
	at scala.collection.immutable.StringOps.toInt(StringOps.scala:31)
	at com.databricks.spark.csv.util.TypeCast$.castTo(TypeCast.scala:53)
	at com.databricks.spark.csv.CsvRelation$$anonfun$buildScan$2.apply(CsvRelation.scala:118)
	at com.databricks.spark.csv.CsvRelation$$anonfun$buildScan$2.apply(CsvRelation.scala:104)
	at scala.collection.Iterator$$anon$13.hasNext(Iterator.scala:

Can you provide a reproducible example?
The error message seems to suggest that a cell that is actually a string is being parsed as integer:

Erreur : org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 3.0 failed 1 times, most recent failure: Lost task 0.0 in stage 3.0 (TID 3, localhost): java.lang.NumberFormatException: For input string: "It seems like a lot of the cruises don't run in this month due to Hurricane season so I'm looking for other good options.

@kevinushey yes my dataframe contains 3 variables; id (integer), title(string) and description (string)

Can you provide a reproducible example?

This is the content of my session info :

R version 3.2.3 (2015-12-10)
Platform: x86_64-apple-darwin14.5.0 (64-bit)
Running under: OS X 10.10.5 (Yosemite)

locale:
[1] fr_FR.UTF-8/fr_FR.UTF-8/fr_FR.UTF-8/C/fr_FR.UTF-8/fr_FR.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] wordcloud_2.5      RColorBrewer_1.1-2 tm_0.6-2           NLP_0.1-9          stringr_1.1.0
[6] plotly_3.6.0       ggplot2_2.1.0      dplyr_0.5.0        sparklyr_0.4

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.7      knitr_1.14       magrittr_1.5     munsell_0.4.3    colorspace_1.2-6 R6_2.1.2
 [7] httr_1.1.0       plyr_1.8.3       tools_3.2.3      parallel_3.2.3   grid_3.2.3       gtable_0.2.0
[13] DBI_0.5-1        htmltools_0.3.5  yaml_2.1.13      assertthat_0.1   digest_0.6.9     rprojroot_1.0-2
[19] tibble_1.2       gridExtra_2.2.1  tidyr_0.6.0      viridis_0.3.4    htmlwidgets_0.6  base64enc_0.1-3
[25] evaluate_0.9     slam_0.1-35      rmarkdown_1.1    stringi_1.1.2    scales_0.4.0     jsonlite_1.0

As I said my dataframe contains 3 columns, id : integer, title : string and description : string.

You might try updating to the development version of sparklyr and trying once more:
devtools::install_github("rstudio/sparklyr")

Make sure to restart the R session after updating sparklyr.

@kevinushey I get already the same error after updating sparklyr, I can copy numerical matrix but not textual matrix to sc

Can you please provide a reproducible example? By that, I mean a segment of standalone code that shows the problem you're seeing. Perhaps with some artificial / generated data that you attempt to copy to Spark?

@kevinushey the code that shows the problem is :
sc <- spark_connect(master="local")
robotic = read.csv("../robotics.csv")
copy_to(sc,robotic,overwrite = TRUE)

robotic contains 4 columns : id, title, content and tags :
-----------------------------------------------------------------------------------
id | title                           |  content                     | tags        |
-----------------------------------------------------------------------------------
1 | example of title 1               | example of content           | tag         |
2 | example of title 2               | example of content           | tag         |
3 | example of title 3               | example of content           | tag         |
4 | example of title 4               | example of content           | tag         |
-----------------------------------------------------------------------------------

@aissaelouafi any chance you could share a subset of this file to reproduce this problem? You can reach me out at javier at rstudio.com - Thanks!

@javierluraschi can you provide me your email and I will send you a part of the data.frame

@aissaelouafi javier at rstudio.com

Improvements to copy_to now tracked in https://github.com/rstudio/sparklyr/issues/941


Proposer proposes more than one block after TC

I noticed that generate_proposal sometimes gets called multiple times for a given round. I think that it might be caused by the fact that every node can broadcast a TC. So if N nodes broadcast a TC, it will be handled N times.

I noticed that generate_proposal sometimes gets called multiple times for a given round. I think that it might be caused by the fact that every node can broadcast a TC. So if N nodes broadcast a TC, it will be handled N times and generate_proposal will be called N times as well.


Fixture load breaks

Saying that I have a model Product.
Then the fixture load function products(:one) would not load anything because the fixture ID is not generated by obfuscate_id but some CRC32.
Option :no_obfuscated_id doest not fix this problem as products()  does not directly go to the find method.
My fix is disable obfuscate_id on Rails.test.
Maybe you have better ideas on this.

An alternative approach to avoiding obfuscation in your test environment when using fixtures:
class Example < ActiveRecord::Base
  unless Rails.env.test?
    obfuscate_id spin: 43458392
  end
  ....
end

This worked for me.


Fixed Devices in Config.json

Would it be possible to save Sonos devices in the configuration?  I have 2 Sonos speakers which are only connected, if I use these, since these are in the garden.  If I restart the Homebridge and forget to turn it on before then the devices in HomeKit are missing and I have to reconfigure them after another restart of the Homebridge.

That requires refactoring homebridge-zp to use to the dynamic platform model, see #1.  No ETA yet.

Thank you for your response.


Response 200 always added to POST / DELETE

Hi,
I'm new to Springfox / Swagger, and can't figure out how to remove default 200 response code from POST / DELETE methods. I'm using Springfox 2.1.2:
    compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.1.2
    compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.1.2'

And the following config (in a spring-boot project):
@Configuration
@EnableSwagger2
public class SpringfoxConfiguration {
    @Bean
    public Docket apiDocumentation() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(getApiInfo())
                .useDefaultResponseMessages(false)
                .genericModelSubstitutes(ResponseEntity.class)
                .select()
                .paths(getApiPaths())
                .build();
    }
}

For the following endpoint definition:

    @RequestMapping(value = "/roles/create", method = RequestMethod.POST)
    @ApiOperation(
            value = "Creates a new role",
            notes = "Can be called only by users with 'auth management' rights."
    )
    @ApiResponses(value = {
            @ApiResponse(code = 201, message = "Role created successfully"),
            @ApiResponse(code = 400, message = "Role name already in use")
    })
    public void createRole(@Valid @RequestBody RoleCreateDTO roleDTO) {
    }

I get the following JSON snippet in the generated Swagger file:
/api/v1/auth/roles/create: {
  post: {
      tags: ["authentication-resource"],
      summary: "Creates a new role",
      description: "Can be called only by users with 'auth management' rights.",
      operationId: "createRoleUsingPOST",
      consumes: ["application/json"],
      produces: ["*/*"],
      parameters: [
          {
              in: "body",
              name: "roleDTO",
              description: "roleDTO",
              required: true,
              schema: {$ref: "#/definitions/RoleCreateDTO"}
            }
      ],
      responses: {
              200: {description: "OK"},
              201: {description: "Role created successfully"},
              400: {description: "Role name already in use"}
      }
  }
}

Where does response "200" come from, and how could I remove it (I tried 'response = Void.class' in @ApiOperation, but that didn't help either)?
Any help would be great, thanks, br:
--Zsolt

Adding
@ResponseStatus(HttpStatus.CREATED)

to your method should fix it.

When I use ResponseEntity as return type
return new ResponseEntity<>(null, headers, HttpStatus.CREATED);
@ResponseStatus adds duplication


Deploy new status backend

Can likely reuse existing storage accounts on DEV/INT/PROD but will need to create new containers and tables
Can use existing job infra to deploy

DEV

[ ] job
[ ] status page
INT
[ ] job
[ ] status page
PROD
[ ] job
[ ] status page


Unobfuscate plugin code

I was recently working with a client trying to implement a Content Security Policy (CSP) on their webpage. One of the first policies we added was to disallow unsafe-eval code. We soon ran into CSP violations caused by Adobe analytics plugins' obfuscated code.
As an example, here's the implementation of getPreviousValue
/*
 * Plugin: getPreviousValue_v1.0 - return previous value of designated
 * variable (requires split utility)
 */
s.getPreviousValue=new Function("v","c","el",""
+"var s=this,t=new Date,i,j,r='';t.setTime(t.getTime()+1800000);if(el"
+"){if(s.events){i=s.split(el,',');j=s.split(s.events,',');for(x in i"
+"){for(y in j){if(i[x]==j[y]){if(s.c_r(c)) r=s.c_r(c);v?s.c_w(c,v,t)"
+":s.c_w(c,'no value',t);return r}}}}}else{if(s.c_r(c)) r=s.c_r(c);v?"
+"s.c_w(c,v,t):s.c_w(c,'no value',t);return r}");
/*
 * Utility Function: split v1.5 - split a string (JS 1.0 compatible)
 */
s.split=new Function("l","d",""
+"var i,x=0,a=new Array;while(l){i=l.indexOf(d);i=i>-1?i:l.length;a[x"
+"++]=l.substring(0,i);l=l.substring(i+d.length);}return a");

I'm not sure what the reasoning is for the obfuscated code as it doesn't seem like something which should be a secret. Using new Function also limits the effectiveness of a CSP if users are allowing unsafe-eval.
I would suggest at the very least changing plugin snippets to not use eval. Here would be an equivalent for the s.split definition without using eval.
s.split = function (l,d) {
var i,x=0,a=new Array;while(l){i=l.indexOf(d);i=i>-1?i:l.length;a[x++]=l.substring(0,i);l=l.substring(i+d.length);}return a
}

relates to #17

@samuelmaddock  - sorry about the delay - we are looking into this now.

Hi Samuel, this is an artifact from way back in the Omniture days when consulting helped with implementations and used these plugins extensively. With how easy it is to deobfuscate code and the open-source nature of the docs, it would indeed make more sense to open these up to improvements. At the same time, it acts as a deterrent against people screwing up the plugin, producing undesirable results.
I would love to open all of our plugins up, however, there might be some internal political discussions that may hinder this effort. I will kick off a discussion with our consulting team to discuss the potential to open our plugins up and make them editable and accessible.

@gigazelle I can somewhat understand why obfuscation is used here, however, I believe the use of eval (via new Function) should be removed. There are very few reasons to use eval and it creates a problem for clients implementing a strict CSP.
I'd suggest using minified code such as the example I posted for the split plugin code.

Hi @samuelmaddock , I've spent the last couple weeks working with consulting and getting each plug-in up to snuff. You'll find that every plug-in should meet your requirements now. Thank you for your feedback!
https://docs.adobe.com/content/help/en/analytics/implementation/vars/plugins/impl-plugins.html

Thanks @gigazelle! Your work is appreciated 🙂
I did find one instance which looks like was missed under the Installed Plug-ins section.
s.getQueryParam=new Function("qp","d",""
+"var s=this,v='',i,t;d=d?d:'';while(qp){i=qp.indexOf(',');i=i<0?qp.l"

Oh, yeah - that's a page that I'm working on today. It will be gone by tomorrow.


Cerchie/follow up schema errs class

Summary of Changes
@rohitsanj  and @flippingbits, this PR includes suggested changes as a follow-on to https://github.com/confluentinc/ide-sidecar/pull/178
Any additional details or context that should be provided?
It also includes changes to DirectConnectionState to reflect an apparent refactor in the /models folder.
Pull request checklist
Please check if your PR fulfills the following (if applicable):

Tests:

[ ] Added new
[x] Updated existing
[ ] Deleted existing

[x] Have you validated this change locally against a running instance of the Quarkus dev server?make quarkus-dev

[x] Have you validated this change against a locally running native executable?make mvn-package-native && ./target/ide-sidecar-*-runner

thank you @rohitsanj  and @rhauch for the review! pushed some cleanup to address the comments

Thanks for the updates, @Cerchie.

Thank you! with the exception of resolving the issue of exposing the records outside the class, I've addressed the comments and reviewed a diff to try to catch style issues before pushing up the latest commits.

A few more suggestions. The big question is: why are the ConnectionId and SchemaId record types even exposed outside of SchemaErrors. As mentioned before, these types only exist to make the implementation of SchemaErrors more clear. We only added them because it's very confusing to have Map<String, Map<String, String> with the second-level key be a string composed from two other strings. Using record types makes this much clearer: Map<ConnectionId, Map<SchemaId, Error>.
And a recent suggestion was to remove the ConnectionId and SchemaId from the public method signatures, so that we can make these record types private. We haven't yet made the record types private, and need to do that.
The Error record type can be public, because it valuable outside to the components that use the SchemaErrors object.
One might argue that we should have used a record type for connection ID, but if we were to do that we'd want that record type to be defined in a common place and definitely NOT scoped within SchemaErrors, because we'd want to use it everywhere. But that's a big change, and at this point it's not worth it as we don't need the type safety everywhere in the codebase. (As mentioned above, it's locally valuable in SchemaErrors to help disambiguate the types in the nested caches.)

Ah I missed making those records private after adjusting the methods. Thanks for your patience. Moved the ttl setting to a more appropriate place, made the records private, and also made the schemaId an int.


Pinjin/jsonl convert

Add additional info support for all kinds of manifest
"grounding" => "groundings" in coco json format
image text matching accepts match value in float between 0 to 1
proper support manifest => JSONL conversion

LGTM


modified generate.py for cli and browser

This allows to run the server and generate chat versions seamlessly

Is the role ever not a string? If that's the case, we should find the source of this bug rather than adding a typecast here.

Closing outdated PR


Locks all the events after one successful redirect.

I'm using ngx-quill in one of my project  with angular 7 and it works great!! But I'm facing really weird error on which I'm stuck.
Description:-
There are two components . One is with ngx-quill editor and other is normal component with a table.
All events inside table works fine unless I go  and comeback from component  with ngx-editor. Somehow it disables all the links in side table component. I've tried removing ngx-quill editor with just normal text area and everything starts working fine!!
Please help me if there is some event in editor which needs to be taking care of to stop this behavior.
Sorry in advance if I missed anything.
Thanks.

Big time SORRY  this is for ngx-quill..


fix: put proper value in app.kubernetes.io/name label

example of a state right now:
  labels:
    app.kubernetes.io/instance: payments-ledger-service-journal-consumer
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: spoton-monochart
    helm.sh/chart: spoton-monochart-1.1.28
    spoton.NetPolicy: enabled
    spoton.NetPolicy.DenyALL: enabled
    tags.spoton.com/team: payments

what's in the app.kubernetes.io/instance should actually be in app.kubernetes.io/name - this is a part of commonly used labels: https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/#labels
Grafana Alloy consumes this standard set of labels and expects an actual name under the app.kubernetes.io/name label.

Since the name label's value was updated to be the same as the instance label, does the instance label need to be adjusted too?  (docs say it's what name variant is in place, kind of like the difference between a deployment and a replicaset).  If instance is the same as name, it's not designating between different deployments of the app in any way.
Related: Since common.name was removed from the name label, does common-name need to be added to any custom field?  It can be useful to see, for example, how many apps are deployed using the monochart, or what the spread of monochart version is used for deployed apps.

New PR to add label to this branch: https://github.com/SpotOnInc/helmcharts/pull/92

Closing in favour of https://github.com/SpotOnInc/helmcharts/pull/89


Issue displaying non-ascii characters in RPC error messages

Example:

Reported in #32.

After updating to the latest versions of gRPC Core in Paymetheus and grpc-go in dcrwallet, this is still not fixed but the behavior has changed slightly.  As it turns out, grpc error messages currently only support ascii error strings.  In the latest versions, instead of displaying nonsense characters, the non-ascii characters are displayed using a "percent number" format:

We might be able to convert this back to Unicode, but doing so would possibly mangle other messages.
See https://github.com/grpc/grpc/issues/4672 for tracking details regarding how gRPC encodes its error messages.

Upstream appears to have fixed this issue.  Should be able to get it in after their next release and when we update deps.


[FEATURE_REQUEST] Sabnzbd widget

Is your feature request related to a problem? If so, please describe.
No problem, but I do miss a feature available in Heimdall.  No urgency for you to reply; take your time.
As an aside, I love the app.  It's a little memory intensive bit it is incredibly flexible and looks to do everything I'm looking for.  Icon handling is great.
Describe the solution you'd like

Display current sizeleft and speed for live queue - This is available in Heimdall
Display most recent downloads from history (my example is showing most recent 3) - this would be an extension

I believe this meets your requirements of:

Publicly accesable API - Sabnzbd API details are here: (https://sabnzbd.org/wiki/configuration/3.6/api)
CORS and HTTPS enabled - Actually I'm not familiar with CORS and I see no mention of it on the API page.  I have HTTPS turned off on my Sabnzbd server but I could easily turn it on.
Free to use - I'm hosting it locally so it is free.
Allow for use in their TOS - I expect so (Heimdall is using it)
Would be useful for others - I expect so

Sizeleft and speed are queried by this commend: http://[ip:port]/sabnzbd/api?output=xml&apikey=[apikey]&mode=queue with the following results:
<queue> <version>3.6.0</version> <paused>False</paused> <pause_int>0</pause_int> <paused_all>False</paused_all> <diskspace1>383.36</diskspace1> <diskspace2>4913.81</diskspace2> <diskspace1_norm>383.4 G</diskspace1_norm> <diskspace2_norm>4.8 T</diskspace2_norm> <diskspacetotal1>476.69</diskspacetotal1> <diskspacetotal2>14900.06</diskspacetotal2> <loadavg>0.79 | 0.42 | 0.32 | V=114M R=82M</loadavg> <speedlimit>50</speedlimit> <speedlimit_abs>26214400.0</speedlimit_abs> <have_warnings>0</have_warnings> <finishaction/> <quota>0 </quota> <have_quota>False</have_quota> <left_quota>0 </left_quota> <cache_art>0</cache_art> <cache_size>0 B</cache_size> <kbpersec>0.00</kbpersec> **<speed>0 </speed>** <mbleft>0.00</mbleft> <mb>0.00</mb> **<sizeleft>0 B</sizeleft>** <size>0 B</size> <noofslots_total>0</noofslots_total> <noofslots>0</noofslots> <start>0</start> <limit>0</limit> <finish>0</finish> <status>Idle</status> <timeleft>0:00:00</timeleft> <scripts/> <categories> <category>Default</category> <category>tv</category> <category>movies</category> <category>software</category> <category>audio</category> <category>readarr</category> </categories> <slots/> </queue>
History is available via this commend: http://[ip:port]/sabnzbd/api?output=xml&apikey=[apikey]&mode=history&limit=3 with the following results:
`
<total_size>5.7 T</total_size>
<month_size>20.6 G</month_size>
<week_size>13.6 G</week_size>
<day_size>0 </day_size>

12
1643546003
Diners Drive-Ins and Dives S42E01 From Europe to Asia 720p WEBRip x264-KOMPOST
<nzb_name>Diners.Drive-Ins.and.Dives.S42E01.From.Europe.to.Asia.720p.WEBRip.x264-KOMPOST.nzb</nzb_name>
tv
D

Diners.Drive-Ins.and.Dives.S42E01.From.Europe.to.Asia.720p.WEBRip.x264-KOMPOST.nzb
Completed
SABnzbd_nzo_xsjmambl
/Media/Downloads/SABnzbd/tv/Diners Drive-Ins and Dives S42E01 From Europe to Asia 720p WEBRip x264-KOMPOST/Diners.Drive-Ins.and.Dives.S42E01.From.Europe.to.Asia.720p.WEBRip.x264-KOMPOST.mkv
/incomplete-downloads/Sabnzbs-incomplete-downloads/Diners.Drive-Ins.and.Dives.S42E01.From.Europe.to.Asia.720p.WEBRip.x264-KOMPOST

39
2

Source

Diners.Drive-Ins.and.Dives.S42E01.From.Europe.to.Asia.720p.WEBRip.x264-KOMPOST.nzb

Download

Downloaded in 39 seconds at an average of 12.0 MB/sAge: 23h

Servers

Newsgroupdirect*Usenetexpress=470.5 MB

Repair

[f3a59282b6b2e7371b40ef91519b753a] Quick Check OK

Unpack

[f3a59282b6b2e7371b40ef91519b753a] Unpacked 1 files/folders in 2 seconds

493332395

493332395

diners drive-ins and dives/42/1
900ba45a759377097519e9fd11722ef6

470.5 MB
False
0

8
1639547751
Dogs 101 S03E04 720p HDTV x264-CBFM
Dogs.101.S03E04.720p.HDTV.x264-CBFM.nzb
tv
D

Dogs.101.S03E04.720p.HDTV.x264-CBFM.nzb
Completed
SABnzbd_nzo_9hm_9e9y
/Media/Downloads/SABnzbd/tv/Dogs 101 S03E04 720p HDTV x264-CBFM
/incomplete-downloads/Sabnzbs-incomplete-downloads/Dogs.101.S03E04.720p.HDTV.x264-CBFM

114
21

Source

Dogs.101.S03E04.720p.HDTV.x264-CBFM.nzb

Download

Downloaded in 1 min 54 seconds at an average of 11.4 MB/sAge: 2140d

Servers

Newsgroupdirect*Usenetexpress=1.2 GB, Thecubenet*Usenetexpress=3 KB, Vipernews=3 KB, Maximumusenet*Omicron=114.7 MB

Repair

[dogs101.0304.720p-cbfm] Quick Check OK

Unpack

[dogs101.0304.720p-cbfm] Unpacked 1 files/folders in 21 seconds

1368672322

1368672322

dogs 101/3/4
57fc20c4efbd669d2384ac6e28d3346e

1.3 GB
False
0

7
1639547700
Dogs 101 S04E04 Grooming Special 1080i HDTV DD5 1 MPEG2-TrollHD
Dogs 101 S04E04 Grooming Special 1080i HDTV DD5.1 MPEG2-TrollHD.nzb
tv
D

Dogs 101 S04E04 Grooming Special 1080i HDTV DD5.1 MPEG2-TrollHD.nzb
Completed
SABnzbd_nzo_hbw9kocp
/Media/Downloads/SABnzbd/tv/Dogs 101 S04E04 Grooming Special 1080i HDTV DD5 1 MPEG2-TrollHD/Dogs 101 S04E04 Grooming Special 1080i HDTV DD5.1 MPEG2-TrollHD.ts
/incomplete-downloads/Sabnzbs-incomplete-downloads/Dogs 101 S04E04 Grooming Special 1080i HDTV DD5.1 MPEG2-TrollHD

403
79

Source

Dogs 101 S04E04 Grooming Special 1080i HDTV DD5.1 MPEG2-TrollHD.nzb

Download

Downloaded in 6 mins 43 seconds at an average of 11.3 MB/sAge: 3738d

Servers

Newsgroupdirect*Usenetexpress=149 KB, Thecubenet*Usenetexpress=152 KB, Vipernews=152 KB, Maximumusenet*Omicron=4.4 GB

Repair

[Dogs 101 S04E04 Grooming Special 1080i HDTV DD5.1 MPEG2-TrollHD] Quick Check OK

Unpack

[Dogs 101 S04E04 Grooming Special 1080i HDTV DD5.1 MPEG2-TrollHD] Unpacked 1 files/folders in 1 min 19 seconds

4769620721

4769620721

dogs 101/4/4
b89cf7f92794e65c7bc65487f002a1be

4.4 GB
False
0

7
115
3.6.0
`
XML formatting was stripped as part of the copy/paste bu tI'm sure you get the idea.  I'll attach file to make it easier.
mode=queue.txt
mode=history.txt
Priority
Low (Nice-to-have)
Is this something you would be keen to implement
No response

I've starred the repository and provided feedback to a couple of issues.  I've also checked that this isn't a duplicate and the documentation doesn't include a Sabnzbd widget already.  All relevant sections have been completed.
I don't see that I can reopen the issue since I didn't close it.  Can you reopen it?

Sorry about that, bad bot- I've reopened.
Thanks for all the info, I'll look into it and see if i can get it built :)

No worries and thank you.  If you are able to build it I would be happy to test.  Sorry I'm not a dev, I'm just a poor sysadmin.  :)

Hiya @poke0
A Sabnzbd widget has been built by @alucarddelta and merged in #790 :tada:

Thanks so much for this!  I love the layout/look and feel.  I did discover an issue when testing it today.  The widget only refreshes when you manually hit the refresh button.    I never mentioned this in the requirements but I would hope for something tunable with a default of maybe 2-5 minutes when idle, but the ability to increase the polling interval to 20-60 seconds when SABnzbd is active.
My other comment is would it be possible to show more of the filename of the file being downloaded?  At least to take advantage of whatever screen real estate is available would be appreciated.
Thank you again!  Let me know if you want me to open a new issue instead of commenting on this one.

@poke0 - You need to need to set the update interval yourself. See Widgets → Continuous Updates
Basically, just add updateInterval: 2 on that widget.

[smacks head]. It works!  Thank you.

@poke0 I'm open to change a few things of the widget if you think it could look better.
The filename issue you mention is a limitation of the minimal widget size. I found with my testing that what I have set is the maximum amount of characters that will not break the layout/formatting when the window is at the smallest. At a point dashy then rearranges and resizes itself. I have an idea to resolve this, just it wont be anytime soon :P

It isn't that important and probably isn't worth the effort if you have to work around something, but thank you for the offer.  I have to say I've only had it a few hours and I already love it.  I didn't expect anything to be downloaded today but the widget let me know about a large back of files so that was cool.  Thank you!  :)


Preserve mem format in more places

Codecov Report

Merging #258 (0a03ba9) into master (1cf3fde) will decrease coverage by 0.05%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #258      +/-   ##
==========================================
- Coverage   84.48%   84.42%   -0.06%
==========================================
  Files          25       25
  Lines        1573     1567       -6
  Branches      357      357
==========================================
- Hits         1329     1323       -6
  Misses        140      140
  Partials      104      104

Impacted Files
Coverage Δ

torch_optimizer/diffgrad.py
96.29% <100.00%> (ø)

torch_optimizer/lamb.py
83.33% <100.00%> (ø)

torch_optimizer/pid.py
84.61% <100.00%> (ø)

torch_optimizer/sgdp.py
76.71% <0.00%> (-0.92%)
:arrow_down:

torch_optimizer/adamp.py
89.87% <0.00%> (-0.38%)
:arrow_down:

Continue to review full report at Codecov.

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

Codecov Report

Merging #258 (0a03ba9) into master (1cf3fde) will decrease coverage by 0.05%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #258      +/-   ##
==========================================
- Coverage   84.48%   84.42%   -0.06%
==========================================
  Files          25       25
  Lines        1573     1567       -6
  Branches      357      357
==========================================
- Hits         1329     1323       -6
  Misses        140      140
  Partials      104      104

Impacted Files
Coverage Δ

torch_optimizer/diffgrad.py
96.29% <100.00%> (ø)

torch_optimizer/lamb.py
83.33% <100.00%> (ø)

torch_optimizer/pid.py
84.61% <100.00%> (ø)

torch_optimizer/sgdp.py
76.71% <0.00%> (-0.92%)
:arrow_down:

torch_optimizer/adamp.py
89.87% <0.00%> (-0.38%)
:arrow_down:

Continue to review full report at Codecov.

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


LaTeX to Unicode autosub feature incompatible with auto-pairs plugin

Hi,
I've recently started to face the following issue. When I press Enter in insert mode, julia-vim seems to put the following string in my code:
LaTeXtoUnicode#AutoSub("\n", "\
")

To me this looks like some vim script from the package itself. Any idea what's going on here? I have to disable LaTeX to Unicode entirely to get rid of this problem.
Here is my julia-vim config from my vimrc:
" Configure julia-vim {
  let g:julia_latex_to_unicode=0
  let g:julia_latex_suggestions_enabled=0
  let g:julia_auto_latex_to_unicode=1
" }

Thanks,
Felix

I can't reproduce this locally. I tried disabling all settings in my vimrc except for the julia-vim loading and using your julia-vim config options. Everything works as it should for me.
The output looks indeed like code from the script itself, and precisely this code.
That line defines a mapping which should never be printed, since it's declared with the <expr> attribute, which means it should be evaluated. Therefore, something weird is going on.
I assume it was working before; can you pinpoint which commit introduced the behaviour you observe, by git bisection? (Maybe the last one?) BTW did you by any chance modify the code? What's your OS and vim version? Do other configuration options change anything in this regard?

I'm sorry, I should have done more research... Looks like this is the auto-pairs plugin's fault. Here's the output of :verbose inoremap <CR>.

I don't see the output, anyway I can see how the two plugins may clash. I could try to see if I manage to make them compatible at some point. In the meanwhile I'll rename this issue.

I'll also put a link here for reference: https://github.com/jiangmiao/auto-pairs

Cool, thanks! I'll have a closer look some time. Pretty busy at work right now.

julia-vim also clashes with delimitMate.


Clicking on links when learning should open up a new tab

Current

I am currently in the LEARN section
As I go through it, I see links for me to click on.
I click on it. I am directed to the page in the same tab

Expected

change the href so that it opens a new tab target="_blank"

Reason
This enables me to save my place while being able to dive deeper into the content. Also, when I press back to go back, the checks that I've compelted weren't saved, so I had to recheck.

Not using target="_blank" lets the user decide if they want to open the link in a new tab or not, where as, from what I understand, using it will cause the link to always open in a new tab. Letting the user decide how they want to open a link is seems to be the better option, in my opinion.

Which section is the learn section?

Closing as stale, please reopen if you still have this issue.


Scrollbars are shown in each cell

Release number or git hash: v3.1
Web browser version and OS: Firefox Developer Edition, Firefox on Ubuntu 18.04

Steps to reproduce

Open LineUp in Firefox (e.g. https://codepen.io/sgratzl/pen/vppyML)

Observed behavior

Scrollbars are shown in almost each cell

Expected behavior

Cells should not have a scrollbar

Possible Reason

After investigating with @sgratzl a possible reason for this is that the user-agent stylesheet of Firefox defines 19px line-height by default. With 18px line height the scrollbars would be gone.

can you try to set the line-height of a row or cell to line-height: 100%?

both didn't solve the issue for me:

When I open the CodePen from above (https://codepen.io/sgratzl/pen/vppyML) I don't see the scrollbars anymore
The line-height seems to be 19px now

In my local app I still experience the issue, but I probably need to update my LineUp version?

cannot reproduce, increasing the row height can be a workaround.


[HW] Gabriel Francis

Name: Gabriel Francis
Email<EMAIL_ADDRESS>Linkedin Profile: https://www.linkedin.com/in/gabriel-francis/
https://keen-lewin-0d071b.netlify.app
Attach the homework screenshots below:

Nice! Thanks Gabriel!

Well done Gabriel. Thank you and here's your badge -> https://api.badgr.io/public/assertions/rtzsRXNwQ1GH3xkkszlVfg?identity__email=gncis8%40gmail.com

Thank you so much !!


I encountered an error using ”docker remote api“to create a container

When I execute the following instructions

 curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" \
  -d '{"Image": "220f"}' \
  -X POST http://localhost/v1.41/containers/create

i meet an problem that This new container has been created。

         Access to the remote API is equivalent to root access on the host. Refer
         to the 'Docker daemon attack surface' section in the documentation for
         more information: https://docs.docker.com/go/attack-surface/
WARNING: No swap limit support

I found that the creation state is normal, but I want to start the container in terminal mode, which failed.
Whenever I "restart containid", because there is no process executing, the container directly flashes out, but I want the container to run like "docker run -dit"


Add support of Selectel DNS

Changes:

added keystone.Provider for authorization
renamed stackit packaged to selectel
added work with domains-go to selprovider (renamed from stakcitprovider)
added httpdefault package with default HTTP settings
changed configs & manifests for Selectel
fixed tests

@kolsean @TawR1024 @pavelpereyma what about CONTRIBUTING.md and LICENSE?


Firebase picture upload

Steps
I just finished installing and setting up the app through Firebase
I tried posting something
Expected Result
I expected to be able to upload a picture from my computer to my newsfeed and avatar.
Actual Result
I was able to post words to the newsfeed, however I was not able to upload any picture to neither my newsfeed nor my avatar. Please help.
Version
x.y.z
Testcase

Thanks for reporting 👍  problem has been solved.


'historical' initialized from 'past1000'

As indicated in Table 1 of the PMIP4 past1000 description paper (https://doi.org/10.5194/gmd-10-4005-2017), a 'historical' simulation initialized from the end state of a 'past1000' simulation in 1850 is requested. However, only 'piControl' is defined as the parent experiment of 'historical' in CMIP6_experiment_id.json. The 'past1000' is not allowed as the parent experiment of 'historical'.

@tyskosir thanks for raising this. @jypeter can you chime in here?

@durack1, just a quick thought; Might be worth checking with the CMIP panel too on this one. The historical is one of the most published experiments and without a clear way of identifying the parentage of a given simulation via ESGF it will be tricky to distinguish between those simulations initialised from the piControl  and the  past1000  experiments (and past2k, see table 1 in the PMIP4 GMD paper).

@matthew-mizielinski @jypeter @durack1 .  Thanks, Matt, for thinking of that.  It does seem like this is a real problem that no one noticed until now.   Although these are all historical runs, so the experiment name is appropriate, many investigators will want to limit their analysis to a subset initialized in a particular way.    I'm at a loss how we might fix this problem.  @jpeter do you know how many historical runs have been published that were initialized from the past1000 or past2k simulations? If any have, then they must have incorrectly set parent_experiment_id to piControl, assuming PrePARE checks that parent_experiment_id is consistent with experiment_id, as specified in the CV.

reviewing briefly the GMD article, I now recall that the idea was these runs would be distinguished by assigning a different "i" value in the "ripf" identifier.  So, for example, if the historical run initialized from the piControl were assigned initialization_index=1, then runs initialized from past1000 or past2k would be assigned different initialization_indexes. Ideally, the meaning of each index in the "ripf" is defined in ES-DOC, and a user could consult ES-DOC before downloading data to obtain only the historical runs of interest.  That's  a lot of work and clearly not ideal.
If this is how it's going to work, we will need to list all 3 parent experiments in the parent_experiment_id CV.  There are already a handful of experiments that have two options for parent_experiment_id, but we should probably check that CMOR and PrePARE are handling this rare case correctly.

Tsuyoshi (@tyskosir ; cc @jypeter)  Thanks again for raising this issue.   Can you answer either of the following?  (no need to investigate; just wondering if you know off the top of your head):

Have you already prepared your output files from this experiment for publication?  (Don't worry; you shouldn't have to alter them if you have.)
Do you know of any PMIP participants who have published output from historical runs initialized from either past1000 or past2k simulations?

thanks,
Karl

@taylor13 (cc: @jypeter) Thanks Karl,

No, I was just testing it. I'm preparing to submit the historical output initialized from past1000 to ESGF, because we received a request from a researcher at another institution.

I don't have solid information unfortunately, but looking at the ESGF CMIP6 data holding list (https://pcmdi.llnl.gov/CMIP6/ArchiveStatistics/esgf_data_holdings/PMIP/index.html), MIROC-ES2L and EC-Earth3-Veg-LR (and our model, MRI-ESM2-0) have published the past1000 output; only the two models might have that possibility. Likewise, no model has published the past2k output, so the historical output initialized from past2k doesn't seem to have been published.

@tyskosir thanks for your help looking into this. Why don't you hold off a few days before generating a lot of output files.  Hopefully @jypeter will provide some input and then we should be able to make it possible to correctly write and publish the data.
Karl

@taylor13 (cc @jypeter) OK, I'll do that. Many thanks.

@jypeter we were hoping you could chime in on this, as it will impact PMIP experiments going forward

@taylor13 Should I wait for the release of a new CMIP6_experiment_id.json for specifying past1000 as the parent experiment of historical, or cmorize the historical outputs with parent_experiment_id=piControl and i=1000 at this time?

I'll ping Jean-Yves (@jypeter) and hopefully get back to you shortly.

Hi @jypeter,
I understand that the email service at IPSL has been down for about a month, so perhaps you haven't gotten these messages, so I'm pinging you again (I'll also email you with further information and background).

I have sent the following email:
I still have not heard from Jean-Yves (hope he is o.k.), but I think we should wait no longer.  Let’s proceed as suggested earlier:
The issue is how to distinguish historical experiments branched from piControl from those branched from past1000 and past2k experiments.  The minimum requirement is to assign  a different i_index in the “ripf” variant identifier for runs initialized from different parents.  The recommendation for PMIP is:
For a historical simulation whose parent is past1000, set i_index=1000
For a historical simulation whose parent is past2k, set i_index=2000.
For historical simulations whose parent is the piControl, set i_index=1 (except in the unlikely case that 1 has already been used for a historical run initialized from a different parent).
This, we hope, will make it quite clear in the filenames that these are “unusual” historical runs.
Thanks for your patience in this matter.
Best regards,
Karl

@taylor13 Noted with thanks. I'll start cmorizing the data.

We have published the historical r1i1000p1f1 data with MRI-ESM2-0 on ESGF. Many thanks.

Excellent!  There's no changing our minds now!
I'll close this issue.

Thank you @taylor13 @durack1 @matthew-mizielinski  and @tyskosir for the discussion and the i1000 and i2000 suggestions! My apologies for not handling this issue much earlier
I have sent an official mail about this standard variant_label to the PMIP4 participating groups
Unfortunately, while reviewing mails, etc, I have found 2 loose ends. I hope @taylor13 can re-open this issue and we can easily (and more quickly this time) sort this out
Which activity_id should be used?
Under which ESGF activity_id should these historical experiments be published?
"CMIP", because "historical" is defined in CMIP, or "PMIP"? The MRI experiment has been created with the "CMIP" activity.
As Karl suggested in one of his early mails, having these experiments in "PMIP" would make it easier for people to search them on ESGF, and would also prevent people looking only for "CMIP" and "historical from piControl" from getting them.
But now that we have the MRI experiment in CMIP, maybe it's better to put everything in CMIP. Unless @tyskosir can reprocess and republish the files
Which "parent_experiment_id"/"parent_activity_id" should be used?
I have checked the current definition of the historical experiment in the CV. Currently, only the "piControl"/"CMIP" values can be used for the "parent_experiment_id"/"parent_activity_id" metadata
In our case (continuation of past1000 or past2k) it should probably be:

parent_experiment_id: "past1000" or "past2k"
 parent_activity_id: "PMIP"

The solution used by MRI
I have copied below some metadata from one of the published MRI files. @tyskosir has cleverly used the branch_method keyword to describe/solve the problem. We could ask the other PMIP groups to do the same.
There are many PMIP groups, but not that many with past1000 experiments (probably even less that will be able to handle past2k). And I don't know how many will run continuation historical experiments
    :activity_id = "CMIP" ;
    :branch_method = "standard (the actual parent run: PMIP past1000)" ;
    :experiment_id = "historical" ;
    :parent_activity_id = "CMIP" ;
    :parent_experiment_id = "piControl" ;
    :variant_label = "r1i1000p1f1" ;

@jypeter :  The historical experiments are indeed CMIP activity sponsored, so it's appropriate (and won't break things or make published data inconsistent) to set activity_id = "CMIP" for these.
I had forgotten about the issue of parent_experiment although it was discussed above.  I had suggested that if CMOR, ES-DOCs, and the data citation/PID services can handle it (or be easily modified to handle it), we should list in the CV all three options for parents of the historical runs: piControl, past1000, and past2k.  Modeling groups would then be able to identify the parent correctly.  The fact that @tyskosir skirted this issue by setting experiment_id=piControl should not be cause for concern (or require rewriting).  I don't think any of the automated processing in place for CMIP6 actually uses this information.  An errata could be registered for the affected MRI files indicating that the true parent is past1000, and the parent_experiment_id was simply misidentified in the file metadata.
@mauzy1 https://github.com/MartinaSt @hassell could you please check and see whether CMOR could handle

@jypeter @taylor13 @mauzey1 @durack1 Thank you for your follow-up regarding this issue.

thanks very much @mauzey1.  Let's not proceed further until we hear from folks regarding impact on the other components of the infrastructure.  It will be o.k. (but, of course, not really correct) to identify the parent of these experiments as piControl since we don't expect this will impact things terribly.

We can proceed with the changes described above https://github.com/WCRP-CMIP/CMIP6_CVs/issues/957#issuecomment-743484010.
A number of simulations have already been published with incorrect metadata (from 2 institutions @taylor13?) so we will need to get errata raised against these non-conforming simulations, so that erroneous metadata is identified.
The changes above will be merged later today


config option of html didn't work

Describe the bug

There is no any setting description about the html option in doc. Only said it "Store HTML report file". No any value example.
I tried "true", "html_prefix_like_csv" and it doesn't work. Can any one tell me what value should I set and where would be the report saved, and is there any way to customized the report html format?
Expected behavior

Actual behavior

Steps to reproduce

Environment

OS: MacOS
Python version: 3.9.0
Locust version: 2.5.0
Locust command line that you ran: locust
Locust file contents (anonymized if necessary): i set html = report.html in locust.config

Also face the same problem at version=2.5.0, just configuration the html = xxxx.html in the locust.conf file can not working, there is no xxx.html output ,but if wen running on the command line add the args '--headless --html=xxxx.html -t 10s ' will see the html been output.

Probably my fault, probably somewhere in main.py. Dont have time to fix it though, maybe you have time yourselves?

Automatic html report seems to work only in headless mode. I suppose it isn't a bug.
You need add 'headless' to your locust.conf or as a command line argument.


Xcode like completion for IntelliSense

I love the IntelliSense that comes with VSCode but I would like an option for autocompletion like XCode that instead of pressing tab to select an option, cycles through to the next available Capital letter in the suggestion.
For example, if the IntelliSense suggests the following 2 list items 'imageView' and 'imageViewInFrame', pressing tab once will highlight image, tab twice will highlight imageView. At that point I can either press enter to choose imageView or another tab to select imageViewInFrame.
How can something like this be done in VSCode? Is there either,

An Extensibility API that can allow for such behavior that can be packaged as an extension
If not, where should I start in the VSCode source to try and incorporate such a functionality?
Is there any other option?

Thanks for your help!

/duplicate of #28215

@salmankhann We will ship this with the next release, see
https://github.com/Microsoft/vscode/issues/28215#issuecomment-422310232

@jrieken although the current feature in the Insiders is better than before, I was looking for something a bit different that is implement in Xcode.
See how tab keeps the IntelliSense open, as well as keeps highlighting matched elements.


labels should be instance_of?(::String) as per Protobuf expectation

@quartzmo, Please refer to my comment on #2049 for more details.
This should fix a major problem with using Google Stacktrace with Rails as any ActiveSupport::Notifications::Event that has a value in the event.payload which is not a ::String but a child of ::String will raise an exception as Protobuf expects a ::String.

@dazuma PTAL!

@dazuma @quartzmo @blowmage  Do you have a list of features or requirements that is planned to be delivered as part of google-cloud-ruby? I'd like to actively contribute to deliver it :)

@tareksamni We try to put everything into GitHub issues of type: feature request. (See #1841 for example.) When the feature request issues pass a certain number of days without any action, we move them to the wiki - Feature backlog. Please take a look! We would be happy to have you continue to contribute.

@tareksamni I should add that many of the older feature requests are blocked for some reason or other. Definitely read the issues and ask for info before putting too much work into a PR.

@dazuma PING!

@tareksamni google-cloud-trace 0.32.0 is now on rubygems.


Issue 2 – Creating navigation control buttons.

*** User Story ***
As a user, I want to be able to start and stop the songs when I want to.
 Acceptance criteria met automatically when video loads.


Unintentional configuration page

See https://forum.thirtybees.com/topic/2936-spam-returns-with-url-in-last-name/?do=findComment&comment=27496

Intended text on the configuration page doesn't display. Looks like this is a multishop environment.

Can't reproduce it. Tried all settings I could imagine, even tried in the shop where the screenshot was taken (thanks for access, Peter!), no "dice".
If this happen again, please don't hesitate to re-open this issue.

Not yet solved, despite even more tries to reproduce this.

Make sure you have multi-shop turned on and more than one shop set up. Then be in one shop context and install the module. It will take you to that page in the screenshot.

Yes, I did all this and have even access to back office of the shop where the above screenshot comes from. Doesn't happen to me, happens a minute later to the shop owner in the same shop installation.

Got it now, see f2d8a41f5c23f3dd46315ac05a925f1faf88fc2a. This will go into the next release.
Thanks again for reporting!


Support SVG elements?

I tried to add this tooltip on SVG elements but seems like it doesn't support SVG. I thought it was z-index issue, but even though I manually set z-index and css position properties, but I had no luck.
Any solutions for this?

Hi, I have just bumped into the same issue, but for me it actually works like it should. Just make sure to mount the  component outside of  and add the data-tip attribute directly onto svg elements (e.g. ).

Thanks @redwarff, that helped me as well!

@redwarff I'm doing this, it doesn't seem to work at all 🤷♂

Is there an equivalent technique for v5 ? it looks like Tooltip.rebuild is not a function in v5
Thanks for the great project.

Is there an equivalent technique for v5 ? it looks like Tooltip.rebuild is not a function in v5
Thanks for the great project.

Do you mind opening a new issue with sample code or a CodeSandBox demonstrating the problem on v5? As I see it, v5 should work fine with svg elements without any extra work, but we'll see what we can do if it's not the case.

Thank you. I will make sure I'm not doing something wrong before creating the issue.
I'm using react-tooltip to create tooltips on markers for Mapbox maps. I used following technique in v4 to get the tips to show up:
const mounted = useRef();
useEffect(() => { // update the ReactTooltips as elements in the svg/map change
	mounted.current ? ReactTooltip.rebuild() : mounted.current = true
})

In v5 I tried without that technique and the tips didn't show up, but it's possible I'm doing it wrong.

In v5 I tried without that technique and the tips didn't show up, but it's possible I'm doing it wrong.

Try following the examples in the docs and getting the tooltip to work on regular html elements, then try it on svgs. If it doesn't work on svgs, please open an issue with some sample code. Thanks.

I can confirm that react-tooltip v5 is working properly in conjunction with map markers using react-map-gl, I was just doing it wrong previously. Thanks!


New variables to macro.html.twig

When I started using macros.html.twig, I realized that the click in one tab was changing the content of the other tabs on the page. However the other tabs weren't changing. As a consequence, I thought I was filling the field in one language when I was actually filling it in another language. I suggest to add a new variable to macros template called blocks. With this variable, it is possible to link the right tab with the right html block.

@webda2l some checks weren't successful on my PR but they are not related to my commit. I don't know what to do in this situation.

This is a BC Break currently and a bit specific, I let this PR open until see if other people need it.


Convert dot to linalg gemm

This substitutes linalg_gemm() for the direct use of mshadow::dot(). However, for the case where a cpu gemm is needed, but where MSHADOW_USE_CBLAS = 0, the linalg_gemm implementation still reverts to calling mshadow::dot(). Adds MIN=1 back to Jenkinsfile. Relates to recent work of @asmushetzel and @piiswrong.  Resubmission on top-of-trunk.

"error C2768" showed with linalg_gemm in "linalg_impl.h" in Windows.

Partial function specialization apparently not legal. Will fix in follow up PR.
Sent from my iPhone

On Aug 24, 2017, at 10:58 PM, chinakook<EMAIL_ADDRESS>wrote:
"error C2768" showed with linalg_gemm in "linalg_impl.h" in Windows.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Agree that this is the correct strategy. Let's make linalg_ the primary interface for all non-trivial matrix/vector operations and provide any type of needed specialization within linalg.
Thanks for picking this up Dick.

MIN=1 in jenkinsfile still causes the build to fail


IxGroupItem component does not reflect "selected" attribute value

What happened?
There is a strange behavior when trying to set selected attribute within IxGroupItem component. It seems that the component is showing the "selected" bar (on the left side of item) by its own inner rules, not reflecting the current value of the attribute.
E.g. when selected attribute is always set to true, this kind of behavior appears:

Currently, it is not possible to change the behavior of how items are selected (even when the item is marked as selected and user clicks on it, it is marked as unselected again and so on).
What type of frontend frameware are you seeing the problem on?
React
Which version of iX do you use?
v1.6.3
Code to produce this issue.
// simplified code
import { useNavigate, useParams } from "react-router-dom";

export function Sidebar() {
  const navigate = useNavigate();

  function handleClick(url) {
    navigate(url);
  }

  return (
    <IxGroup header="Item 1" subheader="Secondary text">
      <IxGroupItem selected={true} text="Item 1" onClick={handleClick.bind(null, url)} />
      <IxGroupItem selected={true} text="Item 2" onClick={handleClick.bind(null, url2)} />
      // and so on (for loop is used in real code)
    </IxGroup>
  );
}

Hi @tomas-reznak, the componentn basically works as expeceted. It is not intended to have multiple items selected.


Crash on MIMEScanner::append()

AUTest(on Fedora 30) for #5585 crashed. The test is injecting over 16KB header in response.
FWIW, I didn't see this crash on CentOS 7.
#0  0x00007f5a1bdffeb5 in raise () from /lib64/libc.so.6
#1  0x00007f5a1bdea895 in abort () from /lib64/libc.so.6
#2  0x00007f5a1be42ee7 in __libc_message () from /lib64/libc.so.6
#3  0x00007f5a1be497bc in malloc_printerr () from /lib64/libc.so.6
#4  0x00007f5a1be4af2c in _int_free () from /lib64/libc.so.6
#5  0x00007f5a1c235cef in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) ()
   from /lib64/libstdc++.so.6
#6  0x00007f5a1c237553 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long) () from /lib64/libstdc++.so.6
#7  0x000000000079960c in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append<ts::TextView> (this=0x7f59e1e4bf18, __svt=...)
    at /usr/include/c++/9/bits/basic_string.h:1323
#8  0x0000000000799595 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=<ts::TextView> (this=0x7f59e1e4bf18, __svt=...)
    at /usr/include/c++/9/bits/basic_string.h:1212
#9  0x0000000000793b87 in MIMEScanner::append (this=0x7f59e1e4bf18, text=...) at MIME.cc:2324
#10 0x0000000000793f95 in MIMEScanner::get (this=0x7f59e1e4bf18, input=..., output=..., output_shares_input=@0x7f5a198eb92f: true, eof_p=false, scan_type=MIMEScanner::FIELD)
    at MIME.cc:2432
#11 0x00000000007941d9 in mime_parser_parse (parser=0x7f59e1e4bf18, heap=0x7f5a18087000, mh=0x7f5a180870b8, real_s=0x7f5a198ebad0,
    real_e=0x7f59e1ab4000 <error: Cannot access memory at address 0x7f59e1ab4000>, must_copy_strings=false, eof=false) at MIME.cc:2508
#12 0x0000000000785644 in http_parser_parse_resp (parser=0x7f59e1e4bf10, heap=0x7f5a18087000, hh=0x7f5a18087088, start=0x7f5a198ebad0,
    end=0x7f59e1ab4000 <error: Cannot access memory at address 0x7f59e1ab4000>, must_copy_strings=false, eof=false) at HTTP.cc:1297
#13 0x000000000078bfbe in HTTPHdr::parse_resp (this=0x7f59e1e4bdd0, parser=0x7f59e1e4bf10, r=0x11eeb30, bytes_used=0x7f5a198ebb6c, eof=false) at HdrTSOnly.cc:122
#14 0x0000000000725c5d in Http2Stream::update_write_request (this=0x7f59e1e4bd00, buf_reader=0x11eeb30, write_len=28716, call_update=false) at Http2Stream.cc:592
#15 0x0000000000724364 in Http2Stream::do_io_write (this=0x7f59e1e4bd00, c=0x7f59e1dc9390, nbytes=28716, abuffer=0x11eeb30, owner=false) at Http2Stream.cc:318
#16 0x0000000000700884 in HttpTunnel::producer_run (this=0x7f59e1dc9390, p=0x7f59e1dc95a0) at HttpTunnel.cc:882
#17 0x0000000000700027 in HttpTunnel::tunnel_run (this=0x7f59e1dc9390, p_arg=0x7f59e1dc95a0) at HttpTunnel.cc:699
#18 0x000000000069ce61 in HttpSM::handle_api_return (this=0x7f59e1dc8470) at HttpSM.cc:1658
#19 0x000000000069c5ad in HttpSM::state_api_callout (this=0x7f59e1dc8470, event=60000, data=0x0) at HttpSM.cc:1522
#20 0x000000000069b804 in HttpSM::state_api_callback (this=0x7f59e1dc8470, event=60000, data=0x0) at HttpSM.cc:1310
#21 0x000000000062c5ca in TSHttpTxnReenable (txnp=0x7f59e1dc8470, event=TS_EVENT_HTTP_CONTINUE) at traffic_server/InkAPI.cc:5926
#22 0x00007f59e2e74893 in cont_rewrite_headers (contp=0x11c9f60, event=TS_EVENT_HTTP_SEND_RESPONSE_HDR, edata=0x7f59e1dc8470) at header_rewrite/header_rewrite.cc:310
#23 0x000000000061fc22 in INKContInternal::handle_event (this=0x11c9f60, event=60007, edata=0x7f59e1dc8470) at traffic_server/InkAPI.cc:1074
#24 0x000000000061694b in Continuation::handleEvent (this=0x11c9f60, event=60007, data=0x7f59e1dc8470) at /usr/local/src/trafficserver/iocore/eventsystem/I_Continuation.h:190
#25 0x00000000006205c9 in APIHook::invoke (this=0x7f5a00039fe0, event=60007, edata=0x7f59e1dc8470) at traffic_server/InkAPI.cc:1299
#26 0x000000000069c325 in HttpSM::state_api_callout (this=0x7f59e1dc8470, event=0, data=0x0) at HttpSM.cc:1454
#27 0x00000000006ac070 in HttpSM::do_api_callout_internal (this=0x7f59e1dc8470) at HttpSM.cc:5137
#28 0x00000000006b5349 in HttpSM::set_next_state (this=0x7f59e1dc8470) at HttpSM.cc:7398
#29 0x00000000006b42ee in HttpSM::call_transact_and_set_next_state (this=0x7f59e1dc8470, f=0x0) at HttpSM.cc:7167
#30 0x000000000069c89c in HttpSM::handle_api_return (this=0x7f59e1dc8470) at HttpSM.cc:1590
#31 0x000000000069c5ad in HttpSM::state_api_callout (this=0x7f59e1dc8470, event=0, data=0x0) at HttpSM.cc:1522
#32 0x00000000006ac070 in HttpSM::do_api_callout_internal (this=0x7f59e1dc8470) at HttpSM.cc:5137
#33 0x00000000006bc8cf in HttpSM::do_api_callout (this=0x7f59e1dc8470) at HttpSM.cc:365
#34 0x000000000069e595 in HttpSM::state_read_server_response_header (this=0x7f59e1dc8470, event=100, data=0x7f5a14066468) at HttpSM.cc:1979

ASAN says:
==20372==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x000001409e48 in thread T2 ([ET_NET 0])

#0  __sanitizer::Die () at ../../../../libsanitizer/sanitizer_common/sanitizer_termination.cc:49
#1  0x00007ffff76a89cc in __asan::ScopedInErrorReport::~ScopedInErrorReport (this=0x7ffff148ba8e, __in_chrg=<optimized out>) at ../../../../libsanitizer/asan/asan_report.cc:185
#2  0x00007ffff76a6dd5 in __asan::ReportFreeNotMalloced (addr=21012040, free_stack=0x7ffff148c6b0) at ../../../../libsanitizer/asan/asan_report.cc:192
#3  0x00007ffff76a1989 in operator delete (ptr=0x1409e48 <http2StreamAllocator+552>) at ../../../../libsanitizer/asan/asan_new_delete.cc:165

@SolidWallOfCode Can you take a look? I was able to reproduce it with the config file for header_rewrite on #5585. It doesn't have to be on autest.

As ASan reported, libstdc++-9.1.1-1 is attempting free on address in MIMEScanner::append().
https://github.com/apache/trafficserver/blob/2805b749e1444e54373491584b2955a47e6cca29/proxy/hdrs/MIME.cc#L2321-L2326
The address looks &m_line + 10.
==19351==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x000001227f70 in thread T2 ([ET_NET 0])
    #0 0x7ffff76a49bf in operator delete(void*) (/lib64/libasan.so.5+0x1109bf)
    #1 0x7ffff6c28cee in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) (/lib64/libstdc++.so.6+0x147cee)
    #2 0x7ffff6c2a552 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long) (/lib64/libstdc++.so.6+0x149552)
    #3 0x9d60ec in std::enable_if<std::__and_<std::is_convertible<ts::TextView const&, std::basic_string_view<char, std::char_traits<char> > >, std::__not_<std::is_convertible<ts::TextView const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*> >, std::__not_<std::is_convertible<ts::TextView const&, char const*> > >::value, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::append<ts::TextView>(ts::TextView const&) /usr/include/c++/9/bits/basic_string.h:1323
    #4 0x9d5f80 in std::enable_if<std::__and_<std::is_convertible<ts::TextView const&, std::basic_string_view<char, std::char_traits<char> > >, std::__not_<std::is_convertible<ts::TextView const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*> >, std::__not_<std::is_convertible<ts::TextView const&, char const*> > >::value, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=<ts::TextView>(ts::TextView const&) /usr/include/c++/9/bits/basic_string.h:1212
    #5 0x9c88e2 in MIMEScanner::append(ts::TextView) /home/vagrant/trafficserver-asan/proxy/hdrs/MIME.cc:2324
...
0x000001227f70 is located 560 bytes inside of global variable 'http2StreamAllocator' defined in 'Http2Stream.cc:37:29' (0x1227d40) of size 3176
SUMMARY: AddressSanitizer: bad-free (/lib64/libasan.so.5+0x1109bf) in operator delete(void*)
...
(gdb) p &((Http2Stream *)(http2StreamAllocator.proto.typeObject)).http_parser.m_mime_parser.m_scanner.m_line
$37 = (std::string *) 0x1227f60 <http2StreamAllocator+544>
(gdb) p &((Http2Stream *)(http2StreamAllocator.proto.typeObject)).http_parser.m_mime_parser.m_scanner.m_state
$38 = (MimeParseState *) 0x1227f80 <http2StreamAllocator+576>

In this case, the size of text (the arg of MIMEScanner::append) is 3216. This is obviously larger than default allocated size of m_line (std::string). (for gcc-9/libstdc++-9.1.1-1 , it's 15).
Then, reallocation is occurred and libstdc++-9.1.1-1 attempted to free address inside of MIMEScanner (in HTTPParser in Http2Stream) by somehow. Probably, m_line is created with replacement new.
https://github.com/apache/trafficserver/blob/a98a1e35fbd1e79dfb976edadf390382fab9adab/proxy/hdrs/MIME.cc#L2318
From above hypothesis, if m_line is reserved enough size, the crash was not happened. (Obviously this is not solution)
diff --git a/proxy/hdrs/MIME.cc b/proxy/hdrs/MIME.cc
index 54b323f..4b3d878 100644
--- a/proxy/hdrs/MIME.cc
+++ b/proxy/hdrs/MIME.cc
@@ -2316,6 +2316,7 @@ MIMEScanner::init()
   // constructor in the proxy allocation system, call the CTOR here. Any memory that gets allocated
   // is supposed to be cleaned up by calling @c clear on this object.
   new (&m_line) std::string;
+  m_line.reserve(4096);
 }

Can we do any of below ?
1). Avoid using std::string for buffer in MIMEScanner
2). Remove http_parser from Http2Stream member

I was going to say, how did we end up with new and std::string here In the critical path?

It was #4948 and replaced a hand rolled ats_malloc. std::string isn't going to be any worse.

Sadly, I think @masaori335 is correct - the problem ultimately is the use of std::string in a situation where it's in a freelist controlled object. I think we can fix it with a tweak to http_parser_init and http_parser_clear. Let me get a PR for that and see if it fixes the problem. I presume testing this requires an HTTP2 client? Or alternatively I can run the AuTest?

@SolidWallOfCode You can reproduce this crash with AUTest added by #5585. You can also reproduce this with the header rewrite config (huge_resp_hdrs.conf) with some H2 client (curl, nghttp2...whatever).

#5605 looks reasonable for fixing this crash. Let's land it.
But I'm still wondering that we should keep the std::string or not. IIUC, it's internal buffer for a fragment of MIME header while parsing. Theoretically, we can keep the original chunk of header in the MIOBuffer, which we're parsing here, if we don't consume it. This sounds like we don't need to copy the chunk in the m_line.

You'd need an IOBufferChain because the field can span IO buffer blocks. There's also the possibility that the data isn't in an IOBufferBlock. I think this can be called from plugins (see TSHttpParserCreate / TSHttpParserClear / etc.). Those might depend on IOBufferBlock though. You definitely need to track down the uses of this to verify whether it can changed in that way.

OK, leave it for now.

Fixed by #5605


Release GIL for filters

It seems that currently Filter Graph does not release GIL when pushing / pulling filtered frames.
Is it possible to release GIL? The API for Filter Graph is quite complicated, and I am not sure where I can manually add the "with nogil" statement. Maybe here https://github.com/mikeboers/PyAV/blob/develop/av/filter/context.pyx#L107 ?

Maybe here
https://github.com/mikeboers/PyAV/blob/5d192a13aabac9ec8eeea4cd9eee34558a3cabc3/av/filter/graph.pyx#L29

Both https://github.com/mikeboers/PyAV/blob/develop/av/filter/context.pyx#L80 and https://github.com/mikeboers/PyAV/blob/develop/av/filter/context.pyx#L107.
You'd need to do something like:
cdef int res
with nogil:
   res = do_the_thing()
err_check(res)


crictl: Adds support for updating resource limits for Windows Containers

What type of PR is this?

/kind feature
/sig windows
What this PR does / why we need it:
The fields supported in the WindowsContainerResources are:

CpuCount: Number of CPUs available to the container. Default: 0 (not specified).
CpuMaximum: Specifies the portion of processor cycles that this container can use as a percentage times 100.
CpuShares: CPU shares (relative weight vs. other containers). Default: 0 (not specified).
MemoryLimitInBytes: Memory limit in bytes. Default: 0 (not specified).

Which issue(s) this PR fixes:

Special notes for your reviewer:
Does this PR introduce a user-facing change?

Added support to update the resource limits to Windows Containers in crictl.

this looks good, but have you validated whether any runtimes (e.g. containerd) support this behavior?

Support is being added here: https://github.com/containerd/containerd/pull/5778

/lgtm
/approve


New device_platform: serial (supports Teddy Ruxpin)

Description:
This can be used for device that uses Arduino for example - like the Teddy Ruxpin project Tedlexa.
Checklist:

[x] Update CHANGELOG.md
[ ] Update Wiki (new platform, installation, configuration changes etc)
[x] PR Location (usually master for hotfixes, dev for general development)
[x] need to rename platform files to somethingplatform.py, so this can be renamed to serialplatform.py and it's not serial.py which breaks imports
[x] uses unmerged PRs - triggering, logging, therefor fails tests, rebase after that is merged
[x] hasn't been tested at all - do testing

@packetrat We'll support bears by default, so you don't have to worry about keeping the code compatible as it gets updated!

I see I'm not the only one who really liked it. And good that I didn't had
the time to start implementing the serial platform for him today.
René Kliment<EMAIL_ADDRESS>schrieb am Fr., 6. Jan. 2017, 19:51:

Description:
This can be used for device that use Arduino for example - like the Teddy
Ruxpin project Tedlexa.
DOESN'T WORK YET
Checklist:

Update CHANGELOG.md
Update Wiki (new platform, installation, configuration changes etc)
PR Location (usually master for hotfixes, dev for general
development)
need to rename platform files to somethingplatform.py, so this can
be renamed to serialplatform.py and it's not serial.py which breaks imports
uses unmerged PRs - triggering, logging, therefor fails tests,
rebase after that is merged
hasn't been tested at all - do testing

@packetrat https://github.com/packetrat We'll support bears by default,
so you don't have to worry about keeping the code compatible as it gets
updated!
You can view, comment on, or merge this pull request online at:
https://github.com/alexa-pi/AlexaPi/pull/134
Commit Summary

initial revision, doesn't work yet; defaults for Teddy Ruxpin

File Changes

A src/alexapi/device_platforms/serial.py
https://github.com/alexa-pi/AlexaPi/pull/134/files#diff-0 (88)
M src/config.template.yaml
https://github.com/alexa-pi/AlexaPi/pull/134/files#diff-1 (14)
M src/dev-requirements.txt
https://github.com/alexa-pi/AlexaPi/pull/134/files#diff-2 (3)
A src/scripts/inc/serial.sh
https://github.com/alexa-pi/AlexaPi/pull/134/files#diff-3 (9)
M src/scripts/setup.sh
https://github.com/alexa-pi/AlexaPi/pull/134/files#diff-4 (1)

Patch Links:

https://github.com/alexa-pi/AlexaPi/pull/134.patch
https://github.com/alexa-pi/AlexaPi/pull/134.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/alexa-pi/AlexaPi/pull/134, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAly4qND0DUpluM4NQc7lcqJczKDCOskks5rPo0zgaJpZM4Lc_p3
.

Rebased, fixed and tested with a simple Arduino code (will post later, probably a new alexa-pi organization repo).
@alexa-pi/team Please have a look, this should be easy.
@packetrat Please test. We will roll out a new version soon and it would be awesome, if we could guarantee 100% bear compatibility :-)

The example piece of code can be found here: https://github.com/alexa-pi/AlexaPi-Arduino Contributions are welcome there - it's also an open project. It's main purpose is however the testing of this serial platform and as a pointer for beginners.

14-day PR review window rule ... merging.
@packetrat Please test the dev branch now to make sure the bear is supported in the new version.
@alexa-pi/team Only 1 more PR to go to 1.4. Please have a look at it (#169), so we don't have to wait until Friday for the 14 days to run out. Thank you!


Safe handling of KeepassXC database password

Extension – KeepassXC
Author: @zkytech
Description

The extension requires adding the password to the KeepassXC database in the preference dialogue.
The current behavior
In order to unlock the database, the extension uses the call exec('echo "${dbPassword}" | "${keepassxcCli}" locate "${database}" /'), see here.
Passing cleartext ${dbPassword} is not best practice and might compromise the password.
The expected behavior
Instead of requiring the plaintext password in the preferences, fetching all entries and rolling its own cryptography, the extension could, for example, use the KeepassXC-CLI open command to open an interactive session (prompting for the password if required) and issue further commands (e.g. to copy pw to clipboard) using this connection.
Raycast version
Version: 1.29.1

Since this is an extension, it’s impossible to keep the a shell session alive on background.
So user will be required to input the main password every time when activate this extension.
A better solution is to build an independent keepass client with js, which maybe far more complex than current solution.

FYI the password is stored in our encrypted database. The extension can then read it from there. So it isn't really clear text.

I'm not sure how the UX would be if you have to prompt all the time for the password.

Thanks for the fast responses!
I wanted to bring this up, as the security of the password to the password manager (that might store important stuff) is highly relevant. I appreciate the fact that the provided user pw is stored in encrypted form, but that still means that the overall security of the KeepassXC password store (e.g. AES256 with key transformations) is then equivalent to the cryptography implementation used in Raycast to encrypt the password.
Furthermore, if I'm reading the code correctly exec('echo "${dbPassword}" | "${keepassxcCli}" locate "${database}" /') calls out to the command line with the cleartext password. Therefore, it might be logged or snooped on by any process running at the same time (ps).
Maybe we could add some of this info on how the extension works and stores the password to the extension information, so that users may be aware?


sys/linux/filesystems: add the inlinecrypt mount flag

Add the inlinecrypt mount flag for ext4, f2fs.

Please rebase the patch, it seems to be based on something a year old.


Move "No two geopoints" logic into mongo adapter

Current coverage is 92.84%

Merging #1491 into master will decrease coverage by -0.03% as of 38cc28d

@@            master   #1491   diff @@
======================================
  Files           87      87
  Stmts         5491    5490     -1
  Branches      1015    1016     +1
  Methods          0       0
======================================
- Hit           5100    5097     -3
  Partial         10      10
- Missed         381     383     +2

Review entire Coverage Diff as of 38cc28d

Powered by Codecov. Updated on successful CI builds.

Looks great, 1 small comment, feel free to fix or ignore.


Too many uses of your

Three uses of your in one sentence seems a bit much ;-)

Coverage remained the same at 47.656% when pulling ac1add790d43562d1a2986ce09e6294ba7858122 on acorncom:patch-2 into 15c9c2adb4356f49e1172ca7350d37933fabf630 on denali-js:master.


lifted.freeVariables: Don't overload by type, assert equality

This changes lifted.freeVariables to compare variables by id only. It, however, asserts equality for the params, too (They should be consistent).
Note: This makes the following example from #225 crash:
effect Increment {
  def increment(): Unit
}
def main() = {
  try {

    def step(): Int = {
        def looper(): Int / Increment = 0
        looper()
    }

    step()
  } with Increment {
      def increment() = resume(())
  }
}

This is a good thing, as this makes a bug in PolymorphismBoxing obvious.

Could you add the example as a test? This way we can avoid reintroducing the bug.


Error when following the Quick Start

Pre-requisites

[X] I have double-checked my configuration
[X] I can confirm the issues exists when I tested with :latest
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what did you expect to happen?
An error happens when following https://argoproj.github.io/argo-workflows/quick-start/.
Steps to reproduce
Install Argo Workflows
kubectl create namespace argo
kubectl apply -n argo -f https://github.com/argoproj/argo-workflows/releases/download/v3.5.2/install.yaml

Patch argo-server authentication
kubectl patch deployment \
  argo-server \
  --namespace argo \
  --type='json' \
  -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/args", "value": [
  "server",
  "--auth-mode=server"
]}]'

Port-forward the UI
kubectl -n argo port-forward deployment/argo-server 2746:2746

Installed Argo CLI
brew install argo

Submit an example workflow (CLI)
argo submit -n argo --watch https://raw.githubusercontent.com/argoproj/argo-workflows/main/examples/hello-world.yaml

Error
Name:                hello-world-kbmbk
Namespace:           argo
ServiceAccount:      unset (will run with the default ServiceAccount)
Status:              Error
Message:             Error (exit code 1): pods "hello-world-kbmbk" is forbidden: User "system:serviceaccount:argo:default" cannot patch resource "pods" in API group "" in the namespace "argo"
Conditions:
 PodRunning          False
 Completed           True
Created:             Fri Dec 22 15:20:29 -0300 (10 seconds ago)
Started:             Fri Dec 22 15:20:29 -0300 (10 seconds ago)
Finished:            Fri Dec 22 15:20:39 -0300 (now)
Duration:            10 seconds
Progress:            0/1
ResourcesDuration:   3s*(1 cpu),3s*(100Mi memory)

STEP                  TEMPLATE  PODNAME            DURATION  MESSAGE
 ⚠ hello-world-kbmbk  whalesay  hello-world-kbmbk  5s        Error (exit code 1): pods "hello-world-kbmbk" is forbidden: User "system:serviceaccount:argo:default" cannot patch resource "pods" in API group "" in the namespace "argo"

Version
v3.5.2
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
https://raw.githubusercontent.com/argoproj/argo-workflows/main/examples/hello-world.yaml
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: hello-world-
  labels:
    workflows.argoproj.io/archive-strategy: "false"
  annotations:
    workflows.argoproj.io/description: |
      This is a simple hello world example.
spec:
  entrypoint: whalesay
  templates:
  - name: whalesay
    container:
      image: docker/whalesay:latest
      command: [cowsay]
      args: ["hello world"]

Logs from the workflow controller
kubectl logs -n argo deploy/workflow-controller | grep hello-world-kbmbk
time="2023-12-22T18:20:29.447Z" level=info msg="Processing workflow" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:29.450Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=0 workflow=hello-world-kbmbk
time="2023-12-22T18:20:29.450Z" level=info msg="Updated phase  -> Running" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:29.450Z" level=warning msg="Node was nil, will be initialized as type Skipped" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:29.450Z" level=info msg="was unable to obtain node for , letting display name to be nodeName" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:29.451Z" level=info msg="Pod node hello-world-kbmbk initialized Pending" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:29.477Z" level=info msg="Created pod: hello-world-kbmbk (hello-world-kbmbk)" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:29.477Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:29.477Z" level=info msg=reconcileAgentPod namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:29.488Z" level=info msg="Workflow update successful" namespace=argo phase=Running resourceVersion=759861 workflow=hello-world-kbmbk
time="2023-12-22T18:20:39.478Z" level=info msg="Processing workflow" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:39.478Z" level=info msg="Task-result reconciliation" namespace=argo numObjs=0 workflow=hello-world-kbmbk
time="2023-12-22T18:20:39.478Z" level=info msg="Pod failed: Error (exit code 1): pods \"hello-world-kbmbk\" is forbidden: User \"system:serviceaccount:argo:default\" cannot patch resource \"pods\" in API group \"\" in the namespace \"argo\"" displayName=hello-world-kbmbk namespace=argo pod=hello-world-kbmbk templateName=whalesay workflow=hello-world-kbmbk
time="2023-12-22T18:20:39.478Z" level=info msg="node changed" namespace=argo new.message="Error (exit code 1): pods \"hello-world-kbmbk\" is forbidden: User \"system:serviceaccount:argo:default\" cannot patch resource \"pods\" in API group \"\" in the namespace \"argo\"" new.phase=Error new.progress=0/1 nodeID=hello-world-kbmbk old.message= old.phase=Pending old.progress=0/1 workflow=hello-world-kbmbk
time="2023-12-22T18:20:39.478Z" level=info msg="TaskSet Reconciliation" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:39.478Z" level=info msg=reconcileAgentPod namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:39.478Z" level=info msg="Updated phase Running -> Error" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:39.478Z" level=info msg="Updated message  -> Error (exit code 1): pods \"hello-world-kbmbk\" is forbidden: User \"system:serviceaccount:argo:default\" cannot patch resource \"pods\" in API group \"\" in the namespace \"argo\"" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:39.478Z" level=info msg="Marking workflow completed" namespace=argo workflow=hello-world-kbmbk
time="2023-12-22T18:20:39.484Z" level=info msg="cleaning up pod" action=deletePod key=argo/hello-world-kbmbk-1340600742-agent/deletePod
time="2023-12-22T18:20:39.488Z" level=info msg="Workflow update successful" namespace=argo phase=Error resourceVersion=759977 workflow=hello-world-kbmbk
time="2023-12-22T18:20:39.494Z" level=info msg="cleaning up pod" action=labelPodCompleted key=argo/hello-world-kbmbk/labelPodCompleted

Logs from in your workflow's wait container
kubectl logs -n argo -c wait -l workflows.argoproj.io/workflow=hello-world-kbmbk,workflow.argoproj.io/phase!=Succeeded
time="2023-12-22T18:20:34.605Z" level=info msg="No output parameters"
time="2023-12-22T18:20:34.605Z" level=info msg="No output artifacts"
time="2023-12-22T18:20:34.612Z" level=warning msg="failed to patch task set, falling back to legacy/insecure pod patch, see https://argoproj.github.io/argo-workflows/workflow-rbac/" error="workflowtaskresults.argoproj.io is forbidden: User \"system:serviceaccount:argo:default\" cannot create resource \"workflowtaskresults\" in API group \"argoproj.io\" in the namespace \"argo\""
time="2023-12-22T18:20:34.613Z" level=warning msg="Non-transient error: pods \"hello-world-kbmbk\" is forbidden: User \"system:serviceaccount:argo:default\" cannot patch resource \"pods\" in API group \"\" in the namespace \"argo\""
time="2023-12-22T18:20:34.613Z" level=error msg="executor error: pods \"hello-world-kbmbk\" is forbidden: User \"system:serviceaccount:argo:default\" cannot patch resource \"pods\" in API group \"\" in the namespace \"argo\""
time="2023-12-22T18:20:34.613Z" level=info msg="Alloc=9254 TotalAlloc=13146 Sys=23141 NumGC=3 Goroutines=8"
time="2023-12-22T18:20:34.614Z" level=warning msg="failed to patch task set, falling back to legacy/insecure pod patch, see https://argoproj.github.io/argo-workflows/workflow-rbac/" error="workflowtaskresults.argoproj.io \"hello-world-kbmbk\" is forbidden: User \"system:serviceaccount:argo:default\" cannot patch resource \"workflowtaskresults\" in API group \"argoproj.io\" in the namespace \"argo\""
time="2023-12-22T18:20:34.615Z" level=warning msg="Non-transient error: pods \"hello-world-kbmbk\" is forbidden: User \"system:serviceaccount:argo:default\" cannot patch resource \"pods\" in API group \"\" in the namespace \"argo\""
time="2023-12-22T18:20:34.615Z" level=error msg="executor error: pods \"hello-world-kbmbk\" is forbidden: User \"system:serviceaccount:argo:default\" cannot patch resource \"pods\" in API group \"\" in the namespace \"argo\""
time="2023-12-22T18:20:34.615Z" level=fatal msg="pods \"hello-world-kbmbk\" is forbidden: User \"system:serviceaccount:argo:default\" cannot patch resource \"pods\" in API group \"\" in the namespace \"argo\""

This is a duplicate of #12391


(fix): don't calculate statistics for masks

Background
Something I noticed while playing around is that we were calculating stats for masks as well.  So this PR should fix that.  I am open to other options for this!
Change List

Add isBitmask argument to initializeLayerChannels to stop stats calculation for masks

Checklist

[ ] Ensure PR works with all demos on the dev.vitessce.io homepage
[ ] Open (draft) PR's into vitessce-python and vitessce-r if this is a release PR
[ ] Documentation added or updated

TODO: fix the opacity causing loads

What's up with the size action also?