freetds: enable odbcSupport by default

There is no reason not to, and some packages which I'm working on, requires this.
Motivation for this change
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[X] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg build freetds

Success on x86_64-darwin (full log)
Attempted: freetds
Partial log (click to expand)
fi
make[2]: Leaving directory '/private/tmp/nix-build-freetds-1.00.94.drv-0/freetds-1.00.94'
make[1]: Leaving directory '/private/tmp/nix-build-freetds-1.00.94.drv-0/freetds-1.00.94'
post-installation fixup
gzipping man pages under /nix/store/q3qhh832a16j7ya0v37mcixcxsiqi05f-freetds-1.00.94/share/man/
strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/q3qhh832a16j7ya0v37mcixcxsiqi05f-freetds-1.00.94/lib  /nix/store/q3qhh832a16j7ya0v37mcixcxsiqi05f-freetds-1.00.94/bin
patching script interpreter paths in /nix/store/q3qhh832a16j7ya0v37mcixcxsiqi05f-freetds-1.00.94
/nix/store/q3qhh832a16j7ya0v37mcixcxsiqi05f-freetds-1.00.94/bin/osql: interpreter directive changed from " /bin/sh" to "/nix/store/n9hba031gjky8hpjgx9fnlaxhidyzxbz-bash-4.4-p23/bin/sh"
/nix/store/q3qhh832a16j7ya0v37mcixcxsiqi05f-freetds-1.00.94

Success on aarch64-linux (full log)
Attempted: freetds
Partial log (click to expand)
shrinking /nix/store/6019527dwzihchggvw83bxqdayqp9h9j-freetds-1.00.94/lib/libtdsodbc.so.0.0.0
shrinking /nix/store/6019527dwzihchggvw83bxqdayqp9h9j-freetds-1.00.94/lib/libsybdb.so.5.1.0
shrinking /nix/store/6019527dwzihchggvw83bxqdayqp9h9j-freetds-1.00.94/lib/libct.so.4.0.0
gzipping man pages under /nix/store/6019527dwzihchggvw83bxqdayqp9h9j-freetds-1.00.94/share/man/
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/6019527dwzihchggvw83bxqdayqp9h9j-freetds-1.00.94/lib  /nix/store/6019527dwzihchggvw83bxqdayqp9h9j-freetds-1.00.94/bin
patching script interpreter paths in /nix/store/6019527dwzihchggvw83bxqdayqp9h9j-freetds-1.00.94
/nix/store/6019527dwzihchggvw83bxqdayqp9h9j-freetds-1.00.94/bin/osql: interpreter directive changed from " /bin/sh" to "/nix/store/dsyc1z7ck08ga7l0b1jcxx35wj69qcii-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/6019527dwzihchggvw83bxqdayqp9h9j-freetds-1.00.94...
/nix/store/6019527dwzihchggvw83bxqdayqp9h9j-freetds-1.00.94

Success on x86_64-linux (full log)
Attempted: freetds
Partial log (click to expand)
shrinking /nix/store/bzg6mjbz4hp710vhv1pi7lrbwl6jwsgf-freetds-1.00.94/bin/tsql
shrinking /nix/store/bzg6mjbz4hp710vhv1pi7lrbwl6jwsgf-freetds-1.00.94/bin/defncopy
shrinking /nix/store/bzg6mjbz4hp710vhv1pi7lrbwl6jwsgf-freetds-1.00.94/bin/tdspool
gzipping man pages under /nix/store/bzg6mjbz4hp710vhv1pi7lrbwl6jwsgf-freetds-1.00.94/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/bzg6mjbz4hp710vhv1pi7lrbwl6jwsgf-freetds-1.00.94/lib  /nix/store/bzg6mjbz4hp710vhv1pi7lrbwl6jwsgf-freetds-1.00.94/bin
patching script interpreter paths in /nix/store/bzg6mjbz4hp710vhv1pi7lrbwl6jwsgf-freetds-1.00.94
/nix/store/bzg6mjbz4hp710vhv1pi7lrbwl6jwsgf-freetds-1.00.94/bin/osql: interpreter directive changed from " /bin/sh" to "/nix/store/r47p5pzx52m3n34vdgqpk5rvqgm0m24m-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/bzg6mjbz4hp710vhv1pi7lrbwl6jwsgf-freetds-1.00.94...
/nix/store/bzg6mjbz4hp710vhv1pi7lrbwl6jwsgf-freetds-1.00.94


Stylet.StyletInvalidViewTypeException

Hello. I get this exception says that View doesn't derive from the Window class. But I call .ShowDialog from Conductor.Collection.OneActive derives from Window.
Window's ViewModel:
public class MainViewModel : Conductor<IScreen>.Collection.OneActive
    {
        private ErrorBoxViewModel errorBox;
        private readonly IWindowManager windowManager;

        public MainViewModel(IWindowManager windowManager)
        {
            this.windowManager = windowManager;
        }

        public void ShowError(string message)
        {
            if (errorBox != null)
                errorBox.RequestClose();
            errorBox = new ErrorBoxViewModel(message);
            this.windowManager.ShowDialog(errorBox);
        }
    }

In another view model derives from UserControl I call:
(Conductor as MainViewModel).ShowError("some string");
ErrorBoxViewModel view model derives from UserControl as well:
public class ErrorBoxViewModel : Screen
    {
        public string Message { get; private set; }

        public ErrorBoxViewModel(string message)
        {
            this.Message = message;
        }

        protected override void OnActivate()
        {
            base.OnActivate();
        }

        protected override void OnDeactivate()
        {
            base.OnDeactivate();
        }

        public void CloseWithSuccess()
        {
            this.RequestClose(true);
        }
    }

Any Idea what's wrong?

ErrorBoxView doesn't derive from Window.
When you call ShowWindow(someViewModel), the view for someViewModel must inherit from Window (otherwise it can't be shown as a Window).

Well, than how to add custom usercontrol to MainViewModel from Conductor or ActiveItem of Conductor?

I'm afraid I don't understand the question.,

I have a custom usercontrol that I want to display over ActiveItem of Conductor. I'm looking for a way to dynamically create the usercontrol from all of Conductor items?

What do you mean, "display over ActiveItem of Conductor"? What does "over" mean, exactly?
What do you mean by "dynamically create the usercontrol from all Conductor items"? What UserControl? How do you create a UserControl "dynamically"?

Okay, forget about dynamic. I have a Conductor (Window) and an ActiveItem (UserControl) as TabItem. I wan't to display another 'custom usercontrol' on Window. I guess I can add ths 'custom control'to mainview xaml and change the visibility from ActiveItem, but there is an Message property in ctor of 'customcontrol' that i want to change as well.

I wan't to display another 'custom usercontrol' on Window

What do you mean, "on Window"? Do you mean display it as a new Window? Do you mean display it in the MainView, but on top of the TabControl? Something else?

Yes, displaying as UsetControl but on top of the TabControl.

So not as a Window at all?
You'll want to put both the TabControl and the overlay in the same Grid, so that the overlay is placed on top of the TabControl. Something like this (untested, might have errors):
<Window x:Class="Your.MainView ....>
    <Grid>
        <!-- Display both the overlay and the TabControl, with the overlay on top of the TabControl -->
        <TabControl .....>
        </TabControl>
        <ContentControl s:View.Model="{Binding Overlay}"/>
    </Grid>
</Window>

public class MainViewModel : Conductor<IScreen>.Collection.OneActive
{
    private IScreen _overlay;
    public IScreen Overlay
    {
        get { return this._overlay; }
        private set { this.SetAndNotify(ref this._overlay, value); }
    }

    public void ShowOverlay()
    {
        this.Overlay = new SomeViewModel();
    }
}

Thank you. That's exactly what I want. Issue is resolved.

Cool!


[Bug]: export const ANALYTICS_ROOT = prefixUrl('/analytics/'); no Rest available

What happened?
I was looking at this in jaeger.js file
export const ANALYTICS_ROOT = prefixUrl('/analytics/');
that rest call is getting called from this
fetchDeepDependencyGraph(query) {
console.log(url = ${ANALYTICS_ROOT}v1/dependencies)
return getJSON(${ANALYTICS_ROOT}v1/dependencies, { query });
}
I am also trying to search for /analytics rest call in golang but I am not able to find it - Please let me know if I am missing anything
Steps to reproduce
search for jaeger.js under jeager-ui/packages/jageer-ui/src/api/
check the line 83 and then check the line 94 which is
fetchDeepDependencyGraph
Expected behavior
should call /analytics/v1/dependencies
Relevant log output
No response
Screenshot
No response
Additional context
No response
Jaeger backend version
No response
SDK
latest
Pipeline
No response
Stogage backend
No response
Operating system
No response
Deployment model
No response
Deployment configs
No response

Firstly, sorry for the delay on this issue. Your issue doesn't seem to describe any kind of problem, and the rest of the questions in the issue template are not answered. Please re-open with a clear description of the issue you are having, and we'll answer it.


log: initialize logging earlier

It turns out to be possible to initialize logging earlier by
grabbing the log from a global ngx_cycle structure.
This makes us start logging earlier, yet loses the
"No threading detected ..." messages both from stderr and
in error.log when nginx initially starts.
With this change, these messages will now be logged as we start
logging earlier:
"
flush
.
"
These originate from SystemCachePath::CacheKey which appends
newlines to the key, and the resulting cache key ends up being
logged. We might want to change that (on the mps side), because the resulting
lines in error.log look weird and might raise questions.
Fixes https://github.com/pagespeed/ngx_pagespeed/issues/895

LGTM
Looks good.  I'll fix the cache path key issue having newlines on the mps side.


[Lexical] Use classic mode for jsx runtime for meta build

Use classic mode for jsx runtime for meta build
fix build getting exception for react/jsx-runtime module doesn't exist, use classic mode for the build

Test failure looks like a flaky collab run


percentages were not correctly being calculated for new particles.

We were producing a Random number between 0 and 1 and comparing it to the percentages in order. If the random number was smaller than the percentage for the metric, we would use that metric's color. Unfortunately, that isn't correct.
Here's one example:
{
      "source": "INTERNET",
      "target": "us-east-1",
      "metrics": {
        "warning": 50,
        "danger": 50
      }
 }

In this case, 50% of the dots would be styled as warning, and 50% would be styled as normal (the default.)
In another example:
{
      "source": "INTERNET",
      "target": "us-east-1",
      "metrics": {
        "warning": 95,
        "danger": 5
      }
 }

Here, 5% of requests would be styled as danger, 90% of requests would be warning (when the dice is between 5 and 95) and an additional 5% would be styled as normal.
This PR includes the fix for the issue.
I think I ran Lint and I believe it was clean, but please double-check.

Good catch.  Thank you for fixing this.


[COMMAND APP] How to trigger deno slack app with /app-name commands

Hi Slack Team,
Im trying to create app bot using deno slack, how i can create app with command function using deno slack?
eg. /app-name configuration
then the app will show configuration UI/Form
thanks

This is not supported in the new automation platform. Instead, use a link trigger.


please version ansi

Hello,
Could you please tag this repository?
I am the Debian Maintainer for this project and tags would help Debian keep up with new releases/bugfixes.
See:

http://semver.org/
http://dave.cheney.net/2016/06/24/gophers-please-tag-your-releases

I would love to see this implemented. Thanks.


upload_blob does not currently work due to / encoding

Right now I'm trying to upload an image to attach it to a feed as follows (assume self.client here is an atproto.Client instance):
    def upload_image(self, image_path):
        # Open the image and resize it to 100x100
        with Image.open(image_path) as img:
            img = img.resize((100, 100), Image.Resampling.LANCZOS)
            # Convert the image to PNG format and save to a buffer
            buffer = io.BytesIO()
            img.save(buffer, format="PNG")  # Force PNG format
            buffer.seek(0)
            # Explicitly specify the MIME type as 'image/png'
            content_type = "image/png"
            # Upload the image
            data = buffer.read()
            response = self.client.upload_blob({
                'data': data,
            })
            return response.blob

This reliably fails no matter what transformations I apply to the file.
atproto_client.exceptions.BadRequestError: Response(success=False, status_code=400, content=XrpcError(error='InvalidMimeType', message='Wrong type of file. It is */* but it must match image/png,image/jpeg.'), headers={'x-powered-by': 'Express', 'access-control-allow-origin': '*', 'cache-control': 'private', 'vary': 'Authorization, Accept-Encoding', 'ratelimit-limit': '5000', 'ratelimit-remaining': '4984', 'ratelimit-reset': '1732304160', 'ratelimit-policy': '5000;w=3600', 'content-type': 'application/json; charset=utf-8', 'content-length': '109', 'etag': 'W/"6d-gUcY4DPgYN+iCeoV5v5OQKKkymA"', 'date': 'Fri, 22 Nov 2024 18:50:53 GMT', 'keep-alive': 'timeout=90', 'strict-transport-security': 'max-age=63072000'})

I believe it it because in sync_ns, we have an encoding of */* asserted. When I manually assert image/jpeg, it works. We need to be able to insert a content_type in order for this to work with current spec of the Bsky servers - @MarshalX if you give me the gist of how to add this piping through I can take a shot at it.

What if you will not set content type for blob? And just curiosity. Why do you set it? The backend should set it automatically. And / should pass

At first I was not setting a type, and it was still failing - so I tried to explicitly set a type, and it still fails.

On Nov 22, 2024, at 11:20 AM, Ilya Siamionau @.***> wrote:
What if you will not set content type for blob? And just curiosity. Why do you set it? The backend should set it automatically. And / should pass
—
Reply to this email directly, view it on GitHub https://github.com/MarshalX/atproto/issues/454#issuecomment-2494621923, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAADPJCESWHINVAMTUCEOG32B57ZRAVCNFSM6AAAAABSJ7HSOWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJUGYZDCOJSGM.
You are receiving this because you authored the thread.

@DGaffney why do you pass dict to upload_blob? You should just pass bytes data of the img

lol there it is - @MarshalX thank you as usual


Convert IPv6 characters to uppercase

I'm not sure if this is an issue for others, but on my plex server, if the IPv6 address portion of the custom server access URL isn't uppercase, my plex apps are not able to connect remotely.
For instance, my plex app fails to connect when the custom server access URL is formatted like this:
https://3210-488d-188f-5660-0000-0000-0000-9a52.f1c87d9690af4e0da1c2bfbf34b850fb.plex.direct:32400
But it works as expected when the URL is formatted like this:
https://3210-488D-188F-5660-0000-0000-0000-9A52.f1c87d9690af4e0da1c2bfbf34b850fb.plex.direct:32400
For reference, I am on Ubuntu 18.04 LTS using Plex Media Server version <IP_ADDRESS>75

This comment on the plex forums is what gave me the idea to try using an upper-case IPv6 address even though the commenter is referring to this in the context of something called "myplex" which I am not familiar with.
https://forums.plex.tv/t/ipv6-support-for-myplex/36520/271

Just to verify: When you are connecting remotely, do you actually see Plex connecting via the uppercase IPv6 access URL? You can test this by opening the dev tools in any browser and then navigating to Plex. The network tab will show you which URL Plex ends up using.

Chrome shows the shortened IPv6 address with lower-case characters.  I wish there was a way to check to see which access URL the Android Plex app is using.  Changing from upper-case to lower-case seems to have no effect on the behavior of the web app, it only seems to affect the Android app.

You may be able to pull debug logs from the app, see https://support.plex.tv/articles/201573117-android-android-tv-fire-tv-logs/.
I just want to avoid that this is actually caused by something totally unrelated, since both IPv6 addresses and hostnames should be case-insensitive.

Thanks for sharing that, it's so helpful in troubleshooting this!
Here's something really strange.  When the custom server access URL is set to the uppercase format, the Android logs show that everything works as expected.
When the Custom server access URL is set to the lowecase format, the Android logs do not show any IPv6 address.  Instead the logs show two IPv4 addresses, one is the internal IP address of the server and the other is the public WAN IP address of my router.
This leads me to believe that for some reason Plex does not pass along the lowercase IPv6 address to the Android client.
I am actually observing something similar in the Roku app logs as well.  No IPv6 address shows up in the logs until the custom server access URL is set to uppercase.  It seems like this may be a bug in the way plex shares the custom access URL.  I am not sure why it doesn't seem to affect the web app when using plex.tv/web though.

One last thing: What do you see in the logs when there's no IPv6 custom access URL configured? Same as when it's lowercase?

When the custom access URL field is left blank, it seems the behavior is similar to when a lower case format URL is used.  The android app logs show both the internal and external IPv4 address of my plex server which will never work as I am behind CGNAT and cannot do IPv4 port forwarding.  It seems plex could do a much better job handling these scenarios as more ISPs are moving towards this model.

I added a new flag. If you run with -capitalization upper it will convert the IPv6 IP address to uppercase when building the custom access URL.
Will publish a new release later today.

Released as part of 0.2.0.

That seems to work perfectly, thank you and happy new year!


Update sites.yml

This PR is:

[x] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

[x] I used the uncompressed size of the site
[ ] I have included a link to the GTMetrix report
[x] The domain is in the correct alphabetical order
[x] This site is not a ultra lightweight site
[x] The following information is filled identical to the data file

I confirm that I have read the FAQ section, particularly the two red items around minimal pages and inappropriate content and I attest that this site is neither of these things.

[ ] Check to confirm

- domain: haxi.viw.se
  url: https://haxi.viw.se
  size: 51.2
  last_checked: 2022 02 27

GTMetrix Report:

Please include a GT Metrix link.

Added!

let me fix it

Also, the date should have this format: yyyy-mm-dd. It's missing the -.


Support for HintView in Spinner

What do you think about adding support for hint view in Spinner?
<Spinner
                android:id="@+id/list"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>/>

POC code (not fully tested) is on my branch:
https://github.com/kamiox/binding-collection-adapter/tree/spinner-hintview

Interesting idea, having an empty view for spinners has always been a pain.

+1


Testing the Runtime

The test procedure for a run time version of the IVCT framework and the test suites shall be documented.

Have made a first draft in IVCT_Runtime/wiki to reflect the GUI and UI as currently used. In the case of Docker containers, there should be a description of what has to be tested and what has to be done when errors occur.


Make locus-specific points visible in all z slices

So that users don't need to scroll as much to get the critical information (did a particular (FOV, timepoint) pair have a locus-specific spot that passed or failed QC) we could make the point visible in all z slices. To preserve the information about where the center of the point was detected, we'll have shape determined by z and color still correspond to QC pass/fail status (instead of having them be redundant as is currently the case). Specifically, blue will be QC fail and red QC pass, with * reserved for the point shape in the z slice closest to where the centroid was detected, and o elsewhere.

Confirmed w/ @TLSteinacker


Fix processing of non-exact movie and tv ingested torrents

Consumers only process where the cat is exactly movies or tv, so external db's need to be coerced into this format
See #78

I think I have a fix for this, but I'm having trouble understanding the workflow and purpose of the ingested_torrents and torrents table in the database.
In the torrents table I see no tv category, only series and no movies but movie. In the ingested_torrents there is no movie or series. Which table is actually being used for the availability/real-time search check? Is there any renaming going on for the non-imported entries?
Should the categories be aligned? So only tv and movie or series and movie for both tables?

Sorry, I had made a fix last night but forgot to actually make the PR. Linked the issue now

And I'm wondering, these non movies and tv entries which are not processed do show up as processed (t) in my ingested_torrents table. Does it just label it as processed, even though it didn't? If we put those to f will they be requeued for processing?

Yeah, processed will just stop the consumers from picking it up again, doesn't necessarily mean anything was found, so setting them false should allow the consumers to reprocess


Change CRUD operation commands to add/edit a Product in the Admin Panel

Per the comment from Daniel in DDDinPHP

This is so bad, commands should be find-grained with business naming.
You don't create your products (unless your business is related to factories).
You don't update products, but rename titles, changing prices, etc.

We may need to change these commands to support the Admin Panel HTML form to add and edit new products to the store:

Action/Product/CreateProductCommand
Action/Product/UpdateProductCommand

The Admin Panel form:

The main application controller code (non open-source) to update a product:
    public function action_edit()
    {
        $productDTO = $this->getProductDTO();
        $post = $this->request->post();

        if (! empty($post)) {
            $this->updateProductDTOFromPost($productDTO, $post);

            try {
                $this->dispatch(new UpdateProductCommand($productDTO));

                Message::add('success', 'Product has been saved.');
                $this->redirect($productDTO->adminUrl);
            } catch (EntityValidatorException $e) {
                Message::add('error', 'Unable to save product!');
                $this->data['formErrors'] = $e->errors;
            }
        }

        $this->data['product'] = $productDTO;
        $this->data['action'] = $productDTO->adminUrl;
    }

    protected function getProductDTO()
    {
        try {
            $request = new GetProductRequest($id);
            $response = new GetProductResponse($this->pricing);
            $this->dispatchQuery(new GetProductQuery($request, $response));
            return $response->getProductDTOWithAllData();
        } catch (EntityNotFoundException $e) {
            Message::add('error', 'Product ' . HTML::chars($id) . ' not found!');
            $this->redirect('admin/product');
        }
    }

    private function updateProductDTOFromPost(ProductDTO & $productDTO, array $post)
    {
        $productValues = Arr::get($post, 'product');

        $unitPrice = (int) floor(Arr::get($productValues, 'unitPrice') * 100);

        $productDTO->name = trim(Arr::get($productValues, 'name'));
        $productDTO->sku = trim(Arr::get($productValues, 'sku'));
        $productDTO->description = trim(Arr::get($productValues, 'description'));
        $productDTO->unitPrice = $unitPrice;
        $productDTO->quantity = Arr::get($productValues, 'quantity');
        $productDTO->shippingWeight = Arr::get($productValues, 'shippingWeight');
        $productDTO->isInventoryRequired = Arr::get($productValues, 'isInventoryRequired', false);
        $productDTO->isPriceVisible = Arr::get($productValues, 'isPriceVisible', false);
        $productDTO->isActive = Arr::get($productValues, 'isActive', false);
        $productDTO->isVisible = Arr::get($productValues, 'isVisible', false);
        $productDTO->isTaxable = Arr::get($productValues, 'isTaxable', false);
        $productDTO->isShippable = Arr::get($productValues, 'isShippable', false);
        $productDTO->isShippable = Arr::get($productValues, 'isShippable', false);
        $productDTO->areAttachmentsEnabled = Arr::get($productValues, 'areAttachmentsEnabled', false);
    }

Your form can produce the following commands (just for example):

RenameProduct { id: 42, newName: "..." }
ChangeProducePrice { ... }
ChangeQuantity
MakeProductVisible
MakeProductShippable.
MakeProductInvisible;
And so on.

The commands above would produce fine-grained events:

ProductWasRenamed { id: 42, newName: "..." }
ProductPriceWasChanged;
etc.

The thing is form is just UI detail.
What if you would have buttons "Hide", "Unhide" (MakeProductInvisible, MakeProductVisible)?
It doesn't change anything from the domain perspective, it's pure UI concern.
Command (and events) should reflect domain terms.
However, it requires you to make mapping from the form on the commands.

I'm not sure how pragmatic it would be to have a separate Command for each data point in the application. I do like the idea of knowing exactly what values change on the product. This would work very nice with Event Sourcing. This is also a great way to express the various ways in which you can manipulate the domain Entities.
The drawback is you basically need a separate Command, Handler, and unit test for each Entity member variable. For the Product Entity above, you would need 13 commands. That is 39 files vs the current 3. I understand that files are cheap; however, this may present a maintenance problem with so much boilerplate code. There will also be a performance penalty if you have to write to the DB on each Command execution, assuming you are not using Event Sourcing.

From the Software Craftsmanship Slack channel #_craftsmanship

jamie [10:27 AM]
How fine-grained are your commands? Lets say you have an admin form editing a product. You then modify the name, quantity, price, set active, and set taxable.
Do you have 1 command to ModifyProduct, or do you break it up into individual commands to RenameProduct, ChangeQuantity, MakeProductActive, etc.
Would using Event Sourcing change the way you approach the decision to isolate changes in commands?
lilobase [10:34 AM]
I would make the RenameProduct, ChangeQuantity … commands
and no, I can use an event store without changing anything
in fact it’s usually a mix, we have a « classical »  datastore but we also store every command in a specific place so we can replay some action and get an audit log for free (edited)
and if one day we want to switch to an event store, we will be able to do so just by replaying all the events
jamie [10:42 AM]
I like the idea of recording everything sent to the command bus even if you are not using Event Sourcing.
lilobase [10:44 AM]
yes, we started this model before it was cool :slightly_smiling_face:, I worked in for clients in the public administration
jamie [10:44 AM]
would you ever pass a value-object to a command? Example: add/update a mailing address. Would you have one command to ModifyShippingAddress, or a separate one for ModifyShippingCity, ModifyShippingPostalCode, etc.
lilobase [10:44 AM]
and the need for an audit log was a must have for them
jamie [10:44 AM]
command audit log = point in time database recovery :slightly_smiling_face:
lilobase [10:45 AM]
command are just POJO, so in fact the command is the value object
jamie [10:45 AM]
for free™
ah, I see. That makes sense.
lilobase [10:45 AM]
and the data inside it is flat
jamie [10:45 AM]
just scalars: strings, int, float, bool
lilobase [10:46 AM]
yep, they are pure DTO
jamie [10:46 AM]
thanks. That clears it up perfectly for me.
lilobase [10:46 AM]
it’s to avoid any leak from the domain inside the infrastructure (edited)
the infrastructure is dumb pipes (edited)
and for the granularity it’s depend of the domain
if we have a domain centered around shipping, so yes we will have a fine granularity on the shipping’s events
jamie [10:48 AM]
my only concern with fine-grained commands is the pragmatism of creating so much code duplication and boilerplate. I’m not scared of lots of files, but that may present a maintenance concern.
lilobase [10:49 AM]
that why the fine granularity is for your core domain
and it fact its allow you to make also very fine grained tests
so basically your domaine is often more robust
because you have less chances to forgot a logical path in the tests if the command is really fine grained (edited)
jamie [10:51 AM]
I can see that.
lilobase [10:51 AM]
and there is not really a lot of duplication
you have to create an handler for each command
jamie [10:51 AM]
for unit testing the commands, would you just spy on the dependency calls, or would you send a tracer test through the whole stack? assuming you are using an in-memory db.
lilobase [10:52 AM]
usually I spy the dependency call
jamie [10:52 AM]
yeah. me too. that is faster if you can trust the dependencies.
lilobase [10:52 AM]
yea
jamie [10:52 AM]
for core logic that touches money, I’ll run that code through the whole stack.
I’ll pay the 100ms cost to know for sure that part works :slightly_smiling_face:
Thanks for the insights @lilobase, and sorry to everyone if we hijacked this channel for our own benefit.
lilobase [10:54 AM]
thanks for the questions :slightly_smiling_face:

I'm not sure how pragmatic it would be to have a separate Command for each data point in the application.

I'd say "each business intention". It's perfectly fine to have several values in a single command. Sometimes it's OK to have something like ChangeUserProfile { id, name, dateOfBirth, aboutMe } if business doesn't interested in highly level of graining.

Hello, two little things:

There will also be a performance penalty if you have to write to the DB on each Command execution, assuming you are not using Event Sourcing.

For performance you can dispatch multiple actions in the same request, and using a database transaction to make a global commit for all the updates involved
Also for the UI point of view, maybe you can take some insight from "task based UI" principles: https://cqrs.wordpress.com/documents/task-based-ui/ which try to avoid long form (and CRUD interface) to instead display more "business intent oriented" user actions.


[gitlab] Increase timeout for macOS jobs

What does this PR do?

Updates the Gitlab jobs that use macOS GitHub Actions to only time out after 6 hours.
Motivation

Prevent the Gitlab CI from failing with an early timeout, while the GitHub Action it tracks still runs. GitHub Actions have a 6h timeout.
This affects us during busy periods, when the max number of concurrent macOS jobs (50) is not enough to absorb CI requests. This results in GitHub Actions macOS jobs being queued, possibly for more time than the Gitlab CI timeout (2h).
Additional Notes

Possible Drawbacks / Trade-offs

With this change, we trade average pipeline speed for correctness: pipelines won't fail due to this problem, but may take longer because of the queue time.
Describe how to test/QA your changes

Check macOS jobs success rate.
Reviewer's Checklist

[x] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[x] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[x] A release note has been added or the changelog/no-changelog label has been applied.
[x] Changed code has automated tests for its functionality.
[x] Adequate QA/testing plan information is provided. Except if the qa/skip-qa label, with required either qa/done or qa/no-code-change labels, are applied.
[x] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[x] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[x] If applicable, the need-change/operator and need-change/helm labels have been applied.
[x] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[x] If applicable, the config template has been updated.

/merge


Keybinding config doesn't work.

VSCode Version:  1.38.1
OS Version: MacOS 10.14.6

Steps to Reproduce:

Configure key binding
	{
		"key": "ctrl+u",
		"command": "deleteAllLeft",
		"when": "textInputFocus && !editorReadonly"
	}

Open command window (workbench.action.showCommands), typing some words and pressing
ctrl+u, then the vscode has no response.

This configuration works for editor, but looks like this command is not applicable to input fields in Command Palette, Find Widget etc.

@IllusionMH This looks like a bug. Other commands seem to be working.

Cmd + Delete should do that on Mac.
The request to make all commands from the text editor also work in input fields appears out of scope. Closing for that, thanks.


e-Mail to Team e-mail remain in draft status

I use Dynamics 365 Workflow Tools the custom workflow activities , very great job.
Many compliments
Just one question, when i use the activity e-Mail to Team i prepare a generic e-mail with the activity Create e-Mail e then use the Dynamics 365 Workflow Tools activity e-Mail to Team. When the workflow run why the generated e-Mail remain in the draft status e don't send to Team members.
Thank You
Marcello Tonarelli, Florence, Italy

Hi Marcello, thanks for following.
If the email stays in draft, maybe is because you have any issue in the email configuration.Did you try to send a manual email and it worked fine?
if yes, please try to see if you have any log error to send to me.
thanks!

Hi Marcello,
Any update about this?
thanks


Handle new iat validation after updating pyjwt to 2.6.0 version

After updating pyjwt version to 2.6.0 many of saleor tests fail with ImmatureSignatureError - The token is not yet valid (iat) because validation for iat has changed in this version.
https://github.com/jpadilla/pyjwt/issues/814

Steps to reproduce:

Install PyJWT==2.6.0

$ pip install pyjwt==2.6.0

Run tests:

$ pytest


Native methods of UI5 aggregation items cannot be invoked for SmartFilterBar

Describe the bug
Similar to something what is described here, doesn't work for SmartFilterBar. Invoking listItem.getTitle doesn't work
const control = await browser.asControl(oListSelector)
const ui5ListItems = await control.getAggregation("items")
for (const listItem of ui5ListItems) {
  expect(await listItem.getTitle()).not.toBe("")
}

SmartFilterBar has an aggregation called 'filterGroupItems' of type sap.ui.comp.filterbar.FilterGroupItem. Each FilterGroupItem has a property called label
The below is my code. I'm just invoking the getLabelMethod

This doesn't work, because the native UI5 methods of FilterGroupItem don't seem to be available on each of the items in aggregation.

This leads to a type error about missing function

This seems broken in other places (other than SmartFilterBar) as well.
getRows on sap.ui.table.Table also has the same problem
To Reproduce
Invoke getLabel on items of filterGroupItems aggregation of SmartFilterBar
Expected behavior
The label of the filter item
Logs/Console Output
TypeError: item.getLabel is not a function
$> TypeError: item.getLabel is not a function

Screenshots
above
Runtime Env (please complete the following information):

wdi5/wdio-ui5-service-version: 0.9.0-alpha.1
UI5 version: 1.98.0
wdio-version (output of wdio --version): @wdio/cli (version: 7.16.16)
node-version (output of node --version): v16.14.0
OS: MacOS Monterey (12.2.1)
Browser + Version [Chrome: Version 99.0.4844.51 (Official Build) (arm64)]

hi, thanks again for the detailed description of the issue 👍
have you tried adding interaction: "root" to the selector?
as in
const filterbar = {
  selector: {
     //...
    interaction: "root"
  }
}

interaction: root is a malevolent property from OPA5 land - we're currently collecting all controls requiring that property in order to eventually add it on the fly; so that in the code of the test, it can go away from the selector

Hi, I have the same problem.
I tried to add interaction: root, but it still doesn't work.
Runtime Env:

wdio-ui5-service-version: 0.9.10
UI5 version: 1.96.0
wdio-version (output of wdio --version): @wdio/cli (version: 7.20.5)
node-version (output of node --version): v14.17.3
OS: MacOS Monterey (12.5)
Browser + Version [Chrome: Version 103.0.0 (Official Build) (arm64)]

I guess we'll have to look at the SmartFilterBar specifically, meaning we'll include exactly that use case in our own tests.
We'll get back to you two here!

Sorry, I missed the fact that it was about the SmartFilterBar, in fact I have the same problem with sap.ui.comp.filterbar.FilterBar.


Explicitly give signals and slots when calling connect

Instead of doing
connect(
    m_viewport_widget, SIGNAL(customContextMenuRequested(const QPoint&)),
    SLOT(slot_viewport_widget_context_menu(const QPoint&)));

do
connect(
    m_viewport_widget, &ViewportWidget::customContextMenuRequested,
    this, &FinalRenderViewportTab::slot_viewport_widget_context_menu);

This allows to detect connect errors at compile time instead of runtime.
Also, navigating to signals or slots in Visual Studio is easier.
For signals or slots that have multiple arg possibilities, you can specify which one to chose with qOverload. Example, this
connect(
    m_display_transform_combo, SIGNAL(currentIndexChanged(QString)),
    m_viewport_widget, SLOT(slot_display_transform_changed(QString)));

becomes
connect(
    m_display_transform_combo, qOverload<const QString&>(&QComboBox::currentIndexChanged),
    m_viewport_widget, &ViewportWidget::slot_display_transform_changed);

I'd like to work on this issue, as I'm new to appleseed. Are there any particular files I can find this in? grep is taking a bit too long.

@LeaBroudo run grep in a specific folder. For instance src/appleseed.studio.

Got it! I'll start on it now.


Unable to submit 3 payments for a VRP consent

When submitting a third payment for a VRP consent, the following exception is raised:
2023-07-06 15:55:40.311 ERROR 1 --- [nio-8080-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.IncorrectResultSizeDataAccessException: Query { "$java" : Query: { "payment.data.consentId" : "DVRP_7d2215c2-0945-44a6-8b0f-49907f51935e"}, Fields: {}, Sort: {} } returned non unique result.] with root cause

org.springframework.dao.IncorrectResultSizeDataAccessException: Query { "$java" : Query: { "payment.data.consentId" : "DVRP_7d2215c2-0945-44a6-8b0f-49907f51935e"}, Fields: {}, Sort: {} } returned non unique result.
	at org.springframework.data.mongodb.core.ExecutableFindOperationSupport$ExecutableFindSupport.oneValue(ExecutableFindOperationSupport.java:134) ~[spring-data-mongodb-3.0.5.RELEASE.jar!/

The issue is within this method:
com.forgerock.sapi.gateway.ob.uk.rs.server.persistence.repository.IdempotentRepositoryAdapter#idempotentSave

The method has been written to work with consents which have 0..1 payments (all payments except VRPs), whereas VRP payments have 0..* payments per consent.

There's a related bug with this code, the idempotency check is being disabled for payment submission of VRPs.
An if check adds a guard which results in the VRP payments skipping the idempotent behaviour.
if (isPaymentSubmission.isPresent() && (intentType == null || !intentType.equals(DOMESTIC_VRP_PAYMENT_CONSENT))) {
            log.info("A payment with this consent id '{}' was already found. Checking idempotency key.", isPaymentSubmission.get().getConsentId());
            IdempotencyValidator.validateIdempotencyRequest(paymentSubmission, isPaymentSubmission.get());
            log.info("Idempotent request is valid. Returning [201 CREATED] but take no further action.");
            return isPaymentSubmission.get();
        } else {
            log.info("No payment with this consent id '{}' exists. Proceed to create it.", paymentSubmission.getConsentId());
            log.debug("Saving new payment submission: {}", paymentSubmission);
            paymentSubmission = repository.save(paymentSubmission);
            log.info("Created new Payment Submission: {}", paymentSubmission.getId());
            return paymentSubmission;
        }

https://github.com/SecureApiGateway/SecureApiGateway/issues/958 should be fixed first, which should simplify the work needed to be done to fix this bug.

Looks like #958 fix will resolve this issue. Once that fix is available we can add unit and functional tests to confirm this issue is fixed.


Allow input state to be updated by passing new value prop

Input : Allow state to be updated by new value prop
When the input is initialized, the value property of its state is set to the passed value prop. The value prop on the internal state is then only updated via the handleOnChange. This is fine when the user is in control of the input. There may be times however, where we want to update the value on the internal state programatically, such as allowing a picker to inject content, as shown below.
This PR updates the Input component such that the value on the internal state can be updated by passing a new value prop to the component.

Thanks @ItsJonQ!

Changes Unknown when pulling 223b90e8973d0f7f8dcf91d8a347af8ef0869387 on fix/update-state into ** on master**.


How does Conditional Access Policy's sign-in frequency affect msals behaviour?

Library

<EMAIL_ADDRESS><EMAIL_ADDRESS>
Description
Azure AD Premium has the concept of Conditional Access Policies. As far as I can tell, when you change the sign-in frequency it doesn't affect the access token or refresh token lifetime.
Since the access token has a default lifetime of 1 hour, no matter what you set the sign-in frequency to in Azure, after 1 hour the refresh token will be used to fetch a new access token.
So setting a sign-in frequency in Azure AD premium has no effect on a default msal app.
And indeed I tested this by doing the following simple steps:

Download the  msal angular sample that uses auth code flow with PKCE (https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-angular)
Add an Conditional Access Policy in Azure AD premium on the app registration for the app above
Make sure the policy is applied when the user signs in (e.g. by checking Sign Ins blade or what-if tool on Enterprise app).
Observe no adjustments to access token lifetime or refresh token validity

How is the sign-in frequency supposed to have an effect on an auth code flow msal app's behavior if it doesn't adjust the access token or refresh token lifetime? Is there some additional code I would need to write to make use of the sign-in frequency?
Source

Customer request

@k290 Thanks for raising this. This appears to have been an oversight on the server-side. I believe the server folks will address this gap. @hpsin to update status when there's something to share
cc. @nickgmicrosoft We should confirm whether or not this needs to be done in B2C as well

@k290 After further internal discussion it was determined this should be behaving as designed. Sign-in frequency does not alter token lifetimes but rather when your access token expires and you try to use the refresh token to obtain a new access token the sign-in frequency will be checked and the request will be rejected if you need to reauthenticate.
In other words, once you have an access token, this token is valid for it's lifetime (1 hour). The CA policy will be enforced, if needed, each time you attempt to renew. Can you clarify whether or not you're seeing different behavior?

@tnorling  I am seeing different behavior. After 1 hour  has passed the request using the refresh token is successful and a new access token is provided to the client.

@k290 Can you email me a fiddler trace of the initial token acquisition and the unexpected successful renewal? I'll pass it along to our server folks so they can take a look.

@tnorling  absolutely. You'll receive the email within the next few days and I'll add another comment here once it is sent.

Hi @tnorling  I have sent you an email titled "CAS not taking effect on PKCE MSAL app". It contains the requested fiddler traces as well as additional info that could be useful.

We received the following feedback from the server team with @tnorling's help and I can confirm that it is accurate and correct:

Conditional access executes based on token audiences, and we don’t execute it for id_tokens where the token audience is a public client.
That’s why the CA policy doesn’t kick in
The reason why CA doesn’t execute for id_token for public clients is because CA is meant to protect data from the cloud, and having an id_token from a public client doesn’t grant access to any data from the cloud.
It’s about the data that could be accessed in their request.
They can try few other options:
They can change their policy to apply to “All apps”, then SIF will kick in.
E.g. They can try to set the policy on Exchange Online, and request mail.read scope
Another example: They can try to set the policy for Sharepoint Online, and request files.read scope
So, we will apply the conditional access policy if the conditions are met, but only for tokens that could access data in the cloud.

I changed the conditional access policy to apply to "all apps" and the MSAL app does correctly redirect after 1 hour.  I did not try the other examples, but it now makes sense why using them as a workaround works.


Refactor riscv_trace_csv.py

Hi @taoliug , I fixed the issue, and re-create again this PR. It looks good to me when I try to run some test cases. Could you take the look, and try to run your internal regression test cases? I remember you mention "adding a nightly regression locally". Do you have any plan for it? And is it public outside, or internal side?.
Furthermore, I am going to to use enum class for TYPE instruction. Ex:
class TYPE (Enum):
  LOAD  = ['lb', 'lh', 'lw', 'lbu', 'lhu', 'ld', 'lq', 'lwu', 'ldu', 'c.lw', 'c.ld', 'c.lq', 'c.lwsp', 'c.ldsp', 'c.lqsp']
  STORE = ['sb', 'sh', 'sw', 'sd', 'sq', 'c.sw', 'c.sd', 'c.sq', 'c.swsp', 'c.sdsp', 'c.sqsp']
  CR = [ 'c.add', 'c.addw', 'c.mv', 'c.sub', 'c.and', 'c.or', 'c.xor', 'c.subw']
  ...
  ...

However, it still has some special case instruction. Ex:

I do not know how to determine the name for these groups of instructions. ['csrrw', 'csrrs', 'csrrc'], ['lui', 'auipc'], ...
Only one instruction. Ex: ['mv'], ['not']

Do you think is it good idea to do it? (may be an another PR if it is accepted)

Thanks for the update. I'd suggest keep this PR on hold until the new CSV format related changes are merged to upstream. Most of the changes in this PR are not needed after switching to new script.

I see. Close PR


Improve benchmarking scenarios and enable "smoketest only" suite.

-- cleanup to make scenario_config more readable
-- add many new scenarios to wrapped languages so we start collecting the data (some scenarios seem not to work, so I marked them with TODO and will request fixing them).
-- make sure we run similar scenarios for all languages so we have comparable data
To decrease the number of scenarios we are running on pull requests, I introduced a --category flag for run_performance_test.py. It's set to "smoketest" by default.
Please double check for scenario naming vs. the parameters being set so that we don't generate garbage data thanks to incorrect naming.

friendly ping.  (the interop test are actually passing, they are just reported as a failure by jenkins, I'm in process of addressing that).

Green enough.

I've given all my comments on what's there. I am pretty certain that the Ruby unconstrained QPS=0 is because of choking under the current values of wide and deep - we can always get that in later. Thanks for putting that comment in on the Ruby line. Are there equivalent comments for the other TODO lines that explain the current problems with them? Or perhaps you could just mention it in reply to this comment. I am ok with merging this as is as long as there's some kind of explanation about what's currently not working with the TODO scenarios.

LGTM.

I will merge so we can iterate on the scenarios that don't work (and after this one is merged, we can also distribute the workload among more team members). I also believe that are reasonable explanations why the scenarios currently don't work (I think mostly this is related to starving after creating way to many threads).
Thanks for the review.


How to select images for the few shot settings in cityscapes_foggy dataset

Hi,
Hope you are doing well.
I am running your code on a custom dataset. I have preprocessed the source data following the cityscapes_to_yolo.py but now I am confused how to preprocess the target dataset as per few shot settings and more importantly how you did it in this work.
I am new to few shot domain adaptation so not able to figure out how to reshape the target domain dataset into few shot settings. Like how to divide images into various classes specially when each image has multiple classes. Please help me in this, it will be perfect if you can provide me the foggy_cityscapes_to_yolo.py file since I could not find it in either of the repos.
Thanks alot for helping me!

Hello. The format of Foggy Cityscapes dataset is the same as Cityscapes. You can refer to cityscapes_to_yolo.py.


TimePickerAndroid has been removed from React Native

Issue
The date picker will not show up anymore. In debug mode it gives the error:

DatePickerAndroid has been merged with DatePickerIOS and will be removed in a future release. It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'

Expected Behavior
The date picker shows up
Code

Environment

react-native -v: 0.62.0
node -v: 12.8.0
npm -v: 6.10.3
yarn --version: 1.17.0-20190429.1820
target platform: Android
operating system: Mac

nobody is mainainig this repo, as i can c, so - just use @react-native-community/datetimepicker instead.

That's sad, this package had features that I liked and that the community one doesn't. :(

I have forked and updated to use @react-native-community/datetimepicker
https://github.com/Rejsal/react-native-datepicker

That's kinda cool
ср, 10 июн. 2020 г., 14:36 Rejsal<EMAIL_ADDRESS>
I have forked and updated to use @react-native-community/datetimepicker
https://github.com/Rejsal/react-native-datepicker
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/xgfe/react-native-datepicker/issues/414#issuecomment-641943673,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABY6V6XSYR7JSZ3DPAJGNODRV5V2NANCNFSM4MNNUUEQ
.

I wanted to install it @Rejsal but you made a small mistake in your package.json file. Line 29 has a trailing comma which is not allowed in json. https://github.com/Rejsal/react-native-datepicker/blob/master/package.json#L29

@Rejsal I would also love to download it, but am running into the same issue as sven. Any update?

Removed trailing comma from package.json

Hey @Rejsal , Im running into an issue trying to use your fork. When I try clicking the DatePicker on android I get the following error:

I am using the DatePicker like so:
             <DatePicker                 style={styles.timePicker}                 date={this.state.time || '12:00'}                 format={'hh:mm a'}                 mode="time"                 placeholder={formatMessage(messages.date)}                 confirmBtnText="Confirm"                 cancelBtnText="Cancel"                 showIcon={false}                 onDateChange={(time) => this.formChanged('time', time)}               />
Any thoughts?

Could you please try same format as given in format like 12:00 pm/am?

Also I think I didn’t remove DatePickerAndroid due to datetime mode there. So DatePickerAndroid.open() undefined error is thrown there if it is removed by react native. May be you can fork and remove the
“if(mode == ‘datetime’)” Condition and it’s inner functions which DatePickerAndroid from datepicker.js

Removed datetime mode from my fork.

Hey @Rejsal , Im running into an issue trying to use your fork. When I try clicking the DatePicker on android I get the following error:

I am using the DatePicker like so:
<DatePicker
                style={styles.timePicker}
                date={this.state.time || '12:00'}
                format={'hh:mm a'}
                mode="time"
                placeholder={formatMessage(messages.date)}
                confirmBtnText="Confirm"
                cancelBtnText="Cancel"
                showIcon={false}
                onDateChange={(time) => this.formChanged('time', time)}
              />

Any thoughts?

hello, I'm having the same problem, can you solve it?

hello @nathan-haines , I'm having the same problem, can you solve it?

Hey @Rejsal , Im running into an issue trying to use your fork. When I try clicking the DatePicker on android I get the following error:

I am using the DatePicker like so:
<DatePicker
                style={styles.timePicker}
                date={this.state.time || '12:00'}
                format={'hh:mm a'}
                mode="time"
                placeholder={formatMessage(messages.date)}
                confirmBtnText="Confirm"
                cancelBtnText="Cancel"
                showIcon={false}
                onDateChange={(time) => this.formChanged('time', time)}
              />

Any thoughts?

hello @nathan-haines , I'm having the same problem, can you solve it?

@Rejsal I just have installed your fork and it works on Android, however, androidMode="spinner" doesn't work, I see just a usual clock instead, how can I make it work?

@Rejsal  I added my own fork which supports androidMode, if anyone needs it, here it is: https://github.com/Luckygirlllll/react-native-datepicker

mode='time' still not working in Android.
TimePickerAndroid has been removed from React Native. Any one has a workaround for this ?

@Rejsal I tried your fork, Its not crashing the app but the mode='time' is not opening the time picker on Android.

if you still using this library like me and need "datetime" support i have forked  the library . please try this https://github.com/mehrankhandev/react-native-datepicker
Note:  you have to install @react-native-community/datetimepicker first

Hello, i am using react-native-modal-datetime-picker https://www.npmjs.com/package/react-native-modal-datetime-picker
i updated React Native version to 0.63 and now on android the date picker shows up but time picker doesn't. anyone who could help me solve this ?

None of the fork mentioned about is working for me. Can anyone help me?

mode = time still doesn't work. Who has solved this problem?

Not working on IOS

if you still using this library like me and need "datetime" support i have forked the library . please try this https://github.com/mehrankhandev/react-native-datepicker
Note: you have to install @react-native-community/datetimepicker first

Not Working on IOS


Text missing for no data on simple card with no measurement data

Description:
No placeholder text for no data when viewing simple cards on dashboard.

QA passed


feat: add tree grid file explorer template for Angular

Closes #26

Coverage decreased (-0.2%) to 27.569% when pulling f32971f43e113f523a58d337a866390dfdfb3cda on AMarinov/fileExplorerAngular into 0941bdf6ca1f23aad8895f80d5fe27558e8358ed on master.

Coverage decreased (-0.2%) to 27.569% when pulling 81697b555e18032820f21ba528db8caf109dc759 on AMarinov/fileExplorerAngular into 0941bdf6ca1f23aad8895f80d5fe27558e8358ed on master.

Coverage decreased (-0.3%) to 27.559% when pulling 93fffc5f99de4720fe8b6b4a1cc883990719199b on AMarinov/fileExplorerAngular into 0941bdf6ca1f23aad8895f80d5fe27558e8358ed on master.

Coverage decreased (-0.3%) to 32.191% when pulling ddafdbfc07967ef1db31bc1147eee7c2749bbce1 on AMarinov/fileExplorerAngular into 48662fe3a918c0c63b237692d90c9316a5e28d12 on master.


More search possibilities for PGN Editor

People should be able to search for:

games with tags of a certain value (like [White "zolpi"])
games containing a series of moves (need not be sequential) (like e4 d4 e5)
pawn structure search?

Part of https://github.com/Siderite/lichessTools/issues/210

implemented in v2.3.9


Refactor BuildConfiguration to not be a data class

Deprecate copy method
Add alternative constructors in lieu of using @JvmOverloads

Adding the blocked label until #26 is completed


Note

I had to open the port 8080 on the load balancer for this example to work on the Azure cluster (my own, not the shared one).

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

ID: 3aa58af5-02ea-e425-1fc5-9f588d394016
Version Independent ID: 86440381-783a-6e49-bacb-59b1c1581d81
Content: Create a .NET app on Service Fabric in Azure
Content Source: articles/service-fabric/service-fabric-quickstart-dotnet.md
Service: service-fabric
GitHub Login: @MikkelHegn
Microsoft Alias: mikhegn

Hi @mcurko, there's a note about it at the bottom of this section: https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-dotnet#deploy-the-application-to-azure - did you not find it?

I can only see that for Party Cluster the port 8080 is open, nothing beyond that.
Regards,
Marko Čurko
Marko Čurko
Senior Developer │ Perpetuum Mobile d.o.o.
Damira Tomljanovića Gavrana 13, 10000 Zagreb
m +385 91 2305 123 │ t +385 1 6390 834
marko.curko<EMAIL_ADDRESS>│ www.perpetuum.hrhttp://www.perpetuum.hr/
<EMAIL_ADDRESS>From: Mikkel Mork Hegnhoj<EMAIL_ADDRESS>Sent: Wednesday, October 17, 2018 11:48 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Marko Čurko<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Note (#17032)
Hi @mcurkohttps://github.com/mcurko, there's a note about it at the bottom of this section: https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-dotnet#deploy-the-application-to-azure - did you not find it?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/17032#issuecomment-430563879, or mute the threadhttps://github.com/notifications/unsubscribe-auth/APNII1fumTeH5Gsx3BqISqdJDZQ-QCrtks5ulvzYgaJpZM4XjbYX.

I've submitted a PR to clarify this in the note.

@Karishma-Tiwari-MSFT - please clsose this issue.


Add "Contact Preference" field to member object

Requires members to indicate phone vs email contact preference via the join form, and store it on the member object.

Thanks for the guidance, I will update the frontend coding for Django.

I have finished my changes. I also added the element, in the frontend repo.


Update hassio-install.sh

Changes of variables at https://raw.githubusercontent.com/home-assistant/supervised-installer/master/files/hassio-supervisor.service have broken the installation script. sed no longer automatically changes them at the .service file due to the change

Already fixed.


add fake and read function for latest

Pull Request
Description

add national forecasts (fake)
add read national forecasts
add national forecast to app

How Has This Been Tested?
add extra tests to check forecasts are made

[ ] No
[ ] Yes

Checklist:

[ ] My code follows OCF's coding style guidelines
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked my code and corrected any misspellings

Codecov Report

Merging #7 (0473159) into main (ea5f571) will increase coverage by 0.14%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #7      +/-   ##
==========================================
+ Coverage   98.20%   98.34%   +0.14%
==========================================
  Files           8        8
  Lines         223      242      +19
==========================================
+ Hits          219      238      +19
  Misses          4        4

Impacted Files
Coverage Δ

nowcasting_forecast/database/fake.py
100.00% <100.00%> (ø)

nowcasting_forecast/database/models.py
100.00% <100.00%> (ø)

nowcasting_forecast/database/read.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Implementing Extensible Key Management (EKM) feature on HSM device

Hello,
We are developing a Hardware Security Module. We have already HSMs in the field and we want to expend its usage. We want to integrate EKM interface with our HSM.
The link below has some information, but we couldn't find detailed documentation. Where can we find detailed documentation to integrate the EKM interface into our HSM?
https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/extensible-key-management-ekm?view=sql-server-2017
Regards.

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

ID: be1f2c05-a6cd-c645-3328-f3a2dfaaf6a6
Version Independent ID: c71aae83-1916-738d-a2dd-0c3917f86551
Content: Extensible Key Management (EKM) - SQL Server
Content Source: docs/relational-databases/security/encryption/extensible-key-management-ekm.md
Service: sql
Sub-service: security
GitHub Login: @jaszymas
Microsoft Alias: jaszymas

@ozgursutku -- thank you for your question.  Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@jaszymas -- please look into this issue.

Related to #7871

These pages describes how to configurate SQL Server to integrate with HSM. But the question is about how to develop the EKM interface of HSM.

@ozgursutku -- thank you for your question. Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@jaszymas -- please look into this issue.

These pages describes how to configurate SQL Server to integrate with HSM. But the question is about how to develop the EKM interface of HSM.

This is a question we cannot answer in the documentation repository, because it is far beyond our scope. I would strongly recommend reaching out to Microsoft through an account manager to speak to the product group directly. I am closing this issue, as well as the related issue.


Escape Logic

Currently Hyrule Castle is implemented as two squares: the main castle (3) and sewer escape (4). It should be changed to three squares: "Hyrule Castle (3)", "Sewer Escape (3)", and "Sewer Dark Room (1)". (As far as the chest numbers can ever be accurate, anyway.)
Reasons:

Often the routing leads to leaving the dark room as a loose square. You can go to Zelda's Cell, then use any glove to get the 3 rear chests with bomb/boots.
The sewer dark room technically requires lamp, unlike the rest of the castle or sewer chests. (And it should be dark green from the start.)
The remaining "Sewer Escape (3)" should technically require (lamp or glove) && (bombs || boots). And it should also be dark green from the start and turn bright green when either gloves or lamp is found.

The problem with this is the Open and Standard mode, right? Because in a Standard run, you'll get a free light cone here. Additionally, the tracker's logic always assumes you have bombs.
As of right now the map is implemented assuming Standard mode, without assuming you pick up the sword first to be as close to accurate in Open as possible. Is there a way to arrange this that would make sense for both Standard and Open?
Long-term it'd be nice to have a mode-select that includes the differences with Swordless, but that is not a project I will have time for in the near future. Implementing a small change like this would be doable but I want to make sure it's the right change.

Good point! I forgot about standard mode. I suppose then Hyrule Castle makes the most sense as a dungeon with 7 items, since it kind of is one. But that would be less convenient.
I guess the answer is to have separate copies of chests.js for standard, open, swordless, and maybe entrance modes. But yeah, that's a major feature.


improved tea version 0.0.7

修改 csharp baseclient 对 tea 的引用版本为 0.0.7

Codecov Report

Merging #100 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #100   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          73     73
  Branches       13     13
=====================================
  Hits           73     73

Continue to review full report at Codecov.

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


should be able to create new SmaCC parser from coder

It isn't possible to create a new SmaCC parser without having to open the SmaCC tools in Morphic World. It should be possible to create a new parser inside coder without having to open Morphic.


Data in SQLite?

I don't see any data in the SQLite database. Here are my commands:
docker run --name sqlflite_sqlite --interactive --rm --tty --init --publish 31338:31337 --env TLS_ENABLED="0" --env SQLFLITE_PASSWORD="sqlflite_password" --env DATABASE_BACKEND="sqlite" --env DATABASE_FILENAME="data/TPC-H-small.db" --env PRINT_QUERIES="1" --pull missing voltrondata/sqlflite:latest

outputs:
Apache Arrow version: 17.0.0
WARNING - TLS is disabled for the SQLFlite server - this is insecure.
SQLite version: 3.46.1
Using database file: "/opt/sqlflite/data/TPC-H-small.db"
Print Queries option is set to: true
SQLFlite server version: v1.5.4 - with engine: SQLite - will listen on grpc+tcp://<IP_ADDRESS>:31337
SQLFlite server - started

But then I issue queries, like:
SELECT n_nationkey, n_name FROM NATION

which I see on the server:
/home/runner/actions-runner/_work/sqlflite/sqlflite/src/sqlite/sqlite_server.cc:767: Beginning transaction on 02AMIXTF3LANWP2O
/home/runner/actions-runner/_work/sqlflite/sqlflite/src/sqlite/sqlite_server.cc:242: Using connection for transaction 02AMIXTF3LANWP2O
/home/runner/actions-runner/_work/sqlflite/sqlflite/src/sqlite/sqlite_server.cc:453: Creating prepared statement: SELECT n_nationkey, n_name FROM NATION

but then I see the error on the client:
    cur.execute("SELECT n_nationkey, n_name FROM NATION") # WHERE n_nationkey = ?", parameters=[24])
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\davidcoe\AppData\Local\anaconda3\envs\ADBC\Lib\site-packages\adbc_driver_manager\dbapi.py", line 696, in execute
    self._prepare_execute(operation, parameters)
  File "C:\Users\davidcoe\AppData\Local\anaconda3\envs\ADBC\Lib\site-packages\adbc_driver_manager\dbapi.py", line 667, in _prepare_execute
    _blocking_call(self._stmt.prepare, (), {}, self._stmt.cancel)
  File "adbc_driver_manager\\_lib.pyx", line 1590, in adbc_driver_manager._lib._blocking_call
  File "adbc_driver_manager\\_lib.pyx", line 1437, in adbc_driver_manager._lib.AdbcStatement.prepare
  File "adbc_driver_manager\\_lib.pyx", line 260, in adbc_driver_manager._lib.check_error
adbc_driver_manager.ProgrammingError: INVALID_ARGUMENT: [FlightSQL] Can't prepare statement: no such table: NATION (InvalidArgument; Prepare)

and even when I try to query for the tables using
SELECT * FROM sqlite_master WHERE type='table'

I get
/home/runner/actions-runner/_work/sqlflite/sqlflite/src/sqlite/sqlite_server.cc:767: Beginning transaction on KPZZOPL3KVBPD7DV
/home/runner/actions-runner/_work/sqlflite/sqlflite/src/sqlite/sqlite_server.cc:242: Using connection for transaction KPZZOPL3KVBPD7DV
/home/runner/actions-runner/_work/sqlflite/sqlflite/src/sqlite/sqlite_server.cc:453: Creating prepared statement: SELECT * FROM sqlite_master WHERE type='table'

on the server, but a response of:
pyarrow.Table
type: string
name: string
tbl_name: string
rootpage: int64
sql: string
----
type: []
name: []
tbl_name: []
rootpage: []
sql: []

so there don't appear to be any tables. Am I missing something? I am using Docker on Windows.

If I download https://github.com/lovasoa/TPCH-sqlite/releases/download/v1.0/TPC-H-small.db directly and connect with SQLiteStudio I can see tables and data, so I wonder if it's either (a) a problem with the download in the container (which I doubt) or (b) an issue with the Flight SQL interface to connect?

Hmm. It appears I can't query the data directly, but I can access it through a Flight SQL interface. Closing this.


What Companies Can Learn From The Reddit Data Breach

Previously reviewed before made it to GH. Double-checking now, though.


Add option to disable kubebuilder markers

Description
Adds option to disable kubebuilder markers and validations to omit them from the generated OpenAPI schema
Context
This is needed for https://github.com/solo-io/gloo-mesh-enterprise/issues/17005
When disableKubeMarkers is set to true, Type=object annotations will be respected such that recursive fields will still work. Required annotations will also be respected.

Yup, the GME repo changes are looking good!


HTTP_PROXY

I have been testing the Docker Container and the PAckage Manager Install, I have found that the HTTP_PROXY environment variable is ignored. I setup an environment with both an HTTP and HTTPS proxy. The HTTPS_PROXY environment setting works as expected. The HTTP_PROXY is ignored. This also occurs in the Package Manager Install in the ktranslate.env file.
The docker run command include the flag -e HTTP_PROXY=http://testproxy:80 which fails whilst HTTPS_PROXY=https://testproxy:443 works as expected. The ktranslate.env file includes HTTP_PROXY=http:\testproxy:80 which fails and HTTPS_PROXY=https:\testproxy:443 which works as expected
The OS is RHEL 8.6. the version of ktranslate is the current version

I'm pretty sure this is go acting how its supposed to work. See https://pkg.go.dev/net/http#ProxyFromEnvironment.
This value is explicitly set in https://github.com/kentik/ktranslate/blob/main/pkg/sinks/nr/nr.go#L153
Because all requests are over HTTPS, go will not use the HTTP_PROXY for these. If there's docs saying that HTTP_PROXY should be set, these should be updated to reference HTTPS_PROXY

One thing to try is set -e HTTP_PROXY=https://testproxy:443 I think this will work because you're not de-crypting https traffic.

That makes sense.
The doco is in the New Relic quickstart for both the docker version and the
package manager version
There is a proxy toggle with a HTTP_PROXY option. This then generates the
docker run and the env file with a HTTP_PROXY.
This probably needs to be updated
Thanks for looking at it
Toby
On Wed, 25 Oct 2023, 3:28 pm Ian, @.***> wrote:

One thing to try is set -e HTTP_PROXY=https://testproxy:443
https://testproxy/ I think this will work because you're not
de-crypting https traffic.
—
Reply to this email directly, view it on GitHub
https://github.com/kentik/ktranslate/issues/622#issuecomment-1778490499,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOHHXZUQ2FXKXZWPO2ECS2DYBCINZAVCNFSM6AAAAAA6NB7UZGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZYGQ4TANBZHE
.
You are receiving this because you authored the thread.Message ID:
@.***>


enhancement Add delete bitmap correctness check in commit phase

Proposed changes
related PR: https://github.com/apache/doris/pull/22282
In #22282, we do delete bitmap correctness check in publish phase. But due to 2PC, we can't do anything but printing logs if we found inconsistency in publish phase. This PR adds delete bitmap correctness check in commit phase and if we found inconsistency we can abort the current trnsaction immediately

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.25 seconds
stream load tsv:          546 seconds loaded<PHONE_NUMBER>9 Bytes, about 130 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>8 Bytes

run p0

run p0

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.39 seconds
stream load tsv:          538 seconds loaded<PHONE_NUMBER>9 Bytes, about 132 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          29.0 seconds inserted 10000000 Rows, about 344K ops/s
storage size:<PHONE_NUMBER>1 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 50.32 seconds
stream load tsv:          537 seconds loaded<PHONE_NUMBER>9 Bytes, about 132 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select:          29.1 seconds inserted 10000000 Rows, about 343K ops/s
storage size:<PHONE_NUMBER>3 Bytes

run p0


[WIP]: broker ErrorHandler option

ErrorHandler option to brokers can catch errors before message  passed to handler

i'm test various signatures of ErrorHandler func, and all other stuff can be filled when init struct like
h := &errHandler{ctx: ctx, xx:tt}
broker.ErrorHandler(h)

with signature of ErrorHandler(Event, error) we can get topic name, ack message, and get it body (if this is not unmarshal error).
next step is return from Codec specific error type? may be errors.Error ?
most common use-case - when error happens

log error
move message to some dead letter topic
ack msg from original topic
optional - unsubscribe from topic

i'm see that we don't need customer Error to this handler, as Queue not really useful when working via error handler. As we have message and error this is enough info to fix/workaround problem.

ready to merge


markdown & Latex

Hello, I want to know which markdown parser it use? And will it support Latex?

Hi there,
Raneto uses "Marked" for its rendering

Marked Website
Marked GitHub

Currently there is no support for LaTeX.
Please join the discussion on #172
Closing this issue


typo in readme: things => thinks

What: Fixing typo.
Why: I am pretty sure it's a typo.
Checklist:

[x] Documentation
[ ] Tests
[x] Ready to be merged
[ ] Added myself to contributors table

Codecov Report

Merging #203 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #203   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           4      4
  Lines         268    268
  Branches       61     61
=====================================
  Hits          268    268

Continue to review full report at Codecov.

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


HARP-5398: Stable labels across zoom levels

Signed-off-by: Stepan Krovspei<EMAIL_ADDRESS>

Decoders tests please

Decoders tests please


Add author to footer and about page

About:

Could you add screens?

We need surge preview :)

Oups I merged the wrong PR (I am watching the kid while looking lol 🤭)


Description of vector/tabular data?

From #1: Can classification be used to describe a field in vector or tabular asset? If yes, how? We should provide an example then.

How does the label (and potential vector-label extension) fit into this, particularly for vector data?

Is there a reason why classification:classes would be used rather than label:classes? It's taking me a bit to understand the label extension.
If there is an extension that handles vector data, would effort be better spent on refining that extension rather than mixing vector data into the classification extension? Or do we need a new way to describe vector data than currently done in the existing and/or proposed extensions?

The more I look at the label extension the less I understand it. But since it doesn't seem to have anything that maps values to labels, I'm inclined to let someone who uses the label extension to integrate classification:classes if they want to.
For vector assets I think the table extension could work, and much like rasters can use bands that are classified, a vector asset could do the same with table:column.

The label extension originally was for providing labels to vector regions for use as training data. It later expanded to include raster data as well. However, the current feeling among several people is that the label extension was too confusing and complicated and what was really needed was a classification extension that was only for raster data, as the two are quite a bit different and they would be used in completely different ways.
Classified rasters will often be used directly alongside other raster data with the same pixel locations and sizes. Vector labels on the other hand are probably used with other arbitrary datasets in order to calculate statistics or to clip and use as training data.
My opinion is that the label extension should be updated to remove the raster bits entirely after this extension is published.

Thanks, @matthewhanson. Any thoughts on using classification:classes in tabular data? Here is an example of the table extension being used where the values in some of the columns are classes: https://planetarycomputer.microsoft.com/api/stac/v1/collections/us-census/items/2020-cb_2020_us_vtd_500k
For example, the state and county FIPS codes could be defined with classification:classes.
Or do we want to restrict the classification extension to raster data, hard stop?

https://www.census.gov/library/reference/code-lists/route-type-codes.html is an example where it could be used on the vector/tabular side.
To support this use case we just need to insure the values allows strings, which at the moment it does.

Is it reasonable to limit the initial release of the extension to raster data only? And only expand to other data types if there is community interest? Might be good to keep it simple to start with.

It works for me to start out really specific and say:

only for rasters
values are only integers

which gets Planetary Computer Landsat and Maxar ARD rolling to start implementation.
Then consider:

expanding values to strings in cooperation with table devs
consider ranges, maybe a slightly different field like classification:class-groups

That works for me. Looking forward to seeing this in use.

Uh, let me check what I need for CARD4L. The proposal might be good enough, but want to make sure it is. :-)

No worries, we would wait for your final 👍 anyway!

I'm on PTO next week and won't get to it until then. Are you find with that? Otherwise, I guess you can request feedback from others already also... or what's the plan for the next weeks?

I made an issue for a Road Map, the plan seems like we'll start with a tight core implementation to get Planetary Computer started as the pilot with Maxar ARD and Planet UDM following. We can then consider enhancements given real use cases that can pilot them.
Since there's a STAC Meetup on March 28th I'll probably shoot for that as the first announcement.
If there's a specific part in CARD4L you'd like me to look into while you're out, let me know.


Add/update language in code blocks

There are several code blocks that lack a language for its lexer, and Pygments is not always smart enough to detect the intended language. We should state the language like so:
```language
sample code block in language.
```

See also the guidance for choosing a lexer.

@stevepiercy I think I can work on this; I'm thinking about going through each document and looking for places where the language isn't mentioned; is this a reasonable strategy?

I would suggest using a regular expression across all files to find three backticks followed by a new line. Manually doing this would be too much work.


feat(trait): Add telemetry trait

Resolves: #3519
Motivation
Add a new addon/trait telemetry to provide new default way for tracing. The current tracing trait based on opentracing is deprecated both in camel-quarkus and quarkus and will be deprecated.
Description
The new telemetry trait has been added with the basic configuration:

enable : disabled by default
auto : Jaeger discovery for OTLP API (more can be added with OTLP compatibility like Opentelemetry or Grafana Tempo)
service-name : default to integration name
sampler: default to on (alwaysOn), other values from OTLP protocol documentation
sampler-ratio: only used in case of ratio sampler
sampler-parent-based: if sampler is parent based

Existing e2e test using tracing have been updated to use telemetry.
Next step : deprecate tracing trait
Runtime : Linked PR with camel-k-runtime update: apache/camel-k-runtime#945
Release Note
feat(trait): Add telemetry trait as the new default tracing feature.

Very nice job! +1 for the new telemetry test suite, it opens the door to further refined testing on observability. Let us know when this is ready to merge as for me it looks already great!

I need to actually he actual testing code (with trace verification) before :sweat_smile:

@squakez it's ready on my side. Don't hesitate to take the time to check the e2e test.


Issue

Hi,
I am trying to using this lib in my project but i am facing some issue like slider is not working, video frame is not change when slider seek & loader is not stop if buffering is complete. some time player UI stuck and unable to tap on play , next, backword button. Please check

Hi, I check your issue in my device, player was ignoring bottom safe area space that's why you were not able to click & move slider. Secondly, if you pause a video, next & back button will not work. Both will only work incase video is playing. Issue fixed merged in master branch.

Hi Sir,
Thanks for reply. But sir Indicator in is not stop when buffering in completed it stop when we click on play button. Sir as per standard player the play, next & forward button should be hide until buffering is not complete.
Sir i have implemented already this my project but sir as per client requirement he want to  play, next & forward button should be hide until buffering is not complete.
Sir please check


Add Missing Code Coverage Details of Schema File Generator in GraphQL Tool

Description:

$subject

The GraphQL tool code coverage report doesn't include the coverage details of graphql-schema-file-generator module. Need to update the script to add the coverage details.

The issue is moved into the GraphQL tool repo. Hence closed this.

https://github.com/ballerina-platform/graphql-tools/issues/177


ENH: adds workflow functionality

This PR is in response to #91, aiming to provide an easy-to-use catalog-based workflow for generating a full catalog directly from a datalad superdataset. The new commands include:

workflow-new: Run a workflow for recursive metadata extraction (using datalad-metalad), translating metadata to the catalog schema (using JQ bindings and JQ), and adding the translated metadata to a new catalog.
workflow-update: Run a workflow for updating a catalog after registering a subdataset to the superdataset which the catalog represents. This workflow includes extraction (using datalad-metalad), translating metadata to the catalog schema (using JQ bindings and JQ), and adding the translated metadata to the existing catalog.

The PR also includes a workflow-new-related test.
Some notes / disclaimers:

this requires jq to be installed, both for usage and the tests
current extractor mappings that are supported include (see mapping files located in datalad_catalog/schema/_*.json):

bids_dataset
metalad_studyminimeta
metalad_core
datacite_gin

these extractors and translators are run automatically if their respective required metadata files are detected in a given dataset
file-level metadata extraction and translation steps are not included yet. This would be trivial to add, but it was purposefully left out in case the workflow is run on a dataset with a large amount of files, which could end up running for a very long time. Once the metadata extraction process using meta-conduct has been improved in terms of performance, this could be revisited.

Not sure yet why the crippled_fs_test fails: https://github.com/datalad/datalad-catalog/runs/7559711524?check_suite_focus=true
It's failing on an assert that is supposed to check that a dataset-related subdirectory axists in the catalog metadata directory. This succeeds locally.

Together with @Manukapp we did some hands-on testing of the workflow-new command. We used some of our datasets or datasets available from the Web. It worked great for a superdataset with a subdataset which had a datacite file. We think it's awesome to have extraction, translation, catalog genaration, and setting a superdataset combined into one command.
Below are some things we stumbled upon.
I've yet to take a closer look at the code, and If I have additional comments I'll post them there.
Not having an applicable extractor crashes the workflow
Without the bids extractor (i.e. without having datalad-neuroimaging), the workflow-run command crashes when encountering a BIDS dataset.
foreach-dataset(error): /home/mszczepanik/Documents/test-cat-workflow/mysuper/ds004226 (dataset) [Requested metadata extractor 'bids_dataset' not available]

On one hand what it does now (error) is not too bad (if you have a bids dataset you probably want bids extraction). OTOH it could probably just run the metalad core extractor and print a warning saying that it could do more if you had the bids extractor.
Error on an off-the-shelf BIDS dataset
For BIDS testing we used ds004226 from OpenNeuro (picked for no particular reason). We used  datalad-neuroimaging:update-bids-extractor (PR) branch to provide the bids_dataset extractor. The workflow-new crashed with the following:
[ERROR  ] Schema validation failed in LINE 2:

None is not of type 'array', 'string'

Failed validating 'type' in schema['allOf'][0]['then']['properties']['description']:
    {'description': 'A 1-2 paragraph description of the dataset',
     'type': ['array', 'string']}

On instance['description']:
    None (ValidationError)

Steps to reproduce:
datalad create mysuper
cd mysuper
datalad clone -d . https://github.com/OpenNeuroDatasets/ds004226.git
cd ..
datalad catalog workflow-new -c mycat -d mysuper

Yet, the same steps can be done "manually" with the shell scripts from fairly-big-catalog-workflow:
datalad meta-extract -d mysuper/ds004226 bids_dataset > extracted_bids.json
~/Documents/fairly-big-catalog-workflow/local/local_translate_metadata.sh extracted_bids.json translated_bids.json
datalad catalog validate -m translated_bids.json

catalog_validate(ok): translated_bids.json [Metadata successfully validated]

We didn't investigate further.
Error on a basic studyminimeta file
I created an example dataset with a README and a basic studyminimeta file (published here). The workflow-run failed on this (sub)dataset with:
Command did not complete successfully. 1 failed:
[{'action': 'foreach-dataset',
  'command': <function super_workflow.<locals>._dataset_workflow_inner at 0x7f71ba7b0430>,
  'exception': StopIteration(),
  'exception_traceback': '[foreach_dataset.py:run_cmd:317,workflows.py:_dataset_workflow_inner:80,workflows.py:dataset_workflow:171,workflows.py:dataset_workflow:168,workflows.py:translate_to_catalog:226,jq.pyx:jq.first:355,jq.pyx:jq._ProgramWithInput.first:288,jq.pyx:jq._ResultIterator.__next__:319,jq.pyx:jq._ResultIterator._ready_next_input:347]',
  'message': '',
  'path': '/home/mszczepanik/Documents/test-cat-workflow/mysuper/super-duper-octo-engine',
  'status': 'error',
  'type': 'dataset'}]

Steps to reproduce:
datalad create mysuper
cd mysuper
datalad clone -d . https://github.com/mslw/super-duper-octo-engine.git
cd ..
datalad catalog workflow-new -c mycat -d mysuper

Again, this is something which succeeds when done "manually" with meta-extract and fairly-big-catalog-workflow scripts for translation.
The error leads to line 226 in workflows.py (data_vars[key] = jq.first(mapping_dict["variables"][key], meta_obj)). When debugging I see that it occurred when processing combinedpersonspubs key. There are, indeed, no publications in the minimeta file I made up - and I think they are optional. I believe that when there are no matching results in jq call, jq.first (which is return next(_iter(self)) in jq's source code) produced the StopIteration error, which needs to be handled - and this is somehow different from what happens with commandline jq in the fairly-big-catalog scripts.
Side note: maybe we should at this point check whether the field is mandatory, but probably it's ok to leave it up to the validator and just not produce this field when handling the error.
Tests cannot pass if ran locally by someone else
I understand that in the meta_extract output, the fields agent_name and agent_email are set with the values from git config of the user running the extractor. Not sure what exactly happens afterwards (do they bubble up to become author names?), but looks like these are tested againist a hardcoded value from datalad_catalog/tests.data/workflow_generated_meta_sub.json. This leads to test failures in lines 374, 397, and 423 of test_workflow.py.
I would suggest not testing these fields, or patching the environment of the affected test (I don't remember specifics, but there are some datalad decorators for that), so that the tests can be run locally.
Can't reproduce the CI error locally
After commenting the lines mentioned above (unrelated to the problematic assertion) the tests also passed for me locally, and we couldn't see why they would not do so in CI.

@mslw @Manukapp thanks so much for reviewing this in such detail. I'll look at all the comments and suggestions this week.

Again, thanks for the detailed review. It's a great feeling to have someone interact in such depth with one's code, even if (or especially because) the code in the initial PR is so buggy.
Here are some initial responses / comments (apart from those made in-line):
Comment 1

Not having an applicable extractor crashes the workflow

I like your suggestion that the workflow could print a warning about unavailable extractors and could then continue running whichever extractors are available. Something else that could influence how the automation around availability of extractors is handled is whether we decide to parameterize the extractors for the call. I.e. whether we want to allow users to specify the extractors to use when they run workflow-new or workflow-update, with something like datalad catalog workflow-new --extractors metalad_core bids_dataset.
Comment 2
This comment relates to all of these mentioned issues:

Error on an off-the-shelf BIDS dataset

Error on a basic studyminimeta file

Edit 2022-08-10: I think we can handle the exception on that line and store None, but that result is passed as an input to the following jq call (the one that actually translates) and I'm not sure how to handle it there - probably elif? But can we always translate None to an empty string, or maybe we should preserve None?

I made a few general comments in the PR thread, and a few specific ones in the code. I think the most important area for improvements is around the metadata translation (when things are None or not present, jq calls in the code don't have the same effect as those from the fairly-big-catalog-workflow). I wasn't quite sure how to do it best, so I didn't propose a solution, but hopefully my descriptions are clear.

Thanks for testing and highlighting all of these. There's an issue for the general case here: https://github.com/datalad/datalad-catalog/issues/151. Indeed the shell workflow handles the null exceptions (and subsequent setting as empty strings, or not) differently from the Python-based workflow-* code. This was likely because the exception handling was difficult to figure out when using the Python jq package (as you stated).
It's worth mentioning here that we shouldn't necessarily be focusing so specifically on jq as a json translator, since it might not be the best package to build the workflow on. Or it could be one of many possible translators. Another could be a specific mapping between the particular fields in the different schemas (i.e. direct mapping). Or using some sort of smart mapping tool. A comment to this extent was made here: https://github.com/datalad/datalad-catalog/issues/91#issuecomment-1189112087. But this has to be explored in detail.
For now, it would perhaps be useful to settle the current practical problem (validation errors) by looking at it from the catalog shema's perspective, identifying what it should be able to process (e.g. "None" in addition to "string" and "array"?), and expecting translators to conform to that. The question is then, should we allow "None" as a rule, or are we just doing that as a workaround because it's difficult to figure out interim exception handling with the jq python package? Both is fine IMO, but better to state that explicitly.
Comment 3

I have one more general comment. Perhaps workflow-new and workflow-update could be moved to a separate command (e.g. datalad catalog-workflow {new|update}). As it is, the datalad catalog command is becoming quite populated; and 2 of 3 arguments used by the workflows (--dataset-path & --subdataset-path) were introduced only for them. But that's just a thought, I don't think it's very important right now and definitely could be refactored in the future.

I thought about this when coding the current version and also decided to not do anything about it at that stage, i.e. deal with the complexities later (see also "considerations for workflow design" comment here: https://github.com/datalad/datalad-catalog/issues/91#issuecomment-1189112087). But I'm inclined to agree with your thoughts here. It might also be useful to think about parameterization here.
Will explore a bit and post an update here.

To do:

[ ] Update datalad-neuroimaging version requirement, after https://github.com/datalad/datalad-neuroimaging/pull/104
[ ]

Ok all issues but one are now resolved (https://github.com/datalad/datalad-catalog/issues/189). Will merge the PR and address that issue separately.


Some improvements for docs

Codecov Report

Merging #32 (deebf8f) into main (4365643) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #32   +/-   ##
=======================================
  Coverage   89.80%   89.80%
=======================================
  Files          12       12
  Lines         716      716
=======================================
  Hits          643      643
  Misses         73       73

Impacted Files
Coverage Δ

src/ops.jl
99.57% <ø> (ø)

Continue to review full report at Codecov.

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


What is the stream type returned by gulp.src()

Hi,
I wrote https://github.com/typings/typed-gulp to be used by https://github.com/typings/typings to provide typed support for gulp.
I wonder what is the return stream type of gulp.src(). Is it a Duplex stream?

Referencing https://github.com/typings/typed-gulp/issues/1

@unional gulp.src is a readable stream unless the passthrough option is passed to it, in which case it is a duplex

FYI There are some major API changes in 4.0, you may want to type that branch from scratch

Thanks!