Add market Summary

Supersedes #2172

What is Summary class providing beyond just returning the dict?

Sorry, thought thats how it was wanted as other features (like the search) basically return just the dict. Will add a proper return class

@ValueRaider let me know what you want it to return and then I'll mark it for review

My mistake, I meant to question MarketSummary class.

My mistake, I meant to question the MarketSummary class.

Yes I suppose it could be a typed dict. It was meant to help provide type hints and the keys available. It also changes some of the keys names.

Python variables are already typed, don't need to keep the hints they're for parsing the JSON.

I can only see the type of dict. Not what each of the value types are?

Here:
>>> d = {'a':1}
>>> type(d['a'])
<class 'int'>

Reserve the Python type hints for function arguments (and return type).

I can only see the type of dict. Not what each of the value types are?

Here:
>>> d = {'a':1}
>>> type(d['a'])
<class 'int'>

Sorry misunderstood you.  I thought you meant static type hints in the editor.

Reserve the Python type hints for function arguments (and return type).

Ok, can I ask why though? Surely more type hints and documentation is better?

Ok, can I ask why though? Surely more type hints and documentation is better?

Our code yes, but not the data structures returned by Yahoo - that's Yahoo's job. They can change their data structure/naming at any time without warning breaking your previous code.

Ok, anyway all done. Is there anything else or shall I mark ready for review

I'm not sure on the refresh logic, especially because the data is very unlikely to change. I'm sensing this class can be replaced with a simple fetcher function, maybe unpack the data a bit.

I'm not sure on the refresh logic, especially because the data is very unlikely to change. I'm sensing this class can be replaced with a simple fetcher function

I disagree as it does have data that changes daily: change percentage, price confidence, price hint, price, price change, previous close, tradable, marketState etc. These don't change from minute to minute (except maybe market price which does return a different value than Ticker) but from hour to hour, day to day, so caching is useful for this.

This what I have in mind (only thought to combine your branches today): https://github.com/ranaroussi/yfinance/blob/draft/market-info/yfinance/domain/market.py
>>> mkt = yf.Market("US")
>>> print(type(mkt.status))
<class 'dict'>
>>> print(type(mkt.summary))
<class 'dict'>

The periodic refresh logic is better handled by requests_cache session https://ranaroussi.github.io/yfinance/advanced/caching.html

Surely
``python
if self._status is not None:
return self._status
and
```python
if self._summary is not None:
    return self._summary

defeat the purpose of caching: It is only requested once not once an hour or once a day?
I like what you did with summary.
I think storing the data in _raw_data or something would help as it will further reduce the requests to Yahoo but also allow status to also use that data meaning they are the same.
I would also want to parse the data in status like how I have currently got.
What do you think?

The periodic refresh logic is better handled by requests_cache session https://ranaroussi.github.io/yfinance/advanced/caching.html

Forgot about that...

It is only requested once not once an hour or once a day

That's how lazy initialization works, nice side effect as a spam guard. Use other tools to refresh, yfinance focuses on the fetch.
Parse status like this? https://github.com/ranaroussi/yfinance/commit/63698c56c3f3f64da8b43a1e837c893b0100d6b3
Btw any way to get status fetch working with other regions beside US?

Parse status like this? 63698c5

Sorry, no. Was getting confused with #2176

Btw any way to get status fetch working with other regions beside US?

I believe region doesn't effect the results and is only used for tracking, so shouldn't matter to the user. It might be that certain regions don't have access to certain data (geo blocking) but I don't know.

@ValueRaider You have merged this pr with #2176. Is that what you want or do you want them as 2 separate classes?

Merge was deliberate - only way to justify a new custom class, and make sense.

What would you think of market being a class - market.status.is_open etc? Otherwise I will put them all in a dict @ValueRaider

Abandon is_open, wait for Yahoo to complete their backend for markettime (other countries). Maybe they discovered that different markets have different times even in same country so only return US.

@ValueRaider How about this?

Fetch both to ensure they are at the same time

Interesting. Why do they need to be synced?

If you have some data, I think it would be best if they were synced. It seems weird to have summary from time x and then maybe 30 minutes later status. With them being synced it allows better compatibility with the data. @ValueRaider


Fixed a bug with scrollTableView slots disconnecting on refresh

https://nanopay.atlassian.net/browse/NP-5559
Hitting refresh on DAOBrowserView using a ScrollTableView would disconnect the DOM elements from their slots causing any updates to the DAO to not refresh the table. This fixes that problem by keeping track of both the slots as well as the Elements

LGTM


Mockery bleed over between tests.

Before 2.6.x you could define your Mockery in the @Before method of a unit test, so that you had a new Mockery for every test and there was no chance of bleed over between the tests.  The code might look something like:
@RunWith(JMock.class)
public class SomeTestClass {

    private Mockery context;

    @Before
    public void setUp() {
        context = new Mockery();
    }
}

Starting with 2.6.x, you need to define you Mockery before the @Before as a result of this change (https://github.com/jmock-developers/jmock-library/commit/27a0bd7e50a3cd82b26fc8ea947a65fd203088b7).  So now you often have code that looks like:
@RunWith(JMock.class)
public class SomeTestClass {

    public static Mockery context;

    @BeforeClass
    public static void globalSetUp() {
        context = new Mockery();
    }
}

However, this causes mocked objects to persist between runs of the unit test, potentially resulting in errors like:
a mock with name fullScreenFrame already exists
java.lang.IllegalArgumentException: a mock with name fullScreenFrame already exists
    at org.jmock.Mockery.mock(Mockery.java:128)
    at org.jmock.Mockery.mock(Mockery.java:120)

Wouldn't it be better to hook the JMock.mockeryOf(Test) code after the test has been setup (after @Before has been called)?
As a work around, creating the Mockery in test's constructor avoids the bleed over.  For example:
@RunWith(JMock.class)
public class SomeTestClass {

    private Mockery context;

    public SomeTestClass() {
         context = new Mockery();
    }
}

This was tested with JMock 2.8.3 and JUnit 4.11.

Also tried to start some discussion here: https://stackoverflow.com/questions/47719072/jmock-static-mockery-vs-local-mockery

Thanks for the clear write up. I'll look into it

A better workaround that doesn't run into this bleed over problem is to use JUnitRuleMockery.
For example:
public class SomeTestClass {

   @Rule
   public JUnitRuleMockery context = new JUnitRuleMockery();

   private SomeOtherClass fullScreenFrame;

   @Before
   public void setUp() {
       fullScreenFrame = context.mock(SomeOtherClass.class);
   }
}

This may not even be a work around, but the right way to do it.

Yes it is. Also, because JUnit flushes the test class each time you can set your fields on declaration as final rather than in the setup.
S

Yes, on second reading we always use the @Rule form


As Software Engineers we need Use Case Diagrams to understand the different actions users can take on our website

Full Use Case defined

👍Submitted Use Case Diagram for MV


FivetranSensor never exits

FivetranSensor logs moving from Scheduled state, to Syncing state, back to Scheduled state without ever recognizing that a sync has completed.

Fixed in above PR.


Creating Subscription for Custom Topic failure

Hello,
I have an Event Grid System Topic for a Storage Account and I am trying to add as Subscription to route the events to a Custom Event Topic. I am getting a deployment failed error even though I am providing the Access Key for the Custom Topic endpoint. I have tried adding the key to the header and endpoint parameters. The error message is below followed by my the Json for the subscription I am trying to create.
Error:
Deployment has failed with the following error: {"code":"Url validation","message":"Webhook validation handshake failed for https://[customEventTopic].northcentralus-1.eventgrid.azure.net/api/events. Http POST request failed with response code Unknown. For troublehooting, visit https://aka.ms/esvalidation. Activity id:4dc19f4b-5c0e-45da-b3bf-ee1555cd8275, timestamp: 2/1/2022 4:19:41 PM (UTC)."}
JSON:
{
"name": "CustomEventGridTopic",
"properties": {
"topic": "/subscriptions/[subscriptionId]/resourceGroups/[resourceGroupName]/providers/Microsoft.Storage/storageAccounts/[storageacct]",
"destination": {
"endpointType": "WebHook",
"properties": {
"endpointUrl": "https://[customEventTopic].northcentralus-1.eventgrid.azure.net/api/events",
"maxEventsPerBatch": 1,
"preferredBatchSizeInKilobytes": 64,
"deliveryAttributeMappings": [
{
"name": "aeg-sas-token",
"type": "Static",
"properties": {
"value": "[accessToken]",
"isSecret": true,
"sourceField": ""
}
}
]
}
},
"filter": {
"includedEventTypes": [
"Microsoft.Storage.BlobCreated",
"Microsoft.Storage.BlobDeleted",
"Microsoft.Storage.DirectoryCreated",
"Microsoft.Storage.DirectoryDeleted",
"Microsoft.Storage.BlobRenamed",
"Microsoft.Storage.DirectoryRenamed"
],
"advancedFilters": [],
"enableAdvancedFilteringOnArrays": true
},
"labels": [],
"eventDeliverySchema": "EventGridSchema"
}
}

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

ID: 65180748-1596-466c-d651-2acfdc47a89f
Version Independent ID: 7924ea9d-0669-6fa5-655a-ce2dee7bbc01
Content: Post event to custom Azure Event Grid topic - Azure Event Grid
Content Source: articles/event-grid/post-to-custom-topic.md
Service: event-grid
GitHub Login: @spelluru
Microsoft Alias: spelluru

Thanks for the question! We will review and get back to you shortly.
The best place for specific answers about implementations are going to be the Microsoft Q&A and Stack Overflow forums. We actively look through posts in the forums, and will do our best to get you going in the right direction!

@real-oneill You cannot define the Event handler as the Custom Topic. The only supported event handler is mentioned here.
As you have created the event grid subscription of your storage account and configured the Webhook as the Custom Topic.
Only in the case of below the azure infrastructure automatically handles the validation event. In other cases, you need to handle it at the webhook endpoint end as mentioned here.

Azure Logic Apps with Event Grid Connector
Azure Automation via webhook
Azure Functions with Event Grid Trigger

As you cannot write the validation code at the custom topic therefore the webhook validation failed and you observed the error that you have shared.
Alternatively, you need to use a middle system (either function app, logic app, etc) where you can send the events and your middle service will be forwarding the event to the custom topic.
As @SamaraSoucy-MSFT mentioned it is always best to reach out to Microsoft Q&A or Stack Overflow forum for these types of issues as Github is mainly related to document issues.
Hope the above clears things up. For now, we will go ahead and close this issue. If you have any further question please feel free to tag me in.


Any plan to support Semantic UI React 0.84?

Just wondering if we are going to support Semantic UI React 0.84 in the near future?
Thanks

Thanks for the great work, looking forward to seeing it :-)

Upgraded to 0.84. Seems like it works fine.

Yep I just tried 0.12.2, working fine now.
Thank you!


Intermittent 403 Fail Whale errors in new UI

Internal reference: SURE-5670
Reported in 2.6.9
Issue description:
Users see intermittent 403 Forbidden Fail Whale with different errors in the 2.6.9 dashboard UI. The error changes each time. But they almost always make it seem like a permissions problem. Here are some examples:
"clusters.management.cattle.io is forbidden: User \"u-c75rx2mafn\" cannot list resource \"clusters\" in API group \"management.cattle.io\" at the cluster scope"

"apps.catalog.cattle.io is forbidden: User \"u-c75rx2mafn\" cannot list resource \"apps\" in API group \"catalog.cattle.io\" at the cluster scope"

"clusters.management.cattle.io is forbidden: User \"u-c75rx2mafn\" cannot list resource \"clusters\" in API group \"management.cattle.io\" at the cluster scope"

But the user does have the right permissions and access. In fact, when they reload and then click around a bit, the resources populate. Also, when users use the old UI with /g, they don't see any of these problems.
Business impact:
It is a nuisance and makes using the new dashboard difficult
Troubleshooting steps:

Not related to https://www.suse.com/support/kb/doc/?id=000020710
They are using ADFS, so I had them test out a local user to try and rule out the authentication provider. Local users still saw the problem.
I had them try different browsers, disable all extensions, and use incognito mode. They still saw the problems

Repro steps:
Hard to reproduce but easily spotted based on setup. @gaktive asked about the user type and audit logs.
Workaround: User older UI ->  /g
Actual behavior:
The user sees intermittent 403 Fail Whale errors when browsing resources in the dashboard.
Expected behavior:
The user shouldn't see intermittent 403 Fail Whale errors when browsing resources in the dashboard.

@Shavindra This is in review, but there is no open PR for it - what is the status?

Problem went away after the original requester removed and re-added the permissions. Closing as done.


Changing TMPDIR or DEPLOY_DIR breaks image recipes

resin-image recipes don't allow TMPDIR or DEPLOY_DIR to be changed due to relative paths in RESIN_BOOT_PARTITION_FILES
In particular:
RESIN_BOOT_PARTITION_FILES_append = " ../../../../../${MACHINE}.json:/device-type.json"
https://github.com/resin-os/meta-resin/blob/master/meta-resin-common/recipes-core/images/resin-image.bb#L61
https://github.com/resin-os/meta-resin/blob/master/meta-resin-common/recipes-core/images/resin-image-flasher.bb#L51

Hi @bshibley . Thanks for the report. I see the problem you encounter and I think we should reference the device-type.json relative to RESIN_COREBASE. It should work well and allow you to remove this dependency. Do you want to give it a go?

Hi @agherzan , that would make sense.  Although it seems that RESIN_BOOT_PARTITION_FILES is expecting a relative path.
Using RESIN_COREBASE results in the following error:
ERROR: resin-image-1.0-r0 do_rootfs: /workdir/oe/tmp/deploy/images/apalis-imx6//workdir/oe/layers/meta-resin/meta-resin-common/../apalis-imx6.json is an invalid path referenced in RESIN_BOOT_PARTITION_FILES.

That makes sense. Checking the code a little closer I remembered that  RESIN_BOOT_PARTITION_FILES entries are considered relative to DEPLOY_DIR_IMAGE. We can add a check in image-resin.bbclass to consider relative entries only when the entries don't start with /. Otherwise, use them as they are provided. And afterwards, change the device-type.json references to paths based on RESIN_COREBASE. That should do it.

Sounds great.  Thanks

Do you have some time to check this and maybe put up a patch for it? Otherwise, I'll try to look into it some other time.


Investigate if remote SHA1 can be removed

Was previously used to determine if the latest version had been pulled, but now the status is calculated by looking at the files

from persistency

merged, closing


Update getspoapplication

Due to the recent name change to "SharePoint Embedded" all name instances were updated from repository services.
The descriptions for Get-SPOApplication were updated

@MikePlumleyMSFT - Take a look?

@KCCross I can't validate cmdlet updates.

Should we move this to T3 then?


Use of copy_node for copy one tree node to another tree

Hey I'm using this awesome JsTee 3.0 but i stuck on one thing, I have two jstree, lets give name A and B.  On my page I just want copy one node of  A tree to B tree, when i use following code
var ref = $('#A').jstree(true), codeRef = $('#B').jstree(true);
ref.copy_node(codeRef.get_node('Node1'), ref.get_node('Node2'));

on check_callback I noticed Jstree takes 'Node1' of A tree (instead of B tree which I'm sending) and simply copying into A tree itself. Please help to resolve this issue.
Thanks

I am afraid I can not reproduce the issue. Here is a demo:
http://jsfiddle.net/DGAF4/1322/
Please update the fiddle so that I can see the issue and I will reopen.
Best regards,
Ivan


--no-locale might not be an optimal Postgres option to set

default = [ "--no-locale" ];
--no-locale sets locale to C and DB encoding to SQL_ASCII.
From Postgres docs:

The SQL_ASCII setting behaves considerably differently from the other settings. When the server character set is SQL_ASCII, the server interprets byte values 0–127 according to the ASCII standard, while byte values 128–255 are taken as uninterpreted characters. No encoding conversion will be done when the setting is SQL_ASCII. Thus, this setting is not so much a declaration that a specific encoding is in use, as a declaration of ignorance about the encoding. In most cases, if you are working with any non-ASCII data, it is unwise to use the SQL_ASCII setting because PostgreSQL will be unable to help you by converting or validating non-ASCII characters.

How about UTF8?

Here's a fun read  on locales in PostgreSQL. Given the information in this article and the comments, it seems to me that [ "--locale=C" "--encoding=UTF8" ] would be the safest option with a bit of added documentation to initdbArgs to prevent people shooting themselves in the foot.

@jozuas would you make a PR :pray:

No probs, I'll schedule for tomorrow.

@jozuas do you plan to make a PR?


New lightkurve functionality

Lightkurve has new functionality - Oli knows more perhaps but this includes a stitch function among other things.  Shall we jump onboard and put everything we can into the examples?
I vote yes - it will be something todo for the TASC week.

Yeah! Instead of having to do all the appending by hand,
lc = datalist.download_all().stitch()
is a thing now!

Awesome! Let's add it!

 Let's add it!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/grd349/PBjam/issues/126?email_source=notifications&email_token=AEJWO37LDAT5DJQ2QLP4DZLQAMX2BA5CNFSM4IFO3PE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2NQ4HQ#issuecomment-513478174,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEJWO3Y57TZT6JOHAYAXZWDQAMX2BANCNFSM4IFO3PEQ
.

OK - we have stitch in the docs examples.  We should add stitch under the hood too but later ...


fix(overview): use the onboarding wizard in the empty state

fixes #544
//cc @lcouzens

Codecov Report

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

@@           Coverage Diff           @@
##           master     #545   +/-   ##
=======================================
  Coverage   83.48%   83.48%
=======================================
  Files         156      156
  Lines        2355     2355
  Branches      381      381
=======================================
  Hits         1966     1966
  Misses        345      345
  Partials       44       44

Continue to review full report at Codecov.

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

Thanks @dlabrecq


[script] perserving the permission when cp openthread files

In some environments, cp may produce files which have different permissions from the source files. This can fail the build of OTBR. Hence we need to add -p option in the command to preserve the permissions.

LGTM, could you update the CHANGELOG to mention this change?

I'm inclined not to add this to CHANGELOG because it's a small bugfix. There seem no similar changes in CHANGELOG so far.


Update linked-hash-map to 0.4.

linked-hash-map 0.4 was released, which updates serde to the 0.9 series. This will help downstream crates from having to depend on an older version of serde.

Ping? Any chance this or #55 could be merged? I'd like to he able to use the entry API whether the feature flag is on or off.


Introduce a stable library API

Datumaro comes as a command-line tool and as a Python library. While it has a command-line interface, it does not provide a stable an simple to use library API. Such API needs to be documented and tested.
Requirements:

Ability to use Datumaro functionality with some simple import, such as import datumaro or import datumaro.api
Comprehensive documentation for typical use cases

Wiki / readthedocs

Full documentation for the key entities (Dataset, annotation types, etc.)

Hello,
When is the library documentation expected to come out ?

@anwar1997ff, I can't say about the time estimates, but API documentation is expected to come with API itself, which is planned after the big versioning patch (#26).

I'll close the issue, because API itself and API and CLI documentation are already added.


Add types

Drops support for Mkdocs < 1.4.0. Closes #139

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

51 of 61 (83.61%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.9%) to 97.537%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/mkdocs_include_markdown_plugin/process.py
19
20
95.0%

src/mkdocs_include_markdown_plugin/files_watcher.py
3
5
60.0%

src/mkdocs_include_markdown_plugin/event.py
26
33
78.79%

Totals

Change from base Build<PHONE_NUMBER>:
-1.9%

Covered Lines:
396

Relevant Lines:
406

💛  - Coveralls


Only trade within margin from highest price

Is your proposal related to a problem?
When a coin trades around ATH, or recent Max value, I don't want the bot do make any buy orders. I would still like to keep the Candle limit a certain amount to monitor recent trend, however, if the coin is trading very high I would like to prevent buy orders.
Describe the solution you'd like
I suggest a percentage margin from max value in recent history (separately from the candle limit), or at least ATH, where the bot will disable buy orders.
For example, ETHUP max value in the last 30 days was 165. I would like to keep the candle limit low (say, 30min/40) but avoid buy orders if current price is within a 10% margin of 165. This will reduce risk as sometimes the bot will buy high and it will take a few weeks to get to the same point and sell in profit.
The only other way to avoid this would be increasing the candle limit which will work well, however, would require changing to a lower limit once the price has dropped.

It's a very good strategy, I typically manually adjust coins. But if you have many coins to monitor, then it would be painful to change every coin.
So key points are:

Have separate candles to determine ATH
Determine the highest price
Configure Buying restriction percentage like 10%
Calculate Buying restriction price from the highest price.

So the UI will display for the buy signal like

Highest price: 165.000
Buying restriction price: 148.5
Current price: 149.000
Lowest price: 149.000

The current price has reached the lowest price; however, it is restricted to buy the coin.

The only issue with this is, it will require extra API calls. Not sure it causes over API limit, need testing.
Did I miss anything?

Yeah that's correct. Although I would only take the max price for say the last 30 days, not ATH. Also you can just make an hourly or daly call and save the max amount to the database somewhere. Even if max prices incenses and decreases rapidly within a day there's no harm done, it would simply not buy.

I have added this feature to TODO list. I think this will be very useful to not purchase the coin when the coin is falling from ATH.

It's a very good strategy, I typically manually adjust coins. But if you have many coins to monitor, then it would be painful to change every coin.
So key points are:

Have separate candles to determine ATH
Determine the ATH(All time high) price
Configure Buying restriction percentage like 10%
Calculate Buying restriction price from the highest price.

So the UI will display for the buy signal like:

ATH price: 165.000

Buying restriction price: 148.5

Current price: 149.000

Lowest price: 149.000

The current price has reached the lowest price; however, it is restricted to buy the coin.

The only issue with this is, it will require extra API calls. Not sure it causes over API limit, need testing.
Did I miss anything?

Good strategy!!!. Thank a lot for your contribution

The current price has reached the lowest price; however, it is restricted to buy the coin.

It's a very good strategy, I typically manually adjust coins. But if you have many coins to monitor, then it would be painful to change every coin.
So key points are:

Have separate candles to determine ATH
Determine the ATH(All time high) price
Configure Buying restriction percentage like 10%
Calculate Buying restriction price from the highest price.

So the UI will display for the buy signal like:

ATH price: 165.000

Buying restriction price: 148.5

Current price: 149.000

Lowest price: 149.000

The current price has reached the lowest price; however, it is restricted to buy the coin.

The only issue with this is, it will require extra API calls. Not sure it causes over API limit, need testing.
Did I miss anything?

First of all, thanks @Maxoos for your idea!
@chrisleekr I like your explanation as it makes things easy to implement
I implemented this strategy and it looks like running smoothly without API limitations. The used weight in 1m is 180 on average.
I am happy with the result and I got a commission of around $8 after applying this strategy within these two days.
(Don't be afraid about the first three coins because it was bought suddenly and I lose them when I am testing the bot and before implementing this strategy xD)
You can look for the settings and how is the UI looks like. Any improvements will be welcomed. I am thinking to make a checkbox somewhere to enable or disable ATH.

Global Settings (There are custom settings for each coin as well!)

If you would like me to make a pull request, I can do that.

@habibalkhabbaz
Wow, you have implemented exactly what I described.
Yes, please. Let me take a look and merge in. Please open PR :)

@chrisleekr Sure will do it now.

Hey @habibalkhabbaz
The change looks pretty good.
Do you mind I change some code before merging in?
I want to add to your repo.

Enable/disable ATH restriction
Test code

@chrisleekr Sure, go ahead and I will be more than happy :)
Let me know if you want me to do something from my side.


Build (or find) an API for converting from symbol to locale-tailored key code

Keyboard locales are a mess. Read that entire page to properly understand the problem we face before beginning on an implementation.
We need to be able to say that Ctrl+ is the shortcut to zoom in. But on most keyboards (including US), that's actually Ctrl= because the plus is shifted from the equal sign. But on the Germany keyboard, the plus is somewhere else and isn't shifted. So we can't just say it's Ctrl=.
We still have to read the keyboard code (that's the canonical name of the key even if it types something different), because the keyboard key (for writing system keys, that's the letter that gets typed as text) gets converted to other things when you hold Shift (or Option on Macs for typing special characters). We need the raw key, not the shifted or other key.
The hard part is that we need to determine which keyboard layout/locale the user is using (perhaps by detecting it from patterns of input?) and then determine what the non-shifted and shifted keys are for every button on the keyboard. Then we can actually look up the + key and determine that it exists on a certain key, like "Equal" for a US keyboard. Or just if the user presses the letter key next to the Tab key (Q on US layouts, A on French layouts, key code is always "KeyQ") we need to correctly direct that to the "Q" or "A" letter depending on language. This even happens if it's a US keyboard but the OS is set to French, pressing the key which has "Q" printed on the key cap will produce an "A" in a text field. If you're not holding Shift or Mac's Option, that would be the result of KeyboardEvent.key but we need to also detect that key regardless of modifier keys being pressed.
This will be hard to test. Changing your OS is a start, but won't help with the fact that other languages have additional keys that don't even exist on US or other language layouts. Hopefully we can leverage help from our Discord community to test this on many regional keyboards.
It might be nice to make this a library so other users of the Rust community can benefit from our work.
A useful site for testing/diagnostics: https://keycode.info

I ended up implementing a partial solution to this in https://github.com/GraphiteEditor/Graphite/blob/master/frontend/src/utility-functions/keyboard-entry.ts
For the web, this is as close as we can get for now. We can put increasing amounts of effort into a solution based on a giant lookup table against all possible keyboard locales (from crowdsourcing, or maybe the VS Code source code if they have them), and we should eventually do that but it's low priority. Any bugs people encounter can just be band-aided in the heuristics introduced in this commit.
A future API implementation for native should model (or port) https://github.com/Microsoft/node-native-keymap which is the actual solution for desktop. Without https://github.com/eclipse-theia/theia/issues/4079 being implemented in the W3C spec and in browsers, there's no way to easily do what we need on web.


Remove unused shaded jars

Description
This PR removes unused shaded jars, i.e. pinot-controller, pinot-broker, pinot-server, pinot-minion.
The shaded jars of these modules are added several years ago. As deployable pinot components, these modules shouldn't get shaded; instead, it's the subcomponents which have dependencies conflicts need shaded jars.
Plus, removing unused shaded jars can speed up the build time when -Pbuild-shaded-jar option is specified.
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes
If you have tagged this as either backward-incompat or release-notes,
you MUST add text here that you would like to see appear in release notes of the
next release.
If you have a series of commits adding or enabling a feature, then
add this section only in final commit that marks the feature completed.
Refer to earlier release notes to see examples of text
Documentation
If you have introduced a new feature or configuration, please add it to the documentation as well.
See https://docs.pinot.apache.org/developers/developers-and-contributors/update-document

Codecov Report

Merging #6666 (b0c1fa6) into master (1beaab5) will decrease coverage by 22.33%.
The diff coverage is 42.85%.

@@             Coverage Diff             @@
##           master    #6666       +/-   ##
===========================================
- Coverage   66.44%   44.11%   -22.34%
===========================================
  Files        1075     1361      +286
  Lines       54773    66523    +11750
  Branches     8168     9702     +1534
===========================================
- Hits        36396    29347     -7049
- Misses      15700    34714    +19014
+ Partials     2677     2462      -215

Flag
Coverage Δ

integration
44.11% <42.85%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ot/broker/broker/AllowAllAccessControlFactory.java
100.00% <ø> (ø)

...t/broker/broker/BasicAuthAccessControlFactory.java
0.00% <0.00%> (ø)

.../helix/BrokerUserDefinedMessageHandlerFactory.java
52.83% <0.00%> (-13.84%)
:arrow_down:

...org/apache/pinot/broker/queryquota/HitCounter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...che/pinot/broker/queryquota/MaxHitRateTracker.java
0.00% <0.00%> (ø)

...ache/pinot/broker/queryquota/QueryQuotaEntity.java
0.00% <0.00%> (-50.00%)
:arrow_down:

...ker/routing/instanceselector/InstanceSelector.java
100.00% <ø> (ø)

...ceselector/StrictReplicaGroupInstanceSelector.java
0.00% <0.00%> (ø)

...roker/routing/segmentpruner/TimeSegmentPruner.java
0.00% <0.00%> (ø)

...roker/routing/segmentpruner/interval/Interval.java
0.00% <0.00%> (ø)

... and 1387 more

Continue to review full report at Codecov.

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


The azcopy elapsed time does not match the actual time (windows v8)

I am using azcopy to sync data, but I found that elapsed time does not match the actual time. Why is that?

Hi @zhengyiqun, thanks for reaching out!
There should only be a tiny difference between the two numbers, right? AzCopy starts the timer after having validated the arguments/flags.

Hi @zezha-msft
I downloaded a 127G VHD file, and the completion time is about 5 minutes away from the actual time. And the bigger the file, the bigger the difference

Closing since V8 is no longer being actively maintained. Please give V10 a try here, it's been GA for a bit of time now. Please don't hesitate if you encounter any issue.


Change Password

Idea
Users may have leaked their password online or just need to change it for a number of different reasons. There needs to be some endpoints for changing the user's password. The user must also be logged in to use this endpoint or else it would defeat the purpose immensely.
Todo

[x] Allow Users to Change Passwords
[x] Users can only change passwords if logged in
[x] Password cannot match existing password
[x] Endpoints

[x] Set Password

[x] Testing

[x] Set Password

Almost done- just need to do testing...


Harmony Setup

Setup harmony IP address, email, and password.  Don't see any activities.  What is the process to debug?  I see this error message in the logs:  Cannot get harmony client (Harmony) setup, Exiting with message: Failed to parse response from Logitech auth service

Are you using the latest version 3.5.1?
This was an issue (see #246) but was quickly patched

Upgrade to V3.5.1

I downloaded and installed on Saturday.
Thanks for getting back to me so quickly. I'll check when I'm home tonight. Thanks
Sent from my mobile phone

On Nov 22, 2016, at 6:10 AM, Sam Turner<EMAIL_ADDRESS>wrote:
Are you using the latest version 3.5.1?
This was an issue (see #246) but was quickly patched
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I checked and I downloaded 3.5.1.  However, oddly, when I am on the webinterface and click on "About" Ha-Bridge it says 3.2.2

You either have the previous version running or the startup script was not changed to call the new version.

Yea, it appears that somehow I pulled 3.2.  3.5.1 seems to have the harmony activities.  Thanks!


   21 seconds ago      Up 19 seconds      2375/tcp            objective_mcnulty

But could not get a container running nested inside objective_mcnulty:
[node1] (local<EMAIL_ADDRESS>~
$ docker exec -it objective_mcnulty /bin/sh
/ # docker run --privileged -d docker:dind
Unable to find image 'docker:dind' locally
dind: Pulling from library/docker
88286f41530e: Pull complete
61bf6059e353: Pull complete
0b539e28e9a6: Pull complete
ad3af5fe81b0: Pull complete
2bc3e53b54a0: Pull complete
2fdc1d8eb088: Pull complete
3d2bfa9e3965: Pull complete
3b5bc16f4c09: Pull complete
Digest: sha256:f7f89123cca4f27930c776ee24d8a4959ee8ca9ca20682bd6c680ed8db9ae5ea
Status: Downloaded newer image for docker:dind
eb05b99b34ca2f5ed8d8a0cc08ef231bd2bfb44b8bc4f012988fc12c6da0f949
docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "process_linux.go:339: container init caused \"rootfs_linux.go:57: mounting \\\"proc\\\" to rootfs \\\"/var/lib/docker/vfs/dir/f039f0e8935adaaa009899086ab983089ba096b2fdf6fefadccf621bf9dbae71\\\" at \\\"/proc\\\" caused \\\"permission denied\\\"\"".

That's because of the security profile used on Play-With-Docker to block some obvious security escalations. Unfortuntely, it means that it restricts a few things!


lrnwebcomponents theme element calls will have to be rewritten if in our core theme set

@lrnwebcomponents is hard coded into the way themes dynamically load. The theme would still most likely load successfully as a result of the wc-registry.json structure but still don't need a failed dynamic import.
Could symlink to it in what's pushed out but that might have issues on some static hosts. May just want an internal util that any reference to @lrnwebcomponents is rewritten to @haxtheweb. This was a 1 time aggressive break from a convention established in 2018 that hasn't made sense to our community ever since.

can't find any references to this left in the code base. Assuming this got cleaned up in move to haxtheweb namespace

found it; PHP side of things injects this and it'll only be for things that already are set as on save of a new theme (or just manifest at all) it should update


Double macro in cmd call (with < ) seems not supported

It seems that double macro in cmd file are not supported:
This works:
< ${TOP}/myApp/.cmd

$ tree-sitter parse --stat --quiet --scope source.epics.cmd temp.cmd

Total parses: 1; successful parses: 1; failed parses: 0; success percentage: 100.00%; average speed: 7006 bytes/ms

But this does not:
< ${TOP}/myApp/${cmdName}.cmd

$ tree-sitter parse --stat --quiet --scope source.epics.cmd temp.cmd
temp.cmd	   2.09 ms	  7340 bytes/ms	(ERROR [284, 25] - [284, 29])

Total parses: 1; successful parses: 0; failed parses: 1; success percentage: 0.00%; average speed: 7343 bytes/ms

Can you try this:
< "${TOP}/myApp/${cmdName}.cmd"

I think it may be that the macro is inside the argument, and tree-sitter gets confused and split the argument in two.


[master] release 0.2.1

Ⅰ. Describe what this PR did
[master] release 0.2.1
Ⅱ. Does this pull request fix one issue?
[master] release 0.2.1
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #421 into master will increase coverage by 0.09%.
The diff coverage is 69.23%.

@@             Coverage Diff              @@
##             master     #421      +/-   ##
============================================
+ Coverage     29.59%   29.68%   +0.09%
- Complexity      621      626       +5
============================================
  Files           175      176       +1
  Lines          6947     6962      +15
  Branches        844      848       +4
============================================
+ Hits           2056     2067      +11
- Misses         4676     4677       +1
- Partials        215      218       +3

Impacted Files
Coverage Δ
Complexity Δ

...java/com/alibaba/fescar/core/protocol/Version.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...aba/fescar/discovery/registry/RegistryFactory.java
53.33% <ø> (ø)
2 <0> (ø)
:arrow_down:

...car/discovery/loadbalance/AbstractLoadBalance.java
66.66% <ø> (+33.33%)
3 <0> (+1)
:arrow_up:

...scar/discovery/loadbalance/LoadBalanceFactory.java
40% <ø> (ø)
1 <0> (ø)
:arrow_down:

...r/discovery/registry/NacosRegistryServiceImpl.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...ar/discovery/registry/FileRegistryServiceImpl.java
56% <ø> (ø)
5 <0> (ø)
:arrow_down:

...com/alibaba/fescar/core/rpc/netty/RmRpcClient.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ibaba/fescar/core/rpc/netty/NettyClientConfig.java
40.62% <100%> (ø)
19 <1> (ø)
:arrow_down:

...escar/discovery/loadbalance/RandomLoadBalance.java
100% <100%> (ø)
2 <2> (?)

...com/alibaba/fescar/core/rpc/netty/TmRpcClient.java
24.24% <100%> (ø)
12 <0> (ø)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

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


⚠ Turnos 24x7 has degraded performance

In 5ad76ab, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 8077 ms

Resolved: Turnos 24x7 performance has improved in ee0955c.


Update to Flow v0.68

Summary:
This version of Flow erorrs on unknown properties. The builtin definitions do
not declare Symbol.asyncIterator, which is a Flow issue that I will fix.
I extended the error suppression comment to support versioned suppressions,
since this is only an error after 0.68.
Test Plan: flow
Reviewers: leeb
Subscribers:
Tasks:
Tags:

Coverage remained the same at 100.0% when pulling 2c71ab6f16443860218811f47298298c287413ea on samwgoldman:master into d8749416d8b06093b9f907143ec5937f49f8b90b on leebyron:master.

Thanks for updating this! The only flow issue is in the test, correct? This means the existing release should work with the latest flow version?

Yes, I think so.


Multiple queries on Many to Many relationship

I have the following Query:
      var results = await posts
        .Select(x => new PostModel {
          Id = x.Id,
          Approved = x.Approved,
          Tags = !x.PostTags.Any() ? null : x.PostTags.Select(y => new TagModel {
            Id = y.Tag.Id,
            Name = y.Tag.TagLocalizations.Where(z => z.LanguageCode == "en").Select(z => z.Name).FirstOrDefault()
          })
        }).ToListAsync();

When I check the debug console I see the following:
[22:20:42 Information] Microsoft.EntityFrameworkCore.Database.Command
Executed DbCommand (26ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
SELECT [x].[Id], [x].[Approved], CASE
    WHEN NOT ((
        SELECT CASE
            WHEN EXISTS (
                SELECT 1
                FROM [PostTags] AS [f0]
                WHERE [x].[Id] = [f0].[PostId])
            THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT)
        END
    ) = 1)
    THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT)
END
FROM [Posts] AS [x]

[22:20:43 Information] Microsoft.EntityFrameworkCore.Database.Command
Executed DbCommand (2ms) [Parameters=[@_outer_Id='?' (DbType = Int32)], CommandType='Text', CommandTimeout='30']
SELECT [y].[TagId] AS [Id]
FROM [PostTags] AS [y]
WHERE @_outer_Id = [y].[PostId]
[22:20:43 Information] Microsoft.EntityFrameworkCore.Database.Command
Executed DbCommand (1ms) [Parameters=[@_outer_Id='?' (DbType = Int32)], CommandType='Text', CommandTimeout='30']
SELECT [y].[TagId] AS [Id]
FROM [PostTags] AS [y]
WHERE @_outer_Id = [y].[PostId]
[22:20:43 Information] Microsoft.EntityFrameworkCore.Database.Command
Executed DbCommand (1ms) [Parameters=[@_outer_Id='?' (DbType = Int32)], CommandType='Text', CommandTimeout='30']
SELECT [y].[TagId] AS [Id]
FROM [PostTags] AS [y]
WHERE @_outer_Id = [y].[PostId]

Why the multiple commands:
SELECT [y].[TagId] AS [Id]
FROM [PostTags] AS [y]
WHERE @_outer_Id = [y].[PostId]

Is this supposed to happen?
Further technical details
EF Core version: 2.2
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: macOS 10.14.3
IDE: Visual Studio Code 1.32.1

#13132

@smitpatel to clean-up n+1 issues.

Duplicate of #13232


Fix bearings not connecting to tapered elements

Related to Issue #332

Codecov Report

Merging #351 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #351      +/-   ##
==========================================
+ Coverage   73.36%   73.39%   +0.02%
==========================================
  Files          14       14
  Lines        3630     3634       +4
==========================================
+ Hits         2663     2667       +4
  Misses        967      967

Impacted Files
Coverage Δ

ross/rotor_assembly.py
91.3% <100%> (+0.04%)
:arrow_up:

Continue to review full report at Codecov.

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


Custom directives with @else do not indent correctly

Template
Please write your blade template that occurs issues.
<x-app-layout>
    @admin
    Is HR
@else
    Is not HR
    @endadmin
</x-app-layout>

Context (Environment)

When using a custom directive with an @else, it does not indent correctly.  In my blade template above, it is removing the indenting between the @admin and @endadmin and moves the @else back so it isn't aligned with the open @admin.

write your environment

Custom directives should indent properly.  My code block above should look like this:
<x-app-layout>
    @admin
        Is HR
    @else
        Is not HR
    @endadmin
</x-app-layout>

Description

Any other informations

Custom directive support introduced at https://github.com/shufo/vscode-blade-formatter/releases/tag/v0.14.0
Thank you for your patience.


Show missing @required params as an error rather than a warning

You can control that in analysis_options.yaml:
analyzer:
  errors:
    missing_required_param: error

Analyzer, by default, only outputs errors as specified by the language and leave the rest as warnings, hints, or lints. As @a14n points out you can configure this for your project as you prefer.


RichTextAdapter types do not strictly match on blank template

Link to reproduction
https://github.com/joas8211/payload-editor-type-bug
To Reproduce
From scratch

Create project from blank template.
npx create-payload-app payload-editor-type-bug -t blank
Modify tsconfig.json to set strict to true.
Install and build.
yarn install && yarn build

Using reproduction repository

Clone the repository.
git clone https://github.com/joas8211/payload-editor-type-bug
Install and build.
yarn install && yarn build

Describe the Bug
When build is ran the following error is printed:
src/payload.config.ts:16:3 - error TS2322: Type 'RichTextAdapter<AdapterArguments>' is not assignable to type 'RichTextAdapter<unknown>'.

You can also see the error highlighted in VSCode. There also some other errors which are not strictly related to this issue.
Payload Version
2.0.0

Workaround
export default buildConfig({
  // ...
  editor: slateEditor({}) as RichTextAdapter,
  // ...
});

Reproduced, this will be fixed today :)


Aggregate data structure library

Rendered

As this RFC predates the RFC process proper, the discussion is in amaranth-lang/amaranth#693; see that issue for additional historical context.

Per previous discussion, this RFC is accepted.


[stdlib] Align behavior of generic NaN conversion to that of concrete types

Double.init(exactly: Float) checks that the converted value is "exact" by checking for equality. Therefore, NaN is never "exactly" converted.
Whether NaN should always or never be considered "exactly" NaN for the purposes of conversion has been discussed at some length. As @stephentyrone puts it, "Either behavior is weird to some people, but the current behavior is easier to explain: the initializer succeeds if the round-tripped value compares equal."
In #13782, I implemented generic floating-point conversion of NaN; that method checks for exactness by looking at the payload, which is inconsistent with the behavior of its concrete counterparts. This PR aligns the behavior for consistency.

@swift-ci please test


Option to ignore components in source viewer

 Issue by kesne
Tuesday Jun 28, 2016 at 22:53 GMT
Originally opened as https://github.com/storybooks/react-storybook-addon-info/issues/29

Sometimes, I have a wrapper around components to help their presentation, but they aren't relevant to source inspection. Would it make sense to add either a prop or some sort of array to define components you want to ignore?

 Comment by elisherer
Saturday Jan 28, 2017 at 19:43 GMT

#125

 Comment by Koleok
Tuesday Jan 17, 2017 at 04:06 GMT

I have a similar issue when using withProps from recompose which i do quite frequently. This actually makes the info addon sort of unusable for me, short of some heavy workaround that I find it hard to justify with deadlines pulsing in front of me haha.
However I love how it looks and the documentation it provides with a normal component so i would love to see a library level solution to this. If I can figure out a non-epic way to fix this I'll make a PR 💃

Will be fixed with #1147
We are moving the info into a panel.


docs: add troubleshooting case

No audio on Pi3 with balenaOS 64bits.
Change-type: patch
Signed-off-by: Tomás Migone<EMAIL_ADDRESS>

@balena-ci I self-certify!


NIFI-4181 CSVReader and CSVRecordSetWriter can be used by just explictly declaring their columns.

Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[✓] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[✓] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[✓] Has your PR been rebased against the latest commit within the target branch (typically master)?

[✓] Is your initial contribution a single, squashed commit?

For code changes:

[✓] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[✓] Have you written or updated unit tests to verify your changes?
[N/A] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[N/A] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[N/A] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[✓] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[N/A] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

@Wesley-Lawrence I definitely agree that having to build up an entire Avro schema can be a pain -- especially if you're not already familiar with Avro schemas. And I absolutely love that you saw something that can be improved and jumped in to improve the user experience! However, I am a bit concerned with the approach taken here because while it does scratch an itch, it does so only for CSV data and as a result isn't really consistent.
I would like to start a discussion on how we could perhaps handle this in a more generic way. My first thought is to actually provide an alternative implementation of the Schema Registry. Call it ExplicitStringFieldSchemaRegistry for lack of a better name (i'm suggesting calling it this for the sake of the discussion, not necessarily creating an implementation with this name). The idea here, though, is that there would be a new implementation of SchemaRegistry. In this new implementation you would add properties just like AvroSchemaRegistry. The name of the property would be the name of a schema. But the value, instead of an Avro Schema, would be a comma-separated list of column names, and all would be assumed to be Strings. This approach gives us a few different benefits.
First, it allows this same approach to be taken with other data formats (flat JSON, for example). Also, it keeps things consistent in terms of how we access the schema (we can still use the Schema Name property along with the Schema Registry). It also makes the CSV Reader more re-usable because we can use Expression Language to access the name of the schema, so a single CSV Reader can be used by many different processors spread throughout the flow.
What I would love to see at some point is a more powerful SchemaRegistry service that provides a Custom/Advanced UI for actually building schemas. I think this would be extremely powerful and useful and far easier to use. But I promise that I am the last person that you (or any user) wants building a UI :)
Any thoughts here?

@markap14 Good points. I actually considered adding a schema registry at first, but thought it might be too much for just making CSV in/out easier.
I think using schemas falls into two categories. Case A schemas are ones that someone uses all the time. Having a schema registry is great then, because it's consistently defined in a single place. Case B schemas are one-off scheams. Input or output is in some format a person doesn't typically use, and someone is just converting to-or-from a Case A often-used schema. In this case, the "Schema Text" property becomes really useful. Rather than cluttering your registry, you can just define the Case B on-off in a processor/service, and never think about it again.
To your point, I've only solved Case B, for CSV in/out. By adding a "ExplicitFieldSchemaRegistry" or "ColumnSchemaRegistry" (I think whatever this gets named, it's going to be ugly =P) we can tackle Case A for any type.
I think to do this completely properly, we should solve this for Case A and B, for any type.
So I personally think we should add a new schema registry for Case A, but I think we could also add some "Schema Format" property (defaulting to Avro) to SchemaRegistryService that informs processors how to interpret "Schema Text". That way, it's also easy to define Case B one-off schemas of any type.

@markap14 @mattyb149 Is there any other feedback you'd two like me to address?

@Wesley-Lawrence sorry - i must have missed the email that you'd commented on the PR. Sorry I didn't notice until now. So I think that what you're proposing here is that we should have a property named "Schema Text Format" on the readers/writers, in addition to "Schema Text", and the Schema Text Format would tell the service how to parse the "Schema Text." For example, there would be two options: "Avro" and "String Column Names". In addition to this, we could potentially also introduce a new Schema Registry as I described above. This means that for one-off types of schemas, such as when we have a CSV file and we only need to use the schema once, we don't have to go to the trouble of creating a Schema Registry and adding entries to it - we'd just set the column names (optionally using Expression Language) in the Reader. And we would add this capability to JSON, etc. as well.
Does that all sound accurate? Just want to make sure that we are on the same page here.

Yea, I think we're on the same page.

@Wesley-Lawrence I definitely think that's a reasonable approach. Sorry, just going through old PR's to make sure that I've followed up on everything. I like what's been outlined above.

While I think @markap14 and I agree on the correct long-term solution of adding a new "String Column Names" schema registry, I've never got around to taking on that task. Shifting priorities and all.
However, if you'd like to take the work in as-is @mattyb149 (maybe as a stepping stone to an eventual new schema registry), I'll update the PR for you.

@mattyb149 Looks like a lot has changed in the last 9 months.
The code I added here leveraged classes related to Schema registries, but those classes have been moved into a more Avro specific package (nifi-avro-record-utils), where the CSV stuff is still under a standard package (nifi-standard-record-utils). Looks like it'll take some work to abstract the schema-registry specific stuff away from Avro, so the CSV reader/writers can leverage it.
Sadly, I don't have the time to get back deep in NiFi right now, so I'm OK with closing this PR so a more updated solution can be worked on.


[TF-990] added ssr to header to fix the css loading bug

All right, The other solution I had in mind was to hide the CSS while it's loading, and then show it while it has already loaded and marked it as important in the stylesheet.
However, I was not so confident about this solution. Should I try this so that you can see what the code looks like?

incorrectly named my commit message, but what I meant was that I tried a CSS solution instead of an SSR-based solution. Kindly check the fixing lint error commit for all the changes I made.

Okay, let me try and solve it as per your suggestions


Using special characters in directory name breaks zip tools

Problem
I created a theme inside a two-word directory with the theme name such as: "Theme name - XXX [Master]" using the command slate theme "Theme name - XXX [Master]" and from what I could tell, it created the theme as normal. But when I then ran slate zip it killed the build process after [12:27:24] Finished 'zip' after with no built theme and no dist folder. I changed the theme's folder name to simply "theme" and it worked perfectly.
Perhaps there's some undocumented restriction on folder names or perhaps a bug.

@ConduciveMammal Could you please log this issue in the slate-tools repo?  From the issue template:

If it is related to the slate commands, perhaps the slate-cli repo or the slate-tools repos are a more appropriate spot to log your issue.

Sorry, Nathan. Yeah sure thing, I'll go post it now.


Allow dream.py to poll a file for prompts

Hi
A feature I would love would be the ability to keep dream open, and feed it through another process prompts, so it can run them when needed.
My aim is to make a discord bot, where the bot would give dream.py the prompt.
I'm not sure this can simply be done using stdin, and I would rather start the dream.py script manually rather then have the bot start it.
If this is implemented, a way to get as an output only the generated image path would be excellent for the discord bot

If you are on a linux or mac system, you can make dream.py read from standard input by passing "/dev/stdin" as the argument to --from_file, i.e.
python scripts/dream.py --from_file=/dev/stdin

You can do this as part of a pipeline:
echo "I dream of a genie with light brown hair" | python scripts/dream.py --from_file=/dev/stdin

This won't work on Windows, but I will jigger the script a bit so that passing "-" as the file path argument will open standard input on either Windows or Linux. This betrays my background as a Perl hacker.
However, a simple pipe may not work for you, and possibly you may need to create a named pipe. This will give you a file-like endpoint that you write to, which is attached in turn to another file-like endpoint that dream.py reads from. This is a Linux thing, but if you are on such a system there's an old but good introduction here: https://www.linuxjournal.com/article/2156 . If you need bidirectional communication you can create another named pipe that works in the opposite direction, and just redirect dream.py's standard output to it using the redirection operator (>).
I have no idea how you do this in Windows.
Let me know more about your bot requirements and I will try to help.

Thanks for the really detailed reply,
I didn't think --from-file would work with /dev/stdin, or a fifo pipe for that matter.
I will try it in a terminal with fifo pipes for stdin and stdout, and if this works, I'll make the bot using them.
I assume the --from_file input is reasonably safe to let people use (in a private server) without any major security issue, but let me know if there is a potential risk with it.
If the bot is a success, and if you are interested, I will gladly share its code, so it can be added to this repo.

Unfortunately, since you detect the end of the input file here https://github.com/lstein/stable-diffusion/blob/4f02b72c9ca464f53c0f7f23ee483f7a24b631ad/scripts/dream.py#L140
I would have to keep the file open, or have the code modified to keep listening


Fix noisy "could not locate libresolv" message.

Resolves #612.

LGTM, everything works as described in the https://github.com/criblio/appscope/issues/612#issuecomment-985088698  @jrcheli  feel free to merge it.
The only comment which I have: not particularly related to this Pull Request but to your comment:

we're talking about going in a direction where we wouldn't relay upon an external library for these dns functions at all... The thing being investigated by #508 Approach (3) would allow us to go this direction.

Can we create a separate issue with the implementation of scope internal libc? The scope internal libc solution was already mentioned while working on several items like e.g. #508, but as you mentioned it impacts DNS functions here (not related to the original GO issue).
With the separate issue, we can actually keep track of all the different scope code changes related to the introduction of scope internal libc, e.g. like memory management functions or DNS functions.

@michalbiesek Fantastic point about documenting all of the things we're hoping to get out of having our own libc...  @iapaddler created #667, which can act as the was to keep track of all different things we're trying to get out of a new libc library.
Merging.


End-to-end tests are unstable on CI

The intel-mac e2e tests were failing and in an attempt to unblock our wheel builds, I disabled them in https://github.com/rerun-io/rerun/pull/1853
In the commit before disabling the mac builds, the linux e2e were passing. You can see an example successful run here:

https://github.com/rerun-io/rerun/commit/3cd534ff0a13e38cb302f780afcfe0a693a7a9fd
https://github.com/rerun-io/rerun/actions/runs/4701577971/jobs/8337781980

However after landing the change to disable the tests, the linux tests are now failing as well:

https://github.com/rerun-io/rerun/commit/5dc9b61ef7a5f96a5edce3030ebc5314ef6e3b2d
https://github.com/rerun-io/rerun/actions/runs/4702053139/jobs/8338847034

Running the same commit locally runs fine.
The stack trace here hints at a shutdown race condition, I think related to the multi-processing test.
[2023-04-14T17:59:28Z INFO  rerun::run] Received first message.
31
thread 'msg_encoder' panicked at 'Main thread should still be alive: "SendError(..)"', crates/re_sdk_comms/src/buffered_client.rs:203:47
32
stack backtrace:
33
[2023-04-14T17:59:34Z INFO  rerun::run] Successfully ingested 20002 messages.
34
   0: rust_begin_unwind
35
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:575:5
36
   1: core::panicking::panic_fmt
37
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/panicking.rs:64:14
38
   2: core::result::unwrap_failed
39
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/result.rs:1791:5
40
   3: re_sdk_comms::buffered_client::msg_encode

If there's a regression here (which is unclear since I can't repro locally) this might be a candidate worth looking at: https://github.com/rerun-io/rerun/pull/1830

This workaround has at least hidden the issue: https://github.com/rerun-io/rerun/pull/1857
But I think we should leave this open until we've investigated a bit further. The fact that this did not produce the error that would have been expected is additionally concerning.


fix(runtime-mini): 保证created回调执行后observer可以正常执行

created 回调执行时，属性还没有改变时，执行队列还是空的，这时没有被设置为 null ，导致后续属性改变时，observer 只是添加到执行队列，而都不执行。

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.hzrong seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

麻烦管理者删除一下这个pr，有些流程搞错了，我这边后续重新提交。


change current route path without reloading

What problem does this feature solve?
when i create new form like 'order/new', after save, it's path should be 'order/1'
they use the same component, and i use dynamic copoment and tabpage to show it,
so in this multi pages app, i have to use whole url as component key, because when i open 'order/1' and 'order/2', it will show 2 tab pages.
so after save new item, how can i keep current component but the url can changed to 'order/1' without reloading?
What does the proposed API look like?
...

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.


resolve_binds_by_sym doesn't use current keyboard layout/variant

Already reported ? *

[X] I have searched the existing open and closed issues.

Regression?
Yes
System Info and Version
 System/Version info
Hyprland, built from branch makepkg at commit e4a26f4f1d9d30569b9e7e6c265fccfd42fa5d72  (dispatchers: allow leading whitespace in window parameter (8016)).
Date: Tue Oct 8 23:50:06 2024
Tag: v0.44.0-14-ge4a26f4f, commits: 5313
built against aquamarine 0.4.2

flags: (if any)

System Information:
System name: Linux
Node name: arch
Release: 6.11.2-zen1-1-zen
Version: #1 ZEN SMP PREEMPT_DYNAMIC Fri, 04 Oct 2024 21:51:07 +0000

GPU information:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3060 Ti Lite Hash Rate] [10de:2489] (rev a1) (prog-if 00 [VGA controller])
NVRM version: NVIDIA UNIX Open Kernel Module for x86_64  560.35.03  Release Build  (archlinux-builder@)

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

======Config-Start======

Config File: /home/luna/.config/hypr/debug.conf: Read Succeeded
input {
    kb_layout = us

    # kb_layout = us
    # kb_variant = dvorak

    ## Problems
    # keymaps are QWERTY
    # kb_layout = us,us
    # kb_variant = ,dvorak

    # keymaps are DVORAK
    # kb_layout = us,us
    # kb_variant = dvorak,

    # QWERTY keymaps still work in TH
    # kb_layout = us,th

    # QWERTY doesn't work
    # kb_layout = th,us

    # keymaps are DVORAK
    # kb_layout = us,th,us
    # kb_variant = dvorak,

    # keymaps are QWERTY
    # kb_layout = us,us,th
    # kb_variant = ,dvorak

    # QWERTY, DVORAK doesn't work
    # kb_layout = th,us,us
    # kb_variant = ,dvorak

    kb_options = grp:win_space_toggle,caps:ctrl_modifier
    resolve_binds_by_sym = true
}

source = ./keys.conf

source = ./dwindle.conf

source = ./desktop.conf
# vim: filetype=hyprlang

Config File: /home/luna/.config/hypr/keys.conf: Read Succeeded
$terminal = foot
$menu = rofi -show drun

$mod = SUPER

bind = $mod SHIFT, Q, killactive
bind = $mod SHIFT, E, exit

bind = $mod, RETURN, exec, $terminal
bind = $mod, D, exec, $menu
bind = $mod, C, exec, ~/.config/rofi/launchers/run_cmd.sh

bind = $mod SHIFT, C, exec, killall waybar;hyprctl dispatch exec waybar
bind = $mod, B, exec, killall -SIGUSR1 waybar

bind = $mod, M, fullscreen, 1
bind = $mod, F, fullscreen, 0
bind = $mod SHIFT, F, fullscreenstate, -1 2
bind = $mod, Z, togglefloating
bind = $mod, E, togglesplit

bind = $mod, 1, workspace, 1
bind = $mod, 2, workspace, 2
bind = $mod, 3, workspace, 3
bind = $mod, 4, workspace, 4
bind = $mod, 5, workspace, 5
bind = $mod, 6, workspace, 6
bind = $mod, 7, workspace, 7
bind = $mod, 8, workspace, 8
bind = $mod, 9, workspace, 9
bind = $mod, 0, workspace, 10

bind = $mod SHIFT, 1, movetoworkspacesilent, 1
bind = $mod SHIFT, 2, movetoworkspacesilent, 2
bind = $mod SHIFT, 3, movetoworkspacesilent, 3
bind = $mod SHIFT, 4, movetoworkspacesilent, 4
bind = $mod SHIFT, 5, movetoworkspacesilent, 5
bind = $mod SHIFT, 6, movetoworkspacesilent, 6
bind = $mod SHIFT, 7, movetoworkspacesilent, 7
bind = $mod SHIFT, 8, movetoworkspacesilent, 8
bind = $mod SHIFT, 9, movetoworkspacesilent, 9
bind = $mod SHIFT, 0, movetoworkspacesilent, 10

bind = $mod, S, togglespecialworkspace, magic
bind = $mod SHIFT, S, movetoworkspace, special:magic

bindm = $mod, mouse:272, movewindow
bindm = $mod, mouse:273, resizewindow
# vim: filetype=hyprlang

Config File: /home/luna/.config/hypr/dwindle.conf: Read Succeeded
# vim: filetype=hyprlang
general {
    layout = dwindle
}

dwindle {
    force_split = 2
    preserve_split = true
}

group {
    col.border_active = 0xFF000000
    col.border_inactive = 0xFF000000

    groupbar {
        font_size = 12
        height = 18
        col.active = 0xFF000000
        col.inactive = 0xFF000000
    }
}

bind = $mod, T, togglegroup

bind = $mod, left, movefocus, l
bind = $mod, right, movefocus, r
bind = $mod, up, movefocus, u
bind = $mod, down, movefocus, d
bind = $mod, H, movefocus, l
bind = $mod, L, movefocus, r
bind = $mod, K, movefocus, u
bind = $mod, J, movefocus, d

bind = $mod SHIFT, left, movewindow, l
bind = $mod SHIFT, right, movewindow, r
bind = $mod SHIFT, up, movewindow, u
bind = $mod SHIFT, down, movewindow, d
bind = $mod SHIFT, H, movewindow, l
bind = $mod SHIFT, L, movewindow, r
bind = $mod SHIFT, K, movewindow, u
bind = $mod SHIFT, J, movewindow, d

Config File: /home/luna/.config/hypr/desktop.conf: Read Succeeded
# vim: filetype=hyprlang
################
### MONITORS ###
################

monitor=,1920x1080@165.00Hz,0x0,1

####################
### NVIDIA STUFF ###
####################

# env = LIBVA_DRIVER_NAME,nvidia
# env = XDG_SESSION_TYPE,wayland
# env = GBM_BACKEND,nvidia-drm
# env = __GLX_VENDOR_LIBRARY_NAME,nvidia

# env = NVD_BACKEND,direct

cursor {
    # NOTE:
    # hardware cursor without allow_dumb_copy used to work
    # before Hyprland commit e6cf643f5ab1c1545fb858ab1fd9d7538ef9e0f3 if i'm not mistaken.

    # no_hardware_cursors = true # uncomment this if below has a problem.
    allow_dumb_copy = true # uncomment this if you want hardware cursor.
}

#############
### INPUT ###
#############

input {
    accel_profile = flat
}

======Config-End========

Description
After e0cfbec66b97edb2957508152f32e77a1b181afc
Using resolve_binds_by_sym = true with multiple kb layouts/variants, keymaps will use the first kb layout in the config to map keys instead of the current kb layout.
How to reproduce
Use version after e0cfbec66b97edb2957508152f32e77a1b181afc with resolve_binds_by_sym = true with multiple kb layouts/variants
input {
    resolve_binds_by_sym = true

    # keymaps are QWERTY
    kb_layout = us,us
    kb_variant = ,dvorak

    # keymaps are DVORAK
    kb_layout = us,us
    kb_variant = dvorak,

    # QWERTY keymaps still work in TH
    kb_layout = us,th

    # QWERTY doesn't work
    kb_layout = th,us

    # keymaps are DVORAK
    kb_layout = us,th,us
    kb_variant = dvorak,

    # keymaps are QWERTY
    kb_layout = us,us,th
    kb_variant = ,dvorak

    # QWERTY, DVORAK doesn't work
    kb_layout = th,us,us
    kb_variant = ,dvorak

    kb_options = grp:win_space_toggle,caps:ctrl_modifier
}

Crash reports, logs, images, videos
No response

patch.txt
try this pls


Set-NetConnectionProfile usage example does not work

The usage example for changing the network category of a connection profile ( Direct Link ) does not work. Tested on Windows 10 Enterprise 1903 & Windows Server 2019.
The commands referenced in the article are reproduced here:

PS C:\> $NetworkProfile = Get-NetConnectionProfile -InterfaceAlias Ethernet1

PS C:\> $NetworkProfile.NetworkCategory = Public

PS C:\> Set-NetConnectionProfile -InputObject $NetworkProfile

The usage example could be shorted to the following (functional) single-command.
PS C:\> Set-NetConnectionProfile -InterfaceAlias Ethernet1 -NetworkCategory "Public"

Thanks!

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

ID: 983029b7-7f55-a30a-b842-ef19a0f88e7c
Version Independent ID: 253ace06-2925-2ca8-4cb3-30d167678bfd
Content: Set-NetConnectionProfile (netconnection)
Content Source: docset/windows/netconnection/Set-NetConnectionProfile.md
Product: w10
Technology: powershell-windows
GitHub Login: @andreabarr
Microsoft Alias: v-anbarr

it will be unavailable after restart os


Make typings a @types/... package

The types are useful to any Atom users. It is good to make them an individual package so everyone can use them.

Feel free to extract and publish those if you want to maintain them. I'm perhaps a bit jaded after being roped into maintaining a few packages over the last 5 years, but I certainly don't want to take on any more.

Sure. atom-ide-ui types can directly go to @types/atom.
For atom-select-list, I might just release my package as atom-select-list-plus until someone merges that PR.
For others, we can have separate @types packages.

This is fixed in atom-ide-base. I will bring a PR.


ActiveRecord relation with multiple database connections.

I configured multiple database connections in console. Both databases are the same structure but different data.
For example: Table "orders":
In db1:

id
order_date

1
2017-10-21 00:00:00

In db2:

id
order_date

1
2018-11-21 01:02:03

Table "order_products":
In db1:

id
order_id
product_id

1
1
1

1
1
2

In db2:

id
order_id
product_id

1
1
3

Two models:

"Orders" model:
...
public functon getOrderProducts()
{
return $this->hasMany(OrderProducts::className(), ["order_id" => "id]);
}

OrderProducts model.

Test:
$order1 = Orders::find()->with("orderProducts")->where(["id" => 1])->one();
$order2 = Orders::find()->with("orderProducts")->where(["id" => 1])->one(Yii::$app->db2);
echo $order1->order_date." ".$order2->order_date."\n";
echo count($order1->orderProducts)." ".count($order2->orderProducts)."\n";
//output
//2017-10-21 00:00:00 2018-11-21 01:02:03
//2 2

On second query relation used default database instance.

Q
A

Yii version
2.0.12

PHP version
5.6.26

Operating system
MacOS Sierra 10.12.6

@shranet var_dump($order1->orderProducts, $order2->orderProducts) pls

@shranet
I think in you case db of OrderProducts gets from class definition

Code:
public function actionIndex($message = 'hello world')
{
    $order1 = Orders::find()->with("orderProducts")->where(["id" => 1])->one();

    echo "Default DB\n\n";
    print_r($order1->attributes);
    $this->printOrderProducts($order1->orderProducts);

    $order2 = Orders::find()->with("orderProducts")->where(["id" => 1])->one(Yii::$app->db2);

    echo "---------\nDb2\n\n";
    print_r($order2->attributes);
    $this->printOrderProducts($order2->orderProducts);

    echo "Db DSN: ".Yii::$app->db->dsn."\n";
    echo "Db2 DSN: ".Yii::$app->db2->dsn."\n";
}

private function printOrderProducts($list)
{
    echo "Order products\n";
    foreach($list as $n => $row) {
        print_r($row->attributes);
    }
}

Result:
Default DB

Array
(
    [id] => 1
    [order_date] => 2017-10-20
)
Order products
Array
(
    [id] => 1
    [id_order] => 1
    [id_product] => 1
)
Array
(
    [id] => 2
    [id_order] => 1
    [id_product] => 2
)
---------
Db2

Array
(
    [id] => 1
    [order_date] => 2018-11-22
)
Order products
Array
(
    [id] => 1
    [id_order] => 1
    [id_product] => 1
)
Array
(
    [id] => 2
    [id_order] => 1
    [id_product] => 2
)
Db DSN: pgsql:host=<IP_ADDRESS>;dbname=test1
Db2 DSN: pgsql:host=<IP_ADDRESS>;dbname=test2

SQL:
Database 1

CREATE TABLE orders (
    id serial,
    order_date date
);

CREATE TABLE order_products (
    id serial,
    id_order integer,
    id_product integer
);

INSERT INTO orders (id, order_date) VALUES (1, '2017-10-20')
INSERT INTO order_products(id, id_order, id_product) VALUES (1, 1, 1);
INSERT INTO order_products(id, id_order, id_product) VALUES (1, 1, 2);

Database 2

CREATE TABLE orders (
    id serial,
    order_date date
);

CREATE TABLE order_products (
    id serial,
    id_order integer,
    id_product integer
);

INSERT INTO orders (id, order_date) VALUES (1, '2017-11-22')
INSERT INTO order_products(id, id_order, id_product) VALUES (1, 1, 3);

The problem is, the second query relation returns database1 values!

@shranet what result is $order2->orderProducts[0]->getDb() ?
I think ff your use lazy load your $db for relation model gets from relation class definition, like this:
https://github.com/yiisoft/yii2/blob/ce65e24d1988f00e57ceaa7493632ee4f3aca776/framework/db/ActiveRecord.php#L126-L135

@shranet try it
...
    $order1 = Orders::find()->joinWith("orderProducts")->where(["id" => 1])->one();
...
    $order2 = Orders::find()->joinWith("orderProducts")->where(["id" => 1])->one(Yii::$app->db2);
...

$order2->orderProducts[0]->getDb()->dsn returns "pgsql:host=<IP_ADDRESS>;dbname=test1".
$order1 = Orders::find()->alias("t")->joinWith("orderProducts")->where(["t.id" => 1])->one();
$order2 = Orders::find()->alias("t")->joinWith("orderProducts")->where(["t.id" => 1])->one(Yii::$app->db2);

returns same result.
If I using this in OrderProduct,
 public static function getDb()
 {
     return Yii::$app->getDb();
 }

how I can detect Order ActiveRecord used db instance or db1?

Hm, so smart ActiveRecord... I think we see 2 different db and split query on 2 query. Or we have bug ^^
You can see query log? You can use mysql-proxy or some else?
So... You can try simple hardcore way:
class OrderProductDb2 extends OrderProduct {
 public static function getDb()
 {
     return Yii::$app->db2;
 }
}

class Orders{
...
 public function getOrderProductsDb2(){
return ...hasMany(OrderProductDb2::class ...
...
}
}

$order2 = Orders::find()->alias("t")->joinWith("orderProductsDb2")->where(["t.id" => 1])->one(Yii::$app->db2);

@shranet how about
var_dump(Orders::find()->alias("t")->joinWith("orderProductsDb2")->where(["t.id" => 1])->createCommand(Yii::$app->db2)->getRawSql() );

var_dump(Orders::find()->alias("t")->joinWith("orderProducts")->where(["t.id" => 1])->createCommand(Yii::$app->db2)->getRawSql() );

returns
'SELECT "t".* FROM "orders" "t" LEFT JOIN "order_products" ON "t"."id" = "order_products"."id_order" WHERE "t"."id"=1' (length=116)

SQL Log:

Query
Time

SELECT "t".*   As we can see in this query... Split on 2 independent query.
@samdark
interesting
$query->one($notnull)
    public function one($db = null)
    {
        if ($this->emulateExecution) {
            return false;
        }

        return $this->createCommand($db)->queryOne();
    }

difference logic of
$query->createCommand($notnull)->getRawSql()

?

On second query relation used default database instance.

this is expected, activerecord will always call static::getDb() for queries where you did not explicitly specify the database. If you want the relation from the other database, you have to specify it for that query too:
$order2 = Orders::find()->where(["id" => 1])->one(Yii::$app->db2);
$relatedItems = $order2->getOrderProducts()->all(Yii::$app->db2);

Its currently not possible to specify the database for queries in with. This is mainly because you can have relations defined over different databases, so the database used for the query of the original record is considered irrelevant for the relational query.

Won't be implemented in 2.0.


chore(endpoint/edge): small refactor and move endpoint status handler [EE-2710]

Closes EE-2710
Changes:

Rename endpointStatusInspect to endpointEdgeStatusInspect and move to endpointedge package.
Change URL from /endpoints/{id}/status to /endpoints/{id}/edge/status
Add private function to endpointEdgeStatusInspect for better code readability

/azp run

/azp run

/azp run

/azp run

/azp run

/azp run

/azp run


Custom metrics autoscaling

#310

expose worker-pool metrics from mothership and component reconcilers

I do not see where the runningWorkers are getting reduced, with the current implementation the function UpdateWorkerPoolOccupancy only gets used to increase the amount of active running workers, but it is not used to reduce it when the worker finished.
Please also implement it, that when workers of a component reconciler finishes its work, the running workers column gets updated (decrease amount of running workers) due to the respective workerPoolID.
In the case of the workerpool from the mothership, it gets updated each time, when a worker invokes using the current running goroutines of the pool. This works, but maybe can be challanged in the future, since the update that a worked is not running anymore relies on the invoke of another worker.

Thanks for pointing this out! I forgot to implement this 😅 I will implement it shortly 👍
In the case of the worker pool, I first had the idea to implement it in the assignWorker() method, which is called by the remote invoker. But to introduce the least overhead, I decided to do it when the worker-pool is looking for processable ops, especially because this call is happening regularly within a configurable interval. But this totally can be challenged in the future if this approach gives us trouble.

Great work!


[App Service] Manual source control syncing fails with unfriendly error

If you run the az appservice web source-control sync command against an app that isn't configure to use a remote repo, it fails with the following error, which doesn't really explain the issue:
Operation failed with status: 'Bad Request'. Details: 400 Client Error: Bad Request for url: https://management.azure.com/subscriptions/227e5d5d-9ecf-4d90-a747-95f50501343e/resourceGroups/demo-app-test/providers/Microsoft.Web/sites/demo-app-test/sync?api-version=2015-08-01.
It would be ideal if this clearly stated that the sync command can't be used and why, as opposed to just outputting the "raw" error.

I have hold on fixing such issues, and hoped webapp service team can make their error payload conform to arm's guideline, but after 4 months, nothing has happened yet. So I am giving up and fall back to client side workaround.


Bugfixes and inf updates to simpleaudio sample

Fixes few bugs in the simpleaudio sample and removes some dead code.
Adds examples to .inf file to set icons and name for the device. Also add missing example parameters to the registry.

@microsoft-github-policy-service agree company="Varjo Technologies"

Thank you for this contribution, I will make a PR internally to take the changes needed for the sample.


fix: Introducing shared dependencies for db wrappers

I'm just moving some duplicate code, responsible of doing the query search on existing documents, instead of duplicating this code in the database wrappers we know store it in @pluto-encrypted/shared and the database engines just import and use it.

:tada: This PR is included in version @pluto-encrypted/shared-v1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version @pluto-encrypted/shared-v1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version @pluto-encrypted/inmemory-v1.0.6 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version @pluto-encrypted/leveldb-v1.0.6 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version @pluto-encrypted/database-v1.0.11 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


JSON Schema Rewrite

Rewriting the JSON Schema generator to be more remote from the actual grammar

Tagging @hudson-ai for interest

Are you open to including enum types and objects with additionalProperties in this PR, or should those be saved for the next one?

May I also suggest changing collections.abc.Mapping[str, any], to collections.abc.Mapping[str, Any]? any is not a type, but Any from typing is :)

Also for 3.8, Mapping and MutableMapping should be imported from typing if you want to subscript them.

@hudson-ai thanks for the Python 3.8 warning :-/

A bit annoying, but I recommend something like this for the Mapping and MutableMapping interfaces:
import sys
if sys.version_info >= (3, 9, 0):
    from collections.abc import Mapping, MutableMapping
else:
    from typing import Mapping, MutableMapping

This is because as of 3.9, typing's versions are deprecated aliases to the abc ones and will be removed in future versions of python -- see https://docs.python.org/3/library/typing.html#typing.Mapping

@hudson-ai , my preference would be to drop Python 3.8....

Wholly fine by me -- I just wanted to give you something that would work
given your current testing workflows :)
On Thu, Feb 22, 2024, 6:06 PM Richard Edgar @.***>
wrote:

@hudson-ai https://github.com/hudson-ai , my preference would be to
drop Python 3.8....
—
Reply to this email directly, view it on GitHub
https://github.com/guidance-ai/guidance/pull/651#issuecomment-1960638224,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHCNMVRB2AU5R34BXLOKXDYU72S3AVCNFSM6AAAAABDVIIX5CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRQGYZTQMRSGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Haven't sorted it yet, but I added a few little comments. I thought my version was working, but I currently can't reproduce. I'll take a deeper look after work today if you haven't figured it out by then :)

The answer was closures. @riedgar-ms submitting a PR to your branch so you can see what I did.

@slundberg do you have thoughts on this? @hudson-ai  has submitted a PR to my fork which avoids the problem by using a Python closure to do lazy evaluation. However, I suspect that that is not going to serialise well. I have a feeling that the previous tweak proposed for Placeholder is going to be what is needed.
Can you comment on this?
Also, do you want to wait for that to be sorted before merging this? I could make my test case be an XFAIL while the exact update for Placeholder is figured out. If you are concerned about people picking up and using my wrong initial implementation, then this does need to merge reasonably quickly.

While closures can be a pain for serialization, there is no issue serializing the grammars generated using the approach in my PR (as far as I can tell). The code that generates the grammars has closures, but the grammars themselves don't.

@hudson-ai I've just tested your change with the example server in guidance, and it does serialise correctly. I've added a test which shows this

I feel I was mistaken thinking I ever got this working...
@slundberg can you advise on how to make the following pattern not infinitely recurse? This is a huge simplification of what we're trying to do here, but it has the same failure mode as far as I can tell.
@guidance(stateless=True)
def repeat(lm, arg):
   return lm + arg + select([repeat(arg), ''])

The following works just fine because of the placeholder business when a function has no args, but with args above, we get infinite recursion.
@guidance(stateless=True)
def repeat_x(lm):
   return lm + 'x' + select([repeat_x(), ''])

There is a cache argument in the decorator, but it doesn't seem to help. Any ideas?

Sorry to be slow here. Infinite recursion is avoided by caching the function calls, however as you point out we just avoid caching all together if the function has an argument. We do this because it is challenging to correctly (and efficiently) check for equality over arbitrary input arguments. Good idea with closures. The alternative would be to add some basic argument equality checking to the guidance function caching.

Sorry to be slow here. Infinite recursion is avoided by caching the function calls, however as you point out we just avoid caching all together if the function has an argument. We do this because it is challenging to correctly (and efficiently) check for equality over arbitrary input arguments. Good idea with closures. The alternative would be to add some basic argument equality checking to the guidance function caching (this would make writing these kinds of grammars easier in the future).

I think that adding more caching would be great, although this particular use-case wouldn't be very easy -- simply because the input is an un-hashable dictionary 😅
Off-topic to this PR -- will make an issue when I get the chance:
Maybe in the meantime, it would be nice to catch un-cached recursive calls and give users a nicer error that explains they are infinitely recursing because the current version of guidance only supports no-arg recursion? I only figured this out because I looked closely at the source code of the decorator. I doubt we want users to have to do that ;)

@slundberg were there any other changes you wanted to this PR? I think it's ready to merge.

Ping @slundberg .....

Ping @slundberg .....

Sorry was out there for a bit. On this now

@riedgar-ms I went ahead and merged this, but there seems to be an unrelated build error on the new macOS tests....might be worth looking into.


Added loading/saving of xml configuration for MultiCue

Added loading/saving of xml configuration for MultiCue

Thank you @seovchinnikov


cilium network policy

Checklist

[ ] Update changelog in CHANGELOG.md.
[ ] Make sure values.yaml and values.schema.json are valid.

Important: After this PR is tested and approved, ensure you "Squash and Merge" unless you are updating a subtree. The release automation in use on this repository relies on squashing, but git subtrees will be lost if squashed. This repo allows both, so you may need to change the merge type when merging.

Thanks for the help here, Nick. I'm going to close this one because starboard is deprecated and this is one more great reason folks should move to Trivy Operator :smile:


fix(ln): don't allow same preimage for sale twice

Mitigation for #1397.
TODO:

[x] Unit test

why this is a mitigation and not a full fix

We use the threshold encryption scheme as a blackbox and assume some minimal set of guarantees like keeping the plaintext secret from an adversary. Something we don't know about the scheme is if there is a way for an adversary, given a ciphertext c=Enc(p), to construct a c' that decrypts to a p'=Dec(c') such that the adversary can infer p from p'.
@joschisan already has a candidate scheme to fully fix the problem and also simplify the LN logic quite a bit at the same time (get rid of offers). But it still needs to be proven secure and implemented, which will probably take a bit.

@joschisan already has a candidate scheme

Looking forward to this!!!


Trivial syntax issues in structural/delly and heterogeneity/loh

Version info

bcbio version (bcbio_nextgen.py --version):
1.2.4
OS name and version (lsb_release -ds):
Debian unstable

To Reproduce
Exact bcbio command you have used:
cd tests
./run_tests.sh explant

Observed behavior
Error message or bcbio output:
/home/steffen/med/bcbio/bcbio/structural/delly.py:83
  /home/steffen/med/bcbio/bcbio/structural/delly.py:83: DeprecationWarning: invalid escape sequence \.
    cmd = ("bcftools view {bcf_file} | sed 's/\.,\.,\././' | bgzip -c > {tx_out_file}")

/home/steffen/med/bcbio/bcbio/heterogeneity/loh.py:325
  /home/steffen/med/bcbio/bcbio/heterogeneity/loh.py:325: SyntaxWarning: "is not" with a literal. Did you mean "!="?
    while c is not self.terminator and c is not "" and c not in _STOP_CHARS:

/home/steffen/med/bcbio/bcbio/heterogeneity/loh.py:356
  /home/steffen/med/bcbio/bcbio/heterogeneity/loh.py:356: SyntaxWarning: "is not" with a literal. Did you mean "!="?
    while c is not self.terminator and c is not "" and c not in _STOP_CHARS:

-- Docs: https://docs.pytest.org/en/latest/warnings.html

Thank you very much for posting these!