Make Show in table extendable

Codecov Report

Merging #732 into master will decrease coverage by 0.02%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##             master    #732      +/-   ##
===========================================
- Coverage     46.13%   46.1%   -0.03%
  Complexity     1567    1567
===========================================
  Files           115     115
  Lines          4548    4550       +2
===========================================
  Hits           2098    2098
- Misses         2450    2452       +2

Impacted Files
Coverage Δ
Complexity Δ

src/Model/OrderAttribute.php
0% <0%> (ø)
7 <0> (ø)
:arrow_down:

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 6a8746e...5adbfcf. Read the comment docs.

Thanks!


Failed to post new order: operation timed out

Just happened on regtest. The post order http request timed out.
[DEBUG] TIME: 2024-02-17T06:37:51.714612Z r: Pruning expired orders
[ERROR] TIME: 2024-02-17T06:37:51.714855Z r: Failed to post new order: error sending request for url (http://<IP_ADDRESS>/api/orderbook/orders): operation timed out: operation timed out order_id: 58c11fda-d6ea-4129-a962-875098d5ab65
[DEBUG] TIME: 2024-02-17T06:37:51.715370Z r: lightning::ln::channelmanager: Marking channels with 03507b924dae6595cfb78492489978127c5f1e3877848564de2015cd6d41375802 disconnected and generating channel_updates.
[DEBUG] TIME: 2024-02-17T06:37:51.715581Z r: Connection lost; reconnecting peer: 03507b924dae6595cfb78492489978127c5f1e3877848564de2015cd6d41375802@<IP_ADDRESS>:9045,reconnect_interval: 1s
[INFO] TIME: 2024-02-17T06:37:51.715634Z r: Updated order state new_state: Failed,order_id: 58c11fda-d6ea-4129-a962-875098d5ab65
[ERROR] TIME: 2024-02-17T06:37:51.716063Z Failed to submit order: FfiException(RESULT_ERROR, Failed to post order to orderbook: error sending request for url (http://<IP_ADDRESS>/api/orderbook/orders): operation timed out, null)

Not sure if this ERROR is part of this bug or something else. However it happened in the same milli second as the post order request timed out.
[ERROR] TIME: 2024-02-17T06:37:51.713745Z r: Failed to handle event: Trade request sent to coordinator for order 58c11fda-d6ea-4129-a962-875098d5ab65 failed: Could not load order from db: cannot acquire database connection: timed out waiting for connection

The good news is that this bug doesn't seem to block the user a lot. After the order times out (1 minute). The user is able to trade again. I was able to retry successfully.

Note, we might want to switch to an async response here as well, same as we did for the trade api.

I managed to reproduce this issue by adding a timeout here.
#[instrument(skip_all, err(Debug))]
pub async fn post_order(
    State(state): State<Arc<AppState>>,
    Json(new_order): Json<NewOrder>,
) -> Result<Json<Order>, AppError> {
    let (sender, mut receiver) = mpsc::channel::<Result<Order>>(1);

    let message = NewOrderMessage {
        new_order,
        order_reason: OrderReason::Manual,
        sender,
    };
    state.trading_sender.send(message).await.map_err(|e| {
        AppError::InternalServerError(format!("Failed to send new order message: {e:#}"))
    })?;

    thread::sleep(Duration::from_secs(10));

    let result = receiver
        .recv()
        .await
        .context("Failed to receive response from trading sender")
        .map_err(|e| AppError::InternalServerError(format!("{e:#}")))?;

    let order = result.map_err(|e| match e.downcast_ref() {
        Some(TradingError::InvalidOrder(reason)) => AppError::InvalidOrder(reason.to_string()),
        Some(TradingError::NoMatchFound(message)) => AppError::NoMatchFound(message.to_string()),
        _ => AppError::InternalServerError(format!("Failed to post order. Error: {e:#}")),
    })?;

    Ok(Json(order))
}

My theory is that it could happen that the the order is processed before we even start to listen on the receiver. If that happens the http request would never return because the receiver.recv().await will never finish.
Adding the 10 sec sleep in between forced that behaviour to happen and resulted into the exact same error logs on the app side like shown above and reported in the support ticket.
see below
flutter: [INFO] TIME: 2024-02-17T08:44:24.145138Z r: Received match from orderbook order_id: 12a540c9-83f2-4f40-8542-75a9d1ad0507
flutter: [ERROR] TIME: 2024-02-17T08:44:54.144741Z r: Failed to handle event: Trade request sent to coordinator for order 12a540c9-83f2-4f40-8542-75a9d1ad0507 failed: Could not load order from db: cannot acquire database connection: timed out waiting for connection
flutter: [DEBUG] TIME: 2024-02-17T08:44:54.145207Z r: Pruning expired orders
flutter: [TRACE] TIME: 2024-02-17T08:44:54.145376Z r: lightning_background_processor: Calling PeerManager's timer_tick_occurred
flutter: [ERROR] TIME: 2024-02-17T08:44:54.145560Z r: Failed to post new order: error sending request for url (http://<IP_ADDRESS>:8000/api/orderbook/orders): operation timed out: operation timed out order_id: 12a540c9-83f2-4f40-8542-75a9d1ad0507
flutter: [TRACE] TIME: 2024-02-17T08:44:54.145675Z r: lightning_background_processor: Rebroadcasting monitor's pending claims
flutter: [INFO] TIME: 2024-02-17T08:44:54.145791Z r: Updated order state new_state: Failed,order_id: 12a540c9-83f2-4f40-8542-75a9d1ad0507
flutter: [ERROR] TIME: 2024-02-17T08:44:54.156429Z Failed to submit order: FfiException(RESULT_ERROR, Failed to post order to orderbook: error sending request for url (http://<IP_ADDRESS>:8000/api/orderbook/orders): operation timed out, null)

My theory is that it could happen that the the order is processed before we even start to listen on the receiver. If that happens the http request would never return because the receiver.recv().await will never finish.
Adding the 10 sec sleep in between forced that behaviour to happen and resulted into the exact same error logs on the app side like shown above and reported in the support ticket.

Ok, it appears the message is still received even if the receiver is registered after the message is sent on the receive channel.
It looks like this is an issue on the client side. Probably some race conditions if the match is received before the http endpoint returns.
Note, it does not appear to be hanging anywhere.. also the logs from the support ticket show that the user received a match very quickly, but the http request seems not to get a response resp. process the response.

My analysis on the bug:
If we receive the order match (async via websockets) before the post_new_order http request has finished. We'd still hold the write lock on the order.
This leads to the order match processing to fail because of Could not load order from db: cannot acquire database connection: timed out waiting for connection.
When the post_new_order finally finishes the lock is freed up, but we are already stuck because we do not send the trade request anymore (since processing the match already failed)


Sentence has two key words swapped

Type of issue
Typo
Description
In the section for Delegates, the first sentence identifies IEnumerable for parameter then Object for Return, but reverses those two types in the second part.
For example, a delegate that has a parameter of type IEnumerable and a return type of Object can represent a method that has a parameter of type Object and a return value of type IEnumerable.
Page URL
https://learn.microsoft.com/en-us/dotnet/standard/base-types/common-type-system
Content source URL
https://github.com/dotnet/docs/blob/main/docs/standard/base-types/common-type-system.md
Document Version Independent Id
402b82b0-5037-9117-50ef-e2c10c9705a6
Article author
@adegeo
Metadata

ID: fa10fddf-a6ff-0b70-dc4d-94d1f9ac0f57
Product: dotnet-fundamentals

This is correct as written. The delegate parameter can be more restrictive than the method parameter, and the method return type can be more restrictive than the delegate return type.


too slow

how to fast it?

can you provide details about your setup? how large are the corpora, how much memory do you have (and is it using? is your disk swapping?)?
in general, increasing $batchsize is the way to increase throughput. the default is:
$batchsize = POSIX::ceil( sqrt($num_lines_for_bestword) );
there are other ways of reducing memory usage [namely, increase $mincount], in case your speed comment is actually about running out of memory and causing endless swapping.

[ closing due to inactivity ]


Fix windows paths

Signed-off-by: Justus Fluegel<EMAIL_ADDRESS>Closes #63

Hi @JustusFluegel , can you please try running the following to see if there's any error:
nx e2e typescript-resolver-files-e2e -c clean-run

Hi @JustusFluegel,
I have created https://github.com/eddeee888/graphql-code-generator-plugins/pull/67 based on your implementation in this PR.
Can you try this alpha version that should support Windows path please:
yarn add -D @eddeee888/gcg-typescript-resolver-files@pr67-run151-1

Then run codegen:
yarn graphql-codegen

Let me know if it works for you! 🙂

Implemented in https://github.com/eddeee888/graphql-code-generator-plugins/pull/67
Please use this instruction here to test.
The fix will be available in the next released version :)


Constraints on attributes in maximum_common_subobject

It would be nice to be able to provide additional information to maximum_common_subobject when we have attributes (i.e. what values they "ought" to take).
Consider the example where we're making the span for a DPO rule and we want to automatically generate the graph $I$, in this case we want to get the $I$ for the rewrite rule which moves tokens around when the infection event fires. We'd like to be able to tell maximum_common_subobject that we want sname to be :I in the common subobject to filter out the results somehow. This is helpful when making lots of rules programatically.
using Catlab, AlgebraicPetri, AlgebraicRewriting

# we want a PN with a marking
@present SchMarkedLabelledPetriNet <: SchLabelledPetriNet begin
    M::Ob
    m::Hom(M,S)
end

@acset_type MarkedLabelledPetriNet(SchMarkedLabelledPetriNet, index=[:it, :is, :ot, :os]) <: AbstractLabelledPetriNet

# an SIR model with birth and death
epiPN = @acset MarkedLabelledPetriNet{Symbol} begin
    S=3
    sname=[:S,:I,:R]
    T=6
    tname=[:inf,:rec,:birth,:deathS,:deathI,:deathR]
    I=6
    it=[1,1,2,4,5,6]
    is=[1,2,2,1,2,3]
    O=4
    ot=[1,1,2,3]
    os=[2,2,3,1]
end

L = @acset MarkedLabelledPetriNet{Symbol} begin
    S=2
    sname=[:S,:I]
    M=2
    m=[1,2]
end

R = @acset MarkedLabelledPetriNet{Symbol} begin
    S=1
    sname=[:I]
    M=2
    m=[1,1]
end

only(maximum_common_subobject([L,R]))[1]

we want sname to be :I in the common subobject

I don't know how to make sense of this as written, as there could be any number of S elements in the overlap ACSet, which you don't know ahead of time.
My first thought is that a boolean keyword argument could be added to control whether or not the apex of the overlap span should have only AttrVars or attributes. The former is the current behavior, which allows us to find common structure completely ignoring attribute values. The latter is the other extreme, requiring exact agreement on attribute values.
My second thought is that the rewrite rule that comes out of this will still work, even if there is an AttrVar in the intermediate I ACSet (with concrete :I attributes in the L and R ACSets).
While playing around with your example I noticed an unrelated issue with  maximum_common_subobject, where it can sometimes unexpectedly change the order of the feet of the resulting span, which I'll create a different issue for.

Hi @kris-brown thanks for checking this out!
Yes ignore that, it was poorly written. What I meant to say was that it would be nice to somehow be able to insist on exact agreement on attribute values in some cases, such that the span maximum_common_subobject returns would have an acset with sname = :I in this specific case.
Yeah, that idea sounds really good. Would it be possible to independently select from these two behaviors for each attribute?

Yeah! That would be the natural way of supporting intermediate options between the two extremes, kind of like how the monic keyword in hom search can be boolean or a vector of Ob symbols.

@kris-brown thanks! I am trying it out. Looks great! So, just to be clear, the default behavior when abstract is not given is as before, when giving abstract=false we insist on exact agreement of attribute values for all AttrTypes, and when we give a vector, those AttrTypes in the vector follow the previous behavior, and those not listed in the vector follow exaxt agreement on attribute behavior? Anyway, I think this is good to close.
julia> subobj = only(maximum_common_subobject([L,R], abstract=false))
julia> subobj[1]
MarkedLabelledPetriNet{Symbol} {T:0, S:1, I:0, O:0, M:1, Name:0}
┌───┬───────┐
│ S │ sname │
├───┼───────┤
│ 1 │     I │
└───┴───────┘
┌───┬───┐
│ M │ m │
├───┼───┤
│ 1 │ 1 │
└───┴───┘


Drop deployment workflows

I want to merge this change because...

Screenshots

Pull Request Checklist

[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] The changes are tested.
[ ] The code is documented (docstrings, project documentation).
[ ] Changes are mentioned in the changelog.

Test Environment Config

API_URI=https://qa.staging.saleor.cloud/graphql/

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


[feat][misc] PIP-264: Implement topic lookup metrics using OpenTelemetry

PIP-264
Motivation
Part of PIP-264 related work to convert metrics to OpenTelemetry format. This PR handles topic lookup metrics, as currently defined in the documentation.
Note that metric pulsar_broker_load_manager_bundle_assignment fits better into the Load Balancing metrics section, so is not included in this work.
Modifications
Added metrics as described below:

Old metric name
New metric details

pulsar_broker_lookup
Name
pulsar.broker.lookup.latency

Type
Histogram

Description
Lookup request latency

Source
Internal OpenTelemetry implementation

Attributes
(none)

Cardinality
1 per broker

pulsar_broker_lookup_redirects
Name
pulsar.broker.lookup.redirect

Type
LongCounter

Description
The number of lookup redirected requests

Source
Internal OpenTelemetry implementation

Attributes
(none)

Cardinality
1 per broker

pulsar_broker_lookup_answers
Name
pulsar.broker.lookup.answer

Type
LongCounter

Description
The number of lookup responses (i.e. not redirected requests)

Source
Internal OpenTelemetry implementation

Attributes
(none)

Cardinality
1 per broker

pulsar_broker_lookup_failures
Name
pulsar.broker.lookup.failure

Type
LongCounter

Description
The number of lookup failures

Source
Internal OpenTelemetry implementation

Attributes
(none)

Cardinality
1 per broker

pulsar_broker_lookup_pending_requests
Name
pulsar.broker.lookup.pending.request.usage

Type
ObservableLongGauge

Description
The number of pending lookup requests in the broker. When it reaches threshold "maxConcurrentLookupRequest" defined in broker.conf, new requests are rejected.

Source
Call to BrokerService#getPendingLookupRequest

Attributes
(none)

Cardinality
1 per broker

pulsar_broker_topic_load_pending_requests
Name
pulsar.broker.topic.load.pending.request.usage

Type
ObservableLongGauge

Description
The number of pending topic load operations in the broker. When it reaches threshold "maxConcurrentTopicLoadRequest" defined in broker.conf, new requests are rejected.

Source
Call to BrokerService#getPendingTopicLoadRequests

Attributes
(none)

Cardinality
1 per broker

Moved instantiation of PulsarBrokerOpenTelemetry object to PulsarService constructor, as it is needed by the NamespaceService and BrokerService. The OpenTelemetry standard recommends setting up the SDK as early as possible, so this suits us well.
Changed PulsarTestContext to allow OpenTelemetry metrics validation as part of the tests.
Verifying this change

[x] Make sure that the change passes the CI checks.

This change added tests and can be verified as follows:
(example:)

Extended existing lookup tests BrokerServiceLookupTest#testMultipleBrokerLookup and BrokerServiceLookupTest#testLookupConnectionNotCloseIfGetUnloadingExOrMetadataEx to cover the metric validation

Does this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[x] The metrics
[ ] Anything that affects deployment

Documentation

[ ] doc
[x] doc-required
[ ] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/dragosvictor/pulsar/pull/11

Codecov Report
Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (beed0cf) 73.71% compared to head (301603f) 73.56%.
Report is 2 commits behind head on master.

Additional details and impacted files

@@             Coverage Diff              @@
##             master   #22058      +/-   ##
============================================
- Coverage     73.71%   73.56%   -0.16%
+ Complexity    32116    32064      -52
============================================
  Files          1874     1875       +1
  Lines        139220   139260      +40
  Branches      15260    15260
============================================
- Hits         102628   102445     -183
- Misses        28695    28893     +198
- Partials       7897     7922      +25

Flag
Coverage Δ

inttests
24.70% <87.75%> (-0.14%)
:arrow_down:

systests
24.35% <81.63%> (-0.15%)
:arrow_down:

unittests
72.84% <93.87%> (-0.14%)
:arrow_down:

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

Files
Coverage Δ

...n/java/org/apache/pulsar/broker/PulsarService.java
83.13% <100.00%> (ø)

...ache/pulsar/broker/namespace/NamespaceService.java
73.03% <100.00%> (+0.79%)
:arrow_up:

...pulsar/broker/stats/PulsarBrokerOpenTelemetry.java
100.00% <100.00%> (+9.09%)
:arrow_up:

...che/pulsar/opentelemetry/OpenTelemetryService.java
92.00% <ø> (ø)

...va/org/apache/pulsar/common/stats/MetricsUtil.java
50.00% <50.00%> (ø)

...rg/apache/pulsar/broker/service/BrokerService.java
81.13% <88.23%> (+0.01%)
:arrow_up:

... and 78 files with indirect coverage changes

@dragosvictor Thanks.


"Toggle comment" undesirable behaviour

Take any 3 consecutive lines of code (1, 2, & 3)
Place cursor at start of line 1.
Use keyboard (Shift Down-arrow) or mouse (click & drag down) to highlight lines 1 & 2 fully. Cursor is now at beginning of line 3.
Press Ctrl-K or Edit/Toggle comment
Expected: lines 1 & 2 commented out with # at start of each line (as these lines only, are highlighted)
Actual: lines 1, 2 & 3 commented out with # at start of each line
IMO this can create an unwanted comment-out line of code, often going unnoticed.
Note: if lines 1 & 2 are partially selected, then only lines 1 & 2 are commented-out.
I suggest my "expected" behaviour above, should be the actual, as per other code editors with a similar feature.

I'm almost sure I saw an issue about this already, but I can't find it anymore :D If someone finds it, the least descriptive one could be closed as a duplicate of the other.

@akien-mga You might be thinking of #3803

Indeed, thanks. I can't tell if it's exactly a duplicate, but it could be that fixing this bug will fix the other if they have a similar cause in the selection mechanism.

I thought about applying the same rule to the first selected line, so if the selection starts in the last column (no text selected in that line) it wouldn't comment that line either. However, IntelliJ IDEA seem to comment that line anyway, so it may be the expected result. Thoughts?
@akien-mga @Paulb23 I don't think the issues are related, though maybe both can be fixed in a similar way.

I just tested this behaviour and fixing (if it is really undesirable) was simple.
After this line in script_editor_plugin.cpp, I just added:
int column_end = tx->get_selection_to_column();
if(column_end == 0) {
    // We're at the very beginning of the last selected line
    end -= 1;
}

@neikeq SublimeText works this way. It ignores the last selected line if the cursor is at the beginning.

@luiz-pv9 after decreasing end by 1 it should check if begin is greater than end, and do single line comment if true (like when there is no selection active). Otherwise it would result in nothing commented.
Regarding my question about other editors, I meant the column the selection starts from :P

Oh, I see. That makes sense.
Regarding the begin > end check, I don't think it's necessary. The code I posted is already inside an if that checks if a selection exists (else do a single line comment). So it only decrements end if a selection exists and ends in the first column of a line.

Oh, never mind... I got confused because I was also increasing begin by 1 if no text was selected in that line. Fine then, feel free to open a PR :)

@neikeq I finally see what you mean - sorry, slow day. If the selection starts at the end of a line where no text is selected, that line should not be commented. Correct me if I'm wrong, but it seems that the editor already "fixes" it by pushing the selection and cursor to the next line, not allowing a line with an empty selection.

Put cursor at the end of a line
Hold shift
Press down

The selection starts on the next line.
Anyway... thanks for the patience, this is my first time exploring godot's source. I'll send a pull request with a simple fix and we can improve from that.

Actually the editor seems to include that first line with no text selected. But, as mentioned above, I think that's fine since IntelliJ IDEA has the same behaviour (I couldn't test with any other editors), so your changes should be enough.

Missed the discussion but thanks. Actually #3803, while unrelated does remind me that this toggle-comment action also creates multiple undo steps which is pretty tedious (and while undoing, even leaves your code temporarily in a state it was never in). Might open another issue for that.


Make Taipy GUI search and run local on_init(state) functions

Description
At the time Taipy is just searching and running the global on_init(state) function which is not very handy, because you have to manually import and call an local on_init function in the local page code.
Furthermore the code is only run once and gets the state id "global".  So when Taipy starts the on_init function is called once and it makes absolutely no sense to forward the state object to the call of the local on_init function like mentioned in the docs, because it isn't the state of the new user session/connection but stays always the global state.
Solution Proposed
I would propose to call a function on_init(state) in each local module which would give the user the possibility to start e.g. data aquisition threads when a new connection opens up. Very useful could also be a standard variable bound to the state object to query if the connection is still alive. This would be great for ending such data aquisition threads when the user disconnects.
Impact of Solution
none
Additional Context
none
Acceptance Criteria

[ ] Ensure new code is unit tested, and check code coverage is at least 90%.
[ ] Create related issue in taipy-doc for documentation and Release Notes.
[ ] Check if a new demo could be provided based on this, or if legacy demos could be benefit from it.
[ ] Ensure any change is well documented.

Code of Conduct

[X] I have checked the existing issues.
[ ] I am willing to work on this issue (optional)

How is it not called for each new state? It should. Otherwise, I like the idea but I am not sure how to decide which on_init should be called first if you have multiple ones. It should create some issues

Would you care to share some reproduction code for the global state issue?

Isn't this issue covered by Page Modules?

Hi @cheak1974,
Taipy on_init function is designed to run only once only and executed by the main module. We have come up with another function that is available in Taipy GUI 4.0.0 which is called on_page_load that would be executed every time the page is loaded up on the browser. This function can also be used by other page modules so it should cover what you need. Please have a look at the example below.
Example 1: single page demo
# A simple temparature converter to demonstrate how to use the on_page_load

from taipy.gui import Gui

c_temp = 0
f_temp = 0

# reset the c_temp to 20 whenever the page is loaded/reloaded on the browser
# the f_temp will also be reseted due to the on_change function
def on_page_load(state):
    print("reseting c_temp to 20")
    state.c_temp = 20

def on_change(state, var_name, value):
    if var_name == 'c_temp':
        state.f_temp = value * 9/5 + 32

# The on_navigate function on paper can be used similarly to the on_page_load
# as it is called whenever the page is navigated/loaded/reloaded and can be used
# on multiple page modules. But it should be used only for directing navigation.
# The on_navigate function is called just before the on_page_load function
def on_navigate(state, page_name):
    print("navigating to page:", page_name)
    return page_name

page_md = """
# Temperature Converter

The temperature in Celcius: <|{c_temp}|number|>

The temperature in Fahrenheit: <|{f_temp:.1f}|>
"""

Gui(page_md).run()

Example 2: multiple page modules
from taipy.gui import Gui

from page_fahrenheit import page as page1

c_temp = 0
f_temp = 0

def on_page_load(state):
    state.c_temp = 20

def on_change(state, var_name, value):
    if var_name == 'c_temp':
        state.f_temp = value * 9/5 + 32

page_md = """
# Temperature Converter Celcius to Fahrenheit

The temperature in Celcius: <|{c_temp}|number|>

The temperature in Fahrenheit: <|{f_temp:.1f}|>
"""

pages = {
    "celcius": page_md,
    "fahrenheit": page1,
}

Gui("<|navbar|>", pages).run()

from taipy.gui import Markdown

c_temp = 0
f_temp = 0

def on_page_load(state):
    state.f_temp = 68

def on_change(state, var_name, value):
    if var_name == 'f_temp':
        state.c_temp = (value - 32) * 5/9

page_md = """
# Temperature Converter Fahrenheit to Celcius

The temperature in Fahrenheit: <|{f_temp}|number|>

The temperature in Celcius: <|{c_temp:.1f}|>
"""

page = Markdown(page_md)

I will proceed to close this issue. If you have any question/problem, you can reopen this issue or contact me directly through<EMAIL_ADDRESS>


Going on vacation

The latest Gfx redesign has been the most complicated upgrade so far, but I think it has been worth it.
We have finally got fixed the color space issues in gfx_graphics, so piston_window 0.37.0 should work. Still, there is a lot work to do, and the ecosystem is not in the shape I hoped it would be.
However, now I definitely need a break, and it's the window holiday where I live. Will be back in a week!

Thanks for your work on adapting to the latest gfx updates @bvssvni! Enjoy your well-deserved break :+1:

Have a nice vacation! :heart:

It was nice!


Clean up Leaked ClusterRole Resources

Previously we had leaking cluster roles in the seed clusters
extensions.gardener.cloud:{{ .Values.providerName }}:{{ .Release.Namespace }}:machine-controller-manager

It was fixed for newly created shoots with https://github.com/gardener/gardener-extensions/pull/378, but a clean-up logic to delete the orphaned cluster roles was not implemented.
Note, there is a logic for the deletion of every chart resource, but it relies that the template contains the real name of the resource with properly evaluated place holders, which is not the case for the machine-controller-manager Cluster Role:
https://github.com/gardener/gardener/blob/de93728c2e1aaca721f73c01dbadb232f9d5f861/pkg/utils/chart/chart.go#L124-L157

/assign


Adds the descoteaux 2007 convention.

Based on https://github.com/dipy/dipy/blob/master/dipy/reconst/shm.py#L427-L430

Also, see equation 3 in https://onlinelibrary.wiley.com/doi/10.1002/mrm.21277


When SPDM requester uses libspdm_aead_encryption/decryption(), where is secured_message_context->secured_message_version copied from

When debugging, we had a need to temporarily print out the parameters used when calling libspdm_aead_encryption() and libspdm_aead_decryption().  I noticed secured_message_context->secured_message_version was always 0 even though the messages clearly used 0x10.
    result = libspdm_aead_encryption(
        secured_message_context->secured_message_version,
        secured_message_context->aead_cipher_suite, key,
        aead_key_size, salt, aead_iv_size, (uint8_t *)a_data,
        record_header_size, dec_msg, cipher_text_size, tag,
        aead_tag_size, enc_msg, &cipher_text_size);

And
    result = libspdm_aead_decryption(
        secured_message_context->secured_message_version,
        secured_message_context->aead_cipher_suite, key,
        aead_key_size, salt, aead_iv_size, a_data,
        record_header_size, enc_msg, cipher_text_size, tag,
        aead_tag_size, dec_msg, &cipher_text_size);

Walking through the code, I can see libspdm_try_send_receive_key_exchange() calling libspdm_assign_session_id(spdm_context), down into libspdm_session_info_init(), and this attempts to initialize secured_message_context->secured_message_version, but using spdm_context->connection_info.secured_message_version.
libspdm_secured_message_set_algorithms(
    session_info->secured_message_context,
    spdm_context->connection_info.version,
    spdm_context->connection_info.secured_message_version,
    spdm_context->connection_info.algorithm.base_hash_algo,
    spdm_context->connection_info.algorithm.dhe_named_group,
    spdm_context->connection_info.algorithm.aead_cipher_suite,
    spdm_context->connection_info.algorithm.key_schedule);

When I tried to find the location that spdm_context->connection_info.secured_message_version was initialized from, I could not find its source.  There were limited references to connection_info.secured_message_version outside the unit test code:

libspdm_set_data(), which would be used by the application and isn't specified in the manual section as a required step
libspdm_get_data(), which doesn't set the value
libspdm_process_opaque_data_supported_version_data(), which is only used by responder code for handling KEY_EXCHANGE but does set the value
libspdm_build_opaque_data_version_selection_data(), which only reads the value to build part of the KEY_EXCHANGE message

So my question really boils down to, where is spdm_context->connection_info.secured_message_version initialized from?
My current analysis shows spdm_context->connection_info.secured_message_version isn't ever initialized beyond 0, let alone to the value used in the KEY_EXCHANGE message.  Is this correct?
If this is correct, the behavior isn't a problem now, but it will be a problem once the libspdm_aead_encryption/decryption() functions need to support multiple versions within the opaque data.

@jcahill0, It is a bug, please help to review the PR.

Ideally, responder's libspdm_process_opaque_data_supported_version_data() and requester's libspdm_process_opaque_data_version_selection_data() should set spdm_context->connection_info.secured_message_version, before libspdm_assign_session_id().


fix: Default retention to null

Description
The default retention should not be set if the user is sending null. For example, if the backup policy is managed via the AWS Backup Organization policy all the retentions will be managed via the backup policy and setting the retention policy at the instance/cluster level would cause an error mentioned below:
╷
│ Error: updating RDS Cluster (mydb-aurora-postgresql): InvalidParameterValue: RDS cluster mydb-aurora-postgresql is associated with the following AwsBackupRecoveryPointArn: arn:aws:backup:eu-central-1:123412341234:recovery-point:continuous:cluster-xxxxxxx. The BackupRetentionPeriod can be blank, or you can use the current value,15. For more details, see the AWS Backup documentation.
│ 	status code: 400, request id: 0050d544-de9e-4afd-abda-4e4287ef9a4b │
│   with module.mydb[0].module.aurora_database[0].module.rds_aurora.aws_rds_cluster.this[0],
│   on .terraform/modules/mydb.aurora_database.rds_aurora/main.tf line 59, in resource "aws_rds_cluster" "this":
│   59: resource "aws_rds_cluster" "this" {
│
Motivation and Context

This change would allow the users to omit any value for the retention period to allow AWS Backup attached policy to manage the cluster backup retention period.
Breaking Changes

This will be breaking change if the user was using the module without providing any backup retention period and was relying on the given default.
How Has This Been Tested?

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[ ] I have tested and validated these changes using one or more of the provided examples/* projects

[ ] I have executed pre-commit run -a on my pull request

this is a breaking change so we will put it on hold until the next breaking change

This issue has been resolved in version 9.0.0 :tada:


Clear invalid props

The member mDrawConstraintSize of VehicleConstraintSettings is not valid for Wasm, as there is no debug renderer and it is not exposed in IDL.

Thanks!


Fix patch script compatibility

Fix some compatibility issues in the patch script

for best compatibility we use #!/bin/sh for the shebang, because some systems do not have /bin/bash, e.g. alpine linux, freebsd, nixos
in the shebang we use -eu as per convention to catch typos and errors
for best compatibility we use posix shell syntax "[ ]" instead of bash syntax "[[ ]]"
no need to dry run check. git apply already runs check before applying
no need to use -p1. git apply already does it

@fufexan wanna verify this too?


Improvements in code-coverage.

Basic improvements in code coverage.
Fixed possible bug in d784c70 with Debugger config.

If you follow the Travis CI details link you should see that one test is failing. Does it pass for you locally ?

Fixed this issue

Yeah, it passed locally, but it's about a Stub dummy creation something like "Stub" and locally it always created "Stub0" and in travis number was another, my bad.

Just for your information I just added some minor fixes on top of your work (https://github.com/crysalead/kahlan/commit/bd748d41275f35560c29c6eb86ec222bfa9a1d37)

fixes some minor typo
fixes DummyClass patcher core specs instead according to your spec
removed spec/suite/reporter/VerboseSpec.php since there was no spec in
removed Debugger::config() method since it has been deprecated

You are welcome


cluster migrate-domain and change certificate in one step

It would be great if the flynn cluster migrate-domain command had some extra options like --tls-cert and --tls-key that would switch out the default cert and reconfigure the endpoints to use that cert instead of adding a new self-signed one.

Flynn is unmaintained and our infrastructure will shut down on June 1, 2021. See the README for details.


Missing images in Expression Import Service user guide

https://docs.patricbrc.org//user_guides/services/expression_data_import_service.html

Fixed.


Lengthy blocking in outputStream.write at RtpSocketTcp sendTCP

We're using RtspDisplay to stream video (no audio) from mobile devices to local Wowza streaming engine server. Occasionally outputStream.write would seemingly block for a lengthy period of time, causing hiccups during streaming. We do not notice this issue when using Wowza's goCoder SDK, so my guess is it's not a problem on the server.
Wondering what may cause this and how do we resolve it?

device model and API version?
I need check it and try reproduce.
For now, try with different resolutions and video bitrate.

It seem to occur on all devices I've tested: HTC One A9, Motorola Nexus 6, Galaxy S9 Edge, and Vuzix m300. Our target is only the Vuzix m300 smart glasses, the other devices are just for sanity checks.
minSdkVersion 23
targetSdkVersion 27
Lowering resolution and bitrate (much, much lower) does seem to reduce the issue. Minor hiccup seem to occur still but I didn't see similar blocking outputStream.write when profiling.

Maybe it isn't your problem but remember MediaProjection doesn't render surface all time only when any change in the screen happens.
Read this issue and emulate solution:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/issues/63
Also other solution could be use UDP stream, anyway I will check it.

We have a camera preview (and some extra graphics on top) so MediaProjection does render all the time.
I did try UDP stream and it doesn't seem to work, but it could be server configuration problem. I';ll need to look into that. Just to be clear, does RTSP + UDP is expected to work with Wowza streaming engine? (Probably a simple question but I'm new to all of this).

Yes, UDP should work. I did a test and it is working with wowza server.
Please let me know parameters used in audio and video to reproduce your case more easy, I will do it in the next days.

The parameters are as follows. We do not use audio. Thanks for looking into this.
mRtspDisplay.disableAudio();
mRtspDisplay.setForce(CodecUtil.Force.HARDWARE, CodecUtil.Force.FIRST_COMPATIBLE_FOUND);
mRtspDisplay.prepareVideo(1920, 1080, 30, 8192000, 0, 320)
OR:
mRtspDisplay.prepareVideo(1280, 720, 30, 3640889, 0, 320)

I was doing multiple test and no problem in sendTCP method.
I did tests with 4k resolution in RTSP and 10Mb bitrate in local server working(with a S7 using camera2). Of course I tested your config with rtsp display mode and I see low framerate (fps). I think it is your problem, right?
Maybe you mean other thing with "hiccups" but I understand low fps. If not let me know it.
My conclusion with this result is that the problem is MediaProjection performance because sendTCP is working with more bitrate and resolution.
outputstream.write block is the time that your device need to send a frame to server, this depend of your network card, cpu, bandwith and frame size (size increase with bitrate), bu in this case I think "hiccups" is because MediaProjection can't render surface with a good frame rate.
For now, I can recommend you this:

You are using high bitrate. If you want use 1080p and 720p this should be good: 1280x720(resolution) -> 800 * 1024(bitrate)
1920x1080(resolution) -> 2500 * 1024(bitrate)

MediaProjection maybe is bad with high resolution so test with 480p and contemplate if this quality is good for you. In this resolution you can use bitrate like: 600 * 1024 with good results.

Increase dpi to get more quality. I tested with 720 dpi and you can see so much difference (of course it depend of you device screen dpi).

I will investigate more about MediaProjection and performance of it to know if I can do something.

Thanks for looking into this. I've just shared a googledrive video showing the hiccup problem to your email address. It's not low framerate, the framerate is okay but we get occasional freezes. I am currently doing more investigations and test your recommendations, I'll update you soon.


Using dotted notes in TimeBase

According to the wiki, we should be able to  add a "." to a notation to specify a dotted note, like "8n." for an dotted-eigth note, but when I try to use it in Time.add or pass it to a TimeBase, I get an exception that says:
Tone.TimeBase("8n.");

SyntaxError: Tone.TimeBase: Unexpected token .
    at getNextToken (http://localhost:8100/build/vendor.js:110566:20)
    at Tone.TimeBase._tokenize (http://localhost:8100/build/vendor.js:110539:26)
    at Tone.TimeBase._parseExprString (http://localhost:8100/build/vendor.js:110679:27)
    at Tone.TimeBase.set (http://localhost:8100/build/vendor.js:110370:28)
    at new Tone.TimeBase (http://localhost:8100/build/vendor.js:110353:23)
    at Function.Tone.TimeBase (http://localhost:8100/build/vendor.js:110359:21)
    at http://localhost:8100/build/main.js:258:79
    at Array.forEach (<anonymous>)
    at TonePage.webpackJsonp.100.TonePage.setupPart (http://localhost:8100/build/main.js:246:20)
    at TonePage.webpackJsonp.100.TonePage.toggleDot (http://localhost:8100/build/main.js:106:14)

Is there something I'm missing?

Looks like I was simply using an old version, it's fixed with the latest from npm.


++ WIP set_phasors()

Currently failing because I cannot access non-constant reference to the Beamformer 'worker' to call the modifying setPhasors() on:
../tests/pipelines/ata/mode_b.cc: In function ‘bool blade_set_phasors(void*, bool)’:
../tests/pipelines/ata/mode_b.cc:81:5: error: passing ‘const Blade::Pipelines::ATA::ModeB<std::complex<__half> >’ as ‘this’ argument discards qualifiers [-fpermissive]
   81 |     ) == Result::SUCCESS;
      |     ^
In file included from ../tests/pipelines/ata/mode_b.cc:6:
../include/blade/pipelines/ata/mode_b.hh:54:12: note:   in call to ‘Blade::Result Blade::Pipelines::ATA::ModeB<OT>::setPhasors(const Blade::Vector<Blade::Device::CPU, std::complex<float> >&, bool) [with OT = std::complex<__half>]’
   54 |     Result setPhasors(const Vector<Device::CPU, CF32>& phasors, const bool block = false);
      |            ^~~~~~~~~~
ninja: build stopped: subcommand failed.

Commit with the changes: 8c5b0ab213412f48ce81153ebe0353b0ae71f865


Included new statuses

Signed-off-by: hemahg<EMAIL_ADDRESS>
Description
There are 3 new statuses suspending, suspended, and resuming supported by the backend but not included in the open API. The PR includes the new statues
Verification Steps

Checklist (Definition of Done)

[ ] All acceptance criteria specified in JIRA have been completed
[ ] Unit and integration tests added that prove the fix is effective or the feature works (tested against emulated and non-emulated OCM environment)
[ ] Documentation added for the feature
[ ] CI and all relevant tests are passing
[ ] Code Review completed
[ ] Verified independently by reviewer
[ ] All PR comments are resolved either by addressing them or creating follow up tasks
[ ] Required metrics/dashboards/alerts have been added (or PR created).
[ ] Required Standard Operating Procedure (SOP) is added.
[ ] JIRA has been created for changes required on the client side

@pawelpaszki please review the PR

please run make openapi/generate. any change in the openapi spec requires this command to be executed to generate other api dependencies

the change looks good now. thanks. rebase is required though


PR - for FfDL Integration With H2O.ai

Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

Hello Tommy and Animesh,
Dropping the PR for H2O + FfDL integration. Feel free to add any comments/changes necessary and I will make them happen.
Thanks,
Nicholas

@Tomcli
The Makefile changes were an accident, didn't realize I had pushed those. I was experimenting. Good catch.
Also, edited the Readme to contain the s3 links to higgs dataset.

@Tomcli
Hi Tommy,
Minor change to defaults of manifest-h2o.yml, also added change to the README.md making a suggestion as to the memory allocation required to run H2O.

Thanks @nkpng2k, Looks very good to me. 👍


Word ladder ii

The most difficult one for me so far.

Coverage remained the same at 100.0% when pulling b116566b8672ba05f192486a459c271f6f8562f6 on word-ladder-ii into 9dd75bdb6b28a1b336d5edc16a12f94b450339c4 on master.


Chinese random code

The default Roboto font doesn't seem to support chine alphabet.
Please switch to a font that supports Chinese characters.

Thank you
Changing Fonts is effective

hi @aixi2494 i have the same problem but change font was not working, can you share your font setting please, thanks.

如图上的使用Ubuntu系统中的字体没有效果，只有使用资源中自定义的字体放才有效。
尝试了多个系统中的字体都不行。

可能你那个字体不支持中文,,你下载一个中文字体试着设置一下
在 2020-02-04 17:05:49，"yougg"<EMAIL_ADDRESS>写道：
hi @aixi2494 i have the same problem but change font was not working, can you share your font setting please, thanks.
如图上的使用Ubuntu系统中的字体没有效果，只有使用资源中自定义的字体放才有效。
尝试了多个系统中的字体都不行。
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

字体是支持中文的，我又试了几次找到问题了。
我的中文字体都是安装在用户目录中的，把字体复制到系统目录中就可以了
@pchampio my chinese fonts were installed into user path $HOME/.local/share/fonts/ not system font path /usr/share/fonts/, this is my record:

copy font to system path

sudo mkdir -p /usr/share/fonts/truetype/youyuan
sudo cp $HOME/.local/share/fonts/SIMYOU.TTF /usr/share/fonts/truetype/youyuan/
sudo chmod 644 /usr/share/fonts/truetype/youyuan/SIMYOU.TTF

change font setting in the code, it's not working

fontFamily: "YouYuan" // also SIMYOU was not working too

rename font file to YouYuan.ttf, also not working

link YouYuan.ttf to youyuan.ttf in the same dir, i don't know why but finally it is working.

tested with ttc and otf font file， both fonts were not working.


修复 子Adapter复写onBindViewHolder(VH holder, int position, List p…

Fix在DelegateAdapter中，子Adapter复写onBindViewHolder(VH holder, int position, List payloads)的时候跳过该方法，直接执行onBindViewHolder(VH holder, int position)方法

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

另外先合并到develop分支吧


Fix calc_iaa script to grab full results from CrowdFlower API

Currently, it requires that you download the CSV manually and pass that as a command-line argument.

This is no longer the case, now that we're storing raw judgments. We just need to get them from the database.


Merge master branch to prTesting1_201912311851 branch

Docs Build status updates of commit ad6bbc3:
:clock10: Pending: waiting for processors (5 builds ahead of you)
:warning: Docs Build is busy, currently there are 5 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit ad6bbc3:
:warning: Validation status: warnings

File
Status
Preview URL
Details

split/updateTestCon1.md
:warning:Warning

Details

split/updateTestCon1.md

[Warning] Missing attribute: author. Add the current author's GitHub ID.
[Warning] Missing attribute: title. Add a title string to show in search engine results.
Line 1: [Suggestion] H1 is required. Use a single hash (#) followed by a space to create your top-level heading. NOTE: This Suggestion will become a Warning on 01/06/2020.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Reorganize, annotate, and revise dependency pins

Description
Following the conversation in https://github.com/dbt-labs/dbt-core/discussions/6495, let's:

Reorganize and annotate the existing Python dependencies of dbt-core
Try loosening dependencies that are currently at the patch level, to instead be at the minor version level.

The latter point applies to both:

Other packages maintained by dbt-labs (hologram, minimal-snowplow-tracker)
Deeply integrated packages which we pin out of an abundance of caution (agate, Jinja2, mashumaro) because there have been breaking changes in past patch/minor versions

This is intended as a proposal, and a continuation of the conversation from the GH discussion. I am not strongly advocating that we must go through with this as currently constituted.
Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
~This PR includes tests, or tests are not required/relevant for this PR~
~I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR~
[x] I have run changie new to create a changelog entry — Skipping for now. If we go through with this, we should add a changelog entry for each substantive change to a dependency.

Need to merge https://github.com/dbt-labs/dbt-bigquery/pull/778 first, before merging this, to avoid failures on the main branch of dbt-bigquery


partition duplicates source observable

https://github.com/ReactiveX/rxjs/blob/886b4fc8216ec002a8ddaa024996ede8dc4a7d7e/src/internal/observable/partition.ts#L64-L65
Is this the intentional behaviour for partition?
As a user I expected the source not to be duplicated like this. I was doing a simple web request pipeline and using partition now duplicates my requests.
Simplified code that I am working on now, expecting the responses to be split into two new observables, which does happen, but the request for each url is sent twice.
const responses = from(urls).pipe(
   map( str => new URL(str) ),
   mergeMap( url => from(axios.get(url)) ),
)
const [html, other] = partition(responses, resp => resp.header['content-type'] == 'text/html')

Yes. This behavior is intentional. You can always compose in a multicast behavior with share().
const [html, other] = partition(responses.pipe(share()), resp => resp.header['content-type'] == 'text/html')


Allow the HTML to receive the CSV as parameter and make it usable through Githubpages without deploys

Awesome project ! :world_map:
Altough the CSV file into the source code of the projects is the best way to "parametrize" the app for "in-house" deployments, would be nice the following:

Make the changes to deploy it on github pages, if any changes is needed more than just setup it in the "Pages" setting of the project, then, you can make the changes to allow the HTML app to receive the CSV file as an argument in the URL, so , if Github hosts the project in https://mrjones-plip.github.io/Teammate-Timezones , and anybody put a CSV file lets say in https://gist.githubusercontent.com/USER/NICEHASH/team.csv , the final URL to see the result would be https://mrjones-plip.github.io/Teammate-Timezones?team=https://gist.githubusercontent.com/USER/NICEHASH/team.csv , walaaa :smile:  !! you can see the map without deploying it.

Also in the README you can explain that only forking the project, adding the CSV file into the fork, and making it available in Githubpages through the "Pages" configuration, anybody can deploy its own version of the map without the need to host the project, even the need to clone the project locally, all can be done with clicks in Gihub.com

(BTW I have stolen part of the idea from Swagger, they have this HTML5 page that allows you to inspect a Rest API spec without the need to deploy anything, you can paste the spec URL in the inspector UI, or even set it in nice input field that then refresh the content).

@mrsarm  - ah yes, I see now!  Given that the schema is homogeneous for the Teammate map, this could totally work! Another addition on top of this feature might be to allow an <input /> field on the page which would allow you to put the CSV URL into the URL of the map for you (or just inject it directly into the map and then re-render the map).
PRs welcome :grin:


page helper with regex broken in 3.0.0.beta1

page "/hello/*" do
	set :foo, "bar"
end

I remember reading that regex support in the page method was accidental, but looking at the current code it seems it should be working fine. Unfortunately, I'm getting the following error when using above's code in config.rb and starting Middleman.
/Users/jmulder/.rvm/gems/ruby-1.9.3-p0/gems/middleman-core-3.0.0.beta.1/lib/middleman-core/core_extensions/extensions.rb:128:
in `instance_eval': undefined method `split' for /^hello\/(.*)/:Regexp (NoMethodError)

Works fine with just "page /hello/ do ..." though.

Hmm, probably broke this when I added "glob" support. Thanks for reporting.

No problem! I hope we can see this fixed in beta 2 some time soon.
We're using Middleman as our platform for building static HTML prototypes and demos of our websites. We'd like to set some default variables based on the URL, so we don't need to repeat this in the Frontmatter for every underlying content page.

Should be working on master. Will release new beta soon.

Brilliant! Thanks! Looking forward to the next beta


Make "Import workflow" look like a button

See

+1 on that. Also, can we move it to the right then? And "Create workflow" could then become "Create new workflow"


Fix hash updating

try adding delay to hash updating on scroll
debounce options
fewer intersect intervals
set timeout and cancels

https://github.com/reallyluis/reallyluis/pull/48


Use boilerplate on a php file

I have an issue where you cannot run the html5-boilerplate command on a PHP file, it would be nice to still utilize the boilerplate on a PHP file even tho it's a completely separate file type.
If it's me being a doofus let me know and I can fix any local issues on my end.
Thanks

I shall add that the file I am working on is part of the blade templating engine

Have the same question about .hjtml.erb files, when I work on Ruby on Rails projects.
Can you expand this extension to work with more languages, rathen then only HTML, please?

Have included the ability to add the boilerplate to PHP and Ruby as a part of version 1.3.0. Do check it out and thanks for the feedback. Much appreciated...👍


coinconfig or coincfg

The default.cfg.example has a coinconfig option but the docs talk about coincfg.  The docs also describe the component values slightly differently than the the config file.

I recommend using the coin specific section, coinconfig will be removed at some point. (When I get to it)
Config is complicated and needs work.

Discussion regarding removing coinconfig option.
https://github.com/BitBotFactory/poloniexlendingbot/issues/364


[Diagnostics] Fix diagnoseImplicitSelfErrors to accept only valid argument types.

Add additional checks before trying to re-check argument expression in
FailureDiagnosis::diagnoseImplicitSelfErrors and before trying to use
its resulting type, which can only be either tuple or paren type.

/cc @rintaro @slavapestov

@swift-ci Please smoke test


Add author to DITA prolog section

The first time a DITA topic is created in Oxygen, the plugin could add information about the current author:
https://www.oxygenxml.com/dita/1.3/specs/langRef/base/author.html
And on subsequent times it could add information about the last author who modified it.
Basically it would look in the DITA topic, if it does not have a prolog section it would add it and if it has a prolog section it would update it to contain the author information:
    <prolog>
      <author type="creator">Jane</author>
      <author type="contributor">John</author>
    </prolog>

The plugin would add a listener to be notified when a WSEditor is opened.
On all opened WSEditor's it can add a save listener.
The listener has callbacks before each save operation. If the "ro.sync.exml.workspace.api.editor.WSEditorBase.isNewDocument()" returns true, then it is a new file and on the first save we need to set the author with type="creator".
If the document is not new, we can add an author of type contributor to it.
There is a configuration page where the end user can set their author name to be used.

Fixed in: a006907c3fff2385b1eaf2a6264eab841cac67de


[$1000] Web -  Phone number is shown twice in the preview tooltip.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Opened the website.
Hovered over the account without a name that contains a phone number.
Observed that the tooltip displays the contact details twice.

Expected Result:
The phone number should not be shown twice in the tooltip.
Actual Result:
The phone number is shown twice in the preview tooltip.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: 1.3.27-6
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://github.com/Expensify/App/assets/93399543/a840a1e6-b779-4655-8c37-3874fc1e1520
Expensify/Expensify Issue URL:
Issue reported by: @Tushu17
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686735136443679
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~011baa54223aee0feb
Upwork Job ID:<PHONE_NUMBER>350584832
Last Price Increase: 2023-06-22

Proposal
Please re-state the problem that we are trying to solve in this issue.
Web - Phone number is shown twice in the preview tooltip
What is the root cause of that problem?
We display two texts in the tooltip displayName and login
<Text style={[styles.mt2, styles.textMicroBold, styles.textReactionSenders, styles.textAlignCenter]}>
                    {String(userDetails.displayName).trim() ? userDetails.displayName : ''}
                </Text>

                <Text style={[styles.textMicro, styles.fontColorReactionLabel]}>
                    {String(userDetails.login || '').trim() && !_.isEqual(userDetails.login, userDetails.displayName) && !Str.isSMSLogin(userDetails.login) ? Str.removeSMSDomain(userDetails.login) : ''}
                </Text>

``
if `login` and `displayName` is the same we do not display the second text in

we check this by this line of code
```js
String(userDetails.login || '').trim() && !_.isEqual(userDetails.login, userDetails.displayName) && !Str.isSMSLogin(userDetails.login)

When user sign up with with there phone number we save the displayName same as the phone number and login id append with SMS domain<EMAIL_ADDRESS>For the phone number case our condition failed to check login and displayName is same and we display same number twice

What changes do you think we should make in order to solve the problem?
We can fix it by modifying our condition
from:
{String(userDetails.login || '').trim() && !_.isEqual(userDetails.login, userDetails.displayName) && !Str.isSMSLogin(userDetails.login)}

to like this:
{String(userDetails.login || '').trim() && !_.isEqual(userDetails.login, userDetails.displayName) ? Str.removeSMSDomain(userDetails.login) : ''}

 Result

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Phone number is shown twice in tooltip on user with no name.
What is the root cause of that problem?
In the UserDetailsTooltip component, we are currently checking whether userDetails.login is equal to userDetails.displayName in order to determine if the user has a display name or not. This approach works correctly for accounts that use email as the login method. However, for phone number accounts, the userDetails.displayName string differs from the userDetails.login string.
https://github.com/Expensify/App/blob/0b7455fa832b53eccb99ca23c70e131b3464fb1d/src/components/UserDetailsTooltip/index.js#L31
What changes do you think we should make in order to solve the problem?
We can check if user has a empty userDetails.firstName and userDetails.lastName instead of checking userDetails.displayName
{String(userDetails.login).trim() && _.isEmpty(userDetails.firstName) && _.isEmpty(userDetails.lastName) ? '' : Str.removeSMSDomain(userDetails.login)}
What alternative solutions did you explore? (Optional)
Na

Reproduced on OSX desktop app too. Thanks!

@manjesh-yadav proposal looks straightforward and good to me!
But we should discuss something here, one number is with country code one is without in some cases. We should show the number consistently let's discuss this once CME jump's in thanks!
🎀 👀 🎀
C+ Reviewed
Other Proposals are kind of redundant to the original proposals or slightly over-engineered.
cc: @conorpendergrast

Proposal
Please re-state the problem that we are trying to solve in this issue.
Phone number is shown twice in the preview tooltip.
What is the root cause of that problem?
In line 31 below, we show the third text (user login - email/phone number) only if displayName and login are different.
https://github.com/Expensify/App/blob/9bef5074ae858e7efb0d757473409ef099dac309/src/components/UserDetailsTooltip/index.js#L30-L32
!_.isEqual(userDetails.login, userDetails.displayName) returns true for phone numbers without displayName set because -

login contains @expensify.sms at end.
Also displayName is localized while login is not. So, for numbers within the same region, displayName doesn't contain the country code while login does.

Ex - displayName will be<PHONE_NUMBER>2 while login will be<EMAIL_ADDRESS>so even if we remove SMS domain, they will be different.
What changes do you think we should make in order to solve the problem?
We should do the following changes -

Make a function to get number in e164 format from national number and region code like -function convertLocalizedPhoneNumberToE164(number) {
    if (!number) {
        return '';
    }

    const numberWithoutSMSDomain = Str.removeSMSDomain(number);
    const parsedPhoneNumber = parsePhoneNumber(numberWithoutSMSDomain, {regionCode: getRegionCodeForCountryCode(countryCodeByIP)});
    // countryCodeByIP is a local variable and getRegionCodeForCountryCode is a function from the 'awesome-phonenumber' library that is already imported

    // return the string untouched if it's not a phone number
    if (!parsedPhoneNumber.valid) {
        if (parsedPhoneNumber.number && parsedPhoneNumber.number.e164) {
            return parsedPhoneNumber.number.e164;
        }
        return numberWithoutSMSDomain;
    }

    return parsedPhoneNumber.number.e164;
}

Then, we should make a utility function to compare displayName with login like so -
a. Check if login is via number using Str.isSMSLogin(login) function.
b. If it is, then use Str.removeSMSDomain(login) to get login in e164 format.
c. Use the function created above to get displayName in e164 format. If displayName is not a number the function above will return the original displayName only. We can also add an additional check for this.
d. If login is not a number then we can simply use _.isEqual(login, displayName) function.
e. Then if login and displayName are not equal we return Str.removeSMSDomain(login) otherwise ''.

function getLoginText(login, displayName) {
    if (_.isEmpty(login)) return '';
    const isSMSLogin = Str.isSMSLogin(login);
    let isLoginAndDisplayNameEqual = false;

    if (isSMSLogin) {
        isLoginAndDisplayNameEqual = _.isEqual(Str.removeSMSDomain(login), LocalePhoneNumberUtils. convertLocalizedPhoneNumberToE164(displayName));
    } else {
        isLoginAndDisplayNameEqual = _.isEqual(login, displayName);
    }

    return !isLoginAndDisplayNameEqual ? Str.removeSMSDomain(login) : '';
}

We can further improve the names of the variables and the function.
What alternative solutions did you explore? (Optional)
NA
Result -
https://github.com/Expensify/App/assets/31413407/591fd807-7cb5-4cc6-bb95-c3c224aadd4d

@Santhosh-Sellavel @manjesh-yadav's proposal will create a regression since the new condition -
{String(userDetails.login || '').trim() && !_.isEqual(userDetails.login, userDetails.displayName) && !Str.isSMSLogin(userDetails.login) ? Str.removeSMSDomain(userDetails.login) : ''}

If login is a number then !Str.isSMSLogin(userDetails.login) will return false so even if displayName is set and is different from login then login will not be shown. So for phone numbers, login will never be shown regardless of displayName.

Waiting for @mountiny's review here

Ah, Vit is OoO this week! Reassigning

@Li357 Welcome! Waiting for an engineering review of the proposal https://github.com/Expensify/App/issues/21197#issuecomment-1603195212

@manjesh-yadav Proposal looks good!

@Santhosh-Sellavel  PR is ready for review.
https://github.com/Expensify/App/pull/21893
cc @conorpendergrast

@manjesh-yadav @Tushu17 Please apply to the job via Upwork!
@Santhosh-Sellavel Looks like you'll send a ND request 👍

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[x]  [@Santhosh-Sellavel] The PR that introduced the bug has been identified. Link to the PR: https://github.com/Expensify/App/pull/20276
[x]  [@Santhosh-Sellavel] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: https://github.com/Expensify/App/pull/20276/files#r1264182812
[x]  [@Santhosh-Sellavel] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: This could be have been caught in testing.
[x]  [@Santhosh-Sellavel] Determine if we should create a regression test for this bug. Yes
[x]  [@Santhosh-Sellavel] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
[ ]  [@conorpendergrast] Link the GH issue for creating/updating the regression test once the above steps have been agreed upon:

@Li357 Let me know if you differ from any of the above

Bug:  Login is shown twice in the user details tooltip
Steps from PR looks great!
Regression Test Steps

Opened Expensify on a desktop browser or application.
Hovered over the account without a name that register with a phone number.
Hovered over the account with a name that register with a phone number.
Hovered over the account without a name that register with an email.
Hovered over the account with a name that register with an email.
Verify that in every step you did not see the email or phone number twice in the tooltip.

👍 or 👎

Requested payment on ND

Contract sent to @manjesh-yadav, waiting for @Tushu17 to apply to the job.

QA test request here: https://github.com/Expensify/Expensify/issues/300411

Paid @manjesh-yadav!

Contract sent to @manjesh-yadav, waiting for @Tushu17 to apply to the job.

@conorpendergrast I'm not able to access the job posting, Ig you haven't shared the correct link. Can you just send me an invitation to my Upwork ID? https://www.upwork.com/freelancers/~01d43dd6772957dbb0

@Tushu17 here is the link provided earlier it works for me
https://www.upwork.com/jobs/~011baa54223aee0feb

Thank you, @Santhosh-Sellavel. @conorpendergrast I've applied for the job.

Sorry, there are so many "fun" URLs in Upwork. I've sent the offer now!

@conorpendergrast I've accepted the offer. Thank you.

Nice, thanks. All done


ARROW-18326: [Go] Add option to support dictionary deltas with IPC

[WIP] https://issues.apache.org/jira/browse/ARROW-18326
Test not working because of a potential issue in dictionary management.

As mentioned on the corresponding JIRA card, if you can give me permission to push to your fork @lquerel then I can push an update which will fix your failures (and rebase against master to fix conflicts)

In order to facilitate this to be able to be cherry-picked into v10.0.1 I'm going to shift the added unit test for the dictionary delta messages to a separate PR. @lquerel Is there anything else you need or is this ready for review? We're going to start putting together changes for the v10.0.1 patch release later this evening, so this can still make it into that patch release if we merge it today.

@zeroshade LGTM. No additional need on my side. Glad to see all these fixes in 10.0.1.


[Protractor] Can't click on item triggering a mat-menu once the menu is displayed

Bug, feature request, or proposal:
Bug
What is the expected behavior?
We should be able to click on the element whether the matMenu is displayed or not.
What is the current behavior?
The item triggering the drop-down containing the matMenu is clickable if and only if the matMenu is hidden.
What are the steps to reproduce?
Unfortunately, this is an issue related to automated testing, thus StackBlitz won't help...
An empty project with the following code in the AppComponent should allow you to reproduce the issue.
<a [matMenuTriggerFor]="bind">{{menu.name}}</a> <mat-menu #bind class="after" [overlapTrigger]="false">     <button mat-menu-item routerLink="/main/">{{button.name}}</button> </mat-menu>
What is the use-case or motivation for changing an existing behavior?
I would like to be able to display several different matMenus in the same test without having to navigate to a different page (as I can't collapse the matMenu using the triggering button, I have to click on a button in the matMenu, which implies a navigation step).
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular v5.2.2, Angular-Material v5.1.1, Windows 10, Typescript v2.7.1, Protractor v5.3.0, Chrome
Is there anything else we should know?
Nothing I'm aware of ;)

Is there already a fix for this?


Add "config" to RSE-default display name

There's some confusion about what this module is and whether it's necessary, this might help

That was actually specifically requested by the author in #9044, unless there was some misunderstanding there, which is very possible.

As always thanks for the background!  I think your take is correct.  @ensou4 any thoughts here?  This doesn't come up that often but I just saw someone on discord that was confused about what to install.

Let's leave this alone for now until we can confirm it wouldn't miff the author.

As always thanks for the background! I think your take is correct. @ensou04 any thoughts here? This doesn't come up that often but I just saw someone on discord that was confused about what to install.

Rocket Sound Enhancement the Plugin is the brains behind the mod, it doesn't have any library of sounds or configs. Can be installed alone and it'll provide sound muffling and other basic atmospheric sound filtering.
Rocket Sound Enhancement - Default is the library of sounds and configs that replaces the stock and supported mod sound effects plus additional atmospheric effects. It requires the plugin to function.
Separated them because they're technically two different mods and had different development cycles, didn't want to constantly be uploading a large library of files every time we updated the plugin.


Delete mapping no longer supported by ES >=2.0

As of Elasticsearch 2.0 mapping deletion is no longer supported. Hence the deleteMapping() and rebuildMapping() functions don't work.
https://www.elastic.co/guide/en/elasticsearch/reference/2.1/indices-delete-mapping.html
Btw. I really love this package, it's the best Laravel Elasticsearch package I've come across so far.

There should indeed be a comment added to the readme that this no longer in use as of 2.0 like @oknoote has noted. Obviously, don't remove the functionality since it wouldn't be backwards compatible with pre 2.0 but a comment would be great.

Yeah, this is true.
If someone does a PR, we will merge it.

Was this ever fixed?


feat(ApplicationCard): decrease app icon size - closes  #1256

Apply the icon resize suggestion https://github.com/flathub/website/issues/1256
Before:

After:

Thank you


UX adjustment - info button

Description

[x] We should use buttons for the info icons, so that they also come with their own padding and states: hover, pressed, etc
[x] Clicking on this should open a popover with info, not a tooltip
never use tooltips for displaying important information
[x] The icon should be next to the input field (it is done but please validate)
[x] In some forms we saw that an icon with a “?” inside was used, the only correct one is this one with the “i”

Reasons

Attachments

Epic: https://github.com/kyma-project/busola/issues/2623

fixed in https://github.com/kyma-project/busola/pull/2832


xrmApp.CommandBar.ClickCommand, xrmApp.Dialogs.ClickCommand not working

xrmApp.CommandBar.ClickCommand
xrmApp.Dialogs.ClickCommand
Getting the below error while trying to click on ribbon on entity form or Dialog command bar
CRM version details:

System.InvalidOperationException: Unable to find the ribbon.
Stack Trace:
BrowserCommand1.Execute[T1,T2,T3,T4,T5,T6,T7,T8,T9](IWebDriver driver, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8, T9 p9)     BrowserPage.Execute[TResult](BrowserCommandOptions options, Func2 delegate)
WebClient.ClickCommand(String name, String subname, String subSecondName, Int32 thinkTime)
CommandBar.ClickCommand(String name, String subname, String subSecondName)

DialogContainer is returning element but ribbon returns null value
looks like data-lp-id is changed with the latest CRM release
previous xpath :
{ "Cmd_ContainerGrid"       , "//ul[contains(@data-lp-id,"commandbar-HomePageGrid")]"},
Latest xpath:
{ "Cmd_ContainerGrid"       , "//ul[contains(@data-lp-id,"commandbar-Form:[EntityName]")]"},
Same applies for DialogBox


Reduce duplication in pay form components

Description
The pay form components are a little unwieldy in parts with some duplication of props that could be consolidated a little,
e.g. https://github.com/LN-Zap/zap-desktop/pull/3393#discussion_r397050820
Possible Fix

Consolidate isOnchain isBolt11 and isPubkey bools into an enum.
Review Pay form components for other possible simplifications.

I think I promised to do this long time ago when I did pay form components refactor the last time around but never got to it. I can take a look.

Closed via https://github.com/LN-Zap/zap-desktop/pull/3460


[Terra Application Navigation] Add compact drawer open/close functionality

Feature Request
Description
I am currently consuming the Application Navigation component and there are scenarios where I need to know if the compact drawer is currently open or not and also need the ability to close it if need be.
In the mobile version of my application, if a user opens up the drawer and backgrounds the app, when the app is brought back into the foreground the drawer will still be open. This is problematic in the event that a user receives a notification and selects that notification. When this happens, my application needs to navigate through the app and get the user to a specific view. Although the navigational changes are correctly made, they are all done in the "background" because the drawer is still open upon foregrounding.
Additional Context / Screenshots

@ Mentions
@ryanthemanuel
@tbiethman
@dkasper-was-taken

@lawsonjames In the short term, I would recommend using a key to remount the ApplicationNavigation component in this scenario. This will cause the menu visibility state to be reset.
Internally, we will be discussing how we expect these kinds of workflows to work with ApplicationNavigation. While there are certainly changes we could make to expose more control over that menu, we need to determine if we should make them. I'll post back here when we have a concrete go-forward strategy in place.

@ryanthemanuel @tbiethman @mjhenkes @PaulSolDev Could someone please explain why this issue was closed?

@lawsonjames Sorry, it looks like this is my fault. I logged this issue (https://github.com/cerner/terra-framework/issues/960) to replace this. It was my understanding that this request and issue #960 were to solve the same root issue. Your application sends read 'receipts'  when the user views a message and did not want to send those if the menu was presented at small form factors because the user would not actually be viewing the message. With #960 we added the ability for you to know in what state the menu was so that you could prevent sending the receipt until the user had dismissed the menu.
When building application navigation we originally intended the disclosure of the drawer to be driven by the user, not programmatically opened/closed. We should circle back with UX on that assumption @neilpfeiffer
As @tbiethman  mentioned above, if you need to reset the state of navigation to 'close' the menu by using a key to remount the react component or refresh the page.

@mjhenkes Forcing a component to unmount/remount via a key is being used as an interim solution, but it is my opinion that this should not be considered a permanent solution to this issue. Unmounting/remounting carries its own issues that have to be accounted for (e.g. losing local state) and can cause complexity for the consuming application.

Re-opening this issue to have further discussion.

Thanks for your request @lawsonjames. Having reviewed your request, and understanding the nature for the ask - we are not comfortable establishing a pattern to add this level of exposure of the internal mechanics of the drawer internal-nav component, or any of the state & mechanics of any other application-navigation UI element.
While your immediate concern has largely been focused on only this single UI element, that when in a Mobile/Small viewport, the app page+content is hidden from the user by the navigation drawer being open -- our investigation revealed that this same situation can happen by a variety of application-navigation internal components -- including any notification-dialog (alerts / dirty-data warning / time-out warning), application modals (help / about / user settings), application loading overlays, or any UI exposed from the application utility sockets.
This situation is even further exacerbated in assembled+mixed source apps by multiple contributing content teams. Any single page could have content assembled from more than one concept team, where another concept on the page might create a disclosure (modal/slide panel/pop-up) that covers your concept, therefore creating the same scenario in which you are in a state of uncertainty about the visibility and user’s knowledge of a change in “your” (i.e. any concerned consumer’s “live content region”) UI.
Short of having a universal/global disclosure registry util -- that (1)any page content, plus (2)the application, both can message to, indicating any time a portion or all of the base page content may no longer be visible and then clearing when that UI element is removed, … or … a tightly couple application where the state of any UI element can be aware of any other UI element (i.e. a fully baked native application), there simply will be no effective way for your content to ask for, know, and handle each and every instance of each potentially blocking UI element to then effectively report back a “message has been viewed/read” receipt or update the UI unimpeded. And that is not even including a discussion for the topic about allowing the consumer/content to control the opening and closing of the drawer (and therefore manipulate internal / private state of the parent application).
Terra extended an earlier enhancement to track with a callback the ability to notify when the drawer’s state changes (..terra-framework/issues/#960), which was not necessarily a pattern we were comfortable with at that time either. Now having lived with it a while, and more fully understanding risks, exposing the current internal state of any single UI element for on-demand usage would simply be the start of a landslide to add for other UI elements too. Allowing content to chain custom behaviors off of the state of parent or sibling elements, or have the ability to control them, is an approach that in the end, will weaken the stability of composed applications by creating fixed linkages, which we are preferring to not expose, instead opting for reliability.
At the end of the day, for apps built in a Terra fashion, content ideally should just be content, and not have any care nor communication (and therefore dependency) with the type or state of the container it might be put within.
Our recommendation would be in the situation where you need to change what is presented to users in your application (e.g. the drawer is open, a modal is open, user is on a different screen, etc.), to use routing to redirect your application to a new URI that will reload with appropriate content + application state, something that you do have control and the ability to do. And as long a the dirty-data handlers have been correctly implemented by all content teams, if needed, the application will manage the scenario by prompting users prior to automatically wiping everything away and redirecting. For the continuing problem of not knowing the visibility of new messages, if the new/updated URI method is not a solve, investigate alternate methods for the content itself to reliably “know” that a user has seen (or heard) and interacted with a designated piece of content before sending back “message read” statuses that works well within a web app architecture, even if it that exploration takes you into investigating patterns different from more “traditional” or user expected native application behaviors.

Closing per @neilpfeiffer's response

I don’t fully agree with the explanation given as to why this feature will not be implemented. In your response you brought up modals and dialogs as being similar to blocking views as the nav drawer, but in response I would say that as an application that consumes these components we have the ability to programmatically close these, whereas we do not have that ability with the nav drawer (hence the feature request). As a consumer of the terra framework there shouldn't have to be work arounds to impact the display of the application. Consumers should have the ability to determine what is being displayed and when while the framework controls how it is displayed. If there are issues with when an application decides to close a menu programmatically (without any user interaction for instance) - that should be managed and decided on by the application owners.
Not all applications that leverage terra will be simple enough to populate some data into pre-built terra components and we want to provide users with the best experience possible. When foregrounding a mobile application via a notification (or another application switch mechanism) the user would expect to "quickly" view the related information. They don't expect to open it to a menu that was left open that they then manually have to close (after already performing the action of opening the application) and they don't expect to have to wait even longer for the application to reload itself.
I am requesting that this issue be re-opened for more consideration.
Tagging @bb3284 and @ryanthemanuel

I completely concur with @lawsonjames analysis on this.  Not having this ability is causing a lot of framework related issues as we try to "work around" this.  Ultimately we need a programmatic way to dismiss the open nav drawer (leaving the underlying components in their previous state). Note that we aren't calling this method in the absence of a user action, simply an action that occurs on the backgrounding of an application.

@neilpfeiffer @ryanthemanuel Any update here?

After some more discussion, we have decided to spike on closing the drawer menu automatically during window blur or visibility change events. Doing so will ensure the drawer is not left open after backgrounding the app and prevent the issue at hand here without putting additional API burden on ApplicationNavigation consumers. Consumers who want this functionality will just need to enable it with a boolean prop.

The spike for blur/visibility change events handling the menu dismissal did not result in a working solution. Differences across browser implementations resulted in inconsistent behavior.
Instead, a direct event-based approach is going to be taken (see #1255) . This aligns with our future desires for a larger, cross-component solution for the problem of transient content dismissal.


HmIP-DRSI1

Hello,
here are the files for the HmIP-DRSI1
https://gist.github.com/malkie-hass/45e5b35837141d065e3c38e0092f32c0
If somebody can help to integrate?
Best regards
Malkie

As my device will arrive in aprox. 11 Weeks, I'm willing to add support for the device ;-)
Seems that the device is almost the same as the HmIP-FSI16 expect from the form factor.
@malkie-hass Is there a change that you confirm my changes in a testenvironment on your side.
Daniel made a good testenvironment as descibed here: https://github.com/danielperna84/pyhomematic/wiki/Contributing-and-development-for-pyhomematic
You may simply change one file and skip the pydevccu part and use your CCU instead.

@leinich I have no idea what you are talking about :)
I'm willing to help. Maybe we can do that together?
If you would have time for a remote session and you can run me through that would be great.

As I received my HmIP-DRSI1 this week I created a pull request to add support for this device type

Support now is included in 0.1.71. Closing this issue.

Support now is included in 0.1.71. Closing this issue.


Epic: Allow Kobweb to work in cases where it doesn't own the server

To check off items on this list, they should both be supported AND documented
Static support
These items probably just need files to be exported a certain way

[ ] GCP
[ ] Netlify

Dynamic support
These items probably need logic currently backed into the kobweb/backend codebase refactored out into a shareable JVM library and then implemented per target

[ ] ktor
[ ] Spring Boot

Other
I'm not familar with these technologies at this point so they will require a bit more investigation to categorize / understand properly

[ ] WSGI

Original comment:

Feedback from the community: "end to end does provide a better headstart experience. but afaik backend is super complex so integrating it w/ something like spring boot would make it a lot more feasible for many use cases"

Note that a "workaround" for people running their own servers is to serve the Kobweb site themselves.

kobweb export --layout static
Serve .kobweb/site statically

For example, in ktor: https://ktor.io/docs/serving-static-content.htmlrouting {
   staticFiles("/", ".kobweb/site")
}

I already use Kobweb on the client side - it is great :)
It would be nice if I could use live reloading support during development but also allowing to use my Ktor-based backend which I cannot (and don't want to) replace.

@NorbertSandor hey, since you have a real case, I have a question for you. If I allowed you to set up my Kobweb server to act as a proxy for your server, would that work for you?
Getting live reloading to work for your custom server probably won't ever happen (getting it right takes a fair bit of custom code, see here which if you dig in does some fancy classloader tricks and makes some assumptions).
That said, if I add proxy support to Kobweb servers, you could start up a Kobweb server and ALSO spin up your custom server, and have Kobweb configured to point at it.
If you rebuild / restart your server, then you kind of get a live reloading experience, as the existing Kobweb server will just keep delegating to whatever is running.

set up my Kobweb server to act as a proxy for your server

This is how I currently use the Webpack Devserver:

the Webpack-generated JS files are served directly by the Devserver
everything else (resources, HTTP endpoints, WebSocket endpoints) is served by my own Ktor backend, proxyied by the Devserver

So currently my Kotlin/JS webapp communicates directly only with the Devserver.
It means I currently spin up 2 servers during development - and I have no problem with it :).

live reloading to work for your custom server probably won't ever happen

I see...
The reason I want to give a try to Kobweb (besides that I already use the Modifier-system and other lower-level features) is that I'm not satisfied with how the Kotlin - Webpack Devserver integration works (or often not works in my case).
I have already tried the generated "hello-world" Kobweb project but I want to try somehow how it would work with my complex multi-project application.

That said, if I add proxy support to Kobweb servers, you could start up a Kobweb server and ALSO spin up your custom server

This is exactly how I currently use the Webpack Devserver.
It proxies everything to my backend except the generated JS files.
So yes, it would probably work.
Just one question: wouldn't it be really big work to implement a HTTP+WS proxy from stratch?
Or do you know a (Ktor-based) ready-to-integrate alternative?
Another idea has just popped in my head:

I could refactor my Kotlin/JS webapp to call my backend directly instead of letting the Webpack Devserver to proxy my connections.
Then I will try to convert the webapp to Kobweb (and replace Webpack-related Gradle tasks like jsBrowserDevelopmentRun with Kobweb tasks).

If I allowed you to set up my Kobweb server to act as a proxy for your server

The reason I don't want you to implement this proxying functionality right now is because I'm not sure that I can successfully convert my app to Kobweb, and I don't want you to work unnecessarily. It is because my biggest problem is not the proxying: my webapp owns the entire application logic, starting from the main() function (it starts a DI container, makes various initializations, etc.), so it will be non-trivial to convert it to Kobweb - I don't know if I can do it at all :(.
But thanks for the insights, and giving me the above idea :)


Move to more reliable and scalable caching solution

The #203 caching solution uses disk does not have LRU and TTL. The cache on a disk is a bottleneck for using Scorecard with an HTTP endpoint.
The possible solutions are something like Redis which has the above capabilities.

#215


msgpack is broken

I could compile msgpack without error with version 14.14. But now with master (15.33) I couldn't. The problem is that now we don't found OpenSSL::Crypto. I think something changed and now not the updated FindOpenSSL.cmake runs but the built in, but this is just a tip.

What platform we are talking about?
Here are the tests:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1015
https://travis-ci.org/ingenue/hunter/builds/163176929

Looks like Android not working. But if the reason of failure is OpenSSL then that's because OpenSSL doesn't work on Android. See testing, there is no android-* toolchain:

https://travis-ci.org/ingenue/hunter/builds/162921298

Sorry. Than somthing went wrong during merge at my side.


Matching more neighbors than the number of examples in the treatment group

Hello,
If I have 10 examples in my "treated" group and 1000 in the "control" group, Is it possible to do one-side matching (match control to treatment) of more than 10 neighbors (e.g. 50)?
I tried using the "matching_mode" argument in causallib.estimation.Matching for one-directional matching, but still got the error "Expected n_neighbors <= n_samples" when using matcher.match.
Thank you!

That's a good point. Behind the scenes both directions are calculated at once which is why the matching_mode keyword does not stop the error from occurring. I think a valid behavior would be to reduce the number of neighbors for the problematic direction and then calculate both directions, and to issue a warning so that the user knows that one direction is not actually using the desired number of neighbors. I'll open a PR addressing this shortly.

Changes are now available in version 0.9.0
https://github.com/IBM/causallib/releases/tag/v0.9.0


Labels as an array?

We never brought it up but our arch had a good point; some folks are moving away from the concept of tags/labels as key/value pairs since, as a user when you're looking for a metric, you may start searching by "mysql" and don't really care if it has a key of "role" or "system_type", whatever. Should we allow for the DataDog model wherein you just have an array of strings associated with a measurement? If you want a key/value pair, just include a separator.

Coming from Prometheus, the model where's it's just a simple list for labels is a downgrade as in practice there's always an implicit key in there. Trying to extract that back out is hard, and the generic ways of doing it are basically local conventions for turning it into key-value pairs (e.g https://www.robustperception.io/extracting-full-labels-from-consul-tags/).
It's also a general principle that you always know what your label names are and what they mean. Metrics have structure, they're not something you technically should be grepping.

It's a general principle for a developer to know your label names and what they mean but what about the user? If you're brand new to the system, you will always start by grepping and that's a perfectly valid use case. After you learn the layout you can use the full keys and values to get to your data quicker.
And splitting tags is a pain and usually specific, but is it something we want to enforce in a spec just because most, but not all, systems follow this convention? How would DD join OpenMetrics if we didn't accommodate their use case?

And splitting tags is a pain and usually specific, but is it something we want to enforce in a spec just because most, but not all, systems follow this convention?

Yes, it defeats most of the usefulness and power of labels.

How would DD join OpenMetrics if we didn't accommodate their use case?

DataDog supports key-value labels, and as it stands their agent can ingest the Prometheus text format. I don't forsee a problem there.


Unsupported version MC 1.16.2

Actually, MC 1.16.2 has not supported by GriefDefender 1.4.7.

It's possible to add support for MC 1.16.2 ?

GD 1.5.0 supports 1.16.2. Premium users get access first.


Add some real logging to the service

I have some debug output going at the moment. Make some well-formatted logs that can be analyzed (like in Tableau for example.)

Check out logger middkeware.


API is currently down

api.quotable.io is currently not working. Tried from multiple pc and IP address to verify. As well as checked isitdownrightnow.com to verify.

Ok I'll look into this

Yup, can confirm the server is partially down right now. I'll fix ASAP

This has been fixed.  It was an issue with the DNSSEC configuration.  Let me know if it's working for you now.
isitdownrightnow shows the server as up

I can confirm, API is up and running. Thanks.

API is not working .

API is not working .

I just double checked, working for me. What endpoint are you trying to hit?

@Amitsharma45 Are you still having issues connecting to the API?  If you go to api.quotable.io in your browser, does the site load?
downfor.io/api.quotable.io
isitdownrightnow.com/api.quotable.io

Closed it since it seems to be up.

@roceb thanks for reporting this!

APIs are still down

still down https://www.isitdownrightnow.com/api.quotable.io.html


There is no the Developer mode setting

OS version: Windows 11
Browser version: Edge latest
Extension version:  3.0.18

🐛 Describe the bug
In the current version of the extension, there is no Developer mode setting on the extension settings screen.
Expected behaviour
Since the Contributing  article offers to enable this option, I expect it will be in place :)

Right!, It used to be there, but It's not available anymore, so we can not help!

See #2187 for some more info.

While the "Development mode" is missing from the extension itself and there's no source code left in this repo, it might be a good idea to remove any mentions of the said "Development mode" from the docs.

or add the source code back into the repo so we can run our own extensions...


markdownit not working with nuxt-edge

Version
2
Steps to reproduce
When running @nuxtjs/markdownit with nuxt-edge, the build files with cannot read 'md' of undefined.
× fatal TypeError: Cannot set property 'md' of undefined
  at Builder.extendBuild.config (C:\wamp64\www\bdk-nuxt\node_modules\@nuxtjs\markdownit\index.js:21:39)
  at Builder.<anonymous> (C:\wamp64\www\bdk-nuxt\node_modules\nuxt-edge\dist\nuxt.js:149:23)
  at WebpackClientConfig.config (C:\wamp64\www\bdk-nuxt\node_modules\nuxt-edge\dist\nuxt.js:3017:56)
  at Builder.webpackBuild (C:\wamp64\www\bdk-nuxt\node_modules\nuxt-edge\dist\nuxt.js:3588:56)
  at Builder.build (C:\wamp64\www\bdk-nuxt\node_modules\nuxt-edge\dist\nuxt.js:3299:16)
  at <anonymous>
Nuxt Fatal Error :(

It looks to be when trying to add markdownitLoader to vueLoader in line 22 of index.js. on this command vueLoader.query.loaders['md'] = markDownItLoader. vueLoader.query.loaders is returning as undefined.
What is expected ?
To be able to use markdown files
What is actually happening?
build failure

This bug report is available on Nuxt community (#c128)

Upon further review:
the vueLoader object is as follows
{
  test: /\.vue$/,
    loader: 'vue-loader',
    options: {
      productionMode: true,
      transformAssetUrls: {
        video: 'src',
        source: 'src',
        object: 'src',
        embed: 'src'
      }
   }
}

the module is looking for loaders which does not exist under options. It looks like we need to check if loaders already exist, if they don't then we need to create the loaders object. I can create a PR

I created a PR for this a couple weeks ago. Can we see that it gets reviewed and merged?
https://github.com/nuxt-community/modules/pull/208

I pushed to my own npm registry until they create a new release. Hopefully this can help you a little
https://www.npmjs.com/package/@digibytes/markdownit

This is an issue for me with Nuxt 2.0 - using @waleeddogar version seems to work. Thanks!

Fixed with #208 and https://github.com/nuxt-community/modules/releases/tag/%40nuxtjs%2Fmarkdownit%401.2.2
Thanks to @bskimball ☺

This bug-report has been fixed by @bskimball.

Thank you, this seems to work well now using Nuxt 2.0.0 and "@nuxtjs/markdownit": "^1.2.2",