[Question] The bot referenced by the 'from' field is unrecognized

Existing issue reported (similar)
https://github.com/Microsoft/BotBuilder/issues/2450
Not sure how to fix the above recommendation on my scenario,
System Information (Required)

SDK Platform: C# - VS 2017 Latest Update
SDK Version: Microsft.Bot.Builder v3.8.1
Development Environment: localhost / Azure App Service

Issue Description
I have bot that I created for sending the proactive messgaes to the user. When a user use the bot for the first time in webchannel , I'm capturing the ConversationReference and store it in a database. Now, once I need to send a message to the user, I'm using Azure function to read the ConversationReference from the database and out put it using the Azure Function OutPut to Bot feature.
My problem is, whenever the bot send a proactive reply its failing with the below error message,
"The bot referenced by the 'from' field is unrecognized"

   at Microsoft.Bot.Connector.ErrorHandling.d__2`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Connector.ConversationsExtensions.d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.AlwaysSendDirect_BotToUser.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.InputHintQueue.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.AutoInputHint_BotToUser.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.MapToChannelData_BotToUser.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.LogBotToUser.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Bot.Builder.Dialogs.Internals.DialogContext.d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()

ConversationReference JSON
{
"userId": "1306fb7022434393ad164c8f83b067d0",
"conversationReference": {
"user": {
"id": "3406fb75534334393ad164c8f83b067d0"
},
"bot": {
"id": "myBot@wD6NRXI6csY",
"name": "myBot"
},
"conversation": {
"id": "3432fb7022434393ad164c8f83b067d0"
},
"channelId": "webchat",
"serviceUrl": "https://webchat.botframework.com/"
}
}
Steps to Reproduce
Follow the steps here to create proactive bot except resumption cookie method, use ConversationReference
https://www.codeproject.com/Articles/1176637/How-to-create-Proactive-Bot-with-Microsoft-Bot-Fra
http://gregoryfabry.com/2017/04/using-conversationreference-delayed-message-bot-framework
Expected Behavior
Bot should resume the conversation and send the message to the end user
Actual Results
Error : "The bot referenced by the 'from' field is unrecognized"

Any comments Team ?

Hoping that issue has been resolved, closing it. Feel free to reopen if any questions.


Module with dots in name are not openable in v4.1.0

I upgraded to v4.1.0.
After I click in the sidebar on a module with a dot . in the module name, this exception occurs and nothing happens. Other modules, without a dot, seems to work.
index-QGoXRsv3.js:1 TypeError: Cannot read properties of undefined (reading 'replace')
    at Proxy.a (index-QGoXRsv3.js:10:46603)
    at onClick (index-QGoXRsv3.js:10:49067)
    at vn (index-QGoXRsv3.js:1:17624)
    at Rt (index-QGoXRsv3.js:1:17703)
    at HTMLDivElement.n (index-QGoXRsv3.js:1:80004)

Fixed with the next version: https://github.com/viur-framework/vi-vue-components/commit/2896cd9eb412e82893fc3b5ca1c5e1c812d9e1ee


Allow batch mode to be plain text newline delimited not just Array JSON

Currently batch mode forces JSON format.
There are instances where the data payload should be raw text but new line delimited where we do not need to send the data as json.
Would be useful to have this option.

@bpb I think it is unusual to have a bespoke non-json , non-XML API that returns CSV records. I suggest you write your own custom format to convert your payload into JSON. If others in the community find this useful you could provide this as a sample. It is not obvious to me that this would be appropriate to put in to the code base as a new top level format, as it is not standard.  WDYT?


Hud10837/perform valve isolation trace

Hello, this is the sample for #1778 Perform valve isolation trace. Everything is working and clean as far as I can tell, except for the issue which @TADraeseke logged in core related to the drifting of the feature layers over the basemap. Once that has been resolved, I will update the screenshot; otherwise, I think this is ready for PR. @Rachael-E Trevor perhaps you could take a first look?

@TADraeseke thanks for all of those changes! I think I've managed to address everything and it looks much cleaner now. Can you take another look? Thanks

@TADraeseke thanks for those, I have a few questions which I've put in the comments and made some changes

@hud10837 thanks! I've put in a code suggestion for refactoring, and noticed that the UI (FAB and progress circle) is still showing as green: could you make it blue please to match our colour scheme? Thanks!

@Rachael-E That's everything fixed now!

This sample is working on a locally built sample viewer

Thanks @Rachael-E for all of the feedback! I'm merging now.


Error: X logo not appearing

Describe the Error
On the homepage, among the logos on the right, the logo for sanjay's X profile does not appear. It only appears as an empty button.
Expected behavior
The button itself should have a logo so that users know what this button points at
Additional context

/assign

Discovered while fixing issue #756 in PR #850


GitHub social provider: invite button sometimes takes a while (~20 seconds)

GitHub social provider: invite button sometimes takes a while (~20 seconds).  During this time users may click invite multiple times and it seems like things are broken.  I think we should either:

Show some loading indicator
Figure out why it's so slow and speed it up.

Could also disable the invite button while the request is in flight.
(I coincidentally made an iron-form feature request to facilitate this but it just got WONTFIXed: PolymerElements/iron-form#77 :\ )


What is the expected inference steps after I apply torchao in training?

Hello, I have integrated torchao to my training. But I think it's not very clear what the inference should be like.
Should I use the converted FP8 linear layer to do inference? Is delayed scaling supposed to work in inference?
Or, should I use the original linear layer to do inference?
Thanks in advance if you can help to clarify!

cc: @weifengpy @vkuzo

Do you need Distributed Inference? Or are you doing inference on single GPU?

For single GPU, I think using original model definition + loading quantized weights should "just work", @vkuzo to confirm. If not, please file a RFC in ao.

For Distributed Inference, we are building DTensor + Quantized Tensor support in torchchat. (We are yet to publish a demo.) There is also a simple ao + TP example in the ao repo: link.

Do you need Distributed Inference? Or are you doing inference on single GPU?

For single GPU, I think using original model definition + loading quantized weights should ideally "just work", @vkuzo to confirm. If not, please file a RFC in ao.
For Distributed Inference, we are building DTensor + Quantized Tensor support in torchchat. (We are yet to publish a demo.) There is also a simple ao + TP example in the ao repo: link.

If original model definition is working for single GPU, that means I could just use my current distributed inference, is that right? The ao + TP example looks like to use torchao converted FP8 linear layer to do inference, which is different from what you suggest for single GPU. To be honest, I feel a little bit confused.


How to configure the formatter in the vscode extension?

The vscode extension does not appear to provide any way to supply arguments to the formatter? There is only one setting, "arguments", and it is for the language server only.

https://github.com/chipsalliance/verible/blob/master/verible/verilog/tools/ls/README.md#configuring-language-server-arguments
You should be able configure the formatter through the arguments field. The language server takes the following arguments:
$ verible-verilog-ls --helpfull

Verible Verilog Language Server built at 0.0-20241114.0
commandline: verible-verilog-ls --helpfull
verible-verilog-ls: verible-verilog-ls

  Flags from common/formatting/basic_format_style_init.cc:
    --column_limit (Target line length limit to stay under when formatting.);
      default: 100;
    --indentation_spaces (Each indentation level adds this many spaces.);
      default: 2;
    --line_break_penalty (Penalty added to solution for each introduced line
      break.); default: 2;
    --over_column_limit_penalty (For penalty minimization, this represents the
      baseline penalty value of exceeding the column limit. Additional penalty
      of 1 is incurred for each character over this limit); default: 100;
    --wrap_spaces (Each wrap level adds this many spaces. This applies when the
      first element after an open-group section is wrapped. Otherwise, the
      indentation level is set to the column position of the open-group
      operator.); default: 4;

  Flags from external/com_google_absl/absl/flags/parse.cc:
    --flagfile (comma-separated list of files to load flags from); default: ;
    --fromenv (comma-separated list of flags to set from the environment [use
      'export FLAGS_flag1=value']); default: ;
    --tryfromenv (comma-separated list of flags to try to set from the
      environment if present); default: ;
    --undefok (comma-separated list of flag names that it is okay to specify on
      the command line even if the program does not define a flag with that
      name); default: ;

  Flags from verilog/analysis/verilog_linter.cc:
    --rules (Comma-separated of lint rules to enable. No prefix or a '+' prefix
      enables it, '-' disable it. Configuration values for each rules placed
      after '=' character.); default: ;
    --rules_config (Path to lint rules configuration file. Disables
      --rule_config_search if set.); default: "";
    --rules_config_search (Look for lint rules configuration file
      '.rules.verible_lint' searching upward from the location of each analyzed
      file.); default: false;
    --ruleset ([default|all|none], the base set of rules used by linter);
      default: default;
    --waiver_files (Path to waiver config files (comma-separated). Please refer
      to the README file for information about its format.); default: "";

  Flags from verilog/formatting/format_style_init.cc:
    --assignment_statement_alignment (Format various assignments:
      {align,flush-left,preserve,infer}); default: infer;
    --case_items_alignment (Format case items:
      {align,flush-left,preserve,infer}); default: infer;
    --class_member_variable_alignment (Format class member variables:
      {align,flush-left,preserve,infer}); default: infer;
    --compact_indexing_and_selections (Use compact binary expressions inside
      indexing / bit selection operators); default: true;
    --distribution_items_alignment (Aligh distribution items:
      {align,flush-left,preserve,infer}); default: infer;
    --enum_assignment_statement_alignment (Format assignments with enums:
      {align,flush-left,preserve,infer}); default: infer;
    --expand_coverpoints (If true, always expand coverpoints.); default: false;
    --formal_parameters_alignment (Format formal parameters:
      {align,flush-left,preserve,infer}); default: infer;
    --formal_parameters_indentation (Indent formal parameters: {indent,wrap});
      default: wrap;
    --module_net_variable_alignment (Format net/variable declarations:
      {align,flush-left,preserve,infer}); default: infer;
    --named_parameter_alignment (Format named actual parameters:
      {align,flush-left,preserve,infer}); default: infer;
    --named_parameter_indentation (Indent named parameter assignments:
      {indent,wrap}); default: wrap;
    --named_port_alignment (Format named port connections:
      {align,flush-left,preserve,infer}); default: infer;
    --named_port_indentation (Indent named port connections: {indent,wrap});
      default: wrap;
    --port_declarations_alignment (Format port declarations:
      {align,flush-left,preserve,infer}); default: infer;
    --port_declarations_indentation (Indent port declarations: {indent,wrap});
      default: wrap;
    --port_declarations_right_align_packed_dimensions (If true, packed
      dimensions in contexts with enabled alignment are aligned to the right.);
      default: false;
    --port_declarations_right_align_unpacked_dimensions (If true, unpacked
      dimensions in contexts with enabled alignment are aligned to the right.);
      default: false;
    --struct_union_members_alignment (Format struct/union members:
      {align,flush-left,preserve,infer}); default: infer;
    --try_wrap_long_lines (If true, let the formatter attempt to optimize line
      wrapping decisions where wrapping is needed, else leave them unformatted.
      This is a short-term measure to reduce risk-of-harm.); default: false;
    --wrap_end_else_clauses (Split end and else keywords into separate lines);
      default: false;

  Flags from verilog/parser/verilog_parser.cc:
    --verilog_trace_parser (Trace verilog parser); default: false;

  Flags from verilog/tools/ls/symbol-table-handler.cc:
    --file_list_path (Name of the file with Verible FileList for the project);
      default: "verible.filelist";

  Flags from verilog/tools/ls/verilog-language-server.cc:
    --variables_in_outline (Variables should be included into the symbol
      outline); default: true;

Try --helpfull to get a list of all flags or --help=substring shows help for
flags which include specified substring in either in the name, or description or
path.

@IEncinas10 thank, that worked! I was sure I had tried that before, but I must have screwed something up. Closing as this is just a 'user being dumb' issue..


[Access token] The user account token has been around for too long

The user account token has been around for too long. It is necessary to reduce the lifetime of the token from 24 hours to 1-2 hour

s

@softservedata , we need to agree on the lifetime of the token

changed lifetime token to 1 hour


SpeasyVariable does not check VALIDMIN and VALIDMAX

Description
CDF actually contains this meta to confine data valid range (not nan). It would be nice this is validated in the library level not by user.
What I Did
I have a simple function to validate this
def get_data_and_time(v: SpeasyVariable):
    v = v.replace_fillval_by_nan()
    data = v.values
    time = v.time
    v_valid_mins = v.meta.get("VALIDMIN", [])
    v_valid_maxs = v.meta.get("VALIDMAX", [])

    all_cond_axis = tuple(range(1, data.ndim))
    for v_valid_min in v_valid_mins:
        cond = (data >= v_valid_min).all(axis=all_cond_axis)
        data, time = data[cond], time[cond]
    for v_valid_max in v_valid_maxs:
        cond = (data <= v_valid_max).all(axis=all_cond_axis)
        data, time = data[cond], time[cond]
    return data, time
    ```

@Beforerr, definitely something we can integrate into Speasy. To be sure, you want to filter out any non valid data points from  a Speasy variable?
If so, I we can easily add a method only_valid_values  with the same interface than replace_fillval_by_nan.
Speasy variables Numpy support should make this simpler too, I have to check if Speasy variables behave well with comparisons and Numpy indexing.

Yes, it would be a great idea to add a method like this. Also, If I remember right, this actually applies to the local CDF files. When geting the data from the CDAS (not sure about other service), it actually already does something like that.

@Beforerr  I've prepared a PR (#168 ) with two new methods, clamp_with_nan that replaces values outside of Valid range with NaNs and sanitized that drops problematic values based on booleans.
I also extended Numpy support to allow comparison and indexing, so you can simply write something like [this](https://github.com/jeandet/speasy/blob/valid_min_and_valid_max/speasy/products/variable.py#L694]

Hi @jeandet Thanks for the update! The method sanitized and extended Numpy support looks really useful! I appreciate the effort you put into the PR.


utils/ast: cleanup

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?
[ ] Have you successfully run brew man locally and committed any changes?

This is the first round of improvements for the recently-added AST helper functions

Move add_bottle_stanza! from Utils::Bottles to Utils::AST
Add replace_bottle_stanza!

I have not added tests for this function, but the existing dev-cmd/bottle tests verify that this is working

Simplify parameters

@iMichka I know you've been working on the new cellar syntax; please feel free to open a PR and not let this PR be blocking

Review period will end on 2020-12-30 at 11:53:02 UTC.

Review period ended.


{purview} Update sample code in readme

Description
Update sample code in readme and fix issue in the sample code.
Fixes Issue #31900
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[ x] Title of the pull request is clear and informative.
[ x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


Upgrade to Ruby 3.1

This PR additionally updates the base image for the builder image. (Is there a better way to coordinate the two?)

(Is there a better way to coordinate the two?)

ARG RUBY_VERSION=3.1.0

FROM ruby:${RUBY_VERSION}-alpine

Thank you, works perfectly!


Fix PagesBuild.UpdatedAt field tag.

This was originally fixed in #469, but it regressed in 905f04725b7bcad81e475ce48474b87561ecc723 (although it was not a part of the PR #467 that commit was based on).
I spotted it once again via Travis CI running with the improved go vet that comes in 1.8. See https://travis-ci.org/google/go-github/jobs/183406963.

This was my fault... I thought I was being clever with the "Squash and merge" button provided by GitHub but have learned that I can not do that.
LGTM. Merging the old-fashioned way.

No problem. It's easy to fix things in software! :)

I thought I was being clever with the "Squash and merge" button provided by GitHub but have learned that I can not do that.

Hmm, what do you mean? That PR #467 was not merged via "Squash and Merge" button.
I've used that functionality many times and didn't have issues. I think you should be able to use it.

Hmmm... if it wasn't that button, then I'm not totally sure how I messed that one up.
Weird!


[Fixes#1792]Separate XML serializers to Microsoft.AspNet.Mvc.Xml

@yishaigalatzer @rynowak

Updated @yishaigalatzer @harshgMSFT

Ping..i would like to check this in today :-)

:watch:

:shipit: when comments are addressed and others sign off

Updated @harshgMSFT

:watch: on pending comments. Please fix it and send another iteration.

Updated @harshgMSFT

:shipit:

Commit: 5c2dc5db11b63fd7b031aa265e8d51c10f2676f9


fix(client): Older dates are incorrectly parsed as today and yesterday.

This replaces #3181. Code LGTM.

:shipit:


[Bug] [dolphinschedule-api] start-process-instance not work properly

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
I use the this api /dolphinscheduler/projects/{projectCode}/executors/start-process-instance to run process in my own client, and i want it to run from the failed task, so i set execType=START_FAILURE_TASK_PROCESS, but it will always run from the first task.
I tried all the enums in CommandType and it had no different, it seems this param have no effect?
What you expected to happen
the process start from the failed task
How to reproduce
follow my description
Anything else
I think it would be better to return a processInstanceId after process successfully started, so that we have no need to check the list by processDefinitonCode and get the latest one.
Version
3.0.x
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

You can use this interface to rerun the failed task.

and set the executeType=START_FAILURE_TASK_PROCESS

You can use this interface to rerun the failed task.
and set the executeType=START_FAILURE_TASK_PROCESS

this api works, but you have to get the correct  processInstanceId first, it is not as convenient as the /start-process-instance api.
So, the execType=START_FAILURE_TASK_PROCESS param doesn't work, right?


EXC_BAD_ACCESS

In method (from UIImage+FloodFill.m)

(UIImage *) floodFillFromPoint:(CGPoint)startPoint withColor:(UIColor *)newColor andTolerance:(int)tolerance useAntiAlias:(BOOL)antiAlias

Line 391, "if (y<height)" should be "if((y+1) < height) else you may see an EXC_BAD_ACCESS.
Also, shouldn't imageData be allocated like this ?
NSUInteger bytesPerPixel = CGImageGetBitsPerPixel(imageRef) / 8;
unsigned char *imageData = malloc(height * width * bytesPerPixel);

I also have EXC BAC ACCESS in this method, but in the following line:
CGContextDrawImage(context, CGRectMake(0, 0, width, height), imageRef);

@vietphu Check #15 . That might solve your issue.

@samane78  I have applied your suggestion for imageData.


Add UML Sequence Diagram for Close Claim Feature

Description:
We have recently implemented the "Close Claim" feature, and it is essential to update the developer guide to include relevant documentation. Specifically, we need to add a UML sequence diagram that illustrates the interactions and processes involved in closing a claim.
Tasks:

Create a UML sequence diagram for the "Close Claim" feature.
Update the developer guide with the new diagram.
Ensure that the diagram clearly shows all relevant components and their interactions during the close claim process.

Acceptance Criteria:

The UML sequence diagram is added to the developer guide.
The diagram accurately represents the workflow of closing a claim.
Documentation is clear and easy to understand for future developers.

Additional Notes:
Please refer to existing diagrams (made using PlantUML) in the developer guide for consistency in style and formatting. If you have any questions or need further clarification on the feature, feel free to reach out.

not exactly part of v1.4 as due date is one day later


Converting the headphone ground truth image to a grayscale image

The rgb2gray function used to convert 3 channel ground truths down to 1, can not work with four channel RGBA images.  We need to fix the code to account for this option. To test it use image Headphones.jpg and Headphones_GT.png.

Dr Colbry already has this issue in the list.


Using styled-jsx inside of 'next/head' fails on first request

Using styled-jsx in the following nature does not render properly on first render, they're basically missing on first initial request but present on following requests (hitting refresh or visiting it again)
yarn run dev -> running on localhost:3000 -> first visit = styles missing from rendered content
-> any consecutive visit = styles are present
yarn run build & yarn run start  -> first visit = styles missing from rendered content
-> any consecutive visit = styles are present
Omitted styles to prevent long post.
import Head from 'next/head'

export default () => {
  return (
      <Head>
        <title>Title</title>
        <meta name="viewport" content="initial-scale=1.0, width=device-width" />
        <style jsx global>
        {`...styles`}
        </style>
      </Head>
  )

However this works fine and although a solution, still seems like styled-jsx should work here.
import Head from 'next/head'

export default () => {
  return (
      <Head>
        <title>SkysLimo - San Jose Limo Service</title>
        <meta name="viewport" content="initial-scale=1.0, width=device-width" />
        <style dangerouslySetInnerHTML={globalStyles()}>
        </style>
      </Head>
  )
}

Note: I am using the master branch but can verify bug present in latest beta.

Hi @FrancosLab, this is due to the way the <Head> component is handled. It's not a usual React component since it doesn't renders its children but instead injects them into the head.
The way styled-jsx works is by injecting the styles on render on the component. This has probably something to do with server side rendering.
Haven't tested, but this should work for you:
import Head from 'next/head'

export default () => {
  return (
      <div>
        <Head>
          <title>SkysLimo - San Jose Limo Service</title>
          <meta name="viewport" content="initial-scale=1.0, width=device-width" />
        </Head>
        <style jsx global>
          {`...styles`}
        </style>
      </div>
  )
}

Exactly. I'll close it for now but feel free to reopen for more questions


NISQ Analyzer: Compiler Comparison - automated refresh

Under the Execution tab of an implementation: enable an automated refresh of the table as soon as the compiler-selection results are available when adding a new compilation and after clicking the execute button.
Thus, the Refresh button is obsolete and can be removed.

https://user-images.githubusercontent.com/68675647/156921874-20c60a54-9908-4a5c-8dd7-3fb6d7cd6147.mp4


Item use tracking

I'm trying to use this on a whitelisted modded server but it can't track throwables, it would be really cool if tracking item uses was an option because i want to keep no items banned but prism can't track throwable explosives, it just logs the blocks they break as broken by the "environment". I can still rollback the damages but there's no way for me to know who did it. Maybe put in a configurable whitelist of items that the usage of is logged? just an idea

Agree.

I Agree very much. Our spawn just got griefed with Florbs. And I have no way of tracking that. Is that correct?


PhysicalExpr Orderings with Range Information

Which issue does this PR close?

Closes #9832.
Rationale for this change

There exists a bug in CastExpr orderings, as detailed in the issue. To solve this problem, we need to append DataType information of children in the get_ordering method of PhysicalExpr's. However, this problem can be solved in a more clever way offering more functionality.
I propose to extend get_ordering method to get_properties such that it can also carry the range information of expressions, which could have an important meaning for expressions when investigating the order information.
Having range information would help ScalarFunctionExpr's order calculations since many of them have monotonicity pattern on some defined intervals. I have given an example of it for ABS() function. CastExpr bug is also solved since the range carries the datatype information.
What changes are included in this PR?

Function monotonicity in scalar functions should not be set via a boolean vector, wrt the effect of the parameter on function monotonicity. Instead, it should be hardcoded in the function bodies, as most functions have unique monotonicity patterns and need to decide order based on their input properties. (I have updated the existing monotonicity calculations and add some more, but there are still TODO's)
To be able to use ScalarFunctionExpr's in interval arithmetic, we will have also evaluate_bounds() and propagate_constraints() methods in ScalarUDF.
Minor updates in interval_arithmetic.rs

Storing unbounded unsigned integers as [0 - Null]
Or support for boolean intervals
Arithmetic negation of intervals

Are these changes tested?

Yes, in order.slt
Are there any user-facing changes?

I haven't had a chance to review this PR yet @berkaysynnada  -- I wonder if you have seen the API in https://github.com/apache/datafusion/pull/10117 from @tinfoil-knight

I haven't had a chance to review this PR yet @berkaysynnada -- I wonder if you have seen the API in #10117 from @tinfoil-knight

Yes, I have. It is becoming a nicer and more useful API for the current version of monotonicity. However, I believe we will eventually need to carry this range data along with the expressions to be able to perform deeper analyses and optimizations.
My initial motivation was just to solve the CastExpr bug, but then I realized that this bug is part of a larger need. I am, of course, open to iterating over this PR.

That PR and this are orthogonal. The work in this PR will simply inherit/benefit from the refactor in the other PR.
I will review this one in detail tomorrow.

@berkaysynnada kindly reminded me that the type undergoing the refactor disappears in this extended formulation. In that case this PR may supersede the refactor one.

Indeed, though I see
    /// Calculates the [`SortProperties`] of this function based on its children's properties.
    fn monotonicity(&self, _input: &[ExprProperties]) -> Result<SortProperties> {
        Ok(SortProperties::Unordered)
    }

In this PR

Having range information would help ScalarFunctionExpr's order calculations since many of them have monotonicity pattern on some defined intervals. I have given an example of it for ABS() function.

This is a pretty clever idea. I think as long as we ensure that it is easy to implement the common patterns of montonically increasing and montonically decreasing adding a more general API is great

@alamb, it'd be good if you could take a quick look before we merge (but not necessary as I reviewed carefully). FYI, defining an "all-increasing" function becomes a one-liner in this approach, so your point is incorporated in this design as well.

Sounds awesome -- I will try and do so tomorrow but if I don't get a chance feel free to merge it and I'll review afterwards. Thank you @ozankabak  and @berkaysynnada

3. If all the inputs of a function are Singleton, should the output SortProperties also be Singleton? If so, maybe we can do this check once before calling individual monotonicity functions.

For the most functions, it is so, but there could be edge cases like some time dependent functions or somehow depending randomly generated values. We have discussed it and decided to keep it as it is. I have addressed other minor issues, and this PR is ready to be merged.

I will go ahead and merge this and we will fix any issues with a quick follow-on PR in case @alamb discovers any when he has time to take a look.


Fix broken links in doc

When browsing the documentation, I've noticed some broken links.

Thank you! 🙏


Entity.init called twice on setting parent

I have an entity that I create in my code, and manually set the parent:
this.inventory = new Inventory();
this.inventory.parent = this;

Where Inventory is extending Entity.
When uncommenting the parent setting, the init function of the Inventory is only being called once. Though, setting the parent, it is being called twice.
Workaround: I have to manually add a guard at the top of the init function
if(this.inited) return;

Is this on purpose? I kinda doubt it, but I may be wrong there.

It's obviously not intended to call twice, but I won't make any assessments without reproducible code.
It could be a side effect of this recent change, but if you can give me something tangible to test that would be ideal.

Well I try to, apparently it is not as straightforward as I assumed it would be, to reproduce.
BUT that recent change did NOT cause this behavior.
I keep trying to make reproducible code.

Okay so here is how far i've gotten up to today:

This only happens from Scene.handle_delayed_additions
Only seems to happen when I set the parent of an Entity
Apparently checking for "this.inited" is not always reliable either

I have yet to figure out how to get my example-code to get into the delayed additions for it to happen. Because there it happens.
Regardless of all this, it would be helpful (I assume) if the Scene.handle_delayed_additions function checks for inited state before calling init() on the children again?

Hey, have you tried setting parent from the constructor?
this.inventory = new Inventory({parent: this});

Not yet, will try tonight

It should be available if you're using standard Entity's new()  constructor.

checks for inited state before calling init() on the children again?

My problem with doing these type of bandaid fixes is that if there is an actual bug related to how they are getting in there more than once, we just brushed it under a rug.
If you can't find why it's happening but you do have a reproducible case - you can email or message me a link to the source, like in pm on the chat. I can have a look at that as well.

Thanks for the link on PM @joekinley, I debugged the code from your web build and found the behaviour I was looking to confirm.
This should be resolved if you update to the commit below.
https://github.com/underscorediscovery/luxe/commit/d0659afff46e4e687fb45a5e4c3927c206de706c


Modifying headers with RequestHooks does not work with --native-automation

What is your Scenario?
I'd like to be able to modify the headers in a request prior to it being sent to the server, as seen in an example on the testcafe docs here: https://testcafe.io/documentation/402772/reference/test-api/requesthook/onrequest
What is the Current behavior?
With nativeAutomation: false we are able to modify headers. With nativeAutomation: true the headers are not modified.
What is the Expected behavior?
The headers should be modified.
What is your public website URL? (or attach your complete example)
I forked the testcafe example repo and added a test for it here: https://github.com/omacranger/testcafe-examples/commit/7a1d840a73be9dd91370400259d3475c4776d241
What is your TestCafe test code?
Full example in in the commit / repo above.
Your complete configuration file
No response
Your complete test report
No response
Screenshots
No response
Steps to Reproduce
Checkout the example repo I duplicated above, and do the following:
In one terminal
node ./server/index.js

In another
npx testcafe chrome ./examples/set-request-headers
npx testcafe chrome ./examples/set-request-headers --native-automation

Notice the first command passes, and the second command fails.
TestCafe version
2.6.1
Node.js version
v18.12.0
Command-line arguments
--native-automation
Browser name(s) and version(s)
No response
Platform(s) and version(s)
No response
Other
I think this is related to #7732 as well.

I managed to reproduce the issue.

fixed in https://github.com/DevExpress/testcafe/pull/7754


Multi from repeating with delay causes Zombie Thread

Context
Java SE, Tested on Oracle 1.8 AND OpenJDK 16
Using Mutiny 1.2.0 from Maven Nexus
Description
When creating a Multi by repeating with a delay, it creates a Thread that never dies, thus preventing the jvm from shutting down.
The responsible Thread seems to be from the Infrastructure.getDefaultWorkerPool()
Doing a explicit shutdown of that executor did not help either.
Find minimal example code attatched
MutinyZombyThreadBug.zip
Additional detail
It seems not to matter how the repetition is bounded (max count, predicate etc.).
The jvm shuts down normally without the delay.
When debugging, I found that this is using the uni.onItem().delayIt() internally, so that might be affected as well.

Update:
I did some more debugging on this and found the following situation:
During execution, 2 Threads are being created:
One seems to be a Mutiny controller Task of type io.smallrye.mutiny.infrastructure.MutinyScheduler
The other one seems to be worker Threads for the ThreadPoolExecutor.
I could observe the following behavior on those Threads:
The Worker Thread is destroyed, once a timeout of 60 seconds with no new tasks is over.
The MutinyScheduler remains active, even if the main Thread exits.
But
When calling Shutdown explicitly on the default worker pool, the MutinyScheduler exits immediately.
But the shutdown is being delayed for another 60 seconds, thus creating the illusion of an undead thread.
So:
With these new Information in mind i would expect the following behavior once the main Thread exits:

The shutdown method is being called implicitly on the default worker thread
The workerthreads exit shortly after.

I will get back to this in the coming days.
Meanwhile here's the code from the .zip archive:
import java.time.Duration;
import io.smallrye.mutiny.Multi;

public class MutinyZombyThreadBug {

	public static void main(String[] args) throws Exception {

		StringBuilder sb = new StringBuilder("a");

		Multi.createBy().repeating().supplier(()->sb.append("b").toString())
			.withDelay(Duration.ofSeconds(3))
				.whilst(e -> !"abbbb".equals(e))
				.onItem().invoke(e -> System.out.println(e))
				.collect().last().subscribeAsCompletionStage().get();

//        Infrastructure.getDefaultWorkerPool().shutdown();
//        Infrastructure.getDefaultWorkerPool().awaitTermination(5, TimeUnit.SECONDS);
//        Infrastructure.getDefaultWorkerPool().shutdownNow();
	}

}

What you see is to be expected.
The Infrastructure class is used by frameworks such as Quarkus to define various integrations. This includes logging and worker thread pools.
Delaying requires a thread to actually perform the delaying, and this is done by using a Java service executor provided using Infrastructure.
The default executor (which you likely see in your code) is Executors.newCachedThreadPool(), and it takes some time before all allocated threads get shut down, and it can indeed "block" the main thread. This can be observed with that particular executor with non-Mutiny samples.
You should not manually shutdown the Infrastructure-provided executor. Instead if you want some fine-grained control over the executor you might set the Infrastructure executor yourself. But again in real-world usage as in Quarkus / Vert.x applications this is not an issue. The main method boots the network servers then goes for some long-running work.


Add X509_cmp_timeframe()

This PR adds the function X509_cmp_timeframe() along with documentation and thorough tests.
It also fixes a parameter renaming glitch in the current documentation of X509_cmp_time().
The function can be used for instance as follows:
    X509_VERIFY_PARAM *vpm = ... /* may include flags and reference time used below */
    X509 *cert = ...
    int time_cmp = OSSL_CMP_cmp_timeframe(vpm,
                                          X509_get0_notBefore(cert),
                                          X509_get0_notAfter(cert));
    if (time_cmp > 0)
        error("certificate expired");
    if (time_cmp < 0)
        error("certificate not yet valid");

The motivation for adding this function to x509_vfy.c is that it is currently defined in a preview of the upcoming CMP contribution chunk 7 while it could be of broader use, as discussed with @mattcaswell here: https://github.com/mpeylo/cmpossl/pull/199#discussion_r349115202

[x] documentation is added or updated
[x] tests are added or updated

The CI tests pointed out that a const glitch, which I solved essentially by constifying X509_VERIFY_PARAM_get_flags (which was still missing anyway).

FWIW, when I saw the function name, I thought it would take an X509 cert, not a VPM.

Ping - needs second review

FWIW, when I saw the function name, I thought it would take an X509 cert, not a VPM.

Concerning the function name, right that the X509_ prefix should indicate that the function takes a cert argument (as its first parameter). Yet this also applies to all the the other time-related functions defined in x509_vfy.c, and the new function just follows the naming model of its peers.
One could consider consistently renaming all these functions, including the new one, to something that does not contain X509_ and move the functions out of crypto/x509/ but this would be the topic of a separate PR.

Can this PR be flagged for merging now?

Can this PR be flagged for merging now?

The conclusive approval was done 16 hours ago.  So, with regards to 24h grace period that we have regimented ourselves to, it can in 8 hours.

In the meantime I had to rebase this (fixing a minor merge conflict in libcrypto.num).
Could someone please merge this PR.

I squashed the various commits and merged this. Closing.


Implementing Iterator for Tokenizer

Would it be possible to make a Tokenizer an Iterator, so that parsing could be done with
for token in tokenizer {
...
}

instead of
loop {
  match tokenizer.parse_next() {
    ...
  }
}

?
Since the next() method of an iterator can only return an Option, not a Result, the return type would probably have to be Option<Result<Token>>.
I'm not sure how EndOfStream would need to be handled in that case though. It's a bit of a Meta-Token, since it doesn't correspond to "real" data. It would be obsolete by returning None from next().
Or are there any downsides to that approach? There might be a good reason why you chose parse_next() :)

Yes. I thought about it, but the main downside is that it will be the same, because you have to unwrap the result, so:
for token in tokenizer {
    let token = token?;
...
}

The main advantage is that you don't have to check for EndOfStream and then break the infinite loop. That's a bit unintuitive to me.

Also you will be able to use filter/map/etc.
Sounds reasonable. Will add it soon.
PS: it was actually implemented in older version, but badly, so I removed it.

Also you will be able to use filter/map/etc.

That sounds like a very good idea :)

Done in 0.5
See Tokenize::tokens documentation and examples/parser.rs for details.


What should I do if I want to watch the entire subtree?

In the current documentations of useDocs, there is a mention that it watches the tree up to a given depth. Is there any way we can watch the entire subtree?

By "watches", we mean it rerenders the React component where you use useDoc hook, whenever the updates occur until the given depth. Explained in detail here.
If you want to subscribe your component to updates on the whole tree, you can do this
useDoc("", Infinity)

This is not recommended though.
If you just want to observe changes somewhere, not necessarily a React component, you can use observe with depth Infinity.

By "watches", we mean it rerenders the React component where you use useDoc hook, whenever the updates occur until the given depth. Explained in detail here.
If you want to subscribe your component to updates on the whole tree, you can do this
useDoc("", Infinity)

This is not recommended though.
If you just want to observe changes somewhere, not necessarily a React component, you can use observe with depth Infinity.


write command format to request for RPM and Speed

I have tried RxAndroidble library for connecting to ble device but i dont know how to send command to get value from ble device.Right now i am sending the value of 0105 for engine coolant temprature value and it gives me write success message but i dont know how to get value of this parameter.does anybody help me with this?

Hello!
Thank you for using the library.
This is a general usage question and as such should be posted on stackoverflow with rxandroidble tag—it will be easier to find by other users.
Best Regards


fix: add missing library for linux users

Wouldn't it be better to update this inside KDiscordIPC?
Also, this currently doesn't build since junixsocket is missing in the libs.versions.toml file

Wouldn't it be better to update this inside KDiscordIPC?
Also, this currently doesn't build since junixsocket is missing in the libs.versions.toml file

It should already be included in kdiscordipc but some users reported me issues. And for the version, I just completely forgot to add it oops.

Now that I think of it, it may be caused by the fact that I also modified the library and didn't shadow it 🤔


One docker volume for both services

Currently, we are using multiple volumes to sync the data with docker containers but now I want to combine all the volumes in one.
Current config in docker-compose.yaml file:
services:
  frontend:
    volumes:
      - ./frontend:/frontend  # TODO: Learn why are we doing this
      - ./frontend/data:/frontend/data
  backend:
    volumes:
      - ./backend:/backend  # TODO: Learn why are we doing this
      - ./backend/ml_models:/backend/ml_models

volumes:
  frontend:
  data:
  backend:
  ml_models:

But I want to combine all the volumes in one with data/ directory.
.
├── backend
│   └── ...
├── data  # This directory as universal volume
│   └── ...
└── frontend
    └── ...

😞 Not Sure; And for this, we have to change following in docker-compose.yaml file:
services:
  frontend:
    volumes:
-      - ./frontend:/frontend
-      - ./frontend/data:/frontend/data
+      - ../data:../data
  backend:
    volumes:
-      - ./backend:/backend
-      - ./backend/ml_models:/backend/ml_models
+      - ../data:../data

volumes:
-  frontend:
  data:  # 🤔 I am not sure this line stays the same or not
-  backend:
-  ml_models:

I am not sure that this works for sure.

Also, you have change path of data files and models.

I am figuring out some other solution to store ml_models but the app data will be stored there at the (above) specified path.


#0: Add assembly.yaml to llk submodules

Add assembly.yaml to the llk submodules
Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] Device performance regression CI testing passes (if applicable)
[ ] New/Existing tests provide coverage for changes

The submodules updates got added with another PR: https://github.com/tenstorrent/tt-metal/pull/13661


Parser should recognize up to 6 digit character references

The parser currently only allows up to 4 digits in character references (e.g., €). However, to support the full unicode range, including dingbats (typically 5 digits) and emoji (typically 6 digits), we should allow up to 6 digits.

Unfortunately, Asciidoctor PDF can only support what Asciidoctor core supports, which is 5 digits. Therefore, we'll need to make an incremental fix, then update to 6 once the equivalent fix in core is made.

Asciidoctor PDF has been updated to support 6 digit character references as of 1.5.0.alpha.12.

➊ fails to render in Asciidoctor PDF 1.5.0.alpha.16 however ✓ renders correctly.

@ghobona Asciidoctor parses the 6-digit character reference fine. The problem is that the glyph is missing from the provided font. If you need to use this glyph, then you need to specify a font (such as a fallback font) in the theme file that has this glyph.


Bump version and publish to NPM

The 1.0.13 version currently published to NPM is extremely out of date, predating all the WebXR 2019 work (#71). This is confusing for folks expecting to import the polyfill via NPM, as the README still gives instructions for doing that. It would be great to bump the version (major version?) and publish it there.
This would probably also cover the CDN request in #62 via cdn.jsdelivr.net or similar.

Version bumped to 2.0.0 to signal the new API compatibility, and I just published now! 🎉


Handle deprecated blocks or attributes on hcl.syntax level

Note: enhancement from code perspective which will solve a current bug.

In general we need a component which acts as syntax pre-processor to rename deprecated block, attribute or error_handler names/types. Additionally we can log such a rename once with a warning and a hint for the upcoming version which will drop the support for the old names. For example our beta_ features.
A current situation for the beta_permissions should be fixed since Couper does not understand the old beta_ permission prefix. See #673 .
Should be executed after our config-merge pre-processor.
Rough data format:
[type][key]struct{new: val, version: upcoming} and key (e.g. beta_permission) should refer to the old one for easy lookups. Type could be block,attribute or error_handler.

Should be executed after our config-merge pre-processor.

We must deprecate bevore merge process, because we call validate() for each parsed body.

What about the renamed beta_granted_permissions and beta_required_permission request context variables?

I guess that it's not so easy to find references to request.context.beta_granted_permissions or request.context.beta_required_permission, change them and log a warning.
However, in eval/context.go
func newVariable(ctx context.Context, cookies []*http.Cookie, headers http.Header) ContextMap {
...
	gp, _ := ctx.Value(request.GrantedPermissions).([]string)
	if len(gp) > 0 {
		ctxAcMap[grantedPermissions] = seetie.GoToValue(gp)
	}
	if rp, permissionSet := ctx.Value(request.RequiredPermission).(string); permissionSet {
		ctxAcMap[requiredPermission] = seetie.GoToValue(rp)
	}

we could additionally store the values under beta_-prefixed keys.
There will only be values if permission-related attributes are configured. And if these are beta_-prefixed, there will be log warnings.

https://github.com/avenga/couper-vscode/pull/126 added a message containing the version with which a feature was deprecated. Now that, in Couper, we have a version, until which a deprecated feature is still supported, should we add this to the VSCode message, too?

avenga/couper-vscode#126 added a message containing the version with which a feature was deprecated. Now that, in Couper, we have a version, with which a deprecated feature is no longer supported, should we add this to the VSCode message, too?

https://github.com/avenga/couper-vscode/pull/129


SelectBox toggle select on 2nd click Fixes: #40513

Track SelectBox active with _isVisible
Toggle select box with each mouseclick

Fixes: #40513

Not sure why there is both a commit and the merge???


New feature of Diode

Fixes #
Describe the changes you have made in this PR -
Added a new feature of diode
Screenshots of the changes (If any) -
Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.
I am not able to upload the image of diode in circuit elements. Please check it out

Coverage remained the same at 84.525% when pulling d2507f9fe08a7a13f236344c4a63ebd73ffb946d on mayank-kabra2001:master into 4d86e673c6fc7f5ac692ed0cd7f36cb6b122edcf on CircuitVerse:master.

I have resolved all the errors pointed by @gr455 .
Changes made in
public/src/circuitelement.js - added a flag and created getter - getDiodeFlag() , setter - setDiodeFlag() .
public/src/engine.js -  used this flag where stack simulation error is called .
public/src/modules/Diode.js - Added new variables in constructor .


fixed issue #34 added default pictures for users who don't have them

Used suggested simplified logic and included pinned team changes to avoid any issues. Still using handlebars function defaultPhoto to returns the path to the default blank portrait if photo_url is null.

much better 👍


response-headers Content-Disposition: attachment; filename="test.json"

What is the correct URI to reproduce Content-Disposition: attachment; filename="test.json"
I tried various combinations with %20 and %22 but am never able to get Content-Disposition as key and attachment;filename": "test.json" as value. Is this possible?
For example
http://httpbin.org/response-headers?Content-Type=text/plain; charset=UTF-8&Content-Disposition: attachment;filename=test.json
{
  "Content-Disposition: attachment;filename": "test.json",
  "Content-Length": "173",
  "Content-Type": [
    "application/json",
    "text/plain; charset=UTF-8"
  ]
}

$ curl -i 'http://httpbin.org/response-headers?Content-Type=text/plain;%20charset=UTF-8&Content-Disposition=attachment;%20filename%3d%22test.json%22'
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 17 Jul 2015 21:38:11 GMT
Content-Type: text/plain; charset=UTF-8
Content-Length: 177
Connection: keep-alive
Content-Disposition: attachment; filename="test.json"
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true

{
  "Content-Disposition": "attachment; filename=\"test.json\"",
  "Content-Length": "177",
  "Content-Type": [
    "application/json",
    "text/plain; charset=UTF-8"
  ]
}

thanks a lot!


Taxonomy for dataset credentials and connection properties.

Problem description
There are different connection types (s3, kafka, etc.). Each connection type has a different structure for credentials (e.g., s3 credentials includes access key and secret key) and connection properties (e.g., endpoint).
However, the exact structure for each type is undefined. We have inconsistencies between different components in the project (connectors and modules). For example, mover expects {'data': {'access_key': '<value>', 'secret_key': '<a3026f48a13ff1246e26b09f99237eb457bec35e4321ab12>'}, ...} while flight expects  {'access_key': '<value>', 'secret_key': '<value>'}
Proposed solution
Document a fixed mapping that must be followed by all connectors and modules.
The preferred structure for credentials is one that can easily be used when adding a secret to vault through its UI.

Actually the mover can deal with data being in data or outside like flight. But we were running into the problem that the mover was expecting accessKey and secretKey. So I completely agree that there is an issue and that we should unify this!
One way is that we could fix the credentials in the protobuf return type of the connector (and use the same structure for the secretProvider)
Thus in the example below a connector would set the fields where it has a value for. As protobuf structs in go get generated with json:"field,omitempty" when converting a struct to JSON it would result in an object that only has the fields that are not empty. This would allow for a standard mapping of credentials from the connectors.
message Credentials {
    string access_key = 1;
    string secret_key = 2;
    string user = 3;
    string password = 4;
    string api_key = 5;
}

@froesef why the preference to put all credential forms in a single message? Don't we also want to attach it to the connection type to associate the expected credentials for each connection type?
I wonder if we need to have more structure here, e.g., to differentiate between S3 and COS because the latter can have an API key without HMAC credentials so a module with code that requires access_key and secret_key won't fit. Does the mover module support both?

No the mover is currently based on the open-source stocator plugin that is working with HMAC credentials. As I understand we'd have to switch to the ibm-sdk version of it to support API key. I chose the HMAC version as these can also be used with different S3 implementations.

@roee88 @froesef just a query: is the proposal in this PR the following: Provide more structure to the credentials information instead of returning a JSON string as we are doing now as provided in the proto here? or is the PR not talking about this proto ?

@roee88 @froesef just a query: is the proposal in this PR the following: Provide more structure to the credentials information instead of returning a JSON string as we are doing now as provided in the proto here? or is the PR not talking about this proto ?

@rohithdv This proto exactly - provide dataset credentials in a structured way instead of a json string as today.


⚠ Bofrost.fr has degraded performance

In 160aac3, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 809 ms

Resolved: Bofrost.fr performance has improved in 4605729 after 6 minutes.


How to have secrets accessible to multiple services?

Is it possible to make sops-nix secrets accessible to multiple services? I'm guessing by using groups, but I'm not quite sure how to do that, or if it's the best way.

You can specify a group on a secret: https://github.com/Mic92/sops-nix/blob/83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616/modules/sops/default.nix#L73
sops.secrets.<yoursecret>.group = "yourgroup";

And than add your services to an newly created group:
systemd.service.<yourserver>.serviceConfig.SupplementaryGroups  = [ "yourgroup" ];
users.groups.yourgroup = {};


Code cleanup

This PR resolves following issues:
https://github.com/flashmob/go-guerrilla/issues/156
https://github.com/flashmob/go-guerrilla/issues/155
https://github.com/flashmob/go-guerrilla/issues/154
https://github.com/flashmob/go-guerrilla/issues/153
Also some minor code was cleaned where it made sense.
There is much more to do :-)

I resolved the change requests, hope this helps :-)


Pattern development: Support Department List for use at CDS (CRM team request)

A select component with list of departments in GC, useful for products like Notify, and some use cases for Forms.
List should be updated if there are any changes in names, new or removed departments etc.
Where does the list pull from? Beth may have a solution.

Repo for the Department list that gets exported from Salesforce:
https://github.com/cds-snc/gc-organisations
Document with overview of the approach so far (with notify)
https://docs.google.com/document/d/10Nm09UFi2tR3rlDCtQb1J7X2q4dnYbfuoAwlenzo1gY/edit#heading=h.ge4lu9pl4207
https://www.tbs-sct.canada.ca/ap/fip-pcim/reg-eng.asp
https://open.canada.ca/data/en/dataset/83320390-7715-43bc-a281-2049bf5d4232

Decision needed - pull from existing sources or manage our own?


Document Include/Exclude files

With libbs 1.16.0, there is now support for including and excluding files. This needs to be documented in the Readme and also Paketo docs.
It needs to be documented for the other four libbs based Buildpacks as well.

Hi there, I'm having trouble getting my buildpacks working with BP_INCLUDE_FILES. It's not including the paths I want included.
In the readme I see that there's a default glob pattern. Can you point me to where this default is declared? I could not find it in this repository, nor could I find it in libbs.

@Carbonique can you open a new issue? I took a quick look and the README doc isn't 100% correct, there is actually no default at the moment. There may also be an issue because the default entry is not in buildpack.toml. Thanks

@dmikusa Will do! Might take a couple of days though.

@dmikusa sorry, I never opened an issue... Anyway, thanks for fixing the problem!


setup:di:compile breaks on 0 indexed object arrays

Built a new and untouched 2.1.7
Loaded Umc_Base on it
Ran  module:enable setup:upgrade
and ran  setup:di:compile and received this message
[Exception]    Warning: ltrim() expects parameter 1 to be string, array given in /Users/dandodd/Projects/tpmco.dev/setup/src/Magento/Setup/Module/Di/Compiler/Config/Chain/BackslashTrim.php on line 61
This looks like a Magento issue with 0 indexed objects. https://github.com/magento/magento2/issues/8803
I thought about changing the index 0 to 1 and 1 to 2 & etc but that would likely break something else.
What do you think about trying that?
The Umc_Base does run so I build a test Module and enabled upgraded and received this error while compiling
Compilation was started.
Interceptors generation... 4/7 [================>-----------]  57% 3 mins 334.2 MiBMiBB08.2 MiB
[RuntimeException]
Class Tpmco\Test\Model\UploaderPool does not exist

Hello Dan.
First of all, thanks for reporting this. getting help with the testing from
the community helps me a lot.
I developed the latest version of the UMC on Magento 2.2-dev, the version
available on github and I didn't get the compilation error.
I will try on 2.1.7.
But I need your help even more.
What version of the Umc_Base module are you using?
I just released yesteday 2.0.0-beta2. I don't know if you got the latest
version or the beta1 version.
As for the generated module, please send me the file
var/umc/modules/Tpmco_Test.xml. This way I can reproduce the module on my
side and investigate the issue further.
Thank you again for all your help.
Marius.
On Thu, Jul 6, 2017 at 7:44 PM, Dan Dodd<EMAIL_ADDRESS>wrote:

Built a new and untouched 2.1.7
Loaded Umc_Base on it
Ran module:enable setup:upgrade
and ran setup:di:compile and received this message
[Exception] Warning: ltrim() expects parameter 1 to be string, array given
in /Users/dandodd/Projects/tpmco.dev/setup/src/Magento/Setup/
Module/Di/Compiler/Config/Chain/BackslashTrim.php on line 61
This looks like a Magento issue with 0 indexed objects.
https://github.com/magento/magento2/issues/8803 http://url
I thought about changing the index 0 to 1 and 1 to 2 & etc but that would
likely break something else.
What do you think about trying that?
The Umc_Base does run so I build a test Module and enabled upgraded and
received this error while compiling
Compilation was started.
Interceptors generation... 4/7 [================>-----------] 57% 3 mins
334.2 MiBMiBB08.2 MiB
[RuntimeException]
Class Tpmco\Test\Model\UploaderPool does not exist
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/UltimateModuleCreator/Umc_Base/issues/36, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AK3PT1es6i8pQf6nc04IlilbE47Ub6Ajks5sLQ8GgaJpZM4OP5jH
.

2.0.0-beta2
I was using the Umc_Base with the latest commit  "Pull Merge Request #35 ... from parent/relation"
I added the Tpmco_Test to app/code/Tpmco/Test  ...
Tpmco_Test.xml.zip

I think my issues  began at compile of Umc_Base.

bin/magento  module:enable Umc_Base
bin/magento setup:upgrade
bin/magento setup:di:compile

And it had an exception:
Compilation was started.
Area configuration aggregation... 5/7 [====================>-------]  71% 3 mins 172.0 MiB0 MiB
[Exception]
Warning: ltrim() expects parameter 1 to be string, array given in /Users/dandodd/Projects/umc.dev/setup/src/Magento/Setup/Module/Di/Compiler/Config/Chain/BackslashTrim.php
on line 61
SO I don't get a clean install.

Any word on this one Dev's? Same issue here on Magento ce 217.

Fix: I had to start a new project using the magento 2.2.1-dev (from magento 2 github), then redownloaded this repo (as .zip on 11-02-2017) to get this issue resolved. Magento 217 just doesn't want to work with this UMC 2 so well when it comes to setup:di:compile. Kept getting this same ltrim() error using that one.

@lanrosta Sorry, but I didn't have too much spare time to maintain this repo for now. I'm one-man-show on this. The issue will remain open until I get some spare time to work on it. Thanks for reporting this.


Quiz suggests traditional SQL dbs aren't durable

From @petermattis:

Another quiz question uses the term “Availability and Durability”. Traditional SQL databases are difficult to set up in a high availability configuration, but most people would probably believe they provided durability.

Peter, can you identify the name of the quiz?

"NoSQL Database Features"

Adjusted the answer to just "Durability"


Don't hardcode path to fish executable

Hi,
this is excitingly small fix for the install.fish script being broken on Apple M1 if using Homebrew (and its defaults),
for which location is: /opt/homebrew.
So let's get the fish exec path using env, as well as it's done in install.sh already.
Best regards,
Peter

Hey Peter,
Thanks for the contribution! Happy to see the fish installer is actually being used
Though I assume you wanted to open the PR against Hyde46/hoard instead of ink-splatters/hoard


Concept for STS API/ Interface to EDC

Review API proposal for access/interaction of EDC/STS
see also: https://github.com/wolf4ood/tx-identity-trust/blob/feat/13_open_api_spec_example/specifications/M1/identity-trust-sts-api.yaml
related to:
https://github.com/eclipse-tractusx/sig-release/issues/248

covered in #139


Adaptive Hoeffding Tree 'gini' -- 'InactiveLearningNode' object has no attribute 'filter_instance_to_leaves'

Used code:
from skmultiflow.evaluation.evaluate_prequential import EvaluatePrequential
from skmultiflow.data.hyper_plane_generator import HyperplaneGenerator
from skmultiflow.trees.hoeffding_adaptive_tree import HAT

"""1. Create stream"""
stream = HyperplaneGenerator(mag_change=0.001, noise_percentage=0.1)

stream.prepare_for_use()

"""2. Create classifier"""
clf = HAT(split_criterion='gini')

"""3. Setup evaluator"""
evaluator = EvaluatePrequential(show_plot=False,
                                pretrain_size=1,
                                max_samples=1000000,
                                metrics=['performance', 'kappa_t', 'kappa_m', 'kappa'],
                                output_file=None)

"""4. Run evaluator"""
evaluator.evaluate(stream=stream, model=clf, model_names=['HAT'])

It stops the classification after a few instances with the following error:
root - INFO - Prequential Evaluation
root - INFO - Evaluating 1 target(s).
root - INFO - Pre-training on 1 samples.
root - INFO - Evaluating...
root - INFO - Evaluation time: 10.584 s
root - INFO - Total samples: 22444
root - INFO - Global performance:
root - INFO - HAT - Accuracy     : 0.844
root - INFO - HAT - Kappa        : 0.688
root - INFO - HAT - Kappa T      : 0.688
root - INFO - HAT - Kappa M      : 0.692
'InactiveLearningNode' object has no attribute 'filter_instance_to_leaves'

best regards

Confirmed. The issue is triggered by the memory management code that was deactivating some leaves and triggered an unhandled condition.

Fixed in e66e4eb94bf1e8d77619ab4c45398b1bfccd1e0f


I started getting an error: appid is unauthorized!

2023-07-28 18:55:55.090 WARNING (MainThread) [custom_components.sonoff] Can't login with mode: auto
Traceback (most recent call last):
File "/config/custom_components/sonoff/init.py", line 206, in async_setup_entry
await registry.cloud.login(username, password)
File "/config/custom_components/sonoff/core/ewelink/cloud.py", line 150, in login
raise AuthError(resp["msg"])
custom_components.sonoff.core.ewelink.cloud.AuthError: appid is unauthorized! KOBxGJna5qkk3JLXw3LHLX3wSNiPjAVi
2023-07-28 18:55:55.092 WARNING (MainThread) [homeassistant.config_entries] Config entry 'xxx' for sonoff integration could not authenticate: appid is unauthorized! KOBxGJna5qkk3JLXw3LHLX3wSNiPjAVi
Can you help me?

Yup, getting it after a reboot of HA. Control of devices still seems to work.

#1201


Can remove the strong dependency of swagger in 3.2 branch

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Ask your question here
when i use spring boot project start application will throw such exception
/dubbo-3.2.0-beta.3-SNAPSHOT.jar!/org/apache/dubbo/rpc/protocol/rest/integration/swagger/DubboSwaggerApiListingResource.class]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: io/swagger/jaxrs/listing/BaseApiListingResource

Regarding the dependence of swagger, this was introduced in 2018, and it seems that this problem will only be caused when the protocol uses the rest protocol. I think this can be removed

Swagger should be a weak dependency for Dubbo


Can't narrow error type in catch clause

try {
    ...
}
catch (ex) { // Adding an annotation here gives ERROR TS1196: Catch clause variable cannot have a type annotation
    if (ex instanceof FooError) {
        ex; // ex is of type any
        ex.message; // OK
        ex.iDontExist; // typechecks OK, but doesn't exist
    }
    else if (isBarError(ex)) {
        ex; // ex is of type any
        ex.foo(); // typechecks OK, but runtime error
    }
    else {
        ...
    }
}

I guess this is expected behaviour not a bug. But I was not previously aware that the catch clasue variable cannot be annotated. Due to #1426, this means we can't narrow ex inside the catch clause, so all the cases dealing with specific error types get no type checking (since ex remains as any).

But I was not previously aware that the catch clasue variable cannot be annotated.

The workaround is to simply create a local variable:
catch (err) {
    const ex:Error = err;

However it will not help with your desire of narrowing in any meaningful way (I think) :rose:

Thanks @basarat, that's what I'll do for now, and it does get narrowing working. It's a pity to need this hack though :(

It's a pity to need this hack though :(

Basically a throw can come from anywhere and any object can be thrown :-/ :rose:

Yep, that part i agree with. What bothers me is the fact that narrowing doesn't work with any, and there's no alternative to using any here.

@basarat BTW the hack I'm referring to is the need for both err and ex to get the job done. Someone reading this code (or, say, debugging the output js) would not understand why the second variable is required, without knowing something about the contentious history of narrowing with any.

Isn't TS1196 an overreach by the compiler anyway? It is possible to know the range of types that can flow into a catch clause in specific code. And if TypeScript cannot infer them, then an annotation on the catch clause variable makes perfect sense (i.e. it provides information to the compiler that it cannot infer by itself, just like annotations do elsewhere). Example:
try {
    noThrow(); // This function's API docs state that it never throws an error
    foo(); // This function's API docs state that it either returns or throws a FooError
}
catch (ex: FooError) {  // ERROR TS1196
    // We could only ever get FooError here
}

Two interrelated issues being discussed here:

We don't allow type annotations on catch clauses because there's really no way to know what type an exception will have. You can throw objects of any type and system generated exceptions (such as out of memory exception) can technically happen at any time. Even if we had a Java-like notion of throws annotations it is not clear that we could ever really rely on them. (And, it is also not clear that they work all that well in Java, but that's another discussion.)

We don't narrow any in type guards unless we know the exact type you're narrowing to. For example, if you check typeof x === "string" we will indeed arrow an any to string because we know for sure that is the exact type of x. That isn't the case with instanceof. Specifically, you might check x instanceof Base, but x might actually be an instance of a class derived from Base. If we narrowed x to type Base you'd see errors on access to properties of the derived class even though there is nothing wrong with the code. Now, before you argue those errors would be fine, keep in mind that the declared type of x is any, so you've already said you want no checking. We take that as an indication that we should issue errors only when we're 100% sure they're errors. And we only know that if we know the exact type.

Now, having said the above, we could perhaps consider allowing type annotations that specify Object or {} since every type is assignable to those types. But I don't think we could go any further than that. With an Object or {} annotation in place, instanceof type guard woulds indeed narrow the type.

we could perhaps consider allowing type annotations that specify Object or {} since every type is assignable to those types

:thumbsup: that would at least allow type narrowing and hence better type checking in the catch clause.

It would be very nice if we could type-annotate the catch clause variable with ex: Error since it's perfectly sound to do so in many if not most cases. Consider:

System-generated exceptions (including out of memory if that indeed exists and can be caught) will always be instances of Error or one of its a subclasses such as ReferenceError.

All other exceptions come from an explicit throw statement somewhere in our own code or in third party code, that is executed within the guarded try block.

I control my own code so I know that it only ever throws Error instances.

I have try blocks that contain no third party code.

I have try blocks that reference third party libraries that very explicitly document that they only throw Error instances.

The counter-argument that TypeScript should disallow the annotation in all circumstances because it could be incorrect in some circumstances is an interesting one:
try {
   throw new Error("I'm an error");
}
catch (ex: Error) {  // ERROR: We won't allow this annotation even though it's valid
                     // in this case, because it might be invalid in some other case
   ...
}

...given that the obvious workaround is to exploit the "user knows best" philosophy that TypeScript applies to an equivalent annotation in a different position:
try {
   throw new Error("I'm an error");
}
catch (ex) {
    let err: Error = ex;  // OK, user knows best! And indeed in this case they are correct.
                          // But if we trust the user then why not just allow annotating `ex`?
   ...
}

once the exception caught what is that that you are going to do with it? a rhetorical question, but at the end of the day your options are limited:

an unexpected exception which is absolutely nothing you can do about, extremely hard to reliably recover, takes special coding discipline to do so, just fail fast and loud

an expected exception, with a chance for graceful recovery, if so, pardon my curiosity, why would you use exceptions (that are terribly supported by the JS runtime) if you can make it a legit part of the result value type?

function readFileSync(path: string, encoding: string): string | FileDoesNotExist | FileIsLocked {
   /* .. */
}

@aleksey-bykov you may be able to recover from some specific error type that you know may be thrown in your try block (so narrowing to that type inside a type guard would be useful), and then re-throw anything else.

This could lead to code that is very confusing to read.
Catch will catch everything that you might throw at it but the annotation would look like the exception type filter pattern used by many other languages.
In general those languages allow multiple catch clauses to be specified in a manner that can be seen as analogous to type pattern matching, or function overloading.
The critical difference here is that, in said languages, the behavior is generally such that if no catch clause applies to the runtime shape of the exception it is not caught at all.
Well I'm generally opposed to doing things or not doing things simply because they would be intuitive or counterintuitive to programmers coming from other languages, JavaScript explicitly supports only one catch for a reason.
Adding a type annotation would be explicitly misleading because it would intuitively suggest that the exception must be of the designated type to be caught.
However, if there is indeed a need to support different kinds of exceptions being handled differently, you could try creating a library in the vein of Scala's Try type and use user-defined type guards to match different exception types, and then possibly wrap it with a fluent API that implicitly propagates the exception when no handlers match.

@aluanhaddad the point of this issue is not about allowing a potentially confusing annotation, it's about supporting the practice of checking what was thrown in the catch clause, so that for example recoverable errors can be handled and everything else re-thrown.
This is made difficult in TypeScript at present due to the fact that there's currently no way to make type guards work on a variable of type any, which is what the catch variable always is. It would be fine to leave the catch variable unannotated if there was some way of narrowing that variable in type guards in the catch block, but presently there isn't. Unless you count the workaround of introducing a second dummy variable with an annotation, which both adds the 'misleading' annotation you mentioned, as well as introducing an extra variable that is useless at runtime.

Forgive me, if I this has been discussed before, but whats wrong with doing something like this:
try {
  // ...
} catch (e: FooException) {
  // ...
} catch (e: BarException) {
  // ...
} catch (e) {
  // ...
}

Which would generate JS like this:
try {
  // ...
} catch (e) {
  if (e instanceof FooException) {
    // do stuff in foo block
  } else if (e instanceof BarException) {
    // do bar block
  } else {
    // catch all block
  }
}

If there is no catch all block, then just re-throw the exception:
try {
  // ...
} catch (e: FooException) {
  // ...
}

JS:
try {
  // ...
} catch (e) {
  if (e instanceof FooException) {
    // do stuff in foo block
  } else {
    throw e;
  }
}

@bali182 What you are suggesting would use results from the type system (the e: FooError annotations) to emit different code. TypeScript has a fully-erasable type system, and does not emit different code based on different type annotations. These points mentioned are in the design goals. So I doubt that approach would fly.

I was about to file something about this but I see there's already an issue...
I would like to frame the problem this way. This is a really common Javascript idiom:
try {
	throw new CustomError(3)
} catch (e) {
	if (e instanceof CustomError)
		console.log(e.ocde)
	else
		throw e
}

Not only is it a common idiom, because of the limitations of Javascript as a language there is no better way to do it. In all other cases I've seen, Typescript takes common Javascript idioms and finds some way to make them typesafe, even if the result is a little awkward. However Typescript fails in this case to give me a convenient way to make a common, mandatory even, part of Javascript programming typeable. I think this means Typescript is not living up to its promise in this case, and it should be fixed somehow. That could mean type-narrowing on if ( x isinstance e ), it could mean a special ifinstance(x, e) or an explicitly narrowing variant of isinstance, it could mean bali182's proposal.
I do like bali182's proposal best because it would produce more convenient code that looks like other languages. It would shorten the simple catch clause in my example from six lines (eight, if I choose to introduce a second typed variable for e) to three. I don't agree with the idea this interferes with Typescript's goal of being an erasing compiler. There are other situations where Typescript introduces a syntax construct completely absent from javascript-- enum {} would be an example-- if it is necessary to fill out the type system. Multiple catch{}es are not legal Javascript and typed catches are not legal Typescript so this is not altering behavior based on type so much as introducing a new syntax construct that compiles to idiomatic Javascript. If there's something philosophically unpleasant about the fact that what triggers the multi-catch is specifically a type annotation, maybe the syntax could be catch (e instanceof CustomException) instead of catch (e : CustomException) or something else to make it very clear this is a TypeScript specific construct.
Incidentally, there is a conditional catch clause syntax Firefox has introduced as a js extension and which may be relevant to be aware of here. However it is not on a standards track, and it is also very ugly.

@mcclure Because code is being generated based solely on types.
consider
app.ts
import { mayThrow, AccessError } from './libs';
try {
    mayThrow();
} catch (e instanceof AccessError) {
    console.error(e.accessViolationMessage)
} catch (e) {
    throw e;
}

lib.d.ts
export declare class AccessError {
    accessViolationMessage: string;
}

export function mayThrow();

lib.js
exports.mayThrow = function () {
    if (someting) {
        throw {
            accessViolationMessage: 'Not logged in.'
        };
    }
}

The error will not be caught, nor the message printed. This code is extremely misleading and the bug will be very hard to track down.

@aluanhaddad So, in your example, it seems like the Typescript type checker only does something incorrect because the ambient typings are incorrect. It seems like by nature Typescript will typecheck incorrectly if its ambient type declarations are incorrect.
This said, Typescript does not really do anything incorrect in your example. e is not an instance of AccessError, so it is correct the the AccessError clause does not trigger. The code itself has a bug-- but you would get the same bug, and it would be just as hard to find, if you were using plain JS instead of Typescript and the idiomatic Javascript catch (e) { if (e instanceof AccessError) { console.log("...") } } were used. (You could wind up writing this code if the documentation for the module exporting AccessError were incorrect, for example.) I do not see the generated behavior here as based on "a Type"; the behavior is based on CustomError in its capacity as a symbol in scope.
Moreover, we would have all of these same problems both with the buggy behavior and the type checking if we wrote the idiomatic Javascript in a scenario where the narrowing instanceof (bug 9999 you reference) were implemented. If bug 9999 were implemented and one used the e instanceof AccessError...else throw idiom with your code, e would incorrectly type as AccessError within the narrowed scope. So although narrowing-instanceof sounds like a great proposal to me, I do not think your example is a argument that narrowing-instanceof is specifically superior to bali182's proposal. In fact, if the ambient types in your example were accurate (marking AccessError as a () => Error), then I think bali182's proposal would perform slightly better on your example scenario than narrowing-instanceof. Narrowing-instanceof would allow the e instanceof AccessError (because things of type () => Error are valid right-operands to instanceof) and then just silently fail to type e inside the if scope. Your sample code would throw an error, but only because it happened to use one of the fields of what the code author believed AccessError to be. Bali182's proposal on the other hand is a more constrained construct, and so it could check more aggressively and identify that } catch (e: AccessError) { is itself invalid code because AccessError is not something which can ever be a type.

@mcclure you're absolutely correct that this suffers from the same problems.
The implication is that instanceof is not reliable. Personally, I think it is an anti-pattern.
The problem I have with @bali182's suggested solution is that it bakes an unreliable pattern into the language, encouraging its use by providing manifest syntax, and providing a false sense of security to the programmer.

What is unreliable about the pattern?

@mcclure Personally I don't think your suggestions are 'unreliable' any more or less that other patterns in TypeScript which can also be made unreliable if we try hard enough.
The thing that makes @bali182's original suggestion likely incompatible with TypeScript's design goals is that the following three examples only differ by a type annotation, but all would generate different JS code with different runtime behaviour:
try { foo(); } catch (ex) {/***/}

try { foo(); } catch (ex: Error) {/***/}

try { foo(); } catch (ex: FooError) {/***/}

Type annotations are there to inform the compiler about what the program actually does, but they never change what it does. With these 'hints', the type checker can detect invalid usage at compile-time and produce useful early feedback to the developer. If you strip out all the type annotations in a program, that would not change the meaning/behaviour of the program. But it would in the above example.
Your other suggestion (multiple catch (e instanceof X) {...} blocks) is better in the sense that it doesn't rely on type annotations. But it's still a big ask, because it introduces new syntax that has no corresponding ECMA proposal (IFAIK). Apart from adding types to JavaScript, TypeScript has pioneered a few other kinds of new syntax (class properties, modules, namespaces, async/await), but generally only ones that either have an ECMA proposal in development, or represent a very widespread idiom (eg namespaces are just JavaScript's ubiquitous 'revealing module pattern').
But mainly, the problems in this issue would simply vanish if TypeScript just allowed the catch variable to be narrowed. We already have type guards and control flow analysis. I think there's little need to add new syntax for this one special case, when everything is already provided to write idiomatic code, if only the catch variable could be narrowed:
try {
    foo();
}
catch (ex) {
    if (ex instanceof FooError) {
        /* recover from FooError */
        ex.foo
        ...
    }
    else {
        throw ex;
    }
}

Thas already works at runtime and compiles without errors too, but is just not typesafe because ex remains typed as any thoughout so no typos will be found, and no refactorings will find symbol references in this code.

@mcclure I am saying that instanceof is not reliable.
Instance of is not a type test, it is a value test. It performs a reference comparison between the prototype properties of its operands. Because prototypes are mutable, any object can have its heritage rewired.
var x = { name: 'Bob', age:35 };
Reflect.setPrototypeOf(x, Date.prototype);

console.log(x instanceof Date) // true

x.getHours(); // Error

@yortus you are correct that there plenty of other patterns that can be unreliable, but TypeScript is fairly agnostic with respect to whether you use them. As you point out this is a big thing to ask for, in other words, it is a new language feature.
Adding a whole new language feature around instanceof would make the pattern seem clandestine. Regardless, I agree with your analysis that allowing type narrowing of catch variables makes sense.

We'll handle this at #9999


Fix potential dead store

Description
Fix the dead store warning detected by static analyse tool infer@facebook
Warning Type
Dead Store
Component Name
netcdf-c/libnczarr/zwalk.c (line:414)
Additional Information
The value written to &memavail (type unsigned long long) is never used.

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


remove support for script-based datasets

fixes #3004

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

todo:
fix the worker tests
reenable the concurrency test
ignore .py files instead of DatasetWithScriptNotSupportedError?
removed
hub_responses_external_files
external_files_dataset_builder
hub_public_external_files
dataset_script_with_external_files_path
DATASET_SCRIPT_WITH_EXTERNAL_FILES_CONTENT
DATASET_SCRIPT_WITH_MANUAL_DOWNLOAD
dataset_script_with_manual_download_path
hub_public_manual_download
max_external_data_files
PARQUET_AND_INFO_MAX_EXTERNAL_DATA_FILES
_is_too_big_from_external_data_files
resolve_trust_remote_code
hub_public_legacy_n_configs
hub_public_legacy_configs
dataset_scripts_allow_list
trust_remote_code
dataset_script_with_two_configs_path
dataset_script_with_n_configs_path
is_dataset_script_error
EXTERNAL_DATASET_SCRIPT_PATTERN
code errors to be removed
UnsupportedExternalFilesError -> 1
ExternalFilesSizeRequestError -> 931
ExternalFilesSizeRequestHTTPError -> 182
ExternalFilesSizeRequestConnectionError -> 77
ExternalFilesSizeRequestTimeoutError -> 59
DatasetModuleNotInstalledError -> 643
DatasetScriptError -> 404

hmmm the CI tests for services/worker fail if run serially, but not individually. Maybe we should create the repos when needed, not for the whole session.

OK!!!! Not related at all with this PR. The reason is that in the tests, we use the global datasets cache, not the temporary cache, because pre_compute(), which sets the datasets cache directory, is called by job_manager, while the tests call directly the .compute() function.
Not sure how much is needed to fix this, I'll try to do it in another PR, then rebase this one.

fixed in #3047 + rebased

OK, gogogo


Kafka component - using a service registered in DI to build serializer / deserializer is not possible

AddKafkaConsumer and AddKafkaProducer does not provide access to IServiceProvider inside parameters named configureBuilder.
The below diff would allow one to register ISerializer<T> / IDeserializer<T> in DI and pull these services to set serializers / deserializers using configureBuilder parameters. That would make possible to use a DI registered service to create serializer/ deserializer instances too.
-    public static void AddKafkaConsumer<TKey, TValue>(this IHostApplicationBuilder builder, string connectionName,
- Action<KafkaConsumerSettings>? configureSettings = null, Action<ConsumerBuilder<TKey, TValue>>? configureBuilder = null)
+    public static void AddKafkaConsumer<TKey, TValue>(this IHostApplicationBuilder builder, string connectionName,
+ Action<KafkaConsumerSettings>? configureSettings = null, Action<IServiceProvider, ConsumerBuilder<TKey, TValue>>? configureBuilder = null)

@eerhardt interested in your thoughts here.


Track doesnt align with scrollbar thumb

Hello, I was trying to use simplebar to implement a scrollbar that would have a margin from right, top and bottom of the container div. Here is my css for it:
.simplebar-vertical{
  top: 5px !important;
  bottom: 5px !important;
  right: 5px !important;
}

.simplebar-scrollbar:before {
  background-color: red;
  opacity: 1 !important;
}

.simplebar-track.simplebar-vertical{
  background-color: green !important;
  border-radius: 5px;
  width: 7px !important;

}
.simplebar-track{
  border-radius: 5px !important;
  opacity: 1 !important;
}

As you can see I have changed the width of the track to be also equal to 7 px. But as a result the tracks background looks shifted to the right a bit and the scrollbar thumb doesn't align with the track. Is that a code problem or am I missing something? Thanks in advance.
Here is a picture.

Software
Version(s)

SimpleBar
latest

Browser
chrome

SimpleBar by default expects the track to be 4px wider than the thumb, with 2px padding on either side. If you don’t want that, try overriding this rule.


I would consider delegating this concern to a separate class, for example

I would consider delegating this concern to a separate class, for example
alerts = list(map(LokiAlertRule.from_file, Path(self._alert_rules_path).glob("*.rule")))

Originally posted by @sed-i in https://github.com/canonical/loki-operator/pull/25#discussion_r727433750

Also: Too deep nesting.

Issue is stale and the original code is no longer present in HEAD. Closing.


pull request for e2e test at 12/15/2016 14:26:17

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update README.md with new website info

Describe the bug
The current website link is not taking the user to the current website
https://github.com/theDS3/Website#readme
Expected behaviour
The website like should take you to the new website link

Give me the new website link, I'll update the readme.


AMD 6700s/Linux no platforms found

Hello,
I have all the core ROCm 5.3.0 libraries installed on OpenSUSE Tumbleweed on the Asus laptop with the 6700s (Navi 23), such that I can get the desired output from running ./clinfo from the /opt/rocm-5.3.0/opencl/bin directory:
Number of platforms:                             1
  Platform Profile:                              FULL_PROFILE
  Platform Version:                              OpenCL 2.1 AMD-APP (3486.0)
  Platform Name:                                 AMD Accelerated Parallel Processing
  Platform Vendor:                               Advanced Micro Devices, Inc.
  Platform Extensions:                           cl_khr_icd cl_amd_event_callback

....

etc.
I installed clpeak 1.1.1 from here. I've tried running clpeak several ways, including as root and with HSA_OVERRIDE_GFX_VERSION=10.3.0, but they all give:
clGetPlatformIDs (-1001)
no platforms found

I have DRI_PRIME=1 set as a system-wide environmental variable, and know that I can use ROCm with this GPU on this Linux distro at least to some degree, and have done so with Pytorch and Tensorflow using the HSA_OVERRIDE_GFX_VERSION=10.3.0 method.
Is it possible that I need MIOpen installed? I have miopen-hip installed, and the link says miopen-hip and miopen-opencl cannot both be installed currently.
rocminfo gives
Agent 2
*******
  Name:                    gfx1032
  Uuid:                    GPU-XX
  Marketing Name:          AMD Radeon RX 6700S
  Vendor Name:             AMD
  Feature:                 KERNEL_DISPATCH
  Profile:                 BASE_PROFILE
....
  Device Type:             GPU
....

among other things. Has anyone else tried using clpeak with this GPU on Linux? It might be as simple as creating a symbolic link or aliasing a command, but I'm not sure. Running cpu-x gives a similar message:
There is no platform with OpenCL support (CL_PLATFORM_NOT_FOUND_KHR)

I was able to correct the issue and now clpeak works normally, see here.


Add pre-receive hook to check for email privacy

This PR aims to help keep email private for those users who wish to do so.
It adds a check in pre-receive that checks incoming commits and checks if the commit author email matches the user committing.
If it matches any email and the user has indicated they want their email to remain private, the hook fails, telling them why.
This PR also adds a message to the user profile where they set their email privacy, letting them know what their noreply alternative is.
Now, a few questions and why this is a draft...

Wording. I'm not a huge fan of the wording I've chosen, and I would like feedback.
Should a push option be added so a user can force the commit through, rather than making them open the web UI to change their privacy?
Currently this only checks commit author. Should it also check committer?

Moving to 1.16 as not ready. Feel free to move back to 1.15 if ready.

This is in progress for a while now, I'm closing it to avoid stale pull requests. Please reopen when it's ready for review.


Broken downloads

The downloads for kind2 are .tar.gz files but are actually just in the tar format. This can cause tar to fail to unpack them correctly.

I fixed it. Thank you for your report.


Associate MetaGraphDef with tag Serve

Hello,

I'm trying to convert Pb model to TFLite with following code:
converter = tf.contrib.lite.TocoConverter.from_saved_model(DIR_OUT + '/test')
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

but there's an error:

RuntimeError: MetaGraphDef associated with tags {'serve'} could not be found in SavedModel. To inspect available tag-sets in the SavedModel, please use the SavedModel CLI: saved_model_cli

When used, SavedModel CLI show empty result, so my question is, how to add it to saved Pb properly?

The same problem occured to me.Have you solved it?Looking forward to your reply！

If I remember correctly, it wasn't solved.
Project required iOS mlmodel anyway, so I converted pb to it, and reduced size
( https://developer.apple.com/documentation/coreml/reducing_the_size_of_your_core_ml_app )

Same problem here. If someone has an idea of how to solve this please share

any solution to this ?