Template left right

updates on the left/right templates

@njcuk9999, the last commit merged working into template_left_right (with no changes). Could you by any chance have meant the opposite operation, i.e. merging the PR into working? This would check out with some of my past correspondence with @eartigau at around end of January.

No this branch is not for merging. We had some significant problems with this branch. I merged working into this branch as it was out of date and missed some changes, this branch has subsequently been merged into working_neil_test and once fully tested this will be merged into working then tested again, then merged into developer and main when we are fully sure it will work.


cannot save dashboard with pre-existing pie chart

steps to reproduce:

create a pie chart on a dashboard
set an expression for the pie chart
save
reload
attempt to save
422 error

Fixed in the meantime.


Example combining instantsearch.js and autocomplete.js

Who wants it? Can we have it?
is it possible to combine instantsearch.js and autocomplete.js on one app.js ?
Would like to make use of autocomplete.js multiple datasources while using instantsearch.js widgets..

instantsearch.js
search = instantsearch({
  appId: XXX,
  apiKey: YYY,
  indexName: 'instantsearch_index'
});
search.start();

autocomplete.js
	var client = algoliasearch('XXX', 'YYY');
	var index = client.initIndex('autocomplete_index');
	$('#main-search-form .form-control').autocomplete({ hint: true }, [
		{
		  source: $.fn.autocomplete.sources.hits(index, { hitsPerPage: 10 }),
		  displayKey: 'name',
		  templates: {
		    suggestion: function(suggestion) {
		      return suggestion._highlightResult.name.value;
		    }
		  }
		}
	]).on('autocomplete:selected', function(event, suggestion, dataset) {
		search.helper.setQuery(suggestion.name).search();
	});

cool.

Im Trying to implement this in .NET, but doesn't seem to work.
I have a console log just before calling .search(), which prints fine but the function itself doesn't seem to trigger.

Hello, any working example of it ?

Probably not the same tactics as in the original post, but we have this example: https://codesandbox.io/s/rlp0m6yp

Probably not the same tactics as in the original post, but we have this example: https://codesandbox.io/s/rlp0m6yp

Thank you for this


Video attached to "Data Visualization Projects: Visualize Data with a Bar Chart" isn't working

Challenge [visualize-data-with-a-bar-chart](http://beta.freecodecamp.com/en/challenges/data-visualization-projects/visualize-data-with-a-bar-chart) has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.

Correct video:
https://www.youtube.com/watch?v=nss_5sZpjIE&t=5s

That's not the correct video. The project in beta.freecodecamp.com doesn't
deal with GDP. The beta project also doesn't list any user stories.
On Thu, Jun 22, 2017 at 8:12 PM, Albert Jonathan<EMAIL_ADDRESS>wrote:

Correct video:
https://www.youtube.com/watch?v=nss_5sZpjIE&t=5s
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/15483#issuecomment-310559121,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMGP4KI_7OpZwiyQizt8ofsPtplIa1w-ks5sGy0DgaJpZM4OCe5t
.

Duplicate of https://github.com/freeCodeCamp/freeCodeCamp/issues/12753


[CHORE] - Improve CNN source

What work needs to be performed?
The object added to src/data/sources.json for CNN does not return many articles the way it is currently as:
  {
    "name": "CNN",
    "site": "https://edition.cnn.com/",
    "base": ""
  },

After a little digging I found that scraping the more specific business section yielded better results, so the "site": needs to be updated to "https://edition.cnn.com/business",
However, there was a GOTCHA
Upon changing it to this I noticed that the url's coming back were no good, note the missing domain:

In order to fix that, the "base": needs to be filled in with "https://edition.cnn.com"
Then it will work as we want 👍
Additional information
So here is a little checklist of tasks:

[ ] append '/business' to the CNN site
[ ] add the domain for CNN to the base
[ ] run it all and check that it works as expected
[ ] follow the URL returned to ensure it goes to the matching article

@MizouziE Can i be assigned this task?

@MuizU Most certainly, thank you!


Empty File Data On 1.7.1

Hi,
After update for Meteor: <IP_ADDRESS> and 1.7.1 some data of files (like extension) is now empty.
1.7.0 (<IP_ADDRESS>) - OK

1.7.1 (<IP_ADDRESS>) - ERROR

Tested: OSX 10.9.5 And Ubuntu 14 (64x).

Hi @livimonte ,
Thank you for report, investigating....

Hey @livimonte ,
Started working on this one. No issues persists on my end. Then red your question again.
Turns out on the second screenshot you're uploading file without extension, see file prop

@livimonte could you please respond to previous message?

Hi @dr-dimitru ,
The second file has no extension because the property came empty in the naming function. For the lack of extension it was renamed wrong.

Post collection configuration

Of course:
HistoriesFiles = new FilesCollection({
  debug: Meteor.settings.public.debug,
  collectionName: 'historiesFiles',
  storagePath: uploadRootPath + '/uploads/histories',
  downloadRoute: '/images/histories',
  allowClientCode: false, // Disallow remove files from Client
  public: true,
  namingFunction: function (file){
    const newName = Helpers.upload.rename(file.name);
    file.name = newName;
    return newName;
  },
  onBeforeUpload: function (file) {
    file.name = Helpers.slugFileName(file.name);
    return true;
  },
});

//Rename Helper
    rename(name){
      return Random.id() + '-' + Helpers.slugFileName(name, false);
    },

//slugFileName Helper
slugFileName(_name, withExt = true){
    let clearName;
    const name = _name.toLowerCase(),
      ext = name.split('.').pop(),
      extReplace= '-'+ext,
      extFile = '.'+ext,
      slugName = s.slugify(name),
      replace = withExt ? extFile : '';

    clearName = slugName.replace(new RegExp(extReplace + '$'), replace);
    return clearName.toLowerCase();
  },

Can not reproduce, tested on:
Collections.files = new FilesCollection({
  storagePath: 'assets/app/uploads/uploadedFiles',
  collectionName: 'uploadedFiles',
  allowClientCode: true,
  onBeforeUpload: function() {
    console.log(this, arguments);
    return true
  },
  namingFunction: function(file) {
    file.name = 'asdasd.png';
    return 'asdasd.png';
  }
});

Please check what helpers rename and slugFileName actually returning

I'll check again when i back to this project, probably tuesday. Thanks.

Hey @livimonte ,
Please update to v1.7.2, there was various fixes

Hi @dr-dimitru,
I tried for two hours but unfortunately I could not figure out why it works on 1.7.2/1.7.0 and not in 1.7.1. But it works.
Offtopic: The delay of the meteor's build is discouraging. Any trick to help it will be welcome.
Thank you very much.

What do you mean?

The delay of the meteor's build is discouraging

Dev or prod?

Dev, about 10-15 seconds for restart and that ended my time to finish most significant tests of this bug. But it is not a problem related to Meteor Files.
I think you can close this issue as it worked in this release.
Thanks again,
Best.

about 10-15 seconds for restart and that ended my time

Meteor not so reactive these days. But may be you have a lot TS, CS pt ES6 files?

But it is not a problem related to Meteor Files

Oh, okay, I thought it is.

I think you can close this issue as it worked in this release.

I prefer issue owner close it as confirmation

Meteor not so reactive these days. But may be you have a lot TS, CS pt ES6 files?

Only ES6 files. I will look at Webpack, but I need to find something more stable with blaze. Thanks anyway.

I prefer issue owner close it as confirmation

Roger That


Mark generated impl de::Visitor blocks as #[automatically_derived]

When using cargo llvm-cov on one of my projects I noticed that the #[derive(Deserialize)] annotations on my structs were marked as not covered.
This PR adds #[automatically_derived] also to the impl de::Visitor blocks that are generated. In my tests, they now no longer show up in the coverage as not covered.
rustc automatically excludes impl blocks marked with #[automatically_derived] since https://github.com/rust-lang/rust/pull/120185.
The generated impl Deserialize block is already marked with #[automatically_derived] and thus correctly not counted.
However, the visitors and field visitors which are generated within the deserialize method were counted towards the coverage.

The generated impl Deserialize block is already marked with #[automatically_derived] and thus correctly not counted.

There were some Deserialize and other impls (DeserializeSeed, Serialize, remote deserialize/serialize) that were not marked. I have opened https://github.com/serde-rs/serde/pull/2868 to add #[automatically_derived] to them all. Please let me know if there were any of those impls intentionally omitted from this PR and should not get #[automatically_derived]. I am not familiar with using llvm-cov in my own projects.

Oh interesting, I guess I just missed those. Thanks for also adding the annotation there!


issue about config

Thank you for sharing the code!
I have a question about the config/user_config, do you have another config file?
could you show an example for the config/user_config file?
or give an instruction for how to use the  config/user_config module?
Thanks!

Thank you for sharing the code!
I have a question about the config/user_config, do you have another config file?
could you show an example for the config/user_config file?
or give an instruction for how to use the config/user_config module?
Thanks!

Do you have config.py now? Thank you!

Sorry, I do not work on that currently, and I can hardly remember that ... perhaps not
2019-12-30 21:10:43fuxiao567<EMAIL_ADDRESS>Thank you for sharing the code!
I have a question about the config/user_config, do you have another config file?
could you show an example for the config/user_config file?
or give an instruction for how to use the config/user_config module?
Thanks!
Do you have config.py now? Thank you!
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or unsubscribe.


Fixed a function where a parseData was forgotten

Np

https://www.npmjs.com/package/extraarrayfunctions
Wait how did this even get here, nevermind that how did i get here?!


New routes

/api/me -> GET, PATCH, DELETE
/api/me/tasks -> GET
/api/me/projects -> GET, POST

/api/projects/:projectId -> GET, PATCH, DELETE
/api/projects/:projectId/tasks -> GET, POST
/api/projects/:projectId/tasks/:taskId -> GET, PATCH, DELETE

[ ] GET /api/me
[ ] PATCH /api/me
[ ] DELETE /api/me

[ ] GET /api/me/tasks

[ ] GET /api/me/projects
[ ] POST /api/me/projects

[ ] GET /api/projects/:projectId
[ ] PATCH /api/projects/:projectId
[ ] DELETE /api/projects/:projectId

[ ] GET /api/projects/:projectId/tasks
[ ] POST /api/projects/:projectId/tasks

[ ] GET /api/projects/:projectId/tasks/:taskId
[ ] PATCH /api/projects/:projectId/tasks/:taskId
[ ] DELETE /api/projects/:projectId/tasks/:taskId


Minor Research Tree fixes

Makes changes to the research tree and components to more clearly lay things out in a vanilla research tab. Also fixes some grammatical errors in flavor text. Not to be merged with my other PR (SRAF_Require_Skip)!

I like the idea of this one. I may do this in the future. I'd like to wait until we get rolling on updating SRTS again. Near future.


Fix console output render for show command

Simple change to support clickit interface change.
Resolves: #1401

duplicates #1414


Add commit update staging

Signed-off-by: Adam Miller<EMAIL_ADDRESS>

Certainly not required and not new to this PR, but would suggest the S3 interaction using the minio golang client instead of the AWS SDK. If we ever want IVT test to run as part of the pr_check we would need this.

That sounds perfectly fine to me, I'd like to do that in a follow-up PR though.


[BUG] Data Prepper can not write to Opensearch Datastream

Describe the bug
Can not send logs to Opensearch Data stream
To Reproduce
Steps to reproduce the behavior:

create an index template for a data stream in Opensearch
use data-prepper to send logs with an index matching the index patern of the datastream
get the error "WARN  com.amazon.dataprepper.plugins.sink.opensearch.OpenSearchSink - Document [org.opensearch.client.opensearch.core.bulk.BulkOperation@c4aecd] has failure: java.lang.RuntimeException: only write ops with an op_type of create are allowed in data streams"

Expected behavior
write logs to Data stream
Environment (please complete the following information):

Running in docker (Docker Desktop 4.10.1)
using latest version of Opensearch
using latest version of Data prepper

Comment
I didn't find an option to set the op_typ.

Hi @rospeelman
The reason you've encountered that error is because the OpenSearch Sink currently does not have configuration options to specifically support data streams. I would encourage you to update this issue as a feature request or enhancement.

@rospeelman , have you tried manually creating the data stream prior to running data prepper? The error you provided appears to be on creation of the data stream. And as @sshivanii has pointed out, the current plugin does not support data stream configuration option. Ingesting of documents should be standard across indices and creating a stream prior may be a work-around until we have support for creating streams through the plugin.

I tested it again, creating the datastream bevor starting data prepper gets me the same result, as soon as i try to ingest data I get the same error.

@rospeelman , Have you tried disabling the index_type in Data Prepper's opensearch plugin?
As @cmanning09 pointed out, we do not currently support Data Streams. However, Data Prepper can ingest data into OpenSearch without attempting to manage the indices.
I believe the following two steps may work:

Create the Data Stream outside Data Prepper
Configure the opensearch plugin in Data Prepper to use index_type: management_disabled .

pipeline:
  ...
  sink:
    opensearch:
      hosts: ["https://localhost:9200"]
      index_type: management_disabled

There are additional details in this issue: 1051
Configuration reference: https://github.com/opensearch-project/data-prepper/tree/main/data-prepper-plugins/opensearch#configuration

The issue here is not related to creating a data stream - it is the action performed when sending requests to OpenSearch (it is set to index and cannot be changed to create). To solve this, Data Prepper should implement an action attribute on the OpenSearch sink, similar to what LogStash has done here - https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html#plugins-outputs-elasticsearch-action

@cameronattard Exactly this. As soon as I saw this error message, I immediately went looking at the options for the OpenSearch sink expecting to find an option to configure the op_type that data-prepper sends. To my surprise, no such option is available at this time.

Hi there,
For us it would also be important that otel as source and datastream would work.
If i understand correctly, the "opensearch exporter" from otel currently only supports traces, but not logs and metrics.
However, Data Prepper traces, logs and metrics from otel, but no datastream to opensearch.
@dlvenable
The current situation is not really helpful.

Hi @dlvenable @cmanning09
Any progress or time frame here ?
The ticket has been open for almost a year and so far nothing has moved, whereas this feature would be very necessary.

Would also like to see DataPrepper support for data streams. With many tools (such as AWS OpenSearch Ingestion) moving to DataPrepper based ingestion stacks, and Data Stream based analytics stacks (e.g. OpenSearch Integrations), it would be great to see support for data streams in DataPrepper.

I was able to write data to DataStream by setting action to create and index_type to custom. DataStream I created manually.
Sample config:
log-pipeline:
  source:
    otel_logs_source:
      port: 2021
      ssl: false
      authentication:
        unauthenticated:
  processor:
  sink:
    - opensearch:
        hosts: [ "https://logs.sandbox.system.com" ]
        username: "test"
        password: "123!"
        index_type: custom
        index: system-dev-ecs
        action: create


Add new reference

Thanks for your help
However, please check if the PR fulfills these requirements

[x] Links are correct

[x] Github handle of user is specify, if not use LinkedIn link

[x] Entry is according to standard
- [Name](URL) - Resources description [@github-username](https://github.com/github-username)

Thanks for your contribution @AlexanderHose!


Read new normal map and depth map

How to read the new normal map and depth map directly in halcon. Similar to the RGB image.

Hi, @HM102!
Sorry for the (very) late response here, but commenting in case anyone finds this useful.
We unfortunately do not export the normal map to Halcon, but Halcon has it's own operators for generating a normal map, for instance surface_normals_object_model_3d. You can use the 3D data from Zivid with these operators to get a normal map.
A depth map is typically just a 2D image where each pixel contains the Z-value of that location. This you can get by indexing the Z-values from the point cloud, like below.
grab_data (Image, Region, Contours, AcqHandle, ObjectModel3D)

select_obj (Image, X, 1)
select_obj (Image, Y, 2)
select_obj (Image, Z, 3)
select_obj (Image, Confidence, 4)
select_obj (Image, RGBA, 5)


Improve the documentation of the styling.

This attempt to improve the documentation of the styling tried to implement the following feedback to the documentation:

In my opinion, we should define a clear separation between replacing the logo directly in the assets folder and defining a different configuration. I would also explain better that in the first case we are just replacing the logo file with another with the same name, while in the second we are setting which file the application will use as logo.
The page doesn’t support any logo resolution. Shouldn’t we specify the allowed resolutions in the doc?
In the box displaying the change of the logo in the invenio.cfg. I would change the remove text part to fit what we currently have (- THEME_LOGO="images/logo.svg" for - THEME_LOGO = 'images/invenio-rdm.svg'). I would also replace ^C by Ctrl + C.
As far as I understand reading the doc, if a file is symlinked, any change I do to the file should be reflected, but it doesn’t seem to be the case.
As said before, I would do a small refactor on how the information is structured.

Spotted a typo.


Solution added for 983. Minimum Cost For Tickets | Java

Pull Request Template
What have you Changed(must)
Added solution to Minimum Cost For Tickets in Java: 983.MinimumCostForTickets.java
Issue no.(must) - #1172
Pr will be close and marked as spam. If issue number not found or issue was assigned to someone else.
Marking as spam can block your account from HacktoberFest.
Self Check(Tick After Making pull Request)

[x] This issue was assigned to me if not it will be marked as spam.
[x] My file is in the proper folder
[x] I am following clean code and Documentation.
[x] I have added the title and what program will do first in the file
[x] I have named the file as (Problem #). (Problem Title(in Camel Case)).(extension)
ex. 2. AddToNumbers.py

README - How to Contribute

@SSKale1 comments added. Please review it once.


Typeahead element

First of all, congratulations for all developers involved in this project, very good job.
My suggestion is to create a component to search data like bootstrap's typeahead (https://github.com/bassjobsen/Bootstrap-3-Typeahead)
In my personal project in react native, I have created one to fulfill my needs
When searching
https://drive.google.com/file/d/0B2MMFJxQwbxgR1BnQldyZ2hsWW8/view?usp=sharing
When selected
https://drive.google.com/file/d/0B2MMFJxQwbxgZl9LbEZMdTgwUVk/view?usp=sharing

Oh wow, this looks great and is something I've also had to implement manually in the past. Care to share your previous implementation as a pull request, or do you think this is something you would like us to put on the roadmap? Thanks for your feedback!

Please put in the roadmap.

@rodolfobarretoweb done. Thanks again for the recommendation.


DPL-918: default total cell count to LRC PBMC Defrost Pools to 500000 cells/ml

This came from a Slack request from Abby during UAT:

The viability threshold looks good for both.
For the total cell count slider, this is present on the LRC PBMC Defrost PBS plate but missing on the Pools plate (see attached).
Please could this also default to 500000 total cells/ml?


config.json

Hello, haven't been here for a long time, where did config.json go? Where can I get signatures now?

I removed it in favour of being able to use the pattern scanner from the pelite crate.
They're defined here now: https://github.com/a2x/cs2-dumper/blob/main/src%2Fanalysis%2Foffsets.rs#L71

now  is not show   dwForceAttack ？


GPU

Description
GPU-capable PyCC code.
Todos

[ ] Modify the previous test for the generalized contraction function.
[ ] Finishing editing triples.py and local.py.
[ ] Modify cc_contract to take any number of tensors. (not needed for the current code)

Questions

[ ] Request for reviewing the allocation and usage of cc_contraction object (generalized contraction function in utils.py)

Status

[x] test_024 passed
[x] test_025 passed on ARC
[ ] Ready to go

The test 001 to 007 were modified for testing, together with test 024 and 025. (Changes in two lines: 1. Adding a line to initiate cc_contract object; 2. Add cc_contract to ccwfn). Other tests will be modified when the modifications are reviewed and approved.

I pushed some changes that should fix the import torch error that CI is choking on.

merge conflicts are fixed, all tests are passing, and the GPU test is skipping (as intended). if you confirm you can run and pass the GPU test on ARC, I think this is ready!


Address review note re Result Filters and exceptions.

Fixes #15090.
I think staying away from the unless an exception was thrown statement here might be the best option. It was just saying that the response might not have been written yet if an exception was thrown somewhere in the pipeline, but I think it ended up confusing things. If someone wants to write to the response in OnResultExecuted, they could check whether or not an exception was thrown (or even use HttpResponse.HasStarted), but that seems like a slightly more advanced scenario to me.

@serpent5  looks good, thanks!


DTO Projection with PostgreSQLEnumType fails using Hibernate 6

Using Hibernate 6.1.6.Final, doing a DTO projection with an enum fails.
        CriteriaBuilder builder = entityManager.getCriteriaBuilder();

        CriteriaQuery<PostDto> criteria = builder
            .createQuery(PostDto.class);

        Root<Post> postComment = criteria.from(Post.class);

        criteria.select(builder.construct(PostDto.class,
            postComment.get("status")));

        TypedQuery<PostDto> criteriaQuery = entityManager
            .createQuery(criteria);

        // this fails with "java.lang.IllegalStateException: Could not
        // determine appropriate instantiation strategy - no matching
        // constructor found and one or more arguments did not define alias
        // for bean-injection"
        List<PostDto> p = criteriaQuery.getResultList();

I created some test cases showing that it works with Hibernate 5, but not with Hibernate 6: https://github.com/thomas14129/hypersistence-utils/tree/enum-projection-mapping-fails
This is happening with CriteriaBuilder and also entityManager.createQuery. I'm actually not 100% sure if that's an issue with this library or with Hibernate itself.
Any idea?

It's because of #532
It works only with Hibernate 6.0. Something has changed in 6.1 that breaks the PostgreSQLEnumType. You could investigate it if you want and provide a Pull Request with a fix proposal.


Single quotes are breaking HTML attribute in 1.0.14

My file and row
My Vue code:
data-slick='{"responsive": [{"breakpoint": 575,"settings": {"slidesToShow": 2 ...
Transpiled with 1.0.12 (working)
data-slick="{"responsive": [{"breakpoint": 575,"settings": {"slidesToShow": 2 ...
Transpiled with 1.0.14 (not working)
data-slick='{"responsive": [{"breakpoint": 575,"settings": {"slidesToShow": 2 ...
My Vue code work around for 1.0.14:
data-slick="{"responsive": [{"breakpoint": 575,"settings": {"slidesToShow": 2 ...

This should be fixed in 1.0.15. Please let me know if there's any problems.

Hello @nfplee
Your fix in 1.0.15 solves the problem.
Thank you 😊


feat: security support added to operation and operationTrait

2 passing (789ms)
----------|---------|----------|---------|---------|-------------------

File
% Stmts
% Branch
% Funcs
% Lines
Uncovered Line #s

All files
100
100
100
100

index.js
100
100
100
100

----------
---------
----------
---------
---------
-------------------

Description
Updates to include 'security' at operation and operationTrait level.
Related issue(s)
https://github.com/asyncapi/spec/pull/584

Thanks for the PR @LokeshRishi! would you mind changing the title of this PR adding a prefix to be compliant with Conventional Commits? feat: prefix seems the right one.

/rtm

/au

/rtm


jaxrl_m example

I think this version 0 is ready.
To test this in normal mode:
python3 examples/train_online.py

To test async
# learner
python3 examples/async_learner_actor.py  --use_traj_buffer --learner

# actor
python3 examples/async_learner_actor.py  --use_traj_buffer --actor


CAMEL-14805: Component - Use doInit for wiring instead of doStart

https://issues.apache.org/jira/browse/CAMEL-14805

camel-bean
camel-dataformat
camel-dozer
camel-file
camel-sql
camel-stream
camel-timer
camel-xslt

I created ticket
https://issues.apache.org/jira/browse/CAMEL-15110
Then we can use that to know if the template/query for sql components etc will be loaded from classpath or not. If classpath you can doInit otherwise its in doStart.

Thanks @davsclaus and it's simply to test the resourceURI is started with "classpath://" ?

Yeah see this PR
https://github.com/apache/camel/commit/3e17141d88983a0830dc21135bec536a53513b6b

Cool ! I will update to use isClasspathUri

Thanks @zhfeng let us know when you this PR is ready


Expose shape function in the cupy top level namespace

For compatibility with NumPy, it would be valuable to expose ndarray.shape as a module level function.
import cupy as cp
import numpy as np

arr = np.arange(5)
np.shape(arr) == arr.shape
True

The NumPy approach to this looks quite reasonable: https://github.com/numpy/numpy/blob/529c61bdf69356b4a428d48bb5bc72c2417ed0cf/numpy/core/fromnumeric.py#L1965-L1969
@array_function_dispatch(_shape_dispatcher)
def shape(a):
    """
    ...
    """
    try:
        result = a.shape
    except AttributeError:
        result = asarray(a).shape
    return result

This would improve compatibility in support of the ongoing __array_funtction__ work.

Related: To make NEP-18 work we also need cupy.ndim (#3060).

cupy.shape is implemented in v8.0.0b4. #3229

My mistake. I completely missed this. Thanks @kmaehashi !


Resolve associated types

Prior we were only resolving paths until the first type was found, then discarding the result if the path wasn't fully consumed. That of course causes associated types to not resolve. Fixes #5003

I'm not a fan of the duplication of logic. Actually assoc_type_shorthand_candidates is already exposed on the semantics level, so can't that be reused?

Ye the duplication isn't too nice, I'll see what I can do about that.
It doesn't handle <T as Trait>::Type yet, I already looked into that and it'll require changing a lot of ModPath params to Paths so that we don't discard the generics. Didn't feel like doing that here to keep the PR smaller.
<T>::Type isn't handled here either I believe, should be fixed if I reduce the duplication though I imagine.

Oh, I think I misinterpreted something while looking at these things, assoc_type_shorthand_candiates should be easily reuseable actually.

LGTM, r=me

bors r=flodiebold

changelog fix: Resolve associated types at the IDE layer


Abandon classes

Right now all (all I've seen) exercises use and require classes to be exported. In fact, a simple static function would suffice. As seen in this example:
Before
class Bob {
  hey(message) { … }
}

export default Bob;

After
export default (message) => { … }

Instead of focusing on the important part, developers are forced to apply this pattern. I'd also argue that it promotes a bad habit of classes overuse.
Maybe there is a hidden reason, in that case, please let me know of it.

There is a lot of discussions about use classes or not in JavaScript.
In fact, we discussed that in the past, but I don't find any link to those discussions, sorry. They probably took place on xjavascript track. @matthewmorgan Do you remember about this?
Anyway, we decided to use the classy approach in this track, not because it's a better practice, or a better approach, but because it was a new feature of ECMAScript, and this track is focused on new features.
So, classes were a great candidate to show users a new feature of the language. It may seem overwhelming for some exercises, but it's very important to have some coherence on exercises. We needed to make a decision. It may not be the best one.
Anyway, it would be interesting to know about other opinions, @exercism/javascript ?

@rchavarria as I recall, we made this change both for the reason you mentioned, and to keep the API consistent for the first several exercises.  Later we deviate from this to challenge the user and show additional approaches.
Having said that, classes in ES6 are syntactic sugar over ordinary functions.  This in itself is an important lesson to learn.  @robinpokorny if the user preferred, it would be possible to do this:
class Bob {
  hey(message) { … }
}

export default Bob;

could be instead written as:
export default () => {
    return {
        hey: (message) => {... }
    }
}

@rchavarria I do not want to propose not to use classes at all. There surely are use cases when classes are great (and few when their use is matter of opinion). What I dislike is use of classes for simple stateless single data transformation. There should be an excersise that requires a class and another one that requires some advenced class magic ;)
@matthewmorgan The second example is shorter and I like it more; yet it still could be confusing for some users.
BTW it can be written as:
export default () => ({
  hey: () => {…}
})

@robinpokorny yes that syntax is nice.
I think that we do not want to have the beginner on the track switch back and forth between classes and functions for the first several exercises.
The use of classes in JavaScript is controversial, and I think arguments can be made on either side.  I feel like we've already discussed this in the past and made a decision to use this approach, but if:

A compelling case is made to switch
The APIs can be consistent for at least the first 10-12 exercises for newbies
We have contributors who can commit to doing the work

...then I would feel OK about it.  But I also feel fine keeping things the way they are, and maybe just adding some hints for the use of classes or plain functions would be better, good for people to learn, and much less work for the contributors and maintainers.

Absolutely! @matthewmorgan explained it really well! Thanks!
I see your point @robinpokorny, but I agree with @matthewmorgan. I prefer having a consistent way of requiring users to implement the first exercises. That means, that it feels overwhelming to a user with some experience to create a class for a task that could be solved with a very simple function.

I see the first two exercises hello-world and leap expect the solution to be a function and not class. Later ones are all classes I guess. Since this is a gradual transition from functions to classes, I guess this is not an issue. Or should we make it all consistent everywhere? What do you think?
Personally, I don't even mind randomly switching between functions and classes since that is what we do everyday with programming, not everything is a function, not everything is a class. The specs tell me what to do 😄 .

I'd prefer keeping the consistency. Of course, real worl is quite different. But think of totally newbies. They'll find it confusing to switch one way to another.
I'm not saying that classes are the right way, but it makes sense for later exercises, and it's a ES6 feature, what makes it perfect to use in this track.

@rchavarria Cool, I opened a PR to change hello-world and leap to class-based approach.

I don't want to dredge this up, but I just want to be told no :)
I'm currently a mentor over on the javascript track for v2, and I've seen maybe 30 or so solutions for these beginning exercises go by.
I'd say about 1/3 of people have been curious why a class based solution is required to pass the tests -- especially since in native, something like this doesn't work:
const Pt = (x, y) => ({ x, y });
console.log(new Pt(1, 2));
// > Uncaught TypeError: Pt is not a constructor
// If it works for you, are you sure it's not getting transpiled to `function`?

Does it make sense to ease into classes / inheritance in JS? Start off with exporting just a function to pass the tests then build up to a class based instance solution when it makes sense? Things like the Forth problem with state across executions comes to mind.
Anywho, been fun guiding people along the right path, but the more of this I see:
class Year { ... }
class Leap extends Year {
  isLeap() { ... }
}

The less I thing we're going in the right direction here.

Sounds good to me! I'd love to contribute in any way I can -- I really like the low barrier to entry that exercism provides especially as an entry point for people new and experienced alike.

We recently had a discussion in slack channels of both javascript and ecmascript tracks regarding this. I agree with the fact that we should not impose any rules in the implementation details. However, I don't have a strong opinion on classes or functions. If a lot of people prefer functions, we can go that way.

Sounds good! This is going to be a tough issue since it's always going to bleed a bit into opinion, but I think as long as we have the beginning track of exercises introduce the concepts and build on it, we'll be in a good place.
To me, starting from pure arrow functions, then classes, finally end with function and prototype, which delves into the nitty gritty a bit more.
Having the early tests expect pure functions and explore the different primitives (numbers, strings, arrays, objects) and require some control flow. Then introduce functions as a first-class citizen (passing in predicates to your methods to then call). Finally, introduce stateful objects with class.
Just thinking out loud.

I think there's some confusion here to do with the 'class' keyword.  As far as I'm concerned, this is not to do with use of the 'class' keyword, it's to do with tests calling 'new' on students code when just running a function would make just as much sense.
Calling 'new' on students code forces them into a particular way of framing their solution, and for many of the problems it's actually a worse way.
It should be down to the student to decide on whether to use a functional or an OO approach, and it's the kind of thing that the mentors can discuss with them.

@kybernetikos so that's the problem, right? If the test is expecting a function prototype then you need to give a function that works with new. At the same time, you really shouldn't solve a pure function spec by passing a class -- no matter how you slice it, the test is going to dictate the final shape of the solution. You simply cannot have both worlds without some odd work.
That being said, forcing an OO approach using instances makes sense for appropriate problems. The Forth problem is a good one to assert a class solution. Otherwise, it ends up with a pure function being shoehorned into an instance.
Having mentored many solutions already where I've had to explain the prototype and helping students understand what class and new does in JavaScript/ECMAScript, I can definitely say that the teaching is there.

Agreed.  I'm sure hard-core functionistas will disagree with me, but things like Forth where state is required to be maintained across invocations make perfect sense to approach in an OO way, and I have no problem with using 'new' in such cases.
Trying to get people to be skeptical of state, and to avoid it where it's possible to is in my opinion an important road for programmers to follow as they go from novice to skilled, so obviously I'm going to be quite frustrated when the problem tests teach bad practices.

Great debate, and worth having for sure.
I would point out that functions are simply objects in JavaScript, with (as mentioned above) the special property of having a constructor, IE, new gives you back an instance of the function.
Leap, for example, could be solved using anonymous functions and objects very simply:
export default year => ({isLeap: () => year % 400 === 0 || year % 4 === 0 && year % 100 !== 0})

That's not a whole lot different than:
export default year =>  year % 400 === 0 || year % 4 === 0 && year % 100 !== 0

except that it requires new to be used.  That doesn't seem like a heavy burden for a newcomer, does it?
I think any changes to the track just need to support our goal of exposing as many features as we can to the users.  They'll need those skills as professional developers.

@matthewmorgan you REALLY need to be careful! If you try to run that in modern ECMAScript, it will crash and throw on new when passed an arrow function!
$ node -v
v10.1.0
$ node
> let x = year => ({isLeap: () => year % 400 === 0 || year % 4 === 0 && year % 100 !== 0})
undefined
> new x()
TypeError: x is not a constructor
>

So, no, it is not equivalent! The reason something like that might work is because babel or similar is transpiling your code into:
export default function(year) { ... }

Which would work when called with new.

@c-dante I appreciate your careful scrutiny, and you make an excellent point.
We welcome new ideas and discussions about how to improve the track, and we even more heartily welcome PRs ;)  Don't take anything I've said or am about to say as anything but well-intentioned debate.
Classes are just functions, and functions are just objects, and my example was intended to illustrate that.  One of the beauties of JS is the treatment of functions as first class objects, and classes are recently spun sugar on top.
The explicit goal of this track is to encourage and allow the development of code that will be transpiled, since this is now a common part of the modern JavaScript development workflow.  It's one of the main reasons the JavaScript track is being deprecated in favor of this one.  Even so, I didn't realize that function wouldn't run without transpilation, so I learned something.  :)
The debate about OO vs functional feels a little akin to a political or religious debate, and unlikely to be settled to the satisfaction of zealots of either stripe.  The reality is that both approaches are valid, useful, and found abundantly in the wild, and I strongly reject preferring one approach over another in a language that has always accommodated both.  The track should have examples of both, and from time to time require one or another.  Sometimes that's the way the exercise is because that's the way that someone (often I) wrote it at one point in time when they had a little time to do so.
Having said all of the above things, I don't think we should make things more complicated for new users, or rather, complicated without benefit to the users. Ideally, the entry path to the track should be challenging enough to be interesting and to promote growth at every step.
It's a certainty that existing test APIs could be edited to encourage a better fit between a given problem and a given test suite.  In my ideal world, those changes would go hand in hand with a plan for the track that introduces concepts to continually challenge the user as they get deeper in to the track.
I know that I and the other maintainers would welcome specific proposals on what to change and how, especially if help executing the changes was offered.
Thank you!

I know I'm a little late to this discussion, but having gone a little way down both the student and mentoring routes I'd like to express my opinions on this.
In very general, simplistic terms, there are two types of exercises: those that ask you to accept a value and return an answer, and those that ask you take some initial state and return an interface that performs some operations on that state.  The first exercise on the track, Leap, is an example of the first kind.  The Queen Attack exercise falls into the second category as you have to provide the functions white, black, canAttack and toString on the initial board definition.
Taking the first exercise, in some languages this is a one-liner and it could be in JavaScript too, but there's a disconnect between the requirements and the unit tests - you could have code that solves the problem but isn't framed correctly to pass the unit tests.  Why should you have to declare a function that sets some internal state and then add a prototype that operates on that state, when you could simply expose a one-line function that performs the same action?  OOP design has it's place, but this isn't it.
Therefore I would like to propose a change to the design philosophy of the exercises on this track;

If the exercise can be solved by taking a value and returning another value, then the unit tests should only expect the student to export a function.
If the exercise specifically asks you to accept some initial state and then provide operations on that state then the unit tests should expect the student to export a class.

FP and OOP both have their strengths and weaknesses.  Adopting the philosophy above would, I believe, teach student that JavaScript readily supports both paradigms but would also encourage them to use the right tool for the right job.

Just started mentoring, and the first two submissions on Leap (in the Javascript stream) that I saw were totally bewildered that they had to define a function, then another function on the prototype (ie, a class) to implement a simple method
Keeping things simple is not just good for learning, but general development as well. So I agree with @xarxziux's comments about getting learners to use the right tool for the job

Can we just revert this commit: 02c126beac218bf10fa25f45e8475648e33e65cf
I think from this discussion, and as a learning tool, consistency in how to solve the exercise isn't great -- we should expose the idiomatic way a language solves a problem. It's a learning opportunity to discover a simple function solution as well as a more complex class solution.

I seem to like @xarxziux's comment here. What do others think @exercism/javascript ?

I see a bunch of PRs waiting. Can others at @exercism/javascript chime in and decide what to do here?

Thanks for all those PRs @xarxziux! Now that we have decided to remove classes, should we close this and create another issue with list of exercises pending conversion so people can pick one-by-one?

I've no problem with that.  I've re-factored most of the core exercises.  I'm not sure there's an awful lot of value in fixing all the side ones as well.

Thanks to @tejasbubane and @xarxziux for the considerable effort exerted to make this happen.  +++


Search

As a VizHub user viewing someone else's code trying to help with it, I want to be able to search all the files for certain exact strings, so that I can rapidly find the source of errors without opening each file individually.
VSCode has a great "search within code" feature. I wanted to do this in VizHub the other day.

Yo this is done!


Improve Falling State

Currently when the Luanoid is in the Falling state the VectorForce and AlignOrientation are disabled until the Luanoid is grounded again. This can result in edge cases where the Luanoid is wedged between two parts and cannot fall any further due to the StateController's raycast not detecting any ground to switch states.
https://gyazo.com/7345f68dfe8e1a41447ddf5fac8bd17b

Waiting for boxcasting to be added.

This has been fixed by increasing the raycast count from 1 to 5. When boxcasting is released this issue may revisited as an in-engine solution would likely be more efficient.


Update Gitbook Step 2

Which part of the repository is your change request related to?
Gitbook Step 2
Please describe which content you would expect here and tell us how to solve this request
Update link of the RAM version
Can you already provide any alternative (or updated) content that can/should replace the existing content?
/
Additional notes
/

Thank you very much @TonusPlus this is corrected.


Explicit this parameter type checking doesn't work in VSCode intellisense

TypeScript Version:  2.9.2 (also tried typescript@next 3.1.0-dev.20180725)
VSCode version: 1.25.1

Search Terms: this argument jsdoc vscode
I am trying to add TypeScript typechecking using VSCode's intellisense + JSDoc annotation in my AngularJS project. I should be able to explicitly define a type of this keyword in a function by providing explicit this parameter in as described here.
Code
component.d.ts
import 'angular'

declare interface IComponentCtrl {
  $onChanges?(onChangesObj: ng.IOnChangesObject): void;
}
declare interface IComponent extends ng.IComponentOptions {
  controller(this: IComponentCtrl, ...args: any[]): void;
}

component.js
// @ts-check
/** @type {import('./component').IComponent} */
export const component = {
  controller() {
    /** @type {import('./component').IComponentCtrl} */
    const vm = this

    vm.$onChanges = (onChangesObj) => {} // onChangesObj: angular.IOnChangesObject

    this.$onChanges = (onChangesObj) => {} // onChangesObj: any
  }
}

Expected behavior:
When I define controller's type of this explicitly as interface with $onChanges method with argument of specific type, I should get type hints for the argument in the defined method.
Actual behavior:
The argument in this.$onChanges method has type any and the type checking works only if I assign this to another variable and explicitly add type annotation to the newly created variable.

Simplified repro:
/** @type {{ a(): void; b?(n: number): number; }} */
const obj = {
    a() {
        this.b = n => n * 2; // Parameter 'n' implicitly has an 'any' type
    }
};

This is trickier than it looks. The reason it doesn't use the contextual type is that this.b = n => n * 2 is normally a declaration in Javascript. We don't contextually type declaration initialisers because they provide the declaration's type in the absence of a type annotation.
However, this-property assignments are ambiguous between declaration and assignment. In this case, the information that this.b = ... is an assignment, not a declaration, is non-local. Deciding whether to contextually type the initialiser requires the same kind of upward walk as actually contextually typing it.
I'll look at the problem again and see if I can find an easier way, but I'm not sure there is one.


Terminates a "stream for" loop

How do I terminate the stream for loop，How do I trigger stream.close() manually？
func (g *GPT) ChatCompletionStream() {
	var err error
	if Stream == false {
		panic("ChatCompletionStream should be set stream")
	}
	g.ChatCompStream, err = g.Client.CreateChatCompletionStream(g.App.Ctx, g.ChatCompletionRequest)
	if err != nil {
		return
	}
	defer g.ChatCompStream.Close()
	for {
		select {
		default:
			response, err := g.ChatCompStream.Recv()
			if errors.Is(err, io.EOF) {
				g.App.WsPushChan <- service.PushResp{
					Code: 1,
					Data: "Chatcat Finished",
				}
				return
			}
			if err != nil {
				g.App.WsPushChan <- service.PushResp{
					Code: -1,
					Data: fmt.Sprintf("Chatcat Warm Reminder: %s", err.Error()),
				}
				return
			}
			g.App.WsPushChan <- service.PushResp{
				Code: 0,
				Data: response.Choices[0].Delta.Content,
			}
		}
	}
}

When your business is completed, execute return.

Execute return when your business is completed in order to exit the select block.

thanks  I know how to solve it. By manually calling g.ChatCompStream.Close(), the problem can be solved directly.

Closing this due to lack of comments for an extended period. Hopefully, the proposed solution has resolved your issue.


rcp: 0.6.0 -> 0.7.0

Description of changes

Bump to next release: https://github.com/wykurz/rcp/releases/tag/v0.7.0
RELEASENOTES:

Provide better error message for currently unsupported copy of a dot (".") directory
Use tracing library and provide support for tokio-console subscriber

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[X] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

@ofborg eval


Allow initial = None in SIRT

Changes
SIRT takes initial = None.
To maintain the order of arguments to SIRT, both operator and data have default None when the arguments are passed to the init but raise a ValueError if they are not provided.
Testing you performed
New unit test implemented
Related issues/links
Fixes #1895
Checklist

[x] I have performed a self-review of my code
[x] I have added docstrings in line with the guidance in the developer guide
[x] I have updated the relevant documentation
[x] I have implemented unit tests that cover any new or modified functionality
[x] CHANGELOG.md has been updated with any functionality change
[x] Request review from all relevant developers
[x] Change pull request label to 'Waiting for review'

Contribution Notes
Please read and adhere to the developer guide and local patterns and conventions.

[x] The content of this Pull Request (the Contribution) is intentionally submitted for inclusion in CIL (the Work) under the terms and conditions of the Apache-2.0 License
[x] I confirm that the contribution does not violate any intellectual property rights of third parties

Jenkins is happy


💭 How can I get realtime frames in JS context

Question
I want to get all realtime frames when camera is active. For now I'm getting first frame and camera gets stuck, not sending next frame.
What I tried
I tried multiple ways to process realtime frames. I tried out with shared values.

Using Shared Values
      const sharedlatestFrame = useSharedValue(new Uint8Array(0));
      const frameProcessor = useFrameProcessor(
        frame => {
          'worklet';
          if (frame.pixelFormat === 'rgb') {
            const buffer = frame.toArrayBuffer();
            const data = new Uint8Array(buffer);

            console.log(`Pixel at 0,0: RGB(${data[0]}, ${data[1]}, ${data[2]})`);
            sharedlatestFrame.value = data;
          }
          return null;
        },
        [],
      );

    <View style={{flex: 1}}>
          <Camera
            ref={camera}
            frameProcessor={frameProcessor}
            format={format}
            style={styles.max}
            pixelFormat="rgb"
            device={device}
            isActive={true}
            video={true}
            audio={true}
          />
        </View>

It's not setting the value of shared value and get's stuck after receiving first frame in frameProcessor

Using createRunOnJS
      const [buffer, setBuffer] = useState<Uint8Array>();
      const pushVideoFrame = Worklets.createRunOnJS((frame: Uint8Array) => {
          console.log(`Pixel at 0,0: RGB(${frame[0]}, ${frame[1]}, ${frame[2]})`);
          setBuffer(frame);
          sharedlatestFrame.value = frame;
        });

        const frameProcessor = useFrameProcessor(frame => {
          'worklet';
          if (frame.pixelFormat === 'rgb') {
            const buffer = frame.toArrayBuffer();
            const data = new Uint8Array(buffer);

            pushVideoFrame(data);
          }
        }, []);

Same here it's not setting the value of state and shared Value. Here I'm receiving frames but only one or two frames in a minute. I also tried with runAsync but not able to send frames outside this worklet context.
Is there any way to send frames to the main js context.
VisionCamera Version
4.0.1
Additional information

[ ] I am using Expo
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar questions in the issues page as well as in the discussions page and found none.

Why are you trying to send the Frame to JS?

I've to pass these frames to webRTC for video chat.

Yea well 4k RGB Frames are 33MB, so at 60 FPS that's 2 GB per second.
If you use a lower resolution (e.g. 1280x720) that's 3.6MB per Frame, at 30 FPS that's 110 MB per second.
I think you'd need to encode or compress them before sending them over the network.
Either way, the problem here is that ArrayBuffers cannot be shared between Worklet runtimes.
What you need to do is to send the Frame itself to JS first:
frame.incrementRefCount() // <-- otherwise Frame is deleted by the time `something` is called
runOnJS(something)(frame)

and then in something you do:
const array = frame.toArrayBuffer()
frame.decremetRefCount() // <-- otherwise camera stalls

I tried it out but it's producing the errors.
  const receiveFrame = (frame: any) => {
      if (frame.pixelFormat === 'rgb') {
        const buffer = frame.toArrayBuffer();
        const data = new Uint8Array(buffer);
        frame.decremetRefCount();
        console.log(`Pixel at 0,0: RGB(${data[0]}, ${data[1]}, ${data[2]})`);
      }
    };

    const frameProcessor = useFrameProcessor((frame: any) => {
      'worklet';
      frame.incrementRefCount();
      runOnJS(receiveFrame)(frame);
    }, []);

Here is the repo link to checkout complete code
https://github.com/hjawwad/VideoFrames/blob/master/App.tsx

runOnJS is from Reanimated. We are using react-native-worklets-core, so you need to do Worklets.createRunOnJS.

@hjawwad
were you able to resolve your issue?

Yes, but it's only processing 4 or 5 frames per second. On average it's taking 250ms per frame.
const pushVideoFrame = Worklets.createRunOnJS(
  async (resized: any, frame: FrameInternal) => {
    //receving frames here
    frame.decrementRefCount();
  },
);

const frameProcessor = useFrameProcessor((frame: any) => {
  'worklet';
  runAtTargetFps(20, () => {
    'worklet';
    const start = performance.now();
    if (frame.pixelFormat === 'yuv') {
      const buffer = resize(frame, {
        scale: {
          width: 50,
          height: 100,
        },
        pixelFormat: 'rgba',
        dataType: 'uint8',
      });

      frame.incrementRefCount();
      pushVideoFrame(buffer!, frame);
      const end = performance.now();

      const diff = (end - start).toFixed(2);
      console.log(`Push Video Frames took ${diff}ms!`);
    }
  });
}, []);

@hjawwad
Did you solve it? I wonder how you did it.


Initial upload

Enjoy

Hello Matias, thank you for the pull request.
Can you please specify the exact part number for the potentiometers used for compatibility with this model? It sounds like the tolerances on your potentiometer are different from mine.

Alright, so after thinking about this for a bit, I think the best way to go about handling promoting modded versions that use different hardware, for now, is for me to make a list of modded versions in the readme, and then linking to the repositories of modded versions. Going to add that list today, and you will be free to PR your link onto the list (so we can make sure you're credited as a contributor).
Thank you so much for making a modded version to support more hardware! I'll get in touch with you soon on discord so we can get you on the list.


telegraph-cloudvision is leaking open connections

The screenshot shows the increasing number of open connections, which was linked back to a single IP that match with a service account used by a customer for Telegraph

Not 100% sure, but it may be coming from the call to /api/resources/inventory/v1/Device/all. We keep re-creating new HTTP transport and clients every 15s instead of just reusing the same one. And since the connections are setup with no timeout (connect, read or idle) and the proxy on our side is configured with a high idle timeout (because of stream), the connections is never properly closed and keep hanging in the runtime.
Reusing the client/transport would allow the open connection to be properly reused. I also recommend that an idle and read timeout is configured.
https://github.com/aristanetworks/telegraf-cloudvision/blob/main/plugins/inputs/arista_cloudvision_telemtry/arista_cloudvision_telemetry.go#L207-L211

So @dethi here is what I am seeing and may cause in issue that is might be go related.. possibly that it is not properly closing the connection or might not be related at all that we need to fix anyways.
https://github.com/aristanetworks/telegraf-cloudvision/blob/main/plugins/inputs/arista_cloudvision_telemtry/arista_cloudvision_telemetry.go#L232
It seems like the way the inventory API works is that its the same data structure as gRPC but at times it gives us an extra new line.  So some testing of my own this is what I get.
{"result":{"value":{"key":{"deviceId":"SN-DC1-SPINE2"},"status":"PROVISIONING_STATUS_SUCCESS","ztpMode":false,"ipAddress":{"value":"<IP_ADDRESS>"},"provisioningGroupName":"container_0c81bcb4-7e32-4900-a548-1006d8848393"},"time":"2023-02-06T16:45:37.310276561Z","type":"INITIAL"}}

Cannot marshall HTTP Connection to CVP

We can see between Cannot marshall HTTP connection to CVP and the data above it creates a newline.  So we simply need to check to see that if the iterrator is more than or equal to 1. Here https://github.com/aristanetworks/telegraf-cloudvision/blob/main/plugins/inputs/arista_cloudvision_telemtry/arista_cloudvision_telemetry.go#L228
But within go it also closes the session with the defer resp.Body.Close() @hamptonmoore thoughts?


Payment triggered by schedule

Purpose
Adds a management command to trigger due payments from order payment schedules.
Fixes #684  #683

@lunika a new feature commit has been added. Can you review it please ? https://github.com/openfun/joanie/pull/766/commits/9cfdb0a08266163cccfaa47ff6fa502e6f3ebbf5 and https://github.com/openfun/joanie/pull/766/commits/779a4c42ccddc21a4e1b9ee346b943233d3f6a7b


[CI/tests] Mark regtest tests instead of skipping them

The regtest tests were skipped as they require a local node and a Bitcoin.com type REST API to run locally. This decreases code coverage below 90%.
Instead of skipping them, I am flagging them in this PR with a --regtest marker. By default, the regtest tests are not run, but if python run_test.py --regtest or pytest --regtest is used, it will run them using default ports to connect to the local node.

Looking good but we're still a hair below 90%. Any way we can get over that or should we bump the target to 89%?

OK @teran-mckinney I added a couple more tests to bring coverage to exactly 90% for now 😅
We should probably focus on bringing that number even higher in a later PR.

Nice work!


Fix test to createShadowVolume property

Should fix https://github.com/openlayers/ol3-cesium/issues/329.

LGTM

when cesium is compiled, isn't createShadowVolume changed  to a smaller name?

Thx for the quick fix.

Thanks for the review.


Fix extraction protocol inference from urls with params

Previously it was unable to infer the compression protocol for files at URLs like
https://foo.bar/train.json.gz?dl=1

because of the query parameters.
I fixed that, this should allow 10+ datasets to work in streaming mode:
  "discovery",
  "emotion",
  "grail_qa",
  "guardian_authorship",
  "pragmeval",
  "simple_questions_v2",
  "versae/adobo",
  "w-nicole/childes_data",
  "w-nicole/childes_data_no_tags_",
  "w-nicole/childes_data_with_tags",
  "w-nicole/childes_data_with_tags_"

cc @severo

merging since the windows error is just a CircleCI issue

It works, eg https://observablehq.com/@huggingface/datasets-preview-backend-client#{"datasetId"%3A"discovery"} and https://datasets-preview.huggingface.tech/rows?dataset=discovery&config=discovery&split=train

Nice !


Update start/stop times view

[ ] Allow users to discard changes by tapping x-icon at the top left.
[ ] Save changes by tapping 'Save' at the top right.

Design Preview
Start/stop times edit

Zeplin: https://zpl.io/bLB7eLQ

@pe0ny I commented on slack but I don't want this comment to get lost: I feel (Paul agrees) this screen is a bit off with the rest of the app, maybe because of margins or because of the handle, I don't know, but it looks a little weird, kind of like unfished...
Just a thought.

I added some more whitespace and paddings. The updated file is available in Zeplin.


Not work because of oder of MIDDLEWARE_CLASSES with GZipMiddleware

Not work after installing in my Divio project. Because need placed after  GZipMiddleware in MIDDLEWARE_CLASSES settings.
Workaround: copy all middleware setup in MIDDLEWARE_CLASSES in settings.py and move 'debug_toolbar.middleware.DebugToolbarMiddleware' defined at the beginning just after the middleware  'django.middleware.gzip.GZipMiddleware'.

It'd be awesome to get this fixed.... ;)

How would this even be solved tho?
Can you control where this goes via the plugin? The guys @aldryncloud may need to fix this somehow on their end.

@derek-adair There is a version <IP_ADDRESS> in the Alpha channel for testing.

Works for me!!
👍


Provide Way to Install with Homebrew on macOS

It would be great to be able to install amber with Homebrew on macOS. Please provide a way to do that.

Homebrew accepts PR through https://github.com/Homebrew/homebrew-core.
If you are interesting in Homebrew packaging, could you try to send PR?
I can't maintain Homebrew package because I don't use brew and don't have macOS machine.

Similarly, Homebrew on Linux support would be quite nice. This is one of the few tools that I have to seek out a binary of when setting up a Linux dev env vs. adding it to a brew install copy paste.
To my understanding Homebrew wants to be able to build everything from source, so you'd want to expect to tell it how to do that (and then the prebuilts will be formed from the same instructions). So it'd probably be smart to look at other Rust taps/formulas/whatever.

Similarly, Homebrew on Linux support would be quite nice. This is one of the few tools that I have to seek out a binary of when setting up a Linux dev env vs. adding it to a brew install copy paste.
To my understanding Homebrew wants to be able to build everything from source, so you'd want to expect to tell it how to do that (and then the prebuilts will be formed from the same instructions). So it'd probably be smart to look at other Rust taps/formulas/whatever.

I used Homebrew on Linux, but don't use now because glibc compatibility issue can't be resolved on my environment.
If anyone try to send PR, the following may be helpful.
https://github.com/Homebrew/homebrew-core/pull/39584/files
I think the formula of amber is like below:
class Amber < Formula
  desc "A code search and replace tool"
  homepage "https://github.com/dalance/amber"
  url "https://github.com/dalance/amber/archive/v0.5.8.tar.gz"
  sha256 "f12e0b176273e011209e7d8613d1b9a049e50aeb536871c1f6c05a9d6a494935"

  depends_on "rust" => :build

  def install
    system "cargo", "install", "--root", prefix, "--path", "."
  end

  test do
    output = shell_output("#{bin}/ambr --help")
    count = output.lines.count
    assert count > 2
    assert output.start_with?("ambr")
  end
end

I used Homebrew on Linux, but don't use now because glibc compatibility issue can't be resolved on my environment.
If anyone try to send PR, the following may be helpful.
https://github.com/Homebrew/homebrew-core/pull/39584/files
I think the formula of amber is like below:
class Amber < Formula
  desc "A code search and replace tool"
  homepage "https://github.com/dalance/amber"
  url "https://github.com/dalance/amber/archive/v0.5.8.tar.gz"
  sha256 "f12e0b176273e011209e7d8613d1b9a049e50aeb536871c1f6c05a9d6a494935"

  depends_on "rust" => :build

  def install
    system "cargo", "install", "--root", prefix, "--path", "."
  end

  test do
    output = shell_output("#{bin}/ambr --help")
    count = output.lines.count
    assert count > 2
    assert output.start_with?("ambr")
  end
end

I've published a variant of the above on a personal tap, you can use it like so:
brew install danopia/tools/amber

This is the formula before bottles were inserted: https://github.com/danopia/homebrew-tools/blob/241fb4eeb58e301efb463a1d6bc52ffb9bd34fd1/Formula/amber.rb
I use both macOS and Linux so was able to verify this on both machines. (It's actually quite smooth to make a personal tap...)
To get the formula listed upstream, I believe it has to be PR'd to both https://github.com/Homebrew/homebrew-core and https://github.com/Homebrew/linuxbrew-core (the same file to both locations I suppose?). The formula I wrote should pass any criteria though maybe the name should be more specific. Perhaps amber-search to line up with AUR.

I've published a variant of the above on a personal tap, you can use it like so:
brew install danopia/tools/amber

This is the formula before bottles were inserted: https://github.com/danopia/homebrew-tools/blob/241fb4eeb58e301efb463a1d6bc52ffb9bd34fd1/Formula/amber.rb
I use both macOS and Linux so was able to verify this on both machines. (It's actually quite smooth to make a personal tap...)
To get the formula listed upstream, I believe it has to be PR'd to both https://github.com/Homebrew/homebrew-core and https://github.com/Homebrew/linuxbrew-core (the same file to both locations I suppose?). The formula I wrote should pass any criteria though maybe the name should be more specific. Perhaps amber-search to line up with AUR.


WIP: Enable signing using status

this method is compatabile with metamask and it the more commonly used
approach.
Fixes # .
Changes proposed in this pull request:

Closing this PR, signing works now with Status this is not relevant anymore


Export failing on dependency with Cannot open "X" as a "Swift Package Folder" because it is already open as a "Folder"

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
Failing when building a dependency during export with multiple Cannot open "xxxx" as a "Swift Package Folder" because it is already open as a "Folder"
Command executed
$ set -o pipefail && xcodebuild -workspace ProjectName.xcworkspace -scheme Stage_ProjectName -configuration Release-stage -destination 'generic/platform=iOS' -archivePath /Users/runner/Library/Developer/Xcode/Archives/2022-11-02/ProjectName\ 2022-11-02\ 19.32.59.xcarchive -skipPackagePluginValidation archive | tee /Users/runner/Library/Logs/gym/ProjectName-Stage_ProjectName.log | xcpretty
Complete output when running fastlane, including the stack trace and command used

 2022-11-02T19:55:47.8368130Z INFO [2022-11-02 19:55:47.83]: $ set -o pipefail && xcodebuild -workspace ProjectName.xcworkspace -scheme Stage_ProjectName -configuration Release-stage -destination 'generic/platform=iOS' -archivePath /Users/runner/Library/Developer/Xcode/Archives/2022-11-02/ProjectName\ 2022-11-02\ 19.55.47.xcarchive -skipPackagePluginValidation archive | tee /Users/runner/Library/Logs/gym/ProjectName-Stage_ProjectName.log | xcpretty
2022-11-02T19:55:58.3992830Z INFO [2022-11-02 19:55:58.39]: ▸ 2022-11-02 19:55:58.394 xcodebuild[5579:17761] [MT] IDEFileReferenceDebug: [Load]  Failed to load container at path: /Users/runner/Library/Developer/Xcode/DerivedData/ProjectName-bxjenucabfbcosaaqtlqvryoustq/SourcePackages/checkouts/kds-core-tokens/src/shadow, Error: Error Domain=com.apple.dt.IDEContainerErrorDomain Code=6 "Cannot open "shadow" as a "Swift Package Folder" because it is already open as a "Folder"." UserInfo={NSLocalizedDescription=Cannot open "shadow" as a "Swift Package Folder" because it is already open as a "Folder".}
2022-11-02T19:55:58.4022600Z INFO [2022-11-02 19:55:58.39]: ▸ 2022-11-02 19:55:58.395 xcodebuild[5579:17761] [MT] IDEFileReferenceDebug: [Load]  Failed to load container at path: /Users/runner/Library/Developer/Xcode/DerivedData/ProjectName-bxjenucabfbcosaaqtlqvryoustq/SourcePackages/checkouts/kds-core-tokens/src/opacity, Error: Error Domain=com.apple.dt.IDEContainerErrorDomain Code=6 "Cannot open "opacity" as a "Swift Package Folder" because it is already open as a "Folder"." UserInfo={NSLocalizedDescription=Cannot open "opacity" as a "Swift Package Folder" because it is already open as a "Folder".}
2022-11-02T19:55:58.4026420Z INFO [2022-11-02 19:55:58.39]: ▸ 2022-11-02 19:55:58.396 xcodebuild[5579:17761] [MT] IDEFileReferenceDebug: [Load]  Failed to load container at path: /Users/runner/Library/Developer/Xcode/DerivedData/ProjectName-bxjenucabfbcosaaqtlqvryoustq/SourcePackages/checkouts/kds-core-tokens/src/color, Error: Error Domain=com.apple.dt.IDEContainerErrorDomain Code=6 "Cannot open "color" as a "Swift Package Folder" because it is already open as a "Folder"." UserInfo={NSLocalizedDescription=Cannot open "color" as a "Swift Package Folder" because it is already open as a "Folder".}
2022-11-02T19:55:58.4029670Z INFO [2022-11-02 19:55:58.39]: ▸ 2022-11-02 19:55:58.396 xcodebuild[5579:17761] [MT] IDEFileReferenceDebug: [Load]  Failed to load container at path: /Users/runner/Library/Developer/Xcode/DerivedData/ProjectName-bxjenucabfbcosaaqtlqvryoustq/SourcePackages/checkouts/kds-core-tokens/src/style, Error: Error Domain=com.apple.dt.IDEContainerErrorDomain Code=6 "Cannot open "style" as a "Swift Package Folder" because it is already open as a "Folder"." UserInfo={NSLocalizedDescription=Cannot open "style" as a "Swift Package Folder" because it is already open as a "Folder".}
2022-11-02T19:55:58.5182060Z INFO [2022-11-02 19:55:58.51]: ▸ 2022-11-02 19:55:58.516 xcodebuild[5579:17761] [MT] IDEFileReferenceDebug: [Load]  Failed to load container at path: /Users/runner/Library/Developer/Xcode/DerivedData/ProjectName-bxjenucabfbcosaaqtlqvryoustq/SourcePackages/checkouts/kds-core-logos/src/logos, Error: Error Domain=com.apple.dt.IDEContainerErrorDomain Code=6 "Cannot open "logos" as a "Swift Package Folder" because it is already open as a "Folder"." UserInfo={NSLocalizedDescription=Cannot open "logos" as a "Swift Package Folder" because it is already open as a "Folder".}
2022-11-02T19:55:58.5695150Z INFO [2022-11-02 19:55:58.56]: ▸ 2022-11-02 19:55:58.567 xcodebuild[5579:17761] [MT] IDEFileReferenceDebug: [Load]  Failed to load container at path: /Users/runner/Library/Developer/Xcode/DerivedData/ProjectName-bxjenucabfbcosaaqtlqvryoustq/SourcePackages/checkouts/kds-core-icons/src/accentIcons, Error: Error Domain=com.apple.dt.IDEContainerErrorDomain Code=6 "Cannot open "accentIcons" as a "Swift Package Folder" because it is already open as a "Folder"." UserInfo={NSLocalizedDescription=Cannot open "accentIcons" as a "Swift Package Folder" because it is already open as a "Folder".}
2022-11-02T19:55:58.5704250Z INFO [2022-11-02 19:55:58.56]: ▸ 2022-11-02 19:55:58.567 xcodebuild[5579:17761] [MT] IDEFileReferenceDebug: [Load]  Failed to load container at path: /Users/runner/Library/Developer/Xcode/DerivedData/ProjectName-bxjenucabfbcosaaqtlqvryoustq/SourcePackages/checkouts/kds-core-icons/src/icons, Error: Error Domain=com.apple.dt.IDEContainerErrorDomain Code=6 "Cannot open "icons" as a "Swift Package Folder" because it is already open as a "Folder"." UserInfo={NSLocalizedDescription=Cannot open "icons" as a "Swift Package Folder" because it is already open as a "Folder".}
2022-11-02T19:55:58.7592880Z INFO [2022-11-02 19:55:58.75]: ▸ 2022-11-02 19:55:58.756 xcodebuild[5579:17761] [MT] IDEFileReferenceDebug: [Load]  Failed to load container at path: /Users/runner/Library/Developer/Xcode/DerivedData/ProjectName-bxjenucabfbcosaaqtlqvryoustq/SourcePackages/checkouts/kds-apple-tokens/Sources/AppleTokensGenerator/Resources, Error: Error Domain=com.apple.dt.IDEContainerErrorDomain Code=6 "Cannot open "Resources" as a "Swift Package Folder" because it is already open as a "Folder"." UserInfo={NSLocalizedDescription=Cannot open "Resources" as a "Swift Package Folder" because it is already open as a "Folder".}]

Environment

2022-11-02T19:54:02.0811090Z ##[group]Run bundle exec fastlane env --capture_output
2022-11-02T19:54:02.0811670Z bundle exec fastlane env --capture_output
2022-11-02T19:54:02.0812850Z bundle exec fastlane ios build connect_api_key:"***
2022-11-02T19:54:02.0813530Z ***
2022-11-02T19:54:02.0814280Z ***
2022-11-02T19:54:02.0814800Z ***
2022-11-02T19:54:02.0815170Z ***
2022-11-02T19:54:02.0815960Z ***" --env stage --verbose
2022-11-02T19:54:02.0961260Z shell: /bin/bash -e {0}
2022-11-02T19:54:02.0961930Z env:
2022-11-02T19:54:02.0980460Z   MATCH_PASSWORD: ***
2022-11-02T19:54:02.0981810Z ##[endgroup]

Same here

Turns out the issue came from having a dependency pulled in through Cocoapods as well as SPM. Weird reasons, it made sense when I did it, ok? Never really caused any build issue until Xcode 14.

@davidmiller-kroger same here,
So did you delete either Cocoapods or SPM?
Or did you apply the duplicate library to only one of them?

This thread on swift forum might be helpful too. Didn't resolve the issue for me, but maybe it might help someone, so I'm leaving a link here 🥲
https://forums.swift.org/t/xcode-14-beta-code-signing-issues-when-spm-targets-include-resources

Any updated for SPM using fastlane gym?
Passing CODE_SIGN_STYLE=Manual alongside with DEVELOPMENT_TEAM and CODE_SIGN_IDENTITY didn't worked for us. 🥲

Seeing this today as well. I don't think I've made any changes to my codebase.

Same here, from Xcode all works fine. Trying to generate screenshots fails.

I ended up removing all dependencies from Cocoapods and removing that manager completely.
So you just have to make sure you're pulling each dependency one time ONLY.

Yeah I did that also. Just SPM packages now, but not luck yet. Using Firebase and Google Ads Mobile.


Use mkimage-arch.sh to build a base image

https://github.com/docker/docker/blob/master/contrib/mkimage-arch.sh
When the image will be fully working
Blocked by #1

Give a look at my modified version for Arch Linux ARM
https://github.com/manchoz/docker/blob/16695_manchoz_archarm/contrib/mkimage-arch.sh
and
https://github.com/trmpln/docker-alarm/blob/master/alarm/mkimage-arch.sh

Perfect :) we will wait for https://github.com/docker/docker/pull/16704 to be merged :)


Add security rules of engagement

Provides insight into what standard rules testers must follow as well as how an application must be prepped.

Are details provided anywhere on how to request the security review? I'm not seeing them.
Also, should the rules of engagement be expanded to include what should be provided during the request with regards to planning attacks (e.g. IPs, URLs)? This could especially important when testing an application deployed within a customer's infrastructure/account.

We're still fleshing out how requesting security reviews will look like behind the scenes. I can wait to merge this until we're done with that, but I'm not clear on how we'll break apart public guidance from internal process (given the audience of this material).

@anthturner it was more of a question of making sure it's accounted for in the plan somewhere due to it being mentioned in this PR. Sounds like it's in the planning pipeline which is good enough to cover my question.

FWIW -- the request process is much more concrete now (SME request). I'll be submitting a separate PR to cover more information about engaging.

Added @doymturner to the contributors so now this can be merged in @anthturner


A patch to catalystValue

A patch to catalystValue. So we can simplify ExpressionEvalHelper a bit.

@kiszk I tried this patch locally. LiteralExpressionSuite can pass. If it looks ok for you, can you merge this and see if it can pass all tests?


Containerization

It would be nice to have a containerized version of the code and  docker-compose to run other services. Users then quickly run it and play with the interface.

We could add a chapter to INSTALL.md that constructs the Dockerfiles and docker-compose in a literal way. We need to be careful that the Dockerfiles are seen as an alternative way to run things and not clash with the instructions in the README.md .

I created https://hub.docker.com/orgs/cpp2wasm Docker Hub organization so we can store the images there.
I would like to see the following Docker images

[ ] cpp2wasm/cli, with newtonraphson.exe CLI script as entrypoint
[ ] cpp2wasm/cgi, containing apache2/cgi-bin/newtonraphson hosted by an Apache web server
[ ] cpp2wasm/webapp-py, with python src/py/webapp.py as entrypoint
[ ] cpp2wasm/webapp-celery, with python src/py/webapp-celery.py as entrypoint
[ ] cpp2wasm/worker-celery, with celery worker -A tasks as entrypoint
[ ] cpp2wasm/webservice-py, with python src/py/webservice.py` as entrypoint
[ ] cpp2wasm/cpp2wasm, with a web server hosting all src/js/example-*.html files.

Find the entrypoints in the README and for each entrypoint include all it's requirements in  dockerfiles/<image name>/Dockerfile file.
The Celery based web app needs 3 (redis, webapp-py-celery, worker-celery) containers to run this should be orchestrated with a dockerfiles/docker-compose.yml file.
Maybe use boatswain.yml to compile all Docker image in one go.

Submitted PR #63


docs: development guide

Hi,
This PR is for the development guide. And the related issue is #5 .

Thank you @jiayouxujin . I will try to go through the guide you provided, which will take some time.

Thanks @jiayouxujin.


Include a changelog

The bump from 1.2.x to 1.3.x broke something in my project. It'd be nice to be able to look at a changelog to see what I need to do to get onto 1.3.x.

Good point!


Sync disabled over mobile data

Expected behavior
Emails should keep syncing when using mobile data.
Actual behavior
Every time I open K-9 it tells me that Sync is disabled. When using Wi-Fi everything works fine.
Android Sync is on, battery optimization is set to allow all activities from K-9 and I'm keeping the app locked in recent menu, so it never shuts down.
Environment
Android version: 5.600
XIAOMI Redmi 6A
Account type: IMAP

See #3950.

I already saw that but it's not helping.

Duplicate of #3950


Solve #9

Fix #9

Doesn't that just move the issue from encoding to evaluation of the value? val | 0 yields a 32-bit signed integer value (have you considered using longs?).

No, purpose of this code is to check whether val |0 equals val(which means whether val is a 32bit integer).
I don't know whether ByteBuffer can solve Long, but your next line code is 'zigZagEncode32'. obviously it should only receive a 32bit integer.
Besides, when we are using a long int, zigzag encoding will not reduce the final size as much as encoding a small int. I think it's ok to treat the value as a number(double).

ByteBuffer treat Long values as a special object, encode from a number but decode to a object is bad, I think it's better to keep using number. Treat big number as float will solve my problem. To who do not want precision loss, they can explicit convert value into Long object.

No, I thought wrong. There's no precision loss because number is a double.


Adding Probes to ML Pipelines' pods

Adding probes to the following pods:

metadata-envoy
minio
my-sql

Tested out on a local cluster by applying this kfdef: http://pastebin.test.redhat.com/1073383
Pods came up as expected, without any CrashLoopBackOff.

Very minor annoyance: can we organize the probes in the same key order so the various components are congruent?  Helps with readability and reduces confusion/mistakes

Very minor annoyance: can we organize the probes in the same key order so the various components are congruent? Helps with readability and reduces confusion/mistakes

Done, rearranged probes and ports to have them in the following order:
ports livenessProbe readinessProbe

Tested out latest changes on a cluster, and the pods come up and run as expected, without any crash looping.


Make Warnings section on Build Summary Page collapsible

The Warnings section on the Build Summary Page should be collapsible. Especially on builds that are still running.
That, or Jobs and Warnings should each be a tab on the page.
Usually when I'm looking at the Build Summary Page of a build that is still running, it's because I want to check on the progress, ie. which step(s) of which job(s) it is currently on.
I have a CD pipeline that is currently listing a lot of warnings (100+). Many of these are on a to-do list somewhere, many others are related to package version conflicts that cannot currently be resolved, some are vague and haven't been looked into yet, some of them are database procs that have references to views in the SYS schema.
Now, all these warnings are quite verbosely listed near the top of the Build Summary Page. That means I have to scroll past 100+ warnings that I have seen dozens of times already just to get to the Jobs overview.

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

ID: 0e013ceb-c5eb-6fc8-9842-708e669bd4ce
Version Independent ID: b9bc3c0e-85e5-1318-374b-fe1cd3354152
Content: Multi-stage pipelines user experience - Azure Pipelines
Content Source: docs/pipelines/get-started/multi-stage-pipelines-experience.md
Product: devops
Technology: devops-cicd-get-started
GitHub Login: @steved0x
Microsoft Alias: sdanie

Thanks for the suggestion! The product teams aren’t always watching this repository, so to make sure it gets in front of them for triage, please submit your idea here.


DBZ-7230 MySQL BIT Type should have a default length 1

MySQL BIT Type should have a default length 1
https://dev.mysql.com/doc/refman/8.0/en/bit-type.html

@Jiabao-Sun Applied, thanks.
@Naros Thanks for checking. It really looks safe but I still marked the issue to be shown in breaking change just in case.

Thanks @Naros and @jpechane for the quick review.


Standard scan range for improper/non-rotatable torsions

ISSUE
we have the ability to scan improper/ring-torsions now, but should we automatically apply some default limit on the scan range? or will torsiondrive cope with standard settings and stop grid points over a certain energy threshold?
TODO

[X] Investigate submitting improper/ring-torsions under standard settings does this still work?
[ ] Work out a suitable limit for the scan range for such torsions

I'd be surprised if the standard settings worked, but it's worth a try!
A limit in torsional displacement would be simple to implement, but if it was straightforward to develop, perturbations up to a limit in strain energy (above the minimum) would seem to be a more useful parameter to specify.

Thanks for the advice it seems like Torsiondrive is naturally handling this problem with its energy cut off, I have found a few ring torsions in the archive already which appropriately limit the scan range of ring torsions even when the full scan range is requested. I have also introduced a way for users to specify a different scan range if they wish to limit them to the range @jmaat suggests though.


createIndex and getIndex

Thanks for this library!
I noticed when I first went to use it that its missing the createIndex and getIndex methods, was just hoping you could add those here!
I can just add them to my code since its a fairly simple rest call but it would be a nice addition I think.
Obviously this isn't fully right but here is my workaround:
import { ajax } from<EMAIL_ADDRESS>
export async function createIndex(index: string, mapping: unknown): Promise<unknown> {
  return await ajax({
    url: `http://localhost:9200/${index}`,
    method: 'PUT',
    data: mapping
  });
}

And yes you can just infer your indexes from the documents stored in the index some of the time, but not always. Generally you'll end up wanting to strictly define your mappings and some kinds like a percolate always require explicit mappings.
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-percolate-query.html

I'm very glad you can use this project. I'll take a look at this API and add it.

It seems like that you can use like this:
const createIndex = async () => {
  try {
    const info = await client.indices.create({
      index: "myindex",
      // body: {},
      body: {
        "mappings": {
          "properties": {
            "message": {
              "type": "text",
            },
            "query": {
              "type": "percolator",
            },
          },
        },
      },
    });
    console.log("createIndex success", info);
  } catch (error) {
    console.error(error);
  }
};

If you want to getIndex, you can see the client.indices.stats that wether meet your needs.

I see, I thought it was private because it lacked a modifier but I see that defaults to public.
Also it does seem like the .get(_id: string) method to get a document by _id is missing?


Tags should allow any string as a tag

Summary
I want to assign key values strings to my consumer tags but I get a schema violation error any time there are characters like =, :, |
Is there any way around this validation?
{
  "message": "schema violation (tags.1: invalid value: a=b)",
  "name": "schema violation",
  "fields": {
    "tags": [
      "invalid value: a=b"
    ]
  },
  "code": 2
}

https://discuss.konghq.com/t/change-the-validation-rules-on-tags/6971
As a work around I am encoding values in hex, but this is not ideal.
Steps To Reproduce

Add a conumer with tag k=v, k|v, etc
schema violation

Additional Details & Logs

Kong version v2.1.2

There is some discussion about this in this PR:
https://github.com/Kong/kong/pull/5451

In general there is no technical reason to allow more chars in tags. But as this has popped now at least twice or more, perhaps we should consider supporting more.

I am sure some people would love to use unicode powers of emoticons as labels too :-)

Is there a way to forward a consumers tags to the backend service? I was hoping to use the tags feature to provide additional metadata about a consumer.

Could you just create perhaps a profile plugin that creates profiles table that has UNIQUE consumer_id as a foreign key (in pg) to consumers table. We can certainly look how to enhance tags, but I feel like storing extra info about consumers is not a good use for tags. We could also perhaps think about adding meta column to consumers itself (e.g. a hash -> key -> value (string:string)  field). But yes, these are just some thoughts of mine.

I have a good way to help you , add headers by request transformer plugin.

custom plugin
example:
function plugin:access(conf)
plugin.super.access(self)
local consumer = kong.client.get_consumer()
kong.service.request.set_header("tag", serialize(consumer.tags))

end

I went for the custom plugin solution, thanks for the suggestion!


Problems loading .nes files in Node.js

I'm trying to load an NES rom using jsnes in a node environment. I'm loading the .nes file by doing:
// ascii encoding as suggested by the test/nes.spec.js file
const file = fs.readFileSync('nes/roms/mario3.nes', { encoding: 'ascii' })
nes.loadROM(file)
nes.frame()

No errors occur, but looking at the frame buffer I get a frame of a black border & grey background over and over each time I run nes.frame(). Something is happening, I still get frames & a framerate but they are all the same, as if it's not loading properly.
Interestingly, loading the same rom in a browser environment works fine. Using nes.toJSON(), saving the output to a .json file and then importing that with the below in node also works:
const save = JSON.parse(fs.readFileSync('nes/mario3save.json'))
nes.fromJSON(save)
// OR
nes.loadROM(save.romData)

Both the above work (with some minor graphical glitches using the first option as covered in #16 )
Is it just the encoding causing a problem? Dropping the ascii encoding option causes an error reading the header (rom.js:84 - data.charCodeAt is not a function) and using other encodings cause similar errors.

Hm! Interesting. Honestly, I’ve never tested Node properly so it’d be nice to get this working and documented.
Here is what I did in the tests: https://github.com/bfirsh/jsnes/blob/master/test/nes.spec.js
Slight variation on what you are doing. Does that work or is it the same issue?

Yeh the test is where I got the idea for how to load the files, the only difference between that method and mine is sync vs async file loading. It’s strange because it appears to be running and the test will pass, but no frames are generated.
I’ll keep looking, the way the browser loads files seems to work fine without specifying conversion to ascii so I’ll look into recreating that kind of loading in Node.

Hm! Yes odd. Sounds like the test is broken in that case. It’d be nice to compare some frame output in the test to make sure it’s doing the right thing.
When I have some time I’ll look into this too...

I'm using Angular 4 which is hosted in node.js and this is what I'm using (mostly taken from @bfirsh web jsnes project)
loadBinary(path, callback) {
    var req = new XMLHttpRequest();
    req.open("GET", path);
    req.overrideMimeType("text/plain; charset=x-user-defined");
    req.addEventListener('load', function() {
      if (req.status === 200) {
        callback(null, this.responseText);
      } else {
        callback(new Error(req.statusText));
      }
    });
    req.onerror = function() {
      callback(new Error(req.statusText));
    };
    req.send();
  }

Hope this is able to help you get a step or two closer to resolving

Finally figured it out, you have to specify encoding as binary and then it will be properly loaded. So the proper way to load is:
const file = fs.readFileSync('file/to/rom.nes', { encoding: 'binary' })
nes.loadROM(file)
nes.frame()

The default utf8 encoding loads the rom successfully but then errors on an unknown opcode (at the moment it crashes due to issue #24)
Setting ascii encoding loads the rom successfully and frames are run but produces a constant grey screen (some sort of softlock)
I'll raise a pull request to add this info to the Readme to make it clear.

Ideally there should be a way to detect if the wrong type of encoding is used, it seems at the moment the ROM loader is very lenient in parsing & checking the file is valid, meaning a variety of encodings can bypass it even though the actual data is invalid.
In the meantime I've added a test to check the output is correct over a few frames, it should help diagnose this in the future.

I'm also having this issue but I'm writing an emulator for os.js
Code:
	const loadFile = async file => {
    	if(intv > -1) clearInterval(intv);
    	nes.crashMessage = null;
		const data = await core.make("osjs/vfs").readfile(file);
		if(!data.toString().startsWith("NES")) return core.make("osjs/dialog","alert",{ message: "File is not a valid NES rom!" },(btn, value) => {});
		nes.reset();
		nes.loadROM(Buffer.from(data).toString("binary"));
		intv = setInterval(() => {
			if(nes.cpu.crash) {
				clearInterval(intv);
				intv = -1;
				return;
			}
			nes.frame();
		},100);
	};

I defined stop myself but it caused more issues.


[wip] Fix windows ci

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[ ] Y

2. What is the scope of this PR (e.g. component or file name):

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[ ] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

282 of 303 (93.07%)  changed or added relevant lines in 12 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.03%) to 70.544%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

kclvm/ast/src/ast.rs
12
14
85.71%

kclvm/tools/src/LSP/src/tests.rs
160
162
98.77%

kclvm/tools/src/LSP/src/document_symbol.rs
26
29
89.66%

kclvm/tools/src/LSP/src/goto_def.rs
22
29
75.86%

kclvm/tools/src/LSP/src/rename.rs
37
44
84.09%

Files with Coverage Reduction
New Missed Lines
%

kclvm/tools/src/LSP/src/document_symbol.rs
1
86.72%

Totals

Change from base Build<PHONE_NUMBER>0:
0.03%

Covered Lines:
51577

Relevant Lines:
73113

💛  - Coveralls


High latency for svc NodePort access in calico vxlan mode

Describe the Bug
A clear and concise description of what the bug is.
k8s:1.23.6
calico: 3.22.4 ,mode: vxlan
running Nginx deployment in cluster， service is NodePort 30321
master node：<IP_ADDRESS>，<IP_ADDRESS>，<IP_ADDRESS>
in node <IP_ADDRESS>：
telnet <IP_ADDRESS> 30321     High latency 120s
telnet <IP_ADDRESS> 30321     Normal
telnet <IP_ADDRESS> 30321     Normal
For UI issues please also add a screenshot that shows the issue.
Versions Used
Kubernetes: 1.23.6
Kubeclipper: release 1.x
Environment
How many nodes and their hardware configuration:
For example: CentOS 7.5 / 3 masters:  8cpu/8g; 3 nodes: 8cpu/16g
(and other info are welcomed to help us debugging)
centos 7.9
kernel 5.18
How To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.

/close


Fixed Desktop Icon

This is from issue #34 .
This should be the fix, I laid out my steps in the issue directly. It was a quick one, but I believe the change was made in the .csproj file by adding:
  <PropertyGroup>
    <ApplicationIcon>Icons\IndexerLogo.ico</ApplicationIcon>
  </PropertyGroup>

Hi @idietmoran! Thank you once again for the fix!
In this pull request there are some extra lines added by VS, namely 104-106 (local reference path hint) and some other small extra changes.
I can either add manually your code directly to master or you can update your pull request, so that there are only nessesary change left (basically only new line 80).

Thank you! No rush:)

Should be fixed now.

Thank you for fast work!


MultiDiGraph return edge that is not requested  by query

I am wondering why in the example below in the result of query we see the edge with label friends? In query it was requested to traverse only edges with labels [r:paid]. I would expect to see filtered list of edges showing only paid edges.
from grandcypher import GrandCypher
import networkx as nx

host = nx.MultiDiGraph()
host.add_node("a", name="Alice", age=25)
host.add_node("b", name="Bob", age=30)
host.add_edge("a", "b", __labels__={"paid"}, amount=12, date="12th June")
host.add_edge("b", "a", __labels__={"paid"}, amount=6)
host.add_edge("b", "a", __labels__={"paid"}, value=14)
host.add_edge("a", "b", __labels__={"friends"}, years=9)
host.add_edge("a", "b", __labels__={"paid"}, amount=40)

qry = """
MATCH (n)-[r:paid]->(m)
RETURN n.name, m.name, r.amount
"""
res = GrandCypher(host).run(qry)
print(res)

'''
{
   'n.name': ['Alice', 'Bob'],
   'm.name': ['Bob', 'Alice'],
   'r.amount': [{(0, 'paid'): 12, (1, 'friends'): None, (2, 'paid'): 40}, {(0, 'paid'): 6, (1, 'paid'): None}]
}
'''

(Tagging @jackboyla for awareness)
Diving into this now, thanks for reporting @Benja1972!

Thanks for reporting! This is partly intentional, because we do not filtering within edges for any attribute, eg if you asked for:
qry = """
MATCH (n)-[r:paid]->(m)
WHERE r.amount > 13
RETURN n.name, m.name, r.amount
"""

you would get the edge without any filtering, i.e
{'n.name': ['Alice'], 'm.name': ['Bob'], 'r.amount': [{(0, 'paid'): 12, (1, 'friends'): None, (2, 'paid'): 40}]}

But I can see how this is undesirable -- thinking of a fix now


[1pt] Implement mission leaving - Actions

Follow the same logic as with the "Join mission" - but you need to set the reserved key to false.
Dispatch these actions upon click on the corresponding buttons.

Completed!

#33