Make plan for future of OONI infrastructure

We currently have a variety of different deployment patterns for different parts of OONI infrastructure. The patterns we are currently using are not easily adaptable to fit the use case of all the needs and some of these patterns are quite cumbersome and complex to manage.
The primary focus of this will be frontend components, but we will also consider using this for backend components too further down the line.
The goal of this epic is to sketch out a plan for the future of this.
Plan of action:

[x] Write a design document outlining the scope of the problem
[x] Define the requirements of the solution
[x] Make a list of solutions to evaluate
[ ] Create survey to collect requirements and painpoints from team members
[ ] Setup an account on all the platforms and try deploying some of our infrastructure on it to see how it goes

[x] Railway
[x] Render.com
[ ] Fly.io (WIP)
~qovery~ broken and very bad onboarding. Will not spend more time trying to sign up for an account.
[x] Terraform platform
[ ] Spacelift
[x] Datadog

[ ] Pick a solution and move forward with execution

More details can be found in this doc: https://docs.google.com/document/d/10YnG3wAmncU7Ucp1zwif7bpyA9vOuuq7XoI9S9LYCys/edit

I would say we have a plan. It's outlined in the future of OONI Infrastructure document and presented during the future of OONI Infrastructure internal presentation.
We can consider this done.


[Developer Experience] (debugging) Update Office debugging command instructions

Fixes #3031.
This also makes gives the command a copy button, so people can easily paste the code in their command window.

Docs Build status updates of commit d11ada1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/testing/debug-desktop-using-edge-chromium.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


TypeError: topic.toUpperCase is not a function when using receiveWebhook

Overview
I'm trying to use the receiveWebhooks middleware to receive requests. I'm getting the call okay but then getting the following error when the request comes in:
  TypeError: topic.toUpperCase is not a function
      at D:\Repos\shopify-app\node_modules\@shopify\koa-shopify-webhooks\dist\receive.js:26:46
      at step (D:\Repos\shopify-app\node_modules\tslib\tslib.js:133:27)
      at Object.next (D:\Repos\shopify-app\node_modules\tslib\tslib.js:114:57)
      at D:\Repos\shopify-app\node_modules\tslib\tslib.js:107:75
      at new Promise (<anonymous>)
      at Object.__awaiter (D:\Repos\shopify-app\node_modules\tslib\tslib.js:103:16)
      at receiveWebhookMiddleware (D:\Repos\shopify-app\node_modules\@shopify\koa-shopify-webhooks\dist\receive.js:14:24)
      at dispatch (D:\Repos\shopify-app\node_modules\koa-compose\index.js:42:32)
      at bodyParser (D:\Repos\shopify-app\node_modules\koa-bodyparser\index.js:86:11)
      at process.internalTickCallback (internal/process/next_tick.js:77:7)

Attaching the debugger I can see that topic is a pending promise with no value when .toUpperCase() is called on it.
I'm setting up the router using code similar to that in the repo and using koa version
...
Consuming repo

What repo were you working in when this issue occurred?
...
My own repo.

Scope

Is this issue related to a specific package?

koa-shopify-webhooks

Checklist

[ ] Please delete the labels section before submitting your issue
[ ] I have described this issue in a way that is actionable (if possible)

Hey, sorry for the delay. If this is still an issue, can you please provide us with a small reproducible test case. Thanks!

Hi, I'm having same problem, could you share to me how you can solve this? @donaldgray


SourceNamespace matcher as a list value

(This is used to request new product features, please visit https://github.com/istio/istio/discussions for questions on using Istio)
Describe the feature request
Current api allows only to specify singular value for a sourceNamespace, what is problematic when we want to configure route to be applied to more namespaces, we have to make new matcher with the same fields except sourceNamespace.
My proposition is to add new field sourceNamespaces and keep sourceNamespace for backward compatibility.
Describe alternatives you've considered
Affected product area (please put an X in all that apply)
[ ] Ambient
[ ] Docs
[ ] Dual Stack
[ ] Installation
[ ] Networking
[X] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[X] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Additional context

sourceNamespace  is used by istiod, is there many scenarios need to set it?


Feature Request: Support Lifecycle Hooks in appspec

The current EcsAppSpec class does not support lifecycle hooks (see: https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-hooks.html#appspec-hooks-ecs). Some of the functionality of lifecycle hooks can be covered by alarms or the ApiCanary class, however this doesn't cover all possible use cases. One primary use case that I can think of is in a Blue/Green deployment being able to run a smoke test on the new task version prior to accepting any production traffic would be useful.
Would be happy to contribute if there is perceived value here. Thanks.

This would be awesome to have added to the construct @tvandewalle. Your contribution would be much appreciated!

This is a change that I've been sat on for a while but have been unable to get round to testing it fully yet. But it's time has now come and I should be able to confirm if my changes are correct in the next day or two.
I've raised a PR to save you from duplicating the work, but right now it's buyer beware. I'll post an update once I know it works.


updating globalPosition even when Camera is not the active camera

Hello,
I am making a game where you can switch between a top down view and a first person shooter view (FPS) with an animation in between. Note that I use two different cameras, and the FPS camera is attached to a mesh representing the player. Hence, when I make the animation from FPS to top-down view, I am animating the top-down camera.
What I noticed is that the FPS camera does not update its globalPosition when I move my player from the top-down view. In other words, the first person camera does not update its globalPosition when it is not active.
Feature request

updating camera.globalPosition when not active (because we may be moving it even if it does not render anything).

Ok I agree, that one should have been in the forum. But it looked like a dead end yesterday.
Thank you very much to give me the solution anyway; that saves my week. I think I may actually open a thread on the forum to copy paste your answer
Note that I do use the forum most of the time :)


Half closed connection not handled

If the web socket server is crashed, then the client application using the easywsclient lead to an half closed state. It does not disconnect  the socket and keep the connection open. Anyone noticed this issue?

I am having an issue with this too. Sadly i dont know anything about websockets.
@dhbaird , This seems like a pretty big issue because a working websocket server is never guaranteed.


Speed up compile time

I noticed that Jekyll was taking increasingly longer to compile even though I only have 7 pages.
7 seconds for a live preview is not quite live.
The culprit is the opening and MD5ing of the images even if they are already generated. Every {% image %} is taking upwards of 100ms. Disabling the script brings the total compile time to 2 seconds.
When generating the image's url/src, we have the name and preset, so what about looking up the generated images with those two? Maybe by generating them with this filename: name-preset-generatedSize-digest and look up any files that start with name-preset before doing anything else.
Also, any specific reason to include the digest? Could we skip that too?
Can you think of any other way to remember the images we already generated?

This doesn't seem to be a problem with jekyll 3's watch mode :)


add cors

Explanation
Adds CORS headers default allow all.  Initially needed for building UI.
Rationale
UI request from testing partners were being blocked due to cross origin.
Tests

What testing did you do?
Rebuilt docker image with these changes.  Confirmed with @jrlegrand UI is not acccessible.

Looks good to me for now to get this working with the UI repo. @finish06 how do you feel about using a LB and maybe docker to remove the necessity of CORS altogether, just serve everything same-site. Tho I guess if we want others to build UIs based off the api we would still need CORS.
Only other comment is per the django-cors-header doc the position of the middleware is confusing.
MIDDLEWARE = [
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
]

Does this mean it should always be above CommonMiddleware? I know there is some stuff in the middlewares array that is higher up, Django SessionMiddleware and SecurityMiddleware. I couldnt tell from the docs if they mean place Cors at the very top or just place it above commonmiddleware. Also not really sure if this matters.

Looks good to me for now to get this working with the UI repo. @finish06 how do you feel about using a LB and maybe docker to remove the necessity of CORS altogether, just serve everything same-site. Tho I guess if we want others to build UIs based off the api we would still need CORS.
Only other comment is per the django-cors-header doc the position of the middleware is confusing.
MIDDLEWARE = [
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
]

Does this mean it should always be above CommonMiddleware? I know there is some stuff in the middlewares array that is higher up, Django SessionMiddleware and SecurityMiddleware. I couldnt tell from the docs if they mean place Cors at the very top or just place it above commonmiddleware. Also not really sure if this matters.


Sentinel connection strategies

I thought it would be good to have an issue to track this as I see 2 PRs that are relatively old, #654 and #770
We ran into this issue today, we have 3 sentinel instances that we were changing hosts on, these are across 3 AZs, 1a, 1b, and 1c. All our configs list the sentinel starting with 1a.
We started with the upgrade to 1c which involved shutting down the host and moving IP address, all fine and 0 impact. When we got to 1a the sentinel was shutdown and everything worked fine with no latency change, but when the host was shutdown we had a large latency spike to around 1s and only now found out it's because the sentinels list always uses the first server. When the host was shutdown the connect timeouts started to be hit (we set them at 1.2s).
It would be nice to see different strategy options so behaviour can be more predictable across all sentinels.

I push new commit, user can set weight of each instance

sorry for the long post 😄
existing implementation:
looking at discover_master, the current expected behavior is that Sentinel instance has a list of sentinel hosts, and will cycle through them until one of them returns a successful response.
Importantly, once a successful response is returned, Sentinel instance will "promote" the good sentinel host to be the first in the list - meaning next time the first sentinel will succeed.
This means in case of X out of Y sentinels are down, we will see at most X timeouts per instance, and then no more timeouts until the next sentinel goes down.
The symptoms you speak of seem to be expected, as we see one timeout per sentinel instance, and then back to normal.
Lowering the connect timeout might help with the symptom, but I bet you thought of that.
alternate strategy 1 - shuffle at init:
With this strategy, we shuffle once during Sentinel instance initialization.
This is the strategy in PR https://github.com/andymccurdy/redis-py/pull/654 commit dc7dd8a, though it is referred to in the PR as "Round-robin".
After the initial shuffle, the Sentinel instance will still "stick" to the first sentinel in the list, until it fails.
This might be advantageous to some users - if you have many Sentinel instances in one of more clients, and you do a rolling update in the sentinels. each time a sentinel goes down, statistically, only some of the Sentinel instances will fail, since they have different orders of the list.
Another benefit is that the first master in the list is not "hammered" by all the instances - the traffic is somewhat .
The downside is that we lose the expected behavior of the instance simply going down the provided list - this forces randomness on all users.
We can add this add an optional flag in initialization, but the user can do it themselves just as easy:
sentinel = Sentinel(random.shuffle([(sentinel_host_1, port),(sentinel_host_2, port)]))

If this shuffle at init option is of interest, I suggest adding it to the documentation, not to the code.
alternate strategy 2 - weighted random:
With this strategy, we shuffle every time we discover_master and do not change the list order if a specific host succeeds.
This is seen in PR https://github.com/andymccurdy/redis-py/pull/770, commit 1dbd365.
This is nice as you get predictable load balancing between the sentinels. I wonder why weights are necessary - perhaps if one sentinel is more predictable or just bigger, but I'm not sure how common that is.
The issue I have with this approach is that we lose the "stickiness". If for example sentinel x gets 33% of the traffic, and it's in maintenance, 33% of the requests will time out. unlike the current implementation, the order of hosts in the list doesn't matter, so if one of the sentinels is down for a long time, this will continue to affect latency.
I think a better approach is to keep the stickiness, but add randomness to the choice if the first host fails.
Another option is to have random weights that are updated if a host answers, and updated if a host does not answer, but this is relatively complex.
@ryan-shaw @BingerCoder @andymccurdy What are your thoughts on these options? did I miss something?

You are right~ the strategy 1 is useful~ I see

@RoeyPrat could weights be adjusted on successful connections? In your example sentinel x's portion of the traffic would gradually shrink as the other 2 instances' weights increase/sentinel x's weight decreases. We can set a floor to ensure that when sentinel x comes back up its score will recover, or simply reset the weights at some interval.


Version mdbook

Hi @enitrat. I have a doubt, is the version being used in the mdbook the 0.4.28? I make this query because when modifications are made in the .po are not reflected in main, but if when tested locally, since by default installs the most current version, in this case the 0.4.36.
Thanks

In the lockfile it says
[[package]]
name = "mdbook"
version = "0.4.31"

What is the problem exactly?

This is a versioning problem that occurs in several books that use mdbook, when corrections or translations are made locally, they show up perfectly, but not in the main when a merge is made. It might be worth considering adding this to the readme for future contributions.

Do you know how to fix it? Should we pin a specific version?

@SimplementeCao  any update about this issue? is there anything we should do?

Hi @TAdev0 the best thing to do is to add that version of book in the readme, I did some research and in other mdbooks they solved that problem using 0.4.31 in local. As long as the mdbook version of the repository is not updated. Do you have any suggestions?

ok so currently the book uses 0.4.28. Can we just update to the most recent one?


[ST] Active router not bidding on Mode

Describe the bug
This 0.52 ETH transaction from Arbitrum to Mode should be completed by bware router, which has more than 100 nextWETH. https://connextscan.io/tx/0xf1087717b956de71a6beeea34219dbdbe537273ef7d4a19edc454e2b2c412438
Router: https://connextscan.io/router/0x8cb19ce8eedf740389d428879a876a3b030b9170
Where did the user initiate this transfer?
Connext UI
Link to ticket in discord
https://app.intercom.com/a/inbox/qge2vd8z/inbox/shared/all/conversation/1449?view=List

This router is not bidding on arbitrum origin transfers, so no bids for arb to mode, though it has liquidity on mode.
Current activity for that router:

Another transaction the router should be bidding on: https://connextscan.io/tx/0xa8ca66b08d3369a14d828ba463e03b715a30353e69f8b340353039d4a80457f5

Bump

@just-a-node


ci: modify regenerate meetings workflow to not trigger on forks

Description
This PR targets the regenerate-meetings workflow which is a scheduled workflow made using cron and adds a feature to only run the workflow on the website repository of AsyncAPI and not on the forks.
Related issue(s)
Fixes #759

@derberg Kindly review this PR and do tell me if something is wrongly added.

/rtm


Reading ht header

Is there a way to read <ht:picture> content from google trends? Or any ht header. I'm using rss reader
<rss
	xmlns:atom='http://www.w3.org/2005/Atom'
	xmlns:ht='https://trends.google.com/trends/trendingsearches/daily' version='2.0'>
	<channel>
		<title>Daily Search Trends</title>
		<description>Recent searches</description>
		<link>https://trends.google.com/trends/trendingsearches/daily?geo=US</link>
		<atom:link href='https://trends.google.com/trends/trendingsearches/daily/rss?geo=US' rel='self' type='application/rss+xml'/>
		<item>
			<title>Jamal Murray</title>
			<ht:approx_traffic>500,000+</ht:approx_traffic>
			<description>jamal murray video, jamal murray instagram</description>
			<link>https://trends.google.com/trends/trendingsearches/daily?geo=US#Jamal%20Murray</link>
			<pubDate>Sun, 22 Mar 2020 05:00:00 -0700</pubDate>
			<ht:picture>https://t2.gstatic.com/images?q=tbn:ANd9GcS3LI8RYsliFpLjSrkoPqn5Mxz-Lkyq-mAwoUezUkMAfOSvNJBVTSYXQfDNO776n2Rr5zs58Arb</ht:picture>
			<ht:picture_source>Bleacher Report</ht:picture_source>
			<ht:news_item>
				<ht:news_item_title>Jamal Murray Apologizes After Alleged Instagram Hacker Posts Oral ...</ht:news_item_title>
				<ht:news_item_snippet>Denver Nuggets guard Jamal Murray apologized to his fans and said his Instagram account was hacked after an explicit video appeared on his Instagram&nbsp;...</ht:news_item_snippet>
				<ht:news_item_url>https://bleacherreport.com/articles/2882421-jamal-murray-apologizes-after-alleged-instagram-hacker-posts-oral-sex-video</ht:news_item_url>
				<ht:news_item_source>Bleacher Report</ht:news_item_source>
			</ht:news_item>
			<ht:news_item>
				<ht:news_item_title>Nuggets&#39; Jamal Murray responds to hacked account</ht:news_item_title>
				<ht:news_item_snippet>Denver Nuggets guard Jamal Murray apologized to his fans after his Instagram account was hacked. Murray says the issue is being resolved.</ht:news_item_snippet>
				<ht:news_item_url>https://clutchpoints.com/nuggets-news-jamal-murray-responds-hacked-account/</ht:news_item_url>
				<ht:news_item_source>ClutchPoints</ht:news_item_source>
			</ht:news_item>
		</item>

I don't think there is, we have custom logic for itunes RSS feeds, but adding those for every feed provider would be kind of annoying.
@knu Do you know if there is a generic approach in feedjira for this?

@dsander but maybe add some generic way of adding own fileds?

@pkrolkgp Not sure about that, if you'd have to add your own field, how much different would the RssAgent be compared to a WebsiteAgent which already can parse any form of HTML/XML.


WIP remove the procrastinate_version table

Cf. #
Successful PR Checklist:

[ ] Tests
[ ] Documentation (optionally: run spell checking)
[ ] Had a good time contributing? (if not, feel free to give some feedback)

Codecov Report

Merging #163 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #163   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          21     21
  Lines         840    836    -4
  Branches       85     86    +1
=====================================
- Hits          840    836    -4

Impacted Files
Coverage Δ

procrastinate/healthchecks.py
100% <ø> (ø)
:arrow_up:

procrastinate/cli.py
100% <ø> (ø)
:arrow_up:

procrastinate/schema.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

PUM stands for Pum stands for "Postgres Upgrades Manager". (source: https://github.com/opengisch/pum/blob/master/README.md) and not Updates Manager.

Where is "Updates Manager" mentioned instead of "PostgreSQL Updates Manager"? I am failing to understand where the problem is. Thanks!

@elemoine https://github.com/peopledoc/procrastinate/pull/163/files#diff-37aeb18b690f8baaabb37a9f0e4cbedfR17

@CorBott @ewjoachim understood and fixed. Thanks :)

I finally decided to close this in favor of #167. The latter includes the changes that this PR had.


Latest pre-release does not work on non-recent Linux (e.g. Codespace default) due to GLIBC version

@lemmy ➜ /workspaces/tlapm (mku-LessSimpleEventually) $ wget https://github.com/tlaplus/tlapm/releases/download/1.6.0-pre/tlapm-1.6.0-pre-x86_64-linux-gnu.tar.gz

...

@lemmy ➜ /workspaces/tlapm (mku-LessSimpleEventually) $ ./tlapm/bin/tlapm --version
./tlapm/bin/tlapm: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.35' not found (required by ./tlapm/bin/tlapm)
./tlapm/bin/tlapm: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./tlapm/bin/tlapm)
./tlapm/bin/tlapm: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./tlapm/bin/tlapm)
./tlapm/bin/tlapm: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./tlapm/bin/tlapm)

@lemmy ➜ /workspaces/tlapm (mku-LessSimpleEventually) $ cat /etc/debian_version
bullseye/sid

@lemmy ➜ /workspaces/tlapm (mku-LessSimpleEventually) $ dpkg -l |grep libc6
ii  libc6:amd64                      2.31-0ubuntu9.16                  amd64        GNU C Library: Shared libraries
ii  libc6-dbg:amd64                  2.31-0ubuntu9.16                  amd64        GNU C Library: detached debugging symbols
ii  libc6-dev:amd64                  2.31-0ubuntu9.16                  amd64        GNU C Library: Development Libraries and Header Files
ii  libc6-i386                       2.31-0ubuntu9.16                  amd64        GNU C Library: 32-bit shared libraries for AMD64

IMO it is a good practice to support the last two LTS releases of Debian and Ubuntu.


As a user, I want to type markdown content into a screen on the admin page

[x] Build a page that users enter markdown content

Implemented /post//write


Speed up build time in CI

Building a few things from source like gtest and cppcheck. Should attempt to install binary distributions for these.

Recent switch to xenial (check the cppcheck version)
Looks like gtest might have to be installed from source

Installing the binary distribution of cppcheck (this mean an older version)


Incorrect code example toString method not exists

Bug Report
(Fill in the relevant information below to help triage your issue.)

Information
Description

Version
9.6.2

PHP version
7.4

OS Platform
OSX 10.14.5

Summary
https://csv.thephpleague.com/
Uncaught Error: Call to undefined method League\Csv\Reader::toString()
Standalone code, or other way to reproduce the problem
Put example code to editor
<?php

// ...
echo $csv->toString(); //returns the CSV document as a string

Expected result
Method exists.
CSV content will be outputed.
Actual result
Got excepiton
Uncaught Error: Call to undefined method League\Csv\Reader::toString()
Checks before submitting

[x] Be sure that there isn't already an issue about this. See: Issues list
[x] Be sure that there isn't already a pull request about this. See: Pull requests
[x] I have added every step to reproduce the bug.
[x] If possible I added relevant code examples.
[x] This issue is about 1 bug and nothing more.
[x] The issue has a descriptive title. For example:  "JSON rendering failed on Windows for filenames with space".

Indeed toString will be available as soon as 9.7.0 is released... when I have time.

Yes, think doc should be updated with new release. But now doc has some mistakes.
Propose change to simple echo (string)$csv because it has magic method __toString()

The documentation contains no mistakes it is clearly stated that the feature will be introduced in 9.7.0 which is the case.

Yeah, this warning is here https://csv.thephpleague.com/9.0/connections/output/#using-the-tostring-method
what do you think about adding this info to main page https://csv.thephpleague.com/ ?

@fey the best solution would rather be to release 9.7.0 which I should be done this weekend 🤞🏾

version 9.7.0 is releases


Fix x-ticks in panel c of: gb.plots.plot_behaviour_aggregate

Panel c displays p(choose item) ~ (item gaze - max gaze others).
Currently, the ticks can be off for certain gaze distributions, such that the x-axis does not show the full range of (item gaze - max gaze others) from -1 to 1. We should thus set the ticks such that they always reach from -1 to 1.

The bins in panels a and b of gb.plots.plot_behaviour_aggregate are also bugged:

The rightmost bin sometimes seems to contain wrong data (e.g., abnormally high RT, abnormally low P(choose best))

The value_bins keyword accepts an array, but that array is used for plots a and b, even though they require different bins.

The bins in panels a and b of gb.plots.plot_behaviour_aggregate are also bugged:

The rightmost bin sometimes seems to contain wrong data (e.g., abnormally high RT, abnormally low P(choose best))

The value_bins keyword accepts an array, but that array is used for plots a and b, even though they require different bins.


Backend visualization does scale to +100 qubits

Environment

Qiskit Terra version: 0.25
Python version:  3.9.16

What is happening?
Coupling maps of "big" backends (over 100 qubits) do not render well.
How can we reproduce the issue?
Take the example of IBM's ibm_washington, which has 127 qubits
from qiskit_ibm_provider import IBMProvider
from qiskit.visualization import plot_gate_map

backend = IBMProvider().get_backend('ibm_washington')
print(backend.num_qubits)  # 127
plot_gate_map(backend)

Notice that the qubit nodes with 3-digit numbers are not easy to distinguish.
What should happen?
Having distinguishable numbers when they are large.
Any suggestions?
I see options:

bigger pictures
small numbers (that fit in the size of the node)
no numbers when they are large (hmm... no...)

I feel this is a duplicate of https://github.com/Qiskit/qiskit-terra/issues/9031 the reason I suggested using graphviz draw from rustworkx is that it can handle large graphs well.

My interpretation of #9031 was some form of fallback for qubit_coordinates_map. But true that solving #9031 would fix all of them. So closing as duplicated. Thanks!


Illegal constructor in JS

TypeScript Version:  2.1.4
Code
module graphics {

	export class Texture extends HTMLImageElement {

		constructor(src: string) {
			super();
			this.src = src;
		}

	}

}

/* another file */
var texture: Texture = new graphics.Texture('png/0.png');

`
/* tsconfig.json */
{
	"compilerOptions": {
		"outFile": "../public/js/app.js",
		"target": "es5"
	}
}

Expected behavior: Execute in browser without errors.
Actual behavior: TypeError: Illegal constructor.

Please find more details in MDN on how custom elements work.
Also see https://github.com/Microsoft/TypeScript/issues/574#issuecomment-231683089


BDV2 MINOR Bug [Bug]

[ ] Used appropriate template for the issue type
[ ] Searched both open and closed issues for duplicates of this issue
[ ] Title adequately and concisely reflects the feature or the bug

Describe the bug

In the installer a lot of the text with characters that go down more {g, y, etc etc } is clipped off and the Browse buttons when you click options is also clipped at the top and bottom on 4k monitors. I dragged it over to my 1920x1080 monitor and it wasn't clipped so it's just 4k.
To Reproduce

Install on a 4k monitor
Expected behavior

Unclipped letters
Screenshots

System information

Windows 10, Canary.
Additional context

Only happens on 4k monitors.
Are you willing and able to fix this?

Nope

@Jiiks can you transfer this issue to the BDI repo? I don't seem to have the perms to.


cli: use popper binary to execute on CI systems

Currently, CI systems execute the check.py script directly, which means all pipelines run always on the host, regardless of what environment they specify in the .popper.yml file. In order to execute on the specified environment, we need to run popper check  (i.e. fetch the binary and execute that, instead of the python script)

subsummed by python port


How do I get record with count of references from one to many?

Thanks a lot @rbock for great product in public domain 🙏
Question: I don't quite get how to select record from table A and count of refs to above record from table B when A connects B as one-to-many?
SELECT
    A.field, count(*)
FROM
    A, B
WHERE
    A.id = B.a_id
GROUP BY
    A.field

I tried ways looking straightforward, such as
auto query = sqlpp::select( A.field, sqlpp::count(B), )
				.group_by(A.field)
				.from(B.join(A).on(B.aId == A.id))
				;
sqlpp::sqlite3::connection_config cf{app_::DATABASE, SQLITE_OPEN_READONLY};
sqlpp::sqlite3::connection c{cf};
c(query);

...but no luck.
Sorry if I missed something obvious.

I was able to get it in a bit dodgy way:
auto query = sqlpp::select(A.field, sqlpp::count(B.aId))
                .where(A.field.is_not_null())        // This helped, not sure why.
		.from(B.join(A).on(B.aId == A.id))
		.group_by(A.field)
		;

Seems .where(...) is needed, although .where(true) I tried first didn't work.
It would be great if this could be clarified.

Thanks for the report and for figuring out a first solution.
select requires a where clause or an explicit hint that this is an unconditional request by calling .unconditionally(). This is to prevent folks to accidentally forget the where clause. And you should have seen a static assert saying calling where() or unconditionally() required.
So in your example, this would be written as
auto query = sqlpp::select(A.field, sqlpp::count(B.aId))
		.from(B.join(A).on(B.aId == A.id))
		.unconditionally()
		.group_by(A.field)
		;

I noticed that unconditionally is not documented in the /docs. Fixed that.
Thanks,
Roland

Thanks a lot for the quick answer and for clarification.
Regards!

Thanks for the confirmation.


ModuleNotFoundError: No module named 'utils'

I'm trying to run this code only with CPU, so I removed all the .cuda() codes.
Then, when I executed demo.py, ModuleNotFoundError: No module named 'utils' this error happens.
When I checked the python files, most of them had errors importing modules from same directory or sub directories.
I can't figure out why. Any help would be appreciated.

in code, replace ' from utils ...... ' with 'from faster_rcnn.utils .....'


How the RL policy used during inference?

I study your code and find out that the RL-Policy class only be used in inference, in the training, your pipline is a supervised learning framework to predict the long-term goal position, am I correct? Thanks!

@rginjapan - During training, we train the potential function network to infer area and object PFs (not long-term goals). We do not use any RL or interactive simulation during training. Sec. 3.6 in our paper explains how supervised training works.
During inference, we use the potential function network to infer area + object PFs, linearly combine them to obtain a joint PF and sample the maximum location of the joint potential as the long-term goal. See Sec. 3.3 in our paper in this regard.

Thanks for your reply, so there is no RL in your pipeline, only supervised learning for PF, am I correct?

Yes, that is correct.


Would you kindly review the changes whenever you have the time to?
Thank you very much.


Add a caching layer to pachyderm

@sjezewski if you wouldn't mind making a pass on this

And one last thing. Once we have a flag to enable/disable, this seems like a great example to write a benchmark to validate the behavior.
After that, LGTM

K, I think I've addressed all of your comments except for the one about writing a benchmark. Basically writing a benchmark would require 2 things, one is writing a simple golang benchmark which reads and writes files. The other is having a way to deploy the server with and without a cache. I think it'd take a lot of scaffolding to get that working so I'd prefer to get this merged in and then do a bigger push on benchmarking and performance in the next release cycle when we'll write all of the scaffolding code and come up with different workloads. Does that seem reasonable?

Yea, thats fair. We have an open issue ( #648 ) about having test coverage for an obj store ... once we have that in place, this gets a lot easier.
Let's make a new issue for this benchmark and refer to it in #648


fix(runtime-core): add verification of some built-in components

What is the bug you found? Can you provide a reproduction?

If you try to register a Vue built-in component in the component, the component is invalid, so we need to add verification built-in components
such as reproduction

Not sure if this would be enough for cases like base-transition and such


fix: disable allowWindowsEscape on minimatch

This fixes #471 by a partial revert of 73feafd17f1c04633349652605e12fbbaef9b3cf.
See my comment on the issue https://github.com/isaacs/node-glob/issues/471#issuecomment-1126739067 for more details.
I intend for this to be released as a patch to only v7.

Fix landed in c663c7d21ffe64ddb5576674735c65a8551f927a.

Ah, sorry, didn't see this before fixing it myself.  Thanks, though!

All good!


CSS flickering when importing css using adapter-node

Hey there hope all is well, and everyone is well.  There's an odd bug when importing css or writing css in components when using adapter-node.  Everything will flicker with nothing styled.  Things render fine when not using that specific adapter.   A run around is to import the css from the public directory in your app.html meta tags, that css will render right away if using adapter-node.  Just wondering if this is a bug or something I'm unfamiliar with.

I also ran into this, but I noticed that it is only happening in the development environment, still pretty annoying.

Please provide a complete and minimal reproducible example. Also, can you check if #967 fits your problem?


System clock sometimes jumps back ~54secs (IDFGH-396)

Hello,
i noticed that the system clock (esp_timer_get_time()) on our app sometimes(1-2xhour) jumps back ~54 secs.
Looking through the esp-idf timer code, i see the rollover of the internal 32-bit usecs clock is around the same value, so my guess is rollover happens without all the rollover-handling code firing, though at a glance i don't understand how that could be the case.
I'm running on ESP32 with Unicore, with multiple threads. NTP is disabled. Happens on all master/v3.1/v3.0.
My sdkconfig: https://pastebin.com/6L4DcMiH
Main thread code:
...
typedef int64_t timestamp_t;
timestamp_t esp_timestamp = 0;
timestamp_t esp_timestamp_lastframe = 0;

for(;;) { // frame start
  esp_timestamp_lastframe = esp_timestamp;
  esp_timestamp = esp_timer_get_time();

  if (esp_timestamp < esp_timestamp_lastframe) {
    timestamp_t shift_us = esp_timestamp - esp_timestamp_lastframe;

    ESP_LOGE(TAG, "ESP system clock SHIFT: %lli usecs", shift_us);
  }

 ...

 vTaskDelay(20 / portTICK_PERIOD_MS);
}
/* not reached */

Output:
E (355905) Main: ESP system clock SHIFT: -53666211 usecs
...
E (815595) Main: ESP system clock SHIFT: -53666244 usecs

As a followup, this seems to be happening only when the CPU is running at 160 or 240Mhz, not on 80. The investigation continues.

I'm experiencing the same thing on my application using v3.0-rc1, clocked at 160MHz. What's interesting is that there have been a number of commits to esp_timer_esp32.c since that version to address the overflow capture behavior.
I haven't been able to reproduce the time-shifting behavior. When it does happen, it will jump backwards, then increment as expected for 54 seconds, then jump back 54 seconds, then increment 54 seconds, etc.
@snoutmate You've seen the issue occur even on master?

@snoutmate and @NateBowen thanks for reporting. Could you describe which also tasks are running at the time? Perhaps you have your frequent interruptions or something else (which peripherals are used). Please help me understand what happened.
Thanks.

@NateBowen  Do you also use CONFIG_FREERTOS_UNICORE=y mode? Could you provide your sdkconfig file?

@NateBowen @snoutmate Hi, would you help share if any updates for this issue? Thanks.

We're no longer using the esp_timer library for our basic application clock, so I have no updates on this issue.


When to open the code？

Thank you for your great work. When to open the code？

Hello,
Thank you for your interest in our work! We're currently cleaning the last pieces of the code and should finish up this week.


So Many Errors; So Little Time.

Hi the documentation here seems to be riddled with errors in that many of the helm commands do not work.
First off there is insufficient specificity regarding which "charts" directory is going to be operated upon.  When we run the helm commands, do they update contents of all the "charts" directories in the sample app?  E.G. what is the reader expected to do in order to follow this instruction from the documentation here:
You can use Azure Dev Spaces for team development after an application is running in a cluster regardless of the tooling used to deploy it.
Use the helm init and helm install commands to set up and install the sample application on your cluster.
...
cd charts/
helm init --wait
helm install -n bikesharing . --dep-up --namespace dev --atomic

In which directory of the sample app do we issue the "cd charts/" command?  There are several "charts" directories in the sample project.
Supposing we run the command in a random directory, as this is the best we can do without any specific details from the documentation here, an error is generated (I suppose if it is the wrong directory?):
Here is one error generated when we run helm install in the wrong "chart" directory:
helm install -n bikesharing . --dep-up --namespace dev --atomic
Error: invalid chart (Chart.yaml): name must not be empty

Here is another error generated when we run helm install in the wrong "chart" directory:
install -n bikesharing . --dep-up --namespace dev --atomic
INSTALL FAILED
PURGING CHART
Error: grpc: received message larger than max (85354715 vs. 20971520)
E0827 03:14:51.969722   50256 portforward.go:372] error copying from remote stream ttream to local connection: readfrom tcp4 <IP_ADDRESS>:17371-><IP_ADDRESS>:17373: wrtcp4270ite tcp4 <IP_ADDRESS>:17371-><IP_ADDRESS>:17373: wsasend: An established connectionrtedths was aborted by the software in your host machine.
Error: release: "bikesharing" not found

Please update this "Quickstart" and explicitly describe the operations such that we can use this as intended, to demo an easy implementation for sample/research purposes.  As it stands, this article is very difficult to follow, and there is not much that is "Quick" about it but for the errors and confusion created.
Thanks,
David

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

ID: 9c0f176f-ffed-ce36-150d-c6ed6d47d6f7
Version Independent ID: 9a642e32-7081-dbdb-c4be-69f44fdc8e8c
Content: Team development on Kubernetes using Azure Dev Spaces - Azure Dev Spaces
Content Source: articles/dev-spaces/quickstart-team-development.md
Service: azure-dev-spaces
GitHub Login: @zr-msft
Microsoft Alias: zarhoads

@klawrawkz The document talks about the chart folder under dev-spaces/samples/BikeSharingApp.
You can find below in the document:

git clone https://github.com/Azure/dev-spaces
cd dev-spaces/samples/BikeSharingApp/

Then you need to cd into charts

cd charts/
helm init --wait
helm install -n bikesharing . --dep-up --namespace dev --atomic

You can find the complete list of steps to be followed below:
Open Powershell as an Administrator:

Install CLI - https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest

Install Helm - https://github.com/helm/helm/blob/master/docs/install.md

Restart Powershell as Administrator

az login

az account set --subscription <subscription_name>

az group create --name <resource_group_name> --location eastus

az aks create -g <resource_group_name> -n <aks_cluster_name> --location eastus --node-vm-size Standard_DS2_v2 --node-count 1 --disable-rbac --generate-ssh-keys

az aks use-dev-spaces -g <resource_group_name> -n <aks_cluster_name> --space dev --yes

Restart Powershell as Administrator

git clone https://github.com/Azure/dev-spaces

cd dev-spaces/samples/BikeSharingApp/

azds show-context

Edit dev-spaces/samples/BikeSharingApp/charts/values.yaml and replace all instances of <REPLACE_ME_WITH_HOST_SUFFIX> with the HostSuffix value you retrieved in the previous step

cd charts/

helm init --wait

helm install -n bikesharing . --dep-up --namespace dev --atomic

Hope this helps!

Thanks for the response, @AmanGarg-MSFT.
Here’s the result of the install command:
PS I:\karma-data\repos\kubernetes\dev-spaces\samples\bikesharingapp\charts> helm install -n bikesharing . --dep-up --namespace dev --atomic --wait

INSTALL FAILED

PURGING CHART

Error: release bikesharing failed: timed out waiting for the condition

Successfully purged a chart!

Error: release bikesharing failed: timed out waiting for the condition

Here’s the result of the command without ‘—wait’ switch:
PS I:\karma-data\repos\kubernetes\dev-spaces\samples\bikesharingapp\charts> helm install -n bikesharing . --dep-up --namespace dev --atomic

INSTALL FAILED

PURGING CHART

Error: release bikesharing failed: timed out waiting for the condition

Successfully purged a chart!

Error: release bikesharing failed: timed out waiting for the condition

What’s the story with this error?  Resolution?
@klawrawkz
From: AmanGarg-MSFT<EMAIL_ADDRESS>Sent: Tuesday, August 27, 2019 6:20 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: David<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] So Many Errors; So Little Time. (#37838)
@klawrawkz https://github.com/klawrawkz  The document talks about the chart folder under dev-spaces/samples/BikeSharingApp.
You can find below in the document:
git clone https://github.com/Azure/dev-spaces
cd dev-spaces/samples/BikeSharingApp/
Then you need to cd into charts
cd charts/
helm init --wait
helm install -n bikesharing . --dep-up --namespace dev --atomic
You can find the complete list of steps to be followed below:
Open Powershell as an Administrator:
Install CLI - https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
Install Helm - https://github.com/helm/helm/blob/master/docs/install.md
Restart Powershell as Administrator
az login
az account set --subscription <subscription_name>
az group create --name <resource_group_name> --location eastus
az aks create -g <resource_group_name> -n <aks_cluster_name> --location eastus --node-vm-size Standard_DS2_v2 --node-count 1 --disable-rbac --generate-ssh-keys
az aks use-dev-spaces -g <resource_group_name> -n <aks_cluster_name> --space dev --yes
Restart Powershell as Administrator
git clone https://github.com/Azure/dev-spaces
cd dev-spaces/samples/BikeSharingApp/
azds show-context
Edit dev-spaces/samples/BikeSharingApp/charts/values.yaml and replace all instances of <REPLACE_ME_WITH_HOST_SUFFIX> with the HostSuffix value you retrieved in the previous step
cd charts/
helm init --wait
helm install -n bikesharing . --dep-up --namespace dev --atomic
Hope this helps!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/MicrosoftDocs/azure-docs/issues/37838?email_source=notifications&email_token=AAWREO434WR4Q56HBTDHRELQGT5TVA5CNFSM4IP7S34KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5HICXA#issuecomment-525238620 , or mute the thread https://github.com/notifications/unsubscribe-auth/AAWREO7V64CRCZNXGKY4KT3QGT5TVANCNFSM4IP7S34A .  https://github.com/notifications/beacon/AAWREOYVN6IDWL4HCGTZJ4DQGT5TVA5CNFSM4IP7S34KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5HICXA.gif

@klawrawkz A few things to try:

Make sure you have installed the latest version of helm and azure cli installed

Make sure you copy and paste the correct value of HostSuffix from the below command output

azds show-context

Edit dev-spaces/samples/BikeSharingApp/charts/values.yaml and replace all instances of <REPLACE_ME_WITH_HOST_SUFFIX> with the HostSuffix value you retrieved in the previous step

Delete and create a new aks cluster

Please make sure you have a valid internet connection and are not sitting behind a proxy with firewall that prevents you to reach certain urls

Thanks for the response, @AmanGarg-MSFT.
I ran the commands from your original reply using bash on my WSL ubuntu instance and there were no issues.  Very smooth install. I wonder if something is not right in 'windows land' on my box?
Anyhow, thanks for your help with this.  Interesting journey.  Kind of rocky at times.
Cheers,
@klawrawkz

@dhmorrison @klawrawkz  - You are welcome :)


upstream: add main interface API to drain connections

Description: this PR adds the main interface API. Subsequent PRs will attach to lifecycle events.
Risk Level: low - new API
Testing: unit test
Signed-off-by: Jose Nino<EMAIL_ADDRESS>

Pending: https://github.com/envoyproxy/envoy/pull/17775


Rename: typo in network monitor tests, avalibility to availability

https://github.com/openshift/origin/pull/28474 fixes the typo in some network monitor test names

/hold
I may want to elevate that regexp functionality so all components can use it


dmx_port when not using SparkFun shield

I am trying to figure out what to do with the dmx_port_t dmxPort = 2; section when I am not using a Sparkfun Shield but a RS-485 MODULE.
If I remove it I get errors.

Hopefully I can help! Take a look at the dev branch readme. I just recently added a section on how to wire a RS-485 module here.
dmx_port_t is a type that tells your ESP32 which UART port to use for DMX. Depending on which ESP32 you have, you can have up to 3 UART ports. If you're familiar with Serial in Arduino, it's like choosing Serial, Serial1, or Serial2.

Thank you. Now I understand.


Is an APK release to download via GitHub planned? Or F-Droid or Izzy, whichever is easier?

Just wondering, or if it's something of less priority atm. I really like Accrescent but atm BeauTyXT is the only app I would need from downloading the entire "app store".
Greetz and Thank you

Hi, at this time an APK release on GitHub isn't planned. The only app store / method of getting BeauTyXT that I think fits my requirements is Accrescent. Its really nice and fairly easy to use. Thanks and have a good day/night!

You can get an apk in the Assets part of the release on GitHub if you really need it for some uses. It is recommended to install BeauTyXT through the Accrescent app store at https://accrescent.app/ for more security and automatic updates.


incremental update of Localizable.string

how can I use provided genstrings.py file to incremental update Localizable.string file?

Thats also my question. :-) Any answers?

Hi @hashemp206 and @alibasta.
Firstly, genstrings.py is dead and was replaced by a genstrings.swift file.
The file will print out all of the localisable strings in your project but currently it doesn't automate diffing for incremental updates. Maybe that's something to consider for a future update.


(SERVER-1183) Add entry to env class cache if not present during get

This PR is a replacement for #930, which was originally targeted at the
master branch.
This PR replaces the use of a timestamp for synchronization of tags
in the environment class info cache with an incrementing integer, called
the cache-generation-id.
This PR adds some logic behind the
get-environment-class-info-tag-cache-generation-id! call in the
jruby-puppet-service to update the environment class info cache with a
new entry for the environment being queried in the event that no prior
entry existed for that environment. This allows any subsequent
mark-all-environments-expired! calls that may be made to the service to
update the cache-generation-id in the cache for the environment and,
therefore, for the logic added in #926 to avoid updating the
cache with a stale tag to be used for the case where the get precedes a
mark-all-environments-expired! call.
This PR also refactors some of the logic in the jruby-puppet-service
namespace related to environment class cache maintenance down into
the jruby-puppet-core namespace and addresses some previously
unaddressed PR comments from #926 and #933.

:+1: looks good to me. Left a couple small comments on some of the tests, but nothing I feel like should block merge.

@rlinehan Thanks again for all of the feedback.  I think I've addressed all of your latest comments but please let me know if you see anything else.

@camlow325 I'm good! :shipit:


Column width problem

Hi folks,
first of all, thanks for this awesome component, but we have a little problem with it.
If we add items to template.projection ({column}) and react rerender the table everything looks fine.
But if we remove items of template.projection, the width of deleted column is splitting to each remaining column and ignore the width information on other TableHeaderColumn.
 <BootstrapTable height="250" data={data} striped={true} hover={true} condensed={true}>
    <TableHeaderColumn dataField="articleNumber" width="60" dataFormat={this.excludedFormatter}>
        {labels.new_action}</TableHeaderColumn>
    <TableHeaderColumn dataField="articleNumber" width="115" isKey={true}
        filter={{type: "TextFilter", placeholder: labels.new_articleNumber}}/>
    <TableHeaderColumn dataField="description"
        filter={{type: "TextFilter", placeholder: labels.new_description}}/>
    {column}
</BootstrapTable>

column =
        let column = filter.concat(template.projection).map(headline => {
            return (
                <TableHeaderColumn dataField={headline} width="80">{headline}</TableHeaderColumn>
            );
        });

@ccjruemenapf, I haven't see this issue, could you please show me an complete example(A js or a repo for me to reproduce this issue easily)?
Thanks you :)

Hi,
thank you for your very fast response.
I'm created a separate project with only the functionality to add and delete columns.
And i realize that the issue only occurs if a horizontal scrollbar appears on table component, otherwise it works fine.
So it would be nice if you checkout my repository and take a look at the problem.
Add columns (all) using the left component until a horizontal scrollbar appears on the table component. Then delete columns using the x on the left component.
[https://github.com/ccjruemenapf/react-bootstrap-table-column-example]

I hope the project is easy enough and thank you very much for your time.

Thanks !!  I'll check this out :+1:

@AllenFang I have the same issue just like this even before.
The problem here is if on the componentDidMount and the table is rendered without scrollbar, then when I add new data upon componentWillReceiveProps  or update the table columns is being misaligned because of the added scroll bar.
I solved mine by creating a complicated eventListener  and some css configuration.
but now I think this can be resolved now by simply putting react-bs-container-body inside of a custom scroll like this one react-custom-scrollbars in that way, we can avoid adding of extra scoll-width  on the table body that cause column misalignment.

@markortiz, thanks, I'll try it out, sorry for lately fixing, busy on work ;(

hi there, sorry for lately fixing, check<EMAIL_ADDRESS>by
npm install<EMAIL_ADDRESS>and I thought this beta release already fixed couples unalign problem, if it work and stability, I'll consider to forward to production as soon as possible.
Let me know if the problems still there. thanks


Change authboss binding to utilize scanner

This will allow use to work with SQLDriver values like NullString and NullTime

easy peasy


Implement client-side form validation feedback in React forms

Likely requires us to choose a React forms library first (some options: https://react.rocks/tag/Form). Could use JSON Schema as part of the form field schema we're generating, as a way to communicate validation constraints from the server to the client. Includes styling through Bootstrap (http://v4-alpha.getbootstrap.com/components/forms/#validation).
Redux Form has pluggable validation. Note that we can get quite far with powerful declarative validation, as the popularity of https://github.com/sheadawson/silverstripe-zenvalidator proves.
Overview of adding validation to Redux Form<EMAIL_ADDRESS>TO DO: Revisit the size after #5524 is complete.
Tasks

[ ] Require "Name" on File and Folder detail sidebar in AssetAdmin (split out from https://github.com/silverstripe/silverstripe-asset-admin/issues/156)

Related

Server-side validation: https://github.com/silverstripe/silverstripe-framework/issues/5522
Implement a React form library: https://github.com/silverstripe/silverstripe-framework/issues/5524

throwing in this TODO I noticed while peer reviewing, so it's not forgotten:
https://github.com/silverstripe/silverstripe-asset-admin/pull/287/files#diff-1725a22613a9ff930ae321601182c714R80

I've been searching around for a validation library that we could use, some criteria I had in mind were:

Can provide many basic validation rules
Can be used with ReactJS
Documentation reasonably covers API.
No heavy dependencies is a plus, e.g. no jQuery.
Extensibility is a plus.

Recommendation
Approve.js
Approve.js is a great candidate that would suit our needs.
It was designed to be a non-intrusive layer for frontend/backend validation, the maintainer himself uses it with Vue.js.
The library is extensible, so custom validation rules can easily be added in.
Pros:

Extensible, can add custom validation rules easily.
Can customise validation messages as required.
API is basically passing in an object with the rules contained.
Returns an object with iterable error messages.
Cons worth noting:
Young project (published July 2016)
Their "Test results" documentation page was broken at the time of reviewing.

Alternatives
Validator.js
Validator.js has a great range of validation rules available.
The library is a simple and non-intrusive with a straight forward API.
Pros:

Every rule is its own function.
API is simple to understand and use.
Cons worth noting:
We will need more of our own code to test each field - unable to test multiple rules at once, and each rule is a function call.
Extensible in the sense you can plug in more functions to the API, not provided by the library.

Valid.js
Valid.js has a nice concept of validation rules as objects.
The library is non-intrusive and with a unique API.
Pros:

Each rule will have its own validation object.
API is simple to use.
Cons worth noting:
Tests all rules and returns a boolean as a result, could run each rule individually to get atomic information about failure for messages.
Creating so many objects could lead to performance hits for large forms, although theoretically it'd have to be closer to a thousand of validation rules potentially.

Oh my - written a long response, then closed the browser window... in short: ApproveJS is very young and unknown (300 monthly NPM downloads vs. 1,400,000 on validator.js). It's more constrained in scope, 44kb vs. 266kb source for validator.js. And overall its not a lot of code. So even if the library goes unmaintained in 2018, we could self-maintain it while managing a transition. It also doesn't try to solve client-side value sanitisation like validator.js, which I'd consider scope creep. So I'm fine with ApproveJS :)

My investigation into Approve.js also reveals they have very lax validation for things such as dates, based on regexp rather than real date validation. I think it's fine to allow development to progress, but I think either of the other two would be better long term.

I've done some work adding validation to the php form schema https://github.com/open-sausages/silverstripe-framework/commits/pulls/4.0/schema-validation-rules

Pull request created https://github.com/silverstripe/silverstripe-framework/pull/6251

Reviewing now. :D

Review done; Fixes requested. :)

We had found some limitations with Approve.js which wouldn't be ideal (displaying all error messages when only some of them apply and Date validation is rigid and relies on a set format).
I had looked into Valid.js and this also had a similar issue with dates.
We'll switch to Validator.js and see how this goes.


Added buffer access to TagReader

Exposing the bufferArray/InputStream on the TagReader interface will open the ability to use alternative frameworks for reading from infinispan, such as protobuf-java. Writing is already possible. For applications with many complex models, this will prevent the need to rebind to the protostream specific classes, and push/pull protobuf straight from other sources into the cache/grid. For large objects, the InputStream was also exposed.
The limitation is that proto messages in a single key:value pair can't mix accessing the full buffer array, with a protostream customer marshaller, nor protostream annotated auto objects. The entire payload of the WrappedMessage is read. Checks were added to the enhancement to prevent mixing, and make it clear to the user through an IllegalStateException, and comments on the TagReader interface.
Tests were added for the happy path with the byte[] and InputStream, and a failure test for the mixing of marshalling modes.
With this addition, a client can create a generic protobuf marshaller for existing protobuf-java classes using [1] and a context initializer like [2].
[1]
public class GenericProtobufMarshaller<T extends AbstractMessage> implements ProtobufTagMarshaller<T> {
    private static final transient Logger log = LoggerFactory.getLogger(GenericProtobufMarshaller.class);

    private final Class<? extends T> javaClass;
    private final String typeName;
    private final ByteArrayParseFunction<byte[], T> parseFromMethod;

    public GenericProtobufMarshaller(
        final Class<? extends T> javaClass,
        final String typeName,
        ByteArrayParseFunction<byte[], T> parseFromMethod)
    {
        this.javaClass = javaClass;
        this.typeName = typeName;
        this.parseFromMethod = parseFromMethod;
    }

    @Override
    public Class<? extends T> getJavaClass() {
        return javaClass;
    }

    @Override
    public String getTypeName() {
        return typeName;
    }

    @Override
    public T read(ReadContext ctx) throws IOException {
        TagReader reader = ctx.getReader();

        byte[] rawBytes = reader.fullBufferArray();
        T t = parseFromMethod.apply(rawBytes);

        return t;
    }

    @Override
    public void write(WriteContext ctx, T t) throws IOException {
        byte[] tBytes = t.toByteArray();
        log.info("writing bytes: {}", tBytes);

        TagWriter out = ctx.getWriter();
        out.writeRawBytes(tBytes, 0, tBytes.length);
    }

    @FunctionalInterface
    public interface ByteArrayParseFunction<T, R> {
        R apply(T rawBytes) throws InvalidProtocolBufferException;
    }

}

[2]
public class MySerializationContextInitializer implements SerializationContextInitializer {
...
   @Override
    public void registerMarshallers(SerializationContext ctx) {
        ctx.registerMarshaller(new GenericProtobufMarshaller<>(Payment.class, "realtimepayments.Payment", Payment::parseFrom));
        ctx.registerMarshaller(new GenericProtobufMarshaller<>(Payer.class, "realtimepayments.Payer", Payer::parseFrom));
        ctx.registerMarshaller(new GenericProtobufMarshaller<>(Payee.class, "realtimepayments.Payee", Payee::parseFrom));
        ctx.registerMarshaller(new GenericProtobufMarshaller<>(Transaction.class, "realtimepayments.Transaction", Transaction::parseFrom));
    }
...
}

Thanks @shuawest , I've pushed it as https://github.com/infinispan/protostream/commit/0c28165273abe0d51e3d888fad8ab61c283634c2 fixing the conflict and adding a Jira


Call Diffractor's native pushforward

Extensions

Call Diffractor's native pushforward to remove the AbstractDifferentiation weakdep (see https://github.com/JuliaDiff/Diffractor.jl/issues/287)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.60%. Comparing base (99a3f37) to head (b88d44a).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #153      +/-   ##
==========================================
- Coverage   93.57%   89.60%   -3.97%
==========================================
  Files          61       15      -46
  Lines        2008      837    -1171
==========================================
- Hits         1879      750    -1129
+ Misses        129       87      -42

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[Feature request] Mac port

I don't know how many people would be interested by that but i am,
I'm looking for or to make a mac port of VRCX, i use a mac when i'm not on my vr setup and i now hate the vrchat website since i use vrcx
Thanks for taking a look at this feature request

It would require a massive rewrite so it's not possible for the time being, look into getting Wine or VMware Fusion, there are several ways of running windows applications on macOS.

Thanks for looking into the issue ... hope it will be done one day

Thanks for looking into the issue ... hope it will be done one day


fix: Move graphql lib to peerDependecies

This should fix #77 by moving the graphql package to peerDependecies and asking the consumer to install the version they use.
It's the approach taken by Apollo Client, and other libraries that consume graphql.

It seems like we are not quite there yet. :(
I have fetched this branch and installed kimera from the local folder in a play project. I noticed that an error is thrown Error: Cannot find module 'graphql'.
Also the CI checks fail because graphql isn't found as a dependency.

Since it is now a peer dependency you'll need to install it in your project.
On Mon, 29 Jun 2020, 8:46 am Lucian Samson<EMAIL_ADDRESS>wrote:

It seems like we are not quite there yet. :(
I have fetched this branch and installed kimera from the local folder in a
play project. I noticed that an error is thrown Error: Cannot find module
'graphql'.
Also the CI checks fail because graphql isn't found as a dependency.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/lola-tech/graphql-kimera/pull/81#issuecomment-650992025,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADT37N5WJY42QQYZT73BRLRZBBGJANCNFSM4OJ6AVLA
.

I have installed kimera on the play project using
npm install --save-dev ../graphql-kimera/packages/graphql-kimera graphql -- installed kimera from local folder while on this branch and graphql from npm.
Then when running the server i get the error:
Error: Cannot find module 'graphql'     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)     at Function.Module._load (internal/modules/cjs/loader.js:506:25)     at Module.require (internal/modules/cjs/loader.js:636:17)     at require (internal/modules/cjs/helpers.js:20:18)     at Object.<anonymous> (/Users/lucian.samson/web/graphql-kimera/packages/graphql-kimera/node_modules/graphql-tools/dist/makeExecutableSchema.js:5:17)     at Module._compile (internal/modules/cjs/loader.js:688:30)     at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)     at Module.load (internal/modules/cjs/loader.js:598:32)     at tryModuleLoad (internal/modules/cjs/loader.js:537:12)     at Function.Module._load (internal/modules/cjs/loader.js:529:3)

Ah-ha!
The linked Kimera won't find the graphql in your main project (module regulation for its dependencies will work upwards from the real location)
Adding graphql to kimera's devDependencies, or asking to install peerDependencies in this situation, should fix it, I think...

Pull Request Test Coverage Report for Build 151375458

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.0%

Totals

Change from base Build 148603475:
0.0%

Covered Lines:
0

Relevant Lines:
0

💛  - Coveralls

Hm, if you have to do module resolution again, that defeats the purpose of the fix.


Problem with device assertion

Hi everyone, when I trying to run main.lua with my dataset, which was created due to following command:
python preprocess_utf8.py  custom w2v/ruscorpora_russe.model.bin --train Trainset.txt --test Testset.txt --dev Validset.txt --custom_name ParentClass
I always get the error:
/tmp/luarocks_cunn-scm-1-9034/cunn/lib/THCUNN/ClassNLLCriterion.cu:52: void cunn_ClassNLLCriterion_updateOutput_kernel(Dtype *, Dtype *, Dtype *, long *, Dtype *, int, int, int, int) [with Dtype = float, Acctype = float]: block: [0,0,0], thread: [14,0,0] Assertion `t >= 0 && t < n_classes` failed.
THCudaCheck FAIL file=/tmp/luarocks_cutorch-scm-1-3543/cutorch/lib/THC/generic/THCStorage.c line=32 error=59 : device-side assert triggered
/home/ubuntu/torch/install/bin/luajit: cuda runtime error (59) : device-side assert triggered at /tmp/luarocks_cutorch-scm-1-3543/cutorch/lib/THC/generic/THCStorage.c:32
stack traceback:
        [C]: at 0x7fac9f291f60
        [C]: in function '__index'
        ...ntu/torch/install/share/lua/5.1/nn/ClassNLLCriterion.lua:52: in function 'forward'
        ./trainer.lua:187: in function 'test'
        main.lua:197: in function 'train_loop'
        main.lua:340: in function 'main'
        main.lua:353: in main chunk
        [C]: in function 'dofile'
        ...untu/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
        [C]: at 0x00405e90

What kind of thing caused it? In my opinion, there may be some discrepancy between sizes of dev,test, train sets. But why does it matter? It is just my hypothesis. Does anyone know something about it?

Can you double check your test / valid set labels? They need to be 0-indexed in your .txt files - it looks like you have an out-of-bounds error.

Hmmm, there is no any index in my txt files. Just first column is a label (from 0 to some number), second one and other columns are contents(features).

@jeffreyling maybe there is problem in the following: I have for instance 100 examples in training set where labels are in range from 1 to 56 but in the validation set I have some labels with number outside the range( 1, 56) and it caused the error. Maybe this is the case?

Yes, you shouldn't have classes in your val / test that aren't seen in the train. There is no way to correctly predict them, so you should omit those examples.
I'll add an assert to prevent that.


sysparam: always create the semaphore on init.

Otherwise when initialization was not successful it may fail with an assertion in FreeRTOS rather than returning SYSPARAM_ERR_NOINIT.

Thank you!


[Backport] [2.x] GA updates and minor BWC test cleanups (#104)

Backport of https://github.com/opensearch-project/custom-codecs/pull/104 to 2.x

thanks @reta


bump holochain_persistence to 0.0.7

PR summary
bump holochain_persistence to 0.0.7, needed for futures crate update.

this will also require cutting a new version of lib3h for holochain-rust to use...


chore(main): release 1.0.0

:robot: I have created a release beep boop
1.0.0 (2024-02-24)
Features

FolderInputSuggest (070d06c)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/javalent/obsidian-utilities/releases/tag/v1.0.0 :sunflower:


pyfile not found

Hi, great work!
Right after installation vim-ide on Ubuntu 16.04 it was required to install zsh.
I cloned vim-ide at 753aa8276fc89a1cb8e9ca3be5fd1bae9852ede0
I have installed Python.
python --version
Python 2.7.12 :: Anaconda 4.2.0 (64-bit)
But...
Обнаружена ошибка при обработке[Processing error detected] /home/user/.vim/bundle/Omnisharp/plugin/OmniSharp.vim:
строка[line]   11:
E319: Извините, эта команда недоступна в данной версии[Sorry, this command is not available in this version]: pyfile /home/user/.vim/bundle/Omnisharp/python/OmniSharp.py

Hi,
In terms of zsh, you are right. As I am using zsh daily, I changed it in the vimrc file. If you prefer to use bash, you can do following change in your $HOME/.vimrc file:

set shell=/bin/zsh

set shell=/bin/bash

In terms of OmniSharp.py - I will need to check it in details.
For now if you don't use C# with your vim-ide I recommend quick fix - removing OmniSharp:
rm -rf $HOME/.vim/bundle/Omnisharp
Enjoy !


Usage example fails

Hi
I have installed the package according to the recommendations.
But the Usage example fails in two places:
import numpy as np
import pandas as pd

from jupyter-datatables import init_datatables_mode  #  1) fails here unless I change to underscore: jupyter_datatables

init_datatables_mode()  # fails here with ModuleNotFoundError: No module named 'jupyter_tools'

Full error listing :
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-2-5555e4cbac8b> in <module>
      2 import pandas as pd
      3
----> 4 from jupyter_datatables import init_datatables_mode
      5
      6 init_datatables_mode()

/opt/anaconda/envs/py36/lib/python3.6/site-packages/jupyter_datatables/__init__.py in <module>
     36 from pathlib import Path
     37
---> 38 from jupyter_require import require
     39
     40 from jupyter_require import link_css

/opt/anaconda/envs/py36/lib/python3.6/site-packages/jupyter_require/__init__.py in <module>
    127
    128
--> 129 _handle_ipython()

/opt/anaconda/envs/py36/lib/python3.6/site-packages/jupyter_require/__init__.py in _handle_ipython()
    115         return
    116
--> 117     load_ipython_extension(ipython)
    118
    119

/opt/anaconda/envs/py36/lib/python3.6/site-packages/jupyter_require/__init__.py in load_ipython_extension(ipython)
     73 def load_ipython_extension(ipython):
     74     """Load the IPython Jupyter Require extension."""
---> 75     from .magic import RequireJSMagic
     76
     77     logger.debug("Loading Jupyter Require extension.")

/opt/anaconda/envs/py36/lib/python3.6/site-packages/jupyter_require/magic.py in <module>
     32 from IPython.core.magic import needs_local_scope
     33
---> 34 from jupyter_tools.utils import sanitize_namespace
     35
     36 from .core import execute_with_requirements

ModuleNotFoundError: No module named 'jupyter_tools'

Hello and thank you for trying Jupyter DataTables!
The from jupyter-datatables import ... is, of course, a horrible typo, thanks for pointing that out!
And well... shrap, I completely forgot that I use jupyter-tools to sanitize the namespace. I will add it to the dependencies ASAP.
In the meantime, since this is not yet a package in PyPI, you can install it from https://github.com/CermakM/jupyter-tools. I am sorry for the incovenience.

The new release of jupyter-require includes the missing package, this issue should now be solved.

Thank you.
I have tried adding it manually - with success.
Now it will be a much smoother experience ;-)

Thanks! Resolved. :)


imgui touch position is incorrect

imgui touch position is incorrect, offset to the upper left corner

The touch penetrates the imgui, how to set the touch not to penetrate the imgui

You can hook unity's nativeInjectEvent to get correct input positions

it is an imgui scaling issue when screen game resolution not the same with device resolution in unity's games, for now the only fix that i know force set resolution using the SetResolution hook in the Screen class

how to fix this issue for games that arent unity based


Blank screen

There is only blank screen  there is no even a cursor what should I do? I installed it via AUR

There is only blank screen there is no even a cursor what should I do? I installed it via AUR

Hi Topeka,
I would recommend installing it from source since I no longer maintain the AUR package.


If the loginradius configSection doesn't exist, the ConfigManager crashes

If the loginradius configSection doesn't exist, the ConfigManager crashes

Hi @JCPuerto ,
LoginRadius has released a new version of the API SDK (5.0.0) with several new changes and additions. SDK now softly handles config exception and does not throw config initialization exception.
further details regarding the release changes, please see here.


Relicense to dual MIT/Apache-2.0

This pull request was automatically generated because my scripts detected that
everyone in the relicensing issue agreed to
relicensing.
License headers in files were not updated, if they exist. I've reproduced an
example license header below if you want to copy-paste it in. If you don't
have license headers, don't feel compelled to add
them.
// Copyright 2016 libfringe Developers
//
// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or
// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.

I recommend publishing a new patch version (the z in x.y.z) so that the
metadata propagates to crates.io.
Please be sure to check the README.md for style. I've try to
review these PRs as they go out, but I might miss something.
Thanks for relicensing!
(For my bookkeeping: this is repository id libfringe-ce14bb8b-2453-4e68-b650-dae5690f7aa0)

@nathan7 we can probably merge this now

landed as fda28a81cfd20e5a1a01c7f48826a3df68f03410


Installed libraries don't have SONAME

Warning: /usr/ports/science/rdkit/work/stage/usr/local/lib/libRDKitMolStandardize.so.1.2020.09.5 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.
Warning: /usr/ports/science/rdkit/work/stage/usr/local/lib/libRDKitScaffoldNetwork.so.1.2020.09.5 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.

Version 2020_09_5
Could you please add SONAMEs?

Hi @yurivict : my local builds do have SONAMEs for those files, so I can't reproduce this with my current build config.
What arguments are you providing to cmake?


Show error in insert mode?

Hello,
I was wondering if it's possible to show warnings or errors while I am in insert mode? If I quite insert mode, errors are being shown at the bottom of VIM editor, but if I am in insert mode, I can't see any errors at the bottom of my editor :(.

I can't remember the reason why, but you can't echo messages while in insert mode. It causes some problems.

I can't remember exactly what goes wrong when you do this, but I know that you can only echo the message properly from normal mode, so nothing can be done about this.

@w0rp oh, that's sad. So the only way to see warning or error message is to go to normal mode?

Yeah, for the echo message, you have to be in normal mode.


chore: update react-native-webview pod

The type of this PR is: chore

This PR resolves [CX-]
Description

This is happening after running bundle exec pod install --repo-update

(I tested the buy now and make offer flows and both seem to be working well)

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a CHANGELOG.yml entry or my changes do not require one.

I will merge this since It's a minor update and tested it locally and it works fine.

#squashongreen


Adding a sshkey security provider

This is a rebase and manual merge of @jhg03a's work. This closes #282

thank you so much for the yak shaving @DavidS! Could you please take a look at the wrong scope access?

ugh. thanks for noticing. @jhg03a needs to review this in-depth, that I haven't missed anything else.

I'm fine with merging this as-is and testing. @bastelfreak?

I'm not familiar with the module. I would be happy if somebody who uses this makes a review or we wait for @jhg03a.

@jyaworski this was a pretty hairy rebase/merge of @jhg03a's work, which apparently missed some. I'd really love to have Jonathan have a final :+1: before merging it.
But then, this is not my module, so proceed at will.

@DavidS at first sight this looks really good. I'll provide an indepth review tomorrow or monday.
i have one comment only so far: i am shocked — SHOCKED! — that you, of all people, didn't write tests for this 😜

@igalic as you might notice, I only did the rebasing of @jhg03a's code. I
claim responsibility for everything that git has done wrong, but I don't
think I lost wholesale files.
On 21 May 2016 at 22:17, Igor Galić<EMAIL_ADDRESS>wrote:

@DavidS https://github.com/DavidS at first sight this looks really
good. I'll provide an indepth review tomorrow or monday.
i have one comment only so far: i am shocked — SHOCKED! — that you, of all
people, didn't write tests for this 😜
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/voxpupuli/puppet-mcollective/pull/303#issuecomment-220800786

@DavidS this needs a rebase now.

@DavidS The yak shaving looks good.

@DavidS please rebase.


0.5.0

merging 0.5.0 from next to main.

These are correct commits

Just make sure to pick "REBASE and Merge" for this commit when you merge it and we should be good. Then main just gets the commits ported over from next.


finished documentation for openshift

Adding instructions about how to use Rocket.Chat on OpenShift Online. Please send me feedback to improve the docs.

Thanks for the contribution!  👍  Added a couple of notes in line.  If you could make those few changes, it'd be greatly appreciated!  👍

I fixed the typos you pointed out. Thanks

@rimolive Much appreciated!  Thanks again for your contribution!  👍


A.10.10 - handlebars setup

Setup handlebars + dir structure + helper functions (auth)

I have:

installed handlebars-express middleware
set it up on server.js
put the file structure in place
used @RitzGL template(can easily be changed) on the / route

This is now all setup so I will close this issue.


Add PR template

Pull Request

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

#8
#7
#6
#5
#4  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @JackPlowman and the rest of your teammates on  Graphite

Merge activity

Oct 30, 6:39 PM EDT: A user started a stack merge that includes this pull request via Graphite.


onConnectStart event handler would benefit handleId in params

In my flowchart, I rely on the handleIds often, as many nodes have many handles. I need to know the handleId when the interaction begins, so that I can validate the interaction in certain cases while it's happening rather than it finishes.
e.g. say in your chart more than one connection per handle is not allowed; and when creating a new connection, if there is an existing connection I can remove the existing one if I knew the handleId on onConnectStart.
With the current api I can only get the handleId from the dom element as I demonstrated below. Yes, the data attr is there, I can use it as a workaround, and react supports it, but as we know it's not the recommended way in a react app. It'd be more idiomatic to pass the handleId in params just like the nodeId.
  const onConnectStart = (event, params) => {
      const { nodeId, handleType } = params
      console.log(nodeId, handleType)
      // logs <nodeId>, "source|target"
      console.log(event.target.dataset)
      // logs DOMStringMap {handleid: "<handleId>", nodeid: "<nodeId>", handlepos: "right|left|top|bottom"}
  }

so, do you plan to add these in the params, or would you accept a PR adding those?

Hey @sinan!
good idea! We will add that :)


feat(vue-app): custom options in createRouter

Custom options when createRouter
Types of changes

[ ] Bug fix (a non-breaking change which fixes an issue)
[ ] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

Sometimes we need to use the @nuxtjs/router module for more custom creation, in which case vue-router is initialized twice.
https://github.com/nuxt-community/router-module/issues/56
Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly. (PR: #)
[ ] I have added tests to cover my changes (if not applicable, please state why)
[ ] All new and existing tests are passing.

Codecov Report

Merging #6231 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #6231   +/-   ##
=======================================
  Coverage   95.75%   95.75%
=======================================
  Files          80       80
  Lines        2660     2660
  Branches      684      684
=======================================
  Hits         2547     2547
  Misses         97       97
  Partials       16       16

Flag
Coverage Δ

#e2e
100% <ø> (ø)
:arrow_up:

#fixtures
50.75% <ø> (ø)
:arrow_up:

#unit
92.44% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Expose pages_per_task as config parameter in postgres_scan

The Postgres scanner works really well, but certain tables, in particular, demonstrate long query times, taking about an hour to load the full table. Some tables of similar size, on the other hand, work much faster. Therefore, we started investigating to find the cause of the slow ingestion from Postgres. It turned out that this was caused by a parameter that controls the number of rows per page returned in parallel during data downloading. After adjusting the 'pages_per_task' parameter from the default value of 1000 to 1,000,000, the average time reduced to 467.30 seconds from the initial one hour. That's why I believe that 'pages_per_task' should be exposed as a config parameter, and that's my proposition for the issue. (Tbh, I think it would be better if the parameter were optional, but I don't have any idea how to manage this without extra modules or bumping the C++ version to C++17)

Thanks for the PR! I've added the pg_pages_per_task option in #111 that should address this issue as well


WIP: Allow to pass format and quality to save_screenshot.

Info
follow up of #758
With this change you can pass format and quality to save_screenshot as you can do in phantomjs. It is useful if you can't control file extension, because phantomjs will not save render for file without specified format (via file extension or explicitly via option passed to render function).
I found out there's also unsupported quality option for phantomjs render function. I would like to add support for that option also.
This just an dirty implementation idea. Feel free to ping me if that make sense and I'll finish this PR.
Before
@driver.save_screenshot('file_without_extension") #=> will not save file

After
@driver.save_screenshot("file_without_extension", format: 'png') #=> will save file

TODO

[ ] refactor browser.coffee
[ ] refactor related specs
[ ] test quality option

:+1:

merged through https://github.com/teampoltergeist/poltergeist/commit/533bb735bec13f3f12e07e8a7a2db231bf25490e


⚠ Bofrost.lu has degraded performance

In 08d9996, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1271 ms

Resolved: Bofrost.lu performance has improved in dc7512b.


Can I have a weight map when using multi-output in SoftmaxOutput layer

The question is like this, with one input image, I want to generate a soft-max map that have a soft-max output at every pixel . In other word, it outputs MN normal softmax layer.
I know this can be implemented by multi_output in SoftmaxOutput layer in mxnet. But I don't want every MN softmax have a gradient backward, So I need to set the weight of some gradient to zero. But it seems that I need to change the code of SoftMaxGrad in msshadow, can I have a easier way to do this?

https://github.com/dmlc/mxnet/pull/915 this pr has what you want. You can wait for it to get merged or pick out the relevant code yourself


Serialize every type of element

At the moment you can only serialize <form>-tags, but if you change line
31 formAsArray = $form.serializeArray();
to
formAsArray = $form.find(':input,select,textarea,keygen').not(':disabled').serializeArray();
the plugin will be much more mighty and you can serialize every type of element.

An issue created by a troll? I should close it immediately!
BTW, serializeJSON already works on other elements, in fact it works on the same elements as (jQuery serializeArray)[https://api.jquery.com/serializeArray/], for example you can call it on a set of inputs or textareas. No need to explicitly do a .find() operation.
It may be different for Zepto or other library that mimics the jQuery interface, but I'm not going to change the architecture of the plugin to support those.


Fix: Improved Accessibility and Interaction for Waitlist Link in Step2 Component

Fixed #1635.
Changes:

Imported isWeb from 'platform/detection' to conditionally apply a pointer cursor style for web platforms.
Wrapped the 'Join the waitlist.' text within a View component and applied a conditional style using isWeb to change the cursor to a pointer when hovered over on web platforms.

Further Note:
Currently, the changes are applied to the mentioned area in the issue. However, if deemed necessary, I am open to creating a wrapper around the TouchableWithoutFeedback component to handle cursor styling as a common component for broader use throughout the application.

Looks good, thanks!


Set websocket.isClosed=true when channel.closeFuture fired

I'm not sure that it's necessary, created this PR just in case if it's a bug when websocket not marked as closed after closing 😅


What is the Qwen2-VL Max HF Demo config?

What is the Qwen2-VL Max HF Demo config?
https://huggingface.co/spaces/Qwen/Qwen2-VL
In the demo from this repo, i found the setup for 7B, but is  Qwen2-VL-Max the same?
Could someone please provide the same setup as for the demo, but in 'tutorial' mode? (not hf demo/worker mode)
Thank you!
e.g., but such that all results will be the same as being run in the hf demo...
from transformers import AutoProcessor
from vllm import LLM, SamplingParams
from qwen_vl_utils import process_vision_info

MODEL_PATH = "Qwen/Qwen2-VL-72B-Instruct"

llm = LLM(
    model=MODEL_PATH,
    limit_mm_per_prompt={"image": ???, "video": ???},
)

sampling_params = SamplingParams(
    temperature=???,
    top_p=???,
    repetition_penalty=1.05,
    max_tokens=???,
    stop_token_ids=[],
)

# For video input, you can pass following values instead:
# "type": "video",
# "video": "<video URL>",

processor = AutoProcessor.from_pretrained(MODEL_PATH)
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "image": "https://modelscope.oss-cn-beijing.aliyuncs.com/resource/qwen.png",
                "min_pixels": ???,
                "max_pixels": ???,
            },
            {"type": "text",
             "text": "Read OCR"},
        ],
    },
]

prompt = processor.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)
image_inputs, video_inputs = process_vision_info(messages)

mm_data = {}
if image_inputs is not None:
    mm_data["image"] = image_inputs
if video_inputs is not None:
    mm_data["video"] = video_inputs

llm_inputs = {
    "prompt": prompt,
    "multi_modal_data": mm_data,
}

outputs = llm.generate([llm_inputs], sampling_params=sampling_params)
generated_text = outputs[0].outputs[0].text

print(generated_text)

They are different. The demo of https://huggingface.co/spaces/Qwen/Qwen2-VL uses the API of Qwen2-VL-Max, but it's the same model behind the scenes.

Thank you for your answer!
So is it the same model and same configuration as per the demo in this repo, so Max==7b (not 72b) ?

Max==72b

the hf demo code is here.
https://huggingface.co/spaces/Qwen/Qwen2-VL/blob/main/app.py
the same setup for the demo is the default setup  for api:
top_p=0.1, rp=1.1


Some quention for data augment

Does mmdetection implement data augmentation for target detection? If not, how to achieve data enhancement for target detection, such as horizontal flip or vertical flip?Or other data enhancement methods?

https://github.com/open-mmlab/mmdetection/blob/master/mmdet/datasets/pipelines/transforms.py#L182

https://github.com/open-mmlab/mmdetection/blob/master/mmdet/datasets/pipelines/transforms.py#L182

Thank you! But  how to modify the config file if I want to train with data augment? I use the config file-- "cascade_rcnn_x101_64*4d_fpn_1x.py" .

https://github.com/open-mmlab/mmdetection/blob/master/configs/cascade_rcnn_x101_64x4d_fpn_1x.py#L170


Only requests permissions that we need on Android

We are not using the audio picker, but the plugin was still asking for Audio record permission, something we did not like. I made this change to only ask for the permissions that the used picker(s) need on Android.

Ah, that might be true. Let me test that.

I just tested this. Recording video worked fine with android.Manifest.permission.CAMERA, it also had sound. It looks like the android.Manifest.permission.CAMERA permission allows for taking pictures and recording video (that's also what the permission popup says).
I did forget some pickerTypes, I only checked for the TAKE types, not the PICK types, but the PICK types also allow creating a new image/video with a button.

Thank you!


Reactivity to state changes

Opening this issue to document opportunities for components to react to state changes, building on the rxjs decision:
https://github.com/pod-os/PodOS/blob/7d2693a3b47cc3bc837060bc761d5aabf42c2b27/docs/decisions/0009-introduce-rxjs.md?plain=1#L19
By state changes, I firstly have in mind cases where the triples affecting a subject or object change, either because of another component on the same page or due to data changes.
The primary use case is to perform reactive rendering.
It will likely be desirable to standardise how this is dealt with across solid web components. See https://github.com/solid-contrib/web-components/wiki/Rendering
e.g.
pos-label is displaying data from the triple
:subject rdfs:label "subject label".

This triple is then replaced in the store by
:subject rdfs:label "new subject label".

pos-label needs to rerender with the new value

Because PodOs uses rdflib.js, at the moment it is possible for custom components to achieve reactive rendering using callbacks on the graph store.
os.store.graph.addDataCallback(doUiCallbacks);
os.store.graph.rdfArrayRemove = (a, x) => {
    for (var i = 0; i < a.length; i++) {
      if (
        a[i].subject.equals(x.subject) &&
        a[i].predicate.equals(x.predicate) &&
        a[i].object.equals(x.object) &&
        a[i].why.equals(x.why)
      ) {
        doUiCallbacks(x);
        a.splice(i, 1);
        return;
      }
    }
    throw new Error("RDFArrayRemove: Array did not contain " + x + " " + x.why);
  };

doUiCallbacks is called on every triple change. It therefore needs to efficiently manage a set of callbacks to individual custom components as well as throttle repeat callbacks in some way.
I have a basic buggy implementation of this.

Given the decision to use rxjs, it makes sense to revisit this callback architecture and identify a solution better suited to PodOs.
PodOs core encapsulates rdflib.js so that elements do not depend on it [^1]
[^1]: https://github.com/pod-os/PodOS/blob/7d2693a3b47cc3bc837060bc761d5aabf42c2b27/docs/decisions/0003-handle-data-with-rdflibjs.md
Building on the idea that rxjs provides lazy push collections of multiple values, a possible solution is that the properties of Thing [^2] become observables
[^2]: https://github.com/pod-os/PodOS/blob/7d2693a3b47cc3bc837060bc761d5aabf42c2b27/core/src/thing/Thing.ts
e.g. label is no longer a pull function that returns a value, but is instead a push observable that pos-label reacts to.
The construction/destruction of a Thing would need to handle subscription to observables, and manage the callbacks from rdflib.js
This would be a major architectural change, which could either be approached as a breaking change, or by PodOS core offering both push and pull architectures for accessing data.
However, for devx reasons, I believe PodOs elements should either all be individually reactive to state or not, and I currently believe that making every web component state-reactive is the preferred option.
Whatever final architecture is used, I have found that retaining low level access to rdflib.js is often needed given PodOs does not fully cover the rdflib.js api. It would therefore be beneficial for the callback management mechanism to be accessible from custom components, even if direct use is discouraged.
There may be other solutions, which is why I've framed this issue as documenting opportunities rather than proposing this as the definitive solution.

As a point of comparison, semantic-ko used observables through the knockoutjs library, though I think PodOS would want to avoid defining an explicit view model.
https://web.archive.org/web/20111118042156/http://antoniogarrote.com/semantic_ko/

Noting that while external components will use rxjs, reactivity to logged in state (and Webid, and profile) is still managed using a stenciljs store for image, navigation bar, resource and document, with pos-app providing the bridge between rxjs and the store.
https://github.com/pod-os/PodOS/blob/7d2693a3b47cc3bc837060bc761d5aabf42c2b27/elements/src/store/session.ts
https://github.com/pod-os/PodOS/blob/7d2693a3b47cc3bc837060bc761d5aabf42c2b27/elements/src/components/pos-app/pos-app.tsx#L48

If I understand correctly, here's an untested proof of concept for an observable rxjs label() used as part of https://github.com/pod-os/PodOS/blob/main/elements/src/components/pos-label/pos-label.tsx
@State() label = null;

receiveResource = (resource: Thing) => {
    this.resource = resource;
    this.resource.label()
      .pipe(takeUntil(this.disconnected$))
      .subscribe(label=>this.label=label)
};

render() {
    return this.label
}

However, we also need to deal with destruction of the component similar to https://github.com/pod-os/PodOS/blob/27226761cee3ead7fd6096e45d2177d7bfc330b8/contacts/src/components/open-address-book/open-address-book.tsx#L23-L33
@State() label = null;

receiveResource = (resource: Thing) => {
    this.resource = resource;
    this.resource.label()
      .pipe(takeUntil(this.disconnected$))
      .subscribe(label=>this.label=label)
  };

render() {
    return this.label
}

private readonly disconnected$ = new Subject<void>();

disconnectedCallback() {
    this.disconnected$.next();
    this.disconnected$.unsubscribe();
}

This seems a bit unwieldy and probably would need to be encapsulated somehow?

A common framework-specific solution is to proxy object properties to perform dependency-tracking and change-notification when properties are accessed or modified ^1
Using stencil-store, we could create a ReactiveThing in PodOS elements, which turns an observable label() into a reactive property, something like (untested):
class ReactiveThing {
  constructor(thing){
   this.disconnected$ = new Subject();
   this.state = createStore({
     label: null
   });
   thing.label()
      .pipe(takeUntil(this.disconnected$))
      .subscribe(label=>this.state.label=label)
  };
  dispose(){
    this.disconnected$.next();
    this.disconnected$.unsubscribe();
  }
}

Which would be used:
receiveResource = (resource: Thing) => {
    this.resource = new ReactiveThing(resource);
  };

render() {
    return this.resource.state.label
}

disconnectedCallback() {
    this.resource.dispose()
}

SolidOS uses rdflib.js' store.updater.addDownstreamChangeListener. When the remote resource is changed a notification is received via Websocket, the resource is reloaded and a rerender is triggered.
https://github.com/search?q=org%3ASolidOS addDownstreamChangeListener&type=code

Thing's interface is reminiscent of https://ldo.js.org
It uses a subscribable RDF dataset that emits events for specific quad matches, which triggers rerender of the react component, apparently by updating a forceUpdateCounter state variable.

https://github.com/o-development/ldo/blob/main/packages/subscribable-dataset/src/SubscribableDataset.ts
https://github.com/o-development/ldo/blob/deb21048be7548f1cf1c81f6e7887e3ada410223/packages/solid-react/src/util/TrackingProxyContext.ts#L40
https://github.com/o-development/ldo/blob/main/packages/solid-react/src/useSubject.ts

useSubject appears to be an equivalent of Thing/ReactiveThing
https://ldo.js.org/api/solid-react/useSubject/