[FLINK-16822] [sql-client] table.xx property set from CLI should also be set into SessionState's TableConfig

What is the purpose of the change
The config set by SET command does not work, the reason is table.xx property set from CLI does not be set into SessionState's TableConfig.
Brief change log

Update table config of SessionState when calling setSessionProperty method

Verifying this change
This change added tests and can be verified as follows:

Added testSetSessionProperties in LocalExecutorITCase to verify the bug

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Can this also fix runtime environment configurations?

Can this also fix runtime environment configurations? Currently, SET command can't set a runtime configuration because we ignore them in Environment#enrich, e.g. SET pipeline.object-reuse=true doesn't work.

nope, I think it's a new feature. Currently only few runtime configuration are supported, I think we can create a jira to support it.

TableConfigcan

yes, it's hard to handle "RESET" command, we must remember which configs were set before and make sure TableConfig can also be set to init state.

Could you open a new pull request for branch 1.9 too? @godfreyhe

branch

https://github.com/apache/flink/pull/11763, pr for 1.10.
we are planing to publish a new release for 1.9 ?

@godfreyhe , sorry, I wanted to say 1.10 branch.


refactor: Fully move towards logging; remove if config.verbose conditionals

Hello!
Pull Request overview

Move away from printing, use logging exclusively.

Rely on the recommended logger = logging.getLogger(__name__) rather than importing a logger from unstructured/logger.py.
Initialize the logger from unstructured/__init__.py.
When rich is installed, use its logging Handler.

When rich is installed, use its Traceback formatter.

Details
Rather than partially using logging and partially using printing, this PR modernizes the project by moving fully to logging. Inspiration for this change was the unnecessary if self.config.verbose: conditionals throughout the ingest data connectors: these can easily be replaced with one if verbose: logger.setLevel(logging.DEBUG), while all print statements are replaced with logger.debug calls.
As a result, the ingest data connector files are much cleaner. Note also that I was able to remove the verbose argument to the ingest BaseConnectorConfig classes, as the verbosity is now handled via one conditional in unstructured/ingest/main.py.
Optional rich support
Inspired by Argilla's recent move to rich (https://github.com/argilla-io/argilla/pull/2350), I believed that the support for it for unstructured would be equally beneficial. In particular, a logging handler and a traceback formatter are used if rich is installed. These are some screenshots of what these may look like:
With rich installed

Without rich installed

Logging support
As we now properly use logging, third party tools can enable or disable our logs as they wish, e.g. by modifying the log levels of our logger named "unstructured". The remaining loggers that are created using logger = logging.getLogger(__name__) are named something like "unstructured.partition.auto", and they will propagate their logs down to "unstructured", which actually handles the logs (i.e. via the logger).
Question
1. With this optional rich support in place, the question remains of how the dependency should be included. Perhaps in dev if we do not want to enforce people to use it? Or perhaps we can propose an unstructured[rich]? Or perhaps we just place it as a required dependency, and give people the option to uninstall it later?
The rich functionality is quite "loud" and subjective. With other words, they may not be liked by everyone. I am open to changing this PR to exclude the rich functionality, but I think the best solution would be to not include rich in any of the dependencies if users or maintainers are not all a fan.
I am of the belief that the logger changes are quite important, however.

Tom Aarsen

I think we thought about that same here 🤣 But I created a draft PR using structlog instead of rich as a handler as you did! Nicely done BTW 💪🏻
Anyway, I'm open to discussion, because structlog supports context vars which are really cool, and work smoothly in async environment.
Draft PR at #322

I can provide you a screenshot of process_document logs if you think that's useful for the sake of comparing both approaches, but I'm OK to drop my PR in behalf of yours, since as you're already using it at Argilla, it may make more sense to be aligned.

I can provide you a screenshot of process_document logs if you think that's useful for the sake of comparing both approaches, but I'm OK to drop my PR on behalf of yours, since as you're already using it at Argilla, it may make more sense to be aligned.

OK, I started to test this out thinking it was a quick one, and ... issues 😆 (not the fault of this PR).
[1] Here's one issue: https://github.com/Unstructured-IO/unstructured/issues/331 : with --verbose , there is a ton out of output that is way too verbose.
[2] Another one: logger.info lines added in this PR do not emit in subprocesses if logging is configured under __name__ == __main__:
logger = logging.getLogger("unstructured")
handler = logging.StreamHandler()
handler.setFormatter(logging.Formatter("%(asctime)s %(levelname)s %(message)s"))
logger.addHandler(handler)
logger.setLevel(logging.INFO)

To keep it simple for the time being, i think the thing to do for now is add an initializer when the Pool is instantiated to set up logging. This could optionally be done given a keyword arg in main.
[3] I'm thinking it makes sense to have an "unstructured.ingest" logger as --verbose does not necessarily imply the user wants unstructured debug messages, even after [1] is addressed.

1 and 3 are quite sensible, but I am wondering how users would be able to specify that they do want debug logs for the 'regular' "unstructured" logger, if they call the program via the CLI?
As for 2, logging does not currently output in the terminal due to the handler that I removed in my last commit. This is not strictly a multiprocessing issue. Note that neither the logger nor its parent (the root logger) have handlers. They are also both set to the WARNING level by default, resulting in no logs.
However, I can't manage to get logger.info to output any logs, even if I lower all of the levels and add handlers...

1 and 3 are quite sensible, but I am wondering how users would be able to specify that they do want debug logs for the 'regular' "unstructured" logger, if they call the program via the CLI?

Maybe. I was thinking of it from the perspective that if I'm processing hundreds or thousands of files, --verbose means give me all the details as files are downloaded and processed. If that is multiplied by 10 to 100 with unstructured-the-lib debug messages, eh. There should be a way to turn unstructured-the-lib debugging, though.

However, I can't manage to get logger.info to output any logs, even if I lower all of the levels and add handlers...

Right, that is what I was saying with [2]. If you take out mp.Pool and do the processing in the same process, you see the logs.  I think it needs to be configured in each subprocess (or venture into true multiprocessing logging -- not super excited with that idea).

Oh, completely unrelated, but if you're on Python 3.7 onwards, you can use breakpoint() as a shortcut for import pdb; pdb.set_trace(). I'd recommend it!

🙏 😊

However, I can't manage to get logger.info to output any logs, even if I lower all of the levels and add handlers...

Right, that is what I was saying with [2]. If you take out mp.Pool and do the processing in the same process, you see the logs. I think it needs to be configured in each subprocess (or venture into true multiprocessing logging -- not super excited with that idea).

I actually don't get any logs, regardless of mp.Pool. Both with, and without, your
    logger = logging.getLogger("unstructured")
    handler = logging.StreamHandler()
    handler.setFormatter(logging.Formatter("%(asctime)s %(levelname)s %(message)s"))
    logger.addHandler(handler)
    logger.setLevel(logging.INFO)

in __name__ == "__main__".
(And also with logging.basicConfig(...) in like in https://github.com/Unstructured-IO/unstructured/commit/d51ea3a8c744e5acbd65a89d48949792bdd1f21c#diff-c7866d4747abb72555855965dc619655bb451c16e30240489eeec69eec57cef0R310)

Hmm, in my branch unchanged the tail of the output (after a lot of unstructured debugging output) is:
2023-03-02 00:34:08,330 unstructured INFO Wrote wikipedia-ingest-output/Open-source software-1137981045-txt.json
Wrote wikipedia-ingest-output/Open-source software-1137981045-txt.json
2023-03-02 00:34:08,361 unstructured DEBUG Cleaning up WikipediaIngestTextDoc(page=<WikipediaPage 'Open-source software'>)
2023-03-02 00:34:08,361 unstructured DEBUG Cleaning up WikipediaIngestTextDoc(page=<WikipediaPage 'Open-source software'>)
Wrote wikipedia-ingest-output/Open-source software-1137981045-txt.json
Wrote wikipedia-ingest-output/Open-source software-1137981045-summary.json
Wrote wikipedia-ingest-output/Open-source software-1137981045-html.json

so that first doc has logs

I was testing with --github-url, perhaps the difference originates from that? I'll look into it later!

I've got a bit of time to look into this now.
@cragwolfe How do you envision the direction of this PR from this point? I assume that the move from print to logging is quite desirable, but would you like to help me set up the remaining items for a definition of done for this PR?

Hi @tomaarsen , I agree logging over printing is desirable.
Thanks for asking. IMO, the Definition of Done for this PR is:

The end user experience is preserved when run from the command line in that the same unstructured-ingest-related lines are emitted with or without --verbose.
With --verbose, some unstructured logging output is ok, but not the thousands of lines of output dumped per doc currently at the DEBUG level.

I'd probably approach this by creating an "unstructured.ingest" logger and getting that to work.

I'm now encountering the multiprocessing issue - It's quite bothersome. The tutorials/documentation on the topic are all much more complex than seems advisable for unstructured-ingest. It's not ideal if the logger is more complex than whatever it's logging.

It's not ideal if the logger is more complex than whatever it's logging.

Completely agree!
So, going back to my prior comment:

To keep it simple for the time being, i think the thing to do for now is add an initializer when the Pool is instantiated to set up logging. This could optionally be done given a keyword arg in main.

I think this would be pretty simple for having logs streamed to stderr. But, I think an "unstructured.ingest" logger would need to be added which also seems reasonable to me (assuming no significant changes to the default "unstructured" logger).
@tomaarsen , I should have time tomorrow or by Monday to give that a quick shot if you'd prefer not to / don't have the cycles.

I'm afraid I won't have access to my desktop this weekend, starting from Friday after work. With other words, I think the next time I can look at this will be Monday.

I've tackled it. Here are some sample outputs, using our favourite example:
> unstructured-ingest --wikipedia-page-title "Mango" --reprocess --wikipedia-auto-suggest=False
2023-03-05 23:33:42,660 SpawnPoolWorker-1 INFO     Processing C:\Users\tom\.cache\unstructured\ingest\6455dbcb95\Mango-1136638036.txt
2023-03-05 23:33:42,870 SpawnPoolWorker-1 INFO     Wrote structured-output\Mango-1136638036-txt.json
2023-03-05 23:33:43,260 SpawnPoolWorker-1 INFO     Processing C:\Users\tom\.cache\unstructured\ingest\6455dbcb95\Mango-1136638036-summary.txt
2023-03-05 23:33:43,268 SpawnPoolWorker-1 INFO     Wrote structured-output\Mango-1136638036-summary.json
2023-03-05 23:33:44,777 SpawnPoolWorker-2 INFO     Processing C:\Users\tom\.cache\unstructured\ingest\6455dbcb95\Mango-1136638036.html
2023-03-05 23:33:46,175 SpawnPoolWorker-2 INFO     Wrote structured-output\Mango-1136638036-html.json

And using --verbose:
> unstructured-ingest --wikipedia-page-title "Mango" --reprocess --wikipedia-auto-suggest=False --verbose
2023-03-05 23:33:59,390 SpawnPoolWorker-2 DEBUG    Fetching WikipediaIngestHTMLDoc(page=<WikipediaPage 'Mango'>) - PID: 43924
2023-03-05 23:33:59,391 SpawnPoolWorker-1 DEBUG    Fetching WikipediaIngestTextDoc(page=<WikipediaPage 'Mango'>) - PID: 24476
2023-03-05 23:33:59,392 SpawnPoolWorker-1 INFO     Processing C:\Users\tom\.cache\unstructured\ingest\6455dbcb95\Mango-1136638036.txt
2023-03-05 23:33:59,611 SpawnPoolWorker-1 INFO     Wrote structured-output\Mango-1136638036-txt.json
2023-03-05 23:33:59,611 SpawnPoolWorker-1 DEBUG    Cleaning up WikipediaIngestTextDoc(page=<WikipediaPage 'Mango'>)
2023-03-05 23:33:59,924 SpawnPoolWorker-1 DEBUG    Fetching WikipediaIngestSummaryDoc(page=<WikipediaPage 'Mango'>) - PID: 24476
2023-03-05 23:34:00,111 SpawnPoolWorker-1 INFO     Processing C:\Users\tom\.cache\unstructured\ingest\6455dbcb95\Mango-1136638036-summary.txt
2023-03-05 23:34:00,116 SpawnPoolWorker-1 INFO     Wrote structured-output\Mango-1136638036-summary.json
2023-03-05 23:34:00,116 SpawnPoolWorker-1 DEBUG    Cleaning up WikipediaIngestSummaryDoc(page=<WikipediaPage 'Mango'>)
2023-03-05 23:34:01,450 SpawnPoolWorker-2 INFO     Processing C:\Users\tom\.cache\unstructured\ingest\6455dbcb95\Mango-1136638036.html
2023-03-05 23:34:02,812 SpawnPoolWorker-2 INFO     Wrote structured-output\Mango-1136638036-html.json
2023-03-05 23:34:02,812 SpawnPoolWorker-2 DEBUG    Cleaning up WikipediaIngestHTMLDoc(page=<WikipediaPage 'Mango'>)

I've indeed used the initializer keyword in the multiprocessing Pool, which caused the logger to work quite easily from that point onwards. Through this PR, the verbose CLI keyword only needs to live in ingest/main.py, rather than each of the data connectors being responsible for using this verbose keyword correctly.
I'm open to suggestions regarding the logging format, among others @cragwolfe.

Just need
ingest_log_streaming_init(logging.DEBUG if self.verbose else logging.INFO)

below
    def run(self):

i think, for the main process.

Ah, to allow logs before the multiprocessing pool is made. Well spotted. I was already curious why I didn't get a message like
All docs have structured outputs, nothing to do. Use --reprocess to process all.

When I was testing without --reprocess. I thought I just hallucinated the existence of that output haha, but it was actually a bug.
Thank you for the detailed reviews.


Tags Filter Sorting

Is there a way to alphabetically sort the tags output in the tags filter?

No there does not appear to be, but this would be a nice enhancement. The tags are pulled using  com.day.cq.tagging.TagManager and I'm not exactly sure how that implementation works.

@juliaetate WDYT?

Beautiful! I can't wait!


Adds CI.

🎉 New feature
Summary
Adds CI to verify the generation of maps.
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if it affects the public API)

CI fails due to numeric mismatch when creating the geojson numbers. We probably should trunk the precision to a certain number


Log email data or experiment design export when requested

When an UpGrade user requests an email link to the data or to the experiment design, we should add this to the log. This way we can track that the emails were actually sent in case they aren't received.

@amurphy-cl Are you talking about the Audit logs as seen below? If yes, then we already do show email related log. We still need to add Exporting Design log in this.

@ppratikcr7 yeah, now that we separated the design download from the data download, we'll need to add exporting design. I'll change the issue title to be more clear!

@amurphy-cl Okay. Yeah that would be great.

It's a small thing, but I think we should include the email for the data export (just in case that's somehow misconfigured).

@SritterCL I didn't get you. Do you mean to look for the email not sent bug? If yes, then its already being tracked in #190. I have already verified the latest code works fine for our AWS environment variables and mail is received instantly. I am in discussion with @zackcl to confirm the AWS environment variables being used in the QA by CL's AWS backend deployment. Will get this sorted soon.

We are also planning to add a log for email for data export requested.

No, I just meant to include the email address that the data was sent to in the log message.


vite 4.x support?

can I use this with vite4.x?

Hi. Vite 4 is supported. I have added E2E tests with Vite 4. If you have and futher issues please tell me.


 aft-account-request-processor Lambda throws InternalFailure

Terraform Version & Prov:
Terraform 1.9.5
AFT Version:
1.13.1
Bug Description
Every so often the aft-account-request-processor Lambda throws Internal Failure:
{
    "time_stamp": "2024-12-18 06:14:04,484",
    "module": "aft_account_request_processor",
    "log_level": "ERROR",
    "log_message": {
        "FILE": "aft_account_request_processor.py",
        "METHOD": "lambda_handler",
        "EXCEPTION": "An error occurred (InternalFailure) when calling the DescribeProductAsAdmin operation (reached max retries: 4): Internal Failure"
    }
}

Traceback (most recent call last):
  File "/var/task/aft_account_request_processor.py", line 43, in lambda_handler
    account_request = AccountRequest(auth=auth)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/python/lib/python3.11/site-packages/aft_common/account_request_framework.py", line 354, in __init__
    self.account_factory_product_id = aft_common.service_catalog.get_ct_product_id(
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/python/lib/python3.11/site-packages/aft_common/service_catalog.py", line 44, in get_ct_product_id
    response = client.describe_product_as_admin(Name=sc_product_name)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/python/lib/python3.11/site-packages/botocore/client.py", line 535, in _api_call
    return self._make_api_call(operation_name, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/python/lib/python3.11/site-packages/botocore/client.py", line 980, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (InternalFailure) when calling the DescribeProductAsAdmin operation (reached max retries: 4): Internal Failure

To Reproduce
Steps to reproduce the behavior:

Let aft-account-request-processor Lambda run and wait for when it fails.

Expected behavior
aft-account-request-processor Lambda doesn't throw ambiguous errot and iether handles it properly, or is fixed to not encounter going forward.

I also searched through this Lambda function's CloudWatch logs for the past month and it was all fine up until today when it threw this exception.
Previously we observed the same on Nov 6, Oct 17, Aug 6 (before this we, I guess, had not logging) — so it's kind of irregularly regular.


Cache OIDs as we descend

When we create struct types we normalize the type to make sure the order of union elements are ordered by the order ID.
This change makes it so that we do not compute the OID twice for a type.
Towards #2836

@rafael-atticlabs PTAL
I will do the map/forEach/etc in a separate patch.
I also want to refactor this to not sort the elemTypes in readType but throw an error if the order is not correct.

jenkins: Test this

jenkins: test this

@rafael-atticlabs This is now ready to be reviewed again.
I'll update the PR description.

Diff Coverage
File Path

••••••••   85%
go/types/type_cache.go

•••••••••  96%
js/noms/src/type-cache.js

•••••••••• 100%
js/noms/src/type-test.js

•••••••••• 100%
go/types/type.go

•••••••••• 100%
go/types/validating_batching_sink.go

•••••••••• 100%
js/noms/src/type.js

•••••••••• 100%
js/noms/src/value-decoder.js

•••••••••• 100%
go/types/value_decoder.go

•••••••••• 100%
go/types/codec.go

Powered by Codecov. Last update 8687893...b2f5411


Added in more of the msgout keys

Ground thru the source materials scouring for missing/changed keys
Improved the export and sorting of my own tables to more closely match the Python tables used to ease merging on my side
-Clive
HPG 1.20, HPG 1.30 HPS 1.21 PMP 1.04
uCenter (Classic / 2,0)
pyubx2 Pull Request Template
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Testing
Please test all changes, however trivial, against the supplied unittest suite tests/test_*.py e.g. by executing the tests/testsuite.py
module or using your IDE's native Python unittest integration facilities.
Please describe any test cases you have amended or added to this suite to maintain >= 99% code coverage.

[ ] Test A
[ ] Test B

Checklist:

[x] My code follows the style guidelines of this project (see CONTRIBUTING.MD).
[x] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[ ] (if appropriate) I have added test cases to the tests/test_*.py unittest suite to maintain >= 99% code coverage.
[ ] I have tested my code against the full tests/test_*.py unittest suite.
[ ] My changes generate no new warnings.
[ ] Any dependent changes have been merged and published in downstream modules.
[x] I understand and acknowledge that the code will be published under a BSD 3-Clause license.

Low order RTCM3 messages can be found in ZED-F9T TIM 2.13
ZED-F9T-10B_InterfaceDescription_UBX-20033631.pdf

Hi again @cturvey. Very much appreciate these contributions and happy to merge but must confess to being very slightly wary about the provenance, particularly as I'm publishing under a BSD-2 license.  To date, I've been obtaining UBX payload definitions and configuration database keys from what are effectively public-domain u-blox interface specification documents (I actually have some macros which automatically collate and format the data from PDF sources - they're not 100% foolproof but they minimise the manual transcription effort involved). I know you're an authoratative presence on the u-blox support forums so I don't for a minute doubt the accuracy of this information, but is it available in public-domain interface specification documents or are we effectively 'reverse-engineering' u-center?
For example, I can find no reference to a UBX-NAV-PVAT message type in any published interface specification, though I note you have referenced it in response to some support forum queries. Which specific devices support this?
I can't see u-blox having any issue with this, but I'd like to ensure I'm on solid ground.

https://s-taka.org/en/zed-f9p-new-firmware-hpg130/

I did wonder about your relationship with u-blox as you seem to be single-handedly carrying their support forum :-) Sadly I have no such relationship (even our attempts to blag HPG RTK devkit for testing purposes were rebuffed!), so I've tended to exercise caution and stick to official 'public-domain' PDF sources and a trusty (whisper it) VBA macro, which explains the occasional omission. I have come across a few undocumented MSGOUT configdb keys in testing which may well be the ones you mention. I've added in definitions for MON-SYS, NAV-PVAT, NAV2-EELL, NAV2-PVAT, RXM-COR, RXM-QZSSL6, RXM-SPARTN, RXM-SPARTN-KEY & RXM-TM. I believe RXM-ALM and RXM-EPH are now obsolete but I appreciate the links and will add these in for completeness (I have considered parsing alm and eph data from RXM-SFRBX but it obviously involves aggregating time series data and I want to keep pyubx2 as a single-pass parser for the time being). Thanks again for the contributions.

HPS 1.20
https://drive.google.com/file/d/1aF8wB9Jfg5oFsz13_Z-DaHZqqvtRgkUV/view?usp=sharing
HPS 1.21
https://drive.google.com/file/d/18IVLn0l_VV4rU1v5t3u8vuKln3omrLcG/view?usp=sharing

I used to work for NavSync, the legacy hardware spin-out of the Parthus-Ceva designs, which date back to the original Polytechnic Electronics / Navstar Systems Ltd designs. The uBlox 4 design was an Atmel build of the Ceva GPS engine with an ARM7, so I have some common understanding of the internal mechanics, at least historically.  I worked on some of the firmware used on the NS3000 (NS3K) which was a Ceva design with an ARM926, as  I recall, fabbed by Samsung. I also worked on some of the legacy firmware for the XR5 and Sharpe-XR6 designs, the latter being a 12-Channel GPS L1 RTK receiver. The IC people went thru a couple of name/owners until Glonav were subsumed by Intel.
I did push uBlox hard to develop the NEO-M8P when the path to sub-$400 RTK receivers wasn't clear enough.
I did buy my own SwiftNav and ArduSimple boards, and developed chip and module level GNSS receivers.


Add Component into existing components

I have created my own Component that I wanted to integrate in the existing Card.jsx component
<myComp /> like this. I have Imported the Component and added it but for some reason the component is not visible! Is there any special procedure I need to follow in this app to add my own components?
Also what I noticed is I can't take for example existing components like ListAdder and add it in the Header for example, I import it correctly and add the jsx tag where I want the component to show up but nothing happens. So is in this app some special procedure to follow for adding and moving components around? Thanks

React components must start with a capital letter. I'm guessing that's what is causing your first problem. There's no special procedure. I tried importing ListAdder to the Header file and it worked fine. Maybe you didn't get import syntax correct?
import ListAdder from "../ListAdder/ListAdder";

I have simlar problem, I have created my own component and if the component is simple with only one  it works but when I add an more complicated component where U use state and componentDidMount I get only white screen and the dev site works only when I delete the component again. Now I'm not very faliliar with redux, can it be I need to register there something from my own component to get it working?

Look at the error message in dev-tools to see what went wrong. You don't have to hook up a component to redux if you're not using any state from the redux store.

I have tested now and I can't get it working, here the component that does not work in React-Kanban.
https://codesandbox.io/s/jz44mj4xl9

If you replace async await with something else it'll work. Babel handles async keyword in pretty complicated way, and the repo is currently not set up to handle it.

Do you know someone who maybe has time to make this repo so it can handle async await? Best case would be of course you<EMAIL_ADDRESS>

The easiest way for you to do it is to add @babel/polyfill to the repo.

npm install @babel/polyfill
Import it at the top of the client.jsx file like this

import "@babel/polyfill";
import React from "react";
...

Thank you so much it is working now!


Rhino - Blender: Materials on meshes change on re-import on new versions of the same mesh.

So when I upload native rhino geometry and download it in blender, textures/materials assigned in blenders change. However if I convert Rhino geometry to mesh and then upload it and download it in blender (assigned) materials stay the same. It is really inconvenient to convert everything to mesh every time I upload...

Hi @WriteView11 Please could you test our new 2.13 release.
I'm hoping this issue will now be fixed for you.
When you have the time, please could you check it out so we can close this issue.


Updates/choose editor font updates

👀 Overview
Minor updates that go along with the PR for changing the editor font in accessibility settings
💬 Description

Adds a buttonClassName prop to the <DropdownMenu /> so that its trigger button can styled (eg. with a different font).
Allows a className to be passed as part of a item object passed to <DropdownMenu />, so each item can be styled individually (eg. with a different font).
Adds a blackText helper class

🚪 Start Points

lib/DropdownMenu/index.js
styles/helpers/_text.scss

👫 Related PRs (optional)
https://github.com/gathercontent/app/pull/1839
✅ Checklist

[ ] Tests written
[ ] Browser tested
[ ] Added to documentation
[ ] Added to storybook

Hmm I just realised that this is using DropdownMenu, gonna add some comments about this on your other PR. bare with!


Remove optional generated class attributes set to None from serialized payload

Is your feature request related to a problem? Please describe.
Given a generated class like:
class MyModel:
  required_property: str
  optional_property: Optional[Dict[Any, Any]]

When communicating with an API, the requests are getting rejected for certain optional properties in which we're sending None / null which causes 400 Bad Request like:
Invalid input at "optional_property": None is not of type 'object'

The idea being that the API is expecting if a field is present, it has a non-null value. Not sending optional_property solves the problem.
Describe the solution you'd like
I'd like to have an option to only serialize fields which have a value unless they are marked required, where it's assumed None/null would have semantic value. I'm suggesting a configuration option as I realize this behavior may break other cases where folks may be relying on always sending None now.
The result would be that the generated to_dict() method in the classes only adds the key/value if the key is required or is not None.
Describe alternatives you've considered
Currently we are extending the generated classes and overriding the to_dict() method to perform the desired behavior.

Speaking about this with @dtkav I think a solution for places where None/null is semantically meaningful might be to use a sentinel type like:
optional_property: Optional[Union[Dict[Any, Any], NullValue]]

This would allow the user to explicitly set NullValue to show intent when we did want to send None in the body.

I like the general idea, but I'd go in the opposite direction. None semantically already means null, and Optional (as unfortunate as the naming is...) means nullable. So I think we add our own semantics for unset with the sentinel, and have our to_dict skip anything that's unset.
class MyModel:
  normal: str
  nullable: Optional[str]
  optional: Union[str, Unset] = UNSET
  optional_nullable: Union[str, Unset, None] = UNSET
  optional_with_default: Union[str, Unset] = "default"

Not completely sure on how to do a type annotation for unset- if UNSET is an object I believe Unset needs to be the type of it, so we might have to have a dummy type?

I think dataclasses captures this concept with MISSING and attrs uses NOTHING
(see: https://github.com/python-attrs/attrs/blob/master/src/attr/_make.py#L67 )
Our use case for explicit null is pretty rare. It comes up for fields that are required: false, nullable: true and when the server treats presence and a null value differently.
Most json REST APIs that I've worked with don't distinguish between required and nullable on reads (i.e. they always return all fields, or if they didn't it would not be semantically meaningful), though some do on writes (explicitly patching a value to null) which is the scenario we're running into.
( Related:  https://opensource.zalando.com/restful-api-guidelines/#123 )
Either way, it seems wise here to follow the patterns used by dataclasses/attrs and follow their interpretation of None / NOTHING/MISSING.
I agree the naming of Optional is unfortunate indeed. I also think it would be unfortunate to introduce a new UNSET type that is specific to openapi-python-client, preferring to reuse the attrs NOTHING type if possible.

My first thought was to use the attrs NOTHING but I believe if any field is instantiated with that value attrs will throw an exception, as I think it's used for things declared with attr.ib() without a default value. I haven't actually tested it, so it may be possible to reuse it. If it is, I will do so.

FYI, I tried using attrs NOTHING and got:
~/.pyenv/versions/3.8.0/envs/benchling-sdk/lib/python3.8/site-packages/attr/_make.py in _transform_attrs(cls, these, auto_attribs, kw_only, collect_by_mro)
    511     for a in (a for a in attrs if a.init is not False and a.kw_only is False):
    512         if had_default is True and a.default is NOTHING:
--> 513             raise ValueError(
    514                 "No mandatory attributes allowed after an attribute with a "
    515                 "default value or factory.  Attribute in question: %r" % (a,)

ValueError: No mandatory attributes allowed after an attribute with a default value or factory.  Attribute in question: Attribute(name='schema', default=NOTHING, validator=None, repr=True, eq=True, order=True, hash=None, init=True, metadata=mappingproxy({}), type=typing.Dict[typing.Any, typing.Any], converter=None, kw_only=False, inherited=False, on_setattr=None)

Accidentally closed this when merging out version to the fork. Leaving open here to evaluate if we want to port that design.

Did some testing using attr.NOTHING as a default value and @dbanty is correct, the way attrs constructs the class interprets doing so as "this field has no default value" and thus complains on instantiation that the init is missing an arg for the field. I think @bowenwr's implementation of UNSET is probably the best way forwards.

@bowenwr I took some inspiration from your implementation of UNSET and made #230 which also addresses #228, take a look and let me know what you think!


Add table of tools tried

Is your feature request related to a problem? Please describe.
We tried to use a bunch of pre existing tools and ended up making our own. We need to document this

Closed by 7a0e70d


Peer to peer code review

Congratulation

[x]  Nice Project Design
[x]  Keep doing good jobs

Require Changes

[x]  In the programs section try to fit the size of the Icons container<EMAIL_ADDRESS>[ ]  In the mobile menu try to give the navigation bar a pop-up to fit the size of the screen.
[x]  In line 22 include the link of the anchor tag. And make those links dead links.

Happy Coding.

Thank you very much for the feedback !

Many thanks for your insights!


Docker compose file for currency clients

Provide a docker-compose file for bootstrapping all clients

Indeed,
It would be a great enhancement ^^

@defconst what about creating a repository "crypto-clients", with a single docker-compose and README file and git submodule links to all the clients.
As a bonus, for quick bootstrapping, we could also provide a pre-synced blockchain dumps per currency; this should be optional.

@defconst this can be closed, right?

Thank you for your good work on this point !

Btw. what about creating a repo "clients", which links all clients as git submodules and provides a single docker compose file for all clients? This would facilitate setting up the entire thing. As a plus we could even provide pre-synced chains for download somewhere. @defconst your opinion in this?

Added https://github.com/graphsense/graphsense-setup/commit/e45327bff5d2c65a3ca08ccad6540b2d774eaa0e


RCLs for Blazor apps that support pages+views

Fixes #32453
Thanks @ghhv! 🚀 ... Let's see where this goes.
Dan, Artak ... It was several years ago that I had an RCL working in a Blazor Server app with pages/views and components. This PR updates the guidance on using the Support pages and views checkbox for those who do so. We instruct to deselect for pages and views but say that if you do that you also need to make changes to support components and explain those changes.
Also note that @ghhv said on the PU issue that <AddRazorSupportForMvc>true</AddRazorSupportForMvc> no-oped in a Blazor WASM app, so I didn't remark on it here.
~Versioning-wise, I'm a bit concerned. It looks like to me based on what I had here from several years ago that the 🧀 moved (at least once) over the years, and I'm not sure how (or even if) to version these revisions. I'll go look at the RCL template over releases and see if I can spot deltas in the project file as a clue for when changes occurred.~ 🏃♂ UPDATE: I checked all versions of the project template, and the updates on PR apply to all versions. 👍

Internal previews

📄 File
🔗 Preview link

aspnetcore/blazor/components/class-libraries.md
Consume ASP.NET Core Razor components from a Razor class library (RCL)

I've posted the one question that I have to Artak offline. I'll patch this if need be.


Distances on GT boundaries

Thank you for your loss function, it exceeded all my expectations. I applied it to solving the problem of pulmonary nodules segmentation, implementing this loss function in Keras framework.
You reset the distances for pixels that are on the edges of GT:
res [c] = distance (negmask) * negmask - (distance (posmask) - 1) * posmask
Thus, these pixels are not included in the loss function. Would it be better to take these pixels into account in the loss function?
res [c] = distance (negmask) * negmask - distance (posmask) * posmask

The rationale, when I implemented it, was that we compute the distance to the boundary. By this logic, the distance of the boundary wrt the boundary should be 0. Since this not the behavior of the SciPy function distance_transform_edt. I did that manually by shifting the distance by 1 on the distance to the positive mask.
To be fair, I do not think it would change (much) the results, since it is only shifting the distance values inside the object. But I did not had time to compare the impact of this implementation detail.

Hi @maxmanko , would it be possible for you to share your keras implementation of surface loss?

The rationale, when I implemented it, was that we compute the distance to the boundary. By this logic, the distance of the boundary wrt the boundary should be 0. Since this not the behavior of the SciPy function distance_transform_edt. I did that manually by shifting the distance by 1 on the distance to the positive mask.
To be fair, I do not think it would change (much) the results, since it is only shifting the distance values inside the object. But I did not had time to compare the impact of this implementation detail.

Hi, I have a question about the -1 shift here. If the distance of boundary wrt the boundary is 0, then the boundary would not contribute to loss and thus is not supervised. Will it affect the performance of small objects?

Hello,

Will it affect the performance of small objects?

Now that you mention it, it could be a possiblity on very small objects (such as very thin blood vessels). In that case, it could be worth your time to compare the two; with and without that shift. But I think as long as you have an area with a negative distance map, you should be good.
(That could actually be a new assertion to be included into the function ; that some negative area exists.)
Best,
Hoel


traffixify.store Host Error

Example URL(s)
https://traffixify.store/
Actual Behavior
The site stopped working, it shows error 521
Expected Behavior
The site must work
Additional information
I don't understand why the site crashed

Howdy @TLHelpdeskAndrey, that appears to be an issue with how the website owner configured their website in Cloudflare (more details).
If you happen to have the contact information for the site owner, you're best bet would be contacting them and letting them know you're experiencing issues. We can't do anything about that on the Cloudflare side (both generally and then specifically as a documentation team).


VSCode won't format arrays in C#

Hi Guys please help
I use VSCode and Unity to make games. As the image shown below, when I pressed Alt+Shift+F to format the C# file, codes within the array won't change, while other codes can format as usual.

/extC#


Optimize error handling for special cases.

This commit contains a few improvements:

Using a consequetive range of [0..4], will allow us to merge all
branches of error_is_special into one comparison.
With (1), we can remove the for loops to find entries in
error_status_map with a single O(1) lookup.
grpc_error_is_special() code paths should be inlined for ref
and unref to avoid callq for the majority of cases where speical
error is used.
grpc_error_get_int() should never accept a nullptr argument to
avoid an expensive branch in the hot path.


502 response received; sometimes

Thanks for sharing the repository. sometime contentious communication among 3/4 devices through a fixed sub-domain received 502 response.
Multiple try resolved the case; any idea on that issue. As Client  I have used android devices with JCraft
Thanks in advance!

Hmm, interesting! Do you have a way to reproduce this? Even if curling in parallel that might be a good test?

It's already happening in continuous requesting. And any retry mechanism for fail case is implemented there. Actually, I want to know about the core protocol on fail handling.

From: Antonio Mika<EMAIL_ADDRESS>Sent: Tuesday, December 1, 2020 6:59 PM
To: antoniomika/sish<EMAIL_ADDRESS>Cc: Arman<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [antoniomika/sish] 502 response received; sometimes (#149)
Hmm, interesting! Do you have a way to reproduce this? Even if curling in parallel that might be a good test?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/antoniomika/sish/issues/149#issuecomment-736535701, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALH365CQLZQ5OSWV4F3MWJDSSTSDHANCNFSM4UIUILXQ.

Can you at least share how you've setup sish and what command you're using for ssh?

Thanks for your time.
The last commits resolved most of the cases.


The result has extra quotation marks appended to it when more than one file is selected

Thanks for implementing kill. The segfault I mentioned in the other issue is caused by some spurious symbols in the returned file paths. Steps to reproduce:

Build examples using the provided makefile. (I built on Ubuntu 20.04 with gcc 9.3.0.)
Run example.
In the open dialog box select more than one file.
In the output observe that every file path is enclosed in extra single quotation marks ', except that the first path has no quotation mark at the front and the last one has no quotation mark at the back. (As a result this happens to be OK if there is only one path.)

So it appears that something is messed up with formatting the selected file paths.

Thanks for the report! I introduced a regression when I replaced popen() with execvp to implement kill. It is fixed in master.


chore: release 1.2.173

:robot: I have created a release *beep* *boop*
1.2.173 (2022-09-15)
Bug Fixes

dismiss: rework uninstall-with-namespace procedure (8657449)
helm: don't rely on resource Group for resources equality matching (8e52f59)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/werf/werf/releases/tag/v1.2.173 :sunflower:


[Feature] Replace underscores with hyphens in account ids

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt-snowflake functionality, rather than a Big Idea better suited to a discussion

Describe the feature
If an account uses underscores in their accound id it can cause issues with various url and auth libraries since it's not compliant with most specs. Per snowflake's docs we can replace underscores with hyphens so we should default to doing that.
Describe alternatives you've considered
No response
Who will this benefit?
No response
Are you interested in contributing this feature?
No response
Anything else?
No response

I got there first :)

https://github.com/dbt-labs/dbt-snowflake/issues/1068


HAC-1699: Display workspaces from KCP in a list

This PR is an initial attempt at displaying the list of workspaces fetched from KCP.

See instructions in the Readme for testing with KCP.
Please refer to the Control Plane Service Onboarding doc if you need to create workspaces. I've been using the kcp-stable environment.
Design:
Please refer to the latest "List view (no nested workspaces)" design" in this doc.
Regarding the "+1 more" type expandable options for labels, Brie mentioned that since we have only 2 columns in the design now, we can show more labels now so I haven't included the expandable option just yet. She will get back with confirmation on whether we need the expandable section or not.
Known dependencies/issues that are currently being addressed on the HAC Core SDK and yet to be published:

ListView

column alignment (HAC-1818)
customizing the look of the workspace name filter to match the "Search input" design (HAC-1700)
custom menu based row actions (HAC-1713)

Peer dependency resolution issue on installing @openshift/dynamic-plugin-sdk-utils (HAC-1814)

WIP:
Currently investigating issues in the unit test for the workspace list. The list view is only being rendered partially. This issue is also being seen in the SDK on the core team. I will address this in a follow-up PR.
@rhamilto
cc: @florkbr

/label tide/merge-method-squash
/approve
/lgtm


Possible deadlocks detected in blocking

While looking into (possible) concurrency related issues in a tool I am working on, I ran the static deadlock detector lockbud and it reports that there may be issues in blocking 1.3.1.
Here is a gist to lockbud's output when run on blocking
These may be false positives, but I thought I'd let you know.

For ease of lookup, the two "locks" involved are here:
https://github.com/smol-rs/blocking/blob/f89581310d9a9fb7718cccb1664b2b7f70f8ee53/src/lib.rs#L220
...and here:
https://github.com/smol-rs/blocking/blob/f89581310d9a9fb7718cccb1664b2b7f70f8ee53/src/lib.rs#L243
...whose lock appears to come from here:
https://github.com/smol-rs/blocking/blob/f89581310d9a9fb7718cccb1664b2b7f70f8ee53/src/lib.rs#L238
I don't see how this could deadlock. User code is only called when the lock is unlocked. I'll close this issue unless this can be demonstrated with real code.


Is there a way to return tagged images that are also "liked by" a user (us)?

Wanted to create a fun campaign where users would use a hashtag and their image would be put up on our website/in-store media, etc.
Obviously, that could get sideways without some moderation, so I was hoping there would be a way to return a set of images with that hashtag that were also "liked" (approved) by us.
Any thoughts?

The model object includes a user_has_liked: boolean, so you should be able to use that with the filter option.

Sadly, this is no longer possible due to changes/deprecations in Instagram's API.


Update deformableconvolution

I think there is a error about the reference implementation of deformable_convolution.
The two parameters group and deformable_group is independent, and there are details about the parameter deformable_group in MXNet
Suppose that the shape of input data is (1,6,5,5), the shape of filter is (2,3,3,3), the shape of the offset is (1,54,3,3), group is 2, deformable_group is 3. And an error will occur on line 256 when group_idx equals 1.

Is this being tested with plaidml/plaidml#1807?

Is this being tested with plaidml/plaidml#1807?

yes.

This fix has merged to upstream and included in https://github.com/plaidml/openvino/pull/157

Changes included in upstream and the update https://github.com/plaidml/openvino/pull/159


File upload exercise support

This PR adds support for assessing file upload exercises
The following features, in particular, are added for file upload exercises:

Starting a new assessment
Viewing PDF, PNG, JPEG, DOCX, XLSX, CSV, and TXT files
Exporting files with unsupported extensions to view externally
Creating general feedbacks
Deleting and editing feedbacks
Canceling an assessment
Saving an assessment
Submitting an assessment
Search for submissions & read-only mode
The aforementioned operations for file upload exercises in exams

Here's what happens when a file extension is not supported:
https://github.com/ls1intum/Themis/assets/22798314/47cf7c03-225c-481d-8dcd-5962d30244ed

Thanks for the review! 🙏

When opening the second file upload submission, the console shows FileRendererViewModel.setup():29 - Setup failed

This was because the 2nd submission was missing a file URL. I made some changes to handle such cases.

After some time, I receive a "Time Out Error". The problem statements are not loaded anymore and the currently logged-in user is not assigned to a course anymore. The user needs to restart in order to proceed with any assessment.

This was because of a broken branch deployed on the staging server. Should work fine with the develop branch.


imx-boot-hab: Wrong U-Boot binaries copied in case of multiple U-Boot configs

In do_compile of the imx-boot recipe the u-boot artifacts for the current
configuration are copied to ${BOOT_STAGING} directory by calling compile_${SOC_FAMILY}:
https://github.com/Freescale/meta-freescale/blob/fbea18dbdb750d567cbd8a4e73baed94ced02043/recipes-bsp/imx-mkimage/imx-boot_1.0.bb#L191
in imx-boot-hab.inc some targets are re-generated without copying the artifacts for the current U-Boot configuration
which means that always the artifacts e.g. u-boot-nodtb.bin from the last configuration type from the list is used.
The issue can be fixed by calling again compile_${SOC_FAMILY} in sign_common().
0001-imx-boot-hab-Fix-using-wrong-U-Boot-artifacts-in-cas.patch

@aflorian thanks for reporting.
Think you can submit a pull request for review?


bug: Some plugins are not lazy-loaded when set keymap with which-key

Did you check docs and existing issues?

[X] I have read all the which-key.nvim docs
[X] I have searched the existing issues of which-key.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.9.1
Operating system/version
6.3.9-arch1-1
Describe the bug
I have muren (just an example) plugin, whose keymap is set using which-key, and set the lazy property in lazy.nvim to true for muren.
Instead of being lazy-loaded, muren is loaded when starting Neovim.
Steps To Reproduce

Add the below config
Open Neovim and see Lazy profile
muren will be shown as loaded when starting Neovim.

Expected Behavior
muren is loaded only after pressing <C-s>
Repro
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    'git',
    'clone',
    '--filter=blob:none',
    'https://github.com/folke/lazy.nvim.git',
    '--branch=stable',
    lazypath,
  })
end
vim.opt.rtp:prepend(lazypath)

require('lazy').setup({
  {
    'AckslD/muren.nvim',
    lazy = true,
    config = function()
      require('muren').setup()
    end,
  },

  {
    'folke/which-key.nvim',
    -- event = 'VeryLazy',
    config = function()
      require('which-key').setup()
      require('which-key').register({
          ['<C-s>'] = { require('muren.api').toggle_ui, 'Toggle [S]ubstitute' },
      }, { mode = { 'n', 'v' } })

    end,
  },

})

you are loading muren inside the which-key config.
use a closure instead

But I indeed used a closure, I didn't put () after require('muren.api').toggle_ui

No you did not.
Use the below instead:
function()
  require('muren.api').toggle_ui()
end

My bad, sorry. Thanks for the quick reply!


LoDA loss

Thank you for your excellent work.
Which part of the code is related to LoDA loss?

please refer to simseg/models/criteria/losses/mml_loss.py


Update README.md

Update

The changes in the README.md file have not been merged into the main branch.


Usability check for the UUID library

Description:
$Subject

Closing since there are no usability issues in the UUID module.


chore(gulp): changes to gulpfile to run on windows

Thank you very much for this @cnishina. Worked on our Windows 7 box. I did had to alter website/package.json though, or else it wouldn't install on Windows.
"scripts": {     "prepublish": "node node_modules/bower/bin/bower install",

I will get that into this PR... Thanks for catching that.


[function] array_flatten

need a function to flatten one layer of nested arrays.
description
Flattens an array(array(T)) to an array(T) by concatenating the contained arrays.
syntax
array_flatten(expr)

in which, expr is an nested array.
examples
SELECT array_flatten([[1, 2], [1, 4]]);
 [1,2,1,4]

select array_flatten([[[1],[2]],[[3],[4]]]);
 [[1], [2], [3], [4]]

I want to take it

Hi @DionysusG , thanks a lot!
I just modified the function's design. I think flatten one layer is more reasonable like snowflake and trino. and this will help us in trino's compatibility too. so it won't be a recursive function and I think it will make more sense and easier to implement. what do you think?
reference:
https://trino.io/docs/current/functions/array.html?highlight=flatten#flatten
https://docs.snowflake.com/en/sql-reference/functions/array_flatten

Any workaround to flatten arrays in 3.1.x?

@kateshaowanjou Excuse me, Has this issue been resolved? If not, can you assign it to me?

@sfwang218 Can you assign this task to me?

@sfwang218 Can you assign this task to me?

I'm currently working on this and encountering some problems. Please give me another week.

Hey! Hi @wangsimo0   I wanna Contribute to this but it would be help full if you also specify the file in which the particular issue lies.


Add "MyFiles" mapping to enter-chroot

This commit adds a mapping to the "MyFiles" directory from the host user's home directory, and includes it by default in the chroot's /etc/crouton/shares file.
Adapted from https://github.com/dnschneid/crouton/issues/4051#issuecomment-602163403 by @levinit

(since #4055 seems abandoned)

@stevedesmond-ca,
I would not call #4055 abandoned, the crouton author stated his view of the issue here:

For compatibility and migration purposes, I think I'd rather enter-chroot just magically pick the correct location of the Downloads folder when specifying downloads share. So stick with the downloads prefix in the config and pick the correct directory to bind mount based on what is present on the user's system.

I guess we'll see if that view has changed...
-DennisLfromGA

I more meant the PR hasn't been touched in a year since that comment.
This PR goes beyond just downloads, e.g. I have a "code" directory in MyFiles, and this way I can access it from Chrome OS, termina/penguin, and now crouton too.

@stevedesmond-ca,

I more meant the PR hasn't been touched in a year since that comment.

Yes, PR #4055 was closed after that comment so it normally would no longer be touched.
Granted, this is a little different approach, instead of replacing Downloads you're adding MyFiles.
With Crostini in the mix now it does seem to change things a bit so, I guess we shall see what we shall see.
-DennisLfromGA

FWIW, if access from the host Chrome OS is not required, e.g. just shared between crouton and crostini, the crostini home directory can be accessed from within crouton via /var/host/media/fuse/crostini_.../ -- I think this alternative is acceptable for my current use case, should this PR be rejected.

@stevedesmond-ca

This PR goes beyond just downloads, e.g. I have a "code" directory in MyFiles, and this way I can access it from Chrome OS, termina/penguin, and now crouton too.

I just updated and added the myfiles share.
The crouton chroot can access some of the folders in MyFiles but not all. Missing are 'Linux files' & 'Play files'
The penguin container can access Downloads only since that's all that's mounted under /mnt/chromeos/MyFiles
See below:

So while it's an improvement it's not giving access to everything exposed in CrOS - for me at least.
Hope this helps,
-DennisLfromGA


Provide cluster info to exec plugins

Closes #1328

Hey @clux - I believe this is ready for review - I haven't tested it properly (nor written tests) - I plan to test it manually soon, then write some tests when you thumbs up the implementation as I took some decisions that can be controversial (how we store the cluster info, how we translate it, when we do it, etc.)

is the controversial bit the extra struct stored on ExecConfig (the ExecAuthCluster part?)
if this is deviating from the upstream ExecConfig (which it looks like it does), it might be worth considering storing this in the preferences section of the kubeconfig if that is possible (because it allows arbitrary data storage in there without breaking support for kubectl).

@clux I don't think it belongs into the preferences as it's not serialized/deserialized and it'd be weird to pass it that way.
Note that I borrowed the idea that I didn't like from upstream Go implementation:
https://github.com/kubernetes/client-go/blob/30eba26adb82c17a65cb10dbd9534c742a496404/tools/clientcmd/api/types.go#L206

Regarding tests, I think the best thing would to incorporate the code change in file_loader as well but it's not exposed to the crate (so we can see data is being set correctly in auth_info).
Any suggestion?

Short update - the impacted user tested my changed and it worked :)

The one thing i would like to have here before merging is a serialization test case; some yaml that users have that is passed to the deserialize impl for the struct (just so we know what we are dealing with down the line during inevitable refactorings).

The one thing i would like to have here before merging is a serialization test case; some yaml that users have that is passed to the deserialize impl for the struct (just so we know what we are dealing with down the line during inevitable refactorings).

Done! :)

Forgot to merge this in during the release setup for 0.87, but it's in now - for 0.88.
Thanks again!

Thank you @clux for the great maintenance!! :heart:


Discrepancy in Version between npm and GitHub - OHIF/viewer

Describe the Bug
I noticed a discrepancy in the version of the OHIF/viewer library between the npm package and the GitHub repository.
The npm package shows version 4.12.51 (available at https://www.npmjs.com/package/@ohif/viewer?activeTab=versions), whereas the GitHub repository (https://github.com/OHIF/Viewers/tree/v3.6.0) has a stable tag of version 3.6.0 released 2 months ago.
This inconsistency may cause confusion for users and prevent them from accessing the latest features or bug fixes.
Steps to Reproduce

Visit the npm page for OHIF/viewer: https://www.npmjs.com/package/@ohif/viewer?activeTab=versions
Note the listed versions, with the latest being 4.12.51 (4 months ago)
Go to the GitHub repository for OHIF/Viewers: https://github.com/OHIF/Viewers/tree/v3.6.0
Observe the tags and releases, finding a stable version 3.6.0 released 2 months ago.

The current behavior
As of now, users who rely on npm to install the OHIF/viewer library might not be aware that a newer stable version (3.6.0) is available on GitHub.
This can lead to discrepancies in the functionalities and features available to different users, depending on the version they have installed.
The expected behavior
Ideally, both the npm package and the GitHub repository should be aligned and reflect the same version (4.12.51 or 3.6.0) to avoid confusion among users.
The latest stable version available on GitHub should also be accessible through npm to ensure consistent and up-to-date functionality for all users.
OS
Windows 10
Node version
16.18.1
Browser
Chrome

According to @sedghi we should no more use this solution. I recommend removing/deleting the npm page and the related module

exactly, also read more about versioning here
Our viewer.ohif.org is deployed from release branch while viewer-dev.ohif.org is our master  branch
Read more about branch explanations here https://docs.ohif.org/development/getting-started#developing


Emulate login in debug

Hi,
IS there an easy way to emulate logging in when running in debug - so that we bypass the actual login and can just specify a token.
Is that easy to do within the library, or can you think of a way its best implemented?
I want to keep using MSAL library when debugging so that it adds the token to API requests, so bypassing completely MSAL wouldn't be ideal.
Thanks for any help,
Andrew

@NimbleHive If you obtain an Azure AD id_token for an authenticated user, you can get the preferred_username claim and pass it as a login_hint in MSAL.js. Then you can skip calling login and just call acquireTokenSilent to get the access token. This is described here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/Sso#sso-to-an-app-without-msaljs-login

Thanks  @navyasric ! That looks like what I need - let me try that out and let you know.  Sorry for not seeing that - I did have a look but couldn't find the info.

Hi @navyasric just processing this now - not sure if it will work (but that could be my lack of knowledge in this area).  The ID Token only lasts a short period of time - 1 hour or so.
What I want to do is create a Token that expires a long time in the future - say 5 years, and has all the claims for testing in it.  Then have this token passed too all APIs called whilst debugging.
Effectively I don't want to call Azure B2C at all, but I want to use the MSAL.js framework that  auto adds the token to outbound calls.

I wonder if all I need to do is change MsalInterceptor and this line of code:
var tokenStored = this.auth.getCachedTokenInternal(scopes);
So that it gets the stored token from the config?
Do you see any issues with that, will the app still try and login?  Perhaps I need to change MsalGuard to also ignore trying login if token specified?

@NimbleHive MSAL.js provides you the acquireTokenSilent method to renew tokens. If there is a valid cached token, it will return it. Otherwise it will make a silent call to the Identity provider to renew it. Please note that you will be able to renew tokens as long as you have a valid user session with the identity provider.
You can take a look at this article about token lifetimes and how you can configure the lifetime which I think is a maximum 1 day. Id tokens are meant to authenticate the user and get some user information, please use access tokens to pass to APIs. It is not recommended to have long living access tokens in the browser.
If your scenario is to have a running test app, you should consider having a secured server side flow using auth code flow where you can have long lived refresh tokens and you can look at the libraries we offer here.

Closing this issue given the above information. Please reopen if necessary


Added package x264

Hi Ruslan,
Added package x264 based on Autotools which generates pkg-config modules.
I wrote a routine to create CMake targets from pkg-config modules through find scripts to make life easier to use them with CMake.
Tell me what you think.

Updated this pull request.
I ended up opting to not create the file cmake/modules/hunter_pkgconfig_export_targets.cmake and leaving the function in the file pkgconfig-export-targets.cmake.in as you first suggested, because the modules directory it getting a little overcrowded (it has qt related modules, so I guess it would be a good idea in the future to put project related modules in the project directories).
Please review

Updated this pull request

Thanks, reviewing.

because the modules directory it getting a little overcrowded

I see no problem about it.

it has qt related modules, so I guess it would be a good idea in the future to put project related modules in the project directories

Path to modules added to CMAKE_MODULE_PATH. Even if they will live in different directories, logically they will be still in the same place. If all modules live in one directory we have "natural" protection from collusion - you can't have two different modules with the same name because you can't have two files with the same name in directory.

Ok, updated :+1:

Updated, now I think now we are good to go

Testing:

https://travis-ci.org/ingenue/hunter/builds/237027853?utm_source=github_status&utm_medium=notification

Package building with GCC even if Clang set in toolchain:

https://travis-ci.org/ingenue/hunter/jobs/237027855

From log:
Unknown option CC=/usr/local/clang-3.5.0/bin/clang, ignored
Unknown option CXX=/usr/local/clang-3.5.0/bin/clang++, ignored

Thanks for pointing it out.
Actually, I forgot I have some local changes to modules/hunter_autotools_project where I do the configure command line with the toolchain information as variables before the ./configure command and not after.
To be clear, I do:
CC=.... CXX=... ./configure  (1)
instead of:
./configure CC=... CXX=... (2)
This package x264 is not a real autotools package, although autotools should work with (1), I will have to confirm in the docs if (1) can be kept instead of (2) that we have today.
I hope the explanation was clear.

Hum, not very clear https://www.gnu.org/software/automake/manual/html_node/Standard-Configuration-Variables.html

./configure of x264 package is not generated by autotools, it's a manually written script as far as I understand.

True, but Autotools should read from variables as well put before the ./configure script as well in theory. I see that the AR flag was put before the ./configure ( https://github.com/ruslo/hunter/blob/c8f92f5e2bf3a024af7b416ff43f6e538638d0f5/cmake/modules/hunter_autotools_project.cmake#L312 ) but I can't find the reason (the line was reformatted on https://github.com/ruslo/hunter/commit/e3baf868061718359bf3922fcd6a8df8d5e67d7c#diff-7e0239d435b39e7d38f47d30ecb93bf6L248 - and I don't know how to look at that line before this commit )
I mean, we could put the toolchain information before and after the ./configure to be sure, it would just be noisy on the debug message

Well, the Autotools packages for odb and SQLite3 all work with the flags before the ./configure

Updated this pull request with the change in hunter_autotools_project

meh, actually this is no good still, the same should be done do CPPFLAGS, CFLAGS, CXXFLAGS (+others)

hum, ok I need some help here :>
I think my options are:

create a new scheme for this package, like this hunter_autotools_project wouldn't be touched (but if I don't touch it, there could be a lot of repetition and we won't get DRY
refactor hunter_autotools_project to put these flags as variables before the command line which should be supported by Autotools anyway. The thing is that I don't have access to OSX nor an iPhone to test the iOS build :/

Do you have any suggestions Ruslan?
Sorry, this should have been a simple package, but it turned out to be a little monster on its own

The thing is that I don't have access to OSX nor an iPhone to test the iOS build :/

You can use Travis, we have OSX/iOS toolchains in testing.

Do you have any suggestions Ruslan?

Nope don't have any. The (2) approach looks like the only available. Just for your info issue with using CC=... ./some-script in ExternalProject stages: https://github.com/ruslo/hunter/issues/246

Sorry, this should have been a simple package, but it turned out to be a little monster on its own

Happens quite often for non-CMake packages :)

Hi Ruslan,
Updated this pull request:
I ended up not changing the behaviour of the current autotools build (I guess it was safer this way)
So I refactored out into functions behaviour that would be useful when integrating other packages with custom build systems such as x264 (and FFmpeg if I end up neededing it).
What I did was:

created function hunter_get_toolchain_binaries to return the the toolchain binaries
created function hunter_get_build_flags which gets the complete flags for a given configuration type, adding the -I/include and -L/lib to the respective flags
created function hunter_autotools_configure_command which sets up the configure command for the package, reducing the size of the hunter_autotools_project  and separating the creating of this command for when there is a solution for running the commands in a specific environment, right now I'm still using VAR=VAL ./configure... tecnique because I tried to implement a way respecting https://github.com/ruslo/hunter/issues/246 but it became non trivial and it was best to discuss it first

After the review I will comment the function headers and update this pull request, I just didn't want to write stuff that could end up being undone.
Thank

I have some concerns about the vocabulary of the parameters and function names, what we talk about <root-id> here in comments is called GLOBAL_INSTALL_DIR in the parameters, would be nice to have a common term for this to avoid confusion

Updated this PR with the example, sorry I did this in a hurry and forgot ;-)

Updated this PR by bumping odb-boost's PACKAGE_INTERNAL_DEPS_ID

Hi Ruslan,
Updated this pull request:

Removed the creation of the lib/cmake/${PKG_CONFIG_MODULE}/${PKG_CONFIG_MODULE}Config.cmake, in favor of just calling hunter_pkgconfig_export_target(target) to create a PkgConfig::target target, then we can use the CMake's version when it gets fixed inside the function. Creating such file was just bloat, really. IMO calling the function is better API than the previous approach of find_package(...) because to understand find_package's result one always need to look up the docs on what is going to happen :-)
Basic comments on the new functions

Creating such file was just bloat, really. IMO calling the function is better API than the previous approach of find_package(...) because to understand find_package's result

I don't think it's a good idea. hunter_add_package(foo) + find_package(foo CONFIG REQUIRED) is a clean and simple CMake-friendly pattern.

one always need to look up the docs on what is going to happen

What document? Why it's better than looking to the Hunter docs for what is hunter_pkgconfig_export_target instead of standard CMake find_package?

What document?

The docs for the find_package script one wants to use. Example: after find_package(Boost) it writes to variable Boost_LIBRARIES. Yes I understand you advocate the CONFIG of Boost when using with hunter, but I'm just trying to show the general use case of find_package. So then there is find_package(x11), can we expect it to write the libraries to x11_LIBRARIES? Nope, it writes to X11_LIBRARIES. So find_package(OpenSSL) will write the libs to OpenSSL_LIBRARIES? Not too fast, it writes to OPENSSL_LIBRARIES
And find_package(Threads) does something different.
So now find_package(x264) is going to do something else.
I feel that find_package is not consistent, making it time consuming to work with it.

Why it's better than looking to the Hunter docs for what is hunter_pkgconfig_export_target instead of standard CMake find_package

Because you would look just once.  hunter_pkgconfig_export_target exports a target under PkgConfig::pkg-config-module or errors out if it doesn't find the module.

hunter_add_package(foo) + find_package(foo CONFIG REQUIRED) is a clean and simple CMake-friendly pattern.

I agree that it is a CMake-friendly pattern, it is just that I feel that CMake is not friendly :P
Obivously I would do as you say. :-)

I feel that find_package is not consistent, making it time consuming to work with it

I still don't understand how custom hunter_pkgconfig_export_target is better. Now user have to answer "does this package use find_package or hunter_pkgconfig_export_target?". You have to look at the pkg.* wiki page anyway.

Because you would look just once

With find_package(x264 CONFIG REQUIRED) you have to look once too. Why do you need second time? :)

I agree that it is a CMake-friendly pattern, it is just that I feel that CMake is not friendly :P

Well, this should be improved in CMake first, then Hunter will adopt it. Hunter is CMake-based and for CMake, so it's reasonable to use best CMake practices.

Obivously I would do as you say

Let's use find_package. I think it's important to use unified approach everywhere. Just for your info find_package can work with package which is a bunch of CMake modules (see pkg.gauze). It would be good to make an example of all approaches from this page. Another idea (just an idea) with hooks in find_package described here: https://github.com/ruslo/hunter/issues/812#issuecomment-305465004

You have to look at the pkg.* wiki page anyway.

That is true for when you are writing from scratch.

I still don't understand how custom hunter_pkgconfig_export_target is better.

Because you see it once, you can predict side effects of this call, for example: if you read hunter_pkgconfig_export_target(swscale), you know that it will create PkgConfig::swscale. But when you read find_package(swscale) you can't tell the side effects of this call.
But it is ok, I will revert the changes to create the <pkg-config-module>Config.cmake as before.

But when you read find_package(swscale) you can't tell the side effects of this call

Because one project can have several targets, find_package(swscale) can introduce swscale::one and swscale::two imported targets.

if you read hunter_pkgconfig_export_target(swscale), you know that it will create PkgConfig::swscale

I think I've missed this part, probably it should be swscale::swscale.

Because one project can have several targets

But for pkg-config it is one target per pkg-config module.

I think I've missed this part, probably it should be swscale::swscale

I was trying to mimic CMake's IMPORTED_TARGET, so we can have a version check inside hunter_pkgconfig_export_target and use CMake's own function, which exports to PkgConfig::swscale.

I was trying to mimic CMake's IMPORTED_TARGET

Yes, okay

Pull request updated!
Let's move forward! \o/

Updated the pull request with your requested.
May the tests run /o/

odb-boost:

https://travis-ci.org/ingenue/hunter/builds/247564933?utm_source=github_status&utm_medium=notification

x264:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1884
https://travis-ci.org/ingenue/hunter/builds/247565494?utm_source=github_status&utm_medium=notification

x264

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1886
https://travis-ci.org/ingenue/hunter/builds/247568274?utm_source=github_status&utm_medium=notification

odb-boost

CMake Error at /home/travis/build/ingenue/hunter/_testing/Hunter/_Base/Download/Hunter/unknown/a3f7e09/Unpacked/cmake/modules/hunter_autotools_project.cmake:60 (include):

  include could not find load file:

    hunter_autotools_set_toolchain_binaries

Ooops, sorry about that, updated the pull request :-)
Let the good tests roll \o\

x264

Some tests failed, feel free to exclude.

Some tests failed, feel free to exclude.

Ok, but something is odd with the Android toolchain though, it seems to be missing the C preprocessor binary:
https://travis-ci.org/ingenue/hunter/jobs/247568280

Ok, but something is odd with the Android toolchain though, it seems to be missing the C preprocessor binary

Hunter moved to CMake 3.7 based Android toolchain and variables. CMAKE_C_PREPROCESSOR is not defined by CMake. Discussion:

https://cmake.org/pipermail/cmake-developers/2016-November/029598.html

O.o
I wish they had some converter from autotools to CMake to import existing projects. Developgeting is so much fun, but getting stuck at these buildings issues it is rather annoying.
Ok, so we have to set CMAKE_C_PREPROCESSOR to ${CMAKE_C_COMPILER} -E somewhere. I have to download the Android NDK and test it locally.
(on a side note, I think hunter_get_build_flags has similar responsibilities from hunter_dump_cmake_flags, should  they be merged into hunter_dump_flags?

on a side note, I think hunter_get_build_flags has similar responsibilities from hunter_dump_cmake_flags, should they be merged into hunter_dump_flags

The purpose of the hunter_dump_cmake_flags is to convert cmake properties like CMAKE_POSITION_INDEPENDENT_CODE into real compiler flags and save these flags to CMAKE_CXX_FLAGS for futher usage in build scheme. I guess the get_directory_property part can be moved there too.

How are the other autotools packages for Android working for 3.7 CMake? Since I see it Android is enabled for pkg.odb I guess either tests didn't run on updating the toolchain or there must have been a change somewhere to allow it to run and I missed it on the refactoring of hunter_autotools_project inside this present pull request

Looks good:

https://travis-ci.org/ingenue/hunter/builds/248054179?utm_source=github_status&utm_medium=notification

https://github.com/ruslo/hunter/blob/1b23acfca02d7a8aba8404431eeb1e5901e89c60/cmake/modules/hunter_autotools_project.cmake#L119-L132

Ah, thanks for the heads up, updated the pull request

x264:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1894
https://travis-ci.org/ingenue/hunter/builds/248449649?utm_source=github_status&utm_medium=notification

odb-boost:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1893
https://travis-ci.org/ingenue/hunter/builds/248449502?utm_source=github_status&utm_medium=notification

x264

Some toolchains failed, please take a look.

Thanks, will be commenting them

Done: https://github.com/ingenue/hunter/pull/85
Thanks for taking care of AppVeyor :-)

x264:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1900
https://travis-ci.org/ingenue/hunter/builds/249040856?utm_source=github_status&utm_medium=notification

odb-boost:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1901
https://travis-ci.org/ingenue/hunter/builds/249040906?utm_source=github_status&utm_medium=notification

Uploading.
x264:

https://travis-ci.org/ingenue/hunter/builds/249046022?utm_source=github_status&utm_medium=notification
https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1903

odb-boost:

https://travis-ci.org/ingenue/hunter/builds/249045834?utm_source=github_status&utm_medium=notification
https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1902

Released: https://github.com/ruslo/hunter/releases/tag/v0.19.22

Great, thanks!


Check extended CPU features only when necessary as querying flags fail on some AMD CPUs.

Some AMD CPUs fail on querying CPUID extended flags. See https://bugzilla.mozilla.org/show_bug.cgi?id=1615786. Performing this check only when actually required, allows wasm modules that don't rely on extended features to be run.

I messed up the review thing - looks good, if you can approve adding those suggested comments we'll get it merged.

pt2: on account of not being AMD-specific, I'm going to squash merge and rewrite the commit message to reference the bug report and having made a stronger assumption than we should about CPUID leaf availability.

Ah sorry, was away all day so just saw the messages now. That makes sense. Thanks @pchickey and @iximeow!


Docs: Fix fetchSync hook name in example

Description
Quick docs fix for this here: https://github.com/Shopify/shopify-dev/pull/21460

Problem
Incorrect Hydrogen syncFetch hook name in example here:
https://shopify.dev/custom-storefronts/hydrogen/framework/work-with-rsc#fetching-data-on-the-client
Solution
The correct hook name is fetchSync 😄  - docs for reference

Before
After

Before submitting the PR, please make sure you do the following:

[x] Read the Contributing Guidelines
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123)
[x] Update docs in this repository according to your change
[ ] Run yarn changeset add if this PR cause a version bump based on Keep a Changelog and adheres to Semantic Versioning

No worries! Thank YOU @mcvinci ! 🙂
I notice the checks on this PR seem to be failing, however I don't believe they have anything to do with the changes here, so is this ok to Squash and Merge? Thanks!

No worries! Thank YOU @mcvinci ! 🙂
I notice the checks on this PR seem to be failing, however I don't believe they have anything to do with the changes here, so is this ok to Squash and Merge? Thanks!

@BradMurchison Great question. We manually run a task to generate the docs and copy over changes to Shopify.dev. We typically run that task when we release a new version of Hydrogen. Currently, we're releasing every Tuesday. I'll be generating the docs alongside tomorrow's release, and you should see your changes reflected on Shopify.dev then!


Haacked browse folder dialog

Added method to browse for directories. Also added a method to launch a browser to a URL.

This PR also contains a breaking change in class names.


Fix examples

[!IMPORTANT]
This pull request updates GitHub Actions, documentation examples, and dependencies to enhance functionality and documentation clarity.

GitHub Actions:

Add system dependencies graphviz, libcairo2-dev, and xdg-utils in test_docs.yml.

Documentation Examples:

Update batch_job_oai.md to refine question generation example and output format.
Enhance extracting_tables.md with improved table extraction and markdown conversion examples.
Modify knowledge_graph.md to include iterative graph updates and visualization.
Update moderation.md to include detailed error handling examples.

Dependencies:

Add graphviz, sqlmodel, trafilatura, pydub, and datasets to pyproject.toml.
Update pyproject.toml to include new dependencies in test-docs group.

This description was created by  for d4ad77c8307c66a71b09b3a21cb51a096d542640. It will automatically update as commits are pushed.

test_examples.py
Previous : 41 Failed, 36 Passed
Current: 29 Failed, 48 Passed

Most changes are from poetry.lock and pyproject.toml updates


drivers: stepper: Add step direction stepper common binding

Adds a step direction binding that can be used with any stepper that implements said control interface to cut down on boilerplate code.
Will also add a driver that makes use of this :^)
EDIT:// Added the TMC2209 driver using the step dir interface. Usage of the one wire interface and DIAG pin will be added in a later commit. This just serves as a example usage of the common step dir interface.

I think the entire tmc22xx series could use the same driver. We should probably rename it aptly.

I think the entire tmc22xx series could use the same driver. We should probably rename it aptly.

Very good idea, what would be the best way to have the different microstep config pin values on a per driver basis? Make them a DT property or do some ifdefery with DT_DRV_COMPAT?


add quality statement for metadata

What
Quality Statement is needed for the metadata tab in the xlsx download file - https://trello.com/c/V5Nffufg/5900-update-xls-meta-data-tab-to-include-additional-meta-data-fields
QualityStatementText and QualityStatementURL have been added to the VersionDimension model, which is part of the Version model, which is part of the Metadata model
How to review
Confirm changes make sense
Who can review
Anyone

Already covered in this PR - https://github.com/ONSdigital/dp-api-clients-go/pull/344


[Bug] GenericContainer doesn’t properly split commands

Module
Core
Testcontainers version
1.17.3
Using the latest Testcontainers version?

GenericContainer setCommand uses Java String split to build the array of command parts. If the command contains quoted arguments/quoted arguments with escaped quotes, the container fails.
Example command:
/bin/sh test.sh “argument 1” “argument 2”
Relevant log output
No response
Additional Information
No response

Hi @dhoard,
Container.java also provides another version of setCommand method that allows sending in an array directly
Method signature:
void setCommand(@NonNull String... commandParts);

Example usage:
setCommand("--display=true", "-driver=\"kernel-4.0 kernel-4.1\"");

Will this work?

@hariohmprasath sure, that method is a workaround if the parts are already split.
In my scenario, I am reading a complex/quoted command line from a file. Ideally, I should be able to pass the whole command line to setCommand(String command) as is.

Hey @dhoard. Thanks for reporting this. This is a valid use case and it's no surprise that users would expect that setCommand(String command) to split a command properly as a normal command. Handling quotes " and ' can be done at a fairly low cost. But there are complications around escaped quotes.
From an SO post:

As documentation, translateCommandline handles both single and double quoted strings and escapes within them but does not recognize backslash in the same way as a POSIX shell because of problems that causes on DOS based systems.

I think POSIX based commands are different from DOS based commands. Though, I think it should be fine to assume POSIX based commands as docker containers are linux based. Though, there might be use cases where one might expect to run a DOS based command? I think a bit more time is required to think through this problem.
In the meantime, as a workaround - would it be possible to use one of the solutions on this SO post and then passing into the alternate method setCommand(String... commandParts)?

@REslim30 Thanks for the insight. I can see where non-POSIX commands could be a probably.
I currently have a workaround in place, so it's not blocking me.

On the dockerfile docs, there seems to be mention of windows containers:

RUN  (shell form, the command is run in a shell, which by default is /bin/sh -c on Linux or cmd /S /C on Windows)

Will investigate further...

I believe Windows containers on windows (WCOW) isn't currently supported on Test containers from this issue. That work is currently being done to support it as per https://github.com/testcontainers/testcontainers-java/issues/5621.

I feel that a better approach than withPosixCommand and withWindowsCommand would be something like the following...
public SELF withCommand(String cmd, Function<String, String[]> cmdProcessor) {
    withCommand(cmdProcessor.apply(cmd));
    return this;
}

public class CommandProcessor {

    public static final Function<String, String[]> POSIX = new Posix();
    public static final Function<String, String[]> WINDOWS = new Windows();

    public static class Posix implements Function<String, String[]> {

        @Override
        public String[] apply(String s) {
            // TODO
            return null;
        }
    }

    public static class Windows implements Function<String, String[]> {

        @Override
        public String[] apply(String s) {
            // TODO
            return null;
        }
    }
}

Example usages:
GenericContainer genericContainer = new GenericContainer();
genericContainer.withCommand("testing 1 2 4", CommandProcessor.POSIX);

GenericContainer genericContainer = new GenericContainer();
genericContainer.withCommand("testing 1 2 4", CommandProcessor.WINDOWS);

This would also allow a developer to provide a custom command processor to split commands, replace values in a command, validate command format, build dynamic commands, etc.

@dhoard I like that suggestion. I think that provides good flexibility and is open to extension.
But I think at this stage we should extend the current withCommand(String) method, and assume that most of our users will be using linux containers (since windows containers is not supported currently). And in future, if windows containers become a thing or a certain linux distro splits commands differently, we can deprecate withCommand(String) and go with a style similar to what you suggested. This way we have a better understanding of the different ways a command line string can be split and we don't add a new public api that we have to support that might be the wrong abstraction.

It actually might be a shell thing. From man bash
DEFINITIONS
       The following definitions are used throughout the rest of this document.
       blank  A space or tab.
       word   A sequence of characters considered as a single unit by the shell.  Also known as a token.
       name   A word consisting only of alphanumeric characters and underscores, and beginning with an alphabetic character or an underscore.  Also referred to as an iden-
              tifier.
       metacharacter
              A character that, when unquoted, separates words.  One of the following:
              |  & ; ( ) < > space tab newline

Sorry for the late reply but something like this should work withCommand("sh", "-c", "this is my command, a large one)

Sorry for the late reply but something like this should work withCommand("sh", "-c", "this is my command, a large one)

@eddumelendez agreed... and the approach I took.
The lack of support for quoted arguments when using setCommand(String) / withCommand(String) is not intuitive.
Wwould you accept a Javadoc PR to make this more apparent?

I think an improvement in our docs make sense. Please, take into account the code snippets in our docs are concentre test examples. PR is welcome :)

Closing as this one was solved. PR for docs is welcome.


Document tabs & add icon slot name

fixes #586
Documented tab and tab-bar as well as change the default slot to be slot[name="icon"]
Reasoning: it would break the following use case:
<mwc-tab
  icon="camera">
</mwc-tab>

as the empty text node would override the default slot's contents.
Will require internal migration.

Running copybara to get ahead on internal fixes.


Added check to route insert into table ... statements to Spark with n…

Added check to route insert into table ... statements to Spark with no result set flag. This will help in bulk inserts in column tables.
However there is still a problem. SnappyShell shows 0 rows updated. This needs to be fixed.

changes look good. formatting needs to be handled.


git for windows constantly running in the background using CPU

VSCode Version: 1.13.1
OS Version:  windows10 (version 1703)

Steps to Reproduce:

Open VSCode and go to a project with git
Open up process monitor to see git.exe constantly use significant amount of cpu

Reproduces without extensions: Yes

If you double click on that (or add the Command Line column), what command of git is really running?

And this view

I think this issue also magnifies the effects of https://github.com/Microsoft/vscode/issues/901. This also shows that Git is active even if vscode is not focused, which #901 claims to have fixed.

I only now saw that it's running git prune, that's something that shouldn't ever be run automatically, because it can destroy data. Imagine that you run rebase or something, which causes something to be unreferenced, but that you are planning to reference again. I don't know how those 2 weeks are calculated, but if it's file modification time, then it can easily destroy your data.

@Jazman1 Thanks for the screenshots.
Code calls git fetch periodically, so it tells you how many incoming commits you have available on the remote. It seems that your repository has a lot of garbage, so git fetch is automatically calling the garbage collector: git gc.
Unfortunately the only way you seem to be able to avoid that is by disabling auto fetch (git.autofetch), disabling gc altogether or actually running a good manual gc run: git gc --aggressive --prune.


Sweep force_bytes/force_str/force_text and replace with encode/decode.

Now that we're only on python3, we can probably do more idiomatic string-to-byte transformations in places (or avoid them altogether) by using things like s.encode('utf8').
This is a good task for somebody who knows Unicode and python3 string semantics, but it doesn't necessarily require a deep understanding of our codebase (although in places you'll need to read the code carefully).

I guess one argument for keeping force_text and force_bytes is that they are more readable and don't require someone to remember to specify utf-8 everywhere.  @gnprice what are your thoughts?

Just to give some context, I think these functions are kinda ugly in a non-straddling world, because they don't ensure type safety (all Union types with gross isinstance types).  In a pure python3 world, we should be mostly working in string space, so often we'll be avoiding these functions altogether, and where we do need to encode stuff into utf8 (or vice versa), I think we'll want to just follow the standard python3 conventions.
 47 def force_bytes(s, encoding='utf-8'):
 48     # type: (Union[Text, bytes], str) -> bytes
 49     """converts a string to binary string"""
 50     if isinstance(s, bytes):
 51         return s
 52     elif isinstance(s, Text):
 53         return s.encode(encoding)
 54     else:
 55         raise TypeError("force_bytes expects a string type")

Also, @timabbott, I agree with not wanting to specify utf8 in 99% of places.  I think there are a few places in the code where we want this to be explicit (like when dealing with tsearch offsets and doing heavy byte arithmetic), but mostly we can just let Python default it for us.
>>> s = u'<p>昨日'
>>> s.encode('utf8')
b'<p>\xe6\x98\xa8\xe6\x97\xa5'
>>> s.encode()
b'<p>\xe6\x98\xa8\xe6\x97\xa5'

I did an initial code sweep, and I fixed all the "easy" cases.  The remaining cases here are going to require a significant amount of work, which is mostly a matter of getting good unit test coverage around changes.

@zulipbot claim

Note that there is a Django function called force_bytes, not to be confused with Zulip's own force_bytes.  We don't need to sweep the Django functions for this issue.

I'd be ok with closing this, although there are still some places like the "rename_stream" management command where we could very safely rely on python3 doing the right thing.  Most of the remaining cases are for things like thumbor and ccache that are probably harder to reason about.

I took care of this recently.


08-create-power-bi-dashboard.md

English:
Notice the response is now
$33M.
Current Translation:
请注意，答复现在为“3300 万美元”。
Suggested Translation:
请注意，回答现在为“$33M”。

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

no locfile in iCMS, So I Re-index the file, waiting for result. ICMS QUERY

Run the bugfix tool and waiting for result.

fixed.


Can't scroll when hovering over scrollbar

When hovering the pointer over the custom scrollbar it's impossible to scroll with a mousewheel/trackpad. To follow the native behavior, it might be nice to detect the different triggers for scroll events and scroll the container in response. Not sure if there's a cleaner way to handle that.

Is there any solution to this? The current behavior goes against standard behavior of browser's scrollbars from what I can see.


Update dependencies

Codecov Report
Patch has no changes to coverable lines.
:loudspeaker: Thoughts on this report? Let us know!.


Is it possible to crawl from private account?

I just curious for this context. Is it possible to crawl from private account? I've try for some private account and this program just return basic information and not for posts. Is it possible to do this case, even though I have instagram account that follow the account.

Hello,
Currently I do not allow connection so it is impossible to recover private account data.
But if you want, you can create a pr and allow the connection before the crawl.

I have do this task for my research in undergraduate program to make a behavioral analytic from social media. I've done to get the data from twitter but not for instagram.


walrus.seal.io/stoppable label is not automatically added after cloning resources

Describe the bug

walrus.seal.io/stoppable label is not automatically added after cloning resources.
Steps to reproduce

Clone resources to a dev environment.
Check the resource label after the deployment.

Result

Didn't add walrus.seal.io/stoppable=true automatically after deploying.

Expected behavior

Environment

Walrus version: main 645047fbb578508e9b8ab46353195be7de52f22e
UI version: dev-6762e0b

Additional context
Add any other context about the problem here.

Environment

Walrus version: main 942e758b93603e9ad40f9da90260c30af5ea350b
UI version: dev-b511a81

Test Result: pass


commands/.../scorecard: add support for JSON output

Description of the change: Add JSON output support based on proposal from PR #1049.
Motivation for the change: Closes issue #1189.
This PR will be considered WIP until PR #1049 is merged.

Note: Since this is a draft PR, Travis-CI will not run until I mark it ready for review

NOTE: I will be basing this PR on top of #1272, so this will be blocked until that PR is merged

This is now ready for review
/cc @joelanford @hasbro17 @estroz @shawn-hurley

@shawn-hurley I did the full set up as k8s structs on purpose. We won't have CRDs for them or create them in the cluster at this point, but we may eventually update the scorecard to work as an operator as @joelanford suggested in a previous PR, which would use these structs: https://github.com/operator-framework/operator-sdk/pull/1049#discussion_r267980651

@shawn-hurley I've redesigned much of the API so the resources are designed more as data resources. The names of the objects are also a bit clearer now

/cc @joelanford @shawn-hurley @hasbro17 @estroz

@joelanford We could collect the logs in a buffer during the human-readable output as well. For instance:
Logs:
---
...
---

Basic Test:
...

Now that the scorecard run function is separated from the output, all the logs appear before the final results anyway. I feel that keeping the streaming logs might be useful for the human-readble output though.

Fixed
/cc @shawn-hurley