Privacy layer filterFunc "or"

Hi there,
I've been playing around with the new privacy layer inside ent over the weekend and could not figure out how to filter based on a or condition for the root type. (.Where only accepts ent.P in this context).
Thanks for this awesome ORM 🙌 !

Hey @BitPhinix and thanks for the feedback.
Can you elaborate a bit more about the type of predicate you want to apply on the query? OR between what predicates?
You can share raw SQL query or some dummy code based on the examples in the examples directory.

Hey @BitPhinix and thanks for the feedback.
Can you elaborate a bit more about the type of predicate you want to apply on the query? OR between what predicates?
You can share raw SQL query or some dummy code based on the examples in the examples directory.

I basically want to do something like this (using a privacy filter based on 2 or more relations):
privacy.FilterFunc(func(ctx context.Context, f privacy.Filter) error {
		ec := ectx.MustGet(ctx)

		tf, ok := f.(AccountsFilter)
		if !ok {
			return privacy.Denyf("unexpected filter type %T", f)
		}

		tf.Where(
                     account.WhereHasGroupMembershipWith(
                         groupmembership.HasGroupWith(group.IDEQ(ec.GroupID)),
                         account.WhereHasRelationshipWith(relationship.HasSomeField("something")),
                     ),
               )

		return privacy.Skip
	})

Hey @BitPhinix, and sorry for the delayed response. Can you explain why do you use the generic privacy-filter and not the AccountQueryRuleFunc if you need to change specific type?
func BoringAccountFilter() privacy.QueryRule {
	return privacy.AccountQueryRuleFunc(func(ctx context.Context, q *ent.AccountQuery) error {
		q.Where(account.Or(
			account.WhereHasRelationshipWith(relationship.HasSomeField("something")),
			account.WhereHasGroupMembershipWith(groupmembership.HasGroupWith(group.IDEQ(ec.GroupID))),
		))
		return privacy.Skip
	})
}

Ohh didn't notice that was a thing, sorry about that 😅

Sure, feel free to re-open if you have any troubles with it 😃


Cannot open pdf on Android 11

react 17.0.2
react-native 0.66.2
react-native-blob-util 0.13.16
it works very fine on Android 9 or lower but it doesn't work on Android 11

Any errors? Do you have installed an app to open a pdf?
On my Android 11 device it works fine

Yes i do have a reader, and i don't se any errors.

@BrunoKarriqi just saw it no, sorry. Could you please update to the current version?
0.13.18 has a fix for the intent on newer android versions. So please check if it works with the current version

@BrunoKarriqi found another issue.
Where do you save the pdf to? Apps internal storage?
You can simply post the path you try to open here. Because currently the lib is not able to open mediastore content uris.
Just checking if i fix it with the upcoming 0.14.0 or if I should squeeze a hotfix inbetween

@BrunoKarriqi I released 0.14.0 yesterday. It fixed the issue for me, at least if I download to the mediastore.

@RonRadtke thanx a lot, im closing the issue


Traceback Error updating sensor, is kodi running?

Describe the bug
When the kodi is not power-on (aka when the computer or the TV is not started) i got a Traceback of custom_components.kodi_media_sensors.entities
To Reproduce
Steps to reproduce the behavior:

Configure kodi_media_sensors
poweroff the computer/TV where the kodi is started
See error

ERROR (MainThread) [custom_components.kodi_media_sensors.entities] Error updating sensor, is kodi running?
 Traceback (most recent call last):
   File "/data/homeassistant/.homeassistant/custom_components/kodi_media_sensors/entities.py", line 44, in async_update
     result = await self.kodi.call_method(
   File "/data/homeassistant/lib/python3.10/site-packages/pykodi/kodi.py", line 294, in call_method
     return await getattr(self._server, method)(**kwargs)
   File "/data/homeassistant/lib/python3.10/site-packages/jsonrpc_websocket/jsonrpc.py", line 42, in send_message
     raise TransportError('Client is not connected.', message)
 jsonrpc_base.jsonrpc.TransportError: Error calling method 'VideoLibrary.GetRecentlyAddedEpisodes': Client is not connected.
 2021-12-08 17:10:40 ERROR (MainThread) [custom_components.kodi_media_sensors.entities] Error updating sensor, is kodi running?
 Traceback (most recent call last):
   File "/data/homeassistant/.homeassistant/custom_components/kodi_media_sensors/entities.py", line 44, in async_update
     result = await self.kodi.call_method(
   File "/data/homeassistant/lib/python3.10/site-packages/pykodi/kodi.py", line 294, in call_method
     return await getattr(self._server, method)(**kwargs)
   File "/data/homeassistant/lib/python3.10/site-packages/jsonrpc_websocket/jsonrpc.py", line 42, in send_message
     raise TransportError('Client is not connected.', message)
 jsonrpc_base.jsonrpc.TransportError: Error calling method 'VideoLibrary.GetRecentlyAddedMovies': Client is not connected.

Expected behavior
kodi_media_sensors should detect the kodi is not started or not (the entity: media_player.kodi... detect this behavior nicely ) and doesn't try to refresh the database
Home Assistant and Custom Component versions (please complete the following information):
Home Assistant version: 2021.11.5
kodi-recently-added component version: 3.1.5
Additional context

Fixed by 5433e49 in v2.0.5


variable transformation and standardization

Add transformation (for example, log transformation) and standardization

Fixed in #69


linux-raspberrypi_4.19.bb: Update to 4.19.27

Changed to kernel 4.19.27, pointing to the current HEAD at "c0e09b3420442df016ee7906985535d644481e4b"

Can one of the admins verify this patch?

There was already a PR pushed and I merged that one because this misses the signed-off-by footer.

It looks like upstream has been rebased again :-(
Currently there is no such commit at c0e09b34... (not in rpi-4.19.y, or anywhere else for that matter)

Master was updated. Should be fine now.


Error while migrating [Database]

Got error while Running standalone, the command yarn install and yarn build works fine, but got the error in yarn start
/home/ubuntu/migrate-v1-v2# yarn start
yarn run v1.22.19
$ node index.js
Running v0.15.0
✓ DATABASE_URL is defined.
✓ Database connection successful.
✗ Database v1 tables have not been detected.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

hmmm, did you create an .env file pointing to your v1 database?

Yep!

Hey! I am also facing the same error. Checkout this discussion - #1920

@dhwaj1902 Can you check your _prisma_migrations table and see if you have a success record for 04_add_uuid. We use this check to make sure the db is in sync before running migrations.


HoloLens: move Deploy link to Quick reference

Description:
As suggested in issue ticket #5065 (Cleanly separate user from IT docs), the link for "Deploy HoloLens in a commercial environment" should be moved from the Guides section to the Quick reference section.
Thanks to Microsoft internal Graham Bury (@grbury) for the suggestion.
Proposed change:

move the Deploy link to the Quick reference section

issue ticket closure or reference:
Closes #5065

Thanks for creating this PR @illfated
Hi @scooley, kindly review the proposed changes and if there are no issues, please approve and merge. Thank you so much.

Hello again @scooley, if you have time, kindly review this pull request. Thank you.

Hello again @scooley, any update on this PR? If there are issues with it, please let us know. Thanks.

@officedocsbot assign @jvsam

Looks good to me!

Glad to hear that. Do you have merge access, or do we need assistance from one of the managers?
(in case you don't have access, feel free to use the [Approve] and [Submit review] feature under [Review changes] in the Files changed section)

Thanks @scooley. As suggested by @illfated, can you please approve and merge this PR if you have the access?

@illfated if you have time, can you please resolve the merge conflict?

I tried to merge the MicrosoftDocs:public branch into my PR branch, but the changes made in commit https://github.com/MicrosoftDocs/windows-itpro-docs/commit/06d13c5ce9dc2620542cccdc8fa31b77fe500d65 are plenty and diverse, making it counter-productive for me to add back a link text which has already been removed (see the index.md part of the commit: https://github.com/MicrosoftDocs/windows-itpro-docs/commit/06d13c5ce9dc2620542cccdc8fa31b77fe500d65#diff-47f9f9dcc7890300eee02b26b9c80471).
From what I can tell by the external changes, this PR no longer fits its original purpose, which was to resolve issue ticket #5065 by simplifying the categories of the page https://docs.microsoft.com/en-us/HOLOLENS/ (Microsoft HoloLens). I will therefore close this PR and recommend that we ask the ticket author to open a new ticket if the current content needs additional improvements. I would have to close this PR and make a new one anyway, so I prefer to start from a ticket where the suggestion or request for a change is based on the current content instead of the outdated version of the document.
I hope this is OK with you. Feel free to suggest a different approach, if you can discover any obvious improvements in need of implementation.


Desugar merge functions

Merge functions are currently broken when they affect the database because they are not desugared properly.
We plan to make merge functions desugar into rules I believe

I believe desugaring merge functions to rules is no longer the current plan. Closing for now but feel free to reopen with more details and rationale.


docs: developer installation

docs: Fixed #234  command instruction to install pycsep with pytest and sphinx dependencies
pyCSEP Pull Request Checklist
Please check out the contributing guidelines for some tips
on making pull requests to pyCSEP.
Fixes issue #(please fill in or delete if not needed).
Type of change:
Please delete options that are not relevant.

[x] Documentation update (this pull request adds no new code)

Checklist:

[x] New and existing unit tests pass locally with my changes

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

Comparison is base (1e2badb) 54.95% compared to head (942e45b) 54.95%.

:exclamation: Current head 942e45b differs from pull request most recent head f08f903. Consider uploading reports for the commit f08f903 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #246   +/-   ##
=======================================
  Coverage   54.95%   54.95%
=======================================
  Files          23       23
  Lines        3963     3963
  Branches      578      578
=======================================
  Hits         2178     2178
  Misses       1648     1648
  Partials      137      137

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


error download with verbose output

youtube-dl -x https://youtu.be/lVf9ueCyx48 --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-x', 'https://youtu.be/lVf9ueCyx48', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.09.28
[debug] Python version 3.7.5 (CPython) - Linux-5.3.0-40-generic-x86_64-with-Ubuntu-19.10-eoan
[debug] exe versions: ffmpeg 4.1.4-1build2, ffprobe 4.1.4-1build2, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] lVf9ueCyx48: Downloading webpage
[youtube] lVf9ueCyx48: Downloading video info webpage
[youtube] {18} signature length 110, html5 player vfle4a9aa
[youtube] lVf9ueCyx48: Downloading player https://www.youtube.com/yts/jsbin/player_ias-vfle4a9aa/en_US/base.js
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1380, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1293, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1356, in
return lambda s: initial_function([s])
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 258, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 92, in interpret_expression
m.group('expr'), local_vars, allow_recursion - 1)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 189, in interpret_expression
m.group('x'), local_vars, allow_recursion - 1)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '[522481285,'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Unsupported JS expression '[522481285,'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1380, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1293, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1356, in
return lambda s: initial_function([s])
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 258, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 92, in interpret_expression
m.group('expr'), local_vars, allow_recursion - 1)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 189, in interpret_expression
m.group('x'), local_vars, allow_recursion - 1)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '[522481285,'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1380, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1293, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1356, in
return lambda s: initial_function([s])
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 258, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 92, in interpret_expression
m.group('expr'), local_vars, allow_recursion - 1)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 189, in interpret_expression
m.group('x'), local_vars, allow_recursion - 1)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '[522481285,'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/youtube_dl/YoutubeDL.py", line 796, in extract_info
ie_result = ie.extract(url)
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/common.py", line 530, in extract
ie_result = self._real_extract(url)
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 2043, in _real_extract
encrypted_sig, video_id, player_url, age_gate)
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1390, in _decrypt_signature
'Signature extraction failed: ' + tb, cause=e)
youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1380, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1293, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1356, in
return lambda s: initial_function([s])
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 258, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 92, in interpret_expression
m.group('expr'), local_vars, allow_recursion - 1)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 189, in interpret_expression
m.group('x'), local_vars, allow_recursion - 1)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3/dist-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '[522481285,'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Unsupported JS expression '[522481285,'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

youtube-dl -x https://youtu.be/lVf9ueCyx48 --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-x', 'https://youtu.be/lVf9ueCyx48', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.03.08
[debug] Python version 3.7.4 (CPython) - Linux-5.3.0-40-generic-x86_64-with-debian-buster-sid
[debug] exe versions: ffmpeg 4.1.4-1build2, ffprobe 4.1.4-1build2, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] lVf9ueCyx48: Downloading webpage
[youtube] {18} signature length 110, html5 player vfle4a9aa
[youtube] {135} signature length 110, html5 player vfle4a9aa
[youtube] {244} signature length 106, html5 player vfle4a9aa
[youtube] {134} signature length 110, html5 player vfle4a9aa
[youtube] {243} signature length 110, html5 player vfle4a9aa
[youtube] {133} signature length 106, html5 player vfle4a9aa
[youtube] {242} signature length 106, html5 player vfle4a9aa
[youtube] {160} signature length 110, html5 player vfle4a9aa
[youtube] {278} signature length 110, html5 player vfle4a9aa
[youtube] {140} signature length 110, html5 player vfle4a9aa
[youtube] {249} signature length 110, html5 player vfle4a9aa
[youtube] {250} signature length 106, html5 player vfle4a9aa
[youtube] {251} signature length 110, html5 player vfle4a9aa
[debug] Invoking downloader on 'https://r3---sn-hpa7zned.googlevideo.com/videoplayback?expire=1583809970&ei=UrFmXr7XBZrsgAe3s57YBw&ip=<IP_ADDRESS>&id=o-ACATKpvg0J3yAAgYPa1Txdt0cYEPMck3ludnl3Giyg2A&itag=251&source=youtube&requiressl=yes&mm=31%2C29&mn=sn-hpa7zned%2Csn-hpa7kn7z&ms=au%2Crdu&mv=m&mvi=2&pl=22&initcwndbps=763750&vprv=1&mime=audio%2Fwebm&gir=yes&clen=2955745&dur=176.001&lmt=1540908683896870&mt=1583788269&fvip=3&keepalive=yes&fexp=23842630&c=WEB&txp=5411222&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=ABSNjpQwRAIgL2Jol_RMPznWrCl9-OJ4pJSDp12nnW0UtKbG99Si0GECIGVTCGTVviA0b2a3d_LXjEdhAukBP409eBSFf9LoTVZO&sig=ADKhkGMwRQIgTf_yZ4iac_UMMVaXRpM2ZqXlK4qPcTngQLd9KCH_lkECIQDaycC8heR6KNZUpGiBvqspe3pWZ6-qak4JDIvnGJsGkQ==&ratebypass=yes'
ERROR: unable to open for writing: [Errno 13] Permission denied: 'pollon sigla completa-lVf9ueCyx48.webm.part'
Traceback (most recent call last):
File "/usr/bin/youtube-dl/youtube_dl/downloader/http.py", line 250, in download
ctx.tmpfilename, ctx.open_mode)
File "/usr/bin/youtube-dl/youtube_dl/utils.py", line 2046, in sanitize_open
stream = open(encodeFilename(filename), open_mode)
PermissionError: [Errno 13] Permission denied: 'pollon sigla completa-lVf9ueCyx48.webm.part'

./youtube-dl -x https://youtu.be/lVf9ueCyx48
[youtube] lVf9ueCyx48: Downloading webpage
ERROR: unable to open for writing: [Errno 13] Permission denied: 'pollon sigla completa-lVf9ueCyx48.webm.part'


Solum does not connect when networkId is Optional.empty

Describe the bug
When passing Optional.empty() as the networkId to solum.connect, the connection always times out.
Expected behavior
Solum connects to the probe using the default network when Optional.empty() is passed as networkId.
It should behave the same way as solum.connect in version 10.1.1.
Environment:

SDK variant: solum-10.2.2-android.arm64-v8a.aar
Development platform: Linux, Android-Studio 2022.1.1
SDK version: 10.2.2
Clarius App version: 10.2.2

Hi the network id is mandatory when doing wifi auto-join, omit the network id only if manually connecting to the probe's wifi. Can you confirm:

you are joining the probe's wifi manually (from the device's wifi settings) and not doing auto-join
the probe's wifi is detected by your android device (I noticed some android devices have stopped detecting the probe's wifi since early February, still under investigation)
can you reproduce with the example app in this repo?

Hi Julien,
our logic connects to the wifi through an ad-hoc network, similar to the clarius app. With 10.1.1 I was using connectivityManager.bindProcessToNetwork(network) to ensure that solum was connecting through the ad-hoc wifi network. That worked well.
With 10.2.2 the connection attempt now times out when using the same setup and passing in Optional.empty() as networkId.
When I pass in the network id from the ad-hoc network it connects as expected.
I'll have a look at the example app and report back.

I tested with the example app, can connect with manual connection and no networkId.
I guess connectivityManager.bindProcessToNetwork(network)  stopped working for some reason?

The new version of solum does the binding for you now, pass Network.getNetworkHandle() as the network id in the connect() function.
In solum 10.1.1, the network id was hardcoded to 0 internally, in solum 10.2.2 we added a public parameter to specify that network id and if omitted, it defaults to 0 to maintain the previous behaviour. I am not sure why your workflow fails now. Is it acceptable to omit the call to bindProcessToNetwork() in your workflow?

Yes, I opted to pass the network handle now, that works. Very strange that bindProcessToNetwork stopped working.
Anyways, thanks for looking into it!


Add customizable ok and cancel texts

These texts are currently hardcoded. They should be customizable to allow localization of the component.

@panuhorsmalahti It's a good to have thing. Will be added.


Add new api: getDualSolution

Sorry for being late.
This PR is related to #21

@GiulioRomualdi
I reflected your suggestion.

Sorry, I rebased master into this branch by mistake.
Currently it's fixed. (rebased devel branch)

The Travis build faild.
I think that's because devel is not tracking master correctly.


Compilation issue for all 3 C Programs

Hello.
For some reason I can’t compile any of the 3 C programs in the src folder. I can run cmake, but as soon as I run make, there’s an error. It states:
fatal error: cannot read spec file ‘noses.specs’: No such file or directory.
The example vga program from the example program does work just fine, however. Also, I am compiling the programs on a pi zero 2nd generation.
Thanks.

This code is for the Raspberry Pi Pico, not the Pi Zero. It will not work on any other Pi than the Pico because it's a microcontroller and not a single-board computer.

Ok but before uploading the code to the pico I have to compile it, get the ulf file, and then upload the code to the pico. I can’t get to the ulf stage. I should’ve been more descriptive in my question. Sorry about that. Thanks.

I see what you're saying. I've only ever tested this on the Raspberry Pi 4, and only with a clean install. I'm unable to support other devices/platforms.
I've never heard of "noses.specs". nosys.specs, maybe?
My best possible guess is that newlib is missing for some reason. Here is a link with a similar issue: https://forums.raspberrypi.com/viewtopic.php?t=300186

You are right. It is indeed nosys.spec. It got autocorrected in my original post lol. I will take a look at the link. If I am successful maybe I can add a how-to for the raspberry pi zero. If not I will try to compile it on a raspberry pi 4 with a clean install. Thanks again.

If I am successful maybe I can add a how-to for the raspberry pi zero.

That would be awesome! Sorry I don't have time to add support for other systems myself. Good luck, and let me know how it goes. I always like to see other people's projects.


Adjustments to InboxItem meta section

Scope: The section in InboxItem with tags (might not be the best named, consider changing the name).

Visual adjustments (needs more spacing and adjustments to font-size)
Add field status (display dialog.status raw)
Add timestamp to modified date
Remove the word attachment from label for attachments
Add + {countOfOthers} for dialogs seen by others than current end user.

Do not add Avatars in bottom right for now. Needs detailing.
https://www.figma.com/design/Cu9dnsjT1tfnpNReaDrTwv/Dialog-TT02?node-id=2001-35775&t=0jy8hpvFqaO9ogAU-4

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."


feat(batch): enable batch lookup join by default

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
PLEASE DO NOT LEAVE THIS EMPTY !!!
Please explain IN DETAIL what the changes are in this PR and why they are needed:

In order to provide better serving capability for users, I recommend enabling BatchLookupJoin by default.

Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)
https://github.com/risingwavelabs/risingwave/issues/6589

Delay this PR, because I found a bug for distribution satisfaction.


Customizing the TS dialogs/grids

I'm starting to migrate my dialogs from Saltarelle to TypeScript. Works great for the simple ones, but I'd like to start tackling the slightly more complex ones, which in my case requires adding/removing toolbar buttons, adding columns and adding filters. Are those scenarios supported yet?
Thanks and fantastic work!

All is supported, as Saltaralle and TypeScript are using same infrastructure. One little issue is there is no intellisense for overriding methods in TypeScript, so you should manually look at base class signatures. I've already migrated user and role dialog, which has toolbuttons, have a look at latest template. Others should also be trivial, as long as you find the method name and parameters from base class. I'm also gonna port all code if possible to TypeScript.


kyo-tag: support type unions and intersections

We don't need to support tags for union and intersection types in most scenarios but the ZIO integration needs it in order to integrate environment values between the libraries. This PR introduces support for them but using wrapper APIs so tags still aren't materialized for unions and intersections. The implementation isn't optimized but that should be ok considering the limited use.

Can we create a unified type + macro? I think it should be possible to use an opaque type to unify the tags, then a macro which 'dispatches' based on if the type is union/intersection/neither. For performance sensitive code, we can specify only the string tags in the type signature.

The separation of Tag not being able to infer union and intersection types is an important property for Kyo's use cases but, yes, I think we could have a single unified implementation. We could even evolve into something more generic that allows us to express more constraints about the types that can be tagged.
To exemplify, if ZIO wanted to have a Tag that is not able to express instances of ZIO itself similarly to Kyo's flat check, we could have an API to specify a tag for that:
type Tag[+T] = Tag.Excluding[ZIO]

We'd need to figure out a good type-level API but it seems it could even have more complex rules.

Do you think it's possible to encode this in a string? Or not worth the effort?

It is, I didn't do that here because I felt it wasn't necessary and increases the complexity of the implementation. We should also refactor the code into multiple files/classes since it's getting too large in a single file.


Touch Bar Icon Scaling

VSCode Version: 1.17.0
OS Version: macOS 10.13 (17A405)

Steps to Reproduce:
After the release of 1.17, I tried adding Touch Bar icons to one of my extensions. Since I don't have a Touch Bar in my MacBook, I tested my changes using Xcode 9.0's built-in software Touch Bar and the third-party Touch Bar Simulator. From my existing SVG icons, I created PNG images.
24x24 pixels:

48x48 pixels:

As you can see (in fullscreen), both icons have the same problem: they're not scaled properly and parts of the images are cropped. I did some reseach in Apple's Human Interfaces Guidelines and also tried a couple of other things:

36x36
44x44
60x60
each of the above with @2x suffix in file-name
60x60 icons with the actual image being 36x36 or 44x44

None of that had any effect on the icons in the Touch Bar, they always looked like in one of the screenshots above. Documentation on the topic is scarce. Maybe this is a bug. I don't know for sure.
I'll gladly supply more info on this, if needed.

@idleberg the icons we are using are 100x100px (canvas) with a resolution of 144ppi. The icon itself is ~32x32px, so there is lots of transparent space around the icon to accommodate for the scaling issues.

One more remark: if I'm not mistaken, one can only use the same icons in editor/title and touchBar. Icons with padding (as you descibed) work fine in touchBar, but at the same time they are too small, thus unreadable. in the editor/title menu.

We currently require the commands icon to be of PNG file type. SVG is not supported.
Source

The word “currently” leaves hope that this will be overworked in the future. If that's the case, please consider a solution that works for both, the editor/title and touchBar menus.  As I see it, the best solution would be to work with SVG icons and solve the padding in the Touch Bar programatically. Alternatively, let the user provide separate icons for the menus.


add netv2 PCIe video example

Fixes #45

Failure in tests is related to yosys version.
We have to wait for yosys update in conda packages -> SymbiFlow/yosys/pull/74

@wtatarski - We should resurrect this pull request and get it merged.

At this moment I'm able to build this project only with Vivado. netv2-pcie project uses this xci file: https://github.com/enjoy-digital/litepcie/blob/master/litepcie/phy/xilinx_s7_gen2_x1/pcie_s7.xci
In Vivado it can be imported with read_ip command. However in yosys I don't see support for xci files.
The only way we can make it work with yosys is copying files related to pcie_s7_x1 directly from Vivado to project, but I doubt that this is something what we really want.


Use env vars

This is for testing. Close for now.
Per offline discussion, wait for @edamamez 's change to remove docker container, and we can make https://github.com/lamini-ai/lamini-examples/pull/132 work instead.


Don't merge Cargo.tomls when looking for project root

The find_package function attempts to discover the project root by
walking up the directory hierarchy and looking for a Cargo.toml file
without the cargo-fuzz metadata key set. The function was accidentally
merging all the Cargo.tomls together, however, by not clearing out the
buffer it was reading each Cargo.toml into, resulting in extremely
confusing behavior.

bors r+


[All Popover Elements]: Investigate if the new Popover and Anchor API can replace Popper.js

Summary
This ticket is to investigate if it is possible to use the up and coming native Popover and Anchor API over Popper.js.
💬 Description
PopperJS is a third party package which is used to create popover functionality in components such as IcMenu, IcPopoverMenu and IcTooltip. The issue with PopperJS is that it is hard to diagnose any issues due to the support for native HTML elements. For example, if the popover is cut of from the viewport, it is difficult to find a solution without looking into the business logic of the component.
The placement of the popover in relation to the viewport is still an issue.
💰 Use value
This will allow us to move away from a third party tool and use the browser API which will be applied across all major browsers. In addition to this, removing a third party package will reduce package size.
Additional info
Examples:
https://css-irl.info/anchor-positioning-and-the-popover-api/
https://css-tricks.com/almanac/properties/p/position-try-fallbacks/
caniuse anchor: https://caniuse.com/?search=anchor
caniuse popover: https://caniuse.com/?search=popover

Potentially related to #1221


Spectral Type Ingest for 2020 Best Sample

This has been updated to fix the reference matching and includes new tests. Best to do after closing PR #270 as it includes the changes from there.


auth-enabled = true is failing

When I set an admin user and leave auth-enabled to false, everything gets created and life is good.
When I set auth-enabled to true, the admin user isn't able to be created or to be used. It looks like it's trying to use root:root to complete the job and is failing. I can log in with the admin user and password (that was created by the cookbook without auth) but the influxdb_admin section is completely useless once I enable http authentication.
    Error executing action create on resource influxdb_admin[dbxadmin]
    ================================================================================

    InfluxDB::AuthenticationError
    -----------------------------
    {"error":"authorization failed"}

    Cookbook Trace:
    ---------------
    /var/chef/cache/cookbooks/influxdb/resources/admin.rb:24:in block in class_from_file

    Resource Declaration:
    ---------------------
    # In /var/chef/cache/cookbooks/telegraf_dbxcorp/recipes/influxdb_server.rb

     74: influxdb_admin node['telegraf_dbxcorp']['adminname'] do
     75:   password node['wallet_password']['admin_password']
     76:   api_hostname node['fqdn']
     77:   use_ssl true
     78:   verify_ssl false
     79:   action :create
     80: end
     81:

    Compiled Resource:
    ------------------
    # Declared in /var/chef/cache/cookbooks/telegraf_dbxcorp/recipes/influxdb_server.rb:74:in from_file

    influxdb_admin("dbxadmin") do
      action [:create]
      default_guard_interpreter :default
      declared_type :influxdb_admin
      cookbook_name "telegraf_dbxcorp"
      recipe_name "influxdb_server"
      password "<snip>"
      api_hostname "metricsdb-02.corp.dbx.internal"
      use_ssl true
      verify_ssl false
      client #<InfluxDB::Client:0x00000000055fb630 @config=#<InfluxDB::Config:0x00000000055fb5b8 @port=8086, @prefix="", @username="root", @password="root", @open_timeout=5, @read_timeout=300, @auth_method="params", @use_ssl=true, @verify_ssl=false, @ssl_ca_cert=false, @database=nil, @time_precision="s", @epoch=false, @async=false, @udp=false, @discard_write_errors=false, @retry=10, @max_delay=30, @initial_delay=1, @chunk_size=nil, @denormalize=true, @hosts_queue=#<Thread::Queue:0x00000000055fae60>>, @stopped=false, @writer=#<InfluxDB::Client:0x00000000055fb630 ...>>
    end

    System Info:
    ------------
    chef_version=14.1.12
    platform=ubuntu
    platform_version=18.04
    ruby=ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
    program_name=/usr/bin/chef-client
    executable=/opt/chef/bin/chef-client

Here's the entire cookbook for reference
chef_gem 'toml'
chef_gem 'influxdb'

influxdb_install 'influxdb' do
  arch_type 'amd64'
  include_repository true
  influxdb_key 'https://repos.influxdata.com/influxdb.key'
  action :install
  notifies :run, 'execute[systemd-reload]', :immediately
  notifies :restart, 'service[influxdb]', :immediately
end

execute 'systemd-reload' do
  command '/bin/systemctl daemon-reload'
  action :nothing
  only_if { node['platform_version'].to_f >= 18.04 }
end

service 'influxdb' do
  action :start
  supports status: truehttps://github.com/bdangit/chef-influxdb/issues/177
end

wallet_dbxcorp_utility_object 'dbx_password' do
  source 'password/corpsre-influxdb-dbx'
  type 'password'
  attribute 'dbx_password'
  action :nothing
end.run_action(:create)

wallet_dbxcorp_utility_object 'admin_password' do
  source 'password/corpsre-influxdb-admin'
  type 'password'
  attribute 'admin_password'
  action :nothing
end.run_action(:create)

wallet_dbxcorp_utility_object "/etc/ssl/certs/#{node['fqdn']}.pem" do
  sougithubrce "ssl-cert/#{node['fqdn']}"
  type 'file'
  mode '0644'
  only_if { node['test_kitchen'].nil? }
end

wallet_dbxcorp_utility_object "/srv/certs/private/#{node['fqdn']}.key" do
  source "ssl-key/#{node['fqdn']}"
  type 'file'
  mode '0644'
  only_if { node['test_kitchen'].nil? }
end

# Set some of the attributes so we can create the config file
node.default['influxdb']['config']['reporting-disabled'] = true
node.default['influxdb']['config']['admin']['https-certificate'] = \
  "/etc/ssl/certs/#{node['fqdn']}.pem"
#node.default['influxdb']['config']['admin']['enabled'] = false
node.default['influxdb']['config']['admin']['https-enabled'] = true
# I could not get the auth-enabled option to work with chef.
# If it's a problem later we can circle back and try again.
node.default['influxdb']['config']['http']['auth-enabled'] = true
node.default['influxdb']['config']['http']['https-enabled'] = true
node.default['influxdb']['config']['http']['https-certificate'] = \
  "/etc/ssl/certs/#{node['fqdn']}.pem"
node.default['influxdb']['config']['http']['https-private-key'] = \
  "/srv/certs/private/#{node['fqdn']}.key"

influxdb_config node['influxdb']['config_file_path'] do
  config node['influxdb']['config']
  notifies :restart, 'service[influxdb]', :immediately
end

influxdb_admin node['telegraf_dbxcorp']['adminname'] do
  password node['wallet_password']['admin_password']
  api_hostname node['fqdn']
  use_ssl true
  verify_ssl false
  action :create
end

influxdb_user node['telegraf_dbxcorp']['username'] do
  password node['wallet_password']['dbx_password']
  databases [node['telegraf_dbxcorp']['dbname']]
  api_hostname node['fqdn']
  use_ssl true
  verify_ssl false
  action :create
endgithub

influxdb_database node['telegraf_dbxcorp']['dbname'] do
  action :create
  api_hostname node['fqdn']
  use_ssl true
  verify_ssl false
  action :create
end

influxdb_retention_policy "dbx_metrics default retention policy" do
  policy_name 'default'
  database node['telegraf_dbxcorp']['dbname']
  duration '1w'
  replication 1
  api_hostname node['fqdn']
  use_ssl true
  verify_ssl false
  action :create
end

Hi @wschultz,
Sorry to hear you are experiencing an issue. Looking at what we do to create an admin user, we do use root:root. Ref:
https://github.com/bdangit/chef-influxdb/blob/master/resources/admin.rb#L7-L8
If your root admin account is different you could try to also pass in those credentials as well.  Something like this:
influxdb_admin node['telegraf_dbxcorp']['adminname'] do
  password node['wallet_password']['admin_password']
  api_hostname node['fqdn']
  use_ssl true
  verify_ssl false
  action :create
  auth_username ‘rootuser’
  auth_password ‘rootpassward’
end

Okay I saw that, I'm a little unclear on this. There doesn't seem to be a root user, so it would seem that ideally auth_username and auth_password would be the influxdb_admin credentials, but then they would never be able to create themselves.
This seems like an influx issue then. Thanks for the cookbook, saved me some time. :-)
I'm not sure why the root user isn't present, do you know if it's intended for that user to be manually created? Or I wonder if the current version of Influx removed the root user?
I'll let you know if I come up with anything useful.

Took the cheap and easy route and created the "root" user in between influx being installed and before the admin stanza.
`influxdb_install 'influxdb' do
arch_type 'amd64'
include_repository true
influxdb_key 'https://repos.influxdata.com/influxdb.key'
action :install
notifies :run, 'execute[systemd-reload]', :immediately
notifies :restart, 'service[influxdb]', :immediately
notifies :run, 'execute[create_admin_user]', :immediately
end
i_username = node['telegraf_dbxcorp']['chefadmin']
i_password = node['wallet_password']['admin_password']
i_command = "CREATE USER #{i_username} WITH PASSWORD '#{i_password}' WITH ALL PRIVILEGES"
execute 'create_admin_user' do
command "sleep 5 && influx -execute "#{i_command}""
action :nothing
sensitive true
end
execute 'systemd-reload' do
command '/bin/systemctl daemon-reload'
action :nothing
only_if { node['platform_version'].to_f >= 18.04 }
end
service 'influxdb' do
action :start
supports status: true
end
influxdb_config node['influxdb']['config_file_path'] do
config node['influxdb']['config']
notifies :restart, 'service[influxdb]', :immediate
end
influxdb_admin node['telegraf_dbxcorp']['adminname'] do
password node['wallet_password']['admin_password']
api_hostname node['fqdn']
auth_username node['telegraf_dbxcorp']['chefadmin']
auth_password node['wallet_password']['admin_password']
use_ssl true
verify_ssl false
action :create
end
`

Doh. I think for some time that was the default. Looking at some docs, they changed security to be more on the restricted side (for the better).
Glad you were able to work around it. Seems like we should build that in to this cookbook.


Make 'decorator' optional and allow null consistenly in EditorState

This fixes a minor flow error coming up in a FB use case, and makes the
overall typing more consistent in this file.

Merging this to keep moving and unblock releasing 0.10.0.


Superscript for Z500 units

Love what you guys are doing!  Here's a tiny tweak to the README formatting :)

Thanks a lot!


Slooooooow sync (

I waste one week and i got 3.7m blockchain height.
Now when i check speed - it is near 20-30 seconds for 1 chain.
I nee more than 100 000 for fully sync.
P.S. i Have 2 core + 4Gb mem, but in top i see - all resources are free..
Why it is too slow?
P.S. in explorer still nothing!
root@byteball:/mnt# ./getinfo.sh
{
  "jsonrpc": "2.0",
  "result": {
    "last_mci": 3723438,
    "last_stable_mci": 3723421,
    "count_unhandled": 0
  },
  "id": 1
}

Currently https://explorer.byteball.org/ shows:
Main chain index: 3727516
Latest included mc index: 3727515
I am not sure that you are 100 000 behind. Maybe the resources are free because you have caught up already. Is the database around 30GB in size?
Join Slack for more support (#helpdesk and #tech channels) https://slack.byteball.org/

H'm yes. you right.
I'm mistake because always saw to highest value - "level: 3840701" )))
Thanks.


Crash on user cancelling Google Pay native screen

If the user cancels the google pay method the app crashes with the following error:

Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method > kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter data
at ca.zyra.capacitor.stripe.Stripe.handleOnActivityResult(Unknown Source:2)

Please see my commit for a simple fix:
https://github.com/bolekro/capacitor-stripe/commit/42e229f96d7364f5629f95eb45207b0f4f3e7b8e

@ihadeed is this fix available latest release? I still have this issue.
When the user cancelled google pay app is crashing.

Yes it's available in latest release (1.0.0-beta.0)
I haven't tried canceling the transaction though. If the issue persists I'll fix it ASAP.

@ihadeed thanks, I will check it out and let you know.


Console Error or Warnings

I am running the Forge 2092 and sponge for the same version. I have this console output. Any Ideas?
Sponge Unable to find InventoryPacketState handler for click window packet: CPacketClickWindow{windowId=4, slotId=-999, usedButton=4, actionNumber=12, clickedItem=null, mode=QUICK_CRAFT}
01.10 23:03:47 [Server] Sponge Unable to find InventoryPacketState handler for click window packet: CPacketClickWindow{windowId=4, slotId=-999, usedButton=4, actionNumber=7, clickedItem=null, mode=QUICK_CRAFT}
01.10 23:03:45 [Server] Sponge Unable to find InventoryPacketState handler for click window packet: CPacketClickWindow{windowId=4, slotId=-999, usedButton=4, actionNumber=2, clickedItem=null, mode=QUICK_CRAFT}

Duplicate of https://github.com/SpongePowered/SpongeForge/issues/925. You can safely ignore these for now.


Expand definition of Network layer into Transport layer

We currently have the concept of a Network layer that handles the communication between helpers. It interacts directly with the Infra layer to move data for running protocols.
the Network trait currently looks like this:
/// Network interface for components that require communication.
pub trait Network: Sync {
    /// Type of the channel that is used to send/receive messages to/from other helpers
    type Sink: futures::Sink<MessageChunks, Error = Error> + Send + Unpin + 'static;
    type MessageStream: Stream<Item = MessageChunks> + Send + Unpin + 'static;

    /// Returns a sink that accepts data to be sent to other helper parties.
    fn sink(&self) -> Self::Sink;

    /// Returns a stream to receive messages that have arrived from other helpers. Note that
    /// some implementations may panic if this method is called more than once.
    fn recv_stream(&self) -> Self::MessageStream;
}

there's a way to "send" data to another helper via the sink(), and "receive" data from the other helpers via the recv_stream. This works for an actively running query, but we don't have a way for helpers to communicate to each other about starting queries.
Here's how that workflow would look, in short:

Report Collector wants to start a new query on data that it has
Report Collector calls an externally available "Create Query" API to one of the helpers
That helper becomes the de facto "leader" of the request, generates a query id, and sends a "Prepare Query" message to the "follower" helpers; then, it tells the Report Collector what the new query id is
Report Collector sends all its data to the leader using a "Send Data" API
Leader disseminates that data to the 2 followers, then they all coordinate starting the protocol at the same time

So there is a mix of externally available APIs to initiate queries, as well as helper-to-helper communication that needs to happen before a query is even started. All of this communication should be abstracted such that it could be implemented for HTTP, InMemory, maybe protobuf, or anything else. For that, I want to propose a new trait, Transport:
pub trait Transport: Sync {
    type CommandStream: Stream<Item = TransportCommand> + Send + Unpin + 'static;
    type Sink: futures::Sink<TransportCommand, Error = TransportError> + Send + Unpin + 'static;

    /// To be called by an entity which will handle the events as indicated by the
    /// [`SubscriptionType`]. There should be only 1 subscriber per type.
    /// # Panics
    /// May panic if attempt to subscribe to the same [`SubscriptionType`] twice
    fn subscribe(&self, subscription_type: SubscriptionType) -> Self::CommandStream;

    /// To be called when an entity wants to send commands to the `Transport`.
    async fn send(&self, command: TransportCommand) -> Result<(), TransportError>;
}

The primary difference from the old Network trait is the idea of a TransportCommand. instead of just MessageChunks, you can send a command, which is defined as an enum of all possible actions a Transport might want to make. That would include commands like CreateQuery, PrepareQuery, SendData, StartProtocol, etc.
It would also include NetworkEvent, which contains MessageChunks, and would be the command used to cover the functionality the old Network provided, which I talk more about below.
The Transport trait simply exposes a subscribe function that allows you to receive a Stream of incoming commands, and a send, which allows you to send commands.
The last piece to discuss is the SubscriptionType (as part of the subscribe method), and to talk about how the Transport interacts with the infra layer. Under the existing implementation, the infra used the Network to grab a Sink and Stream to send/receive data with. In order to minimize the impact/number of changes on infra, I'm also proposing a new Network struct that would take its place. It would still deal in MessageChunks exclusively, and would look as follows:
/// Given any implementation of [`Transport`], a `Network` is able to send and receive
/// [`MessageChunks`] for a specific query id. The [`Transport`] will receive `NetworkEvents`
/// containing the `MessageChunks`
pub struct Network<T> {
    transport: T,
    query_id: QueryId,
}

with functions:
impl<T: Transport> Network<T> {
    /// sends a [`NetworkEvent`] containing [`MessageChunks`] on the underlying [`Transport`]
    pub async fn send(&self, message_chunks: MessageChunks) -> Result<(), Error>;

    /// returns a [`Stream`] of [`MessageChunks`]s from the underlying [`Transport`]
    /// # Panics
    /// if called more than once during the execution of a query.
    pub fn recv_stream(&self) -> impl Stream<Item = MessageChunks>;

So the major differences are

This is a struct, not a trait
Instead of a Sink, infra would use the send function

Hopefully, this would act as an almost-drop-in replacement of existing Network for infra.
Finally, returning to SubscriptionType, this has 2 options:
/// Users of a [`Transport`] must subscribe to a specific type of command, and so must pass this
/// type as argument to the `subscribe` function
pub enum SubscriptionType {
    /// Commands for managing queries
    Administration,
    /// Commands intended for a running query
    Query(QueryId),
}

So the administration piece (we are working on this in parallel) would subscribe to Administration commands, and the Network struct would use the Query subscription type to only subscribe to commands for a particular running query.
Feedback/ideas/improvements would be appreciated

A very rough sketch on interaction between layers that may provide some context why we need an additional layer from the network side.

In Alex's picture, you have the transport operating at the level of IP addresses (or domain names, I suppose).   Is that right?  Can you have that layer understand another sort of identity instead?  Perhaps a configured name for each of the hosts that are involved.  Though role is assigned, you might need to bundle a bunch of things against hosts in config: address, keys, etc...

We can close this issue now


Project contributing guidelines thoughts

I listened to a very good podcast today with Rod Vagg from NodeSource/NodeJS fame. It was the Request for Commits podcast and Rod was discussing the Liberal Contribution governance model in place in a project he started called LevelUp (a node wrapper for LevelDB). Here is their contributing.md
I think this would be a great model for how this fork is run. It basically relies on trust and that "ownership" of a project should be for anyone that provides a "significant contribution" to it. Exactly the opposite of a BDFL or corporate-controlled model.
Also check out Mikael Rogers (also of NodeJS fame) talking about growing your contributor base (where he also references Rod Vagg's LevelUp project) here: https://opensource.com/life/16/5/growing-contributor-base-modern-open-source
And finally, I think removal of the Brackets Contributor License Agreement is a must.

Can't say I disagree with anything in the doc, haven't heard the podcast yet, maybe I will give it a go. So far this fork is run only as an alternative shell to Brackets - adding major features not present there is highly unlikely at this point in time.
Anybody is welcome to contribute to anything they might think would be useful, taking in mind that this forks aims to preserve compatibility with Brackets master repository and its extensions, so no breaking changes are acceptable for the time being.
Above might change in the future if there's interest and demand for it.
Brackets CLA is ignored by this fork, nobody cares.


transfer learning broken using weights from google drive

train.py with --weights=./yolov4.weights cause an assert error under utils.load_weights If   assert len(wf.read()) == 0, 'failed to read all data' is commented the training start with nan
=> STEP   63   lr: 0.000027   giou_loss:  nan   conf_loss:  nan   prob_loss:  nan   total_loss:  nan
=> STEP   64   lr: 0.000028   giou_loss:  nan   conf_loss:  nan   prob_loss:  nan   total_loss:  nan

Same problem, when trying to transfer learning with custom classes (the number of classes should be 80).

I solved the problem by using pickle, but definitely this is not the correct way :)
weights_to_pickle.py:
from core.yolov4 import YOLOv4, decode
import tensorflow as tf
import core.utils as utils
import pickle

input_layer = tf.keras.layers.Input([608, 608, 3])
feature_maps = YOLOv4(input_layer, NUM_CLASS=80)
model = tf.keras.Model(input_layer, feature_maps)
utils.load_weights(model, "./data/yolov4.weights")
weights = []
for layer in model.layers:
    weights.append(layer.get_weights())
pickle.dump(weights, open("./data/yolov4.pkl", 'wb'))

and adding this to train.py file after line 78:
elif FLAGS.weights.split(".")[len(FLAGS.weights.split(".")) - 1] == "pkl":
    weights = pickle.load(open(FLAGS.weights, 'rb'))
    num_loaded_layers = 0
    for i, w in enumerate(weights):
        try:
            model.layers[i].set_weights(w)
        except:
            num_loaded_layers = i
            break
    print("=========", num_loaded_layers ,"layers loaded successfully ==========")

In config.py, did you change __C.YOLO.CLASSES == your .names file ?

@hunglc007 : Yes, I confirm.

Your .weights file is trained by darknet with your custom data ?
Did you use yolov4.cfg or your custom .cfg file ?

@hunglc007 :  "Your .weights file is trained by darknet with your custom data ?" No, the weights file i used (and @bgamini ) is the one attached on the readme.md of this repository.
Consequently, as your 2nd question "Did you use yolov4.cfg or your custom .cfg file ?" No,  this does not apply.

@MI-LA01 do you pull the lastest code ? i just 've ran main.py with --weights=./yolov4.weights and there is no problem.

@jzoker : Yes, I confirmed to pulled from master yesterday, and downloaded the weights mean time.

In config.py, did you change __C.YOLO.CLASSES == your .names file ?

When we modify the coco.names, in _ C.YOLO.classes =\ ". / data/classes/coco.names" in the config.py file, change it to mywork.names. If we use yolov4.weights again, we will make mistakes, whether in detect.py or train.py. Because the number of objects in coco.names is not the same as that in mywork.names.

I solved the problem by using pickle, but definitely this is not the correct way :)
weights_to_pickle.py:
from core.yolov4 import YOLOv4, decode
import tensorflow as tf
import core.utils as utils
import pickle

input_layer = tf.keras.layers.Input([608, 608, 3])
feature_maps = YOLOv4(input_layer, NUM_CLASS=80)
model = tf.keras.Model(input_layer, feature_maps)
utils.load_weights(model, "./data/yolov4.weights")
weights = []
for layer in model.layers:
    weights.append(layer.get_weights())
pickle.dump(weights, open("./data/yolov4.pkl", 'wb'))

and adding this to train.py file after line 78:
elif FLAGS.weights.split(".")[len(FLAGS.weights.split(".")) - 1] == "pkl":
    weights = pickle.load(open(FLAGS.weights, 'rb'))
    num_loaded_layers = 0
    for i, w in enumerate(weights):
        try:
            model.layers[i].set_weights(w)
        except:
            num_loaded_layers = i
            break
    print("=========", num_loaded_layers ,"layers loaded successfully ==========")

Note: you can use model.layers[i].trainable = False

Thank you for 'pickle' method. Now I can use the VOC dataset for training. Although I don't know if it's normal to train in this way.
Note: youcanusemodel.layers [I] .trainable = False
Does this code mean that the pre-training weight doesn't work?
Model. Layers [I]. Set _ weights (w)
When I use this line of code does it mean that I use pre-training weights?
It is hoped that this code base can be further improved. It is also easy to train when we use a dataset with a class number other than 80.
Thank you to the author and everyone!

@hunglc007  Please fix this problem, I want to train my custom data with transfer learning, thank you very much

I updated mish activation to fix nan loss issue.


thinks a entity is not there...but it is, could it be a ghost entity??

Hi, awesome integration.
Not sure, but the helper thinks I'm missing an entity:

This sensor is created by Stephen Beechen "Home Assistant Google Drive Backup"
anyways, the entity is alive and well

and wanted to bring this to your attention.
Cheers

This sensor is created by Stephen Beechen "Home Assistant Google Drive Backup"

Which integration would that be?

its an addon
Home Assistant Google Drive Backup
https://github.com/sabeechen/hassio-google-drive-backup
but it might be a transient thing because now the warning message is gone and I don't remember pressing ignore....but shows up on restart

That is not an issue I can and will solve here. In this case, the add-on is abusing the API, which is not correct and should be reported and fixed by the addon.
References:

This is where inside the entity the update of an entity is triggered from:

https://github.com/sabeechen/hassio-google-drive-backup/blob/3b5936e59769000823118edc2d4ebcc8f9e90200/hassio-google-drive-backup/backup/ha/harequests.py#L328-L329

Which calls:

https://github.com/sabeechen/hassio-google-drive-backup/blob/3b5936e59769000823118edc2d4ebcc8f9e90200/hassio-google-drive-backup/backup/ha/harequests.py#L265-L268
Which is basically doing a direct post request to inject a state into Home Assistant. It injects/creates it, which is not the way it should be done.
There are fundamental issues with this, and not how this is supposed to work. Some less technical background on this:
https://www.home-assistant.io/blog/2021/05/12/integrations-api/
This can be correctly solved by the author in multiple ways:

Add a proper integration to Home Assistant that actually communicates with the add-on (and/or the add-on with the integration).
The add-on could use an existing protocol (like MQTT, which supports discovery).
Expose an API that a user can query using, e.g., the rest integration.

All of which, the first solution is generally considered the one with the best experience.
The current implementation in the add-on makes the entity (and its existence) unpredictable,  fully unaware, and unregistered. This is not just an issue for this integration, but for every dashboard, action/condition/trigger, and the internal registries (as now the entity ID isn't guaranteed and the add-on could be causing collisions and updating something completely different).
I would strongly recommend reporting this issue upstream.
../Frenck

ok, I will post on the Home Assistant Google Drive Backup page.
Thanks for this information

Cool, let's see if that improves, would be nice 👍
That API capability/endpoint he is using is soo darn old and shouldn't be used for this. Will check @ Core team as well, if it might be time to mark it officially deprecated and let it throw warnings or something.
It really isn't a good idea to use it for this.
../Frenck

For any users of the Home Assistant Google Drive Backup addon that wish to avoid this issue, I have posted a workaround here.
A companion integration would be best, its on my radar for the future, but I haven't had the time to support another codebase and implement an upgrade path for my users.  The degraded sensor experience certainly isn't ideal, but it was a quick way to get the ball rolling 3 years ago.
@frenck I appreciate your looking into the details of my usage but I take some issue with calling this abuse.  Being an authority on Home Assistant your opinion carries weight with the community and is somewhat damaging to my reputation.  Maybe you can help me understand why you say that, it looks to me like I'm using the /api/states/<entity_id> endpoint exactly for its publicly documented purpose:
Updates or creates a state. You can create any state that you want, it does not have to be backed by an entity in Home Assistant.

It appears to me that this was an appropriate way to do things in the past, internally things have changed, and it may no longer be supported in the future, but abuse?  Same team, man.

For any users of the Home Assistant Google Drive Backup addon that wish to avoid this issue, I have posted a workaround https://github.com/sabeechen/hassio-google-drive-backup/issues/805#issuecomment-1450982162.

👍 Awesome!

I appreciate your looking into the details

No problem at all.

The degraded sensor experience certainly isn't ideal, but it was a quick way to get the ball rolling 3 years ago.

It appears to me that this was an appropriate way to do things in the past

Sorry to say, three years ago that wasn't a correct solution either.

but I take some issue with calling this abuse.

Sorry to hear that. Your response seems to take this personally, which is sad to hear. It is about code and its functionality, and just like in any code review, you should never take that personally.
If "abuse" as a term itself bothers you, feel free to replace it with "inappropriate", "incorrect", "misuse", "wrong", "incorrect", "not entirely as it should", or something similar you like better, if that makes you feel better; however, the conclusion and results remain the same.

Same team, man.

Yup, hence I dive in. I've enjoyed the use of your add-on in the past 👍 (but de-Googliefied a bit myself).
I do not mean to offend you. Nothing but good intentions.
../Frenck

Lets avoid making assumptions about whats going on in eachother's heads.
I think we are 100% in agreement that the best thing to do here is make a companion integration that creates proper entities in Home Assistant, apologies if what I said made you think I think otherwise.  Its a deficiency that should be resolved.
What I'm most concerned with is that someone else reading this without detailed knowledge about how Home Assistant works would interpret what you wrote:

In this case, the add-on is abusing the API

as meaning that the add-on is doing something nefarious.  In this case the specific language you're using is relevant, because abuse implies there is malicious intent.  It isn't an accurate synonym for incorrect/misuse/etc.  Abuse is what bad actors do to exploit a system.  Our users read threads like these to make informed decisions about what they should or shouldn't use.  If you are currently using abuse as a synonym for misuse/incorrect/etc, I ask that you consider what you classify as abuse in the future.

Lets avoid making assumptions about whats going on in eachother's heads.

Lol are you ok?
Whatever.


SLOT_RE not working anymore!

SLOT_RE need update, it return None all match !!

I'm unable to reproduce this behavior. If you are still having a problem with it, please open a new issue with some additional information:

version of Postgres
version of Elasticsearch
your products schema, materialized view SQL, and Elasticsearch mapping
what you're seeing vs what you're expecting


Timeout not cancelled

$timeout(function (){
	if(ctrl){
		ctrl.$setValidity('recaptcha',false);
	}
	scope.response = "";
	// Notify about the response availability
	scope.onExpire({widgetId: scope.widgetId});
}, 2 * 60 * 1000);

The above timeout is not cancelled on $destroy.

Awesome library btw!

Fixed by #58


Remove named type M

Named type for map[string]interface{} was introduced to reduce the
amount of text required to create new objects. But it introduced more
code, logic and complexity instead.

self review! 👍


Support for Microsoft.ServiceFabric.* 4.1.409

Hi,
I'm working with the Microsoft.ServiceFabric.* packages version 4.1.409 using ASP.NET Core 3.1 and the latest version of your library (2.3.1) is not compatible due to some internal dependencies on Microsoft.ServiceFabric.* packages version 3.3 (I think Microsoft.ServiceFabric.Services.Remoting).
In order to make that work I forced to use the following versions in my project file (as suggested by Visual Studio):

Microsoft.ServiceFabric.Diagnostics.Internal: 4.1.409
Microsoft.ServiceFabric.Services: 4.1.409

Now I'm able to build but I'm still receiving warnings because of the versions mismatch.
Can you update your internal dependencies to support the latest Microsoft.ServiceFabric.* nuget packages?

@daliran This is the common issue we received, e.g., https://github.com/microsoft/ApplicationInsights-ServiceFabric/issues/108
But we don't want to keep us tied to the ServiceFabric nuget releases as explained in other threads.


removed --rm flag from the record and test-mode in the samples-go

Solves #987

LGTM 🚀

Could you please add hacktoberfest-accepted tag. 😊


libsrc native function details are not matching with supported function details

For Ex. ballerina support function  " http:convertToResponse(m)", But that function havent mention on the file https://github.com/gvasanka/ballerina/blob/e7d20d565d6094489a15704770d66c9a187d6f2e/libsrc/ballerina/net/http/utils.bal
Though some functions mention on the libsrc native function details file, Those functions haven't actually implemented yet.
Ex:message:setStatusCode(m,200);

From v0.8.0, libsrc directory is removed from the distribution, and is auto-generated from the existing native constructs. Hence this issue no longer exists.


Variation Service: add the meanings of the fields in all.var.html (and all.var.tsv) in the user guide

User requested to have the column header description included in the user guide.

Fixed.


Can't locate object method "start_range"

We run mojo 7.05 and assetpack 1.17 in production
and I've seen two errors like this when looking at the log:
Can't locate object method "start_range" via package "Mojolicious::Plugin::AssetPack::Asset" at
/usr/lib/perl5/vendor_perl/5.18.2/Mojolicious/Static.pm
I can't reproduce this, but filing this for completeness

I think I can with something like this:
https://github.com/kraih/mojo/blob/master/t/mojolicious/static_lite_app.t#L80

Sorry for the late fix! This will soon be available on CPAN.


Add PuppetDB plugin

/puppet/<node>/reports/<report id>, time mtime should be valid so we can ls -ltr. Maybe uuid isn't an important name, use timestamp? Can interrogate uuid from metadata.
/puppet/<node>/facts
/puppet/<node>/catalog

This would likely start with https://puppet.com/docs/puppetdb/5.1/api/query/v4/nodes.html.

Related: https://github.com/timidri/puppetwash

We'll work on enhancements to https://github.com/puppetlabs/puppetwash, and link to it from the Wash website.


align ignores copy

Is your feature request related to a problem?
cc @benbovy
xref #7730
import numpy as np
import xarray as xr

arr = np.random.randn(10, 10, 365*30)
time = xr.date_range("2000", periods=30*365, calendar="noleap")
da = xr.DataArray(arr, dims=("y", "x", "time"), coords={"time": time})
year = da["time.year"]

xr.align(da, year, join="outer", copy=False)

This should result in no copies, but does

Describe the solution you'd like
I think we need to check aligner.copy and/or aligner.reindex (maybe?) before copying here
https://github.com/pydata/xarray/blob/f8127fc9ad24fe8b41cce9f891ab2c98eb2c679a/xarray/core/dataset.py#L2805-L2818
Describe alternatives you've considered
No response
Additional context
No response

@dcherian is it solved by #7736?

I think I fixed it only for exact joins


Check box and select all not working in admin

I am not able to see a check box above the list of items in my admin panel.  For example I have a model called People.  When using the default Django install I am able to see a check box that allows me to select all items on that page. With the Django admin black enabled I can see that check box.  See images below.
Django Black Admin

Default Django

Note the little check box next to the ID in the second image.

Hello @scrimpys
The problem is fixed in version v1.0.8
Please check.

ok - thanks but it doesn't select all the boxes when checked.  That's what the box is for.  I noticed another issue just opened about fixing select all which I think will fix this... hope it does.

@mominur-helios please check the point raised by @scrimpys
Ty both!

Hello @scrimpys ,
It should work. Did you pull the latest version?
https://github.com/app-generator/django-admin-black/assets/101915710/fc2f0110-4720-4f9a-9e36-1c2ecd094a9a

Tested it again.... not working.  I cleared my cache and tried that as well.  I am seeing this in the browser console - perhaps this can help although I suspect its just something to do with the demo charts.
jQuery.Deferred exception: null is not an object (evaluating 'document.getElementById("chartLinePurple").getContext')
"initDashboardPageCharts@http://<IP_ADDRESS>:8000/static/assets/demo/demo.js:352:57
@http://<IP_ADDRESS>:8000/admin/precision/person/:905:37
j@http://<IP_ADDRESS>:8000/static/assets/js/core/jquery.min.js:2:30004
@http://<IP_ADDRESS>:8000/static/assets/js/core/jquery.min.js:2:30314"
undefined

Hello @scrimpys
The patch shipped by @mominur-helios works.
The problem is the local assets & templates that need also updated because Django uses the local filesystem with PRIO over the VENV.
Please test using the latest version of Django Black Dashboard:
https://github.com/app-generator/django-black-dashboard
The patch is visible on this commit:
https://github.com/app-generator/django-black-dashboard/commit/34e5a2defff8f70f7b70e5a88a7986a98b31bc58

OK awesome support guys ... will test.  Need to do this carefully though so will take some time.

🚀🚀

thanks guys, tested and working.


PySilon.bat just ending with a python message??? not even a gui...

Hello! There is a problem. whan i launch PySilon.bat, well it just trys to install things that are already installe and ends up with a message. Can you help? Thank you.

Hey, add me on discord and ill help you. Tamshi#2028
Message ID: @.***>

Do you have Python installed?
And if so, which version?

no clue what that language is but install python (latest version would be good) and add it to PATH upon installation


Move Omniflix API to new node

[x] Move Omniflix API to old osmosis RLY node
[x] Rename host,
[x] adjust alerts and naming in grafana
[ ] delete old server

Omniflix API moved.
Servers renamed:
omniflix-api - old-omniflix-api
osmosis-rly - omniflix-api
Datasources changed in grafana

remove indexer and release the node


Compile SOLO model for vck5000-8pe

Hi,
I was trying to compile solo_pt from the Vitis-AI 2.0 model zoo for vck50008pe-DPUCVDX8H but encountered some issues during execution. Here're my steps.

I downloaded the GPU model and compiled it using vai_c_xir: vai_c_xir -x ./quantized/SOLO_0_int.xmodel -a ../../arch_vck5008pe_vitis_ai_2_0.json -o compiled/solo_pt_vck50008pe_2_0 -n solo_pt_vck50008pe_2_0. The compilation succeed but encountered following errors during execution:
F0217 13:44:49.923132 16099 solo_imp.cpp:111] cannot found output tensor: 17762 *** Check failure stack trace: ***

I followed the issue #983 and add options to my command: vai_c_xir -x ./quantized/SOLO_0_int.xmodel -a ../../arch_vck5008pe_vitis_ai_2_0.json -o compiled/solo_pt_vck50008pe_2_0 -n solo_pt_vck50008pe_2_0 --options '{"output_ops":"SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17762_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18113_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18483_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__19223_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18853_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18852_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18849_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__19222_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__19219_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18099_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18098_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__19237_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18497_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18127_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17776_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18482_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18479_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17748_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17747_fix,SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18867_fix"}'
The compilation completed with some warnings:

[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18852_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__19219_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__19222_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__19223_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__19237_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18853_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18867_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18479_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18482_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18483_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18497_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18098_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18099_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18113_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18127_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17747_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17748_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17762_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17776_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] Compile mode: dpu
[UNILOG][INFO] Debug mode: function
[UNILOG][INFO] Target architecture: DPUCVDX8H_ISA1_F2W2_8PE
[UNILOG][INFO] Graph name: SOLO_0, with op num: 997
[UNILOG][INFO] Begin to compile...
[UNILOG][WARNING] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18853_i0(MergeMultoHsigmoid), type = hard-sigmoid-fix} has been assigned to CPU: [This target does not support single hard-sigmoid.].
[UNILOG][WARNING] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__19223_i0(MergeMultoHsigmoid), type = hard-sigmoid-fix} has been assigned to CPU: [This target does not support single hard-sigmoid.].
[UNILOG][WARNING] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18483_i0(MergeMultoHsigmoid), type = hard-sigmoid-fix} has been assigned to CPU: [This target does not support single hard-sigmoid.].
[UNILOG][WARNING] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__18113_i0(MergeMultoHsigmoid), type = hard-sigmoid-fix} has been assigned to CPU: [This target does not support single hard-sigmoid.].
[UNILOG][WARNING] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17762_i0(MergeMultoHsigmoid), type = hard-sigmoid-fix} has been assigned to CPU: [This target does not support single hard-sigmoid.].
[UNILOG][INFO] Total device subgraph number 32, DPU subgraph number 6
[UNILOG][INFO] Compile done.
[UNILOG][INFO] The meta json is saved to "/home/models/vitisai2.0/segmentation/pt_SOLO_coco_640_640_107G_2.0/compiled/solo_pt_vck50008pe_2_0/meta.json"
[UNILOG][INFO] The compiled xmodel is saved to "/home/models/vitisai2.0/segmentation/pt_SOLO_coco_640_640_107G_2.0/compiled/solo_pt_vck50008pe_2_0/solo_pt_vck50008pe_2_0.xmodel"
[UNILOG][INFO] The compiled xmodel's md5sum is 8e8c380e02df369d37b1aab4d427f037, and has been saved to "/home/models/vitisai2.0/segmentation/pt_SOLO_coco_640_640_107G_2.0/compiled/solo_pt_vck50008pe_2_0/md5sum.txt"
**************************************************
* VITIS_AI Compilation - Xilinx Inc.
**************************************************

However, the same error appeared during execution: F0217 13:55:24.628762 16167 solo_imp.cpp:111] cannot found output tensor: 17762 *** Check failure stack trace: ***
I was wondering why the specified SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17762_fix didn't work here?

I also tried to add an option for 17762 output only:
Command: vai_c_xir -x ./quantized/SOLO_0_int.xmodel -a ../../arch_vck5008pe_vitis_ai_2_0.json -o compiled/solo_pt_vck50008pe_2_0 -n solo_pt_vck50008pe_2_0 --options '{"output_ops":"SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17762_fix"}'
Log:

[UNILOG][INFO] xir::Op{name = SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17762_fix, type = fix} has been assigned to be an output op.
[UNILOG][INFO] Compile mode: dpu
[UNILOG][INFO] Debug mode: function
[UNILOG][INFO] Target architecture: DPUCVDX8H_ISA1_F2W2_8PE
[UNILOG][INFO] Graph name: SOLO_0, with op num: 490
[UNILOG][INFO] Begin to compile...
[UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
[UNILOG][INFO] Compile done.
[UNILOG][INFO] The meta json is saved to "/home//models/vitisai2.0/segmentation/pt_SOLO_coco_640_640_107G_2.0/compiled/solo_pt_vck50008pe_2_0/meta.json"
[UNILOG][INFO] The compiled xmodel is saved to "/home//models/vitisai2.0/segmentation/pt_SOLO_coco_640_640_107G_2.0/compiled/solo_pt_vck50008pe_2_0/solo_pt_vck50008pe_2_0.xmodel"
[UNILOG][INFO] The compiled xmodel's md5sum is e41d2114c87340fbc70701a9758a84da, and has been saved to "/home//models/vitisai2.0/segmentation/pt_SOLO_coco_640_640_107G_2.0/compiled/solo_pt_vck50008pe_2_0/md5sum.txt"
**************************************************
* VITIS_AI Compilation - Xilinx Inc.
**************************************************

Result:
F0217 13:10:45.889312 16031 solo_imp.cpp:64] cannot found output tensor: 17819 *** Check failure stack trace: ***
The specified SOLO__SOLO_DecoupledSOLOLightHead_bbox_head__17762_fix solved the 17762 output tensor here but it produced another error  i.e. the result of tensor 17819 cannot be found. Is there a compiler option to fix 17819 (SOLO::SOLO/DecoupledSOLOLightHead[bbox_head]/QuantStub[quant]/17819)?
Note:
I've tried these in docker image xilinx/vitis-ai-cpu:2.0  and xilinx/vitis-ai:<IP_ADDRESS>3.
arch_vck5008pe_vitis_ai_2_0.json: {     "target": "DPUCVDX8H_ISA1_F2W2_8PE" }
Anyway, I would like to know how I can compile this solo_pt model from Vitis-AI 2.0 model zoo for vck5000 8pe? Is there anything that I missed?
Thanks in advance for your support!
Regards.

Hi @LCY02 , Sorry for the late reply. This model can not be run on VCK5000-8PE. According to the compile log, there ara some ops can not supported by the VCK5000 8PE DPU IP. Thanks!


delete bug in the meeting station options

Describe the bug
delete bug occurs when there are more then one stations in the meeting stations section and when you click the delete button (last line's delete button works, previous ones redirect you to results page)
Checklist

[ ] I have recreated the issue in the vanilla starter kit (this is a template repo, some issues may be related to code or configuration that has been added outside the starter kit).
[ ] I am using a supported version of Node (at least 20.9) and npm (not Yarn).
[ ] I have installed the correct dependencies (run npm ci if you're unsure, this will clear node_modules/ and install based on the package-lock.json).

To reproduce
Steps to reproduce the behavior.
Expected behavior
A clear and concise description of what you expected to happen.
Actual behavior
What happened instead (e.g. errors, unexpected outputs).
Setup
Please complete the following information):

OS [e.g. macOS 10.15.3]:
Node [e.g. 20.16.0]:
Browser [if relevant, e.g. Firefox 72.0.2]:

Additional context
Add any other context about the problem.

Sloppy issue description - remove the standard text, it's not telling us anything


Open ShapefIle with "where" expression.

This issue was imported from CodePlex
mogikanin wrote 2014-05-29 at 11:52
Something like this:
Shapefile.Open(fileName, "[Area]>100").

You already can load shape data without fetching the entire file at once. Granted it is a little more text to write to get this working, but it basically enables you to iterate over the entire file without loading it into the memory all at once. This way you can easily apply a filter and only use the shape entries required.
Aside from convenience is this function expected to do anything else?

@mkaring can you show example how to do this? Really I've created this task when there is no such possibility. Of course, if already there is such way, this task has no sense.

It is pretty simple.
Basically you use a DotSpatial.Data.ShapeReader along with the DotSpatial.Data.AttributeTable to lazily load the shape file.
The shape reader allows you to read pages of shapes from a shape file and the attribute table allows you to fetch pages of attributes. You only need to combine both.
So the code is something like this:
ShapeReader reader = new ShapeReader(shapeSource);
AttributeTable attributes = new AttributeTable(shapeFileName);
foreach (Dictionary<Integer, Shape> page in reader)
{
    Integer start = page.Key.Min()
    Integer end = page.Key.Max()
    DataTable pageAttributes = attributes.SupplyPageOfData(pageStart, pageEnd - pageStart + 1)
    foreach (KeyValuePair<Integer, Shape> indexAndShape in page)
    {
        Shape shape = indexAndShape.Value
        shape.Attributes = attributes.Rows(indexAndShape.Key - pageStart).ItemArray
        // At this point the shape object is in the same format as you'd expect it.
    }
}

The massive advantage is that once you switch the page, all the "old" shape data is garbage collected. Some goes for the attributes.
I am using this approach with massive shape files (>1GB) and it works just fine.

Even more, in ShapefileFeatureSource there is Select() method which takes filterExpression as input.

Never used that. I can't tell you what that does or how well it works. The code I am using uses the ShapefileShapeSource and this one can't filter anything.
I think the ShapefileFeatureSource already combines shapes and attributes. But I'd have to look at the implementation to know if this works with large shape files.

Ok. Anyway I'm closing this as not actual.


[BottomSheet] Add BottomSheet component

Hey, first time contributing. I needed a BottomSheet component for a project, and it seemed appropriate to submit it back to Material-UI.
It follows the spec reasonably closely, except for the part about the sheet not initially expanding beyond the 16:9 keyline on mobile - as far as I'm aware material-ui doesn't really do specialized mobile behaviour as it is and has no facilities to support that, although since I'm not that familiar with the entire codebase I may be mistaken.
Following that, I was unsure how to deal with the possibility in the spec of fully expanding a bottom sheet - the way it's described there, the sheet starts out at the 16:9 keyline but can be expanded by swiping it up, but if it's not starting at the 16:9 keyline, that doesn't make sense (either the content is small enough to fit, in which case the sheet'll fit the content and shouldn't be expanded, or the content is bigger than the screen, in which case the sheet's max-height will take effect in accordance with another part of the spec, making it effectively fully expanded from the start).
If you have any thoughts on doing this better, I'm all for improving the pull request.
Includes docs demo, but no tests - this is heavily based on the Drawer component, which has no tests, and I wasn't sure exactly what you would want tested here, if anything - I can't tell if the slash in that checklist item means "and" or "or".
Closes #2126 (although see comments above on fully expanded sheets).

[x] PR has tests / docs demo, and is linted.
[x] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[x] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

@oliviertassinari and @mbrookes any comments on this PR?

@antialiasis Thanks for the contribution. Did you consider making this a feature of Drawer?

Hi, thanks for responding.
While this component is based on the Drawer and has many similar features, there are also significant differences. For example, while a drawer has a set width, according to the spec a bottom sheet should adapt to the height of its content; this necessitates a somewhat different approach to how we keep it shifted out of frame while closed. Bottom sheets should be closeable by sliding down, like drawers are closeable by sliding towards the edge, but unlike with drawers, we can't generally decide whether the user is trying to scroll or slide based on the direction they move in but rather must decide based on where the touch originates. Some drawer defaults just don't make sense for bottom sheets: as far as I can tell from the spec, bottom sheets are never supposed to open when sliding up from the bottom, but to accomplish this with a drawer the user needs to explicitly set disableSlideToOpen, and following from that, it doesn't really make sense for bottom sheets to be uncontrolled, either. It'd be possible to combine the two sensibly to make a generic drawer component that can open from any side of the screen, but it'd call for a lot of probably backwards-incompatible changes to the Drawer component and involve quite a bit of specialized behaviour based on whether it's horizontal or vertical. Perhaps it'd make sense to do that anyway, but all in all a new component seemed like the more conservative approach, compared to cutting up an existing one, introducing backwards-incompatibilities and possibly breaking existing behaviour.
I would also say that drawers and bottom sheets, while similar in the sense that they slide in from an edge of the screen and can be closed by sliding back, are conceptually pretty different and made for different use cases. Drawers are navigation menus and a page generally has exactly one of them (possibly two); they are top-level objects. Bottom sheets are either freeform extra content/information/controls supplementing the main view or essentially a mobile alternative to drop-down menus or dialogs; they're fundamentally context-sensitive. This is why they call for different defaults.
It's true the bottom sheet component repeats a lot of Drawer's functionality, though. Perhaps it'd be ideal to have a generic component implementing the slide-in/out functionality from any direction and have both Drawer and BottomSheet make use of that.

Perhaps it'd be ideal to have a generic component implementing the slide-in/out functionality from any direction and have both Drawer and BottomSheet make use of that.

That sounds like a sensible approach, otherwise we'll find ourself maintaining multiple variations of the same code in different components. Bottom Nav could also potentially take advantage in the future.

@antialiasis 100% about the functionality repetition.
Yes, when it comes down to specifics they are different. However, they share a significant amount of underlying concepts/functionality and I believe we'd be better off finding a design that promotes more code sharing in this situation.
I'd love to hear/see any ideas you have.

I'll do the proposed refactor of the sliding functionality into a separate single component that can be used by both Drawer and BottomSheet and possible future components, then, and you can see what you think.

Hello again. I've refactored the shared drawer/bottom sheet functionality into a shared internal component, SlidingSheet. I believe everything should work as before in both Drawer and BottomSheet.

@antialiasis Interesting PR, I'm gonna have a look at it. Thanks for working on this!

@antialiasis I will continue reviewing this PR tomorrow. Great start 👍 .
It would be good to rebase on top of master, I had to run npm install.

Hello and thanks for the review! Apologies for not getting back to you earlier; I've been on vacation. I'll take a stab at improving the PR according to your comments soon.

@antialiasis Great, thanks!

Hello again! I've made the mentioned improvements to the PR. Since most of the issues mentioned were actually inherited from Drawer (should have made sure to familiarize myself with current practices!), and the PR makes changes to Drawer anyway, I fixed them there as well; also rebased the whole thing off master, as suggested.

@antialiasis That's a great contribution! Thanks a lot. I'm have noticed more stuff that we could improve on this PR. I'm gonna carry it to master. Expect a new PR soon starting from your commit.

I saw updated roadmap and plan was to minimize new features in 0.15.3. However, this one plus support for bottom navigation are key for our mobile app https://github.com/callemall/material-ui/issues/3712
Would be awesome to have these features in the next release so we at least have something to work with before the major refactor release 0.16 is available in a few months. Thanks for the consideration.

I'm closing this PR as I have based #4732 on top of this one. It would be better to keep one place to get feedbacks.
Thanks for this contribution.


[StimulusBundle] feat: normalize parameters names given to twig helper 'stimulus_action'

Q
A

Bug fix?
no

New feature?
yes

Tickets
NA

License
MIT

This allows giving a parameter name as 'myParam', and it will be printed as 'data-controller-name-my-param-param', which will be interpreted as 'myParam' by the Stimulus controller.

Nice catch @norival !
@weaverryan  : Is it seen as a bugfix.. or a new feature ? In the later, BC break alert :)

This allows giving a parameter name as 'myParam', and it will be printed as 'data-controller-name-my-param-param', which will be interpreted as 'myParam' by the Stimulus controller.

What would the myParam have data-controller... attribute looked like before this PR? I'm also interested if there is any possibility that changing from the old string to the new string could potentially break someone's app... or if the old attribute was totally wrong and unusable, and now this fixes it.

Well after playing with this a bit, i'm 100% to consider this a bugfix.
And it's more a "HTML/DOM/JS" bug than a specific Stimulus one.

...

...

Data attributes should be in lowercase, and the camelCase to snake is the norm.
Big Crocodile
Given a parameter named bigCrocodile
Before
Before the fix made by @norival , the HTML code rendered by the function was
<button
    data-action="foo#bar"
    data-foo-bigCrocodile-param="green"
  >...</button>

But in the Stimulus controller, the parameters passed were in lowercase
{bigcrocodile: "green"}

After
After the fix, the HTML code will be
<button
    data-action="foo#bar"
    data-foo-big-crocodile-param="green"
  >...</button>

and the parameters passed to the action
{bigCrocodile: "green"}

That also means that is someone called the stimulusAction with snake-case parameters, nothing changes (they still get the parameter in camelCase)

Great analysis @smnandre ! :smiley:
Actually, I think there is a case where it would break things.
If you declare the parameters in the twig function like this:
{{ stimulus_action('controller', 'action', 'click', {bigCrocodile: "green"}) }}

this will render ...data-controller-bigcrocodile-param="green" and register it as event.params.bigcrocodile. After the 'fix', it would render ...data-controller-big-crocodile-param="green" and register it as event.params.bigCrocodile. So this would break the controller code using this parameter.

this will render ...data-controller-bigcrocodile-param="green"

I don't find where this transformation is done (bigCrocodile -> bigcrocodile in HTML) ?

I checked, and Stimulus handles it (on macOs / Firefox + Chrome) as {bigcrocodile: green} indeed. So there is a difference.
But... if a developer passed "bigCrocodile" in HTML and then manually used "bigcrocodile" in the JS code.... they should have made the PR you just wrote instead :))

But... if a developer passed "bigCrocodile" in HTML and then manually used "bigcrocodile" in the JS code.... they should have made the PR you just wrote instead :))

Haha, I agree, that would be a bit weird :sweat_smile:

Can you update the CHANGELOG entry to make it a little longer and explain the behavior change if you were relying on the broken behavior?

Thank you Xavier!


[npg-5359] add new dreps argument for snapshot tool

Description
Adding a new argument dreps for snapshot tool. This argument will provide a missed dreps information for properrly generation of the final snapshot.
dreps is a path to the json file with the following format:
{
  "dreps": ["0x00588e8e1d18cba576a4d35758069fe94e53f638b6faf7c07b8abd2bc5c5cdee", "0xa6a3c0447aeb9cc54cf6422ba32b294e5e1c3ef6d782f2acff4a70694c4d1663"]
}

Fixes # (issue) if applicable
Type of change

[ ] New feature (non-breaking change which adds functionality)

could you update the docs as well? thanks!


[2.4] Fix unstructured decoded with managedfields

Issue: https://github.com/rancher/rancher/issues/27011
Problem:
Decoding unstructured pipeline provider configs fails in k8s 1.18+ with managedFields introduced.
Solution:
Decode properly.

I dont think deleting all fields containing time.Time solve the problem once for all. The bug may occur again when ObjectMeta changing in the future. mapstructure provides a  DecodeHookFunc interface for transforming data. Here is a example mitchellh/mapstructure#159.

@YaoC Make sense. Thanks for the advice.