[!*VIRAL-!] Priyanka Sanam Full Sex Video Original Video Link Priyanka Sanam Viral On Social Media X Trending Now #4596

44 seconds ago
L𝚎aked Video Priyanka Sanam Original Video Viral Video L𝚎aked on X Twitter Telegram
[-wATCH-]— Priyanka Sanam Video Original Video Link Priyanka Sanam Video Viral On Social Media X Trending Now
[-wATCH-]— Priyanka Sanam ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]— Priyanka Sanam ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]— Priyanka Sanam Video Original Video Link Priyanka Sanam Video Viral On Social Media X Trending Now
Priyanka Sanam Original Video video took the internet by storm and amazed viewers on various social media platforms. Priyanka Sanam, a young and talented digital creator, recently became famous thanks to this interesting video.
L𝚎aked Video Priyanka Sanam Original Video Viral Video L𝚎aked on X Twitter
Priyanka Sanam Original Video video oficial twitter
L𝚎aked Video Priyanka Sanam Original Video Viral Video L𝚎aked on X Twitter..yjhgrdafassf

vbvbv


Removing test redundant for org.apache.commons.lang3.StringUtilsTest.testIsNotEmpty

We are researchers working on identifying redundant tests in a test suite. Our analysis of finding redundant tests involve each test's dynamic code coverage and their potential fault-detection capability.
Through our analysis, we found that the tests org.apache.commons.lang3.StringUtilsTest.testIsNotEmpty, org.apache.commons.lang3.StringUtilsTrimEmptyTest.testIsNotEmpty are redundant with respect to one another. In this pull request, we are proposing to keep only the test org.apache.commons.lang3.StringUtilsTest.testIsNotEmpty while adding @Ignore annotations to the remaining test. However, as we believe these tests are identical, any one of them can be kept while skipping the remaining test.
If you do not believe any of these tests should be ignored, we would greatly appreciate it if you could follow up on this pull request and let us know your reasons.

Coverage decreased (-0.02%) to 93.418% when pulling 419d81fc7a2d43799f32d5a814f226d2f8586189 on TestSuiteReductionResearch:redundant1 into bd9adbb637a8a4aa5eb61c6fde2c576d0ab3c4fa on apache:master.


feat: prototype master

Basic tonic based master instance.
According to offline discussion, we should still investigate:

A database encapsulation of all collections consisting of metadata in master group. So far, it implements nodes collection only.
Support lookup group (desc) associated with the given key (range).
Support create new collection and alloc one or more replica groups for it.
Integrate with raft algorithm for running a master group instead of single master instance.
Integrate with gossip algorithm for propagating metadata.

This PR also sets up basic CI workflow and you may look at https://github.com/zeke/semantic-pull-requests#configuration for what I propose for a consistent commit message.
cc @huachaohuang @w41ter @zojw

Thanks, I prefer to set up the CI workflow first, and I created a PR https://github.com/engula/engula/pull/688. For the commit message style, I think we can keep it simple for now and reconsider your proposal when necessary.

@huachaohuang ok. I'll update this PR later.

Closed. Wait for other patches go in first.


[SUGGESTION] Update Node: Can't write my extension because Bracket's node environment

Prerequisites

[ ] Can you reproduce the problem with Debug -> Reload Without Extensions?
[x] Did you perform a cursory search to see if your bug or enhancement is already reported?
[x] Did you read the [Troubleshooting guide]

Description
I'm writing an extension which uses a node_module which need a Node 8.2+ to run properly
And I found out that Brackets uses Node v6
Steps to Reproduce

Update Brackets to use Node LTS latest

Versions
Brackets v1.11
Win10 as OS

Updating to Node 8 or 10 would be not only nice for newer programming features, but also for development. By default, Node 8+ uses the Chrome Debugging Protocol for debugging, so if the Chromium version of the shell is also updated to v55+, a debugger for the Node process could be opened along with enabling the debug port, resulting in an appearance similar to how the current Debug>Show Developer Tools operates, but for the node process instead. Another thing, it would be nice if the remote debugging port was then changed away from default in order to not conflict with other Node processes.
(The following paragraph is summarized in the list below)
Based on the brackets-shell repository, I believe that the primary portion of this fix would be to just change the version numbers for the CEF build and the Node build. Beyond that, I think that this should be just figuring out what features were depreciated/removed and updating Brackets not to use them. I have messed around with changing the Node executable out for a later version (v10), and I have not identified any problems that updating Node causes. I have no clue what problems might arise from updating CEF though, so I have no clue what problems may arise. Also, changing the port would require the Node process to be launched with the --inspect-port flag and a port number to be used instead, rather than just running the file with no arguments.
In summary, a To-Do(-in-this-order) list:

[ ] Choose which versions of Node (8, 10, or soon 12) and what build of CEF (way too many, but anything with Chromium 55+ should work, the later, the better)

[ ] Change Gruntfile.js in brackets-shell with the version numbers decided above

[ ] Run tests with the updated build information and fix resulting bugs

[ ] Change the remote debug port on the node process

[ ] Add a function to create a Node DevTools window to the Debug>Enable Node Debugger command, and possibly change the name of the command

[ ] Do whatever else you guys do before publishing a new version of Brackets


uVenv Plugin init version

This is initial version of plugin, which helps to manage python
projects and their virtualenvs.

While I appreciate the effort, we already have plugins to manage virtualenv. I'd suggest working on it more and creating your own repository. Since you've made it into a plugin, you can also add it to our External plugins list.
Cheers

I found virtualenv plugin within plugins directory which seems to be less feature rich version of the plugin I pushed. Do you think it is reasonable to replace/update that plugin?


MM-18107: Collapsed Reply Threads, Global Threads

(This is a large PR, so perhaps a divide-and-conquer approach might help a bit?
These are just suggestions—please cover as much as you please or desire.)

Reviewer
Components/Areas

Harrison
global_threads, global_threads_link, thread_viewer

Devin
common/*, thread_item, thread_list, thread_menu, thread_pane

Nevy
Styling/scss, mobile/responsiveness

Jesús
Overall/Feature Architecture

Summary

MM-30302: Global Threads screen
MM-32019: Feature flag detection
MM-30303: System Console setting
MM-30305: Account Settings toggle

Most of this feature is safely behind the flag MM_FEATUREFLAGS_COLLAPSEDTHREADS=true.
However, some necessary component abstractions/refactoring affect codepaths not behind the flag. Most notably:

<ThreadViewer/> (the guts of <RhsThread/>)
<RHSSearchNav/> (search bar, at-mentions, saved posts, help menu)

The bulk of the UI is in components/threading
components/threading
├── channel_threads/thread_footer
├── common
│   ├── button
│   ├── follow_button
├── global_threads
│   ├── thread_item
│   ├── thread_list
│   ├── thread_menu
│   ├── thread_pane
│   ├── global_threads (main screen where above comes together)
├── global_threads_link
├── thread_viewer

Prior versions of some of these components have been already been reviewed, but there have been some changes since. (https://github.com/mattermost/mattermost-webapp/pull/6585)
Screenshots

Note on demo server: it's not currently reflecting lates mattermost-server changes for some reason. You may need to pull locally. Latest version of server and redux have necessary infra.

Thanks for checking things out, @matthewbirtch! (cc @reflog Matt's comments above)
I believe 2–5 probably fall under websocket events, and these should have improved a lot recently, though I think Eli's still working on a few things.
On 1, is it expected that the mentions count to go away before viewing any threads? (Cleared just by going to global threads?)
6: fixed (disappears after deselection—we should probably review those selection/unread filter UX states)
On the UI items:
9: fixed
11: fixed
8, 10: still working on

On 1, is it expected that the mentions count to go away before viewing any threads? (Cleared just by going to global threads?)

Sorry, no. I think we should clear a mention once you've actually read the thread

/update-branch

@calebroseland I just happened to be playing with the threads PR and there were a few things I just noticed that I thought I should call out. Not sure if these are known issues:

the 'No followed threads yet' block is not horizontally centered when the RHS is open.

If I have one thread in my Global Threads view, and then unfollow it, I get an infinite 'Loading' state

If I mark an unfollowed thread as unread from the channel view, it doesn't refollow that thread. It should as per the spec

the 'No followed threads yet' block is not horizontally centered when the RHS is open.
I think this should be deferred under future responsiveness improvements (collapsing list view, etc.)

If I have one thread in my Global Threads view, and then unfollow it, I get an infinite 'Loading' state
Fixed

If I mark an unfollowed thread as unread from the channel view, it doesn't refollow that thread. It should as per the spec
I think this should be done as a smaller piece of the in-channel experience story.

@calebroseland There were some panics with that cloud workspace from plugin/hclog_adapter.go:54

@calebroseland, if you wanted to merge crt-precursor-supporting into this branch (maybe you have already?) we could get started on the review while QA Review completes on the other?

I'm still doing the review, one thing I noticed is that if the mention is in a reply it doesn't appear in the channel, is this expected?

@Willyfrog, there's a successor PR that @reflog is working on to make changes to the mention badging, so that is okay for now. There's a spec I'll send you a link to that describes it in more detail.

another thing i noticed, on a long thread (not fitting the screen) if I press enter I get a different scroll than if I start writing (the add comment button doesn't show in the first case)

@Willyfrog could you elaborate a bit more on this? Is this in Global Threads? RHS? What was focused when you stated typing and/or pressed enter?

another thing i noticed, on a long thread (not fitting the screen) if I press enter I get a different scroll than if I start writing (the add comment button doesn't show in the first case)

@Willyfrog could you elaborate a bit more on this? Is this in Global Threads? RHS? What was focused when you stated typing and/or pressed enter?

sorry, I'll try to do a more detailed repro steps, anyways it is a minor thing.

open global threads, select a long thread (larger than the screen)
click on the text box
scroll up the thread
hit enter

you'll see that it is scrolled but the add comment button is not visible
repeat steps but type a character instead of enter. now the button is visible.

another thing i noticed, on a long thread (not fitting the screen) if I press enter I get a different scroll than if I start writing (the add comment button doesn't show in the first case)

@Willyfrog could you elaborate a bit more on this? Is this in Global Threads? RHS? What was focused when you stated typing and/or pressed enter?

sorry, I'll try to do a more detailed repro steps, anyways it is a minor thing.

open global threads, select a long thread (larger than the screen)
click on the text box
scroll up the thread
hit enter

you'll see that it is scrolled but the add comment button is not visible
repeat steps but type a character instead of enter. now the button is visible.

Hmm that's strange. This is what I'm seeing: Input change always scrolls to bottom. Enter (for empty input) only scrolls to bottom if the whole input is out of view. (Chrome/Safari/Desktop in Global Threads and RHS—here and on community-daily.)

another thing i noticed, on a long thread (not fitting the screen) if I press enter I get a different scroll than if I start writing (the add comment button doesn't show in the first case)

@Willyfrog could you elaborate a bit more on this? Is this in Global Threads? RHS? What was focused when you stated typing and/or pressed enter?

sorry, I'll try to do a more detailed repro steps, anyways it is a minor thing.

open global threads, select a long thread (larger than the screen)
click on the text box
scroll up the thread
hit enter

you'll see that it is scrolled but the add comment button is not visible
repeat steps but type a character instead of enter. now the button is visible.

Hmm that's strange. This is what I'm seeing: Input change always scrolls to bottom. Enter (for empty input) only scrolls to bottom if the whole input is out of view. (Chrome/Safari/Desktop in Global Threads and RHS—here and on community-daily.)

i was testing that on firefox, maybe it is a firefox-specific thing

@Willyfrog I think I've covered all the main points, with a few feature-on (flag-protected code) points aimed for follow up improvements. Were there any other feature-off concerns or points before we move on to QA?

Alright, looks like this is ready to merge. Let's do this as soon as the new cloud branch is cut (hopefully later today), to give it us plenty of time to ensure this doesn't regress anything before the next release.


Update bot

Currently the dependencies management is working with git submodules. But with zig 0.11.0, an official package manager is now available. We have to rewrite bot scripts to update dependencies through the package manager.

No more works for the bot:

Custom bindings are going to be used
Official package manager will be used for these custom bindings


Create binary artifacts for Python distribution package

Building of artifacts is triggered manually by jenkins job https://grpc-testing.appspot.com/view/All/job/gRPC_build_artifacts/.
Add support to tools/run_tests/build_artifacts.py.

I think we addressed this in...
...
... somewhere. Anyway it's happening.


Feature/relax Unpin for writer

Signed-off-by: Jiahao XU<EMAIL_ADDRESS>

While there's still some ergonomics issues regarding Pin in this PR, I believe this PR is ready for merge.
@jonhoo If there's anything you think this PR can improve on, please feel free to request for changes.


Add support for ignoring just the model @@map

Thanks to this library, we're slowly moving towards a sane schema.prisma file with consistent naming of columns and tables.
However, several of our models do not match table name rules. Currently, the best we can do (I think) is add /// prisma-lint-ignore-model within the model. This succeeds in ignoring the model/table name inconsistency, but it also causes prisma-lint to completely ignore other rules within the model such as column name rules.
Example:

We have a rule that requires our table names to be underscored and pluralized.
However, we have a model named SpaceUsage that was originally mapped to a table named space_usage
It should have been mapped as @@map("space_usages") if we'd followed a consistent naming rule), but we need to ignore this inconsistency just for the short term

Is it possible to ignore the model/table @@map, so the other rules can take effect within a model?

Thank you! That works perfectly.


Security group spaces not displayed if bound to more than 50 spaces

Summary
Security group spaces not displayed if bound to more than 50 spaces.
Details
When a security group is bound to more than 50 spaces, the spaces are not displayed. This gives the impression that it's a deployment-wide security group when in fact it's a space-bound security group. This caused some issues in our landscape as it is easy to miss (in combination with another issue: iptable rules are created per security group and space even if the same/not distinct, resulting in very slow runner performance when starting an application).
Analysis
It seems https://github.com/cloudfoundry/cloud_controller_ng/blob/2b1d38cba944086fa545d621a37ce4089b8e239e/lib/cloud_controller/rest_controller/preloaded_object_serializer.rb defines MAX_INLINE_DEFAULT = 50, which is then evaluated in https://github.com/cloudfoundry/cloud_controller_ng/blob/2b1d38cba944086fa545d621a37ce4089b8e239e/lib/cloud_controller/rest_controller/preloaded_object_serializer.rb which for to_many relations if associated_model_instances.count > opts[:max_number_of_associated_objects_to_inline] returns with no spaces at all. https://github.com/cloudfoundry/cli/blob/4a108fd21d6633b250f6d9f46e870967cae96ac0/cf/commands/securitygroup/security_groups.go is then showing the security group with no org and no space.
Steps to reproduce
Bind non-staging/running security group to more than 50 spaces.

@vlerenc - This is a known bug and will be fixed with this https://www.pivotaltracker.com/story/show/96033766
The fix should be out in the nexgt CLI release - 6.12.0 which should come out by end of next week at the latest.


upgrade to graphql-java 13

WIP, please provide feedback
Resolves: https://github.com/ExpediaDotCom/graphql-kotlin/pull/216

Deleting DirectiveWiringHelper is a breaking change. This is a major version change. We may be able to bundle this as the 1.0.0 release, we can do a 1.0.0-RC1 if we want to test the changes too

@smyrick while this is fairly large change (especially with regards to how we handle directives) I'm not sure it warrants 1.0.0 release...


kube-apiserver: update HAProxy side container to latest version

Signed-off-by: Mateusz Gozdek<EMAIL_ADDRESS>

:thinking: I observed that the CI is not being triggered. So it is not just my PR but something wrong on the API throttling by Github or CI host.


[BEAM-27] Add initial bits for DoFn Timer API

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @jkff
CC: @bjchambers who gave lots of good feedback on the StateSpec version of this PR. Time permitting, see if you have opinions about this simpler one.
This adds the interfaces and annotations from the design for the user-facing timer API, with basic reflection and validation and some tests.
(while putting this together, I noticed that there were state examples that were invalid in ways other than the way they were testing, so that commit is in this PR too)

There are no syntactic conflicts with base, but this needs a rebase for Jenkins to be able to pass. Going to go ahead and do it now, since it seems to be a review lull.

Jenkins failure is a failure to connect to local JDBC, not related to this PR.

Thanks a ton @jkff and @bjchambers for all the feedback. I'll squash fixups and merge.


Firefox shows native scrollbar over custom one on Mac

Firefox shows native scrollbar over custom one on Mac. Issue was reported to Mozilla: https://bugzilla.mozilla.org/show_bug.cgi?id=926294

@gromo "Set option ignoreOverlay to false."
Oh man, thank you for that. I just spent 3 hours trying to figure out what I was doing wrong. Worked in every browser on Windows, but not on MAC. I guess it should have clicked sooner, but I was too busy blaming my own code. Thank you. Love the plugin!

I did some testing in OSX today, using 0.2.8. First, I commented row "|| (browser.macosx && !browser.webkit) // still required to ignore nonWebKit browsers on Mac" in the code.
Tested in:
OSX 10.9.5: Safari 7.1.7, Firefox 39.0 and Chrome 44.0
OSX 10.10.4, Safari 8.0.7, Firefox 39.0 and Chrome 44.0
and the plugin is working correctly, at least in . I havn't test in textarea. No native scrollbar.

Safari and Chrome are OK for sure - they are webkit-based.
But Firefox may show native scrollbars - it depends on system settings. Can you check it again using different settings?

After some more testing, I think this bug is related to Mac OS settings. In "System Preference > General > Show scroll bars",
If set to "Automatically based on mouse or trackpad", no native scrollbar if using mouse, has native scrollbar if using trackpad.
If set to "When Scrolling", has native scrollbar.
If set to "Always", then no native scrollbar.
For whatever cases, since most scrolling of my page depends on this plugin, I will comment row "|| (browser.macosx && !browser.webkit)" to enable it in Mac Firefox.

Возможное решение предложил @clexit в Diokuz/baron#91

A bit hacky way would be to add something like "margin-right: -30px; padding-right: 30px;" to a scrollable container and then cut these 30px by setting "overflow: hidden" to a wrapper, so the native scrollbars will be hidden.

Изначально именно так я и скрываю родные скроллбары - используя отрицательный margin на ширину/высоту скроллбара. Однако в Мак-е у всех браузеров ширина/высота скроллбара 0. Придётся делать какой-то хак специально для ФФ под маком + добавлять паддинг в контейнер, что может нарушить вёрстку, если в блоке уже использовался какой-то паддинг.


Support Windows

Handle backslash
Be quiet if having zip command

Looks good. What steps are required to make rice append work on windows? How does zip need to be installed? I'd like to include this in the readme.

If zip command is executable, rice should work pretty good. :+1:
On windows, we can get zip command via http://gnuwin32.sourceforge.net/packages/zip.htm
Or cygwin/msys toolsets.
However, I'm thinking, golang have zip archiver.
http://golang.org/pkg/archive/zip/
So It will be needless if add some fixes.

archive/zip doesnt support fixing the zip offset, that is why the zip cmd is still required.
More info in #7.
I'll add the instructions on zip for windows to the readme. Thanks!

fair enough :)

How about this? http://stackoverflow.com/a/7955605/720391

Running rice append --exec example.exe
Got Error setting zip offset: exit status 3
I'm using zip.exe from http://gnuwin32.sourceforge.net/packages/zip.htm
It seems the zip offset is still not set correctly

I didn't get error. I wonder my zip.exe is from gnuwin32.
C:\>zip -h
Copyright (C) 1990-1999 Info-ZIP
Type 'zip "-L"' for software license.
Zip 2.3 (November 29th 1999). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
  The default action is to add or replace zipfile entries from list, which
  can include the special name - to compress standard input.
  If zipfile and list are omitted, zip compresses stdin to stdout.
  -f   freshen: only changed files  -u   update: only changed or new files
  -d   delete entries in zipfile    -m   move into zipfile (delete files)
  -r   recurse into directories     -j   junk (don't record) directory names
  -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)
  -1   compress faster              -9   compress better
  -q   quiet operation              -v   verbose operation/print version info
  -c   add one-line comments        -z   add zipfile comment
  -@   read names from stdin        -o   make zipfile as old as latest entry
  -x   exclude the following names  -i   include only the following names
  -F   fix zipfile (-FF try harder) -D   do not add directory entries
  -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)
  -T   test zipfile integrity       -X   eXclude eXtra file attributes
  -!   use privileges (if granted) to obtain all aspects of WinNT security
  -R   PKZIP recursion (see manual)
  -$   include volume label         -S   include system and hidden files
  -h   show this help               -n   don't compress these suffixes

Well, Is that a version problem, I'm using Zip 3.0 on Windows XP:
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
  The default action is to add or replace zipfile entries from list, which
  can include the special name - to compress standard input.
  If zipfile and list are omitted, zip compresses stdin to stdout.
  -f   freshen: only changed files  -u   update: only changed or new files
  -d   delete entries in zipfile    -m   move into zipfile (delete OS files)
  -r   recurse into directories     -j   junk (don't record) directory names
  -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)
  -1   compress faster              -9   compress better
  -q   quiet operation              -v   verbose operation/print version info
  -c   add one-line comments        -z   add zipfile comment
  -@   read names from stdin        -o   make zipfile as old as latest entry
  -x   exclude the following names  -i   include only the following names
  -F   fix zipfile (-FF try harder) -D   do not add directory entries
  -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)
  -T   test zipfile integrity       -X   eXclude eXtra file attributes
  -!   use privileges (if granted) to obtain all aspects of WinNT security
  -$   include volume label         -S   include system and hidden files
  -e   encrypt                      -n   don't compress these suffixes
  -h2  show more help

Well, I still can't make it workable.
BTW i'm using a Window XP SP3 box, is that a problem?

I tried on master latest. but:
Error setting zip offset: exit status 15

hi @mattn , I think you idea of using the archive/zip is a good one. Do you think is it possible to work around the zip offset issue?

I'm trying to get it into the go repo but it needs some more work. That will definitly fix this problem in a nice way.

But for you @Archs it might help to install zip from http://gnuwin32.sourceforge.net/packages/zip.htm or cygwin/msys toolsets.

Hi @GeertJohan , I've tried the zip.exe @mattn mentioned which is Zip 2.3 (November 29th 1999).
Using zip 2.3 I could do rice append --exec successfully, but the result executable failed with the error message:
2015/02/04 09:46:32 error opening rice.Box: could not locate box "example-files".  thus https://github.com/GeertJohan/go.rice/pull/38#issuecomment-72774613

@Archs Thanks. Maybe it is related on #44 ?

No that's about opening a file from an already opened box. This error looks like it was returned from rice.FindBox(..)

How is your project set up? (folders, files)

I was trying the github.com/GeertJohan/go.rice/example

Hmm, very strange indeed... Can you try to open the binary with zip or winrar and see if that works?

zip,winrar or 7z can't open the appended binary file ...
I cannot do the example correctly any way. I've tried different zip exetables under XP/Win7.
Hi, @GeertJohan can the append --exec command be done by appending the zip archive into the go binary directly? like cookieo9's resources-go does:
https://github.com/cookieo9/resources-go#embedding-zip-files:
Create executable (eg: go build -o myApp)
Create zip file (eg: zip -r assets.zip assets)
Append zip file to executable (eg: cat assets.zip >> myApp)
Adjust the offsets in the zip header (optional) (zip -A myApp)

The way  resources-go does appending really works under my computers, but I think go.rice which I've expected for a long time has a well designed API and more easily to use.

rice does what resources-go does. It creates a zip appended to the end of the binary file, fixes the offset with zip -A, and thats it. So if resources-go works for you and rice doesn't, I dont understand why. Do you have the latest version of rice? (go get -u -a github.com/GeertJohan/go.rice).


Can't run D3D12RaytracingHelloWorld.exe

Hi,
Every time I try to run this project, I get the following error:

D3D12RaytracingHelloWorld.exe - Entry Point Not Found
The procedure entry point DXGIDeclareAdapterRemovalSupport could not be located in the dynamic link library C:\Users\jon.cain\Downloads\DirectX-Graphics-Samples-master\DirectX-Graphics-Samples-master\Samples\Desktop\D3D12Raytracing\src\D3D12RaytracingHelloWorld\bin\x64\Debug\D3D12RaytracingHelloWorld.exe.
OK
I can see the entry point is missing in the project settings too, not sure what I'm missing here. Any help would be great. Thanks.

Hi,
That means the OS that you're running the sample on doesn't support the DXGIDeclareAdapterRemovalSupport API. That would be 16299 (Fall Creators 2017 update) or older. What OS are you running the sample on?
We'll address for the API not to get called on older OSes since the sample says 16299 or higher is supported.. You can comment out the call in DeviceResources.h in the meantime.

Hi,
I'm on 16299.665, version 1709 at work. I tried it last night at home and I believe I'm on a more recent OS but will have to double check when I get home tonight.
I will comment out the call in DeviceResources.h for now, thank you.

The DXGIDeclareAdapterRemovalSupport entry-point was added in Windows 10 (Version 1803, build 17134)


⚠ API (search) has degraded performance

In e2dd519, API (search) (https://api.dev.package-search.services.jetbrains.com/search-packages) experienced degraded performance:

HTTP code: 200
Response time: 6198 ms

Resolved: API (search) performance has improved in 05e9ed6 after 32 minutes.


router: allow catch-all route

Add support for top level wildcard route
Closes #3779

Thanks!

so I can use flynn route add http *? on dashboard * comes of as %2A/ and using cli just prints usage info. however *.domain.com works fine
Flynn version: v20170417.2 and cli version is v20170505.0 which are the latest versions I guess


⚠ ClamAV has degraded performance

In e2be1a4, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 584 ms

Resolved: ClamAV performance has improved in eccf9ad.


The mod is detectable by servers.

Description of the issue
When joining a server like play.ccnetmc.com it is possible for the server to detect the freecam mod and instantly ban the user for it.
The fabric loader by default does not expose a mod list to the server, so I am guessing this is a freecam feature.
Expected behavior
I expect the mod to function like any other mod, and not send any information to the server.
Steps to reproduce

go to play.ccnetmc.com with freecam mod on.
get banned for it 5 seconds after you join

Log output
No response
Crash report
No response
How prevalent is the issue?
unsure, i have not done extensive testing
Freecam version
1.2.3 - 1.20.4
Are you using "Modrinth Edition"?
No
Minecraft version
1.20.4
Modding platform

[X] Fabric
[ ] Neoforge
[ ] Forge

Thanks for reporting this. It is a particularly interesting issue!
I've updated the title as this has nothing to do with telemetry. We don't have any telemetry. AFAIK neither does Fabric.

The fabric loader by default does not expose a mod list to the server

Correct

I am guessing this is a freecam feature

I'm afraid not.
It turns out, that server is using this exploit to detect mods based on translation keys being installed on the client.

Since that server doesn't permit the use of Freecam anyway and the only issue on our end is that we provide translatable text, I'm going to close this.
I do find it frustrating that servers will ban players for having tools installed even without them being used. That said, I appreciate the use of Freecam would be difficult to detect, so I understand why they take that approach.

Wow, thank you so much for the explanation!
How did you come across this mod and exploit? I searched but couldnt find anything regarding this!


Make specs stable

Proposed change
Spec suite behaves erratically when asserting size and shape of public $NEX subscriptions.
Use case
A non-flakey spec suite will make everyone happier.
Contribution
No response

Closed by #266


Upgrade WildFly Core to 3.0.0.CR1

retest this please

retest this please

The failing test in https://ci.wildfly.org/viewLog.html?buildId=71536&buildTypeId=WF_PullRequest_LinuxElytro is going to be corrected.


bluetooth: smp: Add authentication callbacks per connection

Change introduces authentication callbacks used only for specified BLE connection. The feature can be used by devices that require reporting specific bonding capabilities only when pairing using vendor-specific procedures.
If per-connection authentication callbacks are defined for given connection, they are used instead of global authentication
callbacks. SMP latches authentication callbacks during the first access to prevent updating the callbacks while pairing.
Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/38336
Signed-off-by: Marek Pieta<EMAIL_ADDRESS>

Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/38336

That doesn't seem right - The issue is about auth-per-identity. This PR seems to be auth-per-connection, which is not the same.

Fixes: #38336

That doesn't seem right - The issue is about auth-per-identity. This PR seems to be auth-per-connection, which is not the same.

Yes, we discussed it offline with @MarekPieta. This PR does not implement my suggestion in the exact form that was described in the #38336 issue. However, the current solution satisfies my requirements and is even more flexible. If we merge this feature, I would consider my issue fixed.

Hi @jhedberg, @Vudentz, @sjanc, @alwa-nordic
Could you review, please?

Maybe we should have additional pointer in smp for currently used auth_cb,   on start of pair it would be set either from conn or global and use during that pairing. That should solve all the races (including  global auth cb change)

Maybe we should have additional pointer in smp for currently used auth_cb, on start of pair it would be set either from conn or global and use during that pairing. That should solve all the races (including global auth cb change)

Hi @sjanc
Actually we already have it (such atomic pointer defined per smp instance is introduced as part of this PR) :)
There is still possibility of "race" between assigning per-connection auth callbacks and start of SMP procedure (in general we cannot synchronize them, so I decided to use atomic pointer and return error code to clearly indicate that the SMP procedure already started and we cannot update auth callbacks for given connection so that the procedure would rely on global set of callbacks)

@jhedberg, the changes are pushed. Please rereview

Maybe we should have additional pointer in smp for currently used auth_cb, on start of pair it would be set either from conn or global and use during that pairing. That should solve all the races (including global auth cb change)

Hi @sjanc Actually we already have it (such atomic pointer defined per smp instance is introduced as part of this PR) :) There is still possibility of "race" between assigning per-connection auth callbacks and start of SMP procedure (in general we cannot synchronize them, so I decided to use atomic pointer and return error code to clearly indicate that the SMP procedure already started and we cannot update auth callbacks for given connection so that the procedure would rely on global set of callbacks)

@sjanc are you ok with the above explanation, or did you mean something else?

@jhedberg, I applied changes requested so far. Please rereview

@jhedberg, I applied changes requested so far.

I've seen, thanks. As I mentioned in my earlier comment, I'm waiting for some ack/nack from @sjanc before approving/merging.

Force pushed to retrigger CI tests

Force pushed to retrigger CI tests

Since this resets all approvals, this isn't the best way of doing it. You can restart a CI test without pushing the PR again :)

I was rather thinking on having one ptr in struct bt_conn and one in struct bt_smp then when pairing starts we could have:
if (conn->auth_cb) {
smp->auth_cb = conn->auth_cb;
} else {
smp->auth_cb = global_smp_auth;
}
That way smp->auth_cb will not be change during pairing regardless if global or connection callbacks are altered

I would like to note that this API smells a bit of race condition. It can only be used after a connection is established, but before the remote initiates an SMP procedure. This can, for now, be done safely in bt_conn_cb.connected. But that's because of hidden/undocumented thread-priority reasons.
Is it correct that the intended use of this new API is to select the pairing method? Would it work to instead extend struct bt_conn_auth_cb with a .select_pairing_method(bt_conn, bt_conn_pairing_feat) that can downgrade smp_pairing_req:rsp->io_capability?

Is it correct that the intended use of this new API is to select the pairing method?

That is actually a good question. This PR fixes https://github.com/zephyrproject-rtos/zephyr/issues/38336, but the issue that is being fixed only states that this should be possible, but does not give any use cases or reasons for it (which is also lacking in the PR description).

I was rather thinking on having one ptr in struct bt_conn and one in struct bt_smp then when pairing starts we could have: if (conn->auth_cb) { smp->auth_cb = conn->auth_cb; } else { smp->auth_cb = global_smp_auth; }
That way smp->auth_cb will not be change during pairing regardless if global or connection callbacks are altered

Hi @sjanc
Implementation provided in the PR already ensures that authentication callbacks used for given connection are not altered during pairing. The only difference is that my proposed API assigns callbacks directly to SMP and returns error code if it's no longer possible (e.g. because SMP procedures have already started). Assigning the callbacks to connection slightly increases memory consumption and it does not improve anything (it may even lead to new race conditions, because authentication callbacks would then be stored in two places and copied between them). With implementation proposed in the PR, I could use atomic pointer as a very simple synchronization too.

Hi @alwa-nordic

I would like to note that this API smells a bit of race condition. It can only be used after a connection is established, but before the remote initiates an SMP procedure. This can, for now, be done safely in bt_conn_cb.connected. But that's because of hidden/undocumented thread-priority reasons.

The race condition is in theory possible, but the vendor-specific procedure must be triggered before device receives SMP request anyway (otherwise device is unaware that it should use vendor-specific procedure instead of regular pairing and cannot react properly no matter which implementation is used). Also in the worst case (e.g. if peer actually starts SMP before informing that it's going to follow vendor-specific procedure) device would try to follow default pairing procedure which would still be correct behavior.

Is it correct that the intended use of this new API is to select the pairing method? Would it work to instead extend struct bt_conn_auth_cb with a .select_pairing_method(bt_conn, bt_conn_pairing_feat) that can downgrade smp_pairing_req:rsp->io_capability?

If we would like to modify device's behavior during pairing, we would need to modify other authentications callbacks anyway, so I think that the additional callback is not enough here. Also if we report given set of IO capabilities, we would need to ensure that we provide needed authentication callbacks (currently IO capabilities are reported relying on used set of authentication callbacks which prevents errors here).

Hi @Thalley

Is it correct that the intended use of this new API is to select the pairing method?

That is actually a good question. This PR fixes #38336, but the issue that is being fixed only states that this should be possible, but does not give any use cases or reasons for it (which is also lacking in the PR description).

Since feature introduced by this PR could be used for various use-cases, I added only a short, generic description in the PR and commit message:
Change introduces authentication callbacks used only for specified BLE connection. The feature can be used by devices that require reporting specific bonding capabilities only when pairing using vendor-specific procedures.
Fast Pair use-case
Since this use-case was discussed in details during review of my previously proposed solution which was a separate PR (https://github.com/zephyrproject-rtos/zephyr/pull/46637), I provide short description of Fast Pair use-case below:
An example of use-case is bonding using Fast Pair. In that case Central triggers vendor-specific BLE bonding procedure using GATT write to predefined characteristic before sending SMP request. Then devices use Numeric Comparison pairing method to achieve MITM protection. The only exception is the fact that encrypted passkeys are exchanged by devices over GATT instead of displaying them and waiting for user input. If Central does not trigger the vendor-specific BLE bonding procedure, regular pairing is used.

For additional details, see Fast Pair specification: https://developers.google.com/nearby/fast-pair/specifications/service/gatt
** Solved issue **
For https://github.com/zephyrproject-rtos/zephyr/issues/38336, the new API can be used to override the authentication callbacks right after connection is established for a given Bluetooth local identity (on connected callback). That was already discussed with @kapi-no.

Hi @sjanc, @Thalley, @alwa-nordic, @jhedberg
Please take a second look. It would be great if we could merge this feature as soon as possible.

#AutoPTS run zephyr SM

Scheduled PR #https://github.com/zephyrproject-rtos/zephyr/pull/46789#issuecomment-1209489071 after 02:56:29.

#AutoPTS run zephyr SM

Scheduled PR #https://github.com/zephyrproject-rtos/zephyr/pull/46789#issuecomment-1210302596 after 09:59:39.

AutoPTS Bot results:
Failed tests:
SM      SM/CEN/KDU/BI-02-C              FAIL - ERRATA TSE18140 Request ID 16199
SM      SM/CEN/KDU/BI-03-C              FAIL - ERRATA TSE18140 Request ID 16199
SM      SM/PER/KDU/BI-02-C              FAIL - ERRATA TSE18140
SM      SM/PER/KDU/BI-03-C              FAIL - ERRATA TSE18140


TODO: Filter out %c flags in the Exec key for now as it's not yet supported.

Once it's supported, I'll of course expand it to have the localized name, just for now it can kinda make the titlebar look bad. -qwindowtitle (insert name here) passed to the app is how you can force a specific title for a window (usually, though KMines adds a hyphen and "KMines" after it), and passing %c afterward tells it to use the localized name as specified here: https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s07.html
KMines uses it in its .desktop file, so that's how I figured it out.

Forgot about this issue, it's in the main branch I think.


Preemption for indexing service locks

From https://groups.google.com/forum/#!topic/druid-development/kHgHTgqKFlQ,

There's potential for conflicts between merging and appending new data. Consider a merge task that reads a set of segments with version A (let's say A0, A1, A2) and then publishes a new set of segments with version B (let's say B0, B1). If a realtime task spins up between those two points and wants to add a new segment, it could create A3, which is bad, because it will end up being shadowed by set B and the writes will be lost. Or it could create B2, which is also bad because it will not be visible until B0 and B1 are published and uploaded. Even worse, if a new merge task can start up after the first one finishes (but while B2 is still ingesting) and create a set of C-segments, that will cause the writes in B2 to be lost forever.
There are a few different ways to handle this:
a) Merging wins and ingestion loses. This is the current method and is mediated through exclusive interval locks. Ingestion “losing” would probably mean ingestion blocks.
b) Ingestion wins and merging loses. This could be done by aborting a merge in progress if new data comes in. This has the advantage of not affecting ingestion at all, but will cause liveness issues with merging if a trickle of data comes in for the same interval for an excessive amount of time.
c) Something else?
For the first version, I think (b) is best since I think most people would prefer liveness issues in merging to liveness issues with ingestion.

To do Ingestion wins and merging loses, we need a way for an ingestion task to pre-empt locks held by a merge task. This could possibly be done by having a lock priority such that higher priority locks cancel out lower priority locks. The task that has the pre-empted lock would presumably figure that out when it tries to insert a segment and fails. It could also be notified about it proactively somehow, but it's unclear how that would happen.

what would be the behaviour for case when there is a collision between realtime ingestion for late incoming data and any batch indexing job running at the same time ? Will it be the same as realtime ingestion wins over the batch job ?

It would depend on the priority you set, I think. I think most people would want priorities to be in this order:

Realtime
Normal batch ingestion
Reindexing/compaction batch ingestion

I think some people will differ on whether (1) and (2) should be the same priority or different priorities. IMO a reasonable default is for them to be different, so realtime indexing always preempts anything else. But, if there are sites that want to set (1) and (2) to the same priority (maybe they want to avoid liveness issues with batch) then that should be doable too. That would just mean that there's a potential of realtime ingestion stalling for a bit when a batch task is running.

Talked a bit to @himanshug and we thought that optimistic locking for batch is going to be simpler to implement than priorities.
I think for that to work we'll need some way of getting versions to tasks other than LockAcquireAction. Possible splitting that into two steps- one that optimistically gets a version for an interval and one that actually locks the interval.

@pjain1 can you please look into this one.

@himanshug sure

@gianm I though more about this and discussed with @pjain1 as well. I believe a combination of priorities and optimistic locking would be a good way to go.
All kind of tasks get assigned some priority (hard coded), 0 being highest priority
realtime-ingestion: 0
batch-ingestion: 1
merge-task: 2
(note that the priorities assigned is a matter of policy and can be changed independently of the algorithm suggested below)
Tasks implement following algorithm to do the work
lock = aquire_lock(datasource, interval, my_assigned_priority)
if(successful) {
  //do the work, but, do not commit
} else {
  //fail or maybe repeat from beginning
}

upgrade_lock_to_superpower(datasource, interval, my_assigned_priority)
if(successful) {
  //commit the work
  release_lock(..)
} else {
  //fail
}

Overlord implements following 3 APIs:
//trusted that client will make this call with appropriate
//priority that has been assigned to it
synchronized aquire_lock(datasource, interval, priority) {
  lock = get_cached_lock_with_overlapping_interval(datasource, interval)

  if(lock == null || (priority < lock.priority && !lock.isSuperPower()) {
    //accept request, put/update lock datasource,interval,priority in cache
  } else {
    //reject request
  }
}

//trusted that client will make this call iff it had the lock
synchronized upgrade_lock_to_superpower(datasource, interval, priority) {
  lock = get_cached_lock_with_same_interval_and_priority(datasource, interval, priority)
  if(lock != null) {
    lock.setSuperPower()
  } else {
    //reject request
  }
}

//trusted that client will make this call iff it had the lock
synchronized release_lock(datasource, interval, priority) {
  lock = get_cached_lock_with_same_interval_and_priority(datasource, interval, priority)
  if(lock != null) {
    //remove it
  }
}

I guess this can be improved more a little bit so that lock keeps some metadata inside the lock such as task id and timestamp when the lock was created etc, so that we can detect that some task aquired the lock and crashed without releasing the lock and remove such zhombie locks.

That seems reasonable- so basically you're advising the overlord that you will want a lock in the future (acquire_lock), then actually asking for the lock (upgrade_lock_to_superpower; which will succeed if nobody else with a higher priority has asked for one in the meantime), then releasing the lock.

I commented in https://github.com/druid-io/druid/pull/1679#issuecomment-139008613 but I think the concept of priority proposed here needs a bit of tweaking.


Release v1.10.0-alpha.1 Tracking

Kubernetes v1.10.0-alpha.1 has been built and pushed.
The release notes have been updated in CHANGELOG-1.10.md with a pointer to it on github.

Kubernetes v1.10.0-alpha.1 has been built and pushed.
The release notes have been updated in CHANGELOG-1.10.md with a pointer to it on github.

testing


Remove osmnx dependency

osmnx is a fantastic package, but it's a bit hard to work with due to limited documentation of what resides in its node and path dictionaries, and it's tricky to get installed (particularly if you're using conda). It's also making it impossible to get the readthedocs built. We only use it for working with graphs in cw_geodata.vector_label.graph, so I'm going to remove the dependency and re-write vector_label.graph to remove the need for it.

Resolved with #33


deltalake rename managed table not allowed arised

Expected behavior
dbt run with database delta option should be completed successfully after docker compose up
Actual behavior

docker compose up
dbt init {trino example}
set dbt profile astrino:
  target: dev
  outputs:
    dev:
      type: trino
      method: none
      user: commander
      host: localhost
      port: 8080
      database: delta
      schema: dbt

dbt run # should be run successfully

Steps To Reproduce
wrote on Actual behavior
Log output/Screenshots
11:18:57  Running with dbt=1.7.4
11:18:58  Registered adapter: trino=1.7.1
11:18:58  Found 2 models, 4 tests, 0 sources, 0 exposures, 0 metrics, 421 macros, 0 groups, 0 semantic models
11:18:58
11:19:02  Concurrency: 1 threads (target='dev')
11:19:02
11:19:02  1 of 2 START sql table model dbt.my_first_dbt_model ............................ [RUN]

11:19:11  1 of 2 ERROR creating sql table model dbt.my_first_dbt_model ................... [ERROR in 9.31s]
11:19:11  2 of 2 SKIP relation dbt.my_second_dbt_model ................................... [SKIP]
11:19:11
11:19:11  Finished running 1 table model, 1 view model in 0 hours 0 minutes and 13.53 seconds (13.53s).
11:19:11
11:19:11  Completed with 1 error and 0 warnings:
11:19:11
11:19:11    Database Error in model my_first_dbt_model (models/example/my_first_dbt_model.sql)
  TrinoUserError(type=USER_ERROR, name=NOT_SUPPORTED, message="Renaming managed tables is not allowed with current metastore configuration", query_id=20240114_111911_00004_s779w)
  compiled Code at target/run/trino/models/example/my_first_dbt_model.sql
11:19:11
11:19:11  Done. PASS=0 WARN=0 ERROR=1 SKIP=1 TOTAL=2

Operating System
ProductName:            macOS / ProductVersion:         13.1 / BuildVersion:           22C65
dbt version
1.7.4
Trino Server version
435
Python version
3.11
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

This PR will be a solution for your issue, then you can use replace strategy in your models starting from dbt-trino v1.7.1.


Rule suggestion: prefer node: prefixed imports when possible

Older built-in Node modules such as fs now can be imported via either their name or node: + their name:
import fs from "fs";
import fs from "node:fs";

The prefixed versions are nice because they can't be overridden by user modules and are similarly formatted to to prefix-only modules such as node:test.
Suggestion: let's add a linter rule to enforce using them, with an auto-fixer.
(copied from https://github.com/mysticatea/eslint-plugin-node/issues/344)

yes, good to have. 👍

There is a rule like this in eslint-plugin-unicorn, maybe we can ask to copy/lift that over? https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-node-protocol.md

A general question: Would such a rule be better in https://github.com/import-js/eslint-plugin-import?
I resorted to using eslint-plugin-unicorn for that rule right now, but it feels like a nice rule to have in here or https://github.com/import-js/eslint-plugin-import.

I think it should be here as well

Can we cut a release?
CC @aladdin-add

We are in the development of the new major v17. I'll try to port it to v16 later.


Spec: Indicate that LRA id MUST be of type URI

After the implementation of #35, but internal the already before the implementation of this, LRA id MUST be of type URI.
So we need to indicate this requirement in the spec.
We should change all examples in the spec where we use @HeaderParam(LRA_HTTP_CONTEXT_HEADER) and @HeaderParam(LRA_HTTP_PARENT_CONTEXT_HEADER) to URI to be consistent.
We can indicate in a note that String will work due to the conversion within JAX-RS, but only when the method is a JAX-RS method.

The recovery ID is also indicated as a URI in the JavaDoc. We can mention this also in the Spec text.

Update the TCK for using URI instead of String

https://github.com/eclipse/microprofile-lra/pull/165 resolves this issue


WIP(core): Proposal: can unload, reload patch modules

This is a proposal to support unload, reload patch.
Use case: only run specified code into zone.
const zone = Zone.current.fork({name: 'zone'});
zone.run(() => {setTimeout(() => {
  console.log('zone', Zone.current.name);  // will run into zone
})});

setTimeout(() => {
  console.log('zone', Zone.current); // will run into root zone in current version.
}, 100);

for example, in current version, the code above, the 1st setTimeout will run into zone, the 2nd will run into root Zone. But even root Zone still have performance impact. So we may want the 2nd totally run in native setTimeout.
in this PR proposal, only patch all modules such as setTimeout, XHR, promise in zone.run.
and unPatch them when in root zone or by calling some method like 'runOutsideOfZone` explicitly.
Use case: such as angular elements to implement WebComponent. Only run logic with zone.js patched inside `angular elements without impact outside world.
Proposal. Auto patch when zone.run, Auto unpatch after zone.run. Auto repatch when zone.run again.
const zone = Zone.current.fork({name: 'zone'});
zone.run(() => {setTimeout(() => {
  console.log('zone', Zone.current.name);  // will run into zone
})});

setTimeout(() => {
  console.log('zone', Zone.current); // will not in root zone, this is native setTimeout
}, 100);

zone.run(() => {setTimeout(() => {
  console.log('zone', Zone.current.name);  // will run into zone again by rePatch
})});

To make unPatch and rePatch faster, keep patched delegate and native delegate reference when call Zone.__load_patch, so we only reset delegate when unPatch and rePatch.
such as https://github.com/angular/zone.js/compare/master...JiaLiPassion:module?expand=1#diff-75082c639aefcc47b3b8df57c8870867R37
@mhevery , do you think this idea worth a discussion? Thank you.

@mhevery , @robwormald , I have send a message to you on twitter, and I also described the information here.
In ng-conf, I described an idea about using angular elements with zone.js without impacting outside world. My meaning is only let zone.js monkey-patch window APIs when enter Angular Elements and restore all APIs to original native one when exit Angular Elements.
I have created a repo here with some basic doc,
https://github.com/JiaLiPassion/angular-elements-with-zone
and a live demo here ,
https://github-zmawnz.stackblitz.io/
the idea detail is here.
AngularElements
A POC of Angular Elements with zone.js.
In ng-conf 2018, robwormald described the use cases of Angular Elements.

If the Angular Elements is used inside an Angular application, then zone.js is already loaded, so user can develop the Angular Elements in normal way.

If the Angular Elements is used inside an non-angular application, such as inside a web app which developed with pure js or jquery or react, then we should not use zone.js, because zone.js will monkey-patch a lot of global/window APIs such as setTimeout/Promise, so using zone.js will impact the APIs outside of Angular Elements.

So my idea is add a 3rd option.

if there is a way to let zone.js only patch global/window APIs when we enter Angular Elements and restore the original delegate when we exit Angular Elements. We can develop Angular Elements with zone.js without impact outside world.

This is the overview
How it works

First import zone.js/dist/zone.js will not monkey-patch anything until Zone.__init__() is called.
Call Zone.__init__() before bootstrap Angular Elements.
After BootStrap, restore all monkey-patched APIs to native one.

try {
  Zone.__init__(); // monkey patch window APIs
  platformBrowserDynamic()
    .bootstrapModule(AppModule)
    .then(ref => {
      // Ensure Angular destroys itself on hot reloads.
      if (window['ngRef']) {
        window['ngRef'].destroy();
      }
      window['ngRef'] = ref;

      // Otherise, log the boot error
    })
    .catch(err => console.error(err));
} finally {
  Zone.__unloadAll_patch(); // detach the monkey patch, so all window APIs was restored to native one.
}

Inside zone.run()/zone.runGuarded(), reload all patches before run and unload all patches after run.

So monkey patched version of window API only exists inside Angular Elements
Here is the demo link DEMO.
In the demo, there is an angular Element with zone.js, and it will run inside of angular zone, and outside there is a button Click outside of Angular Element, click the button will check eventHandler/setTimeout/Promise is monkey patched or not, and print error stack traces to verify no zone related stack frames are inside.
Please review, thank you very much!

I am a bit confused. If I understand correctly this PR will remove the setTimeout patch whenever you exit Zone.run. Is my understanding correct?
My concern is that the cost of patching and un-patching is way more than the cost of setTimeout indirection.
Do we have perf numbers that say this makes things better?

@mhevery ,

I am a bit confused. If I understand correctly this PR will remove the setTimeout patch whenever you exit Zone.run. Is my understanding correct?

yes, it will remove patching after Zone.run.  I will make a benchmark to test the perf cost, the implementation only reset the reference, I believe it will not cost a lot.
And I think we may add a flag to make this patch/unpatch only happens in Angular Elements.

@mhevery , I did a benchmark test.
for (let i = 0; i < 1000000; i++) {
  zone.run(function () {});
}

And by average,

each time reload all patch will cost 0.00375 ms
each time unload all patch will cost 0.00329 ms


Wrong author

https://github.com/openpolitics/manifesto/pull/443 was submitted as me, not @andrewdwilliams. That's obviously very wrong and should be fixed asap.

Replicated locally. Slightly disturbed because HOW DID THIS EVER WORK?


fix: retrieve deployed collection names in AWS

More work required in future, but tracked in a separate issue.

depends on https://github.com/nitrictech/cli/pull/129


Swift 2.3 support - branch missing?

Hello,
I can't find any branch for iOS Swift 2.3.
Is is possible to have one so we can start migrating SwiftDate to Swift 2.3 (+ use it in our projects with Carthage and CocoaPods).
Thanks,
Axel

Checkout Swift_23 branch
https://github.com/malcommac/SwiftDate/tree/feature/swift_23

Thanks!

Is this already merged to master / a Cocoapods release?

Do you have a version which support swift 2.3? Thanks


promote-charm: doc-automation-disabled unexpectedly requires Discourse creds

Dear team!
I am using the promote_charm.yaml GitHub workflow, but I have a weird experience using the doc-automation-disabled: true parameter. My expectation is that the Publish docs step is fully skipped, but it doesn't appear to be the case:
https://github.com/canonical/operator-workflows/blob/34f1737e6cc607279375ffe357c63b5444793c8e/.github/workflows/promote_charm.yaml#L200-L201
Instead, this input is thrown into the dry_run parameter, which looks a bit weird to me:
https://github.com/canonical/operator-workflows/blob/34f1737e6cc607279375ffe357c63b5444793c8e/.github/workflows/promote_charm.yaml#L220
The problem with this approach is that I do not want any documentation to be published, which is clearly shown as the description to my parameter, but when running with the documentation disabled and w/o Discourse credentials, I get the following error in the GitHub workflow:
INFO:root:Base branch: main (commit e01531f185ba35cc35fbce909436923d6e69fc0c)
Traceback (most recent call last):
  File "/usr/src/app/main.py", line 257, in <module>
    main()
  File "/usr/src/app/main.py", line 240, in main
    assert main_checks(user_inputs=user_inputs)  # pylint: disable=no-value-for-parameter
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/app/main.py", line 170, in wrapper
    output = func(execute_cwd, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/app/main.py", line 224, in main_checks
    clients = get_clients(user_inputs, path)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/app/src/clients.py", line 38, in get_clients
    discourse=create_discourse(
              ^^^^^^^^^^^^^^^^^
  File "/usr/src/app/src/discourse.py", line 541, in create_discourse
    raise InputError(
src.exceptions.InputError: Invalid 'discourse_api_username' input, it must be non-empty, got api_username=''

Could we change the if condition for the Publish docs step so that it does not run on doc-automation-disabled: true? Here is my GitHub workflow file for posterity: https://github.com/canonical/pro-airgapped/blob/e01531f185ba35cc35fbce909436923d6e69fc0c/.github/workflows/charm-promotion.yml
Thank you very much in advance!

Hi, thanks for bringing this up. This is not an easy decision to make, as I think we (Platform Engineering) might still want to use the dry_run parameter to see what would happen if we actually tried to publish the docs before eventually setting doc-aumtation-disabled to true. We'll discuss this internally. Thank you very much.


Python wrapper build does not generate libbgs.so

I followed the python wrapper build guide and the build works without any errors and the demos work fine except the python one. The libbgs.so does not seem to be created anywhere, only libbgs.a and libbgs.dylib get created. Can you please provide any information regarding this.

Please refer to :https://github.com/andrewssobral/bgslibrary/wiki/Wrapper:-Python#building-bgslibrary-with-python-support-on-linux
the libbgs.so is right in the build folder

I have the same problem, have you solved it? @okoky-krypto @zhixuanli And I can't find the libbgs.dylib

Hey, I have the same problem as you @jzyztzn I cannot find the libbgs.dylibfile, did you find any solution ?

Hi @jzyztzn @Eracro ,
I am sorry for my delayed feedback, you can follow the instructions here (for Mac users):
https://github.com/andrewssobral/bgslibrary/wiki/Wrapper:-Python#building-bgslibrary-with-python-support-on-mac-os-x
It works well for Python 2. For Python 3 sometimes it works, sometimes it doesn't work. I need to take a time to check it.
If you have Python 3 from Anaconda, you can create a virtual environment with Python 2. Just do:
conda create -n opencv python=2.7
conda activate opencv
conda install opencv
conda install boost

Next, you compile the bgslibrary and run the demo:
cmake -D BGS_PYTHON_SUPPORT=ON -D BOOST_INCLUDEDIR=$HOME/anaconda3/envs/opencv/include -D BOOST_LIBRARYDIR=$HOME/anaconda3/envs/opencv/lib ..

make -j8

cp libbgs.dylib libbgs.so
export PYTHONPATH="${PYTHONPATH}:${PWD}"

cd ..
python Demo.py


Invitation to give a talk at PRIDE workshop ECOOP 2022

Dear creators of GobPie,
as an organizer of the PRIDE workshop at ECOOP 2022 (see https://2022.ecoop.org/home/pride-2022#About), I am now looking for talks that fit well into the workshop.
As you used MagpieBridge to integrate Goblint into IDEs, I'd love to invite you to give a talk about it.
Here is the call for talks: https://2022.ecoop.org/home/pride-2022#Call-for-Talks.  I'd be very happy to host you as a speaker at the workshop.
Please let me know if you are open for a zoom meeting regarding this invitation and whom I should contact.
Best,
Linghui

Thank you for the invitation.  It would great if you can Zoom meet directly with @karoliineh (Uni Tartu) and @jerhard (TU München). They can coordinate with the rest of us.


Benchmark Raspberry Pi 500

As the title says—see https://github.com/geerlingguy/sbc-reviews/issues/60

29.812 Gflops at 11.5W for 2.59 Gflops/W
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :   23314
NB     :     256
PMAP   : Row-major process mapping
P      :       1
Q      :       4
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4       23314   256     1     4             283.41             2.9812e+01
HPL_pdgesv() start time Fri Nov 29 14:04:58 2024

HPL_pdgesv() end time   Fri Nov 29 14:09:42 2024

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   3.83945609e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

The Pi 500 didn't thermal throttle:
pi@pi500:~/Downloads/top500-benchmark $ vcgencmd get_throttled
throttled=0x0

2.8 GHz Overclock
I attempted a 3.0 GHz Overclock, but that speed was unstable on the Pi 500; it resulted in some segfaults and a lockup after a while. But at 2.8 GHz:
over_voltage_delta=50000
arm_freq=2800
gpu_freq=1000

34.318 Gflops at 15W for 2.29 Gflops/W
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :   23314
NB     :     256
PMAP   : Row-major process mapping
P      :       1
Q      :       4
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4       23314   256     1     4             246.20             3.4318e+01
HPL_pdgesv() start time Mon Dec  2 12:52:13 2024

HPL_pdgesv() end time   Mon Dec  2 12:56:19 2024

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   3.83945609e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

The Pi 500 thermal throttled:
pi@pi500:~/Downloads/top500-benchmark $ vcgencmd get_throttled
throttled=0xe0000

Those three bits:
              17    Arm frequency capping has occurred
              18    Throttling has occurred
              19    Soft temperature limit has occurred

Running once more with launch-day Pi OS updates, which enable NUMA/SDRAM tweaks automatically...
TODO


verifpal: remove platform restriction

Description of changes
Verifpal appears to work just fine even on MacOS (NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-env -iA nixpkgs.verifpal builds fine, tested on an M1 Mac; and running verifpal also seems to work just fine, on the files I tested); there doesn't appear to be any reason to actually restrict the platforms supported.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

thanks


Temporary fix for Issue : Trigger function on Page's requestfinished event #93

Quick PR to expose Page's requestfinished event.
Temporary fix for https://github.com/yujiosaka/headless-chrome-crawler/issues/93
@yujiosaka your solution expose the whole page is way better.
This scenario allow to intercept the request and do something with the response without having to download the ressource a second time, which is, the official way of doing this.
const HCCrawler = require('headless-chrome-crawler')
var fs = require('fs')

HCCrawler.launch({
  // Function to be evaluated in browsers
  evaluatePage: (() => ({
    title: $('title').text()
  })),
  // Function to be called with evaluated results from browsers
  onSuccess: (result => {
    console.log(result)
  }),
})
  .then(crawler => {

    crawler.on('pagerequestfinished', async request => {
        const url = request.url()
        // Matches images.
        const match = /.*\.(jpg|png|gif)$/.exec(url)
        if (match && match.length === 2) {
          const split = url.split('/')
          const filename = split[split.length - 1]
          const response = request.response()
          const buffer = await response.buffer()
          fs.writeFileSync(`./tmp/${filename}`, buffer, 'base64')
        }
    })

    crawler.queue({
      maxDepth: 1,
      skipDuplicates: true,
      url: `http://www.example.com`
    })

    crawler.onIdle() // Resolved when no queue is left
      .then(() => crawler.close()) // Close the crawler
  })

Actually just figured out that exposing the Page Object wouldn't that much complicated.

Thanks, it's great! But pagerequestfinished sounds a bit confusing because the event name makes me think that it only occurs only when pages' request finished (but it actually occurs for any resources).
If it's ok, can you wait for 24 hours or so? I'll add the feature to expose puppeteer's page.

Closing this in favor of https://github.com/yujiosaka/headless-chrome-crawler/pull/96


Rename some methods on SparseSet to better match sets in the standard…

… library.
This also removes a comment that seems to be outdated.

Looks good, thank you!

And you're spot on about the comment. Definitely outdated. :-)


nix builds don't work on OSX any more

playground and meadow don't build on Mojave, they probably need updated version of nixpkgs. Presumably many of IOHK nix projects have the same issues.
[11 of 11] Compiling Server           ( src/Server.hs, dist/build/Server.o )
ld: warning: /nix/store/xsa7nkp8nippm62vg7q2gx5ysv8qyzlf-libiconv-osx-10.11.6/lib/libiconv.dylib, ignoring unexpected dylib file
ld: warning: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation, ignoring unexpected dylib file
/nix/store/w9avgn80c1vqsn9bpm1x5401qknlc966-cctools-binutils-darwin/bin/ranlib: object: dist/build/libHSmeadow-<IP_ADDRESS>-8IAYThHEhtLB5oYKwmx5Qd-ghc8.6.4.a(cryptlib.o) malformed object (unknown load command 1)
`ranlib' failed in phase `Ranlib'. (Exit code: 1)
time.setupCompilerEnvironmentPhase 4
time.unpackPhase 0
time.patchPhase 0
time.compileBuildDriverPhase 3
time.configurePhase.user 1.919
time.configurePhase.system 0.555
time.configurePhase.real 2.768
time.configurePhase 3
time.buildPhase.user 12.095
time.buildPhase.system 2.113
time.buildPhase.real 14.773
builder for '/nix/store/q6cyd1vhlmrm9bpk5v23mm8q57vq429z-meadow-<IP_ADDRESS>.drv' failed with exit code 1

cc @angerman
Might this be solved by going to 19.03? That seems like a good reason to do so.

I had a quick look but it looks like you need a good working knowledge of https://github.com/input-output-hk/nixpkgs to play around, just overriding the NIX_PATH=custom_nixpkgs with a NixOS nixpkgs causes unexpected argument 'enablePhaseMetrics' so I presume there is some custom nix tools stuff that needs to be in whatever nixpkgs you use.
Is there any documentation on this?
Other Haskell projects are building on my OSX machine using latest stable NixOS nixpkgs so I think it's just a matter of the latest OSX updates not being in the iohk nixpkgs.

We have a customized fork of nixpkgs, alas :(
I know devops are looking into upgrading to 19.03, I don't think this is something we can easily do unilaterally.

There is iohk-19.03 branch on iohk/nixpkgs
Out CI is unable to build that though. See input-output-hk/tools#4. @input-output-hk/DevOps need to upgrade our Mac builders first.

Fixed since I upgraded our nixpkgs.


How to split a large state machine into several small state machines and put them in different files

A large state machine results in many lines of code，so i want to put some sub states in other files,How can I achieve it
thanks

Hi @mjt123. Yes, you're right, and not the first to bring this up. I need to add a section to the Wiki/Book about how to do this. In the meantime, here's an answer I gave to a similar question a while back: https://github.com/amaiorano/hsm/issues/9#issuecomment-352260330. See the very last paragraph for one way to split up large HSMs so that you have only the root state declared in header files. Let me know if this helps.

hi @amaiorano,it works．And as you said, dealing with dependencies between States is cumbersome.


get_latest_image_version_deb(): run apt-get update

When we were still using Chef, we accidentally ran it twice on downburst
VMs during scheduled jobs. Now that we're not, VMs are showing up with
stale apt caches. This will make all deb-based systems update their
cache before attempting to install a kernel.
Signed-off-by: Zack Cerza<EMAIL_ADDRESS>

Refer to this link for build results (access rights to CI server needed):
http://jenkins.ceph.com//job/teuthology-pull-requests/1635/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.ceph.com//job/teuthology-pull-requests/1636/
Test PASSed.


Add Labels to pie chart for each slice

Add Labels to pie chart for each slice

Labels added in 0.0.4 but only allow internal labels not any labels outside of the pie yet


Import types with the type keyword in main.ts

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
865

Relevant Lines:
865

💛  - Coveralls


ui: Refactor create dialog style

@zhangdichn rebase master before

Same here, we can use the Update Branch provided by github to keep update with master.

@zhangdichn rebase master before

rebase master done


Add error handling for readFileSync.

this was merged in #62

this was merged in #62

Thank you!
Best regards,
Alex


Latest master (d96810f) has compilation errors for px4fmu-v2_default

It appears that the following types are missing in the vehicle_gps_position.msg
uint64 timestamp_position
uint64 timestamp_time
uint64 timestamp_variance
uint64 timestamp_velocity

After I added those I went on to compile and there were quite a few problems in ekf2. Some missing/undefined types such as ext_vision_message , ev_delay_ms and others. I couldn't go on to "fix" the problem as there were errors I couldn't have resolved. I did the git submodule update --init --recursive after merge/checkout.
Could there be anything else I am missing or maybe you forgot to commit submodule updates or something similar?

Master being broken is practically impossible, thanks to continuous integration.
Are you on an absolutely clean pull of master? Run  make clean, make submodulesclean and git clean - dfx to make sure.

make clean and make submodulesclean did it for me, thanks! Case closed.


Urbancode deploy widget

I'm running a ucd collector and it is showing the app name. But the problem is I can see only one app env. at a time.

I want all app env. at the same time.
Please help me to resolve this problem.

@anayyadav Is this still an issue?

Closing the issue due to inactivity


Make timezone database initialization optional

In case the application current location as the timezone of the application it should be possible to omit the initialization of the timezone database so that it doesn't default to UTC.
Update flutter_native_timezone library to the latest 2.0.0 version.

Nice, didn't think it would be easy to implement.
How does it behave when upgrading from 3.x or the current 4.x prereleases?
ie. how many lines would people need to fix when upgrading

No changes will be required, this is an optional parameter with a default value so the call to DeviceCalendarPlugin() will always initialize the timezone database as  before
  factory DeviceCalendarPlugin({bool shouldInitTimezone = true}) {
    if (shouldInitTimezone) {
      tz.initializeTimeZones();
    }
    return _instance;
  }


wifi_prov_mgr: Add support for continuous (always on) BLE provisionning (IDFGH-4111)

Is your feature request related to a problem? Please describe.
I'm successfully using wifi_prov_mgr component to provision esp devices, but some esp devices need to update their wifi settings from time to time, for example if they are regularly moved to a new location.
Then we could erase our device to factory defaults and start again the provisioning manager but I'd rather like the provisioning manager to be always on, so that we can update wifi settings easily at any time through BLE transport.
Describe the solution you'd like
So I'd like wifi_prov_mgr component to add support for a "continuous" mode for BLE transport, which means it is always on, even when esp device is actually already connected to wifi, so that we can update the wifi settings easily.
If we configure custom endpoints, the provisioning manager would also allow to be used as the normal communication manager similarly to the esp_local_ctrl component.
I would also be interested to see a example using both wifi_prov_mgr and esp_local_ctrl components at the same time so that they share the same protocomm instance.

So would the provisioning manager work correctly if we don't call esp_wifi_disconnect() while the esp is already connected to wifi AP?
See: https://github.com/espressif/esp-idf/blob/master/components/wifi_provisioning/src/manager.c#L1449

Thanks for raising this feature request.

I have a similar suggestion -make it easier to extend provision manager and allow it to be integrated with a permanent BLE peripheral, such as bleprph. I was able to do that: completely delete protocomm_nimble.c and replace it by my own code based on bleprph - add provision endpoints to "static const struct ble_gatt_svc_def gatt_svr_svcs", route characteristic read/writes to protocomm_req_handle, call protocomm_handle->sec->open_transport_session on BLE connection and protocomm_handle->sec->close_transport_session on BLE disconnection, etc.
It took me more that a week to make it work - I had to study source code and access some private data structures to do that. It would have been better if provision manager will offer an API that would make such integration easier.
Another big problem is Android library in com.espressif.provisioning. It is written in a way to make extension impossible - all data members and most of constructors are private, which prevents subclassing. I had to use reflection to customize its behaviour, the result works, but extremely ugly. Again, that library should be designed to be extensible.
If I knew how inflexible and clunky provision manager is, I should have implemented my own provisioning protocol - it would have taken no more than 3 days - I may still do that.
I would argue that in the current form provision manager is no more than a demo and is totally useless for real world device because if a company pays the price of enabling BLE in a device, then it would make no sense to use BLE only for such infrequent operation as WiFi provisioning. Company always wants to add some other permanent BLE functionality and the current black box provision manager cannot be integrated well with any other BLE code.

Hey @jhnlmn, the work you did to integrate the provision manager and a permanent BLE peripheral sounds very interesting and useful.
Would you mind sharing your implementation?

I think the "continuous (always on) BLE provisionning" feature is similar to BLUFI
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/blufi.html

Completely agree - wifi provisioning example with its provisioning manager and protocomm_nimble is completely useless from a real world perspective.  And the lack of support from ESP to help implement a solution for continues provisioning is almost non-existent.  Anyhow, the way I've achieved this continuous provision is as follows:

Execute ESP_ERROR_CHECK(wifi_prov_mgr_disable_auto_stop(0)) before ESP_ERROR_CHECK(wifi_prov_mgr_start_provisioning(security, pop, service_name, service_key)) in app_main.c (from the wifi provisioning example)
In custom_prov_data_handler, if inbuf (what the client side app sends over to the ESP32) is equal to a certain string (for example, "restart") , then re-execute ESP_ERROR_CHECK(wifi_prov_mgr_start_provisioning(security, pop, service_name, service_key)).  This causes ESP32 to force restart and then you can re-provision the chip.  Of course, you have to make sure that upon restarting, NVS flash must be erased, or at least the wifi credentials in NVS flash should be replaced with empty values. While I don't like to force restart the chip in order to re-provision the wifi credentials, this is the only way I've been able to re-provision the chip because I'm unable to access prov_ctx->prov_state (wifi provisioning state in manager.c) and it's the status of prov_state which causes the chip to reboot upon calling wifi_prov_mgr_start_provisioning.  If anybody else has a more elegant solution, please share.  I'm in desperate need of something more savvy than a force reboot.


WIP: Reduce allocations - other part

It's a concurrent PR to #802 because I'm testing a different approach.
Ultimately only one PR will be merged, containing the best of the 2.
I have been profiling FabulousContacts (slightly modified version) on Windows, in an Android emulator.
Here's the list of changes I made

Use struct tuples instead of tuples in the ViewBuilders.Update... when comparing old/new values with match ... with
Use struct union for Collections.Operation
Remove printf in ViewUpdaters.updateNavigationPages (should use Program.withConsoleTrace instead in a future version)
Replaced Array.tryFind (fun x -> ...) by a simple recursive function to avoid lambda context capture

Here's the result as of today (left: Fabulous 0.57, right: this PR)
By allocations

By methods

By assemblies

Top allocations

/azp run full build

for updateIncremental would be worth take a look at https://github.com/fsprojects/Fabulous/pull/780 to reduce unneccessary allocations, i think

@vshapenko For now, I'm currently looking at reducing allocations in Collections.diff, as this is where most allocations come from.

Ok, I managed to reduce allocations in Collections.diff with a dirty trick.
The problem was essentially the fact that Collections.diff and Collections.adaptForObservableCollection were returning an F# list with Operation to apply to a list to go from State A to State B. Those functions are called a lot of times (~20.000 times just for adding 20 people to the contact list in FabulousContacts), so any allocation quickly become a lot of allocations...
So to avoid having those returned F# lists, I preallocated an array from the ArrayPool for the maximum size the algorithm will need and made diff/adaptForObservableCollection directly work with it.
Also made sure that all local functions were not implicitly capturing variables to avoid allocations.
I will need to clean up this algorithm before merging.
By top allocations

By methods

By assemblies

Looks very promising. Looking forward to try this merge in real action

@vshapenko Yes! I will surely publish a preview release.

Fabulous has to box struct to store them in ViewElement because it stores any kind of value as obj.
So, to reduce allocations on structs (Xamarin.Forms.Color, Xamarin.Forms.Thickness and Xamarin.Forms.LayoutOptions), I put memoization mechanism by storing the boxed values and reusing those instead of reboxing each time.
Also I've been bit by https://github.com/dotnet/fsharp/issues/526 when trying to reduce struct boxing.
So to avoid implicit boxing of structs like ValueOption, I replaced the = operator with a custom function.
By top allocations

By methods

By assemblies

Top allocations

This time, I changed the way we update Attached Properties to avoid passing an overload dictionary each time we update a ViewElement.
Instead the overloaded updater is a function stored in ViewElement just like update.
This removed instantiations of the 5th and 7th most instantiated types, but with apparently little effect on the global memory allocation.
By top allocations

By methods

By assemblies

Top allocations

@TimLariviere , preview is ready to try?

It's almost ready. Just need to fix the few comments I made and then I'll merge this PR and push the preview package to NuGet.
Should be done by the end of day.


feat: outline plugin setting

This PR changes configuration for Outline plugin, adds a new option to always show searchbar in a compact manner and fixes current show-outline-buttons setting.

Hidden (default)

Show Buttons

Show Searchbar and Collapse Button

Good idea, thank you!

just a small heads-up: in the spirit of the theme, I have reduced the three options to just two (hiding/collapsed)


Uncaught Error: ENOENT, no such file or directory '/Users/Scott/.rvm/gems/ruby-2.1.2/bin/rubocop'

[Enter steps to reproduce below:]

I just opened atom from iTerm with atom .

Atom Version: 0.188.0
System: Mac OS X 10.9.5
Thrown From: linter package, v0.12.0
Stack Trace
Uncaught Error: ENOENT, no such file or directory '/Users/Scott/.rvm/gems/ruby-2.1.2/bin/rubocop'
At fs.js:807

Error: ENOENT, no such file or directory '/Users/Scott/.rvm/gems/ruby-2.1.2/bin/rubocop'
  at Error (native)
  at fs.statSync (fs.js:807:18)
  at Object.fs.statSync (ATOM_SHELL_ASAR.js:206:16)
  at LinterRubocop.Linter._cachedStatSync (/Users/Scott/.atom/packages/linter/lib/linter.coffee:69:17)
  at LinterRubocop.Linter.getCmdAndArgs (/Users/Scott/.atom/packages/linter/lib/linter.coffee:86:16)
  at LinterRubocop.Linter.lintFile (/Users/Scott/.atom/packages/linter/lib/linter.coffee:127:24)
  at /Users/Scott/.atom/packages/linter/lib/linter-view.coffee:158:18
  at Array.forEach (native)
  at /Users/Scott/.atom/packages/linter/lib/linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:100:15)

Commands
     -1:14.4 settings-view:open (atom-text-editor.editor.is-focused)
     -0:00.4 core:close (div.settings-view.pane-item)

Config
{
  "core": {
    "themes": [
      "atom-dark-ui",
      "atom-dark-syntax"
    ],
    "disabledPackages": [
      "autocomplete-plus",
      "atom-jshint",
      "jshint",
      "atom-lint"
    ]
  },
  "linter": {
    "showHighlighting": false,
    "lintOnChange": false
  }
}

Installed Packages
# User
emmet-atom, v2.3.4
linter, v0.12.0
linter-csslint, v0.0.11
linter-erb, v0.1.0
linter-jshint, v0.1.0
linter-rubocop, v0.2.2
linter-scss-lint, v0.0.14

# Dev
No dev packages

This has come up a few times now. Usually I just have to go in and and change my PATH back to /Users/Scott/.rbenv/versions/2.1.2/bin/rubocop. I'm not sure what is changing it in the first place though. Updates perhaps?

Similar issue was recently fixed in Atom-linter: https://github.com/yujinakayama/atom-lint/issues/30

It was happening once every week or two for a while but hasn't occurred in over a month, so I'm thinking it was resolved. Thanks!

And now it's back. And changing the rubocop path and restarting atom is no longer fixing it. Though the error message is slightly different this time:
Uncaught Error: ENOENT: no such file or directory, stat '/Users/Scott/.rbenv/versions/2.1.2/bin/rubocop '
fs.js:846
Hide Stack Trace
Error: ENOENT: no such file or directory, stat '/Users/Scott/.rbenv/versions/2.1.2/bin/rubocop
'
at Error (native)
at fs.statSync (fs.js:846:18)
at Object.fs.statSync (ATOM_SHELL_ASAR.js:206:16)
at LinterRubocop.Linter._cachedStatSync (/Users/Scott/.atom/packages/linter/lib/linter.coffee:87:17)
at LinterRubocop.Linter.getCmdAndArgs (/Users/Scott/.atom/packages/linter/lib/linter.coffee:104:16)
at LinterRubocop.Linter.lintFile (/Users/Scott/.atom/packages/linter/lib/linter.coffee:145:24)
at /Users/Scott/.atom/packages/linter/lib/linter-view.coffee:163:18
at Array.forEach (native)
at /Users/Scott/.atom/packages/linter/lib/linter-view.coffee:162:18
at FSReqWrap.oncomplete (fs.js:77:15)
This time I was eventually able to get around it by removing "rubocop" from the end of the path.


TextBlock inline spacing & BaselineAlignment

Describe the bug
There does not seem to be any way to control the spacing of Inline elements within a TextBlock.  This may be due to lack of documentation, but I did not find any likely properties while reviewing the source of Run, Inline and TextElement.
Additionally, the subscript shares a common baseline with the rest of the text.
To Reproduce
I created a new project with "dotnet new avalonia.app".
I updated the version of Avalonia to 11.0.7 as my templates created 11.0.6.
This is my MainWindow.axaml:
<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d" d:DesignWidth="400" d:DesignHeight="250"
        Width="400" Height="225"
        x:Class="RichText.MainWindow"
        Title="RichText">
  <StackPanel>
    <TextBlock>
      <TextBlock.Inlines>
        <Run Text="Welcome" />
        <Run Text="to" />
        <Run Text="Avalonia!" Foreground="Red" FontWeight="Bold" />
      </TextBlock.Inlines>
    </TextBlock>
    <TextBlock>
      <TextBlock.Inlines>
        <Run Text="H" />
        <Run Text="2" BaselineAlignment="Subscript" FontSize="8" />
        <Run Text="O" />
      </TextBlock.Inlines>
    </TextBlock>
  </StackPanel>
</Window>

Expected behavior
There ought to be some means of controlling the spacing between inline elements.
Screenshots
This is what is shown as the app window.  The first line has spacing, which is good.  However, the second line also has the same spacing, which is undesirable.  I can find no means of controlling this.

This is what I expected for the second line (ignore any font differences).  Note the baseline of the  subscript is below the baseline of the rest  of the text.

Environment

OS: Armbian 23.11.1 bookworm
Avalonia-Version: 11.0.7

Additional context
Here is the version information for my dotnet:

.NET SDK:
Version:           8.0.101
Commit:            6eceda187b
Workload version:  8.0.100-manifests.69afb982
Runtime Environment:
OS Name:     debian
OS Version:  12
OS Platform: Linux
RID:         linux-arm64
Base Path:   /home/mj/dotnet/sdk/8.0.101/
.NET workloads installed:
Workload version: 8.0.100-manifests.69afb982
There are no installed workloads to display.
Host:
Version:      8.0.1
Architecture: arm64
Commit:       bf5e279d92
.NET SDKs installed:
7.0.401 [/home/mj/dotnet/sdk]
8.0.101 [/home/mj/dotnet/sdk]

Additionally, the Superscript and TextTop values have no effect:

Y BaselineAlignment is currently not fully implemented


Adding azimuth carrier computation for bursts

This PR adds the functionality of computing the azimuth carrier polynomials to the S1 reader for each burst (if requested).
This functionality will be needed for both COMPASS range/Doppler and geocoded CSLC workflow. To avoid code duplication, it makes sense that this functionality sits in the reader.
Note: the polyfit function in sentinel1_burst_slc.py needs help for the documentation.

LGTM. Just address Codacy warnings.

The datetime module is imported twice in the code with different styles, would recommend unifying them, such as below at the top of the script:
import datetime as dt

@LiangJYu We has similar syle inconsistency of datetime in sentinel1_orbit_reader.py and sentinel1_reader.py as well, might be a good idea to use the same import style as above as well?

@LiangJYu did my best to address codacy issues. There is only one remaining related to an unused (but in reality is used) variable. @yunjunz you are right. Our imports of the datetime module are ambiguous. However, we cannot use your suggestion (import datetime as dt) as we use dt in to indicate a time difference. I decided to resolve the issue you pointed out using import datetime as datetime. It is a bit long but rather straightforward and unambiguous and it also help code readability. Waiting for your green light to merge the PR.


users can now directly require the npm module

Summary
Currently a user has to traverse to the folder containing the lib after installing the npm module. Adding a main property to the package.json removes the need for this. Closes #104
How Has This Been Tested?
Linked locally as an npm module and required in project.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue).

See #104


new nuget package fails to load

I tried switching from subor.NNG.NETCore to nng.NET (1.3.1-rc0) and my .net Core programs fail to load with an exception stating it cannot load the nng.NETCore.dll assembly.
It seems the code for AssemblyLoadContext still mentions nng.NETCOre.dll, when the new dll bears the nng.NET.dll name.
Is it a bug or did something go wrong in my packages when I switched ?

Tests should have caught this, I'll look into it.
Thanks for reporting this.

any news on this issue ?

I understand it's an issue and have just been swamped.
The nuget package should definitely get fixed, but are you able to use the source in the mean time?

Fixed in v1.3.1-rc1

Fixed in v1.3.1-rc1