Set up Microverse Capstone Project Module 1

In this PR, I fulfilled the following tasks:

[x] Create a Home page
[x] Create an About page.
[x] Create responsive design -> Mobile: up to 768px wide and Desktop: 768px or wider.
[x] Create a README file that gives appropriate credit to the original author and shows a Loom video presentation
[x] The section "Featured speakers" has been created dynamically in JavaScript
[x] A link to home was put in the main logo
[x] Create a hamburger menu for mobile version
[x] Create a "more" button for a Featured section on mobile version

Loom video

All the observations mentioned in the above comments have been implemented.
Observation 1: however, you forgot to highlight a particular piece of it that you are proud of the most, kindly add it, we can't wait to see it!
New Loom video https://www.loom.com/share/b2074e5004a04aae9bcb8802979bbf44
Observation 2: In order to respect the semantic HTML rules, I suggest avoiding using h3 before h2 and h1

Observation 3 : As per the HTML best practices, we should respect the semantic rules, by making sure h1 is above all the other titles so, I suggest replacing the h2 with a p

Observation 4: remove all the commented-out lines of code as they overload your website and make your code unclean

Observation 5: Kindly make sure you use h3 only if you already h2 and h1

Observation 6: As I said above, Kindly make sure there is no hx above h1, so I suggest using p for the small title

Observation 7: I suggest using the background that matches most.

Observation 8:  Kindly make sure this title is underlined as per the design provided in the requirements


Fixed hardcoded relative path in calib_stereo

resolves #6456
Change hardcoded relative path for instrinsics file to current path, matching the extrinsics file.

:+1:


Introduction to Diffusers Notebook - Mac M1 Support

I have spotted an Issue not directly for this notebook but for Mac m1 users.
If you set device = torch.device("cpu") the output of show_images(xb).resize((8 * 64, 64), resample=Image.NEAREST) gives you 8 different images of butterflies.
Bit if you set device = torch.device("mps") the output of the same functions return 8 times the same butterfly.
Don´t know what's going on under the hood with torch gpu for Mac m1 yet - didn't find something googeling it.

Very strange! Hopefully someone with a mac can figure out a fix, I can't think what would be causing this.

I can repo this but I think the issue in pytorch core from this issue I found:
https://github.com/pytorch/pytorch/issues/84523

The simple workaround as far as this notebook goes looks like moving the detach().cpu() operation into make_grid.
grid = torchvision.utils.make_grid(x.detach().cpu())

grid_im = grid.permute(1, 2, 0).clip(0, 1) * 255

Thanks for the detective work @angellmethod, I'll test and push the change post Christmas chaos :)


Running with -Z above a certain size fails with "Error generating I/O requests"

Diskspd is failing immediately when trying to run with -Z500G. The point at which it works actually seems to be dependent on some factor I haven't really determined, but it changes depending on the disk topology I set up and tended to be around the 200G mark for a 13TB storage array. Using the -v parameter doesn't give any further information. Attaching a failed log, please let me know what I can do to help investigate.
diskspd.txt

That is exactly what it does - it allocates a buffer of  bytes and generates a random fill across it. That is then indexed randomly to provide the source buffer to the WriteFile API. As to the implications for any storage system you'll have to evaluate what that means.
It is completely independent of disk topology, aside from the fact that perhaps (probably) the amount of pagefile space to let DISKSPD grow an additional 500GiB of committed VA may not have been available.

Great, thank you for the confirmation and for your time. It's a great piece of software.


Add cloudflared to 'Projects using quic-go' in the README

Not a bug but Cloudflare's cloudflared is using quic-go. You might want to add it to Projects using quic-go

Great. Can you open a PR?

https://github.com/lucas-clemente/quic-go/pull/3315/commits

Hello,
The PR is already merged. @user8446 I think you have forgotten to close this issue.
Cheers for your contribution 🚀

Hi, thanks for the reminder


Use a single key to sign all jars

Description:
Confirm whether it uses a single key since users are getting multiple confirmations for different keys when installing the composite p2

Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

Fixed


Parsing top of inning twice

It looks like, when parsing through game events, the events recorded in the bottom of the inning are repeated for the top.

I know that mlbam recently updated their api, so it could affect the formatting.

@Mslaster If MLB has recently updated their api, that is probably the issue. I will look into it. I would be happy to accept a pull request with the bug fix if you are interested in contributing.

It looks like the raw file is still the same...not totally sure what the issue might be.
I know that MLBAM totally redid their api, with many more things over here : https://statsapi.mlb.com/docs/, but looks like the structure is totally different.

I believe that this issue was fixed somewhere along the line so I am closing this issue.


Missing file(s) depending on download method for ta, abrupt-4xCO2

Describe the bug
Several 'ta' files are bad/empty for abrupt-4xCO2 simulation
Desktop (please complete the following information):

OS: Mac OSX

Browser and Version: Google Chrome Version 129.0.6668.90

To Reproduce

Expected behavior
Files download and contain data
Screenshots
example ncdump error:
>> ncdump -h ta_Amon_MPI-ESM-1-2-HAM_abrupt-4xCO2_r1i1p1f1_gn_195001-196912.nc
ncdump: ta_Amon_MPI-ESM-1-2-HAM_abrupt-4xCO2_r1i1p1f1_gn_195001-196912.nc: NetCDF: Unknown file format

Please contact<EMAIL_ADDRESS>for data support.


Docs Broken for GridList (website)

The documentation at the bottom seems to lose it's formatting.
I am on Chrome latest stable
http://www.material-ui.com/#/components/grid-list

Dupe of #6612. Thanks @mattlockyer.


Installation error with latest spack

==> Installing mxm-3.6.3104-tddpbewqvkjglnydag44jh6s7b7orzms
==> No binary for mxm-3.6.3104-tddpbewqvkjglnydag44jh6s7b7orzms found: installing from source
==> No patches needed for mxm
==> mxm: Executing phase: 'install'
==> Error: InstallError: mxm is not installable, you need to specify it as an external package in packages.yaml

/home/yhao24/opt/gvprof_nov7/spack/var/spack/repos/builtin/packages/mxm/package.py:30, in install:
         29    def install(self, spec, prefix):
  >>     30        raise InstallError(
         31            self.spec.format(
         32                "{name} is not installable, you need to specify "
         33                "it as an external package in packages.yaml"

See build log for details:
  /tmp/yhao24/spack-stage/spack-stage-mxm-3.6.3104-tddpbewqvkjglnydag44jh6s7b7orzms/spack-build-out.txt

==> Warning: Skipping build of openmpi-4.1.4-r2dz4oekb6piettcebzfz5lxbmaxdgjk since mxm-3.6.3104-tddpbewqvkjglnydag44jh6s7b7orzms failed
==> Warning: Skipping build of boost-1.80.0-skyztn6i6bfwclmhqxmmrkusswxbixqr since openmpi-4.1.4-r2dz4oekb6piettcebzfz5lxbmaxdgjk failed
==> Warning: Skipping build of dyninst-master-gwhlcipxktc2st5y6elgj7nun5rfa4u3 since boost-1.80.0-skyztn6i6bfwclmhqxmmrkusswxbixqr failed

Somehow the latest hpctoolkit dependencies in spack packages cause this issue.  As a workaround, you can change the following line to
spack install --only dependencies<EMAIL_ADDRESS>^dyninst@master <EMAIL_ADDRESS>
https://github.com/GVProf/GVProf/blob/master/bin/install#L53

fixed  by https://github.com/GVProf/GVProf/commit/0ae1205a6baf2f04434ba9bf087d43ebc8da8277


Screenshots would be helpful (and more)

This article would profit from screenshots. User could compare his screen to what the configuration should look like.
It is strange that inputs are duplicated as a bullet point.
The instruction does not cover if the objects are created as a parent-child hierarchy or all as root objects. Starting from the second "click add", the system asks me if I want to create a root object or a CHILD to the previously selected object.

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

ID: d76f0af3-e987-1800-eed4-b813db42fb5e
Version Independent ID: c4af31bf-8cb5-4619-d9ff-650182eaf39b
Content: ER Design domain specific data model - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/analytics/tasks/er-design-domain-specific-data-model-2016-11.md
Service: dynamics-ax-applications
GitHub Login: @NickSelin
Microsoft Alias: nselin

@SST1982, thanks for providing this feedback!
@NickSelin, please review and update the topic accordingly.

@SST1982  Thanks for logging this issue. Topics like this one were automatically generated from a task guide. If your help system parameters are set up so you have access to the most recent Microsoft APQC Business Process Modeler Library, you should have access to the task guide that that this topic was created from. Task guides walk you through procedures in the user interface. See this topic about task guides for more information. If you play the task guide, this should clear up the immediate questions you have.
We've started updating some of the task guide topics for readability, so this issue is related to an existing project that is under way. Because this is issue is related to planned work, I'm closing this issue.


Proposal: Baseline Testing System

#620 has worked out very well so far - it's made tests much more intuitive and easier to read and write. However, the current setup still has a few flaws. The biggest area of concern is test duplication. Because you mark in where lint failures should be in the test file, each test file can only work properly with one configuration. If you want to test the linter on the same code with multiple different configurations, you must duplicate the test file and change the error markup, which can be tedious.
I propose adapting the current system to use a baseline system similar to how TypeScript tests things. In short, test files would be plain .ts/.tsx files. Running the test command would generate test results for all test files and compare them to the baselines. (These files would use the same error markup syntax that is currently in use.) Any difference would cause the build to fail. The developer would then compare the test results with the baselines and accept the results as the new baselines if they are correct.
Pros

Less test file duplication
Don't have to write out error markup by hand
Can test different configurations easier
Test files are actual .ts/.tsx files, so your editor will be happier with them

Cons

Writing out error markup explicitly is a good exercise in ensuring that your rules produce the results you want
Would have to rethink how the --test command works which lets users test their custom rules. (On the other hand, the --test command may be able to remain unchanged, it would just use a slightly different paradigm than our tests.)
Possibly less intuitive than current sytem

There are still a few details to flesh out with this idea, such as how to specify multiple configurations for a test file, directory structure, etc.

Looking at https://github.com/palantir/tslint/pull/1546, I began to think that this change is becoming more and more useful. @alexeagle / @ScottSWu you've both had PRs lately that have had to change lots of test code. Do you think adjusting the current system to make it more like TS's system would be useful?

Given #4534 this seems less relevant now. Ah well!


Can we add timestamp for your reporting, so that every time it will be new report

@automation-coe-git good one; will add in the next iteration :)

@automation-coe-git The current implementation is built in a way to have archives of the previous reports. And I agree that the archives is very light-weight and high-level. I will make improvements in it rather than generating new reports with timestamp.


Catch MQTT payload encoding errros

Description:
When MQTT payloads are received by the MQTT component that are not utf-8 uincode, the component throws an exception and terminates.  Hass still runs, but is unable to do anything over MQTT protocol.
This change added an exception handler to this situation and generates a logfile error message with details. It then does not post anything to the mqtt event bus.
Related issue (if applicable):
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#
Example entry for configuration.yaml (if applicable):
Checklist:

Can you add a test for this.

I took a look a the tests/components/mqtt directory.  While I'm somewhat proficient at python script hacking, I'm not particularly sure how to write a test for this. I can see how to publish to the test-topic, but I don't know what the right self.assertTrue/assertFalse/assertEqual "test" would be.
Am I in the right ballpark with something like this?
def test_publish_calls_service(self):
  """Test the mqtt component still lives after a non utf-8 payload received."""
  mqtt.publish(self.hass, 'test-topic', 0x9a)
  self.assertTrue(mqtt.MQTT_CLIENT.progress)

Sorry I'm not more versed in test case writing.

Try something like this:
    def test_receiving_non_utf8_message_gets_logged(self, caplog):
        calls = []

        def record(event):
            """Helper to record calls."""
            calls.append(event)

        self.hass.bus.listen_once(mqtt.EVENT_MQTT_MESSAGE_RECEIVED, record)

        MQTTMessage = namedtuple('MQTTMessage', ['topic', 'qos', 'payload'])
        message = MQTTMessage('test_topic', 1, 0x9a)

        mqtt.MQTT_CLIENT._mqtt_on_message(None, {'hass': self.hass}, message)
        self.hass.block_till_done()

        assert len(calls) == 0
        record = caplog.records[-1]
        assert record.levelname == 'ERROR'
        assert record.msg == 'Illegal utf-8 unicode payload from MQTT topic test_topic.'

This PR seems to have gone stale. Closing it. You can reopen it when you're ready to finish it. (and you'll have to clean up the branch too)


Clean up and simplify project.

Doing a big cleanup and simplification parse.

[x] tools

[x] webpack
[x] scripts
[x] development server

[x] configuration (env vars, etc)
[x] src
[x] documentation

On next


Serial no longer works with stm32duino update

My PC wasn't recognizing the device as being connected when trying Serial after the most recent stm32duino update.

 Fix daisyduino Serial

Nvm, neglected to set Tools>USB to CDC(Generic 'Serial'...).


Separate nested classes inside line.

Don't know how but now two different classes inside line joined each other and confuses customer.
Look at StandartTypesOverview.cs for examples.

Done with 6a4b415faf89cef887257754d051563970877901


bug: When k8s service is deleted, the APISIX Upstream nodes field is not cleared

Issue description
When k8s service is deleted, the APISIX Upstream nodes field is not cleared
Environment

your apisix-ingress-controller version: v1.2
your Kubernetes cluster version: v1.16

Minimal test code / Steps to reproduce the issue

delete k8s service.
query APISIX upstream  nodes field

What's the actual result? (including assertion message & call stack if applicable)
remaining history of upstream node
What's the expected result?
upstream nodes cleared

This is a known behavior, see https://github.com/apache/apisix-ingress-controller/blob/1e1be7401ba3707ba660a7d61df5118fc5725eff/pkg/ingress/controller.go#L529.
From the proxy point of view, the result is similar, requests will be failed no matter whether we clean the nodes.
Of course, we do need make some reactions for the Services/Endpoints delete events, PR's welcome to optimize it.

This is a known behavior, see
https://github.com/apache/apisix-ingress-controller/blob/1e1be7401ba3707ba660a7d61df5118fc5725eff/pkg/ingress/controller.go#L529
.
From the proxy point of view, the result is similar, requests will be failed no matter whether we clean the nodes.
Of course, we do need to make some reactions for the Services/Endpoints delete events, PR's welcome to optimize it.

There will be problems in special scenarios: the node ip is allocated by other containers.

This is a known behavior, see
https://github.com/apache/apisix-ingress-controller/blob/1e1be7401ba3707ba660a7d61df5118fc5725eff/pkg/ingress/controller.go#L529
.
From the proxy point of view, the result is similar, requests will be failed no matter whether we clean the nodes.
Of course, we do need to make some reactions for the Services/Endpoints delete events, PR's welcome to optimize it.

There will be problems in special scenarios: the node ip is allocated by other containers.

Fair enough, PR's welcome to fix this.

Thanks for your feedback, it is not difficult to fix it, welcome to submit a PR

I hope this can have an overall solution and then coding.
Upstream management in the ingress controller has become more complicated, it will be affected in many ways，for example, the resources of  k8s svc , ApisixUpstream and ApisixRoute ，There are subset-related configurations in ApisixRoute and ApisixUpstream.

I hope this can have an overall solution and then coding.
Upstream management in the ingress controller has become more complicated, it will be affected in many ways，for example, the resources of k8s svc , ApisixUpstream and ApisixRoute ，There are subset-related configurations in ApisixRoute and ApisixUpstream.

It doesn't affect ApisixRoute, but it will affect multiple Upstream objects in APISIX due to subset mechanics.

I'm trying to solve this problem, I have two implementation schemes, which need to be confirmed:

Add cache (go-memdb) to controller and maintain a  upstream_ services {servicename -- > []upstream_id}. The upstreamController is responsible for write, When [] is 0, this record is killed. The endpoint is responsible for reading and updating the node field of apifix when the services are updated.
This status info is maintained by endpoint or upstreamController. Mutual communication and high coupling are required.

I prefer the first, any better proposal?

@AlinsRan thanks.
Currently we use the following methods to generate the upstream name.
https://github.com/apache/apisix-ingress-controller/blob/49dd015085a68ce4c26ba60076ef281ed71af2aa/pkg/types/apisix/v1/types.go#L425-L450
Then generate its ID.
https://github.com/apache/apisix-ingress-controller/blob/49dd015085a68ce4c26ba60076ef281ed71af2aa/pkg/id/idgen.go#L25-L39
Maintaining the mapping relationship between Service and Upstream, I think it is a better choice.

@AlinsRan thanks.
Currently we use the following methods to generate the upstream name.
https://github.com/apache/apisix-ingress-controller/blob/49dd015085a68ce4c26ba60076ef281ed71af2aa/pkg/types/apisix/v1/types.go#L425-L450
Then generate its ID.
https://github.com/apache/apisix-ingress-controller/blob/49dd015085a68ce4c26ba60076ef281ed71af2aa/pkg/id/idgen.go#L25-L39
Maintaining the mapping relationship between Service and Upstream, I think it is a better choice.
Here we need to clear the node field of Upstream in APISIX after discovering that the service has been deleted

I understand, After the SVC is deleted, it should also be written to apisix when it is created.
The question is how to maintain this relationship.

#1064  has been merged. I will close this one. thanks


can we use this to schedule meetings?

Hi
Can this library useful to get non overlapping meeting timings if we give busy slots and free slots of the person?
i.e i have group of people their event list from google calendar and their all slots. on give time period. can use this data to get all possible free slots

It might be a bit tricky as in meetings the whole point is to ensure there is overlap (as opposed to the conference scheduler). If you're just aiming to find free slots, using python sets and looking at intersections might be what you need.


Angular 8 : Change detection

Describe the bug
Change detection is not running onIdleEnd.
To Reproduce
    idle.onIdleEnd.subscribe(() => {
      this.counter = 30;
      this.isIdle = false;
      this.status = 'Welcome back';
      this.reset();
    });

    idle.onTimeout.subscribe(() => {
      this.status = 'Signing out';
    });

    idle.onTimeoutWarning.subscribe(() => {
      this.isIdle = true;
      this.status = 'Signing out123';
      console.log('PREPARING TO SIGN OUT!!!   timer: ', this.counter--);
    });

Change detection runs for onTimeoutWarning, and onTimeout, but not on onIdleEnd. The DOM does not update with the new status variable.
Expected behavior
Change detection should run and the DOM should update when I change variables inside onIdleEnd.
Please tell us about your environment
Desktop:
Browser: Chrome, IE, Edge

Version: Latest
Angular version: 8.2.14
NodeJS version:  11
Language (TypeScript x.x, ES5, ES2015, etc.): Typescript 3.5.3

Additional context
I looked at the code, my thoughts are it may have something to do with zone.run()

I've found this bug as well, any plan to patch and fix it?

Me too. @JessFarmerVA, did you find any good workaround?
One ugly workaround I found is to use setInterval to force change detection to occur:
E.g. by putting setInterval(() => {}, 1000) in the constructor of your root component.
But doing this of course causes the change detection to run many times unnecessarily, and could hamper overall performance depending on what intervall value you use.

@Adelost
I ended up not using onIdleEnd and only used onTimeoutWarning and onTimeout... I managed to get my desired functionality with just those two..
However, I do remember finding a solution that involved importing something that could force change detection, not using setInterval. I believe it was tick() or something. I remember there was a few different way to force change Detection, and the one that worked was kind of ugly looking. Unfortunately I do not remember what it was though, sorry.


Add daemon for binary runtime to try to restart

What would you like to be added?
TODO
Why is this needed?
Components does not restart automatically when it exits abnormally, and its behavior is not consistent with other runtimes

/assign

/reopen
/remove-lifecycle rotten


Clickable Links in SVG converted to PDF don't work

Which version of PhantomJS are you using? Tip: run phantomjs --version.
2.1.1
What steps will reproduce the problem?
Use the example rasterize.js to convert a webpage with an svg containing an anchor
Which operating system are you using?
Windows
Did you use binary PhantomJS or did you compile it from source?
Binary
Please provide any additional information below.
If I use Chrome 51 to print to PDF the document has clickable links (even if the source was SVG)

This is similar to, but not the same as https://github.com/ariya/phantomjs/issues/10196

We see this issue as well using PhantomJS 2.1.7. Links like this:
<text x="17" y="663" class="st1 st10 link">https://goo.gl/D7xRVk</text>
inside SVG rendered to PDF are not clickable. Using jsPDF in browser works.


Update Add-PnPSiteCollectionAdmin.md

Removed alias in example #3. Added bit about needing to be a site admin to run this command and added hint to use the tenant command if you're not.
Before creating a pull request, make sure that you have read the contribution file located at
https://github.com/pnp/powerShell/blob/dev/CONTRIBUTING.md
Type

[ ] Bug Fix
[ ] New Feature
[X] Sample

What is in this Pull Request ?
Fixed the documentation. Added explanation about needing to be a site admin to run this. Added hint about using the Tenant cmdlet if you're not.

Thank you! Good addition indeed.

Thank you! Good addition indeed.

Thank you! Good addition indeed.

I try to give the people what they want. :)

Thank you! Good addition indeed.

I try to give the people what they want. :)


ide 安装k210 sdk 失败 切换安装源没用

Firstly, if you are in mainland of China, please make sure your installation source is gitee, because sometimes github doesn't work. Secondly, update your rt-studio IDE to keep it is the latest revision. Thirdly, try to click the download button more times, somtimes it works. Good luck~

Any other question, feel free to ask me

长久没有活动，先关闭了。


Download PDF not up to date

Clicking the "Download PDF" in the left side downloads a document that begins with "What's new in Windows 10 for developers, build 17763" instead of the new build 18362. Request that you update soon as many developers depend on the pdf to lookup whats new without having to access the internet.

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

ID: 5ade8bd6-7a05-1a6a-ea2f-b77798d4607d
Version Independent ID: 6a2c0366-7b16-0bf2-f809-6521c3936886
Content: What's New in Windows 10 for Developers - Windows UWP applications
Content Source: windows-apps-src/whats-new/windows-10-build-18362.md
Product: uwp
Technology: whats-new
GitHub Login: @QuinnRadich
Microsoft Alias: quradic

@dend this might be a general docs issue rather than UWP docs specific? Seems like cached output?

Agreed with the previous comment. This is a cached output issue that we don't have direct control over. I've raised this issue to the docs engineering team, but for the time being I'm going to close this issue as it's sadly out of our hands.
Thank you.


Separate files into their various parts

This is really important since the current code is in one TS file.
One-file code makes the entire repository look messy, so that should be fixed immediately.
Also, add support to use TS files in script tags.

Resolved in version 0.0.2


iris.quickplot fails due to missing cftime attribute

Hey guys, here's an example minimal code:
import iris
import iris.quickplot
import matplotlib.pyplot as plt

cube = iris.load_cube("/home/users/valeriu/esmvaltool_var_test/esmvaltool_output/recipe_python_20211001_115743/work/timeseries/script1/tas_amsterdam_CMIP6_BCC-ESM1_Amon_historical_r1i1p1f1_tas_1850-2000.nc")

plot_function = getattr(iris.quickplot, "plot")
fig = plt.figure()
plot_function(cube)

this fails with the following trace:
(esmvaltool-stock-latest) [valeriu@sci2 esmvaltool_var_test]$ python test_qp.py
Traceback (most recent call last):
  File "/home/users/valeriu/esmvaltool_var_test/test_qp.py", line 10, in <module>
    plot_function(cube)
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/iris/quickplot.py", line 294, in plot
    result = iplt.plot(*args, **kwargs)
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/iris/plot.py", line 1564, in plot
    return _draw_1d_from_points("plot", _plot_args, *args, **kwargs)
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/iris/plot.py", line 817, in _draw_1d_from_points
    result = draw_method(u, v, *args, **kwargs)
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/matplotlib/pyplot.py", line 2840, in plot
    return gca().plot(
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/matplotlib/axes/_axes.py", line 1743, in plot
    lines = [*self._get_lines(*args, data=data, **kwargs)]
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/matplotlib/axes/_base.py", line 273, in __call__
    yield from self._plot_args(this, kwargs)
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/matplotlib/axes/_base.py", line 394, in _plot_args
    self.axes.xaxis.update_units(x)
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/matplotlib/axis.py", line 1468, in update_units
    self.set_units(default)
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/matplotlib/axis.py", line 1540, in set_units
    self._update_axisinfo()
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/matplotlib/axis.py", line 1507, in _update_axisinfo
    self.set_default_intervals()
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/matplotlib/axis.py", line 2236, in set_default_intervals
    xmin = self.converter.convert(valmin, self.units, self)
  File "/home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest/lib/python3.9/site-packages/nc_time_axis/__init__.py", line 288, in convert
    ut = cftime.utime(cls.standard_unit, calendar=first_value.calendar)
AttributeError: module 'cftime' has no attribute 'utime'

I have the following usual suspects in my environment:
(esmvaltool-stock-latest) [valeriu@sci2 esmvaltool_var_test]$ conda list iris
# packages in environment at /home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest:
#
# Name                    Version                   Build  Channel
iris                      3.1.0            py39hf3d152e_1    conda-forge
(esmvaltool-stock-latest) [valeriu@sci2 esmvaltool_var_test]$ conda list cftime
# packages in environment at /home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest:
#
# Name                    Version                   Build  Channel
cftime                    1.5.1            py39hce5d2b2_0    conda-forge
(esmvaltool-stock-latest) [valeriu@sci2 esmvaltool_var_test]$ conda list matplotlib
# packages in environment at /home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest:
#
# Name                    Version                   Build  Channel
matplotlib                3.3.4            py39hf3d152e_0    conda-forge
matplotlib-base           3.3.4            py39h2fa2bec_0    conda-forge

Cheers muchly, let me know if you need any more details on this, and have a good weekend :grinning: :beer:

Hi @valeriupredoi it looks like the offending call is in nc-time-axis.  What version of that are you using?

shoot! I totally missed the key offending dep, I got this:
(esmvaltool-stock-latest) [valeriu@sci2 esmvaltool_var_test]$ conda list nc-time-axis
# packages in environment at /home/users/valeriu/miniconda3-June2021/envs/esmvaltool-stock-latest:
#
# Name                    Version                   Build  Channel
nc-time-axis              1.2.0              pyhd8ed1ab_2    conda-forge

OK, I think if you upgrade nc-time-axis to latest 1.3.1, you should be fine 👍

I just did and all works fine :+1: - you guys want to put a pin in your conda file so others don't run into this? The env is lax enough to allow nc-time-axis 1.2.0

@rcomer I have removed a pin on nc-time-axis that we have introduced in the past due to a bug of the latest (1.3.1) with matplotlib 3.4+ (see https://github.com/ESMValGroup/ESMValTool/pull/2327) - if you guys want to pin the dep in your iris conda spec file that's up to you, but from my point the issue is solved (by you, many thanks for spotting the offending dep, I might have to invest in a pair of glasses :eyeglasses: :grin: )

nc-time-axis is now pinned by #4356 👍


BuildLogger does not correctly implement TransformLogger

TransformLogger.warning, for example, expects the first argument to be a String.
BuildLogger by contrast, expects it to be a Message:
class BuildLogger implements TransformLogger {
  // ...

  /// Records a warning message. If [msg] is a [Message] it is recorded
  /// directly, otherwise it is first converted to a [String].
  void warning(msg, {AssetId asset, SourceSpan span}) {
    msg = msg is Message ? msg : new Message.unknown('$msg');
    _transform.logger.warning(_snippet(msg), asset: asset, span: span);
    _logs.add(new BuildLogEntry(msg, span, LogLevel.WARNING.name));
  }

In strong mode, it infers "msg" as String.
It is possible to make this sound by typing "msg" as "Object msg". That's probably the short term fix for strong mode.
In the longer term, this seems like a non-ideal API design.

I hit this in the observe package, it tries to pass objects to the "msg" field, but it gets an error because they are not strings.

Note that the assignment msg = msg is Message ? msg : new Message.unknown('$msg'); is also an error in strong mode

fix: https://codereview.chromium.org/1830403002/

fixed in https://github.com/dart-lang/code_transformers/commit/cde6c50501ba4a8d2291e6e852ab1d2c907c2e85


Fixes proxy handling

Ignore proxy when its connection information (host and port) are empty or null.
Close #2088

I don't know from whcih branch (3.1.X or main) I should have started my job...

Can you submit it again the 3.1.x branch?

@ryanjbaxter sure. It's done.


Edited & Moved some tools

Removed duplicate "Visual Studio Code" entries,
added "FTP Clients" category,
changed some descriptions to fit better

Nice :)


limit - enable opt in to show total numbers

⚠ Please check that this feature request hasn't been suggested before.

[X] I searched previous Ideas in Discussions didn't find any similar feature requests.
[X] I searched previous Issues didn't find any similar feature requests.
[X] I am only requesting a single feature. Multiple changes should be split into individual requests, with links between them.
[X] I believe my requested feature will be generally applicable to other users, not just me: it is not uniquely tied to my personal workflow.

🔖 Feature description
you should add a display to limit that allow to view the total task when limit crops it
when i do something like
``tasks
not done
due before today
limit 5
``

and for example i have 22 overdue tasks - the display show 5 tasks
✔ Solution
instead of just seeing the number of tasks,
i'd like to see 5/22 tasks
❓ Alternatives
instead of doing this by default ,
the display could also jut indicate First 5 tasks (total unknown)
and then a opt in like limit 5 with stats could enable the more expensive full counting
📝 Additional Context
...

screenshot that shows it better

Hi, thanks for the suggestion.
I thought I understand it until I saw the screenshot and now I don't. Please could you explain what the screenshot is showing?

@claremacrae a single page defining a number of tasks and 2 task queries for listing tasks using limits
with limit 4 one gets the first 4 tasks but no indication there are more, with limit 12 one gets all tasks

Right, that's how the limit command works...

Ohhh... I thought you were saying that the screenshot showed the solution you had in mind...
I realise now that you thought I needed an explanation of the problem itself - it's OK, I understood the problem you are wanting to solve.

I have an initial implementation of this... Here, the limit is exceeded:

If the limit is not exceeded, it shows just the number of tasks, as before:

I think this is an improvement on the previous display, and I'm inclined to just enable it automatically.
To make it optional, test the instruction to make it optional, and then document the instruction to make it optional would be considerably more work.

Absolutely lovely,I'm happy with just that

This is now released. In Tasks 4.8.0.


maud html macro as a replacement?

Hi! There is great library https://github.com/lfairy/maud it already provide some useful html macro which allows to write html compact code. It also supports match, if, let, for inside.
html! {
    h1 "Hello, world!"
    p.intro {
        "This is an example of the " "Maud"
    }
}

Would it be hard to use it as a replacement for yew html implementation?

html_maud! :)
html_maud! {
    h1 "Hello, world!"
    p.intro {
        "This is an example of the " "Maud"
    }
}

Thumbs up because I'd like anything other than JSX, though I'm not in favor of any one specific alternative.

Quasar Framework allows the developer picking the favorite templating engine: https://anowell.github.io/quasar/

I would love to see alternative html markup approaches for yew! Since yew's virtual dom module is public, anyone is free to write a crate which provides a different syntax. I think it would be best if it would start as a separate repo and then we could find a way to give users a choice in their preferred syntax. I'm going to close this (and other issues about syntax) and we can revisit when actual progress is made by the community.

Given Yew's link to Elm I think something like maud would be very fitting.


Script-only variables (e.g. don't emit to parameters or variables)

Presently, all variables and parameters defined match the use of the same in ARM templates. Especially with the introduction of for..in loops, I'd like to see a variable introduced that is intended only to be used as part of the Bicep compilation. If it is ever emitted in an output, ideally it would be calculated out and written as an evaluated string, and only use format[] if it's formed with a variable or parameter.
Its optimal purpose would be to shorten the length of the Bicep files by allowing me to reuse large blocks of properties in resources.
To take this a step further, I'd actually really like seeing two keywords introduced as part of these variables. To take a leaf from TypeScript, I'd suggest calling them const and let.
const would be used to define an immutable value. Once set, its value cannot be modified. let would be used to define a mutable value (and most often would likely be used within loops as discussed here
Example 1
Let's just take NSG rules. My solution uses for VM scale sets, so I've got to create four slightly different versions of each of the subnets, NICs, storage accounts, NSGs and VM scale sets themselves. I could loop through that with something like what is described here, but it'd be far useful to have a scoped variable that existed within the loop that I could build off of (but wouldn't need to actually persist in the produced output).
Let me  put together an example. Today, I've got something like this:
resource nsgBackend 'Microsoft.Network/networkSecurityGroups@2020-05-01' = {
    name: nsgBackendName
    location: location
    properties: {
        securityRules: [
            {
                name: 'allowAppPortHttp'
                properties: {
                    access: 'Allow'
                    description: 'Allow application traffic via HTTP'
                    destinationAddressPrefix: '*'
                    destinationPortRange: '80'
                    direction: 'Inbound'
                    priority: 500
                    protocol: '*'
                    sourceAddressPrefix: 'VirtualNetwork'
                    sourcePortRange: '*'
                }
            }
       ]

Now I've got 20 or so rules for each of these, but I'll omit them for brevity. Given that there's a base of them I need across each of the NSGs, it'd be great if I could drop them all into a single variable to do something like this:
const rules = [
         {
            name: 'allowAppPortHttp'
            properties: {
                access: 'Allow'
                description: 'Allow application traffic via HTTP'
                destinationAddressPrefix: '*'
                destinationPortRange: '80'
                direction: 'Inbound'
                priority: 500
                protocol: '*'
                sourceAddressPrefix: 'VirtualNetwork'
                sourcePortRange: '*'
              }
         }
]

Now I could loop through the original example and just reference the rules array instead of repeating it on every NSG instance.
resource nsgBackend 'Microsoft.Network/networkSecurityGroups@2020-05-01' = {
    name: nsgBackendName
    location: location
    properties: {
        securityRules: rules + //Noted below
           [
                {
                    name: 'allowAppPortHttps'
                    properties: {
                       //...
                    }
                }
           ]

Note though that I would appreciate there being some way for me to explicitly indicate that I want the array used there, but that I also want to append another array to it. Ideally, it would be clever enough as well so that if rules was not itself an array, it would prepend the rules value to the array I'm defining in the example immediately above.
Most importantly though, I'd ideally like to just see the rules themselves rendered as clearly as possible to the produced ARM template, ideally showing me something like the following instead since no parameter or ARM variables were used in the construction of the variable (thus leaving the parameter and variables of the resulting ARM template free of values that are really only used in the Bicep authorship.
{
      "type": "Microsoft.Network/networkSecurityGroups",
      "apiVersion": "2020-05-01",
      "name": "[variables('nsgBackendName')]",
      "location": "[parameters('location')]",
      "properties": {
        "securityRules": [
          {
            "name": "allowAppPortHttp",
            "properties": {
              "access": "Allow",
              "description": "Allow application traffic via HTTP",
              "destinationAddressPrefix": "*",
              "destinationPortRange": "80",
              "direction": "Inbound",
              "priority": 500,
              "protocol": "*",
              "sourceAddressPrefix": "VirtualNetwork",
              "sourcePortRange": "*"
            }
          },
          {
            "name": "allowAppPortHttps",
            "properties": {
              "access": "Allow",
              "description": "Allow application traffic via HTTPS",
              "destinationAddressPrefix": "*",
              "destinationPortRange": "443",
              "direction": "Inbound",
              "priority": 510,
              "protocol": "*",
              "sourceAddresssPrefix": "VirtualNetwork",
              "sourcePortRange": "*"
            }
          }
       ]
     }
  }

Example 2
Briefly using the syntax proposal for loops, I'd like then to be able to write the following with Bicep:
var nsgPrefix = 'nsg-'
const nsgNames = [
  'backend'
  'web'
  'management'
]

const rules = [
         {
            name: 'allowAppPortHttp'
            properties: {
                access: 'Allow'
                description: 'Allow application traffic via HTTP'
                destinationAddressPrefix: '*'
                destinationPortRange: '80'
                direction: 'Inbound'
                priority: 500
                protocol: '*'
                sourceAddressPrefix: 'VirtualNetwork'
                sourcePortRange: '*'
              }
         }
]

for (let name in nsgNames) {
  resource 'nsg${name}' 'Microsoft.Network/networkSecurityGroups@2020-05-01' = {  //Note the use of the string interpolation for the resource name. Addressed below.
    name: '${nsgPrefix}${name}'
    location: location
    properties: {
        securityRules: rules +
           [
                {
                    name: 'allowAppPortHttps'
                    properties: {
                       access: 'Allow'
                      description: 'Allow application traffic via HTTPS'
                      destinationAddressPrefix: '*'
                      destinationPortRange: '443'
                      direction: 'Inbound'
                      priority: 510
                      protocol: '*'
                      sourceAddresssPrefix: 'VirtualNetwork'
                      sourcePortRange: '*'
                    }
                }
           ]
     }
}

Don't know how the loop syntax intends to deal with a resource name, so just calling it out here at the top. Coupled with my suggestion here, the resource name itself may not be necessary within the loop.
And from here in only 48 lines, we'd have created three separate NSG resources spanning 114 lines each with at least two rules. Importantly, it also means that there's three variables we never had to emit to the produced ARM variables since it would just concatenate in-line instead.
    {
      "type": "Microsoft.Network/networkSecurityGroups",
      "apiVersion": "2020-05-01",
      "name": "[format('{0}backend'), variables('nsgPrefix')]",
      "location": "[parameters('location')]",
      "properties": {
        "securityRules": [
          {
            "name": "allowAppPortHttp",
            "properties": {
              "access": "Allow",
              "description": "Allow application traffic via HTTP",
              "destinationAddressPrefix": "*",
              "destinationPortRange": "80",
              "direction": "Inbound",
              "priority": 500,
              "protocol": "*",
              "sourceAddressPrefix": "VirtualNetwork",
              "sourcePortRange": "*"
            }
          },
          {
            "name": "allowAppPortHttps",
            "properties": {
              "access": "Allow",
              "description": "Allow application traffic via HTTPS",
              "destinationAddressPrefix": "*",
              "destinationPortRange": "443",
              "direction": "Inbound",
              "priority": 510,
              "protocol": "*",
              "sourceAddresssPrefix": "VirtualNetwork",
              "sourcePortRange": "*"
            }
          }
       ]
   }
},
    {
      "type": "Microsoft.Network/networkSecurityGroups",
      "apiVersion": "2020-05-01",
      "name": "[format('{0}web'), variables('nsgPrefix')]",
      "location": "[parameters('location')]",
      "properties": {
        "securityRules": [
          {
            "name": "allowAppPortHttp",
            "properties": {
              "access": "Allow",
              "description": "Allow application traffic via HTTP",
              "destinationAddressPrefix": "*",
              "destinationPortRange": "80",
              "direction": "Inbound",
              "priority": 500,
              "protocol": "*",
              "sourceAddressPrefix": "VirtualNetwork",
              "sourcePortRange": "*"
            }
          },
          {
            "name": "allowAppPortHttps",
            "properties": {
              "access": "Allow",
              "description": "Allow application traffic via HTTPS",
              "destinationAddressPrefix": "*",
              "destinationPortRange": "443",
              "direction": "Inbound",
              "priority": 510,
              "protocol": "*",
              "sourceAddresssPrefix": "VirtualNetwork",
              "sourcePortRange": "*"
            }
          }
       ]
   }
},
    {
      "type": "Microsoft.Network/networkSecurityGroups",
      "apiVersion": "2020-05-01",
      "name": "[format('{0}management'), variables('nsgPrefix')]",
      "location": "[parameters('location')]",
      "properties": {
        "securityRules": [
          {
            "name": "allowAppPortHttp",
            "properties": {
              "access": "Allow",
              "description": "Allow application traffic via HTTP",
              "destinationAddressPrefix": "*",
              "destinationPortRange": "80",
              "direction": "Inbound",
              "priority": 500,
              "protocol": "*",
              "sourceAddressPrefix": "VirtualNetwork",
              "sourcePortRange": "*"
            }
          },
          {
            "name": "allowAppPortHttps",
            "properties": {
              "access": "Allow",
              "description": "Allow application traffic via HTTPS",
              "destinationAddressPrefix": "*",
              "destinationPortRange": "443",
              "direction": "Inbound",
              "priority": 510,
              "protocol": "*",
              "sourceAddresssPrefix": "VirtualNetwork",
              "sourcePortRange": "*"
            }
          }
       ]
   }
}

I have one uber-question, and some specific points on each example below.
Why does it matter what params/vars (or anything else) get output to the ARM JSON? What problem is solved by simplifying the ARM Template if you don't plan to/hope not to look at it?
On example 1:

why doesn't var work? vars are immutable, so they should work in exactly the way you've described const with the exception of what gets emitted to the ARM JSON
the array addition you outlined is something we could implement, but that seems separate from this issue. It's a limitation of our add() expression because it only supports adding ints. In theory we could expand this to support arrays (or strings for that matter) Feel free to create a separate one for this. You also can use the union() function today, though this is not as clean as a simple + operator:

var a1 = [
  '1'
  '2'
]

var a2 = union(a1, [
  '3'
  '4'
])
output a2output array = a2

Example 2 should be entirely possible with vars once we have implemented loops. The looping syntax you have is different than the current proposal, but leaving that aside they look functionally the same to me, so maybe I am missing something. I will add a revisit tag to make sure this example ends up working as expected.

@alex-frankel
My apologies - I could have sworn I typed up a response here, but I must have closed the tab by accident.
Uber-answer
The original concern was answered in the other ticket about the approach being taken. If Bicep was only supposed to be used to generate a starting point for an ARM template, I'd be concerned about all the "noise" in the various variables in the output file. But if the ARM template is only an intermediate artifact used for the actual deployments, this is far more of a non-issue.
That said, I'd be curious how many intermediate variables wind up needing to be used given the less pressing concern about the cap of 256 variables being used. I've never written a template that used more than 60 variables, but I've also never used many of the more advanced functions and had much of a need for intermediate variables.
Example 1
Why doesn't var work?
I didn't realize vars are immutable. I'd never tried writing back to them, but that notion hadn't yet occurred to me. Yes, in that case, there's no need for an alias that does the same. I've got to say, I'm learning a lot more about how ARM works in general just learning to use Bicep and looking at the output.
Array addition
So noted on using union(). I'll create another ticket for that, since it may be some syntactic low hanging fruit down the road.
Example 2
More intended as an example to demonstrate the utility of the variable for my scenario where a loop applies. I also had not realized that I can already store arrays in variables, so I've since already incorporated most of this in my existing Bicep file.
But I think it's worth just closing this ticket at this point as the approach you're taking is otherwise clearer. Thank you!


Error in library.json

https://github.com/Pharap/FixedPointsArduino/blob/393acd2f49f66bfbb2a1b70def0258b5e3ce0b5d/library.json#L15
There shouldn't be a comma after "tests"

Since you don't have a file or directory named tests in the repository, as it stands you don't need an exclude keyword.

To clarify, the 'library.json' file is not needed for the Arduino IDE and is in fact only required for PlatformIO support?

Correct. Only library.properties is needed for the Arduino IDE Library Manager.

PlatformIO support might be added at some point in the future when there is time to sit down and properly consider it, but until that point library.json is not required.
As such I am removing library.json until PlatformIO support is up for consideration as it is not serving any other purpose.

library.json is all you need for full PlatformIO support. There's nothing else to "sit down and properly consider".
You just have to remove the exclude object, since the comma after "tests" is a json error and the entire exclude object is unnecessary anyway.
You then only have to maintain it by keeping the version field in sync whenever you change it in library.properties

I have yet to consider whether I want to support it, which I will do when I have the time.


semantic-release setup

closes #967

Coverage remained the same at 92.671% when pulling 51bc4e27854311bea1778b9a57ca619384079e2a on 967/semantic-release into e4b095826ce74e11c4579725e0d4f4e5ece9d423 on master.

Thanks for setting this up! What's the effect of this change? Does it publish automatically from CI?

Yes. For each build on the master branch, after all tests passed, it will see if there are relevant changes that require a new release. If there are, it will calculate the new version, publish to npm, create a fit tag, create a GitHub release, calculate changelog a and put them into the GitHub release notes. Let me know if you have any questions :)

That is amazing!
How does it detect whether it's patch or minor or major?

see my other pull request #1000, I’ve added a "Commit Message conventions" section :)


Whitelist Version Check for Non-Stable Release Trains for connectedk8s

Skip checking operation version support for non-stable release trains.

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command

az connectedk8s upgrade -g <rg_name> -n <cluster_name>
(should work for any version for dev/private/other-non-stable release trains, but only for v>1.1.14 for stable release train, the same applies for az connectedk8s update/enable-features/disable-features)
General Guidelines

[x ] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[x ] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)

For new extensions:

[x ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Thank you for your contribution! We will review the pull request and get back to you soon.


Dateset select in skill-form

What does this PR do?
Added functionality to select one or multiple datasets in the skill-form.

Added /data-sets endpoint for retrieving available datasets
Datasets selected in the frontend are included in issued requests to the skill-manager and get saved to mongo-db
Added vue-multiselect as an alternative to the default html/bootstrap multi-select.

Before submitting / marking as 'ready to review'

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you make sure to update the documentation with your changes?
[x] Did you write any new necessary tests?

Who can review?
@HaritzPuerto @timbmg

@nclskfm @BenediktStuhrmann could you merge the the master branch again? I fixed something in the CI so it should run now.

@nclskfm @BenediktStuhrmann could you merge the the master branch again? I fixed something in the CI so it should run now.

@timbmg done.


Correct hasura version

Updated Hasura version to latest (2.10.0)

bumped to v2.10.1 https://github.com/nhost/cli/pull/283


When the song's likes or dislikes is zero, it displays it as NaN

Describe the bug
When the song's likes or dislikes are zero, it displays it as NaN.
Expected behavior
It should say 0 instead.
Additional Comments
I know I can just replace it with 0, but shouldn't the API say 0 if the song has 0 likes or dislikes, why's it saying NaN?

I fixed this ... in the feature :v
It will be fixed in the next version.

Wat's the ETA for the next version :>

Wat's the ETA for the next version :>

Should be v3.0.0 (ETA: 2021) or a next patch.
I'll push this to the main branch, you can use npm i skick1234/DisTube to install this


x/tools/gopls: can't see assembly implementation of functions w/o body

What did you do?
I'm using VS Code. Until some moment it was possible to see the assembly implementation of a function without body by Ctrl-Click or F12, etc. I just found that it's not possible anymore.
For instance when I try to see implementation of atomic.AddInt32 I'm just switching between its signature and a method where it's used.

What did you expect to see?
See the assembly code of a function.
What did you see instead?
Switching between function signature and it's only reference in a package.

To see the function implementation go to atomic/asm.s

@Nasfame thanks! Yea, I know it's possible to view *.s files but as I remember previously it was possible to navigate from function declarations.

ok which version do u remember when it was working ?

when did u last use this functionality?

We don't recall having this feature. Is it possible this was implemented by some other extension?

I didn't use this feature on a regular basis, so can't say when exactly it last worked, but I'm pretty sure that it worked. I don't think it was any side extension. I do use Go Asm extension, however, but AFAIK it only provides syntax highlighting.

We're pretty sure that we never did this, so I'm going to switch this to a feature request :)

I just found that it's not possible anymore.

This feature should be working again.


Get-AccessibleFile feature

Get-AccessibleFile -Recurse currently doesn't follow symlink and junction directories and I suppose this makes sense. However, I can see some cases where it's useful to follow such directories.
Could it be considered implementing an additional flag for this, that can be used in combination with the recurse flag?

Thanks for the feature request. I'll have a look at the difficulty of it. The key is making sure it doesn't end up in an infinite loop :-)

I've added support to the three path based Get-Accessible* cmdlets. You specify FollowLink with Recurse and it should follow links. If you have the ability I'd welcome any feedback..


FlowContainer fix uninitialized data

This uninitialized data was finding its way into the renderer.
Notes

Found with Valgrind
In the batching renderer, rects were being sent with valid x size but uninitialized y size.

Thanks!

Cherry-picked for 3.5.1.


NNW takes a few moments to quit

First: I've been using NNW as my main RSS reader for months now and it's amazing, thank you so much for creating this. :-)
Recently I saw the announcement that Version 5.0a1 (2185) was available to download, so I installed it. The update process was really smooth, but now NNW takes a couple of seconds to quit, rather than quitting instantaneously on cmd-Q as it used to (for comparison, Mail.app quits instantaneously). It's just long enough to feel concerning, and I'm wondering whether NNW started doing some cleanup task that could be optimized.
I'm not a Mac developer so I'm not sure what other information I could give you to help investigate, but let me know and I'm happy to provide what I can.

Are you using Feedbin syncing?
If so, then it’s probably that NetNewsWire is sending changes to Feedbin during quit.

No, it's not syncing to anything.

Let’s see if we can reproduce this. There shouldn’t be anything slowing down a quit operation outside of syncing.

Apologies for the really horrid GIF (I undoubtedly gave ffmpeg the wrong flags) but here's a real-time screen recording of me quitting NNW. Notice the couple moments of lag between clicking "quit" and the application actually quitting, which didn't happen before and also doesn't happen for, e.g. Mail.app or Calendar.app.

Right now we do a 1 second delay on app quit to get any syncing done.  I think we decided that we would give the response a second to come back to clean up the syncing database.  In practice this never happens and we just resend the statuses next time that NNW runs.
(The delay is there for all account types since we don't know when we make the call to AccountManager how many and what types of Accounts the system has.)
I think we should pull out the 1 second delay and see if we still get the statuses sent to Feedbin.

Sounds reasonable to me.

This was actually a bug that caused us to always hit our 1 second timeout delay regardless of the work done by the delegate on exit.  "On My Mac" exits are instantaneous now and "Feedbin" exits seem a little faster now too.  I've made the fix and pushed it to mac-candidate.
@kach Thanks for the bug report.  You will notice faster quits in the next release.

Thanks Maurice, thanks Brent! :-)


Strip text splits

#10085
Replace this entire comment with:

Description: a description of the change,
Issue: the issue # it fixes (if applicable),
Dependencies: any dependencies required for this change,
Tag maintainer: for a quicker response, tag the relevant maintainer (see below),
Twitter handle: we announce bigger features on Twitter.

Please make sure your PR is passing linting and testing before submitting. Run make format, make lint and make test to check this locally.
See contribution guidelines for more information on how to write/run tests, lint, etc:
https://github.com/hwchase17/langchain/blob/master/.github/CONTRIBUTING.md
If you're adding a new integration, please include:

a test for the integration, preferably unit tests that do not rely on network access,
an example notebook showing its use. These live is docs/extras directory.

If no one reviews your PR within a few days, please @-mention one of @baskaryan, @eyurtsev, @hwchase17, @rlancemartin.
-->

thanks @IlyaMichlin!


Unable to find a specification for ReactiveObjC

This is my Podfile:
platform :ios, '9.0'

inhibit_all_warnings!

target 'Demo-Universal' do
    pod 'ReactiveObjC'
end

pod install I am getting : Unable to find a specification for ReactiveObjC``

You should run pod repo update first.


feat: add Jira context provider

I implemented this as a CustomContextProvider and it works great. I can't figure out how to get the extension running in debug mode to verify it. If someone who has a working setup can verify I would appreciate it, otherwise I will test it sometime in the next week or two.

Finally got this working. I had to run ./install-dependencies.sh inside WSL before opening in vscode.

@theBenForce this is awesome! I'm going to give it a run in the next couple of days before merging, but from a quick look it looks like you did everything right.

@sestinj thanks! The one thing I wasn't sure of was where to place the ticket key and summary in the title/description. I like that having both in the title allows me to see both in the suggestion list.

@theBenForce I think what you did makes sense there. I'm going to merge as everything looks good, but if I find anything wrong in testing I'll circle back to this PR. Seriously excited about this feature, thanks for the great work!!!

@theBenForce Works like a charm! I set up my own Jira account just for this, and everything basically worked first try! Only change I ended up making was to upgrade the adf2md package: https://github.com/continuedev/continue/commit/8223ba25a82c6641326252845ef1b0f53c62a6ee
Thanks again!

@theBenForce @sestinj Can this be improved to work with the jira datacenter version?
I set up a jira domain, but the jira DC version I'm using has a different api endpoint, so I can't use it.
jira reat api endpoint rest/api/3 is not supported.
v3(beta) api is only available in jira cloud

jira datacenter verser : 9.4.7
supported api endpoint : JIRA_HOST/rest/api/2 or JIRA_HOST/rest/api/latest


fix: Do removal in spatial sort first, because the joins will handle …

…the other cases

This change is

bors r+


Updated compara API tutorial

I have made a number of updates based on @muffato's comments. Please see the newest version in my sandbox: http://ves-hx2-76.ebi.ac.uk:5070/info/docs/api/compara/compara_tutorial.html

Great job!


Componentize Debug Builds

First: Thanks for this amazing project! I've been using it a lot lately and it's really a joy!
I'd love to be able to get debug builds out of Jco. I've ran into multiple cases where the wasm was crashing with unhelpful stack traces, and narrowing down the problem was extremely hard.
For example:
    0: error while executing at wasm backtrace:
           0: 0x593501 - <unknown>!<wasm function 10295>
           1: 0x2330ee - <unknown>!<wasm function 5297>
           2: 0x261016 - <unknown>!<wasm function 5562>
           3: 0x261c47 - <unknown>!<wasm function 5565>
           4: 0x262465 - <unknown>!<wasm function 5568>
           5: 0x366d22 - <unknown>!<wasm function 7374>
           6: 0x265bdf - <unknown>!<wasm function 5596>
           7: 0x2588c3 - <unknown>!<wasm function 5561>
           8: 0x252819 - <unknown>!<wasm function 5559>
           9: 0x260edc - <unknown>!<wasm function 5562>
          10: 0x261c47 - <unknown>!<wasm function 5565>
          11: 0x34f3a9 - <unknown>!<wasm function 7280>
          12: 0x261016 - <unknown>!<wasm function 5562>
          13: 0x261c47 - <unknown>!<wasm function 5565>
          14: 0x2e27af - <unknown>!<wasm function 6558>
          15: 0x31f3eb - <unknown>!<wasm function 6955>
          16: 0x2d7cb - <unknown>!<wasm function 398>
          17: 0x231c70 - <unknown>!<wasm function 5289>
          18: 0x7abd4f -<EMAIL_ADDRESS>    1: wasm trap: wasm `unreachable` instruction executed

My understanding from here and here is that a debug build would give better track traces, and hence help with tracking down these kinds of crashes.

Thanks for the kind words. Slowly getting back to things here - this is currently being tracked in https://github.com/bytecodealliance/ComponentizeJS/issues/137, which in turn is blocked on https://github.com/bytecodealliance/StarlingMonkey/issues/173. The problem is that we need to use a partially optimized build for ComponentizeJS to work properly, which in turn requires wasm-opt to properly maintain the names section.
There may well be something very simple here that could be figured out, and I must admit I haven't looked very deeply into it, but that's where things stand right now.
The alternative if we can't figure that out would be to try and figure out how to get ComponentizeJS working with a full debug build, but that would require some low-level changes to the splicer.
100% agreed this is an important feature.
Note that in general retaining console logging via stdio being enabled as a feature can resolve many issues that are not engine panics.

A workaround to get a lot of stack traces to show up is to use a local debug build of CompentizeJS. You will need to clone this jco repo and the ComponentizeJS repo. In ComponentizeJS/src/componentize.js, set const DEBUG_BUILD = true;, then build it with npm run build:debug. In your project, you will need to reference the local jco "@bytecodealliance/jco": "file:../../jco",. In the local jco, you will need to have it reference the local CompentiseJS "@bytecodealliance/componentize-js": "file:../ComponentizeJS",. The jco build command is npm run build. This gives me a much bigger wasm backtrace.

Sorry, I was wrong. Using debug builds is not supported. https://github.com/bytecodealliance/ComponentizeJS/issues/176#issuecomment-2566623747


[feat]: SelectTrigger clear option

Feature description
Describe your feature request...
const SelectTrigger = React.forwardRef<
React.ElementRef,
React.ComponentPropsWithoutRef &
CustomSelectTriggerProps

(({ className, children, isClear, onClear, ...props }, ref) => (
<SelectPrimitive.Trigger
ref={ref}
className={cn(
"border-input bg-background ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-10 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
className,
)}
{...props}

{children}

{isClear ? (

    <CircleX
      onClick={(e) => {
        e.stopPropagation()
        onClear && onClear()
      }}
      className='h-4 w-4 cursor-pointer text-red-500'
    />

) : (
  <SelectPrimitive.Icon asChild>
    <ChevronDown className='h-4 w-4 opacity-50' />
  </SelectPrimitive.Icon>
)}

</SelectPrimitive.Trigger>
))
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName
Affected component/components
No response
Additional Context
Additional details here...
const SelectTrigger = React.forwardRef<
React.ElementRef,
React.ComponentPropsWithoutRef &
CustomSelectTriggerProps

(({ className, children, isClear, onClear, ...props }, ref) => (
<SelectPrimitive.Trigger
ref={ref}
className={cn(
"border-input bg-background ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-10 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
className,
)}
{...props}

{children}

{isClear ? (

    <CircleX
      onClick={(e) => {
        e.stopPropagation()
        onClear && onClear()
      }}
      className='h-4 w-4 cursor-pointer text-red-500'
    />

) : (
  <SelectPrimitive.Icon asChild>
    <ChevronDown className='h-4 w-4 opacity-50' />
  </SelectPrimitive.Icon>
)}

</SelectPrimitive.Trigger>
))
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName
Before submitting

[X] I've made research efforts and searched the documentation
[ ] I've searched for existing issues and PRs

The description here is pretty broken, but I think this is asking for something I also need.
Right now there isn't an example of making a Select that is "clearable". An example of such behaviour can be seen here on Shoelace's select. Or an example here:

The idea is that you get an overlaid button to clear the element when it has a value.
This is very often something I want to provide my users as a quick way to interact with a select.


Update documentation with ipycmc and organizing scenarios

I think gitlab is down

curl: (28) Failed to connect to mas.maap-project.org port 443: Connection timed out

Updates on this forthcoming, but there was a security vulnerability found.

@wildintellect addressed comments - can you add your additional feedback to a new card in trello?


"Event not processed by bridge" spam

This happens fairly constantly:
Nov-13 20:44:55.475 [DiscordAS] verbose: matrix-appservice-bridge [biy0oqrzdr400] FAILED (19902ms) Error: Event not processed by bridge
    at MatrixRoomHandler.<anonymous> (/build/src/matrixroomhandler.js:161:19)
    at Generator.next (<anonymous>)
    at /build/src/matrixroomhandler.js:7:71
    at new Promise (<anonymous>)
    at __awaiter (/build/src/matrixroomhandler.js:3:12)
    at MatrixRoomHandler.OnEvent (/build/src/matrixroomhandler.js:101:16)
    at Object.onEvent (/build/src/discordas.js:77:97)
    at Bridge._onConsume (/node_modules/matrix-appservice-bridge/lib/bridge.js:781:30)
    at /node_modules/matrix-appservice-bridge/lib/bridge.js:980:14
    at tryCatcher (/node_modules/matrix-appservice-bridge/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (/node_modules/matrix-appservice-bridge/node_modules/bluebird/js/main/promise.js:510:31)
    at Promise._settlePromiseAt (/node_modules/matrix-appservice-bridge/node_modules/bluebird/js/main/promise.js:584:18)
    at Promise._settlePromises (/node_modules/matrix-appservice-bridge/node_modules/bluebird/js/main/promise.js:700:14)
    at Async._drainQueue (/node_modules/matrix-appservice-bridge/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (/node_modules/matrix-appservice-bridge/node_modules/bluebird/js/main/async.js:133:10)
    at Immediate.Async.drainQueues (/node_modules/matrix-appservice-bridge/node_modules/bluebird/js/main/async.js:15:14)
    at processImmediate (timers.js:632:19)

Yes, this should really be under verbose with just the eventID (and perhaps type,sender)

fixed


Missing actions

I have cell with right and left actions.
Left actions have "fill" expansionStyle and Right have "destructive" expansionStyle.
When left action was performed, the right actions are invisible, I can swiping the cell, actions is performing, but actions button are invisible.

Thanks @khambir.  I'll take a look at this soon!

Bug is not fixed.
I have 2 buttons:

I call left action with expansionStyle .fill

Buttons from right were missing.

Hey @khambir - Can you confirm you're using the latest from the develop branch?

Yes, I updated pod from the develop branch. And double checked, your changes did appear in my project.

Hmm... 🤔
It seems like the mask is still not getting reset somehow. Can you paste your relevant delegate code or provide a small sample project?

swipeProject.zip

Hey @khambir - The issue was that you're not called action.fulfill(style: .reset) from your action handler. Fill expansions aren't autofulfilling.  See the README for more details.
I made a change that will fix this even if you don't call action.fulfill(style: .reset), but you should still add it on your end.  👍


Multiple coords + Multiple boxes + Multiple labels solution - Need suggest

i implemented in my code
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
predictor.set_image(image)

input_boxes = np.array(boxes) if len(boxes) > 0 else None
input_boxes = torch.tensor(input_boxes, device=predictor.device)
transformed_boxes = predictor.transform.apply_boxes_torch(input_boxes, image.shape[:2])

masks, scores, logits = predictor.predict_torch(
   point_coords=None,
   point_labels=None,
   boxes=transformed_boxes,
   multimask_output=False,
)

how can i use multiple coord and labels ? What format it is ?
Thanks for help.

The shape of the points should be B x N x 2, labels should have a shape of: B x N and boxes should have a shape of: B x 4. Where B is the batch dimension (i.e. how many independent masks you want to generate) and N is the number of points & labels (the 2 and 4 correspond to the xy and xyxy coordinates for points and boxes respectively).
As-is, you can't have more than 1 box for a single prompt, unless you change the code. There's more info in issue #646

The shape of the points should be B x N x 2, labels should have a shape of: B x N and boxes should have a shape of: B x 4. Where B is the batch dimension (i.e. how many independent masks you want to generate) and N is the number of points & labels (the 2 and 4 correspond to the xy and xyxy coordinates for points and boxes respectively).
As-is, you can't have more than 1 box for a single prompt, unless you change the code. There's more info in issue #646

i think the latest update that i'm able to send 2+ boxes as the code i mention. I Just can not add more coords with 2+ boxes

It should be possible to have 2 (or more) boxes, but they'll generate independent masks, since the '2' in this case will correspond to the batch part of the shape (i.e. the Bx4 shape becomes 2x4 for 2 boxes). The limitation is on generating a single mask with more than one box.
In order to run the prediction, all of the 'B' parts of the shape have to match (for points, labels & boxes) and the 'N' parts of the shape have to match for points & labels. So it's possible to share points/labels across independent boxes using something like:
num_boxes = 2
input_points = input_points.repeat((num_boxes,1,1))
input_labels = input_labels.repeat((num_boxes,1))

This is assuming the original input points/labels have shapes of Nx2 & N, respectively. It just duplicates them on the batch (B) dimension to match the boxes.

Great, it works

@pnthai88
Hi friend, thank you very much for your guidance and advice. However, I have a few questions I'd like to ask:

In non-auto mode, do I need to manually define the points and then feed them into the model? How should I write this part of the code? I don't have a clear idea—could you please give me some guidance?
If they are manually defined, should I iteratively feed multiple points for the same target into the model? I would greatly appreciate it if you could provide relevant code examples.


Introduce round robin load balancer to matching client

What changed?
Introduce round robin load balancer to matching client

Why?
Try new routing algorithms to improve latency for matching

How did you test it?
unit tests

Potential risks

Release notes

Documentation Changes

What is the theory by which this is expected to improve matching performance? I'm just not understanding what effect this might have ?

What is the theory by which this is expected to improve matching performance? I'm just not understanding what effect this might have ?
It also ensures even distribution, why bother not testing it?


pattern available for Python 3

Thanks for this Lemmatizer! It is exactly what I have been looking for. At first, I was a bit disappointed reading that the pattern package would only support Python 2 in the README.
Fortunately, version 3.6 of pattern, which has been released on pypi in August 2018, supports Python 3. I was able to install it by just typing pip install pattern==3.6 and it plays together with germalemma without any problems.
Thus, this passage in the README could be corrected.

Oh that's great news! Thanks for informing me. It always bugged me to use Python 2 only because of the pattern library not being compatible with Py 3. I will update the requirements and README.


Using in progress component twice failed: object unsubscribed

Hello,
I using in your ng-progress component, and I have to implement it twice because I have two design for other screens in my application.
But it failed on error : "object unsubscribed " because you are call to unsubscrive in the service when the progress component destroy, and the service is singleton....
How can I implement the progress for two other design?
Thanks,
Chagit.

Hi @chagitmalach, it is not applicable with this module to use 2 instances of ng-progress in one application.
Instead you can bootstrap 2 root component, see this, and then you can add ng-progress for each one of them.


Qeustion: Best practice for i18n?

Does anyone built a seed app with i18n support?
If so, would you mind to share your experiences?

Unfortunately I'm building only English apps. But there are some interesting projects which can help a little bit, e.g. https://projectfluent.org/.
Let me know when you encounter some problems / want to share your experience.

While I haven't implemented i18n support within Seed, I have done it elsewhere (Android, mostly). I also don't know how much you do know, so this is a bit of an infodump of everything I know about i18n.
How I have seen it implemented is with this basic concept:
Somewhere in memory, on disk, or elsewhere is a massive two way dictionary of (Locale, T) to &str where T is something that has PartialEq implemented (usually a string saying what the purpose of this string is). Let's call this the i18n_map. Then wrap EVERY user facing string that needs translating with a call to this function or some analog:
// You may want to make `l` a global variable instead of having it as a parameter, but this is usually preferred.
fn i18n(id: T, l: Locale) -> Option<String> {
    i18n_map.get((l, id)) // get the corresponding string with the locale and purpose
}
fn i18n_with_default(id: T, l: Locale, default: &str) -> &str {
    i18n(l, id).unwrap_or(default) // get the string or a default if cannot be found
}

You could (theoretically) do this programmatically, but that's hard since (sometimes) there's text that you don't want to translate or text that needs to be translated in parts, especially if you have custom attributes that are used for display vs layout or behavior. And of course, this approach simplifies things a little too much, but it's usually enough...
These maps are usually stored in auxiliary files at a path that's similar to i18n/{locale}.[xml, json, blah] with whatever format, of course. You can include these in the final binary with include_string or something similar.
Additionally, this map can be big, especially if it's an SPA. You may want to only send the relevant locales. This would require some code that only sends the required localization strings, usually by examining the Accept-Language HTTP header, so this is some server-side work, not client-side. I have a few ideas on how to do this, but they're mostly hacky, usually unnecessary for a small project and not directly related seed, so I'm not going to write those down here.
There's also all sorts of issues that relate to i18n implementations, but I don't think those really apply here. Some have entire DSLs created to accomplish this task. But, once again, the basic approach is usually enough...
Anyways, this functionality is usually handled in a entirely separate library since it's usually complicated enough to require this.
I then did a bit of research into i18n crates for Rust, specifically. The state of Rust's i18n overall is ok, but not stable (see awwy). Unfortunately, I'm not sure that all the libraries there work in a browser. I personally also have not used any of these.

@AlterionX Thanks for sharing your thoughts.
Actually I started with super simple TxtKey and  Lng enums in combination with a simple lookup function ;-)
But probably I'll have a closer look at projectfluent (Thanks @MartinKavik) and other crates out there.
I'll close this issue for now.
And of course I'll share my experiences with you in the future :)


gcloud needs better error reporting

The Maven gcloud plugin needs better error reporting. No matter how I configure my software stack, mvn gcloud:run reports:
INFO: Successfully processed /Users/apennebaker/Desktop/src/users-ws/users-impl/target/users-impl-1.22.0-SNAPSHOT/WEB-INF/appengine-web.xml
[ERROR] Error: gcloud app xxx exit code is: 1
mvn -X doesn't give any more detail.

Thanks! Can you file the issue on:
https://github.com/GoogleCloudPlatform/gcloud-maven-plugin/issues
?

Thanks for the tip, done!


Add test IDs to Issued By and Revoked Date text fields in Credential Details screen

@bryce-mcmath Should this be in build 750? I don't see any testIDs.

@nodlesh

@nodlesh Are they missing on both iOS and Android?

Yes both iOS and Android.

This is what I'm seeing on iOS (758) for those fields.
<XCUIElementTypeStaticText type="XCUIElementTypeStaticText" value="Issued by: aca-py.Acme" name="Issued by: aca-py.Acme" label="Issued by: aca-py.Acme" enabled="true" visible="true" accessible="true" x="24" y="638" width="327" height="29" index="0"/>\n                                                            <XCUIElementTypeStaticText type="XCUIElementTypeStaticText" value="Revoked: Mar 27, 2023" name="Revoked: Mar 27, 2023" label="Revoked: Mar 27, 2023" enabled="true" visible="true" accessible="true" x="24" y="666" width="327" height="28" index="1"/>\n                                                            </XCUIElementTypeOther>\n                                                            <XCUIElementTypeOther type="XCUIElementTypeOther" name="Remove from wallet" label="Remove from wallet" enabled="true" visible="true" accessible="false" x="0" y="725" width="375" height="57" index="1">\n                                                            <XCUIElementTypeOther type="XCUIElementTypeOther" name="com.ariesbifold:id/RemoveFromWallet" label="Remove from wallet" enabled="true" visible="true" accessible="true" x="25" y="741" width="325" height="26" index="0"/>\n

Verified feed in both Android and iOS in build 791.


2 PCA implementations that give same results but different from Python scikit-learn implementation ...

We have 2 implementations of PCA :

one based on Jacobi Transformation of the covariance matrix
another one based on SVD.

They give the same results but the result are different from the one you can find with sci-kit learn in Python:
import numpy as np
from sklearn.decomposition import PCA
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
pca = PCA(n_components=2)
pca.fit(X)
pca.components_
pca.transform(X)

pca.components_ returns :
array([[-0.83849224, -0.54491354],
       [ 0.54491354, -0.83849224]])

pca.transform(X) returns:
array([[ 1.38340578,  0.2935787 ],
       [ 2.22189802, -0.25133484],
       [ 3.6053038 ,  0.04224385],
       [-1.38340578, -0.2935787 ],
       [-2.22189802,  0.25133484],
       [-3.6053038 , -0.04224385]])

I try to implement a flipsvd method like this one : https://github.com/scikit-learn/scikit-learn/blob/4c65d8e615c9331d37cbb6225c5b67c445a5c959/sklearn/utils/extmath.py#L609
but fails until now.
Please have a look to tests of PMPrincipalComponentAnalyserTest.

Hi, @SergeStinckwich,
I made some more progress on this, where I extracted out the algorithm from SciKit-Learn and tried to determine the outputs of each step. Here is something you can run on the command line to see this at a more granular level: scikit-learn flip algorithm
Given that in SciKit-Learn, U is
[[-0.21956688  0.53396977]
 [-0.35264795 -0.45713538]
 [-0.57221483  0.07683439]
 [ 0.21956688 -0.53396977]
 [ 0.35264795  0.45713538]
 [ 0.57221483 -0.07683439]]

(the first two columns from PolyMath match SciKit-Learn's)
the first thing to note is the max_abs_column variable, which in SciKitLearn is a 2-element array: [2 0], whereas in PolyMath it is #(3 4 5...). For the former, this leads to a sub matrix: [-0.57221483  0.53396977], which then leads to the signs being [-1 1]. This is the key difference because in PolyMath, we get #(-1-1 -1 1 1 -1). Our function, our argMaxOnColumns. message yields -0.53396... from row 4, column 2 rather than 0.53396977 at row 1.

On further investigation, when we compute the max_aabs_column in PolyMath, we get the row 4 as the element with the high value because it is 0.5339697737377911 whereas at row 1 it is 0.5339697737377903

In Mathematica if we use SVD:
m = {{-1, -1}, {2, -1}, {-3, -2}, {1, 1}, {2, 1}, {3, 2}}
{{-1, -1}, {2, -1}, {-3, -2}, {1, 1}, {2, 1}, {3, 2}}
{u, w, v} = SingularValueDecomposition[N[m]]
{{{0.227413, -0.184384, -0.602751, 0.246542, 0.356209,
   0.602751}, {-0.204296, -0.949274, 0.0746245,
   0.109693, -0.184317, -0.0746245}, {0.598729, -0.113805, 0.705625,
   0.128753, 0.165622, 0.294375}, {-0.227413, 0.184384, 0.106997,
   0.942819, -0.0498161, -0.106997}, {-0.371316, -0.070579,
   0.187377, -0.0715718, 0.884194, -0.187377}, {-0.598729, 0.113805,
   0.294375, -0.128753, -0.165622, 0.705625}}, {{6.01037, 0.}, {0.,
   1.96863}, {0., 0.}, {0., 0.}, {0., 0.}, {0.,
   0.}}, {{-0.86491, -0.501927}, {-0.501927, 0.86491}}}
v
{{-0.86491, -0.501927}, {-0.501927, 0.86491}}

Action points :

try to find another example as an acceptance tests
run this example against PolyMath, Mathematica and scikit learn to order to find some patterns
how SVD is done in Numpy ? what are the decisions taken by them ?

I tried Wolfram Alpha and for the V matrix, we seem to match:
Wolfram Alpha

Why Mathematica SVD is different from another math engine
Mathematica SVD documentation: https://reference.wolfram.com/language/ref/SingularValueDecomposition.html

Wolfram Alpha:

Polymath calculation: here we see it matches Wolfram Alpha exactly:

The next example we could try is in section 3.1 of this article
Here is the answer according to Wolfram Alpha.

In relation to the first of our action points, to find another example to, I tried the example in section 3.1 of the PCA tutorial. The PCA of scikit learn matches the output published in the above paper almost exactly:.
[[-0.82797019 -0.17511531]
 [ 1.77758033  0.14285723]
 [-0.99219749  0.38437499]
 [-0.27421042  0.13041721]
 [-1.67580142 -0.20949846]
 [-0.9129491   0.17528244]
 [ 0.09910944 -0.3498247 ]
 [ 1.14457216  0.04641726]
 [ 0.43804614  0.01776463]
 [ 1.22382056 -0.16267529]]

This is not the case for PolyMath, sadly, for both implementations. However, as we've discovered, the problem is a bit further up, in how we're computing the eigenvectors.

@SergeStinckwich Out of curiosity, I used the mean centred data from the PCA tutorial:

x
y

.69
.49

-1.31
-1.21

.39
.99

.09
.29

1.29
1.09

.49
.79

.19
-.31

-.81
-.81

-.31
-.31

-.71
-1.01

and PolyMath's output is correct up to negation:

On point 3, Scikit-Learn uses scipy for the SVD part of the PCA. In turn scipy delegates to LAPACK driver routines and according to the documentation. by default, it uses gessd. The available options are gessd and gesvd. I could not see anything in the scipy source code (decomp_svd.py) that indicated the decision taken in flipping signs.


feat(LogoCard): Create LogoCard component

Preview: https://storybook-qwqkcn7t2-treely.vercel.app/?path=/story/slices-customerstories--with-logo-card
Story: https://trello.com/c/Zl38LJKR/405-customer-logo-card-3-8

Commit message: feat(CustomerStories): ...


Event formatting agent may be caching regexp results in an event stream

The event formatting agent may be failing to reinitialise its (regexp) variables before evaluating a new event in a stream of events.
Example.
Incoming events (A) :
[
	{
	  "start_dateTime": "Tuesday 26th January 2016\r\n                7:45 pm - 10:00 pm\r\n                "
	},
	{
	  "start_dateTime": "Thursday 28th January 2016\r\n                8:00 pm - 11:00 pm\r\n            "
	},
	{
	  "start_dateTime": "Friday 29th January 2016\r\n                7:00 pm - 10:30 pm\r\n                "
	}
]

Required outgoing events (B):
[
	{
	  "start_dateTime": "26th January 2016 7:45 pm",
	  "end_dateTime": "26th January 2016 10:00 pm"
	},
	{
	  "start_dateTime": "28th January 2016 8:00 pm",
	  "end_dateTime": "28th January 2016 11:00 pm"
	},
	{
	  "start_dateTime": "29th January 2016 7:00 pm",
	  "end_dateTime": "29th January 2016 10:30 pm"
	}
]

Event formatting agent to convert A to B:
{
  "instructions": {
    "start_dateTime": "{{ dateTime.dateStart }} {{ dateTime.timeStart }}",
    "end_dateTime": "{{ dateTime.dateStart }} {{ dateTime.timeEnd }}"
  },
  "mode": "merge",
  "matchers": [
    {
      "path": "{{ start_dateTime  | replace: '\\n', '' )}}",
      "regexp": "\\A\\w+day\\s+(?<dateStart>\\w+\\s+\\w+\\s+\\d{4})\\s+(?<timeStart>\\d{1,2}:\\d{1,2} [ap]m)\\s+-\\s+(?<timeEnd>\\d{1,2}:\\d{1,2}\\s+[ap]m)",
      "to": "dateTime"
    }
  ]
}

This agent works if the events are fed through individually (in a dry run or by using the manual event generator for example) but not with a series of incoming events. If this agent is wired up to an other agent that emits a stream of events, then what you get out is :
[
	{
	  "start_dateTime": "26th January 2016 7:45 pm",
	  "end_dateTime": "26th January 2016 10:00 pm"
	},
	{
	  "start_dateTime": "26th January 2016 7:45 pm",
	  "end_dateTime": "26th January 2016 10:00 pm"
	},
	{
	  "start_dateTime": "28th January 2016 8:00 pm",
	  "end_dateTime": "28th January 2016 11:00 pm"
	}
]

In other words, the event formatting agent appears to be caching the result of the regexp from the previous event if that previous event is not null. The first event in the series is correct, but thereafter each regexp actually evaluates to the result of the previous event's regexp.
The above examples are extracts from a real set of data and agents; it is possible that fields not shown here are germane to the issue.

I get the same effect if I use the "regexp_replace:" filter instead, or whether I use numerical or verbal indices.

Ah, there indeed is a bug here.  The matchers method happens to cache the results.  I'll come up with a fix later!

I think the minimum fix would be add clear_matches after the line interpolation_context.merge(perform_matching(event.payload)).

Thank you.

It turned out caching was a bad idea when receive() could take multiple events at once, so I rewrote the matchers implementation.
Please pull the latest master and give it a try!

I am now testing the fix - ta.

Thanks for fixing it @knu!


Custom buttons

I am currently using the form wizard in a modal and trying to conform to material design guidelines. I would like to have a 'Cancel' button next to the 'next' and 'finish' button. However, there is currently no control on placing extra buttons next to the default ones.

Indeed there is no way to add extra buttons near the current ones. I might add some additional slots, but don't want to add to many. Do you have any other idea ?

Keep the slots for the buttons, but introduce a 'left' and 'right' slots that comes before and after the 'previous' and 'next' buttons.

@exnihilo-creatio I actually don't want to add more slots for some limited use cases.
Maybe expose some methods via scoped slots and have something like:
<vue-form-wizard :hide-buttons="true">

  <div slot="footer" scope="props">
    <button @click="props.prev()">Prev</button>
   <button>Cancel</button>
  <button @click="props.next()">Next</button>
   <button>Cancel</button>
  </div>
</vue-form-wizard>

And you can customize it how you want in terms of looks

I will try to do this today

@exnihilo-creatio Sorry for the long delay. I was on a vacation.
I made a scoped slot for the footer
Besides that, the wizard button is exposed as a component now for easier use. You can of course use any buttons you wish
https://jsfiddle.net/bt5dhqtf/696/
Available prop methods/objects
nextTab // will go to the next tab/step when called
prevTab //will got to the prev tab/step when called
activeTabIndex // current active tab index
isLastStep // boolean to tell whether it's the last step or not
fillButtonStyle // object with styles for wizard-buttons (contains background and color passed through wizard props)

Released 0.6.2  https://github.com/cristijora/vue-form-wizard/releases/tag/v0.6.2
Also updated docs https://cristijora.github.io/vue-form-wizard/#/?id=footer-slot

I just found this component and was able to successfully use it (thanks  for the nice work).
However, the current implementation of footer does not allow to reuse the existing buttons and functionality while adding a new button such as a 'cancel' button. Instead one has to redefine the complete footer section and behavior.
From what I understand a 'slot' is only meant to define either the default content as provided by the plugin, or as alternative provide your own custom output. Combining the two is not the intended behavior.
Perhaps an additional (empty) named slot  can be added for custom buttons. Adding a cancel button would then be as simple as providing content for this named slot and still use the original footer buttons.

@pvmeerbe I see your point but you will have little control over the button and the position of the button you want to add. Let's try to make some examples of how you want it to be @pvmeerbe  @vxzry

I just want to add a simple cancel button on the first step
Im having trouble calling the finish method for the submit button
https://jsfiddle.net/vxzry/ad49b9aa/1/

@vxzry See this updated example. It was a bug in the code. A wrong event was fired when nextTab method was called when you were on the last step.
https://jsfiddle.net/CristiJ/uppptbh0/3/

@pvmeerbe According to your suggestion, I added 2 slots for custom buttons.
https://jsfiddle.net/CristiJ/uppptbh0/11/
Also, all button slots can be used both as simple or scoped slots

how can i keep active background color of bullet step after i pass the step??


Create a rest-framework based API to update visitor counts

This allows us to use a CDN

To make personalisation work behind a CDN, we're also going to need to find a way to customise the content of a page on a per-user basis without rendering the page. Perhaps we should create an uncached view that returns a JSON formatted document with the segments the user is in and leave it to the developer to implement the personalised content using javascript?

Also, this should be simple enough to implement with a Django view

Think so, the JSON formatted page already has a good structure (if you have provided the fields). In that case more client-side applications, like some heavy React based apps, can be personalized  in any developer chosen way. Even mobile apps should be possible I guess.


feature: add native support for elasticahce redis

Proposed Changes
added elasticache redis native support as discussed in the issue
Related Issue
#31
Checklist

[ V] All the tests and checks passed (npm run test).
[ ] I have added necessary documentation and/or updated existing documentation.
[ ] I have added or modified tests to cover the changes.

Additional Notes
[Provide any additional information or context about the pull request that might be helpful for reviewers.]

Hey @dollev36, don't be afraid of the conflicts. Please, continue working on your branch. Later, we'll merge your changes :)


Docs: optimize some descriptions of the document

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug
/kind documentation
/kind enhancement
/kind good-first-issue
/kind feature
/kind question
/kind design
/sig ai
/sig iot
/sig network
/sig storage
/sig storage

/kind documentation
What this PR does / why we need it:
This PR optimizes some descriptions of the document to make it more readable.
Special notes for your reviewer:
/assign @rambohe-ch

/lgtm
/approve


Fix SnowMaskTask when dealing with empty patches

Was easier to return something early, instead of fixing the shapes

cv2 is really making our life difficult with all its weird custom types :upside_down_face:

where did this fail before? I dont see any explicit loops in the execute body

It happens in the _apply_dilation method
Will update


[REQ] Feature - TLS support for OTLP metrics clients

What kind of request is this?
Feature
What is your request or suggestion?
I would like Eraser to add the ability to support TLS for the eraser client for otlp metrics.
The underlying client (otlphttpmetrics) already supports this, see here
It can either be done through exposing these environment variables:
OTEL_EXPORTER_OTLP_CERTIFICATE/OTEL_EXPORTER_OTLP_METRICS_CERTIFICATE
OTEL_EXPORTER_OTLP_CLIENT_KEY/OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY
Or alternatively set up using this
I do not mind doing this work myself (I already somewhat started), just need to know if there are any considerations that you have with regards to the work, or if I am missing some crucial key points that would invalidate this work.
Are you willing to submit PRs to contribute to this feature request?

[X] Yes, I am willing to implement it.

@eanveden thanks for opening an issue!
sounds like this will need removing insecure option from https://github.com/eraser-dev/eraser/blob/afb831bcf61d665e1d766453c9b7d22d29297d78/pkg/metrics/metrics.go#L24
ideally, we should do https by default. we can integrate with https://github.com/open-policy-agent/cert-controller to auto generate the certificates and rotate continously. also have an option for user to specify their own certs instead of auto gen.
would you be interested in creating a design doc for this?

@sozercan, sure, I'll put something together.


Please Create a config file

While following the steps, I enabled the auto-start of the mm app using pm2. But I forgot to rename the sample config file beforehand. So now I'm stuck on the "Please create a config file", but I don't know how to access the desktop because the mm app is full screen and if I alt-F4 out of it, pm2 kicks it back up preventing me from accessing the console. Any idea?

I was being dumb. Sorry.


RC Filter init

Check if that behaviour is expected as reseting filter with predefined value did not result in setting proper output value from the beggining:
Look at the top three signals, it shall start from the same point:

Code for reseting filter at POR:

No problem, this effect was due to BLE latency