fix: Erroneous uuid generation for mysql fixed.

SUMMARY
This fix related with #12202. Mysql uuid generation is erroneous and should not be used.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[X] Has associated issue: #12202
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #12728 (c1cfca9) into master (307e3a9) will decrease coverage by 3.61%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12728      +/-   ##
==========================================
- Coverage   66.83%   63.21%   -3.62%
==========================================
  Files        1022      488     -534
  Lines       49992    30102   -19890
  Branches     4892        0    -4892
==========================================
- Hits        33410    19028   -14382
+ Misses      16457    11074    -5383
+ Partials      125        0     -125

Flag
Coverage Δ

cypress
?

javascript
?

python
63.21% <ø> (-0.79%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ns/b56500de1855_add_uuid_column_to_import_mixin.py
0.00% <ø> (ø)

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.24%)
:arrow_down:

superset/databases/commands/create.py
83.67% <0.00%> (-8.17%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/connectors/sqla/models.py
84.31% <0.00%> (-6.28%)
:arrow_down:

superset/db_engine_specs/sqlite.py
90.62% <0.00%> (-6.25%)
:arrow_down:

superset/databases/commands/test_connection.py
84.78% <0.00%> (-4.35%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

... and 546 more

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 307e3a9...c1cfca9. Read the comment docs.

Codecov Report

Merging #12728 (c1cfca9) into master (307e3a9) will decrease coverage by 3.61%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12728      +/-   ##
==========================================
- Coverage   66.83%   63.21%   -3.62%
==========================================
  Files        1022      488     -534
  Lines       49992    30102   -19890
  Branches     4892        0    -4892
==========================================
- Hits        33410    19028   -14382
+ Misses      16457    11074    -5383
+ Partials      125        0     -125

Flag
Coverage Δ

cypress
?

javascript
?

python
63.21% <ø> (-0.79%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ns/b56500de1855_add_uuid_column_to_import_mixin.py
0.00% <ø> (ø)

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.24%)
:arrow_down:

superset/databases/commands/create.py
83.67% <0.00%> (-8.17%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/connectors/sqla/models.py
84.31% <0.00%> (-6.28%)
:arrow_down:

superset/db_engine_specs/sqlite.py
90.62% <0.00%> (-6.25%)
:arrow_down:

superset/databases/commands/test_connection.py
84.78% <0.00%> (-4.35%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

... and 546 more

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 307e3a9...c1cfca9. Read the comment docs.

It's weird because Airbnb uses MySQL and the migration was successful. Maybe uuid() behave differently in different versions?
I'll do some more testing and see if there is an efficient fix.

It's weird because Airbnb uses MySQL and the migration was successful. Maybe uuid() behave differently in different versions?
I'll do some more testing and see if there is an efficient fix.

We have mysql 5.7.32. Not sure it is relevant but we were using amancevice/superset:0.38 docker image and moved to apache/superset:1.0.0.

We have mysql 5.7.32. Not sure it is relevant but we were using amancevice/superset:0.38 docker image and moved to apache/superset:1.0.0.

I will try to solve it by using mysql and send another PR later

I will try to solve it by using mysql and send another PR later

Apparently UUID() on MySQL is UUID1: https://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_uuid 🙁 As we're relying on UUIDs going forward, I don't think we can disable this step, so we actually have to come up with a solution that populates UUIDs for these rows.

@villebro UUID1 should be fine for our needs, it doesn't have to be UUID4. And note that @iercan's solution just removes the optimization, they UUIDs are still being populated for MySQL using Python's uuid4().

Apparently UUID() on MySQL is UUID1: https://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_uuid 🙁 As we're relying on UUIDs going forward, I don't think we can disable this step, so we actually have to come up with a solution that populates UUIDs for these rows.

@villebro UUID1 should be fine for our needs, it doesn't have to be UUID4. And note that @iercan's solution just removes the optimization, they UUIDs are still being populated for MySQL using Python's uuid4().

Apparently UUID() on MySQL is UUID1: https://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_uuid 🙁 As we're relying on UUIDs going forward, I don't think we can disable this step, so we actually have to come up with a solution that populates UUIDs for these rows.

And note that @iercan's solution just removes the optimization, they UUIDs are still being populated for MySQL using Python's uuid4().

Oh, thanks for correcting, I had completely missed that part! grabs my coat

Apparently UUID() on MySQL is UUID1: https://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_uuid 🙁 As we're relying on UUIDs going forward, I don't think we can disable this step, so we actually have to come up with a solution that populates UUIDs for these rows.

And note that @iercan's solution just removes the optimization, they UUIDs are still being populated for MySQL using Python's uuid4().

Oh, thanks for correcting, I had completely missed that part! grabs my coat

Hi guys,
Also ran into this issue and tried to implement before 1.0.1
I manually implemented
MySQLDialect: """UPDATE %s SET uuid = U UNHEX(REPLACE(CONVERT(UUID() using utf8mb4), '-', ''));"""
but runs into
Traceback (most recent call last):
  File "/srv/python3/lib/python3.8/site-packages/sqlalchemy_utils/types/encrypted/encrypted_type.py", line 126, in decrypt
    decrypted = decrypted.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 0: invalid continuation byte

My versions:
Python 3.8.2
mysql  Ver 14.14 Distrib 5.7.23-23, for Linux (x86_64) using  6.0
SQLAlchemy             1.3.20
SQLAlchemy-Utils       0.36.8
apache-superset        1.0.0

Hi guys,
Also ran into this issue and tried to implement before 1.0.1
I manually implemented
MySQLDialect: """UPDATE %s SET uuid = U UNHEX(REPLACE(CONVERT(UUID() using utf8mb4), '-', ''));"""
but runs into
Traceback (most recent call last):
  File "/srv/python3/lib/python3.8/site-packages/sqlalchemy_utils/types/encrypted/encrypted_type.py", line 126, in decrypt
    decrypted = decrypted.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 0: invalid continuation byte

My versions:
Python 3.8.2
mysql  Ver 14.14 Distrib 5.7.23-23, for Linux (x86_64) using  6.0
SQLAlchemy             1.3.20
SQLAlchemy-Utils       0.36.8
apache-superset        1.0.0

@juneauwang can you paste the full call stack if available? I wonder which process called that line in encrypted_type.py.

@juneauwang can you paste the full call stack if available? I wonder which process called that line in encrypted_type.py.

Hi guys,
Also ran into this issue and tried to implement before 1.0.1
I manually implemented
MySQLDialect: """UPDATE %s SET uuid = U UNHEX(REPLACE(CONVERT(UUID() using utf8mb4), '-', ''));"""
but runs into
Traceback (most recent call last):
  File "/srv/python3/lib/python3.8/site-packages/sqlalchemy_utils/types/encrypted/encrypted_type.py", line 126, in decrypt
    decrypted = decrypted.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 0: invalid continuation byte

My versions:
Python 3.8.2
mysql Ver 14.14 Distrib 5.7.23-23, for Linux (x86_64) using 6.0
SQLAlchemy 1.3.20
SQLAlchemy-Utils 0.36.8
apache-superset 1.0.0

Thanks for reporting @juneauwang; can you check what character set your metadata tables have?

Hi guys,
Also ran into this issue and tried to implement before 1.0.1
I manually implemented
MySQLDialect: """UPDATE %s SET uuid = U UNHEX(REPLACE(CONVERT(UUID() using utf8mb4), '-', ''));"""
but runs into
Traceback (most recent call last):
  File "/srv/python3/lib/python3.8/site-packages/sqlalchemy_utils/types/encrypted/encrypted_type.py", line 126, in decrypt
    decrypted = decrypted.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 0: invalid continuation byte

My versions:
Python 3.8.2
mysql Ver 14.14 Distrib 5.7.23-23, for Linux (x86_64) using 6.0
SQLAlchemy 1.3.20
SQLAlchemy-Utils 0.36.8
apache-superset 1.0.0

Thanks for reporting @juneauwang; can you check what character set your metadata tables have?

@juneauwang @villebro  It should be like this exactly. There was a little error on Beto's solution.  Sorry I forgot to mention.
MySQLDialect: """UPDATE %s SET uuid = UNHEX(REPLACE(CONVERT(UUID() using utf8mb4), '-', ''));""",

@juneauwang @villebro  It should be like this exactly. There was a little error on Beto's solution.  Sorry I forgot to mention.
MySQLDialect: """UPDATE %s SET uuid = UNHEX(REPLACE(CONVERT(UUID() using utf8mb4), '-', ''));""",

Oh nice, thanks for that @iercan , apparently just a typo then 👍

Oh nice, thanks for that @iercan , apparently just a typo then 👍

Hi guys,
Thanks a lot for quick response! It's incredible.
Finally I found that it's my bad that I used wrong secret key in config.
Thanks again!

Hi guys,
Thanks a lot for quick response! It's incredible.
Finally I found that it's my bad that I used wrong secret key in config.
Thanks again!


should update the git setup docs to connect with github

should add more details, refer to: https://help.github.com/articles/connecting-to-github-with-ssh/

the  help github is very clear and detailed, I don't think we need to add more details. Just need to update the link in the docs.

setting up on windows + cygwin is slightly different, make sure users from Cygwin can follow step by step.
Moreover, this is very important if someone has already setting ssh keys with git bash. Need to emphasize that git bash should be used, using git on cygwin only to prevent a lof of problems related to new line and file mode problems.

verified, close


fix(issue): Fix wrong repository was used

Question
Response

Version?
v1.4.0

Devices tested?
iPhone 6 simulator, iOS 11.0

Bug fix?
yes

New feature?
no

Includes tests?
no

All Tests pass?
yes

Related ticket?
#655

Description

Fixes #655.
This bug was introduced by #438. getIssueEvents should not be invoked until this.props.issue/repository were updated.
In fact, besides the crash problem, the unfixed codes may also get wrong issue events due to getRepository was not returned.

Coverage remained the same at 39.861% when pulling c8df60f875af6ff0bdc2f37905083d7381daf9de on chinesedfan:fix_655 into 14532ce689d7eda9eb5d7f98ad9d402b31753447 on gitpoint:master.

Hey guys,
I think this piece of code is getting confusing.
So I have 2 possible suggestions:
1 - send all this piece of code to an action creator, I think this should not be handled on the screen component. ( complex one)
2 - Or just split this into some small functions to improve the readability.
What do you think guys? 😄

I really don't have an opinion on this, as I still plan to re-propose the big redux refactoring whenever I get my head back in it.
If @chinesedfan is okay and can address this rapidly, why not. I'd hate to see the crash fix (part of 1.4 which is long overdue) being delayed ;)

@machour yeah, I totally okay with fix first for the new version then we improve it after 💃

@jouderianjr I agree with you that moving those codes to an action creator. Components should not include so complex logics. But it is risky to refactor now. Hope we can improve it later.

Agreed folks - some refactoring is definitely needed in this and many other screen components. When we get time, we'll hopefully get to them 🙏


Embed growth chart client into mkdocs, remove iframe

Need to build in the growth chart client into mkdocs. Iframe makes it difficult to zoom as confuses the action with scrolling

Agreed. The iframe was always a bit of a hack really, it got the job done, but it affects zoom functionality.
We also need to bring the codebase for the React client into the same repo as the MkDocs site. It'll result is a slightly more complex GitHub Action/workflow for build, but it'll be tidier and better integrated.
Anyone fancy taking on this job? @anchit-chandran @dc2007git @eatyourpeas @chvanlennep?
Any thought about the proposal?

Process for direct implimentation of React Component into Material for MKDocs via

In the mkdocs.yml add the css with the following code
extra_css:

/assets/growth-chart.css

Component should now render in MkDocs.
Notes/Bugs/Issues

MkDocs provides basic css which can interfear with the React components css via undeclared variables not being standard, suggest using a css reset on the main react container to prevent styling.
React css will be loaded on all pages, even ones without the React component - will look into potential fixes.

This is very promising and might address the issue one of our implementers has using Coldfusion and cannot use NPM.
Does this involve importing react, react-dom and babel in the head tag? Does it matter how the app is built ? (ie ESM vs UMD etc)

So from how I understand it's working it doesn't need react, react-dom or babel in the head tags as I didn't include them in my demo build, and when you execute a 'run build' command it creates a javascript file that's designed to be read by webclients, so Babel is already used at that stage.
The demo I setup on https://react-in-mkdocs-test.vercel.app/ was a React 17 project I built about a year ago, and but I've tested with a React 18 project as well, all be it a simple one.
I can't conclusively say if how the React app is constructed is irrelvant, I think if code blocks are used and multiple js files are generated then more work will be required to see how they interact. It might be as simple as sequential script execution. As for ESM vs UMD I'd have to run some live test, but I don't think in principle any specific build style is required.

I've raised https://github.com/rcpch/digital-growth-charts-react-component-library/issues/135 to track the iframe build in the main repo as it could be a helpful way of integrating for some customers


switch to s2fft v0.0.1 and remove bash script for building

Switches to pre-alpha release of S2FFT to pick up JAX implementations.

Moves s2fft dependency to requirements-core.txt and switches to v0.0.1 pre-alpha release. Also removes the build bash script in favour of standard pip install.


Aqara G4 Doorbell Homekit Integrations in HA fails. please help

I have been trying to pair my G4 with HA via go2rtc since yesterday. Unfortunately I always get this error message when I try. (See picture)
The integration on Apple Homekit on my iPhone works without any problems. However, I would also like to use the camera in HA as an entity for automations.

Here my Go2Rtc Config

whats wrong???

Add G4 first to home-assistant through the "HomeKit Controller" integration, then to go2rtc using the keys from the HA.

I don't really understand what you're doing. If you are trying to add go2rtc to Home Assistant via HomeKit protocol, it is not supported on the Home Assistant side


filters out replicated policies

replicated policies will have lablels  policy.open-cluster-management.io/root-policy: default.policy-pod
filter them out to ensure they never show up in dashboard
https://github.com/open-cluster-management/backlog/issues/6083

/cherry-pick release-2.0


Switch ops to use docker image on ghcr

What this PR does / why we need it:
Want to check whether it works normally or not.
If it works fine I will update other components as well.
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

Let me approve this to confirm it on dev.
/approve


Emit strings in a more idiomatic fashion

For string literals:

If the string contains only double quotes or no quotes at all, emit
it using double-quotes, ie:
'he said "hi" to me'

If the string contains only single quotes, emit it using
double-quotes, ie:
"you're a really good programmer"

If the string contains double- and single-quotes, emit it using
%()-style strings, ie:
%(he said "you're a really good programmer" to me)

This attempts to match the style that rubocop prefers, out-of-the-box.
Obviously there are a lot of tests that are going to need to be changed to get this to pass, I'm just submitting the PR to see if there's any interest in doing something like this

I like the general idea for this.
@mbj what are your thoughts?

@dkubb

I like the general idea for this.

Same.
@glittershark
I left some small code flags. Also it seems the specs still need to be adjusted to the new output expectation.

@glittershark As this PR is really old and the emitting of strings changed meanwhile to be more ugly (but also more correct!) I'll close this PR for now. Feel free to rebase + reopen it for more discussions.


Order by Date

is it possible to order columns by date? I added a  editColumn-function, where  I format the date for my timezone ('d.m.Y').  Unfortunatley the sorting order is wrong, because laravel-datatables sorts by string. So I tried it by returning the date, formatted in my timezone & a timestamp which should be the sorting value:
->editColumn('created', function($col) {
	return [
		'display' =>($col->created && $col->created != '0000-00-00 00:00:00') ? with(new Carbon($col->created))->format('d.m.Y') : '',
		'timestamp' =>($col->created && $col->created != '0000-00-00 00:00:00') ? with(new Carbon($col->created))->timestamp : ''
	];
})

Inside the JS I added this:
				{ 					'name': 'created', 					'data': 'created', 					'type': 'num', 					'render': { 						'_': 'display', 						'order': 'timestamp' 					} 				}
Datatables displays everything correctly, but when I want to sort by date, I get 'undefined index: created'. Inside CollectionEngine->ordering() it fails while $cmp = strnatcasecmp($first[$column], $second[$column]); because column is now created.timestamp/created.display and not created anymore.
So, in the end, is it possible to sort by date and if so, can anyone provide an example?
Thank you very much :-)

Ubuntu 16.04
PHP 7.0.18
Laravel 5.4.36
Laravel-Datatables 7.10.1

Anyone has an example how to order by date?

This is the default behavior when using collection CollectionEngine. Why not use query builder / eloquent instead? It seems like you are loading data from a table?

I've tried it with Query Builder and not ordering the date column. Change icon ordering but not reorder

Getting the same issue here, Any update ?

I did it with some workaround by setting data-sort attribute on the td.
I setted the timestamp there - so 1.1.1800 is 0 in data-sort.
With that workaround it was working for me.
Maybe you can do something with that @yajra

{ 'name': 'created', 'data': 'created', 'type': 'num', 'render': { '_': 'display', 'order': 'timestamp' } }
change this to like below
{ 'name': 'created', 'data': 'created.display', 'type': 'num', 'render': { '_': 'display', 'order': 'timestamp' } }

undefined index: created to solve this error.
change this
{ 'name': 'created', 'data': 'created', 'type': 'num', 'render': { '_': 'display', 'order': 'timestamp' } }
to
{ 'name': 'created.timestamp', 'data': { '_': 'created.display', 'sort': 'created' } }

It's working for me with this
{ 'name': 'created', 'data': { '_': 'created.display', 'sort': 'created.timestamp' } }

undefined index: created to solve this error.
change this
{ 'name': 'created', 'data': 'created', 'type': 'num', 'render': { '_': 'display', 'order': 'timestamp' } }
to
{ 'name': 'created.timestamp', 'data': { '_': 'created.display', 'sort': 'created' } }

This one solves my problem. So you need to specify full path in the name for sorting portion and rest is the same.

It's working for me with this
JS
{ 'name': 'created', 'data': { '_': 'created.display', 'sort': 'created.timestamp' } }
PHP
[ 'name' => 'created', 'data' => [ "_" => 'created.display', "sort" => 'created.timestamp' ] ]

thank you! this solve my problem too

It's working for me with this
JS
{ 'name': 'created', 'data': { '_': 'created.display', 'sort': 'created.timestamp' } }
PHP
[ 'name' => 'created', 'data' => [ "_" => 'created.display', "sort" => 'created.timestamp' ] ]

thank you! this solve my problem too

can you filter/search the data in datatables ? when I use the method above, the data perfectly sorted with (d.m.Y) format, but when filtering it, the data that matches the display does not want to appear, it can only search for data with a timestamp format.

Hi,
i have the same issue as @nugraha-a.
any help will be appreciated
Thanks

i solved the issue by doing
{data: { _: "created.display", sort: "created.timestamp", filter: 'created.display' }, name: 'created.display'},


How to listen for changes to an RMap (migrating from Hazelcast)?

I'm investigating moving from Hazelcast to Redisson and one question popped up that I can't seem to work out the answer for. Perhaps I'm trying to incorrectly compare functionality between the two?
Anyway, in our code that uses Hazelcast, we create a distributed IMap and add listeners so that each process (Hazelcast client) can listen for changes to that map. I can't seem to work out how to get the same functionality using the RMap. Is this possible or is this functionality only available using the LiveObject? Or do I have to mimic this functionality using a topic perhaps?
Thanks

Hi!
Listeners are not implemented for RMap stucture yet. There two ways to overcome it:

Usage of JCache API implementation provided by Redisson.
Publish message to RTopic during each RMap change method invocation

Thanks @mrniko, I will investigate both of those solutions.

Done. Please use RMapCache object

The latest version of Redisson in Maven is 3.2.0 (https://mavenrepository.com/artifact/org.redisson/redisson). You added this to the 2.9.3 milestone. Which branch should I use; 2.9.x or 3.x?
Thanks for implementing this.

master (2.x) is current development branch which is always merged with 3.x branch before the release. So 3.x branch is not merged with master yet

master (2.x) is current development branch which is always merged with 3.x branch before the release. So 3.x branch is not merged with master yet


[UPDATES] Add wandb

#TODO: Change args.logger params to include multiple selected option
#TODO: Change args.logger check to check for the presence of "wandb"
#TODO: Remove the wandb from requirements/README
#TODO: Check for proper error handling if not installed properly
#TODO: Remove tables OR log the aggregate image table at the end of training -> dont break memory and blowup pls
#TODO: Check if the table row logged under the same key between runs concat into on agg table for ease of viewing
#TODO: Remove .sh scripts :(


Add Travis CI for clang builds

To make CI builds for infer a bit easier, build custom clang here. That way infer CI can use these artifacts while compiling C analyzers, rather than recompiling clang every time.

Woops, never mind.
Apparently just building clang takes longer than the maximum allowed time for Travis.

Apparently just building clang takes longer than the maximum allowed time for Travis.

Wow... :man_facepalming:


Broken urls in download-windows.sh

Following urls now are broken. I checked that rest worked well.
win7x64-ultimate.iso
https://download.microsoft.com/download/5/1/9/5195A765-3A41-4A72-87D8-200D897CBE21/7601.24214.180801-1700.win7sp1_ldr_escrow_CLIENT_ULTIMATE_x64FRE_en-us.iso

win2008r2.iso
 https://download.microsoft.com/download/7/5/E/75EC4E54-5B02-42D6-8879-D8D3A25FBEF7/7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso

This is now fixed with the release of Mido (inspired by Fido from the same dev that made Rufus on Windows)!
Microsoft has finally purged all copies of Windows 7 from their servers so we're pulling from web.archive.org now and making sure to verify checksums of course: https://github.com/pbatard/Fido/issues/64
Someone contributing to the Metasploitable project found another link to an identical Windows Server 2008 R2 so I simply updated that: https://github.com/rapid7/metasploitable3/pull/563


Fix bug with blacklist package usage.

When I was fixing #13, I've found out that option always is DOM event object instead of e.target.value here Forms.js#L70
It is because of onChange from {...props} overrides onChange={this.handleChange} here FormSelect.js#L103
if I place {...props} before onChange=, like this
<select className="FormInput" id={forAndID} {...props} onChange={this.handleChange} onBlur={this.handleBlur}>

then the right this.handleChange is fired and everything works fine.
The cause it that  blacklist doesn't filter out onChange here FormSelect.js#L73
And I found the same issue with RadioGroup.
Then I looked at blacklist source and realized that usage of it is wrong.
By searching of blacklist(this.props... throughout the project and fixing,
I've made this PR.
With npm run start all elements are now working as expected. :tada:
:cherries:

Was talking with @JedWatson about this the other day; thank you for updating the components


Question about win.destroy()

The BrowserWindow doc has this note on destroy method:
You should only use this method when the renderer process (web page) has crashed.
I have an app with multiple windows and sometimes I want to force-close some of them. Does that note mean that destroy() is something dangerous with bad effects?

Calling destroy() is safe, it is very widely used in Electron's tests to make sure windows are force closed.
I'll update the docs, it is a bit out of date.


shapes: subject_map: fix misleading message

Message is misleading. 'IRI' should be replaced by 'resource'
Fixes https://github.com/kg-construct/rml-core/issues/109

Oops wrong repo.


ReadMe

Read Me
User Story
As a boot camp student,
I want the prework notes to be structured on a webpage,
So that I can easily find and read the information.
Acceptance Criteria
GIVEN the prework project repository,
WHEN I view the README for the repository,
THEN I can see a professional README that provides information on the project and how to use it

completed just now with some creative copypasta


Terraform snippets are missing on package.json

Hi there,
I'm using classic setup on my neovim, with Lazy as plugin manager, nvim-cmp as autocomplete, LuaSnip as snippets engine.
Here a quick extract of my lsp.lua that I initiate from my init.lua with a simple require('lsp')

still a newbie on Neovim (started 1 week ago, don't judge my config :stuck_out_tongue:)

-- Forcing Terraform filetype here
vim.cmd([[silent! autocmd! filetypedetect BufRead,BufNewFile *.tf]])
vim.cmd([[autocmd BufRead,BufNewFile *.hcl set filetype=hcl]])
vim.cmd([[autocmd BufRead,BufNewFile .terraformrc,terraform.rc set filetype=hcl]])
vim.cmd([[autocmd BufRead,BufNewFile *.tf,*.tfvars set filetype=terraform]])
vim.cmd([[autocmd BufRead,BufNewFile *.tfstate,*.tfstate.backup set filetype=json]])

vim.cmd([[let g:terraform_fmt_on_save=1]])
vim.cmd([[let g:terraform_align=1]])

-- Forcing filetype on Docker Compose
vim.cmd([[autocmd BufRead,BufNewFile docker-compose.yml set filetype=yaml.docker-compose]])

local capabilities = require("cmp_nvim_lsp").default_capabilities()
require("mason").setup()
require("mason-lspconfig").setup {
    ensure_installed = { "terraformls", "tflint", "dockerls", "docker_compose_language_service", "pyright" },
}
local lspconfig = require('lspconfig')

-- Enable some language servers with the additional completion capabilities offered by nvim-cmp
local servers = { "terraformls", "tflint", "dockerls", "docker_compose_language_service", "pyright" }
for _, lsp in ipairs(servers) do
  lspconfig[lsp].setup {
    -- on_attach = my_custom_on_attach,
    capabilities = capabilities,
  }
end

-- luasnip setup
local luasnip = require 'luasnip'
require('luasnip.loaders.from_vscode').lazy_load()
[...]

Snippets on markdown or even Python are working fine, however Terraform snippets seems empty

Python

Markdown

However, Terraform snippets seems empty

After checking on ~/.local/share/nvim/lazy/friendly-snippets files and checking logs with :lua require('luasnip').log.open() command I found that Terraform snippets declaration could be missing from package.json
Here the fix :

I can raise a PR with the fix, let me know :pray:
Best,
JeSappelleRoot

Same issue as above. Manually set it works fine.

Any update on this issue ? We could raise a PR to add necessary fix
Let us know
Best,
JeSappelleRoot

Got same issue

thank you! :)


Markdown tag inside block pairs is not working

I am trying to expand a markdown tag inside block pairs but the tag is being expanded to the name of the MarkdownRenderData object.
In the example below, I expand a regular text tag (map item contains tag name / string text) and then a markdown tag (map item contains tag name / MarkdownRenderData object).
The original code is a bit complex so I avoid pasting it here. In case we need it, I will create a small test program to demonstrate the issue.
Regards.
poi-tl version
implementation group: 'com.deepoove', name: 'poi-tl', version: '1.12.1'
implementation group: 'com.deepoove', name:'poi-tl-plugin-markdown', version: '1.0.3'

Minimal test code to reproduce the issue

Minimal Docx template file
{{?Tasks}}
{{tskTitle}}
{{tkdDescr}}
{{/Tasks}}
Output of test for a list of two items:
FLIGHT CONTROL MECHANICAL CHARACTERISTICS
com.deepoove.poi.plugin.markdown.MarkdownRenderData@72f4d746
BLABLABLA
com.deepoove.poi.plugin.markdown.MarkdownRenderData@1321f113

poi-tl#plugin-markdown
Should bind Plugin:
Configure config = Configure.builder().bind("md", new MarkdownRenderPolicy()).build();

Never mind. It was my mistake since I did not call ConfigureBuilder.bind to the labels which are inside the block pairs. I changed that and now the markdown code is being correctly expanded within the block pairs.


RPC: Add help details for the bls RPC

Covers the only existing subcommand - generate
Closes #2393

@nmarley Updated. Not sure about some of the naming/formatting, but the behavior should be right.


Fix dependencies

this is a PR fixing the problems in #2 .
The problem was exactly as you described it! Thank you so much for your fast reply!

can you create  new version? thank you!

The changes are now reflected in the 1.0.2 release.  It is updated on packagist as well

👍 perfect! thank you


Chrome cast sample app on Cheap Cast

I tried running cast android sample ( sender app using Chrome cast SDK ) on cheap cast. It is able to detect the cheap cast server. But its not able to launch any URL's. Meanwhile i have registered my app and http:apps/my app shows up my app. I don't have a chrome cast device so i did not whitelist my app. So is there a work around to run sender app to play non YouTube Videos on cheap cast without whitelisting ?

In order to use apps that have not been published to Google Play, you HAVE to whitelist a Chromecast, so the Google servers know it is a development app and will work.


(AzureCXP) Adding Image to reflect current UI

Adding the screen shot of the Key vault enable access policies to reflect the current UI , which needs to referenced in this document
https://docs.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/key-vault-access#enable-template-deployment

@BharathNimmala-MSFT - thanks for adding that updated screenshot.

#sign-off

@tfitzmac: I'm sorry - only the author of this article, @, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@BharathNimmala-MSFT @tfitzmac - If this is a new image, could we update the article with the image reference at the same time?

#sign-off

@tfitzmac: I'm sorry - only the author of this article, @, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Add new unit tests

In order to increase the maintainability of the operator we need to have more unit tests, this PR includes a basic setup for writing tests:

All azure services are now in a separate package.
Every service has a generated mock, we can now test what is actually passed to the azure API.
I added a new github workflow for running unit tests.

@alexander-demicev In general, what you've done is great.

I would've liked the refactoring to be in a separate PR so it's not as much of a beast to review, but if that can't be done no worries. Please dev test create/update an AKS cluster via the rancher ui and make sure no fields are missing or getting overwritten in upstream. That has been a concern with some controller refactoring that I've done before so it's worth making sure there are no regressions
Please add instructions on how to run the unit tests here https://github.com/rancher/aks-operator/blob/master/README.md

@annablender I did some manual testing of the PR. Actually I wrote unit tests before refactoring the logic, the behavior should be the same. I also opened a PR with a setup for e2e tests https://github.com/rancher/aks-operator/pull/74, in future we will have more confidence that no regressions are introduced.
Is it ok if I update readme in a follow-up PR?

Closing it in favor of a smaller PRs https://github.com/rancher/aks-operator/pull/75


remove -SNAPSHOT dependencies from released artifacts

com.microsoft.azure:azure:1.1.2
depends on
com.microsoft.azure:azure-client-runtime:1.0.5-SNAPSHOT
com.microsoft.azure:azure-client-authentication:1.0.5-SNAPSHOT
It force maven to download it every time - > slow builds

Fixed and documented since 1.2.1, please verify.

yes. thanks


the database crash when I try to enable vectorscale

Hi everyone,
I'm using timescaleDB docker image timescale/timescaledb-ha:pg16, now when I try to run this command CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE; the database crash and restart it self.
any idea why? or has anyone faced this problem before?
here is the server log
PostgreSQL init process complete; ready for start up.

2024-07-25 21:44:55.635 UTC [1] LOG:  starting PostgreSQL 16.3 (Ubuntu 16.3-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit
2024-07-25 21:44:55.636 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
2024-07-25 21:44:55.636 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-07-25 21:44:55.640 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-07-25 21:44:55.650 UTC [104] LOG:  database system was shut down at 2024-07-25 21:44:55 UTC
2024-07-25 21:44:55.669 UTC [1] LOG:  database system is ready to accept connections
2024-07-25 21:44:55.672 UTC [107] LOG:  TimescaleDB background worker launcher connected to shared catalogs
2024-07-25 21:45:27.221 UTC [1] LOG:  server process (PID 159) was terminated by signal 4: Illegal instruction
2024-07-25 21:45:27.221 UTC [1] DETAIL:  Failed process was running: CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE;
2024-07-25 21:45:27.221 UTC [1] LOG:  terminating any other active server processes
2024-07-25 21:45:27.226 UTC [1] LOG:  all server processes terminated; reinitializing
2024-07-25 21:45:27.523 UTC [169] LOG:  database system was interrupted; last known up at 2024-07-25 21:44:55 UTC
2024-07-25 21:45:27.634 UTC [172] FATAL:  the database system is in recovery mode
2024-07-25 21:45:27.798 UTC [169] LOG:  database system was not properly shut down; automatic recovery in progress
2024-07-25 21:45:27.803 UTC [169] LOG:  redo starts at 0/248A600
2024-07-25 21:45:27.855 UTC [169] LOG:  invalid magic number 0000 in WAL segment<PHONE_NUMBER>00000000000002, LSN 0/275C000, offset 7716864
2024-07-25 21:45:27.855 UTC [169] LOG:  redo done at 0/275B5E8 system usage: CPU: user: 0.03 s, system: 0.01 s, elapsed: 0.05 s
2024-07-25 21:45:27.865 UTC [170] LOG:  checkpoint starting: end-of-recovery immediate wait
2024-07-25 21:45:28.007 UTC [170] LOG:  checkpoint complete: wrote 437 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.038 s, sync=0.097 s, total=0.145 s; sync files=95, longest=0.003 s, average=0.002 s; distance=2886 kB, estimate=2886 kB; lsn=0/275C048, redo lsn=0/275C048
2024-07-25 21:45:28.020 UTC [1] LOG:  database system is ready to accept connections
2024-07-25 21:45:28.023 UTC [175] LOG:  TimescaleDB background worker launcher connected to shared catalogs

@omarkhatibco sorry for the delay. What architecture are you running on?

ubuntu with coolify and timescale docker image

@omarkhatibco  amd64 or arm64?

@cevian it's 1x Intel® C2750 (Avoton)
8C/8T - 2.4 GHz so I would assume either

Ahh that CPU is missing AVX and FMA. We compile the binary for our docker images with AVX and FMA as target-features. I think running a binary with those features enabled on a CPU without those features can segfault. I have add #119 to block that for now. I'll get input from colleagues and see if we can support multiple cpu features and how.
I also have a question out in simdeez for feedback: https://github.com/arduano/simdeez/issues/29


Modify PartnerInviteService to use Partner name as name to use for invite

Resolves #4036.
Description
This PR uses the Partner name given in the new partner form as the User's name during the partner invite process.
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Modified spec/services/partner_invite_service_spec.rb.
Screenshots

For the reviewer's context -- after comparing the partner and primary contact emails in prod, I found that nearly 50% were different, where provided.   The original ask, was, therefore, misguided.   We still want to have a name on the partner user, but having that name be the partner name will provide us that benefit, while maintaining a proper distinction  between the partner and the primary contact.

Thanks!

Hurrah!


Improve User Experience

The color contrast and fonts need to be improved and coherent.

I have assigned you to @Mahir1015

@Dharmik48 I've made a PR for the changed font color. You can close it now.

Yeah I saw your PR and merged it, good job🚀

Closed with #23


Write our to_ascii function (drop ICU dependency)

It is not impossibly hard to drop the ICU dependency. It would simplify builds and improve engineering.
I estimate that it would take about a week of work.

Is the to_ascii function that lives in src/unicode.cpp is the work related to this issue already? Or this issue is to replace that function?

That's correct @miguelteixeiraa. ToASCII refers to domain to ascii algorithm in the URL spec. Currently, we are using ICU in non-windows environments, and our own implementation in Windows. We want to get rid of ICU while keeping the test results happy.

Thinking about pick this one up. Does this issue have any urgency? Is anyone already working on this? Also please let me know if there is another one that would be more interesting to pick up now.

@miguelteixeiraa It would be a great issue.
I have a nasty PR that demonstrates what it might look like...
https://github.com/ada-url/ada/pull/68
Don't copy my code, it is not good. It was done quickly. One mistake I did was to try to stay in UTF-8. It is a bad idea. Move to UTF-32 right away and process in UTF-32 mode throughout, getting back to UTF-8 only at the end.
But I proved that you could almost get it done in a few hours. In truth, I probably did less than 20% of the required work, but it was enough to pass 90% of our tests. Getting it to be correct takes many hours.
UTF-32 is pretty simple. Each character is a 32-bit integer (but only just about the first million values are allowed, so 32-bit is too much, but that's fine). The largest possible value is 0x10FFFF. But, actually, anything over 0xE01EF is disallowed for us.
Here are some starting points.

Currently, we take in UTF-8 and we produce UTF-32. When we are done, we need to go back to UTF-32. Now all the necessary functions can be found there : https://github.com/simdutf/simdutf/tree/master/src/scalar We could cleanly add conversion functions to ada.
We need to convert to and from punycode. The format is slightly insane. I tried doing it quickly on my own, but it is silly work. We could borrow or adapt what the Swift guys did https://github.com/apple/swift/blob/35553d93068bb2fe73e2e8a58e85939ee9e1f8e6/lib/Demangling/Punycode.cpp (Apache Licensed)
We need to implement mapping (see below). We want to implement non transitional there is no funny business.
We need to implement normalization.
We need to implement validity checks.

Reference to the standard: https://www.unicode.org/reports/tr46/#ToUnicode
Step 3 is a fun part. It depends on the Unicode version. For Unicode 15, the table is https://www.unicode.org/Public/idna/15.0.0/IdnaMappingTable.txt
Important: we want to be able to update the future Unicode releases so that the table should not be hard-coded... we should have a script that goes from the table to our implementation.

Map. For each code point in the domain_name string, look up the status value in Section 5, IDNA Mapping Table, and take the following actions:

disallowed: Leave the code point unchanged in the string, and record that there was an error.
ignored: Remove the code point from the string. This is equivalent to mapping the code point to an empty string.
mapped: Replace the code point in the string by the value for the mapping in Section 5, IDNA Mapping Table.
valid: Leave the code point unchanged in the string.

Normalize. Normalize the domain_name string to Unicode Normalization Form C. See https://dev.w3.org/cvsweb/charlint/charlint.pl?rev=1.28;content-type=text%2Fplain for a Perl script that does it.
Break. Break the string into labels at U+002E ( . ) FULL STOP.
Convert/Validate. For each label in the domain_name string:

If the label starts with “xn--”:

Attempt to convert the rest of the label to Unicode according to Punycode [[RFC3492 (https://www.unicode.org/reports/tr46/#RFC3492)]. If that conversion fails, record that there was an error, and continue with the next label. Otherwise replace the original label in the string by the results of the conversion.
Verify that the label meets the validity criteria in Section 4.1, Validity Criteria for Nontransitional Processing. If any of the validity criteria are not satisfied, record that there was an error.

If the label does not start with “xn--”:
Verify that the label meets the validity criteria in Section 4.1, Validity Criteria for the input Processing choice (Transitional or Nontransitional). If any of the validity criteria are not satisfied, record that there was an error.

What you want to do is write some kind of script that reads the table and outputs code. That's more or less or ICU does it, I think.
Take 0x2e. It is the '.' in ascii. It remains a dot. Fine. But look later...
3002          ; mapped                 ; 002E          # 1.1  IDEOGRAPHIC FULL STOP

So character 0x3002 must be mapped to 0x2e.
Some characters are ignored, we just skip them.
Now we must somehow go from the table to efficient C++ code. This has been done before, and I have not looked at how people do it. So here is my naive take.
At the moment, 5986 different characters are mapped to 2945 distinct characters. This can be implemented using a key-value map, using 32 bits for the key and 32 bits (or less) for the value. That's about 50 kB right there. Maybe less if you get clever. A flat data structure with a binary search might work to locate the values and the mapping.
Next we have the disallowed and the ignored values. This could be implemented using a flat list where you have 2 bits per unicode code points (1114111), so that's 2 MB. Each code point can be allowed, disallowed, ignored or mapped. But we probably don't want to use 2MB. So just represent the data as an list of ranges. Each range can be defined by its starting position (a value no larger than 1114111) and two bits representing whether it is allowed, disallowed, ignored or mapped. So each range can be represented using 32 bits. The table has something like 9000 lines, but most of it is descriptive, there are far fewer than 9000 ranges in there... So, let us say 24 kB to store that. Implementation-wise, a simple binary search through the ranges will do.
So mapping, unallowed and so forth... we are talking about less than 100kB.
Normalization is tiny. So I am hopeful we can do all of that in less than 150kB
I recommend breaking down the implementation into the steps I have outlined. At each stage, write some tests. Don't be a cowboy like I did... it is too complicated to do in one sitting.

I could probably even do the mapping and scripting over the big table. I have a good idea of how to do it.
The normalization only looks mysterious, but if you scan through the perl code, you see that there is relatively little involved.

For some context, currently we rely on ICU which requires something like 40 MB. I think that implementing just what we need would be far smaller. Less than 200 kB.

Seems definitely hard. I like it. Thanks for sharing these ideas with me! I'll work on this.

This task is hard  :dizzy_face:
I don't know when I'm going to finish this, but if anyone already has an idea in mind and thinks they could implement it quickly, please don't get hung up on me.
I was thinking about storing the idna table in an interval map like this one:
template <typename T, typename U>
class IntervalMap {
    std::map<std::pair<T, T>, U> storage;

public:
    IntervalMap() {}

    void insert(std::pair<T, T> interval, U value)
    {
        storage[interval] = value;
    }

    U find(T value)
    {
        auto it = storage.lower_bound(std::make_pair(value, value));
        if (it == storage.end() || value < it->first.first) {
            if (it == storage.begin())
                return U();
            --it;
        }
        if (value >= it->first.first && value <= it->first.second)
            return it->second;
        return U();
    }
};

then the table would be created like this:
idna_table.insert(std::make_pair(0x2FA1C, 0x2FA1C), {"mapped", {0x9F3B}});
idna_table.insert(std::make_pair(0x2FA1D, 0x2FA1D), {"mapped", {0x2A600}});
idna_table.insert(std::make_pair(0x2FA1E, 0x2FFFD), {"disallowed", {}});
idna_table.insert(std::make_pair(0x2FFFE, 0x2FFFF), {"disallowed", {}});
idna_table.insert(std::make_pair(0x30000, 0x3134A), {"valid", {}});

and access would be like this:
idna_table.find(0x2FA12).second  // the list of chars

but maybe this implementation is too costly.. what do you think?
the construction of this interval map could be from a script, like this very ugly one here:
    url = "https://www.unicode.org/Public/idna/15.0.0/IdnaMappingTable.txt"
    response = requests.get(url)
    mapping_table = response.text

    lines = []

    for line in mapping_table.split("\n"):
        if(line.startswith("#") or ";" not in line):
            continue

        line = line[0:line.index("#")]
        line = line.split(";")
        line = [x.strip() for x in line if x.strip() != ""]
        final_line = "idna_table.insert(std::make_pair("
        if(".." in line[0]):
            range = line[0].split("..")
            final_line+=f"0x{range[0]}" + ", " + f"0x{range[1]}"
        else:
            final_line+=f"0x{line[0]}, 0x{line[0]}"

        final_line+="), {" + "\"" + line[1] + "\", {"

        if(len(line) > 2 and line[2] != "0xNV8"):
            mapped_value = line[2].split(" ")
            for value in mapped_value:
                final_line += f"0x{value}" + ", "
            final_line = final_line[:len(final_line) - 2]
            final_line += "}});"
        else:
            final_line+="}});"

        print(final_line)

I can also ignore the "range/interval" thing, use an unordered_map to store the whole table and got an O(1)

@miguelteixeiraa This task is hard  :dizzy_face:

Do not try to do it all, and especially not all at once. It is indeed quite a large project... there is a reason nobody does ever does it!
I have a good idea how to implement this table and I can do it. You leave it up to me, I can probably do it this week.

@miguelteixeiraa @anonrig I think we could start a secondary project, maybe https://github.com/ada-url/idna/, and work on it there. Because, indeed, it will be non-trivial and it will take some time (weeks).

@miguelteixeiraa @anonrig And it could be cool to have it as a separate component.

I think we could start a secondary project, maybe https://github.com/ada-url/idna/, and work on it there.

And it could be cool to have it as a separate component.

Sounds like a good idea! : )

Note that it is an evolving target : https://github.com/whatwg/url/issues/744

@miguelteixeiraa Can you have a look at https://github.com/ada-url/idna ?
Next step would be to write some tests for to_ascii. It is not complete because it does not do mapping, it does not scan for forbidden characters and it does not check for bidi conditions. But it is otherwise a good sketch.


Improve cin/cout performance & Add .gitattributes

Small improvements...

Now your std::cout can be as fast as printf()
Now anything that's not written in java or C/C++ would not be included in statistics for programming language

The goal of this repository (or so when I created it a long long time ago) was to demonstrate how to use JNI to beginners. With that, I can't see how this improves readability or furthers the goal
As a side, your branch cost is probably a lot greater than your io savings now


Golang 1.20 compiler errors

There appear to be some changes in 1.20 that cause the library to not compile and report some issues on my windows machine.
Reverting to the latest 1.19 makes it work again.
It appears to be related to the use of consts and 1.20 doesn't seem to like it for some reason.
Found some cases with a similar report that implied a constant overflow check, but your code seems correct in that regard.

I don't have the v4l2 source files in my windows box, but 1.19 never complained about it.
Unsure how this could be fixed, if at all, and if this is a golang issue that could be to raise with the go team.
Thought I'd raise it and get your opinion on it.

@ruidscampos thank you for brining this to my attention. Will mark it appropriately.

HI @ruidscampos
You mentioned that you are running on your Windows machine.
Are you cross compiling? If so, how are you cross compiling your code ?
Or, are you using the Windows Linux Subsystem (WSL) ? If so, how are you compiling in there?

Hi @vladimirvivien
I develop on my windows machine with VSCode and then build via CICD on a linux machine that is identical to the final machine that will run the build.
With 1.19 on windows there are no errors in VSCode and I'm able to build most of it but then fails on CGO with a nice error:
cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in %PATH%
With 1.20 on windows there are several errors reported in VSCode wherever I use any of the constants, and when building outputs the error I previously raised also regarding the constants.
I haven't had the time to update the CICD to 1.20 and built it there, but can do it later this week and let you know the result.

Hi @ruidscampos
Apologies for the delay in replying.
Yes, you are hitting a change Go version 1.20 (see detail here). Basically, version 1.20 does no longer satisfies the C tool chain for environment that does not already have it. Meaning, you will need to install gcc yourself on your machine.
If you don't want to do that, you can install the Zig compiler (I think it works on Windows Linux subsystem). See detail here for building using Zig here.
I was NOT able to recreate your issue. I was able to build on my machine:
go version
go version go1.20.2 darwin/arm64

CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=7 CC="zig cc -target arm-linux-musleabihf" CXX="zig c++ -target arm-linux-musleabihf" go build -o simple-cam ./simplecam

Hi @vladimirvivien, thanks for finding the origin, I'll give it another try with your indications.


Can't hide Temperature Max sensor?

Temperature Max is the main device (which contains all other sensors) for forecasts and therefore cannot be hidden.


Hii

[Enter feedback here]

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

ID: c7a8019c-3466-91ef-618f-ef99cf29eceb
Version Independent ID: 60290b39-1999-86be-2030-30618f5c003e
Content: Windows Server supported networking scenarios
Content Source: WindowsServerDocs/networking/windows-server-supported-networking-scenarios.md
Product: windows-server
Technology: networking
GitHub Login: @dcuomo
Microsoft Alias: dacuo

Closing as this is a non-document issue.
#please-close


Split configuration module

Config is now a shorthand to modify settings + users
New API to manage users
Config, setting and users now have dto types instead of exposing DB types to the API

Codecov Report

Merging #117 (c9d4d08) into master (ec39e69) will decrease coverage by 0.19%.
The diff coverage is 72.49%.

@@            Coverage Diff             @@
##           master     #117      +/-   ##
==========================================
- Coverage   70.90%   70.70%   -0.20%
==========================================
  Files          36       40       +4
  Lines        1677     1799     +122
==========================================
+ Hits         1189     1272      +83
- Misses        488      527      +39

Impacted Files
Coverage Δ

src/app/config/error.rs
0.00% <ø> (ø)

src/app/settings/error.rs
0.00% <0.00%> (ø)

src/app/user/error.rs
0.00% <ø> (ø)

src/service/error.rs
28.57% <17.64%> (-16.89%)
:arrow_down:

src/app/index/mod.rs
54.54% <50.00%> (ø)

src/app/settings/manager.rs
58.53% <58.53%> (ø)

src/app/config/manager.rs
77.41% <77.77%> (+6.54%)
:arrow_up:

src/app/user/manager.rs
70.29% <81.57%> (+1.94%)
:arrow_up:

src/service/mod.rs
84.28% <83.33%> (+0.46%)
:arrow_up:

src/app/config/mod.rs
95.23% <85.71%> (+0.23%)
:arrow_up:

... and 11 more

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 d4c78a0...c9d4d08. Read the comment docs.


[Central_v2] - Bug Report - # line 6 Desktop

Describe the bug
Highlight on click: Question card is already highlighted
To Reproduce
Steps to reproduce the behavior:

Right you open the create question page the card is already highlighted.

Expected behavior
Highlight to appear on click
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

MacOS
Chrome & Safari

Additional context
Add any other context about the problem here.

Hey @chelcha, do you see this condition in the Figma anywhere? I'm not super sure what the expected behaviour here is but in this Figma design:
https://www.figma.com/design/PadzU8GqyhFLCjIt7rQkpE/RightOn-Apps?node-id=21108-644264&t=BtUNR4OMBcynJBlm-4
And in the Loom video:
https://www.loom.com/share/2ebbed30376d4c1db595a0399f98bd82?sid=49261443-ba6c-4307-a4a2-a4e2e29f6ec2
The first question card is already highlighted. Is the design intent different?

Exec decision: question card should already be highlighted. No Bug there. Closing.


chore(release): 29.1.5

Closes #4373

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall first build on release/29.1.5 at 96.03%

Totals

Change from base Build<PHONE_NUMBER>:
96.0%

Covered Lines:
4045

Relevant Lines:
4144

💛  - Coveralls


Add a few sentences describing delta_fitness and uncertainty

I asked for clarification about what the uncertainty column corresponds to in the output files with amino-acid fitness effects.
@lucasesta responded: How both delta_fitness and the related uncertainty are obtained is briefly presented in the theoretical framework at the end of the README. I could add a reference to this part on top of the aforementioned details about the amino acids results.
I think a reference would be useful. Additionally, for people like me with less math background, could we also add a sentence or two giving intuition for what the delta_fitness and uncertainty values are quantifying? For instance, is delta_fitness the mean of the posterior distribution and is uncertainty the standard deviation? And for computing amino-acid effects, the README mentions that the fitness is the weighted sum of effects of individual nucleotide mutations that lead to the same amino-acid mutation. Could we give an intuitive explanation of how the uncertainty is estimated when aggregating nucleotide mutations?

@Haddox, I added additional information for the key columns of the fitness effects dataframes for both nucleotide and amino acid mutations within the "Output" section.
In particular, additional descriptions accompanied by simple general mathematical formulas are given for both delta_fitness and uncertainty. For the further details, the reader is redirected to the "Theoretical framework" section.

Looks great! Thanks!


refactor: User common test cases for generated SAC store tests - Count

Description
A detailed explanation of the changes in your PR.
Feel free to remove this section if it is overkill for your PR, and the title of your PR is sufficiently descriptive.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
TODO(replace-me)
Use this space to explain how you tested your PR, or, if you didn't test it, why
you did not do so. Valid reasons include, for example, "CI is sufficient",
"No testable changes". Feel free to attach JSON snippets, curl commands,
screenshots.
In addition to reviewing your code, reviewers must also review your testing
instructions and make sure they are sufficient.

Current dependencies on/for this PR:

master

PR #6895

PR #6992

PR #7056

PR #7057   👈

PR #6993

PR #6923

PR #6924

This comment was auto-generated by Graphite.


exception handling for current idle timeout attribute

With this snippet I was able to demonstrate that since the error isn't handled here, the value returned for idleTimeout is occasionally the default 0, thus triggering needless load balancer attribute modifications:
package main

import (
	"fmt"
	"strconv"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elbv2"
)

const (
	IdleTimeoutKey = "idle_timeout.timeout_seconds"
)

func main() {
	sess := session.Must(session.NewSession())
	svc := elbv2.New(sess)

	arn := aws.String("arn:aws:elasticloadbalancing:us-east-1:234212695392:loadbalancer/app/nonprod1-prd115-controller-17d6/1bca811ec6ea7137")

	idleTimeout := int64(0)
	in := &elbv2.DescribeLoadBalancerAttributesInput{
		LoadBalancerArn: arn,
	}
	attrs, err := svc.DescribeLoadBalancerAttributes(in)
	if err != nil {
		fmt.Printf("%v\n", err.Error())
	}
	for _, attr := range attrs.Attributes {
		if *attr.Key == IdleTimeoutKey {
			idleTimeout, err = strconv.ParseInt(*attr.Value, 10, 64)
			if err != nil {
				fmt.Printf("Failed to retrieve invalid idle timeout from ALB in AWS.

The reason for switching to pointer was that 0 being the default for int64 makes a less than ideal comparator when  checking if the value is set. Thus with a pointer you can compare to nil to see whether it was truly set or not.

This should close #257

LGTM.


Make sure mbeans are always registered when management or statistics are enabled (close #1928)

Looks good but needs to be fixed on release/3.2 as well 😉

Yes... I totally forgot.
Le 28 mars 2017 4:17 PM, "Louis Jacomet"<EMAIL_ADDRESS>a
écrit :

Looks good but needs to be fixed on release/3.2 as well 😉
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ehcache/ehcache3/pull/1936#issuecomment-289891124,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABKRM19AXaIJB-pJxUPanQmhoQWVB9hhks5rqWrAgaJpZM4MsEA_
.


Installation without Gurobi

Hi, is there a way to compile this library without Gurobi? Or can we use some other open-source library to replace Gurobi?
I am using this library in the industry for CFD, but Gurobi is a bottleneck.
Thank you for your responses.

Hi, we never attempted to switch from Gurobi to an open-source solver, albeit this is technically possible since all we need to solve is a sequence of standard linear problems. Based on my experience I expect a significant decay of the performances though, because Gurobi is far ahead than any open-source solver I am aware of...
Note that besides the ILP-based grid pairing our code also implements standard octree-based pairing, which is purely topological and does not rely on any external solver. If you want to use this feature then you should be able to just remove the dependency from Gurobi and comment out all the code that depends on it

Thank you for the response. I will try to use the octree-base pairing.


Compiler hangs for the following i4 function

What happened?
For the following test case:
module @jit_transpose attributes {mhlo.num_partitions = 1 : i32, mhlo.num_replicas = 1 : i32} {
  func.func public @main_i4() -> (i8, tensor<2x5xi8> {jax.result_info = "[0]", mhlo.layout_mode = "default"}) {
    %0 = stablehlo.constant dense<"0x08090A0B0C0D0E0F0501"> : tensor<2x5xi8>
    %11= stablehlo.reshape %0 : (tensor<2x5xi8>) -> tensor<10xi8>
    %1 = stablehlo.convert %11 : (tensor<10xi8>) -> tensor<10xi4>
    %12 = stablehlo.convert %0 : (tensor<2x5xi8>) -> tensor<2x5xi4>
    %idx_x = arith.constant 5 : index
    %2 = tensor.extract %1[%idx_x] : tensor<10xi4>
    %3 = arith.extsi %2 : i4 to i8
    return %3, %0 : i8, tensor<2x5xi8>
  }
}

The following compilation command seem to hang the compiler.
./tools/iree-compile   --iree-hal-target-backends=llvm-cpu test.mlir

I tried to print IR before every pass and it seem to hang here
// -----// IR Dump Before RefineUsagePass (iree-stream-refine-usage) //----- //
#executable_target_embedded_elf_x86_64_ = #hal.executable.target<"llvm-cpu", "embedded-elf-x86_64", {cpu = "generic", cpu_features = "", data_layout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128", native_vector_size = 16 : index, target_triple = "x86_64-unknown-unknown-eabi-elf", ukernels = "default"}>
#device_target_llvm_cpu = #hal.device.target<"llvm-cpu", {executable_targets = [#executable_target_embedded_elf_x86_64_]}>
module @jit_transpose attributes {hal.device.targets = [#device_target_llvm_cpu]} {
  util.global private @_constant : !stream.resource<constant>
  util.global private @_constant_0 : !stream.resource<constant>
  util.initializer {
    %c5 = arith.constant 5 : index
    %c10 = arith.constant 10 : index
    %cst = stream.async.constant : !stream.resource<constant>{%c10} = dense<[[8, 9, 10, 11, 12], [13, 14, 15, 5, 1]]> : tensor<2x5xi8>
    %cst_0 = stream.async.constant : !stream.resource<constant>{%c5} = dense<[-104, -70, -36, -2, 21]> : tensor<5xi8>
    util.global.store %cst, @_constant : !stream.resource<constant>
    util.global.store %cst_0, @_constant_0 : !stream.resource<constant>
    util.initializer.return
  }
  func.func @main_i4() -> (i8, !hal.buffer_view) attributes {iree.abi.stub, iree.reflection = {iree.abi.declaration = "sync func @main_i4() -> (%output0: i8, %output1: tensor<2x5xi8>)"}} {
    %c10 = arith.constant 10 : index
    %c5 = arith.constant 5 : index
    %_constant = util.global.load @_constant : !stream.resource<constant>
    %_constant_0 = util.global.load @_constant_0 : !stream.resource<constant>
    %0 = stream.async.transfer %_constant_0 : !stream.resource<constant>{%c5} -> !stream.resource<staging>{%c5}
    %1 = stream.tensor.load %0[%c5] : tensor<10xi4> in !stream.resource<staging>{%c5} -> i4
    %2 = arith.extsi %1 : i4 to i8
    %3 = stream.async.transfer %_constant : !stream.resource<constant>{%c10} -> !stream.resource<external>{%c10}
    %4 = stream.tensor.export %3 : tensor<2x5xi8> in !stream.resource<external>{%c10} -> !hal.buffer_view
    return %2, %4 : i8, !hal.buffer_view
  }
}

Steps to reproduce your issue

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

What component(s) does this issue relate to?
No response
Version information
No response
Additional context
No response

I see an error when I try to repro:
// -----// IR Dump Before RefineUsagePass (iree-stream-refine-usage) //----- //
#executable_target_embedded_elf_x86_64_ = #hal.executable.target<"llvm-cpu", "embedded-elf-x86_64", {cpu = "generic", cpu_features = "", data_layout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128", native_vector_size = 16 : index, target_triple = "x86_64-unknown-unknown-eabi-elf", ukernels = "default"}>
#device_target_llvm_cpu = #hal.device.target<"llvm-cpu", {executable_targets = [#executable_target_embedded_elf_x86_64_]}>
module @jit_transpose attributes {hal.device.targets = [#device_target_llvm_cpu]} {
  util.global private @_constant : !stream.resource<constant>
  util.global private @_constant_0 : !stream.resource<constant>
  util.initializer {
    %c5 = arith.constant 5 : index
    %c10 = arith.constant 10 : index
    %cst = stream.async.constant : !stream.resource<constant>{%c10} = dense<[[8, 9, 10, 11, 12], [13, 14, 15, 5, 1]]> : tensor<2x5xi8>
    %cst_0 = stream.async.constant : !stream.resource<constant>{%c5} = dense<[-104, -70, -36, -2, 21]> : tensor<5xi8>
    util.global.store %cst, @_constant : !stream.resource<constant>
    util.global.store %cst_0, @_constant_0 : !stream.resource<constant>
    util.return
  }
  func.func @main_i4() -> (i8, !hal.buffer_view) attributes {iree.abi.stub, iree.reflection = {iree.abi.declaration = "sync func @main_i4() -> (%output0: i8, %output1: tensor<2x5xi8>)"}} {
    %c10 = arith.constant 10 : index
    %c5 = arith.constant 5 : index
    %_constant = util.global.load @_constant : !stream.resource<constant>
    %_constant_0 = util.global.load @_constant_0 : !stream.resource<constant>
    %0 = stream.async.transfer %_constant_0 : !stream.resource<constant>{%c5} -> !stream.resource<staging>{%c5}
    %1 = stream.tensor.load %0[%c5] : tensor<10xi4> in !stream.resource<staging>{%c5} -> i4
    %2 = arith.extsi %1 : i4 to i8
    %3 = stream.async.transfer %_constant : !stream.resource<constant>{%c10} -> !stream.resource<external>{%c10}
    %4 = stream.tensor.export %3 : tensor<2x5xi8> in !stream.resource<external>{%c10} -> !hal.buffer_view
    return %2, %4 : i8, !hal.buffer_view
  }
}

D:\dev\projects\iree/../iree-data/tests/issue_16231.mlir:8:10: error: 'stream.tensor.load' op operand #0 must be staging resource, but got '!stream.resource<external>'
    %2 = tensor.extract %1[%idx_x] : tensor<10xi4>
         ^
D:\dev\projects\iree/../iree-data/tests/issue_16231.mlir:2:3: note: called from
  func.func public @main_i4() -> (i8, tensor<2x5xi8> {jax.result_info = "[0]", mhlo.layout_mode = "default"}) {
  ^
D:\dev\projects\iree/../iree-data/tests/issue_16231.mlir:8:10: note: see current operation: %5 = "stream.tensor.load"(%4, %1, %1) <{operandSegmentSizes = array<i32: 1, 0, 1, 1>, source_encoding = tensor<10xi4>}> : (!stream.resource<external>, index, index) -> i4
    %2 = tensor.extract %1[%idx_x] : tensor<10xi4>
         ^

(also, please fill in the issue template if you're going to use it, version information and other information about your build configuration are all useful for triage)

Hi @ScottTodd, when I ran it, it was hanging for like 10 minutes (after which I hit ctrl-C). I did not find any of the errors you see.
However, I am running on a Linux system, not windows.
I filled out the version info in the bug report.

I can repro as well

I don't see a hang either but the error scott has. Not sure why you have a hang - you'll have to debug that. I'll see if I can fix the error, though.

(note that once fixed this still will have issues - it's trying to load byte 5 of a 5 byte buffer, instead of element 5 - there's indexing math that needs to be fixed - I'll be tracking that separately as a task in #16250)

oh good news, this is an easy one: stream.tensor.load is not supposed to exist by refineusage - i4 isn't supported so it's remaining in and we aren't verifying inbetween EncodeHostTensors and RefineUsage that they all go away. I'll fix that and we should then fail compilation until stream.tensor.load supports i4.

#16255 now produces a verification error:
D:\Dev\iree-tmp\scratch.mlir:5:8: error: 'stream.tensor.load' op illegal for this phase of lowering in the stream dialect; expected to have been converted or removed
  %1 = stream.tensor.load %0[%c0] : tensor<5xi8> in !stream.resource<staging>{%c5} -> i8
       ^
D:\Dev\iree-tmp\scratch.mlir:5:8: note: see current operation: %3 = "stream.tensor.load"(%2, %1, %0) <{operandSegmentSizes = array<i32: 1, 0, 1, 1>, source_encoding = tensor<5xi8>}> : (!stream.resource<staging>, index, index) -> i8
// -----// IR Dump After VerifyLoweringToAsyncResourcesPass Failed (iree-stream-verify-lowering-to-async-resources) //----- //
module {
  func.func @constantStagingLoad(%arg0: !stream.resource<constant>) -> i8 {
    %c0 = arith.constant 0 : index
    %c5 = arith.constant 5 : index
    %0 = stream.async.transfer %arg0 : !stream.resource<constant>{%c5} -> !stream.resource<staging>{%c5}
    %1 = stream.tensor.load %0[%c0] : tensor<5xi8> in !stream.resource<staging>{%c5} -> i8
    return %1 : i8
  }
}

I found another bug that does cause a hang. Neat! This one is in codegen.

Awesome!


Changed targeted from logoncount=0 to use lastlogontimestamp

Since logoncount is not replicated between domain controllers you will experience various results using the -targeted option. IMO a better approach would be to use the lastlogontimestamp since this is replicated between domain controllers and will be empty for prestine pre2k accounts.
https://learn.microsoft.com/en-us/windows/win32/adschema/a-logoncount#remarks


[DRAFT] time-based subquery batching

What does this PR change?
Slice all prom queries into a couple of thinner requests based on ETL batch size parameter.
Does this PR rely on any other PRs?
No
How does this PR impact users? (This is the kind of thing that goes in release notes!)
Users exceeding managed prometheus limits on 1h queries can slice these thinner time intervals, at the cost of more queries being issued.
Links to Issues or ZD tickets this PR addresses or fixes

How was this PR tested?
In progress. Extensive scale testing is required.
Have you made an update to documentation?
I'd prefer this feature kept in beta at this time.

Is this identical to https://github.com/kubecost/cost-model/pull/1135?

Nope! This was a test PR to take queries down to less than 1h.

@AjayTripathy Do we need to get this merged in v1.94?

@AjayTripathy Do we need to get this merged in v1.94?

No, this was more of an experiment.
On Thu May 12, 2022, 10:19 PM GMT, Adam Stack @.***>
wrote:
@AjayTripathy https://github.com/AjayTripathy Do we need to get this
merged in v1.94?
—
Reply to this email directly, view it on GitHub
https://github.com/kubecost/cost-model/pull/1141#issuecomment-1125471154,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADOXCANGJJART6HT5I5T4DVJV7YJANCNFSM5SMPRB6A
.
You are receiving this because you were mentioned.Message ID:
@.***>

Closing out. Was an experiment. Re-open if needed.


Create pt_br.json

Brazilian portuguese localization

Hi! This was added in the 1.4.0 update for 1.18. Unfortunately, I wasn't able to merge this as it'll conflict now, but it's in the mod.
Thanks!


Add API for comparing ZedTokens

We have some use cases involving event streams, where the events would include ZedTokens from SpiceDB (e.g. the results of the watch API). Consumers of these events will call SpiceDB to look up additional information in response, providing event's ZedToken to get data at_least_as_fresh as the event, and persist the results somewhere (e.g. a database). Ideally, event consumers would be able to compare the ZedToken from an async event against a ZedToken already stored in the DB, determine which one is "newer", and call SpiceDB providing the most recent ZedToken.
To support this use case, we would need a client library or gRPC endpoint for comparing ZT's. We recognize that some datastores allow for concurrent updates, so it may not be possible to conclusively say on ZedTokens is "before" another. We could work around a case of "concurrent" ZedTokens by simply making a fully_consistent request to SpiceDB. So if we had a function like compare(ZT1, ZT2) it could return (for example):

DEFINITELY_BEFORE: in which case we call SpiceDB with at_least_as_fresh(ZT2)
DEFINITELY_AFTER: in which case we call SpiceDB with at_least_as_fresh(ZT1)
INCONCLUSIVE/CONCURRENT:  in which case we call SpiceDB with fully_consistent

Alternatively/additionally, the existing Consistency parameter for SpiceDB operations could be modified to allow passing in a list of ZedTokens for at_least_as_fresh (so the operation would be performed on data at least as fresh as the "newest" of all the provided tokens) to avoid an extra roundtrip for comparison.
Note: this capability for comparing ZedTokens is mentioned in footnote 3 of the Tiger Cache Proposal #207

Alternatively/additionally, the existing Consistency parameter for SpiceDB operations could be modified to allow passing in a list of ZedTokens for at_least_as_fresh (so the operation would be performed on data at least as fresh as the "newest" of all the provided tokens) to avoid an extra roundtrip for comparison.

@jason-who-codes would you prefer this approach vs a comparison API? Are there any other areas where a comparison API would make sense/provide value?

This would be beneficial to us as well. We have a large model and quite a few relationships, so uncached performance can be a bit rough. We've extended the quantization window to 24 hours and rely heavily on at_least_as_fresh to ensure consistency.
We've implemented a middleware layer that stores consistency tokens for various objects when relationships are written and then query with the most recent.
To implement this, we've done a bit of a naughty by un-opaquing the ZedToken. With CockroachDB and memdb, it's just a base64 encoded integer timestamp. However, I'd love to be able to just pass multiple tokens and let SpiceDB take care of it.

@croemmich can you expand on why, exactly, your middleware layer needs to compare ZedTokens at all? If you are storing a ZedToken for an updated object, then at least as fresh should "just work" when sent that ZedToken

We've implemented a middleware layer that stores consistency tokens for various objects when relationships are written and then query with the most recent. To implement this, we've done a bit of a naughty by un-opaquing the ZedToken. With CockroachDB and memdb, it's just a base64 encoded integer timestamp. However, I'd love to be able to pass multiple tokens and let SpiceDB take care of it.

Same here. We are using MySQL, where we generate code for the (internal) DecodedZedToken (source) to make sure to properly parse it.

can you expand on why, exactly, your middleware layer needs to compare ZedTokens at all?

After reading the documentation, the original Zookie paper, this blog post and asking for clarification here our understanding is that there is no guarantee for "reading our own writes" in case that involves traversing a hierarchy of objects.
E.g. take the following example:
Schema:

User, Organization, Document
Organization has members and documents

T0: Alice(T0) is member of organization O1(T0)
T1: Alice adds document D1(T1)
T2: Alice adds Bob as member of organization O1(T2), Bob(T2)
When reading document D1 now, we would use ZedToken T1, which could lead to us not seeing Bob being a member of O1.
To avoid this, we want to make sure that we are always using the most recent ZedToken - for which we either need to compare it locally (quickly) - or can pass a list of tokens.
@josephschorr Honestly, the local comparison of the integer would be great. What exactly is the reason this is not part of the API ? My current understanding is that global ordering should be possible as long as we use a common persistence layer for all SpiceDB instances and use that to source the integer in the first place (which seems to be the case for postrgres and mysql at least).
Also, if there are case where this is not doable, this could be signaled with a flag ala comparable bool? :thinking:

I think we agree on the need to either compare zedtokens or have SpiceDB accept multiple and have it pick the most recent. Each datastore may have a different underlying of zedtokens so it's just not a timestamp - this is the case of postgres implementation which uses PG internal datatypes. Exposing those internals via a client library would turn it into API and make it not possible to evolve the underlying datastore implementation without breaking clients. For example PG implementation was also a timestamp before it started using PG's MVCC xid, xmin and xmax types.
Would having the APIs accepting multiple zedtokens so that SpiceDB picks up the most recent satisfy your needs?

For example PG implementation was also a timestamp before it started using PG's MVCC xid, xmin and xmax types.

Ok, thanks for the explanation! Missed that.

Would having the APIs accepting multiple zedtokens so that SpiceDB picks up the most recent satisfy your requirements?

Yes, that would work. :+1:

We recently ran into a similar issue with what this Issue is hoping to address with our GraphQL API. GraphQL resolvers are inherently asynchronous, and multiple mutations/queries can be made in the same "request". To solve the issue of a single GraphQL request creating multiple asynchronous SpiceDB writes, and then resolving the underlying GraphQL query (within a mutation, lets say) that could end up hitting SpiceDB for a permission - we were also trying to issue subsequent requests with the latest token across all of the async writes.
If we could instead pass a list of ZedTokens and have SpiceDB determine use the latest as the consistency value, that would address our issue of not being able to decode/order tokens on the client side.

Adding some context as to cases where making ZedTokens a repeated field might not be enough.
When consuming changes from the Watch API I get a ZedToken for when the change happened (let's call it ZT1). This might prompt me to recompute some expanded permissions using LookupResources or LookupSubjects, the result of which also gives me a ZedToken (ZT2). If I then consume another change from the Watch API with its own ZedToken  (ZT3) and it affects the same resource or subject as the previous change, I might want to know whether ZT2 is fresher than ZT3, and if it is I can bypass making another call to LookupResources as it can be quite expensive.
Making the field repeated means I would still have to make the expensive call, and would only guarantee better freshness of the results which is not really what I'm after here.


Getting started and failing

npm WARN saveError ENOENT: no such file or directory,

npm install --save elgato-stream-deck
npm WARN saveError ENOENT: no such file or directory, open '/home/mine/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/home/mine/package.json'
npm WARN mine No description
npm WARN mine No repository field.
npm WARN mine No README data
npm WARN mine No license field.

Hey there,
Are you perhaps having the same issue as https://github.com/Lange/node-elgato-stream-deck/issues/33 ?

Thanks. That clarifies it.

Frank Johnson
<EMAIL_ADDRESS>404-492-9039 (Office)
On Fri, Mar 16, 2018 at 11:05 AM, Alex Van Camp<EMAIL_ADDRESS>wrote:

Hey there,
Are you perhaps having the same issue as #33
https://github.com/Lange/node-elgato-stream-deck/issues/33 ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Lange/node-elgato-stream-deck/issues/44#issuecomment-373741827,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKlU1E5Nehof_lHujK6j0iNkXMvRZQorks5te9TOgaJpZM4StasH
.

Do we have access to anyone who has a successful implementation using this
node?

Frank Johnson
<EMAIL_ADDRESS>404-492-9039 (Office)
On Fri, Mar 16, 2018 at 12:48 PM, Alex Van Camp<EMAIL_ADDRESS>wrote:

Closed #44 https://github.com/Lange/node-elgato-stream-deck/issues/44.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Lange/node-elgato-stream-deck/issues/44#event-1525957726,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKlU1OUBO15Vz9caIv9_3JXomLrdDKxjks5te-zTgaJpZM4StasH
.

Most implementations are very specific to a particular use case. I am not personally aware of anyone who has made an application which intends to be an outright replacement for the official Elgato application for the Stream Deck.

Thank you for taking the time to respond. Every response has been
informative and critical. I wish I had contacted you sooner, because I have
been trying to figure out the node for about 3 weeks.

Frank Johnson
<EMAIL_ADDRESS>404-492-9039 (Office)
On Fri, Mar 16, 2018 at 1:01 PM, Alex Van Camp<EMAIL_ADDRESS>wrote:

Most implementations are very specific to a particular use case. I am not
personally aware of anyone who has made an application which intends to be
an outright replacement for the official Elgato application for the Stream
Deck.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Lange/node-elgato-stream-deck/issues/44#issuecomment-373779296,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKlU1JlwB15OuVA_MwRuS-zNwfLZOf2pks5te_ABgaJpZM4StasH
.

Oh dang, sorry to hear that. You're not the first person who has been under the impression that node-elgato-stream-deck is a full, standalone application. Perhaps the README should be updated to make this clearer.


Fixing leak when VM disassembly fails and making failure non-fatal.

Let's hold this for now. It does fix the leak I was seeing when running with vm tracing enabled. But now hard fails. I'm not sure this is an improvement: such debugging tools need to not regress the ability to run the program.

PTAL; fixed the leak and made it non-fatal (it'll just print a disassembly failed line).


Merging of overwritten properties doesn't work !

Input Css :
h2 {     width: 100px;     width: 200px; }
Output Css:
h2 {     width: 100px;     width: 200px; }
Expected Output CSS:
h2 {     width: 200px; }
CleanCss version : 3.4.10.
No options passed.
Using it in node js :
 const cleanCss = new CleanCss(); cleanCss.minify(css);

Sequential declarations are treated as redefining by default, but in this case the first declaration should indeed be dropped. Good catch!

@jakubpawlowicz, drawing your attention to #540 and probably #290 which look like very similar issues.


UDP version of RoundTrip() available?

I'm experimenting with using kcptun as a drop-in replacement for Golang's native TCP connection stack. It mostly works however, it is not a drop-in replacement. A big problem is that http/transport.go/RoundTrip() frequently returns EOF errors when making TLS requests. This appears to be dependent on timing, for instance a single request never returns EOF, but a batch of 25 requests will often result in the first few requests succeeding and the rest erroring out.
Tracing this down, it appears that readloop() within the native RoundTrip() method is checking for server disconnects and this is causing the problem. The logic is convoluted and difficult to understand however.
Turning off KeepAlives in the transport helps a great deal but doesn't completely cure the problem.
Is anyone aware of a replacement for transport (or RoundTrip) that could work with kcptun?

have u solved this ?

Yes - we had to turn off keepalives, add an idle timeout to smux/stream.go so that streams would close after 5 seconds of inactivity and set a read timeout on the receiving end during the handshake. This fixed most of our issues though we're still working on some odd edge cases.

will smux proactively drop streams?


'npm install' and Visual C++ error

because of bufferutil and utf-8-validate, I can't build torrent-stream on my machine. It complains about MSB3428 (visual c++) when triggering node-gyp.
Those deps are apparently "optionnal", whatever it means, so idk if it affects the way torrent-stream is supposed to work.
Additonnal info: both deps are used by torrent-discovery\bittorrent-tracker\ws

These problems are related to recent changes making torrent-stream and webtorrent using unified dependencies. This is the websocket module of bittorrent-tracker. It should also be used by the peer/swarm module.
ping @feross

bittorrent-tracker has depended on the ws module (and thus it's native dependencies) for a long time now, but torrent-stream was using an older version of bittorrent-tracker. The newer version came in when we started depending on torrent-discovery.
When optional dependencies fail to install, everything should work just fine despite npm's ridiculous error spewing. I opened an issue on bittorrent-tracker to look at removing the dependency on ws.

https://github.com/websockets/ws/issues/577

The ws package just removed its native dependencies, so as soon as they publish that to npm, this will no longer be an issue!
https://github.com/websockets/ws/commit/49b11093e9a009e5305dcde7003d3a896b2811dc


C#: Add better support for generic class types

This allows the usage of C# generic type parameters in exported properties, methods, and signals, and fixes a couple issues with the existing generic analyzer. The behavior of these generic members should match with if you had exported them non-generically, so they work with all Variant types, exports and signals show up in the editor, GDScript scripts can call your generic methods, etc.
The biggest change is to the analyzer itself as lifting the restriction on generic usage opened the doors for some problematic edge cases. I left a big comment in the MustBeVariantAnalyzer file explaining it all, but basically it's just that some Variant types support being marshaled as a C# array T[] and others don't. It's not possible to know if an exported property of T[] is valid until we know what type replaces T, so that's what the analyzer now does.

Fixes #74960
Fixes #82939
Fixes a bug where the MustBeVariantAnalyzer would miss enforcing the attribute on generic method calls when the type argument is inferred

@nrgill28 Does this change also allow for enums as type arguments without the use of [MustBeVariant]?

Any chance we can make this into 4.3?

Thanks for taking a look at this. It's been a bit since I last used Godot but I'd still like to get this merged in anyway. I'll take a look at the new source generator tests to see if I can get a handle on it, then try and bring forward the changes to get just T working.
As for the type hint generation at runtime, is it safe to make the assumption that they're not needed in non-editor builds? If so they could just be left empty there and that might be fine. Otherwise it does use reflection to generate them so this method might have problems if AOT compilation is ever used.

Is it safe to make the assumption that they're not needed in non-editor builds?

I don't think so. For example, PackedScene uses the hints to determine how to deserialize the scene, without the hint you'd run into issues like https://github.com/godotengine/godot/issues/85492.


Fix race between parsing messages and receiving status in Node client

As a consequence of this, clients must now read all messages from the server to receive the status. They may discard those messages.
Should fix #5604 and #5462.

The sanity failure will be fixed by #5611.

LGTM (decide yourself if you want to address the comment)


Feat/model get

Implement list and get command
Fix #1075
Logic flow:

Read entries in model.list
Get information about model_id and path/to/model.yml
Read yaml file and return information

Model list example output

Model get example output

I think we should move the print logic of ModelConfig to its struct member function (ToString() for example) to reduce the code duplication between CLI and controller.
IMO, Model's logic stuffs should be placed in ModelService. In the future, we will need to centralize this ModelService so that we can easily get what model is running (for example). CLI and Http API should just serve as an interface to communicate.

✅ lgtm


common: implement a common log package

This change adds two log packages.  One for the external go-ceph
consumers under common/log, and one for the internal use within the
go-ceph code under internal/log.  The external package exports two
functions for consumers, SetWarnf() and SetDebugf(), that set a
logger for warnings and debug messages respectively. They take a
log.Printf compatible function as argument.
The internal package exports these functions as Warnf() and Debugf(),
which can be used by the go-ceph code to log warnings and debug
messages.
Signed-off-by: Sven Anderson<EMAIL_ADDRESS>Checklist

[X] Added tests for features and functional changes
[X] Public functions and types are documented
[X] Standard formatting is applied to Go code
[x] Is this a new API? Is this new API marked PREVIEW?

@nixpanic could you take a look, please?


Add packagist

Coverage remained the same at 84.615% when pulling 1eb8590ed1c675343e72886cff246849ed8e2272 on patch-1 into 87bd55b4ae8e93e466a26137a99cdd21356a7173 on master.

Coverage remained the same at 84.615% when pulling 1eb8590ed1c675343e72886cff246849ed8e2272 on patch-1 into 87bd55b4ae8e93e466a26137a99cdd21356a7173 on master.


Upgrade version to 1.0

For https://github.com/AnalyticalGraphicsInc/3d-tiles/issues/54

This is merged with master now too. @likangning93 can you review?


[Proposal] Nested Form Sections

Motivation
Multi-step forms
Proposed solution
Add the ability to add nested Form Sections. Example:
<fieldset>

            <input type="text" class="form-control" placeholder="City">

            <input type="text" class="form-control" placeholder="State">

            <input type="text" class="form-control" placeholder="Zip">

            <input type="button" name="next" class="next action-button" value="Next" />

</fieldset>
<fieldset>

            <input type="text" class="form-control" placeholder="City">

            <input type="text" class="form-control" placeholder="State">

            <input type="text" class="form-control" placeholder="Zip">

            <input type="button" name="next" class="next action-button" value="Next" />

</fieldset>

Additional context
By having the ability to nest form sections, we can create multi-steps form layouts without hacks or workarounds that make complex the maintenance.
This would be a great companion for my other proposal which are the custom form section properties.

Thank you for you suggestion! As this is not directly related to the components repository, I have forwarded this to the product team and it has already been sumitted as a feedback to our ProductBoard. Stay tuned as the public product portal is available later this year.

I'm closing it for now but I you wanted to add more info later, don't hesitate to open a new issue a link it with this one.

Thanks @OndraM-Kentico for being in contact with me on this. If there is any question or anything I can help with, please let me know!
Also, I would like to know which is the link from the public portal or beta releases notes, so I can see the progress of these requests, please.

Just adding the productboard link for future reference:

https://portal.productboard.com/kenticoxperience


Additional features for working with modes

Hey @flaport,
I am a big fan of meow. Besides its EME capabilities, I think it makes quite a lot of sense to use it as an abstraction layer over different FDE algorithms, as switching between "simulation backends" can otherwise necessitate significant code rework (for the structure definition alone). Maybe even interesting for gdsfactory (@joamatab) (We could also build a femwell backend for meow). With that in mind, there is a couple of things I'd like to add:

[x] Poynting flux: auxiliary properties to calculate the poynting flux in x,y and z.

$$ \vec{P} = \vec{E} \times \vec{H} $$
An implementation using np.cross is probably most sensible. Addressed in #7.

[ ] Effective mode area: another auxiliary measure I tend to use relatively frequently. It is not that well defined/ agreed on in literature but I would use the definition as in lumerical's implementation:

$$ A_{eff} = \frac{\left(\int|\vec{E}|^2dA\right)^2}{\int|\vec{E}|^4dA} $$

[ ] Implementation of the field energies for irregular meshes: At this moment the modal energies are computed by summing over the energy densities, which for equidistant meshes leads to a value proportional to the actual modal energy.:

def electric_energy(mode: Mode) -> float:
    """get the electric energy contained in a `Mode`"""
    return electric_energy_density(mode).sum()

The proportionality constant can be eliminated by normalization, as it is not dependent on the field distribution. This does however not hold for non-equidistant meshes, as finely meshed regions are over-emphasized compared to the more coarsely meshed regions. I would therefore suggest dividing by the mesh step in x and y before summing or even better do a proper integration over the energy densities e.g. using nested np.trapz evaluations.

[ ] I would love to be able to also easily get the group index. That would however require multiple frequency points to do a finite difference differentiation on the effective index with frequency/wavelength, right?

Hey @Jan-David-Black ,
Glad you like the library!
A few commonts on each of your points:

I accepted PR #7 .
Sticking to the Lumerical definition is the smart choice. It still is a leading standard on its own.
I agree that generalizing some of the formulas for non-cartesian or non-uniform meshes is a good idea.
We could add a group index function to the mode object which runs another mode simulation with exactly the same settings but a slightly perturbed wavelength. If we document this behavior (i.e. that this calculation is not instant) it might be a good solution.

Tidy3D doesn't yet seem to support non-equidistant meshes: https://github.com/flexcompute/tidy3d/issues/652
Lumerical does however.

We could add a group index function to the mode object which runs another mode simulation with exactly the same settings but a slightly perturbed wavelength. If we document this behavior (i.e. that this calculation is not instant) it might be a good solution.

Interesting idea. We already have the cell available, so it should be relatively easy to do. Lumerical directly returns the group index. So in that case we can just cache it and avoid the second calculation. When I have time I'll open a PR

@Jan-David-Black we have all these things in femwell, and started trying to combine it with MEOW to do EME (https://github.com/HelgeGehring/femwell/blob/main/femwell/eme.py). Not quite there yet, however

I would love to be able to also easily get the group index. That would however require multiple frequency points to do a finite difference differentiation on the effective index with frequency/wavelength, right?

You can actually compute the group index from the fields directly (a simple integral from Snyder and Love, or you can rederive it using the Hellmann-Feynman theorem). No need to do any extra simulations by perturbing the wavelength etc.

Thanks @smartalecH , I'll try that once I find some time :)

@smartalecH, you are talking about this formula, right?
$$
\tilde{v}{\mathrm{g}}=-2 \frac{\tilde{\beta}}{k} \frac{c}{\lambda^3} \int{A_x} \Psi^2 \mathrm{~d} A / \int_{A_x} \Psi^2 \frac{\mathrm{d}}{\mathrm{d} \lambda}\left(\frac{n^2}{\lambda^2}\right) \mathrm{d} A .
$$
Which is equation 33-16 of Snyder and Love.

you are talking about this formula, right?

Yep that's right. There's lots of ways you can massage it into various forms depending on what the problem looks like and what you are after.


feat: add emacs-like up and down navigation

Thanks :)

I pushed a new release, binaries should be up in a few minutes.


Duplicate constructor initializers cause incomplete Kernel

class A {
  A() : this.a(), this.b();
  A.a() {}
  A.b() {}
}

library;
import self as self;

static method #main() → dynamic {
  throw "Error: Can't have more than one 'super' or 'this' initializer.";
}

Another instance of deprecated_InputError. Let me know if this is a blocker for you.


[Insights Data] Usage report not including usage from Test Subscriptions

The usage on these subscriptions is still super tiny, so it's not a massive issue right now. (Less than a few dollars a day at worst).
I am positive these are explicitly included in our automation, so need to find out where the disconnect is.

Turns out it was just being mislabeled. Fixed Monday 7/16.


make shutdown procedure correct

Now the shutdown procedure is incorrect. The loop used after stopping, the http server does not stop hsndling requests and it serms possible to awoid use of sleep.

Use call later for async main.
Use loop forever instead until run.
In stop signal handler:
-Unset servers in device on stopping.
-stop loop
-Call sync stop functions of servers.

done


Client MVP Demo

Demo will need to be scheduled, recorded and submitted prior to the April 28th deadline.

Email confirmation of lack of need for demo received and screenshot submitted, closing manually as task is considered to be completed.