Test Isolation using linux namespaces

This is a work in progress towards using linux namespaces to do test isolation with ROS 2 in bazel
So far I've figured out:

how put a process into new namespaces

Use unshare() or clone() or clone3()?

unshare() seems easiet to work with
bazel's linux-sandboxing uses clone() because in 2015 there was a race condition in unshare() - assuming that's no longer relevant to Drake-ROS

need to create a new user namespace in order to create network and IPC namesapces without CAP_SYS_ADMIN

How to enable multicast on the loopback device in a network namespace

Open a socket and use ioctl to set the flags

this works even when using linux-sandboxing strategy, despite documentation warning that linux-sandboxing could not be used in docker because network namespaces could not be nested

Still need to finish the proof of concept - fork/exec a talker/listener and see if they communicate.
Then comes the starlark rules. I haven't thought about what they should look like yet.
@calderpg-tri @IanTheEngineer FYI

This change is

I don't see any linked issue number here.  Where I can find the user story or requirements document that governs this work?  I can imagine several different possible victory conditions, and not all of them would require adding more dload shim complexity.

I don't see any linked issue number here

This comes from discussion with @IanTheEngineer and @calderpg-tri, and is motivated by test failures from collisions with the current rmw isolation mechanism. They can give you more info.

Also deferring the shimming code to live in Anzu only would be less expensive to develop and test, since the set of supported platforms and build rule flavors is much narrower there.
Placing the namespacing code in open-source makes a lot of sense.  Other people will reuse it and can contribute back.  Since the Bazel hijinks to use it are going to be a lot more project-specific, I don't see the value in developing those inside Drake ROS.  We should develop that in Anzu.  If we find in due course that the code is more general than Anzu, we can open source it then.

Ready for review !

--sandboc_debug reveals that ERROR: /home/runner/.cache/bazel/_bazel_runner/8730fdb20282044092d88181ddab1712/external/fcl_internal/BUILD.bazel:120:20: Compiling external/fcl_internal/drake_src/src/geometry/shape/shape_base.cpp failed: I/O exception during sandboxed execution: /home/runner/.cache/bazel/_bazel_runner/8730fdb20282044092d88181ddab1712/sandbox/linux-sandbox/829/execroot/drake_ros_examples/bazel-out/k8-fastbuild/bin/external/fcl_internal/drake_src/drake_vendor/fcl/geometry/bvh/detail/BV_fitter_base.h (No space left on device)

Green CI ! Ready for review !

nit Why define this using CPyhon API and not use pybind11?

Passing comment since I still get email notifications. Elsewhere we intentionally tried to use Drake's version of Pybind11. I don't remember why, but since bazel_ros2_rules doesn't depend on Drake using CPython directly might avoid whatever problems were caused by mixing upstream and Drake's fork of pybind11.

For the record, see this gist for the solution I ended up committing into TRI's Anzu repository.  I added that function into a helper library (bound in Python), and then make sure that all of our project-specific test launchers called that function during their main() before starting to do any real work.

Hi @jwnimmer-tri and @adityapande-1995
I added the suggestions here https://github.com/sloretz/drake-ros/pull/1

Resolved merged conflicts, open for review / approval !

@adityapande-1995, @jwnimmer-tri and @EricCousineau-TRI I included some suggestions here to use pybind11 https://github.com/sloretz/drake-ros/pull/2

I included some suggestions here to use pybind11 ...

FYI This was previously discussed and rejected:
https://github.com/RobotLocomotion/drake-ros/pull/277#issuecomment-1654786595

Resolved merged conflicts, open for review / approval !

Eric is unavailable today.  Tomorrow would be the earliest he could look, although I suspect he's pretty busy.


Port Token Endorsements

Based on C# work (https://github.com/Microsoft/botbuilder-dotnet/pull/655)

Disregard review dismissal; unauthorized path is working fine.


Feat: Adds support for a timed (non-auction) sale

The type of this PR is: Build
Description
The goal of this work is to support non-auction sales in our clients. Support for this feature has waned over time as we've rebuilt UIs and as the business has stopped running these. But we want to bring them back! The main task here is to go through and remove auction-specific references for these non-auction sales.
Auctions are actually a sub-type of these generic Sales. Since the Sale itself (just a grouping of artworks with a timer) is a simple concept, I opted to create a new app instead of trying to retro-fit the existing Auction app. Since these are not auctions, I used our standard artwork grid which removes any mention of "lot".
The work included here was to:

Add the new SaleApp, give it all the basics (header/description/artwork grid)
Update the Artwork page to not reference "Auction" if the artwork is in a non-auction sale

There is still additional work that needs to be done for this to be complete, but that can be in a separate PR:

Updating search results and autocomplete, which still reference "auction"
Add back "Works by artists you follow" rail (if we want it) on the sale page
Add an "Other works from this sale" section on the artwork page (if we want it)
Similar updates in the App

Before & Afters

Alright @dzucconi I updated the sale timer logic and added a few tests – didn't move to MP because it ended up being pretty simple.

Feel free to merge!


refactor(execution wizard): improve helptext, logging, argument checking

@lukasrothenberger what do you think about copying the script during the cmake build into the build directory? Not a priority, but I think it makes things easier for the user. The same applies to dp-fmap.


XPython kernel doesn't support debugging when using xeus-python-wheel

Hello!
I built this wheel in a fresh venv with a fresh install of jupyter lab and the debugging extension. I can switch to the XPython kernel but I don't have the option to enable debugging. Is this expected? I tried updating CMakeLists.txt to use the latest version of xeus-python but no luck.
Thanks!

This works for me now!


File reader tests v2

Fixed all issues commented on file_tests ( and renamed. this is actually a reader test ).
The blob validation is currently only for strings because we don't have a sane way to compare blobs yet.

LGTM.

Review status: 0 of 7 files reviewed at latest revision, all discussions resolved, all commit checks successful.

Comments from the review on Reviewable.io

Pushed and closed.


Application for EthCapeTown in South Africa

@todo

[ ] apply for https://ethcapetown.com/

application was accepted
we are not going because of VISA problems


Added GracefulFiniteServer wrapper

The server will die gracefuly when an specific file exists.
Then, the server will remove the file, and will die.

Motivation
ReactPHP server can run on production, of course. In order to
be more production friendly, this implementation appends a new
behavior for deploy-time. Without this implementation, new code
is only executed when:

Supervisor service restart - If the supervisor configuration
is the same, that options seems to be the worst. All processes
then will be stopped and restarted. If any thread is being served,
will be killed and no response will be served.

Kill manually the processes. Same as last option, but without
supervisor. Same thread effects.

Use #138, and wait for thread auto-die. If you expect real-time
changes in production, then you should add a low iterations
number, or a high production petitions. Neither a valid option.

With this implementation, a new deploy could be something like

pull project
clear cache
touch(file/s)

Like the idea, but when using files this way you block the loop. In the case of supervisor supervisor sends the process a signal you can catch with https://github.com/mkraemer/react-pcntl or in the coming event-loop v0.5.
While this makes it a bit more production friendly it doesn't solve the gap between sending the signal and  supervisor waiting for the process to close and the process restarting. Within that gap you app doesn't accept any connections and is thus unreachable. It is still better then just killing of all existing connections and restarting :+1: .

@WyriHaximus thanks for the feedback.
Why do you mean by blocking the loop?
Killing all existing connections and restarting is not an option. I'm working on a millions connection per hour, and a continuous deplouying philosophy...

No problem @mmoreram I'm looking into exactly the same thing at the moment :+1: for my own deployments. The issue with file_exists is that it's a call to the filesystem and those are not async thus they will block the loop for as long as that call to the filesystem takes. Which is why I suggested OS signals.


LaneNet Accuracy

Hi, I have trained the LaneNet with my own data. How can I test it to get a percentage number of correct detected lines (Accuracy). Only testing on single or multiple images is not enough. I hope someone can help me :)

@LukasProgram You may see the tusimple dataset's metric figure which i think may help you:)

Hi @MaybeShewill-CV I also used a validation set. Can you tell me something about the output? It confuses me..

@LukasProgram The model was overfitted:)

This was my assumption too because according to the training accuracy of my model the training process could be stopped in 120k, because at this point the model detects lanes with almost 1. Am I right?

But how could you read this information from the validation results? can you tell how should the graph look like in the validation step (best case)?
Thx for helping

@LukasProgram Should be almost the same as training process:)

@MaybeShewill-CV thx
I trained it with pictures from a road simulation program.
200 training 50 validation 50 testing
What do you recommend to do in the case of overfitting?
More data? Decrease epoch number?

@LukasProgram 1.Add more data 2. Do more data augmentation:)

@MaybeShewill-CV
I can add more data, but they will be similar to the other pictures because the simulation environment does not change much. I think adding more data would overfit the model even more.
How could you avoid overfitting? Would not it be better to reduce the epoch number from 200 to 100 to at least show that both models perform equally but the other requires less calculation time and no overfitting occurs?
@MaybeShewill-CV  rlly thx for you support

@LukasProgram 1.add more data 2.early stop:)

Hi @MaybeShewill-CV I also used a validation set. Can you tell me something about the output? It confuses me..

hello,Can you give me a copy of the code you downloaded at that time? Because the current code has been updated, the accuracy of the call part has been deleted, so I want to refer to the code at that time, thank you


Call stopvpn upon tun iface creation

Task/Issue URL: https://app.asana.com/0/1203137811378537/1203972982741396/f
Description
When we fail crating the tun iface, we also need to call stopVpn otherwise we may get stuck in ENABLING state
Steps to test this PR
NA just code review and AppTP smoke tests

Current dependencies on/for this PR:

develop

PR #2847   👈

This comment was auto-generated by Graphite.


Rel 6.1.0

Updated hapi-fhir-jpaserver-starter with remote repository.
Upgraded it with version 6.1.0
Applied all custom changes and tested locally.

Closing PR as I opened a new one for updating the fork


Issues with running simple notepad pywinauto script

Issues running PyWinAuto using simply the basic example script from the pywinauto github welcome page for notepad.
from pywinauto.application import Application
app = Application().start("notepad.exe")

app.UntitledNotepad.menu_select("Help->About Notepad")
app.AboutNotepad.OK.click()
app.UntitledNotepad.Edit.type_keys("pywinauto Works!", with_spaces = True)

I'm receiving this error below:
Traceback (most recent call last):
  File "C:/Users/USER_NAME/Documents/Open_Notepad.py", line 1, in <module>
    import pywinauto
  File "C:\Program Files\Python36\lib\site-packages\pywinauto\__init__.py", line 72, in <module>
    from . import findwindows
  File "C:\Program Files\Python36\lib\site-packages\pywinauto\findwindows.py", line 42, in <module>
    from . import controls
  File "C:\Program Files\Python36\lib\site-packages\pywinauto\controls\__init__.py", line 36, in <module>
    from . import uiawrapper # register "uia" back-end (at the end of uiawrapper module)
  File "C:\Program Files\Python36\lib\site-packages\pywinauto\controls\uiawrapper.py", line 46, in <module>
    from ..uia_defines import IUIA
  File "C:\Program Files\Python36\lib\site-packages\pywinauto\uia_defines.py", line 35, in <module>
    import comtypes.client
  File "C:\Program Files\Python36\lib\site-packages\comtypes\client\__init__.py", line 33, in <module>
    gen_dir = _find_gen_dir()
  File "C:\Program Files\Python36\lib\site-packages\comtypes\client\_code_cache.py", line 71, in _find_gen_dir
    result = os.path.abspath(gen_path[-1])
IndexError: list index out of range

This is known comtypes issue. Please re-install your Python to the non-system folder like C:\Python36\ or run the script as Administrator. Unfortunately this issue is still not fixed in comtypes repo, though few similar pull requests with fixes were submitted.


Update README with more explanation.

Maybe I can do that.

Yes you can, please fork my code and make a pull request.


Could we have a default highlight group for the titles of :FzfLua tabs?

Description
Specifically, I use this keymap:
vim.keymap.set('n', '<C-b>', function () require('fzf-lua').tabs {
  tab_title = {
    function (tab_idx, is_current)
      local tabnr = vim.api.nvim_list_tabpages()[tab_idx]
      return string.format('Tab #%s: %s', tabnr, require('tabby.feature.tab_name').get_raw(tabnr))
    end,
    'FzfLuaTabTitle',
  },
} end)

But then I need to create the highlight group FzfLuaTabTitle.
Another related problem of this is that: I cannot just define hi FzfLuaTabTitle ... as a colorscheme author since I cannot assume that the user is also using the FzfLuaTabTitle as the highlight group name.

This will require some more changes as the default hls for the tab title/marker aren't currently neovim highlights (hardcoded term colors), in order to do what you want I'd have to permanently link the hl group to another group (or color).
While not a big deal I'd like to do it right as this issue potentially opens up a bigger issue for other terminal highlights such as marker colors in buffers, keymaps, etc.

https://github.com/ibhagwan/fzf-lua/commit/8b6181b3977ad16cb5ca9d8f14b0849c8d1d708a
@nyngwang, took a while as I wanted to think about future highlight groups instead of harcoded colors in some providers, the above commit is the start of this process.
I made sure this doesn't change any of the customization nuances you requested in #622, however, setting a highlight via the tab_title option will override the default highlight group FzfLuaTabTitle (same for the marker variant), but if the highlight isn't specified you can now use:
:hi! link FzfLuaTabMarker IncSearch

Which also works when calling:
:lua require("fzf-lua").tabs({ tab_marker = "<<< CURRENT" })
-- or
:lua require("fzf-lua").tabs({ tab_marker = { "<<< CURRENT" } })

But will get overwritten when using:
:lua require("fzf-lua").tabs({ tab_marker = { "<<< CURRENT", "CurSearch" } })

@ibhagwan Great work! I was busy, just got time to try it :)

Thanks @nyngwang :)


Response type not rendered when swagger responses is empty

I've found that if you have a swagger file where one or more of your operations has it's responses defined as an empty object, the generated api client returns Promise with no type, resulting in a TS error.
Example:
"/someoperation" : {
      "post" : {
        "operationId" : "SomeOperation",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : { },
     }
}

Result:
/**
 *
 * @method
 * @name ApiClient#SomeOperation
 */
SomeOperation(parameters: {} & CommonRequestOptions): Promise;

Typescript requires that promises have some type eg Promise.
In this situation the type should be voice i.e
SomeOperation(parameters: {} & CommonRequestOptions): Promise<void>;

https://github.com/mtennoe/swagger-typescript-codegen/blob/master/templates/method.mustache#L70
Perhaps a check could be added here, and render void if the return type is undefined or null?

Yo! Hm, before we look into a fix, I am not sure this is a supported scenario in the Swagger spec? A request would have to have at least one response, for instance a 204, even for fire-and-forget requests? (I am not seeing any mention of it being either optional or required in the specs, but I would assume its mandatory)

You're right. Having at least one response is mandatory.
https://swagger.io/docs/specification/describing-responses/
Thank you!


E2 Ops rebalance based on some more quick benchmarking

Array get/set/pop/shift lowered (to match tables)
Holograms raised (which doesn't even begin to cover the network costs...)
PropCore generally raised, including setPos/ang, propSpawn (still ought to be even higher...)
interval() significantly raised (creating timers seems expensive)
A few simple getters were made cheaper (curtime, convars)
Fixes #887
Fixes #1061

Why wouldn't holograms have network costs? They have to be synced to every client, same as props etc.


Fix link to schema docs, formatting fixes

Include suggestion to also include a readme.md file with screenshot in your app folder.

Thank you! Documentation updates are the best.


Customize /traces response

Zipkin traces api returns the ip and port in payload. We would like to suppress this info as it is recognized as security vulnerability.

Is there a way to suppress this info? We are ok with not having remoteEndPoint or localEndPoint nodes as well.

Thanks for coming by. You can use a collector to redact such information.
tir. 17. mai 2022, 19:49 skrev arun @.***>:

Zipkin traces api returns the ip and port in payload. We would like to
suppress this info as it is recognized as security vulnerability.
[image: image]
https://user-images.githubusercontent.com/15619237/168877337-cdd6a036-b6e9-410e-833d-cc0e0edd8302.png
Is there a way to suppress this info? We are ok with not having
remoteEndPoint or localEndPoint nodes as well.
—
Reply to this email directly, view it on GitHub
https://github.com/openzipkin/zipkin/issues/3448, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXOYAUXL5OXDTP3YDPQFILVKPL3FANCNFSM5WFW7P5Q
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

You can use something like https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/transformprocessor with an open telemetry collector but to be honest i looks like too much burden. You can also create your own processor where you redact those tags: receiver zipkin -> custom processor -> exporter zipkin.

Thanks Carlos, where I find Zipkin documentation for creating custom processor. Any example/tutorial etc. will be very helpful.


Apply the idea plugin for all projects.

Isn't this something that happens automatically in IntelliJ? What would this change?

Okay, sounds good to me. I usually import the project from IntelliJ, which I think does this but I don't have a problem if this doesn't affect anything else but make the project easier to work with.

Cool, good to merge here?


Werr

I'm using Malwarebytes to protect my mobile device. Try it for free:
https://www.malwarebytes.com/mobile

I'm using Malwarebytes to protect my mobile device. Try it for free:
https://www.malwarebytes.com/mobile

U


Bug: Unexpected scroll position sharing between tabs

Problem
We have identified a bug in the tab navigation system. The issue manifests as follows:
When scrolling in the 9/12 tab and then opening the 9/13 tab, the content is not displayed at the top but rather at the scrolled position.
This behavior also occurs in reverse: scrolling in the 9/13 tab affects the scroll position when switching back to the 9/12 tab.
It appears that the scroll position is being shared between tabs, which is not the intended behavior. Each tab should maintain its own independent scroll position.
https://github.com/user-attachments/assets/bf0a7c4f-51d1-4e17-8f8a-bbed7bc608c2

let me try it :raised_hand_with_fingers_splayed:

Thanks! Assigned 👍


Throw errors during Accordion initialisation if key HTML elements are missing

What
Update our JavaScript components requiring specific HTML elements to be present so they throw a MissingElementError (extending GOVUKFrontendError) rather than silently fail:

The sections of the accordion
Header in the section
<span> header
Heading
Toggle icon or text

Why
This is part of our work to have our components throw rather than silently return during initialisation.
Who needs to work on this
Developers
Who needs to review this
Developers
Done when

[ ] Component has been updated to throw errors

A little heads up on the wording, where we've tried to align the messages of the tests for the errors to throws when ... is missing [ + optional extra context]

Moving this to blocked while we work on #4299, to minimise conflicts.


FieldDoc.Fields boxing issue

The Lucene.Net.Search.FieldDoc.Fields property returns object[]. However, according to the documentation, it is designed to be used with string, int, or float.
In Java, this was not an issue because there are numeric reference types that primitive numbers are wrapped in when passed around. But, since it would not be a good user experience to require wrapper classes for numeric types in .NET we should solve the boxing issue another way.

Possible Solution
I took a look at this and how changing Lucene.Net.Search.FieldDoc to be generic would affect other types, and have come up with a possible way we can eliminate boxing/unboxing, but it does require some breaking changes across public APIs.
FieldDoc // Make FieldDoc<T>
FieldDoc.Fields // Change from object[] to T[]
IndexSearcher.SearchAfter(ScoreDoc after, Query query, int n, Sort sort) // Change ScoreDoc to FieldDoc<T>
IndexSearcher.SearchAfter(ScoreDoc after, Query query, Filter filter, int n, Sort sort) // Change ScoreDoc to FieldDoc<T>
IndexSearcher.SearchAfter(ScoreDoc after, Query query, Filter filter, int n, Sort sort, bool doDocScores, bool doMaxScore) // Change ScoreDoc to FieldDoc<T>
IndexSearcher.Search(Weight weight, FieldDoc after, int nDocs, Sort sort, bool fillFields, bool doDocScores, bool doMaxScore) // Change FieldDoc to FieldDoc<T>
TopFieldCollector.Create(Sort sort, int numHits, FieldDoc after, bool fillFields, bool trackDocScores, bool trackMaxScore, bool docsScoredInOrder) // Change FieldDoc to FieldDoc<T>
TopFieldCollector.PagingFieldCollector // Change to PagingFieldCollerctor<T> (this class is private)
TopFieldCollector.PagingFieldCollector(FieldValueHitQueue<Entry> queue, FieldDoc after, int numHits, bool fillFields, bool trackDocScores, bool trackMaxScore) // ctor: Change FieldDoc to FieldDoc<T>
FieldComparer.SetTopValue(object value) // Change to SetTopValue<TValue>(TValue value)
FieldComparer<T>.SetTopValue(object value) // Change to SetTopValue(T value) and overload SetTopValue<T>(T value).
ToParentBlockJoinFieldComparer : FieldComparer<object> // Rely on SetTopValue<T>(T value) rather than SetTopValue(object value)? The class cannot be made generic easily due to its usage in ToParentBlockJoinSortField.GetComparer(int numHits, int sortPos).

FieldComparer<T> was only generic in Lucene, but had to be widened in C# because there is no common type between different closing types in C# (FieldComparer<long> is a different type than FieldComparer<float> and cannot be put into a strongly typed array together). So, another abstraction was added, FieldComparer to be able to pass the type without knowing the closing type.
The FieldComparer<T> class would define a default implementation of SetTopValue<TValue>(TValue value) by casting from TValue to T using an intermediate cast to object, but can be overridden to eliminate boxing in subclasses where boxing applies.
public abstract SetTopValue(T value);

public override SetTopValue<TValue>(TValue value) // Added for .NET to eliminate boxing
{
    SetTopValue((T)(object)value);
}

This is a little weird because the base type uses a generic method and the subclass is a generic closing type, but given the leaky nature of generics and the fact that some types don't have a reasonable way to pass the generic without also becoming generic this seems like a reasonable compromise. I am open to suggestions if someone can come up with something that seems more natural than this.

NOTE: FieldComparer.CompareValues(object first, object second) also casts the generic type in the generic overload (the object overload was added in .NET because there is no common type between generic closing types in C#). Perhaps it would be better to make it FieldComparer.CompareValues<TValue>(TValue first, TValue second) on the base class as well. This leaks into Lucene.Net.Grouping types, ISearchGroup.SortValues and MergedGroup.TopValues are also declared as type object[] and may contain numeric types.
I am mentioning this here because it is another method using the same generic type on FieldComparer.

A potential problem with the above approach is that it is difficult to cast TValue to a value type, such as float. There are some potential solutions we could use here: https://stackoverflow.com/questions/3343551/how-to-cast-a-value-of-generic-type-t-to-double-without-boxing. Since the whole point of these changes is to eliminate boxing, it is probably worth sticking one of those solutions (whichever benchmarks fastest) in the Support/Util folder so we can use it throughout the solution for all of the subclasses of FieldComparer<T>.

So, @rclabo and I have been analyzing this in more detail and it is clear that FieldDoc.Fields cannot be made generic because it contains a mixed bag of field types.
As an alternative, some design proposals to FieldComparer<T> have been benchmarked in BenchmarkFieldComparer to see what the impact of such changes might be.
Benchmarks
Cast to Number

Click to expand!

BenchmarkDotNet=v0.12.0, OS=Windows 10.0.19041
Intel Core i7-8850H CPU 2.60GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=5.0.104
  [Host]     : .NET Core 3.1.13 (CoreCLR 4.700.21.11102, CoreFX 4.700.21.11602), X64 RyuJIT
  Job-CBNWUR : .NET Core 3.1.13 (CoreCLR 4.700.21.11102, CoreFX 4.700.21.11602), X64 RyuJIT

InvocationCount=1  UnrollFactor=1

Method
Mean
Error
StdDev
Gen 0
Gen 1
Gen 2
Allocated

ValueType_Copy
104.3 ms
2.51 ms
7.37 ms
-
-
-
-

ReferenceType_Copy
136.1 ms
2.70 ms
6.68 ms
-
-
-
-

Fill Fields

Click to expand!

BenchmarkDotNet=v0.12.0, OS=Windows 10.0.19041
Intel Core i7-8850H CPU 2.60GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=5.0.104
  [Host]     : .NET Core 3.1.13 (CoreCLR 4.700.21.11102, CoreFX 4.700.21.11602), X64 RyuJIT
  Job-TNEQUD : .NET Core 3.1.13 (CoreCLR 4.700.21.11102, CoreFX 4.700.21.11602), X64 RyuJIT

InvocationCount=1  UnrollFactor=1

Method
Mean
Error
StdDev
Gen 0
Gen 1
Gen 2
Allocated

ValueType_FillFields
253.1 us
9.99 us
27.34 us
-
-
-
480480 B

ReferenceType_FillFields
175.8 us
3.31 us
3.68 us
-
-
-
480 B

Set Top Value

Click to expand!

BenchmarkDotNet=v0.12.0, OS=Windows 10.0.19041
Intel Core i7-8850H CPU 2.60GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=5.0.104
  [Host]     : .NET Core 3.1.13 (CoreCLR 4.700.21.11102, CoreFX 4.700.21.11602), X64 RyuJIT
  Job-ZELLKO : .NET Core 3.1.13 (CoreCLR 4.700.21.11102, CoreFX 4.700.21.11602), X64 RyuJIT

InvocationCount=1  UnrollFactor=1

Method
Mean
Error
StdDev
Gen 0
Gen 1
Gen 2
Allocated

ValueType_SetTopValue
1.391 ms
0.0969 ms
0.2652 ms
-
-
-
-

ReferenceType_SetTopValue
2.474 ms
0.0602 ms
0.1765 ms
-
-
-
-

Clearly, allocations used in the FieldValueHitQueue<T>.FillFields() method and when moving the numeric data out of the fields can be dramatically reduced.
The leading contender, BoxingWrappedReferenceScenario takes us a step back toward the Lucene design and although the details are not worked out, here are some of the basics:

FieldComparer<T> gets a generic constraint to disallow value types.
NumericComparer<T> is changed to NumericComparer<TValue, TWrapper>. TWrapper is the type that is used in its base class FieldComparer<T> and TValue is the value type that is exposed on the public API.
A series of reference type wrappers are made for each numeric type similar to the Numbers Classes in Java. However, unlike our previous one-off approach to building wrappers whenever reference types are required these will be fully implemented with full tests, and put into J2N.

These classes will have all of the same interfaces that numeric types have in .NET including IConverible and IComparable<T>.
To reduce the number of breaking changes introduced to users, they will also use the implicit operator to convert the wrapped value to the numeric type without a cast.

The number class references are used as the TWrapper type in NumericComparer<TValue, TWrapper>.
Other related systems, such as the field cache may also be refactored to both enforce the use of reference types and to allow the system to pass the numbers class instances all the way through from their creation in Field to the FillFields() method without having to unwrap and rewrap the numeric value in a reference type.

Of course, none of this is set in stone, but it is clear that fixing this problem will likely involve breaking some public APIs at least a little so I am moving this to the 4.8.0-beta00015 milestone.


migration:up

Describe the bug
Hello I've manage to create the initial migrations ts file but when I run migration:up looks like the migration up is not being run.
I just don't know what else todo. what am i missing?
Stack trace
I get a successful message but the tables are not being created.

Successfully migrated up to the latest version
...

To Reproduce
Steps to reproduce the behavior:

... create an initial migration
... run migration:up

Expected behavior
I'm expecting the up method to be executed.
Additional context
Versions

Dependency
Version

node
v14.17.6

typescript
4.3.5

mikro-orm
5.0.0-dev.382

your-driver
mariadb

Are you able to run schema:create successfully?

Yes, schema:create does create the database and tables.

Do you have a migrations table that is created as well? Does it have any data there?

When I run migration:up the migration table is created but empty

Maybe a misconfiguration? What does migration:pending say? Could be that your cli is looking for js files instead of ts?
Please provide a reproduction repo so we can help you better.

If your migrations table is empty then it leads me to believe that your configuration is wrong. But as I said before, please create a reproduction so we can have a look.

Hello, so in the process of creating a reproduction I identified my issue is related to the .env file. after removing the config variables from my .env file it worked. So the question I have now is it possible to use the CLI with the configuration in an .env file only or it's mandatory to use a mikro-orm.config.ts file? I was hoping on not adding mikro-orm to my package.json and not creating a mikro-orm.config.ts.
I tried adding thes two to my .env file but it keeps looking Error: MikroORM config file not found in ['./mikro-orm.config.js']
MIKRO_ORM_CLI_USE_TS_NODE=true
MIKRO_ORM_CLI=./mikro-orm.config.ts
Thanks for your help.

I haven't verified, but you should be able to drive mikro-orm from only env vars.
See: https://mikro-orm.io/docs/configuration/#using-environment-variables

Thanks @genu that's my thinking. I can run the application from .env, the problem I have is with the CLI
The ones related to the CLI are missing in the example and I can't find a working example of .env and CLI.

🤔 From what I can tell, the if the config doesn't exist, it checks for envs:
https://github.com/mikro-orm/mikro-orm/blob/f16b236ce04433b4790d39bd05d7ed60bfaaa3e0/packages/core/src/utils/ConfigurationLoader.ts#L40-L44
Have you made sure that env vars are loaded and set before CLI executes?

Hi, yes the env variables are being loaded.

how are you checking that they are loaded?


[MINOR][DOCS] Fixing log message for better clarity.

Fixing log message for better clarity.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Is it possible to make this value property driven?)

These commits are already merged to master (with property driven), not sure why they are showing up in this PR, overall diff is only log fix.

@akshatb1 weird, probably because you made a merge commit. I usually just rebase onto master and force-push if necessary, but you needn't usually rebase.

Jenkins test this please

Test build #129187 has started for PR 29870 at commit b113ead.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/33803/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/33803/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/33803/
Test PASSed.

Test build #129187 has finished for PR 29870 at commit b113ead.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/129187/
Test PASSed.

Merged to master/3.0

Thanks, @srowen for the help in merging this PR.


Create automation for re-bootstrapping

The VMR often needs to be re-bootstrapped during the preview timeframe.  We have automation that creates a re-bootstrap PR as part of the release pipeline.  It would be ideal if this logic could be refactored in such a way that it can be shared with a new pipeline that we can use to create a re-bootstrap PR at any time.  This new pipeline would need to take in a reference to a source-build to pull artifacts from and an installer build to pull the SDK from.

+1. Adding to that: Update the automation to also change the Version.Details.xml file and the global.json msbuild sdk entry for the Arcade dependency.

One more though, are the steps necessary to bootstrap documented? Especially the part that deals with uploading the artifacts to blob storage. Asking as it would be nice if the product-construction team could also trigger a re-bootstrap so that we don't have to ping your team every time we need a newer Arcade change in arcade or SBRP.

+1. Adding to that: Update the automation to also change the Version.Details.xml file and the global.json msbuild sdk entry for the Arcade dependency.

See https://github.com/dotnet/source-build/issues/4153

Draft PR: https://dev.azure.com/dnceng/internal/_git/dotnet-release/pullrequest/39424 (internal microsoft link)
Working out some final tweaks, but the main functionality is all there and is 95% debugged.

Closing since the PR (internal Microsoft link) was merged


Download subtitles

Hi .
The script  is amazingly running . but the problem is the downloading the xml link to srt .
how can i download the subtitles using the link to srt format .
little help is much appreciable .
Thanks .

Hi @garry911, I haven't downloaded subtitles for a video before with this script.
Would you mind providing a link that you are trying to get subtitles for, and I'd be happy to test it and investigate this?
I may be able to add a convenience helper method such as: $video->getSubtitles() or something.


Refactor get_event_text to a static method, remove high deadzone from event configuration

get_event_text and get_device_string are now static methods (they always could have been)
Applied 90% deadzone on joypad motion inputs in the configurator had the effect of ignoring most joypad motion inputs. Low ones do not need to be filtered out as JoypadMotion is only considered 'pressed' if it as above 50% strength - and that works well.

Fixes #68617
Not sure if static method on EventListenerLineEdit is the best - but it is the "lowest common denominator" for where these methods are used, and it seems overkill to create a new class just to house them.

Thanks!


S3Storage EgressExtension cant load AWS token from the service account mounted in a EKS POD

Description
Given an EKS cluster v 1.29 with the EKS Pod Identity Agent installed and an OIDC identity provider created.

Create a K8s SA linked to an AWS IAM Role thru IRSA or EKS Pod Identity
Spawn a pod with a carside container like this:

apiVersion: v1
kind: Pod
metadata:
  name: test
spec:
  containers:
  - name: app
    image: my-dotnet-app:latest
    resources:
      requests:
        cpu: 500m
        memory: 500Mi
    env:
    - name: DOTNET_DiagnosticPorts
      value: /diag/dotnet-monitor.sock
    volumeMounts:
    - mountPath: /diag
      name: diag-vol
  - name: monitor
    image: mcr.microsoft.com/dotnet/monitor:8
    args: [ "collect", "--no-auth" ]
    imagePullPolicy: Always
    env:
     - name: DOTNETMONITOR_DiagnosticPort__ConnectionMode
       value: Listen
     - name: DOTNETMONITOR_Storage__DefaultSharedPath
       value: /diag
     - name: DOTNETMONITOR_Urls
       value: http://localhost:52323
     - name: DOTNETMONITOR_Metrics__Endpoints
       value: http://+:52325
     - name: DOTNETMONITOR_Egress__S3Storage__dump__bucketName
       value: my-bucket
     - name: DOTNETMONITOR_Egress__S3Storage__dump__regionName
       value: eu-west-1
    volumeMounts:
    - mountPath: /diag
      name: diag-vol
    resources:
      requests:
        cpu: 500m
        memory: 500Mi
  volumes:
  - name: diag-vol
    emptyDir: {}
  serviceAccountName: my-sa

Port forward the monitor pod port to your local machine

kubectl port-forward pod/test 52323:52323

Then when you try to upload a dump to the S3 bucket

curl -i "http://localhost:52323/dump?egressProvider=dump"

The dontet-monitor throws the following error;
{"Timestamp":"2024-08-25T17:50:51.9854761Z","EventId":91,"LogLevel":"Information","Category":"Microsoft.Diagnostics.Tools.Monitor.Egress.EgressExtension","Message":"Extension process 46 wrote output: {\u0022Succeeded\u0022:false,\u0022FailureMessage\u0022:\u0022Assembly AWSSDK.SecurityToken could not be found or loaded. This assembly must be available at runtime to use Amazon.Runtime.AssumeRoleAWSCredentials.\u0022,\u0022ArtifactPath\u0022:null}","State":{"Message":"Extension process 46 wrote output: {\u0022Succeeded\u0022:false,\u0022FailureMessage\u0022:\u0022Assembly AWSSDK.SecurityToken could not be found or loaded. This assembly must be available at runtime to use Amazon.Runtime.AssumeRoleAWSCredentials.\u0022,\u0022ArtifactPath\u0022:null}","pid":46,"message":"{\u0022Succeeded\u0022:false,\u0022FailureMessage\u0022:\u0022Assembly AWSSDK.SecurityToken could not be found or loaded. This assembly must be available at runtime to use Amazon.Runtime.AssumeRoleAWSCredentials.\u0022,\u0022ArtifactPath\u0022:null}","{OriginalFormat}":"Extension process {pid} wrote output: {message}"},"Scopes":[{"Message":"ArtifactType:dump ArtifactSource_ProcessId:1 ArtifactSource_RuntimeInstanceCookie:694f2cff7a5745e48b84ed75f3900ca3","ArtifactType":"dump","ArtifactSource_ProcessId":"1","ArtifactSource_RuntimeInstanceCookie":"694f2cff7a5745e48b84ed75f3900ca3"}]}
:warning: Note:
The exact same SA works like a charm when mounted in another pod. e.g. in a pod with an aws-cli container:
apiVersion: v1
kind: Pod
metadata:
  name: dev-pod
spec:
  containers:
    - name: aws-cli
      image: amazon/aws-cli:latest
      command: ['sleep', '36000']
  restartPolicy: Never
  serviceAccountName: my-sa

Expected
Dotnet-monitor, thru AWSDK should be able to retrieve the mounted token.
Supposedly it reads the following env vars:

AWS_REGION
AWS_ROLE_ARN
AWS_WEB_IDENTITY_TOKEN_FILE

Those env vars are populated automatically when adding a IRSA SA, BUT when adding a SA thru EKS pod identity, others are created (it would be great to have support for those as well). None of them seems to work. Even if you manually populate those env vars.
Configuration

Is this related to a specific tool? Egress Providers of Dotnet monitor
What OS and version, and what distro if applicable? The container used is the official one --> mcr.microsoft.com/dotnet/monitor:8
What is the architecture (x64, x86, ARM, ARM64)? x64
Are you running in any particular type of environment? (e.g. Containers, a cloud scenario, app you are trying to target is a different user)  dotnet monitor container deployed in an EKS cluster

BTW, I say this pr --> https://github.com/dotnet/dotnet-monitor/pull/6626
Definitely either is not included in the latest mcr.microsoft.com/dotnet/monitor:8 or the issue still persist

For those affected, I was able to "workaround" this issue by building my own monitor container using the 9.0 monitor base.
e.g. https://github.com/dotnet/dotnet-docker/blob/main/src/monitor/9.0/azurelinux-distroless/amd64/Dockerfile

BTW, I saw this pr --> #6626
Definitely either is not included in the latest mcr.microsoft.com/dotnet/monitor:8 or the issue still persist

The PR to support this is not part of .NET Monitor 8.0. The 8.0 version of .NET Monitor was released in November 2023 and the PR was complete in May 2024. Coupled with the fact that we largely observe SemVer 2 versioning scheme for .NET Monitor, this enhancement will not ever be included in an 8.0 update. You'll have to wait for either an 8.1 version (which we have no definitive plans for a release at this time) or use the 9.0 previews.

For those affected, I was able to "workaround" this issue by building my own monitor container using the 9.0 monitor base.
e.g. https://github.com/dotnet/dotnet-docker/blob/main/src/monitor/9.0/azurelinux-distroless/amd64/Dockerfile

I would not recommend building your .NET Monitor image unless you need to make custom alterations to .NET Monitor itself. While building it may not be difficult, we do that already for you and service the image on a regular basis. The 9.0 images (currently in preview but expected to GA later this year) already include the mentioned PR for several previews at this point.
You can get the preview version of 9.0 using mcr.microsoft.com/dotnet/monitor:9-preview. As soon as .NET Monitor 9.0 RC 1 is released, that tag will no longer be supported; you can use the release version tag e.g. mcr.microsoft.com/dotnet/monitor:9 instead, which will be supported for the lifetime of .NET Monitor 9.

I will update the document to be clear about which versions include this new capability.

@jander-msft thanks a lot for clarifying the releases schema. It is clear now.
I will then definitely use mcr.microsoft.com/dotnet/monitor:9-preview.
Thanks for your quick support.


account page: search through blocks for transactions dynamically

currently the /account/0x page is pretty empty - it might be nice to search through recent blocks for transactions to/from this address? This could be done dynamically by iterating blocks while the page is open, starting at the most recent block.
Alternatively the new graphql interface in geth could be used to do this a bit more efficiently, see https://gist.github.com/karalabe/bb68b43e48a630baf73f9862521fe45c

We're in the process of releasing a plugin which displays the transactions for a given account. It uses as data source a new open-source lite pipeline that we developed, offering similar functionality to what the full explorer on aleth.io does. This means you will be able to install that together with the lite explorer to have the needed information displayed.

You can already try it now, by running the latest Docker image with the config.memento.json preset or you can build it from source. Step by step install instructions can be found here and here.
You will also need to install Memento, which is the data source for this explorer plugin.


Wave array in Python

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Sort the array into a wave-like array and return it. In other words, arrange the elements into a sequence such that a1 >= a2 <= a3 >= a4 <= a5..... (considering the increasing lexicographical order) in python.
For eg: arr[] = {1,2,3,4,5}
Output: 2 1 4 3 5
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#6315

@ankitaggarwal23 @HarshCasper Please review my pull request.

@ankitaggarwal23 Please merge the PR if everything is fine.

Otherwise, It will become unassigned.

Did the required changes. Please review.


fix(build): improve addExtension esbuild plugin

This PR improves the extension handling (in esm build) in build.ts.
Currently in addExtension esbuild plugin, we create the import path like ${args.path}/index${extension} when the ts path of the form path.join(args.resolveDir, args.path, "index.ts") exists. However this has an issue when the original import path ends with / (like this one). In that case the resulted import path becomes something like .//index.js. This import path seems confusing some runtimes (ex. Deno https://github.com/denoland/deno/issues/25532 ).
This PR checks whether the original path ends with / or not, and creates more appropriate path.
By this change, for example, the build result of src/helpers/streaming/text.ts changes from:
// src/helper/streaming/text.ts
import { TEXT_PLAIN } from "../../context.js";
import { stream } from ".//index.js";
var streamText = (c, cb, onError) => {
  c.header("Content-Type", TEXT_PLAIN);
  c.header("X-Content-Type-Options", "nosniff");
  c.header("Transfer-Encoding", "chunked");
  return stream(c, cb, onError);
};
export {
  streamText
};

to:
// src/helper/streaming/text.ts
import { TEXT_PLAIN } from "../../context.js";
import { stream } from "./index.js";
var streamText = (c, cb, onError) => {
  c.header("Content-Type", TEXT_PLAIN);
  c.header("X-Content-Type-Options", "nosniff");
  c.header("Transfer-Encoding", "chunked");
  return stream(c, cb, onError);
};
export {
  streamText
};

The author should do the following, if applicable

[ ] Add tests
[ ] Run tests
[x] bun run format:fix && bun run lint:fix to format the code
[ ] Add TSDoc/JSDoc to document the code

Hi @kt3k
I've never noticed that! This is a good improvement. After margining this PR, I'll build them and release a new patch release. Thank you!


TechInsights - Add Details about 404 Errors

Hey, I just made a Pull Request!
Add Details about 404 errors that occur in Tech Insights if you don't have a fact checker factory
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Thank you for contributing during Hacktoberfest 🍂! You can claim the Backstage Hacktoberfest Holopin at https://bck.st/hacktoberfest-holopin 🙌🏻


Support for JPA joins and association paths

We should consider the scope of customization on join statements such as how to declared the:
kind of JOIN (LEFT, INNER, RIGHT),
allowed columns to be joined
The select, sort and filter expression should be considered as factors which join columns to include in the expression when building it, since you can only include columns of tables that are part of the join.

Won't fix this one for querydsl v3.x.x, unless other devs will handle this one. Will focus now on supporting querydsl 4.x.x, hence rql-querydsl v2.x.x.


Preserve quotes

Hello @jackton1! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file migration_fixer/utils.py:

Line 26:1: W293 blank line contains whitespace


Don't complain about '-sanitize=' unsupported if not given at all for the freebsd target

@swift-ci please test

@swift-ci please test


HSEARCH-4187 Document the database-polling coordination strategy

https://hibernate.atlassian.net/browse/HSEARCH-4187
Main relevant sections of the documentations:

documentation/target/dist/reference/en-US/html_single/index.html#architecture
documentation/target/dist/reference/en-US/html_single/index.html#mapper-orm-indexing-automatic
documentation/target/dist/reference/en-US/html_single/index.html#coordination

Thanks for all these useful comments! I updated my PR accordingly; let's wait for CI then merge.


Without the https links the demo page doesn't work

Looks ugly and not functional. The fix is simple.

Thanks for contribution!

No problem. Exact same thing happened with chardin.js's demo page. I wonder if it's about maybe OSX + Safari? Because I don't have Mac, so I can imagine that maybe. I know I could try Safari though. What OS platform and browser did you test the demo page? I'm just really curious, since same was going on with chardin.

I'm using Firefox/Win 7, but I always opened demo page through http. So https version wasn't tested.

Actually, I didn't test that case (when the main page is http, and now the CDN links are https). For me even if I try to view the demo page as http, I get redirected to https automatically.


access landmarks data in android  using "mediapipe::OutputStreamPoller"  like in c++

I want to access the landmarks data in hand tracking android app, but i only found the callback way.
My goal is implementing a function that input one frame and synchronized ouput the landmarks data.
Thanks.

The callback is required in Java so that it wakes up whenever a new packet containing the hand landmarks data is available.

My goal is implementing a function that input one frame and synchronized ouput the landmarks data.

It sounds like you want to send a frame, wait for it to process, get its output landmark data and then proceed to the next frame. Is that correct?
To be able to do this, you can try to control how often you send frames to the graph in the first place. One way to do that is to add a node in the beginning of the graph to discard input packets till a particular packet is processed, such as the FlowLimiterCalculator, which is designed for this very purpose.  And the graphs used in the example apps already have this calculator, https://github.com/google/mediapipe/blob/master/mediapipe/graphs/hand_tracking/hand_tracking_mobile.pbtxt.
So is there something different in your use case?

Hi, we are closing this issue due to lack of activity. Please feel free to re-open if the question is still relevant. Thank you.

Hi, we are closing this issue due to lack of activity. Please feel free to re-open if the question is still relevant. Thank you.


Option to disable unmapping

I'd like to request a feature to disallow unmapping; on wasm only "growing" is supported; so giving back doesn't make sense there.

For now you could simply ignore the unmap call by using and empty function if you're using a custom memory_map/memory_unmap functions in the rpmalloc config.

I'm doing that now; but won't that memory be effectively "lost" ?

Ah, yes, it will be, and now I understand what you meant with this request :) Will look into it

I will implement it as an unlimited global cache but normal thread cache.
Right now there is a 32-bit counter limitation on the global cache, but that would be all but a theoretical limit (2^32 span lists in cache, average something like 8 spans per list, 64KiB per span -> would be 2^52 bytes of cached memory before it wraps around). And the cache counter could easily be increased to a 64-bit value.

You can try the feature/64k-pages branch and define ENABLE_UNLIMITED_GLOBAL_CACHE to 1 either in rpmalloc.c or in your build setup (and keep the  ENABLE_UNLIMITED_CACHE and ENABLE_UNLIMITED_THREAD_CACHE as it is, set to 0)
This will keep the default thread cache but set an unlimited global cache, effectively never unmapping any memory pages.
The memory will still be unmapped at allocator finalization, but you could just provide a dummy empty unmap function for that purpose.

Ah, so you want to use the default mmap implementation (not provide your own in map/unmap callbacks in rpmalloc_config_t), but disallow calling munmap altogether?

Added an option to disable unmap calls, set DISABLE_UNMAP to 1 in https://github.com/rampantpixels/rpmalloc/blob/feature/64k-pages/rpmalloc/rpmalloc.c#L53

this is working nicely for us, thanks!


A user can reclaim (revert) a Distribution that was already finalized

If the user finalized a ticket (and inventory was reduced) the ticket can be "reclaimed", reversing the distribution.
This feature was previously implemented, for reference: https://github.com/rubyforgood/pdx_diaper/blob/master/app/admin/ticket.rb  The model methods still exist, I believe.

Covered by #61.


Register v1.0.0

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/102274
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.0.0 -m "<description of version>" f6c9271ce0129f268ff3bbd9ed0bfcb228455e7f
git push origin v1.0.0

Closing in order to rename package.


The Note "For scanning Databricks metastore" seems to be incomplete

[Enter feedback here]

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

ID: 686544b4-81d2-923e-27d6-992132ac0feb
Version Independent ID: 9ef5f254-a64f-c223-73e6-cf8e54ee4d3a
Content: Register Hive Metastore database and setup scans in Azure Purview - Azure Purview
Content Source: articles/purview/register-scan-hive-metastore-source.md
Service: purview
Sub-service: purview-data-catalog
GitHub Login: @ChandraKavya
Microsoft Alias: kchandra

@desarkar Thank you for providing feedback. We are actively investigating it. We will get back to you soon.

Looking into this to correct it. Thank you for pointing it out!

This has been updated, and you'll see it reflected shortly in the public documentation. Thank you again!

#please-close


[GSoC] Added notebook 204-code-language-id

Changes
I added the notebook 204 for the model CodeBERTa-language-id in order to fulfill the pre-requesite of Google Summer of Code 2023.
Testing
While running CI locally, I only had failures for build_nbval(macos-11, 3.10). At step Analysing with nbval (MacOS), multiple failures are raised and appear to be related to HTTP requests to the Hugging Face Hub.

Thank you for your contribution. Before we do the review please do the self-check first (copy the list and tick the item when it's done):

[ ] each function is described by docstrings and type hints
[ ] notebook contains explicit descriptions and explanatory diagrams
[ ] the notebook doesn't use any data (image, video, etc.) that is not CC4.0 licensed
[ ] there is a README.md file in consistent style (look at other notebooks)
[ ] the notebook is added to the main README
[ ] there are no grammar, punctuation or typo issues (use any free tool for that e.g. Grammarly)
[ ] there are no committed files besides notebook and readme (please use images or videos from data dir)
[ ] your PR doesn't change any other notebooks
[ ] all CI checks passed

Hi @adrianboguszewski, here is my checklist!

[x]  each function is described by docstrings and type hints
[x]  notebook contains explicit descriptions and explanatory diagrams
[x]  the notebook doesn't use any data (image, video, etc.) that is not CC4.0 licensed
[x]  there is a README.md file in consistent style (look at other notebooks)
[x]  the notebook is added to the main README
[x]  there are no grammar, punctuation or typo issues (use any free tool for that e.g. Grammarly)
[ ]  all CI checks passed
^only the build_docker check fails. There is no logs to debug and it takes 2h+ to run. How should I go about it?
[x]  there are no committed files besides notebook and readme (please use images or videos from data dir)
[x]  your PR doesn't change any other notebooks

I see. There should be the output for debugging. Let's run it once again.

@adrianboguszewski well, the most recent runs produced logs. The build_docker check fails for notebook 301, but succeeds for mine (204)

If you didn't touch 301, don't worry about that :) it will be fixed by us in another PR.

Any updates regarding this PR?

I'll review it this week

And I tried many times to download models and cannot do it:

I added a cell with the "Inference on new input with quantized model", moved from 204 to 244, and fixed the README merge conflict

Thanks. Approving


.gitstrees support

This approach tries to minimize disrupting the current stree workflow and code logic.

references:
https://github.com/tdd/git-stree/issues/3
https://github.com/tdd/git-stree/pull/26

Great news.  Looking forward to 1.0...!


Feature Request: Automated, Immediate Publish of Use Cases

This task was split into multiple issues and a milestone was created to group the issues.  Therefore archiving this issue at this time.

There was a discussion of using a Discord bot for this sort of thing.

There is a Discord notification when a new use case is submitted.


indilib: 2.0.3 -> 2.0.5

Description of changes
Supersedes the autoupdate #258725 and fixes its problems.
https://github.com/indilib/indi/releases/tag/v2.0.5
https://github.com/indilib/indi-3rdparty/releases/tag/v2.0.5
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.05 Release Notes (or backporting 23.05 and 23.11 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.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 275199 run on aarch64-darwin 1

1 package marked as broken and skipped:

indi-full

2 packages built:

indilib
stellarium

Result of nixpkgs-review pr 275199 run on x86_64-linux 1

5 packages built:

indi-full
indilib
kstars
phd2
stellarium


python311Packages.google-cloud-dlp: 3.13.0 -> 3.15.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.google-cloud-dlp is: Cloud Data Loss Prevention (DLP) API API client library
meta.homepage for python311Packages.google-cloud-dlp is: https://github.com/googleapis/python-dlp
meta.changelog for python311Packages.google-cloud-dlp is: https://github.com/googleapis/python-dlp/blob/v3.14.0/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.14.0 with grep in /nix/store/j4p9xs0n2qhsixyy7hp1bwgbbilxf3ab-python3.11-google-cloud-dlp-3.14.0
found 3.14.0 in filename of file in /nix/store/j4p9xs0n2qhsixyy7hp1bwgbbilxf3ab-python3.11-google-cloud-dlp-3.14.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
python311Packages.google-cloud-dlp

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/j4p9xs0n2qhsixyy7hp1bwgbbilxf3ab-python3.11-google-cloud-dlp-3.14.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.google-cloud-dlp https://github.com/r-ryantm/nixpkgs/archive/4029209ea4a04d668ff6d7ab24e03970ae9c82fa.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/4029209ea4a04d668ff6d7ab24e03970ae9c82fa#python311Packages.google-cloud-dlp

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/j4p9xs0n2qhsixyy7hp1bwgbbilxf3ab-python3.11-google-cloud-dlp-3.14.0
ls -la /nix/store/j4p9xs0n2qhsixyy7hp1bwgbbilxf3ab-python3.11-google-cloud-dlp-3.14.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

python311Packages.google-cloud-dlp

Maintainer pings

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.google-cloud-dlp is: Cloud Data Loss Prevention (DLP) API API client library
meta.homepage for python311Packages.google-cloud-dlp is: https://github.com/googleapis/python-dlp
meta.changelog for python311Packages.google-cloud-dlp is: https://github.com/googleapis/python-dlp/blob/v3.15.0/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.15.0 with grep in /nix/store/3iq8jp3nl0dcffrca7zwj8ga5yzpv6wa-python3.11-google-cloud-dlp-3.15.0
found 3.15.0 in filename of file in /nix/store/3iq8jp3nl0dcffrca7zwj8ga5yzpv6wa-python3.11-google-cloud-dlp-3.15.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
python311Packages.google-cloud-dlp

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/3iq8jp3nl0dcffrca7zwj8ga5yzpv6wa-python3.11-google-cloud-dlp-3.15.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.google-cloud-dlp https://github.com/r-ryantm/nixpkgs/archive/ad8c4f2a40069ea7102733971a83288755171c41.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/ad8c4f2a40069ea7102733971a83288755171c41#python311Packages.google-cloud-dlp

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/3iq8jp3nl0dcffrca7zwj8ga5yzpv6wa-python3.11-google-cloud-dlp-3.15.0
ls -la /nix/store/3iq8jp3nl0dcffrca7zwj8ga5yzpv6wa-python3.11-google-cloud-dlp-3.15.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

python311Packages.google-cloud-dlp

Maintainer pings

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.google-cloud-dlp is: Cloud Data Loss Prevention (DLP) API API client library
meta.homepage for python311Packages.google-cloud-dlp is: https://github.com/googleapis/python-dlp
meta.changelog for python311Packages.google-cloud-dlp is: https://github.com/googleapis/python-dlp/blob/v3.15.1/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.15.1 with grep in /nix/store/6wd97f2g30y546yhs6z619fpkd7ajs28-python3.11-google-cloud-dlp-3.15.1
found 3.15.1 in filename of file in /nix/store/6wd97f2g30y546yhs6z619fpkd7ajs28-python3.11-google-cloud-dlp-3.15.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
python311Packages.google-cloud-dlp

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/6wd97f2g30y546yhs6z619fpkd7ajs28-python3.11-google-cloud-dlp-3.15.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.google-cloud-dlp https://github.com/r-ryantm/nixpkgs/archive/0f622f1d82815acb3c1e9beebbbaad14e7040c5e.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/0f622f1d82815acb3c1e9beebbbaad14e7040c5e#python311Packages.google-cloud-dlp

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/6wd97f2g30y546yhs6z619fpkd7ajs28-python3.11-google-cloud-dlp-3.15.1
ls -la /nix/store/6wd97f2g30y546yhs6z619fpkd7ajs28-python3.11-google-cloud-dlp-3.15.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

python311Packages.google-cloud-dlp

Maintainer pings

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.google-cloud-dlp is: Cloud Data Loss Prevention (DLP) API API client library
meta.homepage for python311Packages.google-cloud-dlp is: https://github.com/googleapis/python-dlp
meta.changelog for python311Packages.google-cloud-dlp is: https://github.com/googleapis/python-dlp/blob/v3.15.2/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.15.2 with grep in /nix/store/j4fqg46z3ds3hv6mmi6crdhcicbkhgna-python3.11-google-cloud-dlp-3.15.2
found 3.15.2 in filename of file in /nix/store/j4fqg46z3ds3hv6mmi6crdhcicbkhgna-python3.11-google-cloud-dlp-3.15.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
python311Packages.google-cloud-dlp

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/j4fqg46z3ds3hv6mmi6crdhcicbkhgna-python3.11-google-cloud-dlp-3.15.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.google-cloud-dlp https://github.com/r-ryantm/nixpkgs/archive/23f59df76d20a189667d297d0ee88f6c6353d4c6.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/23f59df76d20a189667d297d0ee88f6c6353d4c6#python311Packages.google-cloud-dlp

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/j4fqg46z3ds3hv6mmi6crdhcicbkhgna-python3.11-google-cloud-dlp-3.15.2
ls -la /nix/store/j4fqg46z3ds3hv6mmi6crdhcicbkhgna-python3.11-google-cloud-dlp-3.15.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

python311Packages.google-cloud-dlp

Maintainer pings


ERROR  Internal server error: Cannot destructure property 'from' of 'importMapLabComponents[component]' as it is undefined.

vuetify-nuxt-module 0.6.6
Nuxt 3.8.1

% yarn nuxi info

------------------------------
- Operating System: Darwin
- Node Version:     v18.18.0
- Nuxt Version:     3.8.1
- CLI Version:      3.9.1
- Nitro Version:    2.7.2
- Package Manager<EMAIL_ADDRESS>- Builder:          -
- User Config:      ssr, devtools, srcDir, modules, imports, runtimeConfig, app, vuetify, vite, nitro
- Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>- Build Modules:    -
------------------------------

Error message during startup with yarn dev.
ERROR  Cannot destructure property 'from' of 'importMapLabComponents[component]' as it is undefined.
There is no other message in the terminal, so I do not know what is going on.
However, when I access the browser afterwards, the stack trace is also displayed, and it appears that the vuetify-nuxt-module is the cause.
Cannot destructure property 'from' of 'importMapLabComponents[component]' as it is undefined.
    at file://node_modules/vuetify-nuxt-module/dist/module.mjs:880:17
    at Array.forEach (<anonymous>)
    at buildConfiguration (file://node_modules/vuetify-nuxt-module/dist/module.mjs:879:24)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Context.load (file://node_modules/vuetify-nuxt-module/dist/module.mjs:760:24)
    at async file://node_modules/vite-plugin-inspect/dist/index.mjs:402:17
    at async Object.load (file://node_modules/vite/dist/node/chunks/dep-bb8a8339.js:44323:32)
    at async loadAndTransform (file://node_modules/vite/dist/node/chunks/dep-bb8a8339.js:54954:24)
    at async viteTransformMiddleware (file://node_modules/vite/dist/node/chunks/dep-bb8a8339.js:64430:32

The application is currently unavailable.
It was fine until the other day; I think the problem occurred at the time I updated the vuetify-nuxt-module. I have not made any configuration changes to Vuetify in the meantime.
Strangely enough, the error did not stop after lowering the version of vuetify-nuxt-module one by one to 0.6.5, 0.6.4, ..., 0.6.0. , I thought it was possible that the version of Vuetify on which it depends had changed, so I reverted to v3.3.23 and the error disappeared.
package.json
    "vuetify": "3.3.23",
    "vuetify-nuxt-module": "0.6.4",

Is this an issue that can be addressed on the vuetify-nuxt-module side?
The changelog for vuetify-nuxt-module v0.6.6 says "Add support for Vuetify 3.4". Is this the point?

After fixing the version as above, the error on startup has subsided.
However, when I access the browser, there is an error that did not occur before.
[plugin:vite:import-analysis] Failed to resolve import "vuetify/lib/components/VDataTable/index.mjs" from "src/components/partials/publications/Notices.vue". Does the file exist?
src/components/partials/publications/Notices.vue:139:69
137|  /* Vuetify */
138|  import { VBtn as _component_v_btn } from "vuetify/lib/components/VBtn/index.mjs"
139|  import { VDataTableServer as _component_v_data_table_server } from "vuetify/lib/components/VDataTable/index.mjs"
   |                                                                      ^
140|
141|
    at formatError (file://node_modules/vite/dist/node/chunks/dep-bb8a8339.js:44062:46)
    at TransformContext.error (file://node_modules/vite/dist/node/chunks/dep-bb8a8339.js:44058:19)
    at normalizeUrl (file://node_modules/vite/dist/node/chunks/dep-bb8a8339.js:41844:33)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async file://node_modules/vite/dist/node/chunks/dep-bb8a8339.js:41998:47
    at async Promise.all (index 10)
    at async TransformContext.transform (file://node_modules/vite/dist/node/chunks/dep-bb8a8339.js:41914:13)
    at async file://node_modules/vite-plugin-inspect/dist/index.mjs:372:17
    at async Object.transform (file://node_modules/vite/dist/node/chunks/dep-bb8a8339.js:44352:30)
    at async loadAndTransform (file://node_modules/vite/dist/node/chunks/dep-bb8a8339.js:55026:29)
    at async viteTransformMiddleware (file://node_modules/vite/dist/node/chunks/dep-bb8a8339.js:64430:32

Is this relevant?
vuetify.config.ts
export default defineVuetifyConfiguration({
  labComponents: ['VDataTableServer'],

In the editor, the 'VDataTableServer' is redlined to indicate an error.
Type '"VDataTableServer"' cannot be assigned to types '"VConfirmEdit" | "VPicker" | "VPickerTitle"'. ts(2322)
Until the other day, I don't think this was an error either.

@sdr0x07b6, the VDataTableServer is no longer in labs since Vuetify 3.4, so you don't need to explicitly import in your config anymore. You can remove the labComponents: ['VDataTableServer'],

I see! I didn't know there was such a change.
I removed the line labComponents:['VDataTableServer'], and it works fine.
@mtdvlpr Thanks!


Fix indentation

I will search for all missing indentations and merge all into a commit.

@halfnelson some examples has indentation with 4 spaces and others with 2 spaces. What you prefer?
And can I suggest a .editorconfig file to help future contributors?


Why switch bthread cost so much time? (2us), both libgo and golang coroutine switch  cost  ~200ns?

They also support work stealing.

The work stealing in libgo is implemented by a global scheduler:
https://github.com/yyzybb537/libgo/blob/master/libgo/scheduler/scheduler.cpp#L340
It runs work stealing at an interval of 1000us by default.
When a task is ready to run but current worker is busy, it needs at most 1000us to be stolen by an idle worker.
In bthread, when a task is ready to run, futex_wake is called to wakeup an idle worker at once. This avoids long-tail latency. But the cost is that most task switch needs futex. It needs about 2us from one thread calls futex_wake and another thread resumes from futex_wait.


[BUG] CORS origin error while on subdomain

Dear Team,
I am reaching out to address an ongoing concern related to CORS (Cross-Origin Resource Sharing) that we have been encountering since the migration to .Net 7.0.
To provide some context, I have been utilizing the .Net 6 architecture successfully before the upgrade to .Net 7.0. Initially, during the development phase, the application worked seamlessly in our local environment with distinct port numbers. However, over the past week, we have been consistently experiencing CORS errors, with issues ranging from occasional update method failures to the complete cessation of the site's functionality.
In an effort to resolve these CORS challenges, I explored various solutions, but none have proven successful thus far. As part of our deployment strategy, we attempted to set up environments using subdomains (e.g., xyz.com as the main domain, api.xyz.com for the hosted API, and app.xyz.com for the hosted Web/Angular application). Regrettably, this configuration resulted in the same CORS errors.
I also experimented with an alternative approach, using paths instead of subdomains (e.g., xyz.com as the main domain, xyz.com/api/ for the hosted API, and xyz.com/app/ for the hosted Web/Angular application). Surprisingly, this method worked without encountering CORS issues.
Why subdomain * distinct approach failed to work?
Solutions Attempted:
Ensured the "cors.json" file within the configuration folder was appropriately configured.
Modified the CORS policy in the startup.cs file, trying various combinations:
Original Code:
return services.AddCors(opt =>
            opt.AddPolicy(CorsPolicy, policy =>
                policy.AllowAnyHeader()
                    .AllowAnyMethod()
                    .AllowCredentials()
                    .WithOrigins(origins.ToArray())));

Alternative Solutions:
1.
return services.AddCors(opt =>
            opt.AddPolicy(CorsPolicy, policy =>
                policy.AllowAnyHeader()
                    .AllowAnyMethod()
                    .AllowCredentials()
                    .AllowAnyOrigin()));

return services.AddCors(opt =>
            opt.AddPolicy(CorsPolicy, policy =>
                policy.AllowAnyHeader()
                    .AllowAnyMethod()
                    .AllowAnyOrigin()));

I added * also in cors.json file but still we are getting CORS policy error.
Despite these efforts, the CORS policy errors persist. I have attached an image illustrating the encountered error for your reference.

Your insights and assistance in resolving this matter would be greatly appreciated, as we are approaching the project's go-live date.
Thank you for your attention and collaboration.
Best regards,

I temporarily disabled the cors service to solve this problem.
Is there a requirement with this restriction on the program?

Did you find a reliable way to solve this problem?


Expo Support

I am trying to build and IOT app which need to search for all local devices with mdns. i am using expo for this purpose. but i can't implement this zeroconf library in expo development build. does anyone know how to do this? i think it has something to do with the permissions.
Can anyone provide a simple expo example!?
as there is new support for native react library in expo with config-plugin. can anyone try/guide to make a plugin for this library.

I added the following config to the app.json, following the guide on https://docs.expo.dev/guides/configuring-js-engines.
after installing react-native-v8 and things it seems to work, i'm getting results on android.
{
    "jsEngine": "jsc",
    "plugins": [
      "react-native-v8"
    ]
}

I have not tested this on iOS yet.

I was able to get it working with expo. This was my solution: https://dev.to/bfforward/how-to-use-react-native-zeroconf-with-expo-2kjc
Hope this helps


Dual missiles collide

Missiles hitting other missiles mutually annihilate. This causes problems for dual- and swarm-missiles where all (or all but one) missiles wipe each other out the moment they're launched.
This is a fairly simple check to allow missiles from the same ship to pass through each other.
Imported from trac ticket #127,  created by TurkeyXIII on 07-08-2010 at 09:00, last modified: 07-12-2010 at 16:18

Committed. Needs testing. May require a special core to test it properly. Shouldn't be too difficult.
Trac comment by Andon on 07-12-2010 at 08:05

closes /w r696  - please post revision that closes ticket in future
Trac comment by Imago on 07-12-2010 at 16:18


fill out the community suggestions from github

We should tick all the boxes on the project's community page

Closing. The only things left are issue and PR templates, and it is too early in the life of the project for that.


Fix finding of GSF runtime in new app engine wizard

@briandealwis We do want to get rid of this runtime, but while working on that I found a bug we should fix that will also help us change the runtime going forward.

Ping

LGTM


#31 [euphoria-core] Implementation of accumulator API

I implemented a basic accumulator API under euphoria-core as well with a sample implementation in euphoria-flink executor. Other implementations will come later.
There are three fixed types of accumulators:

Counter - Basic Hadoop style integral counter
Histogram - Accumulator collecting distribution of values
Timer - Collects distribution of time measurements (very similar to Histogram, extended by time units)

From user function perspective accumulators can be used in the following way:
// MapElements without counters, uses UnaryFunction lambda
Dataset<String> words = MapElements.of(dataset)
    .using(s -> s.toLowerCase())

// MapElements with access to context, uses UnaryFunctionEnv lambda.
// Obtains read-only context (without access to .collect() method) as an argument.
Dataset<String> mapped = MapElements.of(dataset)
    .using((input, context) -> {
      // use simple counter
      context.getCounter("my-counter").increment();

      // use histogram
      context.getHistogram("my-hist").add(5L);

      // use timer
      context.getTimer("my-timer").add(Duration.ofSeconds(5L));

      return input.toLowerCase();
    })

When creating an executor user can define preferred accumulator backend:
FlinkExecutor executor = new FlinkExecutor();
executor.setAccumulatorProvider(FlinkNativeAccumulators.getFactory());
// or
executor.setAccumulatorProvider(VoidAccumulatorProvider.getFactory());

I appreciate a thorough review of the suggested core API as well as any feedback.
Thanks!
closes #31

Hi @vanekjar ,
the code snippet you sent looks really good. I like the possibility to specify the accumulator backend, this seems really conceptual to me. But - what will you do with the accumulators? How do you access them - in both streaming and batch scenarios? I think the only purpose of the accumulators is not only to display them on internal web UI of a specific executor, or is it?

Hi @je-ik, many thanks for the feedback. You actually brought up a great topic to be discussed.
I haven't actually decided yet how to access accumulators by general API. It seems it should be dependent on a particular AccumulatorProvider. It means accumulators won't be accessible via executor API itself.
For example FlinkNativeAccumulators provider could expose accumulator results via it's own API like Map<String, Object> FlinkNativeAccumulators.getAllAccumulators(). But if we agree on that accumulators shouldn't drive business logic it's questionable if it's needed. Besides that there is a Flink REST API providing similar data to Flink UI web including accumulators.
Anyway if we're talking about other providers serving as remote collectors (Splunk or Telegraf) there is no need for the accumulator results to be accessed from the code. The results are then presented somewhere else in the 3rd party tool (Grafana).

@vanekjar could you provide some code example about how you imagine this should work? On a first thought, it seems odd to me to provide API for creating accumulators and not to provide API to access them. Let's say I would like to store the counters inside driver and provide them as JMX for access by any other tool. I'd like to update the JMX say each 10 seconds. Can I solve this?

I am afraid there is no general solution for that on Euphoria layer level. Since the driver abilities are bounded by the used framework (Spark, Flink) it won't be easy to collect the accumulators in a standardized way.
It would be easy to provide JMX interface for each task manager (JVM), but these results are just partial.  To provide the aggregated results the easiest way (on Flink) would be to monitor the Flink REST API and expose the results via JMX if needed.
https://ci.apache.org/projects/flink/flink-docs-release-1.2/monitoring/rest_api.html
Anyway if there is a general way how to collect results in driver it is still possible to implement AccumulatorProvider into euphoria-core that can be used for that purpose. The current client API should be sufficient for that.

I'm not sure if I understood your remark about AccumulatorProvider, can you explain it a little more in detail?

I meant you can implement your own
class JMXAccumulatorProvider implements AccumulatorProvider

with the custom logic that will collect the accumulator values "somewhere" that you can access them in the driver and publish via JMX. If this provider is executor independent it could be part of euphoria-core.

I'm confused, doesn't the AccumulatorProvider have to be executor-specific? You cannot implement it in an executor-independent way, or can you?

AccumulatorProvider is generally executor independent and it's part of the euphoria-core. Some providers are executor dependent such as FlinkNativeAccumulators or planned SparkNativeAccumulators, but some of them will be independent (for example in case they're collecting value to the outside systems via network).

OK, I understand your point now, but I'm afraid that will not be generally working without cooperation with the executor. This is because only executors are aware of lifecycle of the individual "tasks". In batch jobs, these tasks are individual JVM performing tasks that form a 'stage' (e.g. map or reduce in M/R terms), and these tasks might fail independently of the process of sending metrics. In such case, the accumulated data would be incorrect (because the data from failed task might have already been accumulated). The same holds for streaming processors, where accumulators collected between checkpoint of a state and failure of a task will be calculated multiple times.
I'm not sure how counters are implemented in spark 2.0, but before that, counters were source of misleasing data. It is nicely explained here.
I think this way, we could very easily go in the same direction, that is criticized in the article above, we should avoid that, is possible.

thanks for the update. it looks good to me now 👍

Thank you both for the feedback. I resolved most of the mentioned issues with the newly added commit. From my point of view it's ready to be merged if you agree with the proposed changes.
Regarding the performance - I tested this branch with an added counter into the benchmark code and I couldn't find any difference regarding the running time compared to euphoria built from master branch.

Thank you!


Replace $(..).live with on - removed in new jQuery

Replace $(..).live with $(..).on - deprecated in new jQuery and removed in newer jQuery

#3206 got merged, closing


Like

As a user
I need to know whether a product is liked or not
So that I could obtain more product-related information
Details and Assumptions

The product should be categorized based liked or not

Acceptance Criteria
Given some requirement on whether a product is liked or not
When I request certain products
Then the product is liked or not should be provided

This should be an action for the product API to be able to like or dislike a product.


fix(defaults): Remove the tasklet from around the config update

The update message is not needed.
fixes #125

not relevant any more


mounted push only traverses to a depth of 1

To reproduce it
$ cd ~/testDrive
$ ls -l ~/Desktop/continuations/
total 12
-rwxrwxr-x 1 emmanuel emmanuel 7579 Jan 13  2015 gen
-rw-rw-r-- 1 emmanuel emmanuel  709 Dec 30  2014 gen.c
$ drive push -m ~/Desktop/continuations .
Resolving...
+ /continuations
Addition count 1
Proceed with the changes? [Y/n]:

It should traverse all the content in continuations until the desired depth, of which the default depth is -1 so a full traversal is expected.
$ drive version
drive version: 0.3.0
Commit Hash: '49f41f2d1b1c1a3a0ebef1e485e6942aa163368b'
Go
Version: go1.5
OS: linux/386
BuildTime: 2015-10-06 21:47:00.148243385 -0600 MDT

Addressed by PR https://github.com/odeke-em/drive/pull/416


Add upper-case I as a possible space replacement fallback in Font.spaceWidth to improve text-selection (issue 7180)

In fonts with only upper-case glyphs, that are also missing a space glyph, get spaceWidth won't be able to return anything useful.
By adding upper-case I as a fallback, we can thus improve text-selection in some PDF files.
Note that locally, the patch causes slight movement in a few existing text tests, but in my opinion this actually looks like slight improvements.
Fixes #7180.

/botio test

/botio makeref

@Snuffleupagus Another thought for a different PR: maybe instead of relying on 'i' or 'I' we should just take the first non-zero width if all the others fail?


Replace travis ci with github workflow

Fixes https://github.com/qubole/rubix/issues/355

Integration is working, the failures in tests are existing ones which are there in travis too.


feat(MonthlyTransactions): add price feed

This PR uses the Coinpaprika API to retrieve POKT prices. They recently updated their API pricing and the free version has now lower limits, so it's not really interesting anymore to use it for this project.
Also, the querying and caching of the prices in the front-end is prone to errors, especially because of the API rate limiting. It would make more sense to create our own DB with the daily POKT prices.
For the reasons above, I am closing this PR.


'SDL_FLASH_UNTIL_FOCUSED':  undeclared identifier

Hi,
Make compile on windos, is get this error can make help?
\hello_imgui\internal\backend_impls\backend_window_helper\sdl_window_helper.cpp(145,36): error C2065: 'SDL_FLASH_UNTIL_FOCUSED':  undeclared identifier
Thanks you

SDL_FLASH_UNTIL_FOCUSED is a new addition to SDL. May be you are using an older version of SDL.
Three solution:

Comment out the line that uses this (it is not very important)$
Update your version of SDL
Use the easy install mode described in https://github.com/pthom/hello_imgui/tree/master/_example_integration
(this will download a correct version of sdl)


BModal lazy prop improvement, BButton loading prop

BModal lazy prop improvement

Included the BModal header & footer slots to be lazy-rendered, Which gives makes the component lazy-render work correctly when giving a component to the header/footer slots that require to be mounted after the modal was shown.
Added an additional variable lazyLoadCompleted to make sure that the modal's lazy rendered content stays shown until the modal was fully hidden.

Example of the lazy-rendered modal content on hide/close without the lazyLoadCompleted variable:
https://www.loom.com/share/e027cb1c0b674c53adbbf906737c0dc2
After adding  ``lazyLoadCompleted` variable & condition:
https://www.loom.com/share/2fc9bc3ce1694336822d34b6a936104c
BButton loading prop

Added a new prop to BButton component giving it the ability to show a BSpiiner when needed, also added a few custom CSS attrs to the BSpinner element to render responsively with the button's size & bootstrap's fw-bold class.

BButton working example:
<template>
  <b-container>
    <div class="d-flex gap-2 align-items-center">
      <b-button
        variant="primary"
        :loading="btnLoading"
        @click="btnLoading = !btnLoading"
        :size="'sm'"
      >Click to {{ btnLoading ? 'stop' : 'start' }} loading!</b-button>
      <b-button
        variant="primary"
        :loading="btnLoading"
        @click="btnLoading = !btnLoading"
        :size="'md'"
      >Click to {{ btnLoading ? 'stop' : 'start' }} loading!</b-button>
      <b-button
        variant="primary"
        :loading="btnLoading"
        @click="btnLoading = !btnLoading"
        :size="'lg'"
      >Click to {{ btnLoading ? 'stop' : 'start' }} loading!</b-button>
    </div>
  </b-container>
</template>

<script  lang="ts" setup>
import { ref } from 'vue';

const btnLoading = ref(false);
</script>

BEGIN_COMMIT_OVERRIDE
feat(BButton): add loading prop that makes spinner
feat(BModal): lazily load entire modal when prop lazy
END_COMMIT_OVERRIDE

Please, if you intend to continue contributing, you will need to have your commit messages conform to conventional commits

Please, if you intend to continue contributing, you will need to have your commit messages conform to conventional commits

I will take a look and try my best to follow it in any upcoming commits. Sorry if  i am doing something wrong, It's my first time contributing an open-source library.

I will take a look and try my best to follow it in any upcoming commits. Sorry if i am doing something wrong, It's my first time contributing an open-source library.

It's nothing detrimental, but it causes issues with the bot that parses through and automates the changelog file, and tag releases. For example, since the last one didn't contain the conventional commit, it didn't actually give any notice in the changelog. Which could be harmful to those updating. But after I got into using conventional commits after the decision to use them here, I exclusively use them on all projects now.

I'm also kind of skeptical of the use of decomposed .vue files when they are only used in a single component. Tbh, the use of a nested BButtonLoaading makes testing a bit more difficult since in every test I would need to check for the existence of the sub-component, it may be different if the sub-component is a huge bit of logic, but it's overhead. It's up to preference I guess.

I'm also kind of skeptical of the use of decomposed .vue files when they are only used in a single component. Tbh, the use of a nested BButtonLoaading makes testing a bit more difficult since in every test I would need to check for the existence of the sub-component, it may be different if the sub-component is a huge bit of logic, but it's overhead. It's up to preference I guess.

BButtonLoading is removed, and your other suggestions are done 😄

My last note must have been removed from the commit. But, be careful when using intellisense for importing
Package imports are perfectly fine import {ref} from 'vue' is perfectly fine.
Routes like `import {type} from 'src/types' will break the component when in library mode.
Not intuitive at all, but I've dealt with the problem before. Use relative paths when vite is in library mode

My last note must have been removed from the commit. But, be careful when using intellisense for importing
Package imports are perfectly fine import {ref} from 'vue' is perfectly fine.
Routes like `import {type} from 'src/types' will break the component when in library mode.
Not intuitive at all, but I've dealt with the problem before. Use relative paths when vite is in library mode

I've used a child component so i don't increase the BButton component code

I get why you'd do it, decomposition of components is a good strategy, but sometimes it's better to not

Noted. 👍🏼


⚠ Bofrost.be has degraded performance

In 889e7a3, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1824 ms

Resolved: Bofrost.be performance has improved in 35fb5f4 after 9 minutes.