Investigate implementation of "background tasks"

There will most likely in the future be a requirement for processing "background" tasks. These may either be:

One-off long-running tasks (e.g. user requests deletion of 1,000 records)
Periodic / scheduled tasks

Some of the features implemented in https://github.com/inventree/InvenTree/pull/1063 almost needed this until I worked out a way to speed them up. But, with more complexity being built into InvenTree, it may not be long before a task takes too long to process and the user experience really degrades.
Also, with integrations into other services (DigiKey / OpenCart / Shopify / etc) we'll need something in the background running API calls, etc.
Options
Front-runner options seem to be:
Celery
https://docs.celeryproject.org/en/stable/django/first-steps-with-django.html
Django Background Tasks
https://django-background-tasks.readthedocs.io/en/latest/

Could also leverage this concept to write "janitor" functions which run in the background at fixed intervals to make sure the business-logic rules are being observed?

I read that Django 3.x was pushing towards asynchronous routines, this seems to be the current doc:
https://docs.djangoproject.com/en/3.1/topics/async/
Maybe actually relying on core Django feature could be enough? Would have to investigate.
My main grief with Celery is that you need to concurrently run a message broker (eg. Redis, RabbitMQ) and while it's not so hard to install, it adds extra setup, configuration and system running processes. It's also a potential point of failure. I think it would had more difficulties for many users to run properly and profit from this feature.

I agree completely with your appraisal of Celery. I had not heard of it before, but after looking through the docs it seems like it would add a lot of difficulty to installing and configuring InvenTree. Worse if something goes wrong, it's an opaque background process that could be very hard to debug (especially for novice users).
django-background-tasks seemed a bit more friendly - it's python only, and it stores the pending tasks in the same main database. The only quirk there is working out how to process the tasks automatically (it requires a separate command to check for tasks every few seconds).
If the django async features meet the requirements here, I would 100% rather use that, instead of relying on an external dependency.

I have not "played" with the async features yet, should add it to my todo list :smile:

IMHO Celery is the way to go.  The reliability of the broker is a mute point, very similar to the database.  When deploying into production most people will be deploying to a real external DB service (MySQL/Postgresql/etc).
While django-background-tasks seems like a nice simple option for some items it lacks certain things that should be considered for wide scale/large adoption of InvenTree.  These include back end scale out for background/async tasks to additional servers, scheduled tasks.
django_celery_beat seems like a nice way to add a django admin interface to manage scheduled tasks.
Things you could do with celery:

Accept messages from the broker from an IIoT device that is used to say scan built products and automatically update the build and assign output
Emit messages to other systems when events happen: Build created/stock received

Other things to thing about wtf django-background-tasks:

It's relatively unmaintained  last release was ~2 years ago
Last commit was 11 months ago

There are a few other options but the go to is Celery.
It may be possible to make the celery dependency an extension that other extensions can be dependent on if they need it.

Having spent some more time reading about this I would tend to agree that Celery is the way to go. Your suggestions for potential uses are very nice too!
I would like to find a way to ensure that it can be easily installed and spun up by even "novice" users.
Perhaps a script to run a development server to get people going, and then comprehe instructions on how to setup a production environment.

I just created #1113 which adds the base framework for Celery.

When deploying into production most people will be deploying to a real external DB service (MySQL/Postgresql/etc).

@amishHammer I'm a little concerned for users NOT wanting to deploy production setup and running InvenTree locally, on all available platforms/OSes. In #1113 you seem to point to RabbitMQ as message broker, any idea if it is cross-platform?
How will single user with no experience whatsoever in backend installation and relying solely on SQLite database would handle the installation?

I agree with @eeintech

@eeintech
Both Redis and RabbitMQ are available for almost every Linux distro via system packages, there are also docker images for both packages.  Both of these are pervasive in their deployment in the wild.
I have provided tasks for installing the required system packages the same as has been done for MySQL and PostgreSQL.
As of this point in time I see no need for core InvenTree background tasks, so no broker is required, you can run the Django webserver without a broker running and InvenTree will still function.
I will be committing some updates to the docs project as well to document this and the installation of optional dependencies.

As of this point in time I see no need for core InvenTree background tasks, so no broker is required, you can run the Django webserver without a broker running and InvenTree will still function.

Right now I agree. In the future, when "background tasks" are put in place, I believe it would be important to keep this option open (eg. keep no-broker needed compatible settings). The downside is that instead of creating a new Celery task, InvenTree should still be able to run a synchronized routine instead.

The former is for single/low-count users with no to low-count plugins, the later is for multiple power users with many plugins.
I'm definitely including myself to the second category but I do believe the first category of users would much rather keep their setup as minimal as possible.
Your effort to enable Celery is great (I personally love it as a fan of Celery) but IMO we should keep in mind that in the InvenTree settings, one should be have the choice to define a broker or not (which will drive the type of task/routine, eg. sync vs async). Adding packages/dependencies shouldn't be the problem but when we start creating task/routine relying solely on Celery and the message broker, this is where it can become problematic.

The problem with having 2 long running task subsystems is code duplication and the added complexity maintaining both systems side by.  If that could be adequately abstracted that may make that simpler,
As far as complexity, at least on Ubuntu its as simple as apt-get install rabbitmq-server  the default configuration is enough to make celery work.  Personally I don't find this a huge leap but I understand wanting to keep it minimal.

As far as complexity, at least on Ubuntu its as simple as apt-get install rabbitmq-server

I've been running Django Q for a while, and it seems pretty functional, and the only requirement it has is a database.  It's even simpler.  No apt-get install required!
That said, it runs with a message broker, so you can have one if you want.  https://github.com/Koed00/django-q
Also rabbitmq and celery have care and feeding cycles that are non-trivial to debug and maintain.  If the goal is to get this running in a simple docker container, then I much prefer Django Q.

As far as complexity, at least on Ubuntu its as simple as apt-get install rabbitmq-server

I've been running Django Q for a while, and it seems pretty functional, and the only requirement it has is a database.  It's even simpler.  No apt-get install required!
That said, it runs with a message broker, so you can have one if you want.  https://github.com/Koed00/django-q
Also rabbitmq and celery have care and feeding cycles that are non-trivial to debug and maintain.  If the goal is to get this running in a simple docker container, then I much prefer Django Q.

django-q looks interesting, I'll have to investigate that

django-q looks interesting, I'll have to investigate that

I've recently been looking more seriously into django-q
The tasks I wish to use this for right now are:

Checking for InvenTree updates (every week or so)
Sending emails (e.g. for new users, password reset, etc)

It looks "fit for purpose", there are a couple of outstanding questions I need to answer first. These are probably "easy" questions for someone with more system-admin experience than myself.
Essentially the question is how to start the django-q process, and ensure that it is running. Also, when the server is stopped, the django-q process should be brought down too.
Currently you have to "manually" start the cluster with python manage.py qcluster docs. This starts the cluster process running.
Ideally I want this process to be run automatically when the server is started, and brought down when the server stops.
Admittedly it is possible that InvenTree is now at the point of complexity where it needs to be managed externally (e.g. systemctl) and we just have to write some more comprehensive documentation..
I would also like to continue to support windows, although with the ability to use WSL under Windows (which is how I dev) this is less of an issue.
Perhaps we have to move to linux only, and provide documentation on how to setup a systemd script for setup / teardown.
For those with experience using django-q - is this the "best" way to approach this? Any other suggestions?

I like celery for massively scalability, but it doesn't make a lot of sense for lightweight tasking, since you now have to do a care and feeding of a RabbitMQ server.  You can still use RabbitMQ in Django Q, but it doesn't force you into it.  You can use the DB as the queue, and because you're doing that, you do get scalability instantly as long as you can share a DB connection.
Most celery workers I've seen in production were still hitting a single database, even though they were split across multiple worker machines.  So the benefits of separating messages into a message broker, didn't really gain anything other than administration of RabbitMQ.
I'm assuming that Django Q is just multiprocessing the workers, though I haven't looked to be honest.  I would expect that to work just fine on windows, and since it's all python, there shouldn't be any real surprises to keep it from running on windows, I think.
In practice I had more issues with Celery running on windows (cuz I had to develop on windows, cuz you know, security).   Celery had more dependencies that broke more often.  They ran just fine on linux.
I was thinking if you wanted to combine them easily you would use multiprocess to launch 4 server instances (uwsgi, gunicorn etc) and one django q cluster manager process... then the django q cluster manager would launch it's own workers.
Or just use supervisord (which is python).  Supervisord works with cygwin, or it looks like you can write a windows-service to do it, which may be better anyway to give native windows support.
Inside the docker container if you use it, use supervisord to start the web instance and the django Q workers, and  then provide a sample supervisord.conf for people that don't want to use docker.  If you're supporting windows, I'd say it's the responsibility of a package installer to install the windows service easily, or a script that can do it with Administrator privs and then let windows be responsible for starting and restarting it.  Apparently there's windows support for running python in a windows service, I haven't tried it though.

@rcludwick thanks for the input here. Sounds like you have a lot of experience in this area - I'm coming from an embedded systems background, so having do a lot of reading to keep maintaining and scaling this project :)
I might throw a few more questions your way - thanks for sharing your knowledge!


include encrypt/decrypt and scope in dataservice for actions

Good catch and thanks for doing that :+1:

Would also be good to add some tests for that to the existing datastore service tests.
And we also need to have a look if corresponding documentation needs to be updated (don't remember if @lakshmi-kannan initially added any documentation about secrets in the datastore).

BTW e2e tests are here - https://github.com/StackStorm/st2tests/pull/47/files


feat: metadata filtering on simplevectorstore

a starting point for a potential implementation of metadata filtering on simple vector store

I'm hoping someone can take this as a starting point and finish the implementation from here. Fair warning what is present here might be garbage relative to the standards you guys are looking for.

@swiecki, that already looks very good! Great job, thanks a lot. Can you add a unit test and a changeset (just call pnpm changeset) - then I would be happy to merge it

bump @swiecki

metadataDict is used, but its:

not defined
never filled with content

closing as metadatafilters are already implemented for SimpleVectorStore - for usage check https://github.com/run-llama/LlamaIndexTS/blob/main/examples/metadata-filter/simple.ts


Adds planner task checklistitem remove command Closes #3282

Adds planner task checklistitem remove command Closes #3282

thanks @akashkarda for your awesome work 👍
You rock 🤩
We will review it asap 👍

Thank you @Adam-it for reviewing the code. All the requested changes has been implemented. Can you please re-review?

Thanks @akashkarda for the quick response. I will try to get back to it ASAP 👍

@akashkarda do you think you could resolve conflicts on this one ?
@martinlingstuyl could I kindly ask you to maybe do a second re review of this on in case I missed something 😉

I'll check it out @Adam-it!

It seems like we have broken tests. Let's fix them before we process the PR further.

Merged manually, thanks @akashkarda! 🤙 Release will follow soon.

Thank you @martinlingstuyl @Adam-it


Modified SchemaRegistry to honor EnumMember attributes

Modified SchemaRegistry to honor EnumMember attribute values (as done in https://github.com/domaindrivendev/Swashbuckle/issues/562).

Do you plan on updating this PR?

Would be great to have this fix available.

would also appreciate this being available. having to keep a static swagger.json around to account for things like this isn't great when the whole advantage of swashbuckle is auto-gen'd api doc from code.

@rboada04 - happy to merge this, can you sync with latest and get the tests passing?

Closing in favor of #619


Update with refactor, added transactions, and SSR imprioved

Overview
This pull request implements the functionalities for updating the template, adding transactions, and improving SSR in the GPD_FRONTEND module. It includes various changes and new features.
Changes

PWA Setup:

Added manifest.json and updated icon images.
Included screenshots for the PWA setup.

Areas Feature:

Created modal component for areas and AreaCard.
Added new areas context and button for adding new areas.
Fully implemented areas feature.

Educational Programs:

Created EducationalProgramCard component and modal for creating educational programs.
Updated SSR items passed to the frontend in the educational programs route.
Created SubjectCard and SubjectModal.

Details

PWA Setup

Implemented PWA setup with manifest.json and updated icons.

Areas Feature

Added modal and context for managing areas.
Implemented full CRUD operations for areas.

Educational Programs

Created components and modals for managing educational programs and subjects.
Refactored socket implementation.

Related Issues
If this is related to an issue or can close an issue:

Closes #IssueNumber

Notes

The API url variable in the  .env has changed, you need to update the env name from API_URL to NEXT_PUBLIC_API_URL.

Thank you for reviewing this pull request. I look forward to your feedback.

You can view all committed changes related to pull request #19 and the commits page for more details.

Bypass used


Update dependency typed-css-modules to v0.6.3

This PR contains the following updates:

Package
Type
Update
Change

typed-css-modules
devDependencies
minor
0.4.2 -> 0.6.3

Release Notes

Quramy/typed-css-modules
v0.6.3
Compare Source
v0.6.2
Compare Source
v0.6.1
Compare Source
v0.6.0
Compare Source
v0.5.1
Compare Source
v0.5.0
Compare Source

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

PR has been edited
:construction_worker: This PR has received other commits, so Renovate will stop updating it to avoid conflicts or other problems. If you wish to abandon your changes and have Renovate start over you may click the "rebase" checkbox in the PR body/description.


Max distance

Hello this undocumented but I created two portal and I can not dial because max distance is 600. How to increase it? Do I have to add a inter-dimensional module to ignore distance? I try to put more row of portal block but without success....
Thanks for the good work nonetheless. The portals look fantastic!

The longer the portal the further you can travel

Like I said doc.
And when you add rows you have to break and replace a former block so the portal update to the new length ;)
At the end that a tremendous amount of quartz!!!


issue 496.1: switch scope of responsibility between a TRI_vocbase_t and a LogicalView in respect to view creation/deletion

http://jenkins01.arangodb.biz:8080/job/arangodb-matrix-pr/1766/

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/1812/


Implement form data

This implements the Phoenix.HTML.FormData protocol for Flop.Meta, allowing you to pass the meta struct returned by Flop to the form_for.

Coverage decreased (-0.8%) to 99.184% when pulling 59f611a6108419e1e81102950f65ea7d804b0e19 on implement-form-data into 5fb75d6130fa6f47604326cd1c733ff4e74785fd on main.


Temporary Bus Name

Allow the default machine-generated temporary queue ID to be specified. Note that it still must be unique.

Added receive settings, should be easy enough to allow queue name to be specified now.

Done for RMQ.


code will become same while switching two files

VSCode Version: Code 1.5.3 (5be4091987a98e3870d89d630eb87be6d9bafd27, 2016-09-22T08:50:42.185Z)
OS Version: Windows_NT ia32 6.1.7601

Steps to Reproduce:

open two js files
work on one file if you switch to other file and come back suddenly both files become same code
This issue occurring multiple time try to fix this ASAP

This has been fixed for 1.6.0

Can you please share the link to download 1.6.o because on website i can only see till 1.5.3


What is Object in Map<String, Object>?

The allowed values for Object in the method: Document.putProperties(Map<String, Object>) are not documentated. Which are?

Number or just Byte, Short, Integer, Long, Float and Double?
Boolean
String or CharSequence?
Collection<T> or Iterable<T> or List<T>? (Where T is one of this types) Is T[] allowed?
Map<String, Object> (Where Object is one of this types)

The same happens for the returned types of Map<String, Object> Document.getProperties().

AFAIK it's any Object.  The only limitation is that Jackson needs to be able to marshal it to JSON, so if it's a non-standard object it doesn't know how to marshal it, it won't work.
If you run into problems, go ahead and open a specific ticket and we can drill into it.


allow modifiying endpoint

it would be great if the endpoint url could be set

I added a button to change the triplestore

Will you update the demo accordingly ?

I had forgotten, it is updated


TS Question: What type is needed in the context for the parent machine to reference the child machine?

Bug or feature request?
Question
Description:
In the docs relating to spawning child machines, the value assigned to the context value that holds the child machine is null.

However I'm using TS and my context is typed so I'm wondering what type should I use?
EDIT: I've tried copying the type from the TS inferrer system (Interpreter type) but that doesn't seem to play nicely with the null value. I'm wondering if using a Union type between Interpreter and null is the way to go?
EDIT: Seems that the Union type solution doesn't work:
Type 'Interpreter<OutputMachineCtx, any, OutputMachineEvents, any> | null' is not assignable to type 'Interpreter<OutputMachineCtx, any, OutputMachineEvents, any>'

Have you tried using string identifiers instead of object getters? I don't use object getters as I just can't get them to work with TS.

Can you put this in a CodeSandbox?

@semopz use string identifiers where?
@mastermike501 you can try
localOne: Interpreter<Context, Event> | undefined then set the value to undefined when you define the initial context. Like David said, would need to look at a sandbox why null isn't working.

@CodingDive, yep my comment can be ignored. I don't know what I was looking at.

New answer:
import { ActorRefFrom } from 'xstate';
import { remoteMachine } from '../path/to/remoteMachine';

interface SomeContext {
  localOne: ActorRefFrom<typeof remoteMachine>
}


Cannot click on the beginning of each line when splitting

the latest version（1.0.3）
I found that I could not click to select the beginning of each line  when splitting left and right
https://user-images.githubusercontent.com/72607182/199883169-511c24b0-24bb-4314-bfe1-eccfb940a2fb.mp4

Thank you for your report. If you turn off SNW this works well? It seems you are using the outliner plugin?
The video doesn't really show me where SNW is causing an issue, so please give me a few more details.

Yes, when I turn off SNW it works well. and this issue came up after I updated SNW this morning. And I've tried using the default topic and then just turning on SNW, and the problem still exists, so I feel like this should be a problem caused by SNW.
Here is a more detailed video, my English is not very good, I do not know if it is expressed clearly, please forgive me.
https://user-images.githubusercontent.com/72607182/199893530-45c6a1f6-cd0b-4fcf-9ed3-c95c841e4a7a.mp4

Yes, when I turn off SNW it works well. and this issue came up after I updated SNW this morning. And I've tried using the default topic and then just turning on SNW, and the problem still exists, so I feel like this should be a problem caused by SNW.
Here is a more detailed video, my English is not very good, I do not know if it is expressed clearly, please forgive me.
https://user-images.githubusercontent.com/72607182/199894240-0f926afd-a526-4867-941f-f544bef5dab3.mp4

Your english is just fine! You nicely explained the issue. I am not able to reproduce it, but I am going to try today and this weekend to see if I can.

Thanks a lot!

I am curious if you have these settings on:

If so, if you turn them off do they fix the issue?

Turning off these options does not fix the issue.
Beside,I can reproduce the issue in sandbox and my friend's computer.
This is a really confusing bug.

So try this please. Turn off gutters.

Now it's solved, thank you sincerely for your patient response

well, that is still a bug. I will have to figure out why the gutter caused that. Another test you can try is turning the line number on in the editor (which is a gutter as well) and seeing if you experience the same issue.
The question is: is this an SNW bug, or something to do with gutters in general?

If I turn on Show line number, everything is ok. And I can also turn on Embed references in Gutter in Live Preview Mode (Desktop), the issue is fixed.

https://user-images.githubusercontent.com/72607182/200493206-ac2054bf-d422-45a5-a98d-730b38619c5a.mp4

I have closed this because in the end it wasn't a bug. Obsidian creates a gutter margin in various scenarios, for example when showing line numbers in the editor. SNW uses "gutters" in some cases. This is off by default in settings. If it gets turned on a gutter is added for SNW.
Each them handles gutters differently. So try different themes to find something that works well for SNW.


How to change output between speaker and headphones in iOS

I am having trouble figuring out how to change output in iOS
I thought following would change it . But it is giving me an error.
I am also seeing only the speaker option so I assume there must be a different way to do this.
await AVAudioSession().overrideOutputAudioPort(AVAudioSessionPortOverride.speaker);
Can anyone provide some assistance for this?

I'll close this as a duplicate of #37 .

If anyone would like to discuss how this can be done, please discuss it in #37 and those discussions will also eventually lead to a convenience method.


Update accessing-storage.md

added notice to install macFUSE and SSHFS from the macFUSE page
added forgotten "-" in a command line and adjusted it

looks good


VS Options aren't there

When I right click the VM in Server Explorer the only options I get is Refresh and Configure. I am using VS Professional 2019 V16.2.5

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

ID: b4faf174-cdfd-e0d5-3eaf-e2c47d6d8f70
Version Independent ID: 3464f7d8-21bc-b920-93a8-f5447b835b82
Content: Debugging an Azure cloud service or virtual machine - Visual Studio
Content Source: docs/azure/vs-azure-tools-debug-cloud-services-virtual-machines.md
Product: visual-studio-windows
Technology: vs-ide-debug
GitHub Login: @Mikejo5000
Microsoft Alias: mikejo

@giorgited -- Giorgi, thanks for your question. It looks like you're having an issue with the product itself, rather than an issue with the documentation. Here are a few options where you might consider asking your question:
https://social.msdn.microsoft.com/Forums/vstudio
https://www.stackoverflow.com
https://www.reddit.com/r/VisualStudio/
As well, you might also consider using the Report a Problem tool to report the issue.
I am closing this issue now.  You are welcome to @ mention me for any followup.
We hope to hear from you again.


<EMAIL_ADDRESS>decompress error

Output from scoop update -k gimp (just in case it was the cache that was hosed):
gimp: 2.10.38 -> 2.10.38-1
Updating one outdated app:
Updating 'gimp' (2.10.38 -> 2.10.38-1)
Downloading new version
Loading gimp-2.10.38-setup-1.exe from cache
Checking hash of gimp-2.10.38-setup-1.exe ... ok.
Uninstalling 'gimp' (2.10.38)
Installing 'gimp' (2.10.38-1) [64bit] from 'extras' bucket
WARN  Cache is being ignored.
gimp-2.10.38-setup-1.exe (323.0 MB) [=====================================================================================] 100%
Extracting gimp-2.10.38-setup-1.exe ... ERROR Exit code was 1!
Failed to extract files from <homedir>\scoop\apps\gimp\2.10.38-1\gimp-2.10.38-setup-1.exe.
Log file:
  ~\scoop\apps\gimp\2.10.38-1\innounp.log

Please try again or create a new issue by using the following link and paste your console output:
https://github.com/lukesampson/scoop-extras/issues/new?title=gimp%402.10.38-1%3a+decompress+error

duplicate isssue. Apologies.


Refactor Constants

Changes

Extract indent to a constant
Delete unnecessary references to rawValue when using TestStatus and Symbol

Note: This PR provides a small QoL benefit before introducing #107.


Modified yii2masonryAsset resource paths to include imagesLoaded.js

Previous commit did not actually load imagesLoaded due to an incorrect file path. This has been tested and works properly.

Hi, I made an alternative implementation on "accident" ;) So I don't know which one is preferred? Yours with starting from bower folder or mine, building an asset class for each bower package..? I kind of like splitting them as if you don't load images, you don't need to add the imagesload Assets...?

That's true and a good point. I honestly have no idea what I'm doing so feel free to ignore this pull request. I'm just learning yii2 and this is the first time I've used composer and bower.

hmm, ok - i'll will make it with two packages and I like that you participate and send pull requests. I will close this one without merging and I will enhance the logiq for the asset loading a bit;) THANKS so far!

Great, sounds good.


fix: correct version string on windows and mac

Whoever thinks that VVVVVV is a hard game just never saw YAML

PR number is apropos

bors r+


Add the ability to commit and tag after bump

:koala:
It delegates to shell command execution. The reasons I think it's OK to do so:

this is opt in
this is not on server side

cc @zendesk/quokka

Looks ok. Hope it works :+1:

It does, I have been using it already.

:+1:


support python 3.7

Airflow need python 3.7, so if we want to run airflow kube executor with the awesomeness from awesome-sso, we need to support 3.7
Description

Checklist - did you ...

[x] Ran poe format, passed poe lint and poe test?
[ ] Add / update tests if necessary?
[ ] Add new / update outdated documentation?

closing this pr and use airflow image that supported python 3.8
https://hub.docker.com/layers/apache/airflow/2.2.3-python3.8/images/sha256-a8c86724557a891104e91da8296157b4cabd73d81011ee1f733cbb7bbe61d374?context=explore

closing this pr and use airflow image that supported python 3.8
https://hub.docker.com/layers/apache/airflow/2.2.3-python3.8/images/sha256-a8c86724557a891104e91da8296157b4cabd73d81011ee1f733cbb7bbe61d374?context=explore


Test official arelle package

Arelle has begun officially packaging the library for PyPI here. It would probably make sense to switch to this version assuming it doesn't break anything, so we can get updates/improvements

@zschira Thinking about the locale issue that forced us to fork Arelle in the first place, I was wondering if we had tried re-setting the locale within the XBRL extraction script itself? Like, is there a way that we can undo the change that Arelle makes once we're finished using Arelle? It doesn't seem to cause a problem in the XBRL extraction -- just downstream in other scripts that need to deal with character encoding that apparently varies by locale.
There's a mention of fixing some locale issues in Arelle in this issue about Python 3.11 compatibility and I wonder if they are related to our problem. I didn't see any other issues discussing locale bugs though.


Actualize UX. article was last time edited in 2016. App Insights portal evolved during past 4 years

Actualize UX. article was last time edited in 2016. App Insights portal evolved during past 4 years

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

ID: fbaec5d3-de6e-4274-96be-0f3a2579edf8
Version Independent ID: 62e008a4-8fdc-a063-a2ff-00e9852002ed
Content: Monitor Java web app performance on Linux - Azure
Content Source: articles/azure-monitor/app/java-collectd.md
Service: application-insights
GitHub Login: @mrbullwinkle
Microsoft Alias: mbullwin

@SychevIgor Thanks for bringing this to our attention! I have assigned the issue to the content author to evaluate and update as appropriate.

This doc has been updated to reflect the latest Application Insights UI experience @MicrosoftDocs/azure-cxp-triage #please-close

We will now proceed to close this thread.


chore(docs): Added new testimonials for Adobe, DINS, Jamf, Veamly and…

… wescale

Did you also want to add these logos to https://www.spinnaker.io/community/#whos-using-spinnaker? I did a quick scroll and didn't notice them.

Yup, I have a note to do that in a separate PR. Takes some time, since you
have to manually re-order all of the logos to keep them alphabetical and 3
per row :)
On Mon, Apr 6, 2020 at 11:00 AM brian-armory<EMAIL_ADDRESS>wrote:

Did you also want to add these logos to
https://www.spinnaker.io/community/#whos-using-spinnaker? I did a quick
scroll and didn't notice them.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spinnaker/spinnaker.github.io/pull/1774#issuecomment-609947765,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFPPOM5LVU6MQMO3S7LKU33RLIKEDANCNFSM4MCOQQQA
.

--
Stu

You are a gentleman and a scholar, and I appreciate you.
On Mon, Apr 6, 2020 at 11:29 AM brian-armory<EMAIL_ADDRESS>wrote:

Merged #1774 https://github.com/spinnaker/spinnaker.github.io/pull/1774
into master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spinnaker/spinnaker.github.io/pull/1774#event-3206680974,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFPPOMY3KKMWERU6GPJ2FZTRLINRNANCNFSM4MCOQQQA
.

--
Stu


chore: divided hbar limtier tests into different batches

Description:
The Hbar Limiter acceptance test has grown larger with multiple exhaustion tests that send substantial traffic to the local node instance. To improve performance and visibility, the tests are being divided into multiple batches.
This PR divides the Hbar Limiter acceptance test into multiple batches.
Related issue(s):
Fixes #3180
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

The consistent build Image test failure is strange 🤔


Started Recipe class, recipeRepository, controller

Another general comment--some of the controller logic will be hard to verify until we have associated views attached. Specifically, we'll need views for the view all, detail view, and create side of things so we can ensure we can do those actions. Not really necessary to change anything because of it we just need to build out further and do some testing!


Not returning headers on error

I working on a sample project that is using Vue/devise_token_auth/Rails API and I'm noticing that there are certain conditions where it's possible to send invalid data and get an error return which doesn't return headers (though they have been changed in the DB). In each case, the next request will fail because the user is sending old headers.
This is the repo I'm working with.
These are two situations that I can consistently replicate the behavior:
Calls to /validate_token eventually return 304 without the headers. If I look at the rails logs though, I can see that the token was updated. Interestingly, the logs say that it responded with 200, but Chrome disagrees.
Sending incorrect data to /password will return 422 without headers (again, changed in the DB). This works for sending the wrong current password, sending no current password or mis-matched new passwords.

Version: 0.1.42
Devise Version: 4.3.0

The repo has a full log of the changes from each generator, but these are the most relevant I think:

The Api is running under an api namespace
Omniauthable and confirmable are removed, but other than that everything is as it comes out of the generator
password is required to change the password

Hey @nicholasshirley, looking forward to seeing your Vue integration.
I know a lot of people run Devise Token Auth with change_headers_on_each_request set to false. Are you able to make your integration work with this setup?
Obviously it's not the best long-term solution, but it may get the Vue integration up and running, at least.

I had another project that we ended up doing this to get it working. Not changing headers on each request would certainly get the error rate down for the Vue example. If the headers don't change on each request then the only issue I could think of would be cases where the user might have a valid token from a previous session (so they would get user information returned for the first /validate_token request when the component is mounted), but don't get new headers. This will display the app as if they are logged in, but their next action will return 401 so they will have to log in again. I don't know how often that would occur, most of the errors I have are not on the first page load, but after refreshing. I will update the example for this case and see how it does.
I would be curious though if someone else can replicate this behavior. Having the Rails log and Chrome network tag disagree about what status code was sent seems weird, as does devise_token_auth occasionally not sending headers. In the sample, there's nothing changing between requests, but the response is different which doesn't seem like it should be the case, but maybe this is my not understanding something about how the Gem works or how Rack/Rails is dealing with requests.

"If the headers don't change on each request then the only issue I could think of would be cases where the user might have a valid token from a previous session (so they would get user information returned for the first /validate_token request when the component is mounted), but don't get new headers. This will display the app as if they are logged in, but their next action will return 401 so they will have to log in again."
Yeah, we actually check for a 401 on our app before we render any components that depend on the state of people being logged in or not.
I'd imagine the behavior you're describing in your last paragraph is happening....but could you maybe give some examples of requests/response parameters? Might help us get to the bottom of the issue a bit better.

For the /validate_token endpoint this is what axios is sending:
axios.get(VALIDATE_URL)
      .then((response) => {
        Store.login(response.data.data);
      })

headers are saved and sent from local storage each request. The only change is the updated headers. Send it several times (and possibly with enough speed) and the server will update the headers, but fail to send new ones back. I can see in the logs that the token is updated in the DB, but never sent in Chrome's network tab.
The params for the /password endpoint are correctly formatted data (e.g. if you pass good params it will update the password and return headers), but if you pass the wrong current password, no current password or mis-matched new passwords it will update the token and fail to send it back.
I have turned off token changes in other commits, but this branch has the repo at the state where tokens were still changing. Basically login and hit refresh on the main page until you get an error or try to update the password with wrong info. Actually, after I set up that branch I was able to trip it a third way by having 2 closely spaced requests to different endpoints. The second request updates the token in the DB, but they are not sent back as headers.

Well, as so often happens, I think the problem this time was between the keyboard and the chair. The axios interceptors weren't savings new headers on error so of course the next request after any error had stale headers.
Closing. Thanks for the support!


data define support getter and setter

It's actually possible to support real ES5 getter/setters by using getOwnPropertyDescriptor, but I decided not to do that because:

Performance concerns;
Vue's data objects are meant to be static, which means they should be JSON.stringify compliant so that they can be easily persisted to the backend.

For dynamic view state we have computed properties. Do you think there are use cases that getter/setters on the data object can be particularly useful?


Encoding failed

Q
A

Bug?
yes

New Feature?
no

Version Used
0.8.0

FFmpeg Version
ffmpeg version 3.2.2 Copyright (c) 2000-2016 the FFmpeg developers

OS
macOS 10.12.3

Actual Behavior
Encoding failed
Steps to Reproduce
I want to convert a mp4 video file to mkv but it was failed. Here is the log:
ffmpeg failed to execute command '/usr/local/bin/ffmpeg' '-y' '-i' 'mypath/SampleVideo_1280x720_20mb.mp4' '-ss' '00:00:05.00' '-threads' '12' '-vcodec' 'libx264' '-acodec' 'libfaac' '-b:v' '1000k' '-refs' '6' '-coder' '1' '-sc_threshold' '40' '-flags' '+loop' '-me_range' '16' '-subq' '7' '-i_qfactor' '0.71' '-qcomp' '0.6' '-qdiff' '4' '-trellis' '1' '-b:a' '128k' '-pass' '1' '-passlogfile' '/var/tmp//ffmpeg-passes5897d94ab3505dfux7/pass-5897d94ab358e' 'mypath/SampleVideo_1280x720_20mb.mkv'
I tried to run that command in terminal and got this error: Unknown encoder 'libfaac'. A quick search on google showing that libfaac had been removed from ffmpeg. Any suggestions for this issue?

I had the same problem today. I solved it by adding 'aac' to the getAvaibleAudioCodecs function in the X264 class.
Then I convert the file this way:
$video->save(new X264('aac', 'libx264'), $sDownloadDir.$file->getTitle().'.mp4');
This is for html5 friendly video/audio.
We might want to update this in the repo?

Thanks, new X264('aac', 'libx264') did the job

Hi @DHoogland,
You shouldn't have to change the core files. This has already been fixed in 0.7.0 by @Neck, in PR #257.
Since this issue is solved, and you found the proper way to use it, I'll close it.
R


Create extract_hsi_to_tif.py

adding functions for extracting hsi and solar/sensor data from h5 files. This uses rasterio and should solve both #40 and #41. Tests haven't been added yet.

@MarconiS, are you creating tests for this script also, or should I work on that?

don't worry about that, I'm working on them. Just wanted you to to be able to try the branch if you want to

Sure..okay, let me know if you need any help.

you can use anything, like "tile" for example
Sent from my iPhone
On Nov 11, 2022, at 12:58 PM, Nageshbansal @.***> wrote:

[External Email]
@Nageshbansal commented on this pull request.

In neonwranglerpy/lib/extract_hsi_to_tif.pyhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fweecology%2Fneonwranglerpy%2Fpull%2F46%23discussion_r1020448081&data=05|01|s.marconi%40ufl.edu|4f74bc4fb1974981260c08dac40e596e|0d4da0f84a314d76ace60a62331e1b84|0|0|638037863164297684|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=cpc8teI3vLJdNVi0L16FoGmTC1IiCwADB5QN83O%2F54k%3D&reserved=0:

+def calc_clip_index(clipExtent, h5Extent, xscale=1, yscale=1):

"""Extract numpy index for the utm coordinates"""
h5rows = h5Extent['yMax'] - h5Extent['yMin']
h5cols = h5Extent['xMax'] - h5Extent['xMin']

ind_ext = {}
ind_ext['xMin'] = round((clipExtent['xMin'] - h5Extent['xMin']) / xscale)
ind_ext['xMax'] = round((clipExtent['xMax'] - h5Extent['xMin']) / xscale)
ind_ext['yMax'] = round(h5rows - (clipExtent['yMin'] - h5Extent['yMin']) / yscale)
ind_ext['yMin'] = round(h5rows - (clipExtent['yMax'] - h5Extent['yMin']) / yscale)

return ind_ext

+def generate_raster(h5_path, save_dir, rgb_filename=None, bands="no_water", correction="all", bounds = False, suffix=None):
can you please give me an example of rgb_filename
—
Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fweecology%2Fneonwranglerpy%2Fpull%2F46%23discussion_r1020448081&data=05|01|s.marconi%40ufl.edu|4f74bc4fb1974981260c08dac40e596e|0d4da0f84a314d76ace60a62331e1b84|0|0|638037863164297684|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=cpc8teI3vLJdNVi0L16FoGmTC1IiCwADB5QN83O%2F54k%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACYZQDIVHMC5XKUR5YJA3E3WH2CMTANCNFSM6AAAAAAR36ENSU&data=05|01|s.marconi%40ufl.edu|4f74bc4fb1974981260c08dac40e596e|0d4da0f84a314d76ace60a62331e1b84|0|0|638037863164297684|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=fGtEjElIjzvUB%2FrNQRr%2F3K23lSbO%2Bb3q83JDdnymm34%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>

Were you able to write the raster file in your system using the array2raster function?


Current Template Not Being Applied?

Describe the bug
A fresh checkout of develop (d00c1ff03dbe2aacc751f4afcc343298c7023a2f) seems to ignore renative.plugins.json::currentTemplate and not apply it.
To Reproduce
Steps to reproduce the behavior:

Checkout develop branch
Run yarn bootstrap; yarn run link
Run rnv run -p android / ios
See Screenshot

** Note that running rnv template apply then repeating Step3 results in the good things
Expected behavior
I see the good things
Screenshots or copy&paste

Desktop (please complete the following information):

OS: osx
Node Version: v12.4.0
RNV Version: the linked version within the develop checkout (see SHA1 above)

Additional context
Add any other context about the problem here.

Please note that this PR should be merged first in order to replicate. - https://github.com/pavjacko/renative/pull/449


better support for decorator

Support decorator in call_arguments
See https://rescript-lang.org/syntax-lookup#this-decorator
setIncrement(counter, @this (me, amount) => me->setValue(me->getValue + amount))

Reanalyze decorators https://github.com/rescript-association/reanalyze/blob/master/EXCEPTION.md
// Silence only the make function
let stringMake2 = (@doesNotRaise String.make)(12, ' ')

// Silence the entire call (including arguments to make)
let stringMake3 = @doesNotRaise String.make(12, ' ')

Thank you!


I can not open a 380 MB text file In VSC on Mac.

VSCode Version: 1.41.1
OS Version:  Catalina 10.15.3

Steps to Reproduce:

Open a 380 MB file

Does this issue occur when all extensions are disabled?: Yes/No

Can you provide more details on the type of text file -- just normal txt? Also please describe what happens when you try to open the file.

Can you try to set files.maxMemoryForLargeFilesMB to a large value and see if it helps?


Switching branches in git doesn't upload changed files

What happened
When changing branches, a running theme watch leaves artifacts of previous branch, doesn't detect changed files and upload them.
What I expected to happen
I would expect that changing branches would result in the correct files for that branch being uploaded to the server.
Steps to reproduce

Start theme watch
Change branches
Observe that files/file versions from previous branch remain deployed on server

My Environment
OS (including version): High Sierra 10.13.3
Themekit version: v0.7.5
Ignore Files(if any): none

This was done by design so that accidental full overwrites did not happen. You can see this behaviour because when you checkout a new branch you will see that the watch command reloads to make sure that it has the most up to date configuration.


Closed interval maybe a mistake?

In my current experience, the expression 0..5 means that [0,1,2,3,4,5] doesn't seem to work as well as [0,1,2,3,4], so the half-closed interval $[a, b)$ might be better?

I'm afraid it would be a huge breaking change.
What about the math version: [0..5] for [0,1,2,3,4,5] and [0..5[ for [0,1,2,3,4] (if the syntax is possible)
The other option would be to use the Python equivalent [0:5]

Indeed, and I find some interesting uses of range:
> [1, 2, 3, 4][0 .. -1]
[1, 2, 3, 4]
> [1, 2, 3, 4][0 .. 0] # not an empty range
[1]
> [1, 2, 3, 4][0 .. -4]
[1]
> [1, 2, 3, 4][0 .. -5]
[]

You could also use Ruby syntax by adding another dot, but i can see how that would be confusing.
> [0..5]
[0,1,2,3,4,5]
> [0...5]
[0,1,2,3,4]

Another idea is having ..= and ..< to be more explicit, but it may look too ugly/verbose
> [0..=5]
[0,1,2,3,4,5]
> [0..<5]
[0,1,2,3,4]

The other option would be to use the Python equivalent [0:5]

I agree with this.

Revisiting some old issues.

I'm just a casual observer who thinks Berry is really neat, but IMHO Python's a[start:stop:step] slice syntax strikes a nice balance between expressiveness and complexity.  Especially with support for negative numbers.

This may be possible. Considering:
# if operator : has the following rules:
a : b # => range(a, b) if `a`, `b` is integer
a : b # => range(a.lower(), a.upper(), b) if `a` is a range, then update its step!

# examples:
1 : 10 : 2 # => range(1, 10, 2)

Revisiting some old issues.

It doesn't seem like a big deal?


make a docker environment

hello,Hello, I would like to ask if I can generate a usable Field2Cover image in an Ubuntu 20.04 environment with your Dockerfile? What dependencies are needed? Or if you have a directly executable image, could you share it?

Hi @zzm-svg,
yes, you can generate the docker image from the Dockerfile in your system. Download the Fields2Cover library and, from the main folder do:
docker build -t fields2cover .
docker run -it fields2cover

You only need to have docker installed

HI,Due to network reasons, I cannot pull osgeo/gdal:ubuntu-full-3.6.3. Can you provide me with a mirror? Thank you very much.

what are your network restrictions? the container repo? or the specific image?

As there are no updates, I'll close this issue


Minor: Bug fixes and filter recombinant lineages from the time-scaled tree

Remove recombinants from the time-scaled tree #405
Filter recombinant lineages #413
Bug fixes #421, #424, #428

Search by country seems to be broken again:
d3.js:1497 Uncaught (in promise) TypeError: Cannot read properties of null (reading '__data__')
    at Selection.selection_datum [as datum] (d3.js:1497:20)
    at draw_cluster_box (drawtree.js:51:16)
    at select_cluster (search.js:322:3)
    at main_search (search.js:182:17)
    at async wrap_search (search.js:110:5)
    at async HTMLInputElement.<anonymous> (covizu.js:351:7)

Search is not picking up hits from recombinant clusters:

Moving the slider resets the selected cluster to be first "Non Recombinant" cluster in the tree. Need to change this to select search hits from the closest cluster

Checking the following:

[ ] Search

[ ] Search by accession
[ ] Search by lineage
[ ] Search by country
[ ] Search by country (with date filter)

[ ] Tree filtering
[ ] Download Timetree (nwk)
[ ] Download Timetree (csv)
[ ] Download Beadplot (svg)
[ ] Download Beadplot (nwk)
[ ] Beadplot cutoff slider
[ ] Expanding Beadplot
[ ] Translated pages
[ ] Changing the colour of the tree based on divergence, collection date, etc.
[ ] Left/Right arrow key to move between beads
[ ] Tooltips

During a search, multiple time scales are being drawn:


MD5 string validation

MD5 string validation using regex.

Coverage increased (+0.01%) to 99.103% when pulling 6e2c7fa10cdb72a567e1951b63a9f556937716a9 on gdraganic:master into b22f199f4d22d06febc8abc42535a504090d5d68 on chriso:master.

Thanks for the PR :smile:

Coverage increased (+0.01%) to 99.103% when pulling 065377d81e4de9b2c158a2367375805aba1b2fc3 on gdraganic:master into b22f199f4d22d06febc8abc42535a504090d5d68 on chriso:master.


crash in tcmalloc_minimal on windows( RemoveInitialHooksAndCallInitializers() in malloc_hook.cc)

Downloaded the latest gperftools 2.12 from github, built it configured it with Release-Override x86 on windows using VisualStudio 2022。
link libtcmalloc_minimal.lib in statically with a Console APP for test purpose.   The test app'code is very simple:
#include
#include <windows.h>
int main()
{
printf("hello tcmalloc test. \n");
char* p = new char[260];
if (NULL != p)
{
    ZeroMemory(p, 260);
    strcpy_s(p, 260, "123456");

    printf("p = %s\n", p);

    delete[] p;
    p = NULL;
}

getchar();
return 0;

}
then Press F5 to debug it, a exception occur :
Exception thrown at 0x773FF5F3 (ntdll.dll) in tcm_s.exe: 0xC0000005: Access violation writing location 0x00000014.
the callstack is：
ntdll.dll!RtlpWaitOnCriticalSection()	Unknown
ntdll.dll!RtlpEnterCriticalSectionContended()	Unknown
ntdll.dll!_RtlEnterCriticalSection@4()	Unknown
[Inline Frame] tcm_s.exe!_Init_thread_lock() Line 146	C++
tcm_s.exe!_Init_thread_header(int * pOnce) Line 200	C++
[Inline Frame] tcm_s.exe!?A0x240ceca3::RemoveInitialHooksAndCallInitializers() Line 132	C++
tcm_s.exe!`anonymous namespace'::InitialNewHook(const void * ptr, unsigned int size) Line 121	C++
[Inline Frame] tcm_s.exe!MallocHook::InvokeNewHookSlow(const void *) Line 314	C++
tcm_s.exe!MallocHook::InvokeNewHook(const void * p, unsigned int s) Line 133	C++
[Inline Frame] tcm_s.exe!tcmalloc::do_allocate_full(unsigned int) Line 1808	C++
tcm_s.exe!tcmalloc::allocate_full_cpp_throw_oom(unsigned int size) Line 1818	C++
[Inline Frame] tcm_s.exe!tcmalloc::dispatch_allocate_full(unsigned int) Line 1826	C++
[Inline Frame] tcm_s.exe!malloc_fast_path(unsigned int) Line 1881	C++
[Inline Frame] tcm_s.exe!tc_new(unsigned int) Line 2022	C++
[Inline Frame] tcm_s.exe!operator new(unsigned int) Line 45	C++
tcm_s.exe!__acrt_initialize_heap() Line 101	C++
tcm_s.exe!__acrt_execute_initializers(const __acrt_initializer * first, const __acrt_initializer * last) Line 25	C++
tcm_s.exe!__acrt_initialize() Line 259	C++
[External Code]

So I didn't reproduce your repro case, but I see the problem from backtraces you post. For that I uploaded fix. Please test latest master and update if the issue is gone.

It works!
Thanks for the fix!


Change usage of undef_method to remove_method

undef_method has very different semantics. It prevents the class
from responding to the named method. This means that also original
methods on super classes won't be called. This for example results
in weird behavior on Rubinius since the original method_missing
method can't be called which normally throws the NoMethodError.
Also see:
http://www.nach-vorne.de/2008/2/28/undef_method-remove_method/index.html

Thanks! Good catch.


Create buffered signals channel

What does this PR do?
Creates a buffered signal channel so that signals don't get dropped.
Motivation
Required to pass newer versions of  go vet
More

[ ] Added/updated tests not needed
[ ] Added/updated documentation not needed

Additional Notes
Our code looks like the example given:
https://github.com/golang/go/issues/45043#issuecomment-799840926
The signal documentation suggests using a sufficient sized buffer to handle signal backup in the channel: https://golang.org/pkg/os/signal/#Notify so I figure 100 signals should be more than sufficient.

I am unsure if this is a "bugfix" worthy of being on 2.4, but it is a quick rebase if needed.


fix type-system, use overload for tranform() and reorder butterfly-fn

fix a couple of things:

it was possible to call the constructor with 'kissfft<float,int> fft(#,#);' -> typesystem was broken
kf_work() is not needed anymore, you can just overload transform() for that
ordering of butterfly functions was b2 b4 b3

changes are tested with unittests!
is there any reason why there are no issues allowed? there are some other points I like to address. It is nice to have cleaner code with std::complex, but performance is 20-30percent worse than the c-function.

Issues are enabled! I had disabled them because this github project started as just a mirror of Borgerding's project, but has grown some since then. Your changes look good.


FancyZones - Maximise/minimise windows with win+up/down

Description of the new feature / enhancement
As in default windows the shortcuts "win+up" maximises windows while "win+down" minimises window to taskbar.
I would like to keep using this feature with FancyZones and the button combination seems to be available to while overriding the windows default snap shortcut.

The button combination "win+up/down" is available with the selection in the attached picture.
Scenario when this would be used?
While FancyZones enhance the tiling of the windows manager it also removes built-in functionality.
Supporting information
No response

@DavidKvist it's known that Win+Up/Down replaces built-in functionality, so that's why there is a choice. If you prefer to use the default Win+Up/Down behavior, so please select the Win + Left\Right to move windows based on zone index.
Thank you for using PowerToys and keeping us aware.

@SeraphimaZ
Please advise,
With the option (left/right) the windows maximise/minimise does not work.

With the option (left/right) the windows maximise/minimise does not work.

I would appreciate more information to reproduce the problem since I cannot repro it locally. Does it happen with any window or with some special program? Also, I would need a bug report (right-click on the PowerToys tray icon, Report Bug).
Thanks!

Hi,
Follow up here, I must have been confused between my machines with most of them set on left/right while at least one was set to left/right/up/down and hence the issue.
I'm marking this issue as closed due to human incompetence!


Trait not registered: class

I'm working on a rails 3.1.3 app. I wanted to check out rails 3.2.0.rc2. After updating the rails gem, I started getting this error from factory girl.
I've put together a couple gists that include my gemfile and factories, and the output I'm seeing.
before and after
The only changes that have been made from before to after are to the gemfile.

Is this the full and unmodified version of the factory file? The things that stand out to me are that it's looking for a trait when you're clearly asking for an association (at least, that's what it seems like to me). The implicit declaration is where this is determined: https://github.com/thoughtbot/factory_girl/blob/master/lib/factory_girl/declaration/implicit.rb Why it's not recognizing that as another factory is boggling me.
If you have the real factories available, that would probably help a lot. Thanks!

@joshuaclayton Thanks for replying so quickly. The code is from a client project, which is why I posted the edited factories. I thought I'd posted the important bits, but apparently not.
I've updated the before gist to reflect the entire factories.rb file (with the model names changed). This led me to the fix:
Apparently calls to fixture_file_upload need to be wrapped in {}. Where I had
attachment fixture_file_upload(Rails.root.join(*%w[ spec data child_a.txt ]), 'text/plain')
should be
attachment { fixture_file_upload(Rails.root.join(*%w[ spec data child_a.txt ]), 'text/plain') }
instead.

Ah, yeah, that'll do it. Typically I wrap all my attributes where I assign values in blocks. It shouldn't cause a slowdown and it helps prevent some of these oddities :-)


conf: Make samplebuilderconf public so that we can set it.

Example usage for a server that would use ion-avp as a library:
avpHost := server.NewAVP(
    avp.Config{
	Log:           log.Config{Level: "debug"},
	SampleBuilder: avp.Samplebuilderconf{AudioMaxLate: 100},
    },
    map[string]avp.ElementFun{"webmsaver": createWebmSaver},
)

looks good!

looks good!


Support application/msword content type

(Submitted via email on Dec 24th, 2015 by Harrison Teng)
mail.go:
@@ -154,7 +158,7 @@ func ParseMIMEBody(mailMsg *mail.Message) (*MIMEBody, error) {

                // Locate attachments
                mimeMsg.Attachments = BreadthMatchAll(root, func(p MIMEPart) bool {
-                       return p.Disposition() == "attachment" || p.ContentType() == "application/octet-stream"
+                       return (p.Disposition() == "attachment" || strings.HasPrefix(p.ContentType(), "application"))
                })

                // Locate inlines

Basically, I found that some attachments have application/msword in the ContentType so I just check the prefix of ContentType, see below snippet of the msg:
Content-Type: application/msword;
        name="some.doc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
        filename="some.doc"

Hey @harrisonteng - I added a unit test for this case, and it already passes: 09cc4bd904ce650910c99b51da5aade46f88028b
I'm pretty sure the Content-Disposition: attachment line in your snippet causes enmime to treat it as an attachment - see the return p.Disposition() == "attachment" in the original part of your patch above.
Do you think the message causing your problems was lacking the Content-Disposition header for that MIME part?

ha, thanks for the reply, @jhillyerd, really appreciated.
I will retest it and please note that the enmime library I tested was back to Aug, 2015, git hash https://github.com/jhillyerd/go.enmime/commit/957809c9b79242bdc307fc9ba6263e4d4023df33.
I saw you commit quite a bit after that time so it may work with my test already, I will keep you posted, thanks again


[cluster-test] Add experiment to simulate multi-region environment and report result

Summary

This is the code which is used to run experiments with introducing network delays between nodes and simulation of multi-region
With this we can specify a list of split sizes and delays and we will run the simulation for every combination of these two parameters
Update NetworkDelay to be an Effect instead of Action
Update flags for multi-region simulation because now we can run simulations with a variety of split sizes and delays instead of just one
Complete rewrite of multi_region_network_simulation.rs to handle running simulations with a variety of configs
Print a list of all metrics in a csv format at the end of the experiment

Test Plan
Tested this on my cluster

@bors-libra r+
Sorry took some time to review that...

:pushpin: Commit e5fe4f0 has been approved by andll

:hourglass: Testing commit e5fe4f0ba76689d5cc78a492fad616e19cc95175 with merge 3a0b3a5bb2a164fa113d8d8d27b7a95909402bd7...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: andll
Pushing 3a0b3a5bb2a164fa113d8d8d27b7a95909402bd7 to master...


unwanted - key dev PC VSC 1.58.2 has flipped into Insiders mode

Issue Type: Bug
My key dev VSC 1.58.2 has flipped into Insiders mode, as the Jupyter notebook Markdown Theme is solid grey (not very workable) and suddenly has the new cell timers. But big problem is this is buggy - the Variables (in both Jupyter and normal .py) don't show in window (Problems and Terminal etc aok), which is critical.
Oddly, my other laptop also has exact latest 1.58.2 and does maintain the Jupyter Markdown Theme without the timers, so is normal. So, why has my core dev machine switched to what looks like Insiders release? Am trying to recommend VSC but I need a stable IDE to get my work done.
VS Code version: Code 1.58.2 (c3f126316369cd610563c75b1b1725e0679adfb3, 2021-07-14T22:10:15.214Z)
OS version: Windows_NT x64 10.0.19043
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (8 x 3408)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.89GB (16.72GB free)

Process Argv
--crash-reporter-id d2176d00-8911-4b68-94f8-b8a8636608a0

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

python
ms-
2021.7.1060902895

vscode-pylance
ms-
2021.7.5

jupyter
ms-
2021.8.1054968649

synthwave-vscode
Rob
0.1.8

(4 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspyt653:30270858
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30300192
pythontb:30283811
pythonvspyt551:30311712
vspre833:30321513
pythonptprofiler:30281270
vsdfh931:30280409
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscus158:30321503
pythonvsuse255:30340121
vscod805:30301674
pythonvspyt200:30340761
vscextlang:30333561
binariesv615:30325510
vsccppwt:30329788
pythonvssor306cf:30341832
bridge0708:30335490

@TickboxPhil We recently enabled the preview notebook interface for 100% of customers in VS Code Stable who have not opted out of experiments. Your other laptop likely has a setting like "jupyter.experiments.enabled": false or "jupyter.experiments.optOutFrom": ["NativeNotebookEditor"] in the settings.json. We are currently planning to remove the ability to opt out in the upcoming release, so thank you for letting us know about these issues--we are working to fix them ASAP:

You can disable the timers and the cell status bar by selecting 'hidden' instead of 'visible' for notebook.showCellStatusBar

We're aware of an issue with variable explorer sometimes not working https://github.com/microsoft/vscode-jupyter/issues/6794 Is this what you are seeing?
Re: Jupyter notebook Markdown theme, just to clarify, is the issue that you dislike the way that markdown cells currently render, or something else?

Thank you and apologies for the inconvenience.

Thanks for understanding and adding clarity @joyceerhl .
There's a ton of settings.json scattered throughout Settings, but I found "Enable Experiments" under User -> Workbench, and have unticked it on dev PC. Unfortunately, even after restart of VSC that is not reflected and I still have the horrible markdown - it's flat grey on everything (code, comments and output) other than charts, so difficult to distinguish cells. I'm not fussed about disabling the timers - they're great in fact, I just don't want the unclear markdown, a massive backwards step. Also concerning you guys removing that "Enable Experiments" toggle and forcing it (as no "opt out" implies), as some of us have our own job to do, not QA of IDE! Am happy to use Insiders for that.
Difference between laptop and PC is the latter is user-install based, wheras laptop usually "for all users" - small chance that is why they're different ("Enable Experiments" is ticked on both, so not that).
The Variable Explorer not working (will test further against that other Issue) is another major setback forcing me to run to the other hell of PyCharm instead, was just getting used to VSC. Hope I can come back (am sure I will!). Thanks for your attention.

@TickboxPhil we are shipping changes to improve distinguishing cells in the upcoming stable release, it will soon look like this: https://github.com/microsoft/vscode/issues/128885#issuecomment-882897697 You can also customize notebook color tokens in your settings.json.
Just to clarify, the reason that the enable experiments toggle is being removed is that the new notebook UI is being rolled out in full to replace the old UI, i.e. it is not intended to be an experimental feature any longer.
Sorry about the variable explorer not working. Would you mind sharing more info on how it's not working?

@joyceerhl am looking forward to seeing those proper cells again (but better and less contrast eye strain)! Even better when we can collapse/expand all code cells so we can review output easily (or use 2 panes like PyCharm) - I requested at https://github.com/microsoft/vscode/issues/128519 but there's a lot going on for folks.
Fair enough on non experimental UI. Hope we don't have to endure too much experimentation in production in future (happy to provide feedback on new stuff or changes but not on major obvious backsteps)!
Variable explorer became intermittant at same time as "new look" notebook UI, but it's working currently - will add to or create new Issue if it blanks out again.
Many thanks for keeping on it. Could really do with a way to get back to the old notebook UI but will suffer until the new one.

Re: https://github.com/microsoft/vscode/issues/128519, does this command do what you want?

Ah - excellent, they do collapse now! Some gain with pain then, thanks for bringing this back to attention @joyceerhl.
Fantastic - big productivity gain with long notebooks (was a hassle having to split them and use %store -r dataframe to retrieve pickles even in same workspace).
Currently only works from the cell menu - the shortcut (on Windows) Crtrl + K Ctrl + C (umm, both or either?!) doesn't work - they mark the line as comment.
What would be killer is to project this to a "Collapse/Expand All Code Cells" in the top bar, to apply across the board. Massive production gain when poring through the outputs. That way, VSC much better than PyCharm which depends on split screen Code + Preview, wasting huge horizontal space (although sometimes good to have code and outputs separate).
Collapse/Expand All Code would seriously rock!

The shortcut works when the cell is in edit mode. When editing a cell, press esc to put it into command mode. I'm on Windows and it definitely works for me (and verified Cmd+K Cmd+C also works on Mac).
VS Code notebooks support multiselecting notebook cells, but unfortunately it looks like Collapse Cell Input doesn't handle all of them. I don't believe we support collapsing all cell inputs today, so I've gone ahead and opened https://github.com/microsoft/vscode/issues/129488
Out of curiosity, is collapsing/expanding all code cells something that you frequently have to do? What is the use case for this gesture, and why would you want it surfaced in the top-level toolbar (versus, say, just in the command palette)?

Ctrl K Ctrl C not working on my Windows PC - looking deeper, the first stroke does, as the status bar shows it's waiting for the second, but that Ctrl C instead just comments out the line with a prefix #. See screenshot:

Thanks for the Collapse/Expand All Request Issue, hope it gets some love!
I understand need not to clutter the toolbar - and I think it's clearer with the text rather than tiny icons like before, so great. Maybe the +Code / + Markdown there is overkill unless the hover-overs between cells are not clear, but not a big problem. I didn't like losing the Save icon, but learn to keyboard shortcut it!
I'd use the Collapse All on almost every notebook, as my usual focus is EDA, Regression, ML etc, where many outputs and charts need to be compared - and having code and functions clogging up the screen forcing constant scrolling does slow down progress and increase chance of visual mistakes. I personally would prefer it on the toolbar, but anywhere else inc command pallette is fine!

From the screenshot above, it looks like you have your cursor inside the cell, which means the cell is in edit mode:

For Ctrl+K Ctrl+C to work, you'll want to put the cell in command mode (no cursor and no blue border around the cell editor area):

Hopefully that works for you 🤞

Ah yes indeed - that works when exiting editing mode, thanks @joyceerhl. It's a bit counter-intuitive, because I can't be the only one who selects a cell by putting cursor in it, and the cell toolbar then tells me I can use that shortcut (which is wrong). Wise to make it work in edit mode too!


Fix list source in generator

I'm not too familiar with this repo nor python, but I believe there's a bug in .generate.
There doesn't appear to be support for source type 'line', there is support for 'list' but it isn't included on the list of sources. So I renamed line to list on the source list. Then it wasn't working due to encoding so I added decoding from elsewhere in the code and now there's an additional 900+ domains on the list.

@MKRazz you are right 👍
I don't know how we could not see this bug! Thank you very much!


Package just doesn't work at all and doesn't set headers.

I was previously using barryvdh/laravel-cors and that worked perfectly fine. Since this seems to be the "newer" version of that I decided to just update to this, and upon updating everything is broken and there is no clear indication as to why.
I'm using Laravel as a REST API and I'm using a VueJS frontend to interact with it. Upon sending a request from my VueJS dev server to my Valet Laravel domain, I just instantly get 401'd on an OPTIONS request with it claiming Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
And sure enough, there is no header on the response which I thought was sort of the point of this package?
I've followed the instructions to a tee, and I'm not even using anything crazy advanced. Currently I've just set my options to allow all origins like so;
<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Laravel CORS Options
    |--------------------------------------------------------------------------
    |
    | The allowed_methods and allowed_headers options are case-insensitive.
    |
    | You don't need to provide both allowed_origins and allowed_origins_patterns.
    | If one of the strings passed matches, it is considered a valid origin.
    |
    | If array('*') is provided to allowed_methods, allowed_origins or allowed_headers
    | all methods / origins / headers are allowed.
    |
    */

    /*
     * You can enable CORS for 1 or multiple paths.
     * Example: ['api/*']
     */
    'paths' => ['*'],

    /*
    * Matches the request method. `[*]` allows all methods.
    */
    'allowed_methods' => ['*'],

    /*
     * Matches the request origin. `[*]` allows all origins.
     */
    'allowed_origins' => ['*'],

    /*
     * Matches the request origin with, similar to `Request::is()`
     */
    'allowed_origins_patterns' => [],

    /*
     * Sets the Access-Control-Allow-Headers response header. `[*]` allows all headers.
     */
    'allowed_headers' => ['*'],

    /*
     * Sets the Access-Control-Expose-Headers response header.
     */
    'exposed_headers' => false,

    /*
     * Sets the Access-Control-Max-Age response header.
     */
    'max_age' => false,

    /*
     * Sets the Access-Control-Allow-Credentials header.
     */
    'supports_credentials' => false,
];

I've got no idea what the issue is and it's incredibly frustrating that the previous version worked and this new one doesn't...
And for anyone wondering, no I'm not using dd() or dump() or anything similar that would be causing this issue.

Did you add the middleware globally?

@marbuser in cors.php file, set 'paths' => ['*']

@Melcus He has that in his config.

@barryvdh saw that and deleted the message right when you posted, my bad

@barryvdh got same problem.
`<?php
return [
/*
|--------------------------------------------------------------------------
| Laravel CORS Options
|--------------------------------------------------------------------------
|
| The allowed_methods and allowed_headers options are case-insensitive.
|
| You don't need to provide both allowed_origins and allowed_origins_patterns.
| If one of the strings passed matches, it is considered a valid origin.
|
| If array('*') is provided to allowed_methods, allowed_origins or allowed_headers
| all methods / origins / headers are allowed.
|
*/

/*
 * You can enable CORS for 1 or multiple paths.
 * Example: ['api/*']
 */
'paths' => ['api/*'],

/*
* Matches the request method. `[*]` allows all methods.
*/
'allowed_methods' => ['*'],

/*
 * Matches the request origin. `[*]` allows all origins.
 */
'allowed_origins' => ['*'],

/*
 * Matches the request origin with, similar to `Request::is()`
 */
'allowed_origins_patterns' => [],

/*
 * Sets the Access-Control-Allow-Headers response header. `[*]` allows all headers.
 */
'allowed_headers' => ['*'],

/*
 * Sets the Access-Control-Expose-Headers response header.
 */
'exposed_headers' => false,

/*
 * Sets the Access-Control-Max-Age response header.
 */
'max_age' => false,

/*
 * Sets the Access-Control-Allow-Credentials header.
 */
'supports_credentials' => true,

];
`

How does your Kernel.php look like.

We had a similar issue. After upgrading our Kernel.php looked like this:
protected $middlewareGroups = [
    'api' => [
        // ...
        \Fruitcake\Cors\HandleCors::class,
    ],
];

But when we read the release notes we switched to this:
protected $middleware = [
        // ...
        \Fruitcake\Cors\HandleCors::class,
];

We also replaced the config/cors.php and changed the paths value to ['api/*'] and now the middleware works correctly.

@barryvdh the upgrade process is a nightmare, please make an UPGRADE.MD and explain what is this new parameter "path", it seems that it needs a value, but is empty by default !

There is a changelog here: https://github.com/fruitcake/laravel-cors/blob/master/changelog.md#v10-2019-12-27
But I'll add it to the readme

See https://github.com/fruitcake/laravel-cors/commit/9b04376f420839aec2cc7f184d1c2ca9b558ba08


When I add the variable of TaskControl and then deploy the veristand project to localhost, some errors are reported

Thanks to this great CD for helping me realize the possibility of co-simulation of veristand and VTD, it was very smooth to build the source code into a CD and call it with veristand, but when I added the variable of TaskControl, and then deployed the veristand project to localhost, this error will be reported, If I do not add a data channel, I can deploy normallyplease give me some help, thanks.

This error often is linked to DLL calls, and there are two of them that are used in this custom device to communicate with VTD. According to this, it might be that the DLLs that are called are not of the correct bitness.
What version of VeriStand/LabVIEW are you using? Since a few versions ago custom devices have to be built using LV 64 bit only, but I'm not sure if the Windows DLLs are 32 or 64 bits. They probably are 32 bit only so that might be the problem

I used the 2021 version of LabView and Veristand the day before yesterday, I retried the 2020 version of LabView and Veristand, and the above problem solved perfectly,thanks for the guidance.


Search for WorkItem filtered by WorkItemType

When searching for work items to link, a link type has a certain source target type it supports.
When a given link type is chosen, it's target work item types should be used as a filter to search for possible matches.

I would expect work items of subtypes to be included as well.

By changing the parent_path to path and including the name of the type itself in the path, I expect this query would work:
SELECT count() over () as cnt2 , * FROM work_items w JOIN work_item_types w1 on w1.name=w.type JOIN work_item_types w2 on w2.path like (w1.path || '%') , to_tsquery('english', 'npe:') as query, ts_rank(tsv, query) as rank WHERE (tsv @@ query) AND (w.type in('system.bug')) ORDER BY rank desc,w.updated_at desc LIMIT 100

Testing showed that we need to go with a subselect instead of a join.


[UTOPIA-840]add validation message to mandatory field

Description
This PR includes the following proposed change(s):

add label to mandatory field using red color
dispaly  warning message in mandatory field

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation
[ ] Version change

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Development Dependency Working Agreement

[x] My code DOES NOT include the importing of new dependencies into the DPIA ecosystem
[ ] My code DOES include the importing of new dependencies into the DPIA ecosystem
If new dependencies are being introduced to the DPIA ecosystem:
[ ] The functionality of the dependency drastically reduces code complexity and makes my changes more easily maintainable and readible
[ ] The dependency being introduced does not contain multiple layers of nested dependencies introducing maintainability complexity to the DPIA ecosystem

Frontend Development Changes

[ ] N/A
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to project documentation or diagrams that reflect my changes
[ ] New and existing unit tests pass locally with my changes
[ ] My code follows Airbnb React Style Guidelines

API Development Changes

[x] N/A
[ ] I have performed a self-review of my own code
[ ] My code follows standards and practices outlined in the BC Government API Development Guidelines
[ ] New and existing unit tests pass locally with my changes
[ ] My changes includes Swagger documentation updates that reflect the changes I am introducing

Definition of Done

display all the error message

No banner message
Banner message and disabled submit should only be for view mode

No banner message
Banner message and disabled submit should only be for view mode

I update the message bootstrap class to make sure all the time to show the message and only show in view mode


Changing highlight colors

Is it possible to change highlight colors? I'm using dark visual studio theme and current colors don't look nice with this theme.

Hi Anton,
Good point, didn't think about that. I'll try to make that configurable in
an options page by the end of the week.
Regards!
On 29 February 2016 at 08:48, Anton Prokhorov<EMAIL_ADDRESS>wrote:

Is it possible to change highlight colors? I'm using dark visual studio
theme and current colors don't look nice with this theme.
[image: asm]
https://cloud.githubusercontent.com/assets/3396041/13388548/e63b6e46-ded1-11e5-99d7-cfdd01c2bffe.PNG
—
Reply to this email directly or view it on GitHub
https://github.com/HJLebbink/asm-dude/issues/2.

It would be great. Nice plugin indeed)

Version 1.4.0 allows customizing the highlight colors. See Tools>Options>AsmDude>Syntax Highlighting.


Fix bitmask

Should solve #345 . I flipped the order that the bitmasks were concatenated when "toBitMask" was used [special case when maskGran = 1]. @ccelio lmk if Boom is ok now.
@azidar @donggyukim I moved mem files into memlib. Would you agree that VerilogMemDelays.scala also goes there?

It seems that some time ago you changed both the mask and data to be reversed, and then @donggyukim  removed one of these reverses in commit b8ee3179ed8070211c95ecbcceda0f7dbf635a13. Are you sure you don't want to solve this issue by reversing the other one so both data and mask are reversed?

You mean going back to what I originally had?
In the end, it's functionally equivalent. You shouldn't need to care about the order the data is stored in in memory, as long as, @ the memory interface [wrapper IO, not blackbox IO], it corresponds with what you expect.
I guess, when you have a Vec of UInts, do you prefer to concatenate like:
uint_0 uint_1 uint_2
OR
uint_2 uint_1 uint_0

I think I decided I'm ok with Vec elements being stored index 0 on the left, whereas the LSB of a UInt is on the right.
Regardless, the endian-ness shouldn't matter to the hardware designer b/c that's all sorted for you internally. They just need to be consistent...

Doesn't the endian-ness matters when looking at the waveforms? I expect element 0 to be the LSB when concatenated.
This is the current (fixed) output:
assign h_table_ext_RW0_wdata = {RW0_wdata_0,RW0_wdata_1};
assign h_table_ext_RW0_wmask = {RW0_wmask_0,RW0_wmask_1};

I think I'm going to be confused by this, as I believe it is inconsistent with other treatments of Vecs and UInts.

So you prefer that if your input data is a 2 element Vec of UInts with width 4, the waveform would look like (vec_index, uint_index):
1_3 1_2 1_1 1_0 0_3 0_2 0_1 0_0
Rather than
0_3 0_2 0_1 0_0 1_3 1_2 1_1 1_0
?

By treatment of Vecs, are you referring to how something like vec.asUInt would operate?
Anyways, if you find that the first one is less confusing, I can just change everything to use reverse.

Also, if you take for granted that the waveform @ the SRAM black box will be right (probably bad assumption if the firrtl pass screwed up), it's probably more intuitive for you to just probe the wrapper IO, which just would have separate signals for each Vec element?

1_3 1_2 1_1 1_0 0_3 0_2 0_1 0_0
Rather than
0_3 0_2 0_1 0_0 1_3 1_2 1_1 1_0

Yes, I believe the order should be {a1[3:0], a0[3:0]}, your first suggestion.
I like that bit X can be found by element_i*w + bit_j. And if a1 = 0x3, and a0 = 0xc, then the waveform gives me 0x3c, and adding more elements just adds more bits on to the front, leaving the LSBs untouched (0x...3c).
My apologies if my opinion is clouded by the 1-bit element scenario, because I'm playing with Vec(Bools()) and the internals are switching around between storing them as UInts() and as arrays of 1-bit elements.  It'd make my brain hurt having to switch between 0xc and 0x3 being the same thing.
Do @colinschmidt and @donggyukim have opinions?

Ok, I guess the Vec of Bools case is particularly annoying -- kind of a side question, then is... Are you planning to implement this w/ SRAM? I think the minimum widths are > 2, so you'd be wasting bits?

Are you planning to implement this w/ SRAM? I think the minimum widths are > 2, so you'd be wasting bits?

If I understand your question correctly, I'm using SRAMs in this case for my branch predictor. Each bit in the SRAM is a branch prediction.  Conceptually, it is a super tall and very skinny sequential memory.  The idea is something... a FIRRTL pass, a python script?... will translate it transparently into a rectangular SRAM that matches what is available from the technology library.  Worst case, I'll just have to come in later and refactor the code.  Just a "small matter" of bitmasking and indexing...

I see. I didn't think about masking to make skinny memories fatter. Anyways, seems like Colin and you both probably prefer reversed, so I'll make that change...

Yah, I think there's a really cool story here for the Berkeley Chisel/FIRRTL methodology in how we handle memories.
And thanks for hammering this out!

lgtm


Trim leading and trailing spaces on labels to make the plugin more us…

…er-friendly

Thanks for fixing this.
I think we should strip the label in-bound at the top of the RequiredResourcesProperty constructor.
The labelName is used in the constructor a few times. In particular it's passed to SecureGroovyScript and it would be passed with a space there if we only strip on the label getter.

Ah ok, I'd only spotted the use in LockableResourcesStruct, I'll move it to the constructor then.

Sorry, hadn't noticed this was tabs, fixed now.


PR for  thomasmcneil's PLAY implementation

I signed the CLA.
On Mon, Sep 24, 2018 at 12:25 AM Brad Nelson<EMAIL_ADDRESS>wrote:

Closed #34 https://github.com/google/wwwbasic/pull/34.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/wwwbasic/pull/34#event-1862306549, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AOPhs4BlazoDl8ZbRfmE7G7nGQK-eY7Eks5ueF61gaJpZM4W2DE9
.


cloudspeech_demo.py fails:  AttributeError: module 'google.cloud.speech' has no attribute 'types'

I tried doing a git pull to get possibly updated but that didn't change anything. Any ideas?
pi@raspberrypi:~/AIY-projects-python/src/examples/voice $ ./cloudspeech_demo.py
Traceback (most recent call last):
  File "./cloudspeech_demo.py", line 22, in <module>
    from aiy.cloudspeech import CloudSpeechClient
  File "/home/pi/AIY-projects-python/src/aiy/cloudspeech.py", line 40, in <module>
    END_OF_SINGLE_UTTERANCE = speech.types.StreamingRecognizeResponse.END_OF_SINGLE_UTTERANCE
AttributeError: module 'google.cloud.speech' has no attribute 'types'
pi@raspberrypi:~/AIY-projects-python/src/examples/voice $

Solved it with the following three changes:
from google.cloud import speech_v1 as speech
...
END_OF_SINGLE_UTTERANCE = speech.types.StreamingRecognizeResponse.SpeechEventType.END_OF_SINGLE_UTTERANCE
...
encoding=speech.types.RecognitionConfig.AudioEncoding.LINEAR16,
...

@rabbitmcrabbit  what file did you modify? Do you have a diff?

This was an edit to ~/AIY-projects-python/src/aiy/cloudspeech.py.
My apologies, I'm writing from a machine where it's not straightforward to attach a diff, but the start of each line remains unchanged, so you should be able to find the corresponding places.

Thanks. I got past this. I would have never figured that out.
diff --git a/src/aiy/cloudspeech.py b/src/aiy/cloudspeech.py
index d8bcd57..ddd8225 100644
--- a/src/aiy/cloudspeech.py
+++ b/src/aiy/cloudspeech.py
@@ -32,12 +32,15 @@ import os
 import logging

 os.environ['GRPC_POLL_STRATEGY'] = 'epoll1'
-from google.cloud import speech
+#from google.cloud import speech
+from google.cloud import speech_v1 as speech
 from google.oauth2 import service_account

 from aiy.voice.audio import AudioFormat, Recorder

-END_OF_SINGLE_UTTERANCE = speech.types.StreamingRecognizeResponse.END_OF_SINGLE_UTTERANCE
+#END_OF_SINGLE_UTTERANCE = speech.types.StreamingRecognizeResponse.END_OF_SINGLE_UTTERANCE
+END_OF_SINGLE_UTTERANCE = speech.types.StreamingRecognizeResponse.SpeechEventType.END_OF_SINGLE_UTTERANCE
+
 AUDIO_SAMPLE_RATE_HZ = 16000
 AUDIO_FORMAT=AudioFormat(sample_rate_hz=AUDIO_SAMPLE_RATE_HZ,
                          num_channels=1,
@@ -64,7 +67,8 @@ class CloudSpeechClient:

     def _make_config(self, language_code, hint_phrases):
         return speech.types.RecognitionConfig(
-            encoding=speech.types.RecognitionConfig.LINEAR16,
+            #encoding=speech.types.RecognitionConfig.LINEAR16,
+            encoding=speech.types.RecognitionConfig.AudioEncoding.LINEAR16,
             sample_rate_hertz=AUDIO_SAMPLE_RATE_HZ,
             language_code=language_code,
             speech_contexts=[speech.types.SpeechContext(phrases=hint_phrases)])

It works, thank you.

Thank you! That was super useful.

Thank you so much!  I was banging my head against that for hours with a fresh install of the 11/20/2020 AIY SD image (hardware is an RPi 3B and I believe a v1 AIY Voice Hat).  Worked perfectly.

Solved for me as well. Is there a PR for this? If not, I'd be happy to make one - this is a rather important issue, since it breaks Cloud Speech functionality.

I had the same problem with a fresh recent VoiceKit. This solves the problem. Thank you!


dynamic linking of MPI libs fragile

Summary:
Currently, the use of relative path's for dynamic linking via rpath can easily break things.
Description:
This popped up during testing in cmdstan: Whenever things change slightly between compilation and use of the final executable (in terms of relative path locations), then the final binary did not find the dynamic libraries from boost (mpi and serialization).
Reproducible Steps:
The add MPI facilities on cmdstan PR demonstrate this by failing tests.
Current Output:
NA
Expected Output:
Things should just continue to work; no matter if path's change artificially.
Additional Information:
Provide any additional information here.
Current Version:
develop

@wds15 is this still an issue?

No idea…have not used mpi in a long time.


Feature request: convert Type and Position to enum

Hey, I wanted to ask what do you think about converting the:
declare type ToastType = 'success' | 'error' | 'loading' | 'blank' | 'custom';
declare type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';

into enums?
That way we can use the enum in a code like:
import { ToastPosition } from 'react-hot-toast';

/**
 * @description default configuration for all toast notifications
 **/
export const defaultToastOptions = {
  position: ToastPosition.BottomLeft,
  reverseOrder: false,
  gutter: 10,
  containerStyle: { bottom: 100, left: 20 },
  toastOptions: { duration: 2000 },
}

which seems more type safe. I am happy to create PR, if you like this idea.

Hi! In this case I prefer the string constants for a few reasons:

More intuitive for JS users
Doesn't require an additional import
It's type-safe & works with auto-complete
The string content is used in the logic as well. (Check if it contains top or bottom)


Factor/frontend migrate indexer query

migration plan frontend part

The tests fail with:
src/components/accounts/AccountRow.tsx(2,1): error TS6133: 'moment' is declared but its value is never read.
src/components/blocks/__tests__/BlockDetails.test.tsx(11,13): error TS2322: Type '{ transactionsCount: number; timestamp: number; hash: string; prevHash: string; height: number; gasPrice: string; gasUsed: string; isFinal: true; }' is not assignable to type 'BlockInfo'.
  Object literal may only specify known properties, but 'transactionsCount' does not exist in type 'BlockInfo'. Did you mean to write 'transactions_count'?
src/components/blocks/__tests__/BlocksRow.test.tsx(11,13): error TS2769: No overload matches this call.
  Overload 1 of 2, '(props: Readonly<Props>): default', gave the following error.
    Type '{ transactionsCount: number; timestamp: number; hash: string; prevHash: string; height: number; gasPrice: string; isFinal: false; }' is not assignable to type 'BlockInfo'.
      Object literal may only specify known properties, but 'transactionsCount' does not exist in type 'BlockInfo'. Did you mean to write 'transactions_count'?
  Overload 2 of 2, '(props: Props, context?: any): default', gave the following error.
    Type '{ transactionsCount: number; timestamp: number; hash: string; prevHash: string; height: number; gasPrice: string; isFinal: false; }' is not assignable to type 'BlockInfo'.
      Object literal may only specify known properties, but 'transactionsCount' does not exist in type 'BlockInfo'. Did you mean to write 'transactions_count'?
src/components/dashboard/DashboardBlocksBlock.tsx(38,34): error TS2551: Property 'transactionsCount' does not exist on type 'BlockInfo'. Did you mean 'transactions_count'?
src/components/dashboard/__tests__/BlockBlock.test.tsx(11,13): error TS2769: No overload matches this call.
  Overload 1 of 2, '(props: Readonly<Props>): default', gave the following error.
    Type '{ transactionsCount: number; timestamp: number; hash: string; prevHash: string; height: number; gasPrice: string; isFinal: true; }' is not assignable to type 'BlockInfo'.
      Object literal may only specify known properties, but 'transactionsCount' does not exist in type 'BlockInfo'. Did you mean to write 'transactions_count'?
  Overload 2 of 2, '(props: Props, context?: any): default', gave the following error.
    Type '{ transactionsCount: number; timestamp: number; hash: string; prevHash: string; height: number; gasPrice: string; isFinal: true; }' is not assignable to type 'BlockInfo'.
      Object literal may only specify known properties, but 'transactionsCount' does not exist in type 'BlockInfo'. Did you mean to write 'transactions_count'?

Please, address that

fix the query method but wait for your new design for call current database or indexer. @frol


Move test files to a separate package

This is to prevent the test dependencies being downloaded by downstream dependencies.

how does this affect unit test coverage reports?

how does this affect unit test coverage reports?

Unit test coverage cannot be reported because of this change.

For now, lets create a branch that doesn't include the tests.

For now, lets create a branch that doesn't include the tests.

done.
https://github.com/infobloxopen/infoblox-go-client/tree/remove-unit-tests


ui-button not sending configured payload

When configuring a ui-button to send a given payload when clicked, I'm always getting msg.payload set to undefined.

[{"id":"19555cbb6e3b33ae","type":"ui-button","z":"bbd8f94b3531c297","group":"c6c7f87a5a5e5013","name":"","label":"button","order":0,"width":0,"height":0,"passthru":false,"tooltip":"","color":"","bgcolor":"","className":"","icon":"","payload":"hello","payloadType":"str","topic":"topic","topicType":"msg","x":230,"y":460,"wires":[[]]}]

Thanks @knolleary - think this is also the same problem as https://github.com/flowforge/flowforge-nr-dashboard/issues/170
Does a refresh of the client/browser then work?

As suspected, this is linked to the fact that the onAction (or any equivalent) is running on a node object that is no longer in existence within the context of Node-RED.
onConnection, we bind multiple event handlers to the socket connection: onAction, onChange, onLoad. It appears that we don't clean these up currently upon re-deploy, instead we only clear up the parent onConnection event handler. So, when a UI button is clicked, it's being caught by the event handler of the old node, not the new.
So two things to consider:

How do we cleanly tear down these event handlers on close of the ui-base node?
How do we re-establish these connections and event handlers cleanly such that the UI knows no difference, and behaviour is resumed as if nothing happened?


rdl: Mount external memory as a register array

This makes external memory look like an array of registers. 64-bit and 128-bit memory arrays are converted to 32-bit, since we don't have a great story for accessing more than 32 bits at a time anyway from RISC-V.
This only affects MLDSA and I3C (which uses 128-bit memory access).

Thanks!


train log file

Dear authors, thanks for your great works! I‘d like to know if it is convenient for you to provide log files during training, because I cannot reproduce the same results at present, I want to refer to your logs for comparison
thank you

Hi @Anonymous-N, unfortunately I didn't keep the log file. Can you show me your training metrics e.g. training and validation IoU, mIoU?

Thank you for your reply! I used 2 3090GPUS to train the model and got the best val mIoU=0.11342  at epoch 26. Is this a normal value?
Train iou is 0.528 and val iou is about 0.365
And I note that the val loss keeps rising gradually from 8.6 to 12 during training. Why this happened?

Your training is going well. These numbers are almost the same as what I got. You can check Table 8 in supp.

I also see the val loss increasing but the metrics are still improving.

Thanks for such a quick reply and your wonderful work!
Additional, If there is any explanation on the increasing loss I'd like to be informed

No problem! Unfortunately, I haven't investigate this but I also saw this issue in SSC task with 3D input.


Removed deprecated priceType option

Removed the docs on the deprecated priceType option.

Thanks @bretg! The code change was now merged (https://github.com/prebid/Prebid.js/pull/3170) as well, so we can also merge this one now. Cheers!

released with 1.28


independent logger & refactor ga

This PR mainly splits the job of logging (recording results of GA, saving the log file) from BaseGA class, as it is not part of the GA itself and can be quite messy to maintain.
get_best_individual() is removed, since there is no usage except for the final call after GA completes.
Now GA class automatically saves the best individual every iteration (can be changed, maybe only save every X iterations).

Also, the score (food count) will now be logged.
Originally, the score represents fitness, but it should be food count (the game use this as "score") instead.