Emit OpenTelemetry metrics

OpenTelemetry has become the de-facto standard for distributed, cross-platform tracing; it is being rapidly adopted both inside the .NET ecosystem and outside. OTel defines semantic conventions for how a database client emits metrics, which are aggregated, numeric counters about the state and performance of the driver (e.g. number of commands executed, idle/busy connections in the pool, etc.).  these specifications are currently in experimental state, but stabilization is likely start happening soon.
Note that unlike with tracing, AFAIK there's no way to get data like this out of SqlClient at the moment. This sort of data can be invaluable in diagnosing performance problems (e.g. by inspecting real-time connection pool state) and tracking what's going on.

Is this a duplicate of #2210 ?

...but the link in the description

Note that unlike with tracing,

links to this page. Should link to https://github.com/dotnet/SqlClient/issues/2210

SqlClient actually already emits some metrics, but their reporting is a little spotty. On .NET Framework in Windows, every process which uses the library has a set of performance counters (listed here.) On .NET Core and .NET Standard 2.1 and above, Microsoft.Data.SqlClient.EventSource has a number of event counters (listed here.) Although the counter names are slightly different, their meanings are the same:

Performance counter
Event counter
Unit
Description

(none)
active-hard-connections
count
Actual active connections current made to servers

HardConnectsPerSecond
hard-connects
count / sec
The number of actual connections per second that are being made to servers

HardDisconnectsPerSecond
hard-disconnects
count / sec
The number of actual disconnects per second that are being made to servers

(none)
active-soft-connects
count
Active connections retrieved from the connection pool

SoftConnectsPerSecond
soft-connects
count / sec
The number of connections we get from the pool per second

SoftDisconnectsPerSecond
soft-disconnects
count / sec
The number of connections we return to the pool per second

NumberOfNonPooledConnections
number-of-non-pooled-connections
count
The number of connections that are not using connection pooling

NumberOfPooledConnections
number-of-pooled-connections
count
The number of connections that are managed by the connection pooler

NumberOfActiveConnectionPoolGroups
number-of-active-connection-pool-groups
count
The number of unique connection strings

NumberOfInactiveConnectionPoolGroups
number-of-inactive-connection-pool-groups
count
The number of unique connection strings waiting for pruning

NumberOfActiveConnectionPools
number-of-active-connection-pools
count
The number of active connection pools

NumberOfInactiveConnectionPools
number-of-inactive-connection-pools
count
The number of inactive connection pools

NumberOfActiveConnections
number-of-active-connections
count
The number of connections currently in-use

NumberOfFreeConnections
number-of-free-connections
count
The number of connections currently available for use

NumberOfStasisConnections
number-of-stasis-connections
count
The number of connections currently waiting to be made ready for use

NumberOfReclaimedConnections
number-of-reclaimed-connections
count
The number of connections we reclaim from GC'd external connections

The SoftConnectsPerSecond, SoftDisconnectsPerSecond, NumberOfActiveConnections and NumberOfFreeConnections performance counters are only created if the ConnectionPoolPerformanceCounterDetail trace switch is set to Verbose.
Having a consistent interface to increment/decrement the metrics would be helpful for code merging, but the real value would probably come from making System.Diagnostics.Metrics the primary metrics source. I think the right thing to do would be to also add an AppContext switch to control the legacy metrics sources - but I'm not sure whether it'd be better to have 6.0 disable the legacy metrics sources by default and drop them in 7.0, or to have 6.0 implement the new metrics source, 7.0 disable the legacy ones and 8.0 to drop these legacy ones.
For the current metrics collection, perhaps OpenTelemetry could listen to these event counters or performance counters?

@edwardneal there's generally no specific need to drop the old metrics or introduce an app context switch for them; as long as they're not listened to, their perf overhead is negligible. So this really is about emitting OpenTelemetry metrics via System.Diagnostics.Metrics.

That makes sense, thanks. There's only one mandatory counter (db.client.connections.usage), which maps neatly to the existing counters of number-of-active-connections and number-of-free-connections for state attributes of "used" and "idle" respectively. If the specification allows us to add extra state attribute values, I'd add "stasis" and "reclaimed" for the number-of-stasis-connections and number-of-reclaimed-connections counters. The concept of a connection which is currently being brought back into an issuable state might make sense for the upstream specification.
Besides the mandatory, other standard metrics are:

db.client.connections.idle.max: I read this to be a configuration parameter: the maximum number of idle connections allowed, rather than the maximum number of idle connections which the pool has historically possessed. I think this'll always be the value of DbConnectionPool.MaxPoolSize.
db.client.connections.idle.min: Similar principle as above, but it'd be DbConnectionPool.MinPoolSize.
db.client.connections.max: DbConnectionPool has a maximum capacity, and any connection in its backing store can be idle or used, so I'd say that this should be the same as db.client.connections.idle.max. I'm a little unsure on whether to include this though - the .NET connection pool has minimum + maximum sizes, while I'm a bit unclear on what the semantics expect. This comment seems to suggest that clients should expect .max (or .limit) to be the sum of .usage. That won't be true in our implementation.
db.client.connections.pending_requests, db.client.connections.timeouts, db.client.connections.create_time: Not currently instrumented, but probably should be. The integration points for them exist.
db.client.connections.wait_time: As I understand it, this duration will essentially start at the same time as db.client.connections.create_time and end when SqlConnection.Open() completes
db.client.connections.use_time: We already instrument something similar to this and make it available via SqlConnection.RetrieveStatistics().

Outside the standard metrics, the rest of the existing counters should also be mapped. I'd add these as:

dotnet.db.client.connection_pools.usage, with a state attribute of "used" and "idle" and the same meaning of pool.name as db.client.connections.usage: number-of-active-connection-pools and number-of-inactive-connection-pools.
dotnet.db.client.connection_pool_groups.usage, with a state attribute of "used" and "idle": number-of-active-connection-pool-groups and number-of-inactive-connection-pool-groups
dotnet.db.client.connections.hard.usage, with a type attribute of "pooled" and "unpooled": number-of-pooled-connections and number-of-non-pooled-connections.
dotnet.db.client.connections.hard.total: active-hard-connections. This is tentative - at a glance, I think this works out as a sum of the metric above. I'm not absolutely certain though
dotnet.db.client.connection.operations.connect, with a type attribute of "hard" and "soft": hard-connects and soft-connects. This is a behaviour change: it'll contain a counter, rather than a rate
dotnet.db.client.connection.operations.disconnect, with a type attribute of "hard" and "soft": hard-disconnects and soft-disconnects. Same behaviour change as above.

Finally, there are some interesting fields in SqlConnection.RetrieveStatistics():

dotnet.db.client.connections.command_time: This comes from the ExecutionTime key. It describes the total time spent executing a possible server-side command. That server-side command would be a user SQL statement, but it could also be SqlConnection.ChangeDatabase, SqlCommand.Prepare, any kind of transaction, and getting a field's value (whether that field's value is part of a packet which has already been received or not.)
dotnet.db.client.connections.network_wait_time: This comes from the NetworkServerTime key. It describes the amount of time spent waiting for the TDS response from the remote server.
dotnet.db.client.connections.io, with a direction attribute of "receive" and "transmit": BytesReceived and BytesSent.
dotnet.db.client.connections.buffers, with a direction attribute of "receive" and "transmit": BuffersReceived and BuffersSent.
dotnet.db.client.commands.count, with a type attribute of "insert", "delete", "update", "merge" and "select": CursorOpens, IduCount and SelectCount. I've pulled these apart quite a bit, largely because I don't think "IDU" is particularly useful to clients.
dotnet.db.client.commands.rows, with the type attribute above: IduRows and SelectRows.

I started looking to see what other metrics might be available or tracked within the library for exposure, and this response ballooned. If the metrics in the OTel specification can be checked for correctness, there's at least a place to start.

db.client.connections.max: [...] https://github.com/open-telemetry/semantic-conventions/issues/211#issuecomment-1658623631 seems to suggest that clients should expect .max (or .limit) to be the sum of .usage. That won't be true in our implementation.

The definition in the specs seems pretty clear and unambiguous to me: "The maximum number of open connections allowed". Max/min connections is a really standard thing across DB connection pools, I certainly implemented it as MaxPoolSize in the Npgsql driver.
In general, metrics on commands are currently missing in the specs. I went ahead and implemented some in Npgsql (code) - if implementing something similar, I'd call these out as experimental and subject to change, since I'm assuming some command-related metrics will make it in to the final specs etc.

I was thinking of a situation where a connection could have been allocated by the client, added to the connection pool, (to meet MinPoolSize's constraint) but not yet opened, because it's either not yet been used or it's still in the process of opening. In that situation, it would be neither idle nor used, but its existence in the pool would mean that MaxPoolSize wasn't really the maximum number of open connections, because this closed (or still-opening) connection would reduce the number of slots available for completely opened connections.
From re-checking the logic which creates a connection, it looks like a background thread synchronously opens the connection and adds it to the connection pool pre-opened (rather than being created closed and opened dynamically or asynchronously) so my confusion's cleared now: MaxPoolSize is the correct approach. If that creation methodology changes in the future, I think the ambiguity would return though.
I agreed on the point around command-related metrics. It'd be useful to be able to assign some kind of tag (or dictionary of tags) to a SqlCommand and aggregate at that tag level, but that's probably a better fit for DbCommand. I've prefixed the existing metrics with dotnet because it seems to fit the pattern here but this'll no doubt need to change when the specs are finalised.

I was thinking of a situation where a connection could have been allocated by the client, added to the connection pool, (to meet MinPoolSize's constraint) but not yet opened, because it's either not yet been used or it's still in the process of opening. In that situation, it would be neither idle nor used [...]

I'm not aware of such a state - I'm also not sure what it would mean for a connection to be "added but not idle". If a physical connection has been opened (which it must have been) and is in the pool in order to meet MinPoolSize, then it seems to me that it's just idle. Also, if there were such a special opened-for-MinPoolSize state, and then it's rented out by the application and then returned, does it then become just regular-idle? That would seem to be very weird, since the pool is exactly in the same state as it originally was.
In any case, I don't think any legitimate usage scenario out there would care (or want to deal with the added complexity) of an additional 3rd state... The important things to track with metrics are how many total physical connections the application is using, and to have a breakdown of how many of those are actually in-use vs. not in-use (to track application efficiency with regards to connection management etc.).

No, I fully agree - a background thread synchronously opens the connections, pushing them onto the pool. By the time the pool knows about them, the connections are in exactly the state you're describing.
For what it's worth though, I was thinking about two scenarios:

Large-scale expansion of the connection pool when the connections are slow to open. In that scenario, a two second connection time would take 40s to add twenty connections. My first thought there would have been to add the still-opening connection to the pool so that the pool expansion could continue apace, and the first client to actually use the connection would pay any remaining time required to open it. The three states we'd care about in the pool would be "active", "idle" and "starting".
Throttling connections to the SQL Server. In database-constrained scenarios such as Azure SQL Edge, we might want to allocate the memory for a connection on the client end, but not want to consume resources on the SQL Server. There's no ambiguity or background state transitions going on there: the connections added to the pool would simply be closed. The three states here would be "active", "idle" and "closed".

Neither of these scenarios are supported by the pool at the moment, so the point's academic. I can imagine situations where someone might want them though, so it's worth noting that the metrics might need some adjustment if that's implemented in the future.

I think we could match most of the command metrics in Npgsql in advance of the specs. By way of comparison, I think the full list of metrics should be:

Proposed metric
Npgsql metric

OpenTelemetry specifications

db.client.connections.usage
db.client.connections.usage
Already reported as a counter

db.client.connections.idle.max
db.client.connections.idle.max
Report DbConnectionPool's MaxPoolSize

db.client.connections.idle.min
db.client.connections.idle.min
Report DbConnectionPool's MinPoolSize

db.client.connections.idle.max
db.client.connections.max
Report DbConnectionPool's MaxPoolSize

db.client.connections.pending_requests
db.client.connections.pending_requests
To be instrumented

db.client.connections.timeouts
db.client.connections.timeouts
To be instrumented

db.client.connections.create_time
db.client.connections.create_time
To be instrumented, with units in milliseconds to match spec. Npgsql reports seconds - is this deliberate?

db.client.connections.wait_time

To be instrumented

db.client.connections.use_time

Report based on SqlStatistics' ConnectionTime key

Existing counters

dotnet.db.client.connection_pools.usage

Reported as counters

dotnet.db.client.connection_pool_groups.usage

Reported as counters

dotnet.db.client.connections.hard.usage

Reported as counters

dotnet.db.client.connections.connects

Reported as counters

dotnet.db.client.connections.disconnects

Reported as counters

SqlStatistics keys

dotnet.db.client.connections.server_command_time

Report ExecutionTime key, and document that this is more than just the time to execute SqlCommands directly

dotnet.db.client.connections.network_wait_time

Reported as NetworkServerTime key

dotnet.db.client.connections.io
db.client.commands.bytes_written, db.client.commands.bytes_read
BytesReceived and BytesSent. I include the bytes required to set up the connection, which is why it's in the .connections namespace. I've picked the .io name to match OTel's metric guidelines

dotnet.db.client.connections.buffers

Report BuffersReceived and BuffersSent

dotnet.db.client.commands.count

Expand CursorOpens, IduCount and SelectCount

dotnet.db.client.commands.rows

Expand IduRows and SelectRows

Npgsql metrics

dotnet.db.client.commands.pending_requests
db.client.commands.executing
To be instrumented. Synced name to connection metric names

dotnet.db.client.commands.failed
db.client.commands.failed
To be instrumented

dotnet.db.client.commands.use_time
db.client.commands.duration
To be instrumented. Ambivalent on the name, but have tried to sync it to the connection metric names

dotnet.db.client.commands.prepared_ratio
db.client.commands.prepared_ratio
Reported as PreparedExecs, UnpreparedExecs

Additional mopup metric

dotnet.db.client.commands.total

To be instrumented - total commands executed

New transactions metrics

dotnet.db.client.transactions.committed

To be instrumented

dotnet.db.client.transactions.active

To be instrumented

dotnet.db.client.transactions.rolled_back

To be instrumented

dotnet.db.client.transactions.total

To be instrumented

dotnet.db.client.transactions.commit_time

To be instrumented

dotnet.db.client.transactions.rollback_time

To be instrumented

dotnet.db.client.transactions.active_time

To be instrumented

Most of these are pretty generic across different implementations of DbCommand, so might be a useful model for other providers to follow. There's nothing stopping them from being implemented in SqlCommand and being moved into core later. They might also be informative to the rest of the specification's development.
A few points remain:

We've currently got commands.[total|failed|pending_requests] as three metrics. I'm thinking about whether it'd be better semantics to have commands.count{status=failed|pending|succeeded} and commands.total as rollups
It'd be good to have a PoolName property or similar in the connection string, so pool.name doesn't need to just be the redacted connection string. This is definitely limited to the wish list
A way to group specific commands. This might be a list of KeyValuePairs on the SqlCommand, so that commands which we expect to have a different performance profile can have their metrics tracked independently

If you and someone from the SqlClient team are happy with the approach, I can start work on the basic infrastructure, implement the first mandatory metric and then start trickling the rest of the metrics in piecemeal.

FWIW I'd prefix the non-standard metrics with sqlclient rather than dotnet - I think the idea is for that to represent the specific component emitting the non-standard metric (so you know where it's coming from). In this case it's SqlClient rather than the .NET runtime etc.
Other than that, I'd recommend concentrating on the basic support as a first step, and then iterate from there, rather than thinking too much up-front about e.g. a new PoolName in the connection string or command groupings. There's definitely a lot that's possible with OpenTelemetry instrumentation, but it's probably a good idea to design the advanced stuff separately and as they become relevant etc.


multi-agent approach should now use .env file for config of llm

This addresses issue #764
Changed the call_llm  function

to re-use the "select the right model from .env" from GPT-R
Changed the handling of the response in "json" mode to return a parsed json, else return the response as is.
Simplified the function to take less params, as most can/should be configured either via task or .env (Config() from GPTR, or config_file)

@ElishaKay, I tried to touch as little code as possible, but also don't fully grasp the langgraph logic you built. Please check If I broke something essential.
I can run and generate reports using multi-agent with AzureOpenAI now. (but my report switched from English to Spanish in the last agent -- my colleagues tell me GPT-4o likes to speak Spanish more than English and often does that.)

@danieldekay that's awesome!
Great initiative, as usual :)
@assafelovic wrote the multi_agents backend so he's probably you're point of contact here
From my end, I can offer you an automated test that we can trigger before merging new PR's to master - in that way, if a pull request introduces a bug into running multi_agents with azure, our automated test should catch it
What I'll need to do that:

your multi_agents/task.json
an example env

Regarding localization: Sounds like you should add to the prompt: "I don't speak Spanish - please answer in English" - we'll need to search the codebase for existing localization features if we plan to extend / enforce the existing localization.
May the force be with you

Haha, yes, I found my Spanish problem: it's inside task.json in the guidelines.
https://github.com/assafelovic/gpt-researcher/blob/c897a1f30df43f82df29918c97cd64107e1630cf/multi_agents/task.json#L15


chore(main): release siyuan-plugin-publisher 1.20.1

:robot: A new release will be created
1.20.1 (2024-03-12)
Bug Fixes

rectifying packaging errors (e13bf42)

Miscellaneous

deps-dev: bump vite from 5.1.5 to 5.1.6 (cac7cc6)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/terwer/siyuan-plugin-publisher/releases/tag/siyuan-plugin-publisher-v1.20.1 :sunflower:


Extract currentDayOfWeek

Will be useful in https://github.com/ambiata/engineering/issues/97
cc/ @nhibberd

:+1:

:+1:


Replace Loader::helper by Core::make

As you said, Loader::helper is now deprecated and should be replaced by Core::make.
Should I run a sed script to remove them all and send a pull request?

@aembler your thoughs?

It's not a huge priority – honestly, I think I'd prefer a more holistic fix that not only removed helper/ but also rerouted some of those things. Since there's really no need for helper/ to be in front of these things (and it doesn't really make any sense anymore.)
For example, in addition to keeping helper/validation/error around for legacy purposes, we also bind Core::make('error') to the error object, since it's so useful. I think keeping the old bindings around for legacy purposes, and actually adding new bindings to more semantic pointers (ie, without helper in them) and THEN replacing Loader::helper for this would be smart.
Even if we just replace "helper" with "service" in some of these examples (since that's also what some of these area – like Core::make('service/date'); instead.
Probably want @KorvinSzanto to weigh in on this at some point when he has time

I


[Not a issue!] | Please Read. (i have created a fan reddit community.)

Hey, I love your program. I've been using it for a long time, I thought it was a shame there wasn't something like a community Discord server or a Reddit community.
so i created a fan community.
that people from the community and the developers can exchange ideas.
i can of course understand if this "post" is deleted, because this is an advertisement and this is not an issue report.
to the developers, if you contact me, i will give you admin rights on this reddit community. if you want, i will also transfer the ownership rights.
Reddit Community link:
https://www.reddit.com/r/streama

Thank you for this while I am not the maintainer I would suggest speaking with some of the community on our discord
https://discord.gg/CJEHWX9
Please note this project is no longer actively developed.


Yabai unable to handle in-app popups/modals even when rule added to not manage app Macos Sequoia

I have these rules added in my yabairc to not manage Fusion360 and Ticktick so I am able to move them around anywhere but for some reason, yabai see's the window, doesn't manage is so I am able to move it anywhere I want but in-app popups are still managed(?).
For example, I'll create a task in Ticktick and then click on the date to add a due date and it opens up a modal with a calendar but for some reason yabai is handling that modal/popup and I move my mouse to that modal and it disappears.
yabai -m rule --add label="Fusion" app="^Fusion$" title="(Autodesk Fusion (Education License)|)" manage=off
yabai -m rule --add label="Fusion" app="^Autodesk Fusion 360$" title="^$"  manage=off
yabai -m rule --add label="TickTick" app=^Ticktick$" title="^$" manage=off
yabai -m rule --add label="TickTick" app=^TickTick$" title="^$" manage=off
yabai -m rule --add label="TickTick" app=^Tick Tick$" title="^$" manage=off

https://github.com/user-attachments/assets/d7c9193e-a81a-460b-af62-7c6ceb236692
The same issue happens in Fusion360 as well. Is there a way to have yabai not manage modal/popups as well? Or am I missing something in my rule?
Yabai Log -
https://github.com/Vib1240n/Logs/blob/6c0f5f1a8aaedd7e470c7dd8cb6dbc2f68a0fa66/yabai.log

I'm having the exact same issue with Fusion 360. Did you manage to to unable it?


Provide a list of example apps to help build community

I created a list of examples that I'd love to see built by us (I'm happy to contribute). All these are taken from the React ecosystem. We can use this list as a guidelines and top-level things that the community will need to come onboard and be successful.  Note: We may already have some ready to be used.
In JS, we can solve everything 100s of ways. I'm looking to provide a set of "prescribed" ways of doing things (both for small and large apps) - even if it comes with some caveats.

Examples from React To Be Ported To Hyperapp
The purpose of this is to have links to examples that shows Hyperapp's core concepts, organizing large projects, dealing with 3rd party libraries and so on.
All the examples should try to have:

Have a testable UI (i.e. not just concepts)
Have Comments/documentation
Closer and similar to "Elm" architecture than "React" architecture.

Use Functional programming tehniques
Use Functional libraries like Ramda (if needed)
Use Flow (if possible) for type checking.
Use "MayBe" or Null checks to avoid all run-time errors.

Explain Concepts

React Tutorial - https://facebook.github.io/react/tutorial/tutorial.html (final app: https://codepen.io/gaearon/pen/gWWZgR?editors=0010)

What is Model-View-Update
States and Lifecycle - https://facebook.github.io/react/docs/state-and-lifecycle.html
Passing data through "props"
Handling Actions
Handling DOM events
React's classes vs Hyperapp's functions
Conditional Rendering https://facebook.github.io/react/docs/conditional-rendering.html
Immutablilty https://facebook.github.io/react/tutorial/tutorial.html#why-immutability-is-important
Keys in lists - https://facebook.github.io/react/tutorial/tutorial.html#keys

Forms https://facebook.github.io/react/docs/forms.html

"Refs" and DOM equivalent https://facebook.github.io/react/docs/refs-and-the-dom.html

"Composition vs inheritance" - https://facebook.github.io/react/docs/composition-vs-inheritance.html

"Higher-order components" https://facebook.github.io/react/docs/higher-order-components.html

"Reconciliation" equivalent in HyperApp https://facebook.github.io/react/docs/reconciliation.html

Testing - Jest?

Namespace resolution

Mixins - Why and How

Styling

Examples that shows how to style components
How to use various CSS libraries like "Styled components".

Explain How To Organize Code And Build Realistic Apps

Provide a large app and uses 3rd party libraries, Has authentication routes, has at least 10 different components.

For example: Shopify clone that uses shopping cart, user authentication, products list, products details, emails, change password etc.

https://wrapbootstrap.com/theme/ant-reactjs-admin-web-app-WB034D136

Build Fun Apps:

Tetris With States - https://github.com/skidding/flatris (currently in React)
Gopherize me  - https://gopherize.me/ (Go language)
Emoji Search - https://github.com/ahfarmer/emoji-search (currently in React)
Product comparison - https://github.com/Rhymond/product-compare-react
Todo Example
HackerNews Clone

Integrating 3rd party apps
https://facebook.github.io/react/docs/integrating-with-other-libraries.html

Integrating With jQuery plugin - https://facebook.github.io/react/docs/integrating-with-other-libraries.html#integrating-with-jquery-chosen-plugin
Google Analytics in React - https://github.com/react-ga/react-ga
Stripe Checkout in React - https://github.com/azmenak/react-stripe-checkout
D3 in React https://github.com/emeeks/d3_in_action_2/tree/master/chapter9/reactd3 (D3 in React) Blog link: https://medium.com/@Elijah_Meeks/interactive-applications-with-react-d3-f76f7b3ebc71

Hyperapp Reusable components

Create a partial list of awesome-react-components: https://github.com/brillout/awesome-react-components
React-Bootstrap https://react-bootstrap.github.io/

[Source]

@rajaraodv thanks for getting the ball rolling on this! Other sources of inspiration we could look to are the Elm examples and Vue.js examples.

@rajaraodv I feel this should be a check list, otherwise this issue will stay open forever.

+1 for Graphql example

I found the examples over at next.js very helpful when i started out. I feel alot of times i don't need to see the result of it, just some example code of how to get started with different implementations.

We have hyperapp/awesome for cataloging example apps already built with Hyperapp. What I think we need is a list of example apps not yet built but that we would like to see built with Hyperapp. Maybe even come up with some non-monetary bounty incentive. 🤔

Free Hyperapp stickers and random Japanese gift.

Here's a (quite simple) example app written with Hyperapp https://github.com/zaceno/happy

Oh and since someone mentioned Tetris, here's a start if someone wants to finish it (needs scoring, levels, main menu, prettiness...)
https://codepen.io/zaceno/pen/JreKPN?editors=0010

Let's see what we have accomplished so far. We have better documentation. We have a CodePen with basic examples and a Medium Publication Hyperapp Vox Populi.
We also have an unofficial LearnHyperapp by @mrozbarry, if you want to join Alex in that adventure, all you need is ask him to add you as a collaborator of that organization.
We are on Twitter, follow  @HyperappJS for news and announcements. If you make something cool with Hyperapp and want exposure, @mention us. You can also share it on /r/Hyperapp or submit it to hyperapp/Awesome.
It's not much, but it's a solid start.


Calling unknown method: yii2mod\cart\Cart::getSession()

'components' => [
        'cart' => [
            'class'          => 'yii2mod\cart\Cart',
            'storageClass' => 'yii2mod\cart\storage\DatabaseStorage'
        ],
]

Hi, thanks for issue. Issue was fixed and the documentation has been updated.  Please try to update the package via composer.

Hi, thanks for the module. But I'm not going to use 'yii2mod\cart\storage\DatabaseStorage'.
Use "REPLACE" only valid for mysql.
My test code for postgresql v9.5:
 $command->setSql("
                INSERT INTO {$this->table}
                ({$this->idField}, {$this->dataField})
                VALUES (:id, :val)
                ON CONFLICT ({$this->idField})
                DO UPDATE SET {$this->dataField} = EXCLUDED.{$this->dataField}
            ")->bindValues([
                ':id' => $identifier,
                ':val' => $sessionData,
            ]);

Why DatabaseStorage does not extends ActiveRecord?
The class CartItemInterface contains a new method getPrice(). The basket may contain items which have no prices. The basket is not necessarily used for the store - this is my thought.

Yes, I agree with you. I think that we can rewrite the save function in the DatabaseStorage for more compatibility with other databases.

I agree with you to a certain extent. But, i think that the basket more often used for purchases of products that have a price. If product without price, we can use the following code for skip it:
    public function getPrice()
    {
        return null;
    }

What do you think about it?

The class CartItemInterface contains a new method getPrice(). The basket may contain items which have no prices. The basket is not necessarily used for the store - this is my thought.

will have to do
public function getPrice()
    {
        return null;
    }

In php-postgresql problem:
https://github.com/yiisoft/yii2/issues/10823
https://bugs.php.net/bug.php?id=53756
while solved so:
base64_encode(serialize($items))
unserialize(base64_decode($items))

Hi,

In php-postgresql problem:
yiisoft/yii2#10823
https://bugs.php.net/bug.php?id=53756

while solved so:

base64_encode(serialize($items))
unserialize(base64_decode($items))

Can you create pull request for this problem?

This is bug of php. This is a temporary solution of problem. It does not deserve pull request :).
I would in future releases recommended methods: toggleItem (or toggle) and findItem (or find).
Now not very convenient to use by adding and removing from the basket a single item, if you don't know is it in the basket or not.

And how to understand successfully whether the added or deleted item from cart?

And how to understand successfully whether the added or deleted item from cart?

Both functions return an object "Cart" and at the moment I don't know how to implement it.

But, i think we can add the exeption when item was not be saved to the cart, for example we can modify add function like this:
if(($save && $this->storage->save($this)) === false)  {

}


Upgrade sqlparser-rs to v0.24, migrate Interval from Literal to Expr

Main change is that we now no longer have AstLiteral::Interval and that is replaced by Expr::Interval.
cc. @ding-young

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

112 of 114 (98.25%)  changed or added relevant lines in 16 files are covered.
3 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.02%) to 98.308%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

core/src/executor/evaluate/mod.rs
13
15
86.67%

Files with Coverage Reduction
New Missed Lines
%

core/src/data/interval/mod.rs
1
99.47%

core/src/data/interval/primitive.rs
1
98.36%

core/src/data/interval/string.rs
1
99.55%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
38696

Relevant Lines:
39362

💛  - Coveralls


[ENH] extern +catcher syntax for non extern cdef functions and methods

Is your feature request related to a problem? Please describe.
In my code, I would like to do [...]
cdef _somefunc(...) except +catcher
     # make some calls to C++ code that has arguments with
     #Rvalue&& move semantics produced by C++ calls that get screwed up if they themselves were marked except+

in 3.0.8 this produces: Only extern functions can throw C++ exceptions. error at compile
This was working in 3.0a6 and is used by at least one extension at Meta.  There is some advanced C++ with folly::SemiFuture that are not copyable and we get away with it because the code generator usually produces cxx_call_schedule_future[FutureResultType](cxx_call2_get_future(args), future_handler_written_in_cython, <PyObject *> fut). The issue is some times cxx_call2_get_future throw exceptions, but if we make that def except+, it screws up code generation and makes invalid C++.
But being able to wrap a cython cdef in an except +catcher is quite handy.
Describe the solution you'd like.
We go back to allowing except+ on cdef methods not extern
Describe alternatives you've considered.
In the past I have fixed this by producing a .h file that has a helper that wraps the future in yet another future so the exception gets caught up in the future so the future_handler_written_in_cython can examine the results of the future and handle the exception in a way that doesn't produce broken C++ code.   This can be very problematic as it requires a helper function in C++ to exist for every C++ function we want to use from cython that has this behavior.
I have a workaround i'm going to try in that I can set cxx_call_schedule_future as except+ and see if that works and I think it might.
Additional context
function names in my examples have been made up to protect the innocent.

I have had similar issues with non extern cdef functions that return unique_ptr.   I have to produce my own definition for make_unique that doesn't include the except+.   Otherwise the exception handling breaks the C++ code.

Also as this seems to have been made a compile error on purpose I don't call this a bug but a feature request

If I understand correctly, inside _somefunc you call some c++ functions that can throw exceptions but which you're unable to mark as except+  because Cython fails to generate usable code for their return types. Therefore you're using except +handler to translate outside the Cython-defined function.
I don't think it was ever intended that this worked in Cython. With that said, the error message was targeting plain except+ (which did nothing) rather than except +handler (which does something, even if not intended).
The big problem is that a c++ exception will break any reference counting that happens inside _somefunc.
I guess we could re-enable it for functions with no reference counted variables. I'd be very wary of re-enabling it generally though.

Changing the error to a warning in Nodes.py does re-enable the expected behavior so it still works technically

Would be nice if there was a mechanism to inject a C++ try/catch  at arbitrary points

I've made a PR, although I'm in two minds if it's a good idea so I'm not going to merge it myself.
What I'm more interested in is having an example of code where the temp-handling doesn't work. We now move rather than copy a lot of temps in Cython 3, so my belief is that this type of code generally should work. If there's something we could improve with that, it'd probably be a much better fix.

I agree with @da-woods that having a concrete (toy, if necessary) example that exposes this issue would help. I would like to avoid covering up a bug that we can fixed by allowing users to do things that we cannot fix.

Hello up there.
Let me add a comment here because Pygolang is also using except +topyexc for
non-extern functions which stopped to work with Cython 3 and so Pygolang is
currently  using Cython < 3 as its build dependency.
First to note: there is a whole "nogil" subsystem inside Pygolang: there are
nogil functions to create channels, do operations on them, and more. Overview
of this subsystem is in https://pypi.org/project/pygolang/#cython-nogil-api .
Practically all functions exposed by that subsystem can raise C++ exceptions -
a panic in pygolang speak. For example if a user does ch.send(...) and the
channel ch was already closed, it will raise a C++ exception saying that it is
invalid to send on a closed channel.
Then all those functions exposed by the nogil subsystem are not marked as
except +.  They are not marked as such so that it is possible to do nogil
programming on the user side with calling nogil pygolang only inside leaf
functions while still being able to organize user program with subroutines.
For example:
cdef nogil:

    void fff(chan[int] ch):
         ggg(ch)

    void ggg(chan[int] ch):
         ch.send(1)

Here if chan.send would be marked as except +... any C++ exception raised
by that chan.send, would be converted to Python equivalent right after the
call and would be not propagated to fff. Which is not good from nogil point
of view because fff, and all its nogil callers, want to see the nogil C++
exception as it is originally raised.
Then sure, when nogil part of the program is interfaced to python part, there
is a need to convert C++ exceptions to python-level exceptions. What pygolang
is using to do that is that for every nogil C++ function that is invoked from
gil python-related part, it is creating _pyexc wrapper with except +topyexc
annotation so that that X_pyexc wrapper calls X with C++-level
try/catch, and upon catching C++ exception translates it to Python-level
exception with the help of custom topyexc converter:
cdef extern from "golang/libgolang.h" namespace "golang" nogil:
    _chan  *_makechan(unsigned elemsize, unsigned size)
    ...

cdef nogil:
    _chan* _makechan_pyexc(unsigned elemsize, unsigned size)    except +topyexc:
        return _makechan(elemsize, size)

    ...

cdef class pychan:
    def __cinit__(pychan pych, size=0, dtype=object):
        pych.dtype = parse_dtype(dtype)
        pych._ch = _makechan_pyexc(dtypeRegistry[<int>pych.dtype].size, size)

(see https://lab.nexedi.com/nexedi/pygolang/-/blob/044deb35/golang/_golang.pyx for full source)
This works correctly because there is no py-level refcounting happening inside
nogil part of the program. But Cython 3 stopped to support this and gives
compilation error with saying that
cdef nogil:

    _chan* _makechan_pyexc(unsigned elemsize, unsigned size)    except +topyexc:
    ^
------------------------------------------------------------

golang/_golang.pyx:569:4: Only extern functions can throw C++ exceptions.

A minimal example to demonstrate this problem is below:
---- 8< ---- (x.pyx)
# cython: language_level=2
# distutils: language = c++

cdef extern from * nogil:
    """
    #include <stdexcept>

    void panic() {
        throw std::runtime_error("panic");
    }
    """
    void panic()

cdef void topyexc() except *:
    raise RuntimeError('zzz')

cdef nogil:
    void do_aaa():
        do_bbb()
    void do_bbb():
        panic()

    void do_bbb_pyexc() except +topyexc:
        do_bbb()

do_bbb_pyexc()

With Cython 0.29.37 it works correctly as expected:
(z-dev) kirr@deca:~/tmp/trashme/cy$ cythonize -i x.pyx && python -c 'import x'
Compiling /home/kirr/tmp/trashme/cy/x.pyx because it changed.
[1/1] Cythonizing /home/kirr/tmp/trashme/cy/x.pyx
running build_ext
building 'x' extension
...
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-vgIf7a/python2.7-2.7.18=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-vgIf7a/python2.7-2.7.18=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC /home/kirr/tmp/trashme/cy/tmpFtZphD/home/kirr/tmp/trashme/cy/x.o -o /home/kirr/tmp/trashme/cy/x.so
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "x.pyx", line 28, in init x
    do_bbb_pyexc()
  File "x.pyx", line 16, in x.topyexc
    raise RuntimeError('zzz')
RuntimeError: zzz

However with Cython 3.0.10 the build fails with Only extern functions can throw C++ exceptions:
(1.venv) kirr@deca:~/tmp/trashme/cy$ cythonize -i x.pyx && python -c 'import x'
Compiling /home/kirr/tmp/trashme/cy/x.pyx because it changed.
[1/1] Cythonizing /home/kirr/tmp/trashme/cy/x.pyx
performance hint: x.pyx:19:4: Exception check on 'do_aaa' will always require the GIL to be acquired.
Possible solutions:
        1. Declare 'do_aaa' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
        2. Use an 'int' return type on 'do_aaa' to allow an error code to be returned.
performance hint: x.pyx:21:4: Exception check on 'do_bbb' will always require the GIL to be acquired.
Possible solutions:
        1. Declare 'do_bbb' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
        2. Use an 'int' return type on 'do_bbb' to allow an error code to be returned.

Error compiling Cython file:
------------------------------------------------------------
...
    void do_aaa():
        do_bbb()
    void do_bbb():
        panic()

    void do_bbb_pyexc() except +topyexc:
    ^
------------------------------------------------------------

x.pyx:24:4: Only extern functions can throw C++ exceptions.
Traceback (most recent call last):
  File "/home/kirr/tmp/trashme/cy/1.venv/bin/cythonize", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/kirr/tmp/trashme/cy/1.venv/lib/python3.11/site-packages/Cython/Build/Cythonize.py", line 251, in main
    _cython_compile_files(all_paths, options)
  File "/home/kirr/tmp/trashme/cy/1.venv/lib/python3.11/site-packages/Cython/Build/Cythonize.py", line 67, in _cython_compile_files
    ext_modules = cythonize(
                  ^^^^^^^^^^
  File "/home/kirr/tmp/trashme/cy/1.venv/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1154, in cythonize
    cythonize_one(*args)
  File "/home/kirr/tmp/trashme/cy/1.venv/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one
    raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: /home/kirr/tmp/trashme/cy/x.pyx

So would you please restore except +topyexc to be possible to do for at least nogil functions?
Thanks beforehand,
Kirill

This works correctly because there is no py-level refcounting happening inside
nogil part of the program. But Cython 3 stopped to support this and gives
compilation error with saying that

So would you please restore except +topyexc to be possible to do for at least nogil functions?

The trouble is that this isn't true and that actually refcounting does happen in the nogil part of programs. Memoryviews are specifically designed to have reference counting that can happen without the gil for example:
cdef void f(double[:] a) nogil:
    cdef double[:] b = a

f has reference counting and needs to correctly decrement the reference count of b on exit.
cdef void g() nogil:
    with gil:
        print(None)

g has a with gil: block so although the function is nogil it isn't generally safe for a C++ exception to propagate through it.
cdef extern int some_func()

cdef int h() nogil:
    raise RuntimeError(some_func())

h has an implicit with gil block. The complication here is that some_func is actually run inside that implicit block, so if it raises a C++ exception then it'll fail to release the GIL again appropriately.

In general there's a surprising number of places where Cython generates cleanup code that needs to be run that doesn't involve the GIL. While I did propose a PR to restore the misfeature (with a suitable warning) it's not really ever safe to use.

@da-woods, thanks for feedback.
I see. After rechecking things a bit all your examples fall into the category
where nogil function needs to take the gil inside. This is true for both with gil and for raise RuntimeError, which is taking the gil implicitly. And it is
also true for memoryviews, which, internally do the same "with gil" logic inside e.g. __Pyx_INC_MEMVIEW:
https://github.com/cython/cython/blob/cf10ea12e3fc3637cf14e1bf962b295f53cc1a50/Cython/Utility/MemoryView_C.c#L529-L555
I would say one of the solutions could be to track whether a nogil function
reacquires gil internally and to reject except +topyexc only for those who
does.
Note that it is also generally possible to adjust utility code to be
C++-exception safe, e.g. in C++ mode to release the references via C++
destructors, which are cared to be automatically invoked by all C++ conformant
compilers. But I'm not pushing for that.
Please note that here we are not talking about new feature. Here we are talking
about the feature that was already provided and used to be there. Sure, it was
generally unsafe to use, but the codes who used it with care, did so correctly.
So if Cython is to remove the feature to prevent incorrect usage, in my view it
should provide a way for that existing codes to continue to work. I would say
more careful filtering-out could work (disable only under conditions that are
known not to work correctly and leave it possible to be used when everything
can be proven to be safe), or add a "safety-belt off" directive for those who
know what they are doing.
Without any of that there is simply no way for things like Pygolang
Cython/nogil mode to be upgraded to Cython 3.
Kirill


Video panel lift off

default settings, just installed clean youtube center into TamperMonkey 3.11.4666 in Chrome 43.0.2357.130 m (64-bit) on Win10
https://gist.github.com/1b9216d73019c485245c

Happens to me with Greasmonkey on Firefox with the latest developer edition.

Same.

Probably related to #1912..


Vid2Seq: Fixing typo in variable name: jave_jre->java_jre

Script main.py contained a typo in the variable name, which caused NameError: name 'java_jre' is not defined.
Fixing the typo: jave_jre->java_jre

Which java version should be downloaded?


EXSWHTEC-283 - Introduce build dependencies for numerical accuracy tests

Introduce Boost 1.70.0 as a build dependency
Create a CMakeLists.txt for math tests
Implement move constructor for LinearAllocGuard
Introduce command line options
Introduce complieAndCaptureOutput.py for negative tests.

PR has been merged into develop branch via commit 122403f464365213e22bfd11cd8cb19c232b5468.


added sample generator function (#517)

Coverage decreased (-3.06%) to 92.465% when pulling c713516243412d9a92a4a0cd8b942f7993d2c6df on sepehrs1378:sample-function into 93b384673074fe959c9691d02d2a0fec8cd394fa on chancejs:master.


Problems with test_net_builder()

Intermittent problems with test_net_builder() present in CI server logs.
Could be a problem with the test or with net_builder API.

@michaeltryby very strange. These fails come and go. The two last commits gives different errors (here and here) while in the third there is no problem with this test.
I just forked the project and this test passes.

I have been working on cleaning up the unit tests. Today I have been focusing on the net builder tests. I wrote the following simple test case:
BOOST_AUTO_TEST_CASE(test_init_close)
{
	std::string path_rpt(DATA_PATH_RPT);
	std::string path_out(DATA_PATH_OUT);

	EN_Project ph = NULL;
	EN_createproject(&ph);

	int error = EN_init(ph, path_rpt.c_str(), path_out.c_str(), EN_GPM, EN_HW);
	BOOST_REQUIRE(error == 0);

	error = EN_close(ph);
	BOOST_REQUIRE(error == 0);

	EN_deleteproject(&ph);
}

When I build and run this test case in debug configuration I get a memory leak. This means that all the memory being allocated isn't being cleaned up. I believe this problem is related to the Issue I noted earlier about memory leaks when saving and reopening an input file.
Does anyone want to take a stab at fixing this?

@michaeltryby I will take a look at it, but without using the BOOST library. I ran debug leak detection tests on the dynamic comment string commit I just made (which helped me fix some things along the way).

@LRossman I am doing the same. So far the curvedata() and addpattern() are getting flagged.

Adding the following lines to EN_init() in epanet.c will fix the leaks you mentioned:
    // Initialize the default demand pattern
    p->parser.MaxPats = 0;
    getpatterns(p);

    freeTmplist(p->parser.Patlist);      //new line
    freeTmplist(p->parser.Curvelist);    //new line

There's a remaining 3 leaks of 8 bytes each which are listed but without file names and line numbers which is very frustrating :angry:.

I found the source of the remaining leaks. It's in the lines that are marked below:
        std::string path_rpt(DATA_PATH_RPT);  //*****
	std::string path_out(DATA_PATH_OUT);  //*****

	EN_Project ph = NULL;
	EN_createproject(&ph);

	int error = EN_init(ph, path_rpt.c_str(), path_out.c_str(), EN_GPM, EN_HW);

If you replace them with the following then there are no more leaks:
	EN_Project ph = NULL;
	EN_createproject(&ph);

	int error = EN_init(ph, DATA_PATH_RPT, DATA_PATH_OUT, EN_GPM, EN_HW);

Great work!  Looks like there are still more leaks though. I identified one in getcurves() while running test_demand_categories.cpp.

Getting periodic segfaults when running test_demand_categories()

The contributing factor to this leak and the previous one found for Patterns is the use of the Tmplist structure to temporarily store pattern factors and curve data points as they are read from an input file. After the file reading is done the values in the Tmplists  are transferred to the permanent Spattern and Scurve data structures in the getpatterns and getcurves routines. The code for doing all this is unnecessarily convoluted. I'd like to rewrite the input file reader to eliminate the use of Tmplist and just use realloc to expand the size of the pattern and curve data arrays in their respective Spattern and Scurve structures as their values are read from a line of input. Sound good?.

Identified a memory leak at EN_addnode() line 1679.

BTW, to eliminate the memory leaks from EN_addnode() do the following:

After line 1796 add the line: node->D = NULL;
After line 1822 add the line p->parser.MaxNodes = net->Nnodes;
At line 404 of project.c, replace j = 0 with j = 1.


TileMap undo misses a large amount of tiles

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Windows 10 (x64), Godot 3 Alpha 2
Issue description:
When using Undo (both Ctrl-Z and through the menu) to undo the placing of multiple tiles with a single mouse click (hold and drag the mouse around), random tiles are missed and stay in the scene.
Example:

Steps to reproduce:

Select any TileMap node
Place multiple tiles by clicking and holding down the left mouse button
Undo

cc: @Zylann
I suspect this is because of #12334, not confirmed though.

Weird, I read my own diff and I see the modified tiles are correctly all set into the paint_undo variable... Why would they be missed?

https://github.com/godotengine/godot/blob/5fb359d8b1d58061af2d64b304dc0e62c9228efc/editor/plugins/tile_map_editor_plugin.cpp#L976-L978
Are you sure you don't want has(pos) instead? I don't know. I could be wrong.

@Noshyaar ooooh you're right. Simple fix then :D


Need to support deep comparison.

Hello, I am very happy to see exciting projects like immer that help us to manipulate data more conveniently and safely. However, I found that the problem is that immersed in data manipulation only makes shallow comparisons. This can cause duplicate rendering problems in React rendering. So, can immer support depth comparison?
you can use this library.  https://github.com/FormidableLabs/react-fast-compare
import produce from "immer"

const aa = {
   mm:[
     {name:"123"}
   ]
}

let kk = produce(aa,(state)=>{
  state.mm[0] = {name:"123"}
})

console.log(kk === aa) //Expected result : true

@mweststrate I hope this "is" function replace to deep equal function(https://github.com/FormidableLabs/react-fast-compare). https://github.com/mweststrate/immer/blob/master/src/proxy.js#L79

In general there should not much need to do so when relying on immutability
in the first place. The whole idea is that you want to avoid deep equal
checks by using immutable, structurally shared data structures so that you
can rely on pointer equality. In the few cases where you can't do so, you
can do the deep equal check in userland code before making the assignment
Op zo 22 apr. 2018 om 11:11 schreef Janry<EMAIL_ADDRESS>
@mweststrate https://github.com/mweststrate I hope this "is" function
replace to deep equal function(
https://github.com/FormidableLabs/react-fast-compare).
https://github.com/mweststrate/immer/blob/master/src/proxy.js#L79
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mweststrate/immer/issues/143#issuecomment-383366962,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABvGhPzKoCP45I538oLC1eXJRwEFhn1Rks5trElJgaJpZM4TevMi
.


editing of nested plugins breaks when STATIC_URL changes

I noticed that when you change your STATIC_URL in your django configuration then the plugin instances which are nested inside some text plugin become uneditable from the admin.
The reason is that that the location of the plugin placeholder icon is stored in the database with the expanded value of STATIC_URL at the time the plugin was created. E.g. <img src="/static/cms/images/plugins/link.png" alt="my link" id="plugin_obj_4" title="my link"/>.
As a result relocating your STATIC_URL becomes a messy process.

looks like a documentation issue if anything to me

While it would be good to have a note about this somewhere in the documentation, I hardly find it a documentation issue.
This makes it harder for people to reconfigure their site at will, which doesn't sound right. Site settings are meant to be changed, so although STATIC_ROOT is not expected to change often, it should not be treated as immutable.
I understand that the issue is not very urgent, but I think it should be fixed sooner or later.

Given that STATIC_ROOT doesn't change often fixing this dynamically (e.g. have javascript replace STATIC_ROOT with the actual path when editing the plugin and the inverse when saving the the plugin) would probably not worth the extra effort.
Would it be an acceptable solution to add a management command that updates the expanded value of STATIC_ROOT in your existing text plugins? This command would have to be manually invoked when STATIC_ROOT changes.

by the way are you sure that you're talking about STATIC_ROOT and not STATIC_URL?

You are right. I meant STATIC_URL. I have updated the thread accordingly.

Thank you, makes a lot more sense now and I understand how this is a real issue. Milestone changed to 2.3

So an update form MEDIA_URL to STATIC_URL is currently not possible? Meaning 2.2.post version to 2.3 develop?


[MNT] Replace pydocstyle with ruff

pydocstyle is deprecated, the recommended replacement is ruff.

I vote to not make all those changes in this PR 🙂.

To be replaced with #1277


feat(bottomsheet): add finger touch feature to close botoom sheet

Feature Description
user can close bottom sheet when touch that in mobile device
Use Case
No response

Closing as duplicate of #24936


Update HPO tests to run with the docker image

HPO standalone tests start the HPO service and mimic the search space at present. Update HPO tests to run with the HPO docker image

Closing this issue, as HPO is now moved to a separate repo and this issue has been fixed there.


Error and warning updates

Issue Summary

Warnings should be a yellow flash message. And should not stop conversion.
OdkException by ppp.run() should not convert. Red flash message. No stack trace.
All other Exception by ppp.run() should not convert. Red flash message. Include stack trace.

1. Warnings
Description
Warnings should not stop conversion.
The ppp core and CLI (http://github.com/PMA-2020/ppp) creates warnings and errors. Errors are exceptions that are raised. Warnings are printed to stderr, but do not raise an exception. Currently, ppp-web does not convert a file if it sees a message in stderr. We should change that. It should only stop conversion if there is an Exception
Desired/expected behavior
If a warning is shown in Stderr, conversion should continue, and the warning message should appear in the browser.

Actual behavior
PPP-web thinks that it is an error, and cancels conversion. Message displayed also looks like an error.

Additional information
I don't know why, but right now ppp.pma2020.org and ppp-staging.pma2020.org can convert the attached file. There isn't even an error message. However, if you clone this repo and run locally, and try to convert his file, you will see an error.
Where is the logic that handles errors/warnings located?
I think it will help to look at views.py, around line 77:
# if ppp.ppp tool wrote something to stderr, we should show it to user
        if stderr:
            flash("STDERR:\n{}".format(stderr), "error")
            return redirect(url_for('index'))

Attachments

warnings.xlsx.zip

2. Exception handling forOdkException
Remove stack trace from error message.
Here is an example
OdkChoicesError.xlsx.zip
Converting this file should make this kind of error message:

3. Exception handling for any other exception that is not OdkException
For these exceptions, please show the stacktrace.
Here is an example
UnhandledException.xlsx.zip
Converting this file should make this kind of error message:

Task list

[x] 1. Warnings - warnings should not stop conversion.
[x] 2. OdkException - do not show stack trace
[x] 3. All other Exception - show stack trace

@bciar Everything looks like it works now to me!


Package and publish CSV/JSON location data display release

see #35 and #59 and update changelog.

see: https://github.com/RandomFractals/vscode-leaflet/releases/tag/v1.3.0


Adds in gridTemplateAreas and gridArea

For #156; I took another look and decided I should try and implement it myself if I couldn't find it :slightly_smiling_face:; happy to implement any required changes if need be.
Also don't quite know how I really feel about the areas name for the not none constructor but I don't know a better name off hand.

Thanks for your PR

Perfect


JBPM-5990 - new date range picker

Wrapper classes to handle daterangepicker and moment.js
Added default translations
Applied default options and translations to daterangepicker options
Added example usage to widgets showcase

@ederign @mbarkley please take a look, especially if you have any feedback around the jsinterop usage.

@mbarkley thanks for your feedback, I've applied most recommendations, please take another look.


Potential bug?: Trouble does not respect sidebar

When using trouble.nvim with a sidebar plugin such as nvim-tree or neo-tree, opening trouble does not really respect the sidebar like a regular split does. Where a regular horizontal split is created, it ignored the sidebar area completely and opens in the space where the buffer currently is, whereas trouble splits the whole buffer in half, messing with both the sidebar and my tabline. Screenshots for this are as below.
It does resize properly when the sidebar is closed and re-opened and I have a mapping which closes my sidebar, opens trouble and re-opens it, but I was wondering if there is a better way to do this as this does not reflect when I open trouble manually without the keybinding.
Current behaviour:

Expected behaviour:

This may be a potential bug indeed, cause in my case, if I first open neo-tree and toggle Trouble, then quit Trouble, the cursor will focus on the neo-tree (I prefer the cursor focus on code window because I toggle trouble in that window).
It can be solved by change two lines:
https://github.com/folke/trouble.nvim/blob/490f7fe6d227f4f7a64f00be8c7dcd7a508ed271/lua/trouble/view.lua#L352-L353
to:
 local pos = { bottom = "j", top = "k", left = "h", right = "l" }
 vim.cmd("wincmd " .. (pos[config.options.position] or "k"))

This solution sort of solved my problem. Perhaps you (@folke ) could think about modifying the command that opens the window?

Development on the main branch is EOL.
Trouble has been rewritten and will be merged in main soon.
This issue/feature either no longer exists or has been implemented on dev.
For more info, see https://github.com/folke/trouble.nvim/tree/dev


getGroup(final String group) method in ElementDefinitions returns Element.class for an Entity

In ElementDefinitions, the getGroup(final String group) method returns Element.class for an Entity. It should return Entity.class.

I have just removed the method as it wasn't used.

Merged into develop.


Feature Request: Turn on volume set

Is it possible in the config to set a volume when the loudspeaker is switched on?

https://github.com/bbriatte/homebridge-soundtouch-platform/issues/3#issuecomment-489419144

adding with v1.1.1
key: onVolume

Just tested, works great.
Many Thanks!!!


aten::layer_norm perf improvement

Description
Improve converted aten::layer_norm performance by removing unnecessary POW layer, do not add gamma/beta layers if not needed. Functionality covered by existing unit tests.
Fixes # (issue)
Type of change
Please delete options that are not relevant and/or add your own.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
This change requires a documentation update

Checklist:

[ ] My code follows the style guidelines of this project (You can use the linters)
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas and hacks
[ ] I have made corresponding changes to the documentation
[ ] I have added tests to verify my fix or my feature
[ ] New and existing unit tests pass locally with my changes
[ ] I have added the relevant labels to my PR in so that relevant reviewers are notified

Superseded by https://github.com/pytorch/TensorRT/pull/2509


Create schule.txt

Little note: Every school (except for universities) in Bremen manages everything with the same server. Every student at every school (except for universities) has a schule.bremen.de email address.

@Deazl Could you please provide us with an official confirmation of how this domain is used? Are there any regulations regarding schools' students emails published by a municipal government body, ministry of education, or somewhere else? It's OK to give us an URL where it's said that every student has such an email in Bremen. We must be careful including any domain with massive amount of users to this repository, thus I am asking you for some aditional information.
Thank you for your understanding!

Hey @philipto
theres not much on the internet about the email system, but here's a small site on the official website of Bremen about it: http://www.lis.bremen.de/medien/it_infrastruktur/e_mail-5590
I hope this helps you!
Best regards,
Deazl_

@Deazl Thank you for the clarification! Pull request merged.


Add extensive tests for TicketAnalyser

Now that all analysis of tickets is performed by ticket analyser, all scenario tests should be present for it
Working on it

Fixed by #254


The valid value of opacity

I have some questions about the opacity

I set column "weight" as opacity, there are 2 values in this col, 1 and 255.
A sample line in my df is {'name':'some name', 'month':'2022-02', 'weight':255}, name as Y and month as X, and weight means the opacity of the cell such as a heatmap.
If this col is "dimension", then drag on opacity, it looks fine. But if set as "measure", it looks been calculated for the whole column.
And even if I set the weight from 10 to 100, or 1 to 255, or 0.1 to 1, the opacities look the same, is it some normalization happened? Can I set a specific value for the opacity?

As a new feature, there might be a way to set the domain ([min, max]) of a certain channel or a quatitative field in the future. Details about interaction are under discussion now.


Subsetting: WASHb Kenya histogram for "Time to water source" is not showing all of the data

In the WASHb Kenya study, the histogram on the subset tab for 'Time to water source' has an x-axis that extends from 600, but the data seems to stop ~200 (even after changing to log scale & zooming in). The range indicator states that the data ranges from 0-600.

Using the visualization histogram, I can see the data at ~600.

Live site data also extends to ~600.

After giving this some thought, and trying really hard to find a way to send it back to EdaSubsettingService, I agree that it belongs here. In this particular case, the client should set the displayRangeMax to rangeMax + binSize. Should we do the same for an annotated displayRangeMax?

However... I do think the viz and distribution service should handle inclusive/exclusive the same for bins. But that can probably be handled separately.

Yes. We should I think do this for the annotated display range too, because the person who sets that value has no way of knowing what bin width the user will choose. And if the viz tab is doing anything differently I think it's a bug, or some default behavior I failed to override.

For bins:

in subsetting: [min, max)
in viz: (min, max] (the first bin is [min, max])

Hi guys.
I agree this is a front-end issue. There was a time when we calculated the axis range from max(binEnd) and then we didn't, for some reason!  I'll claim this and fix it.

For bins:
* in subsetting: `[min, max)`

* in viz: `(min, max]` (the first bin is `[min, max]`)

Oh dear - see https://github.com/VEuPathDB/EdaNewIssues/issues/38 !!

I agree this is a front-end issue. There was a time when we calculated the axis range from max(binEnd) and then we didn't, for some reason! I've usually tried hard to make sure the histogram component doesn't omit data it has been given, but again, this must have slipped somehow.

Actually the code is still there that uses something like max(binEnd) - so I'll have to investigate further why that last bin isn't showing.

@bobular in this particular case, the data range is 0 - 600, and the bin size is 25. It happens that 25 divides evenly into 600, so the last bin has 600 as its max. Since the distribution endpoint used by subsetting treats bins as max-exclusive, the elements associated with 600 are not included. However, in the visualization plugin, bins are max-inclusive, and so include the elements associates with 600. I would bet that if bin size were not a divisor of 600, we would get all data.
I think the current proposal to add the bin width to rangeMax or displayRangeMax makes the most sense.

@dmfalke With the new code deployed today, the final bin returned by subsetting distribution is now guaranteed to contain the data range max (even if it means creating a "remainder bin" that ONLY contains values exactly matching the max).  Given this, can you simply use the first bin min and last bin max as the view port?

Hmm... users can specify the viewport, so I'm a little hesitant to use something different than what was requested. I'm more inclined to extend the max of the viewport for the default. Otherwise, we have to determine if the range was user-supplied or algorithmically derived.

I'll figure something out, don't worry guys!

looks great, thanks team!


install bcbio-nextgene in aws ec2 instance

Hi,
I tried to install it isolately in one aws ec2 instance, but had the following error. It seems that it can't determine the distribution. Could you please tell me how to fix it in fabricrc.txt? Thanks!
Traceback (most recent call last):
File "/mnt/giant2/software/bcbio/anaconda/bin/bcbio_nextgen.py", line 207, in
install.upgrade_bcbio(kwargs["args"])
File "/mnt/giant2/software/bcbio/anaconda/lib/python2.7/site-packages/bcbio/install.py", line 81, in upgrade_bcbio
upgrade_thirdparty_tools(args, REMOTES)
File "/mnt/giant2/software/bcbio/anaconda/lib/python2.7/site-packages/bcbio/install.py", line 373, in upgrade_thirdparty_tools
cbl_deploy.deploy(s)
File "/mnt/giant2/software/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/init.py", line 65, in deploy
_setup_vm(options, vm_launcher, actions)
File "/mnt/giant2/software/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/init.py", line 101, in _setup_vm
_setup_cloudbiolinux(options)
File "/mnt/giant2/software/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/init.py", line 195, in _setup_cloudbiolinux
ignore_distcheck=not need_distcheck)
File "/mnt/giant2/software/tmpbcbio-install/cloudbiolinux/cloudbio/utils.py", line 93, in _configure_fabric_environment
_setup_distribution_environment(ignore_distcheck=ignore_distcheck)
File "/mnt/giant2/software/tmpbcbio-install/cloudbiolinux/cloudbio/distribution.py", line 33, in _setup_distribution_environment
env.distribution = _determine_distribution(env)
File "/mnt/giant2/software/tmpbcbio-install/cloudbiolinux/cloudbio/distribution.py", line 310, in _determine_distribution
raise Exception("Attempt to automatically determine Linux distribution of target machine failed, please manually specify distribution in fabricrc.txt")
Exception: Attempt to automatically determine Linux distribution of target machine failed, please manually specify distribution in fabricrc.txt
Traceback (most recent call last):
File "bcbio_nextgen_install.py", line 276, in
main(parser.parse_args(), sys.argv[1:])
File "bcbio_nextgen_install.py", line 46, in main
subprocess.check_call([bcbio["bcbio_nextgen.py"], "upgrade"] + _clean_args(sys_argv, args, bcbio))
File "/usr/local/lib/python2.7/subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)

Sorry about the issues. We'd be happy to update the detection code to be able to handle your system. Would you be able to provide more details about what type of machine you're running on? It would help us to know the output of:
cat /etc/*release
cat /proc/version
cat /etc/issue

Thanks for helping with debugging.

$ cat /etc/*release
Amazon Linux AMI release 2014.03
$ cat /proc/version
Linux version 3.10.42-52.145.amzn1.x86_64 (mockbuild@gobi-build-64003) (gcc
version 4.8.2 20131212 (Red Hat 4.8.2-7) (GCC) ) #1 SMP Tue Jun 10 23:46:43
UTC 2014
$ cat /etc/issue
Amazon Linux AMI release 2014.03
Kernel \r on an \m
Thank you very much for your help!
Best,
On Fri, Sep 25, 2015 at 12:28 PM, Brad Chapman<EMAIL_ADDRESS>wrote:

Sorry about the issues. We'd be happy to update the detection code to be
able to handle your system. Would you be able to provide more details about
what type of machine you're running on? It would help us to know the output
of:
cat /etc/*release
cat /proc/version
cat /etc/issue
Thanks for helping with debugging.
—
Reply to this email directly or view it on GitHub
https://github.com/chapmanb/bcbio-nextgen/issues/1035#issuecomment-143315329
.

--
Junfei Zhu

Thanks much for the details. I pushed a fix which should detect these older Amazon AMIs. If you remove any cached directories (rm -rf tmpbcbio-install) and re-run the command it should hopefully detect this correctly and proceed with installation. Please let us know if you run into any other problems and happy to re-open this.

Thanks! I have installed successfully.
Best,
On Fri, Sep 25, 2015 at 1:45 PM, Brad Chapman<EMAIL_ADDRESS>wrote:

Thanks much for the details. I pushed a fix which should detect these
older Amazon AMIs. If you remove any cached directories (rm -rf
tmpbcbio-install) and re-run the command it should hopefully detect this
correctly and proceed with installation. Please let us know if you run into
any other problems and happy to re-open this.
—
Reply to this email directly or view it on GitHub
https://github.com/chapmanb/bcbio-nextgen/issues/1035#issuecomment-143335142
.

--
Junfei Zhu


Add replacedOrder to metadata

Add a new type of metadata: replacedOrder
This meta-data will allow to specify which order UID to replace when doing a replace order operation.

[x] Add new datata type
[x] ~Version schema: v1.1.0
[x] Build new types and adapt compile.ts to export the new metadata schema
[x] Build tests: happy path, not-so-happy path

Validations

The metadata is optional, as all other metadatas
If present, all the props are mandatory: uid
uid is the order UID of the order to replace

I have read the CLA Document and I hereby sign the CLA

recheck

_ No description provided. _

Please add a description.
Example: https://github.com/cowprotocol/app-data/pull/53

Also @Mateo-mro , please remember is important to add a good description, because reviewer arrive to PRs from working in something else, and might need to be given some context on the motivation and what to expect from the PR.
One other thing that is missing, is that you build and commit the autogenerated files. For that, you need to build it

You will need to install yarn if you haven't done so: https://classic.yarnpkg.com/lang/en/docs/install/

I have read the CLA Document and I hereby sign the CLA

@Mateo-mro I see you addressed the comments. Thanks for that!
When you address the comments, if you want another review, make sure you re-request it here:


doc: AwsSolutions-CFR4: The CloudFront distribution allows for SSLv3 or TLSv1 for HTTPS viewer connections.

Describe your issue?

AwsSolutions-CFR4: The CloudFront distribution allows for SSLv3 or TLSv1 for HTTPS viewer connections.

Per recommendation under https://github.com/cdklabs/cdk-nag/blob/main/RULES.md#errors

AwsSolutions-CFR4
The CloudFront distribution allows for SSLv3 or TLSv1 for HTTPS viewer connections.
Vulnerabilities have been and continue to be discovered in the deprecated SSL and TLS protocols. Help protect viewer connections by specifying a viewer certificate that enforces a minimum of TLSv1.1 or TLSv1.2 in the security policy. Distributions that use the default CloudFront viewer certificate or use 'vip' for the SslSupportMethod are non-compliant with this rule, as the minimum security policy is set to TLSv1 regardless of the specified MinimumProtocolVersion

I tried the following. However, that did not resolve the issue
            minimumProtocolVersion: cdk.aws_cloudfront.SecurityPolicyProtocol.TLS_V1_2_2021,
            sslSupportMethod: cdk.aws_cloudfront.SSLMethod.SNI,

Related: https://github.com/aws/aws-cdk/issues/6547

Distributions that use the default CloudFront viewer certificate or use 'vip' for the SslSupportMethod are non-compliant with this rule, as the minimum security policy is set to TLSv1 regardless of the specified MinimumProtocolVersion

Are you using the Default viewer certificate?

Are you using the Default viewer certificate?

@dontirun , yes, i.e. I am not setting up a separate cert. I use whatever cert cloudfront provides.

Do you have a code example to reproduce the issue?

@greenpau how did you fix this issue?


Allow binding to multiple exchanges

I'm in need to be able to hook the worker to multiple exchanges with they're own routing keys. Currently the only way I can achieve this is by creating one worker per exchange, or manually creating the binding to the new exchange (and the pain point which is maintaining that binding across environments).
Could we add an option to provide those exchanges + routing keys? I'd be happy to work on a PR for it.
I imagine having something like this:
class MyWorker
  include Sneakers::Worker

  from_queue 'my-queue',
    :exchanges => [
      {
        :name => 'my-first-exchange',
        :type => 'topic',
        :routing_key => [
          "my-routing-key-a",
          "my-routing-key-b",
          "my-routing-key-c"
        ]
      },
      {
        :name => 'my-second-exchange',
        :type => 'topic',
        :routing_key => [
          "my-routing-key-x"
        ]
      }
    ]
end

How does this sound?

I think the right thing to do is to use Bunny directly, not reinvent its features with endless options.

How would you go about maintaining bindings in different/new environments for that worker? Is there any way to run some initialization code for a worker? I guess I can manage some kind of inherited worker to perform them, but I was wondering if you had run into this or had some ideas on how to approach it.

Having a way to initialise with arbitrary code (that has access to the underlying Bunny session and channel) is a very good idea.

:+1:  I'll close this and try to send a PR with some initialization per worker solution.


Service Connection & Schema Name - Improve Tableau

Tableau site_name and site_url both are same - we need to make one of these optional and use the same in the process of creating an connection.
From the thread https://openmetadata.slack.com/archives/C02B6955S4S/p1649328082484669

Yes, removing one of them and reusing the other one will be better

Resolved this in #3946


Avoid use of moment.js

Hi, is it possible to avoid the use of moment.js? The entire moment.js file, compressed, is ~36kb (moment without all locales, but only with the single locale I need)...it's really a lot of space, considering that I only need to translate some strings.
Thanks

nope. this package is totally based on momentjs. You can use a cdn if the file size is an issue. There are other pickers that don't use momentjs

And what do they use instead?

they either use a different date time library or they just use the built in javascript d/t stuff. moment is well worth the weight

Ok


Add logging for contest reminders and go-to contest links

Based on the data we get from this, it should be decided whether or not to disable reminder buttons for non-registered users.


[Change Request] report 5801 "Invt. Valuation - Cost Spec."

Describe the request
Hello, can you please move the following variables to the protected?

    ValuationDate

    ResultForTotalRemAvg

    ResultForAvgCost

    RemainingQty

Additional context
var
        ValueEntry: Record "Value Entry";
        EntryTypeDescription: array[5] of Text[30];
        i: Integer;
        NoOfEntries: array[5] of Decimal;
        PosQty: Decimal;
        TotalCostTotal: array[5] of Decimal;
        TotalRemAvg: Decimal;
        TotalCostAvg: array[5] of Decimal;
        TotalCost: Decimal;
        IsPositive: Boolean;
        ResultForTotalCostTotal: array[5] of Decimal;
        ResultForUnitCost: array[5] of Decimal;
        ResultForTotalCostAvg: array[5] of Decimal;
        ResultForTotalCost: Decimal;
        ResultForRemainingQty: Decimal;

        Text000: Label 'As of %1';
        Text001: Label 'Enter the valuation date.';

    protected var
        ValuationDate: Date;
        ResultForTotalRemAvg: Decimal;
        ResultForAvgCost: Decimal;
        RemainingQty: Decimal;

We need them for performing our custom calculations.
Internal work item: AB#527548

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: .


No option to create graph for openupm version.

Unity 2020.2.3f1

Create a new project by UnityHub
Add NodeGraphProcessor by openupm add com.alelievr.node-graph-processor
Open unity project
Expect Assets/Create have an option to create Graph, but there's none.

Packages/manifest.json
{
  "dependencies": {
    "com.unity.ide.rider": "2.0.7",
    "com.unity.ugui": "1.0.0",
    "com.unity.modules.ai": "1.0.0",
    "com.unity.modules.androidjni": "1.0.0",
    "com.unity.modules.animation": "1.0.0",
    "com.unity.modules.assetbundle": "1.0.0",
    "com.unity.modules.audio": "1.0.0",
    "com.unity.modules.cloth": "1.0.0",
    "com.unity.modules.director": "1.0.0",
    "com.unity.modules.imageconversion": "1.0.0",
    "com.unity.modules.imgui": "1.0.0",
    "com.unity.modules.jsonserialize": "1.0.0",
    "com.unity.modules.particlesystem": "1.0.0",
    "com.unity.modules.physics": "1.0.0",
    "com.unity.modules.physics2d": "1.0.0",
    "com.unity.modules.screencapture": "1.0.0",
    "com.unity.modules.terrain": "1.0.0",
    "com.unity.modules.terrainphysics": "1.0.0",
    "com.unity.modules.tilemap": "1.0.0",
    "com.unity.modules.ui": "1.0.0",
    "com.unity.modules.uielements": "1.0.0",
    "com.unity.modules.umbra": "1.0.0",
    "com.unity.modules.unityanalytics": "1.0.0",
    "com.unity.modules.unitywebrequest": "1.0.0",
    "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
    "com.unity.modules.unitywebrequestaudio": "1.0.0",
    "com.unity.modules.unitywebrequesttexture": "1.0.0",
    "com.unity.modules.unitywebrequestwww": "1.0.0",
    "com.unity.modules.vehicles": "1.0.0",
    "com.unity.modules.video": "1.0.0",
    "com.unity.modules.vr": "1.0.0",
    "com.unity.modules.wind": "1.0.0",
    "com.unity.modules.xr": "1.0.0",
    "com.alelievr.node-graph-processor": "1.0.0"
  },
  "scopedRegistries": [
    {
      "name": "package.openupm.com",
      "url": "https://package.openupm.com",
      "scopes": [
        "com.openupm",
        "com.alelievr.node-graph-processor"
      ]
    }
  ]
}

Hello, When NGP is installed as a package, it doesn't include the context menu actions to avoid polluting the menus with stuff that you may not need (especially because NGP is intended to be used as a dependency for a specific graph project).
That's why the context menu options are contained in a sample of the package. That being said it's apparently broken in the current version, so I'll try to solve this issue (I leave this issue open until I fix it).

Thanks for the bug report!

This has been fixed in the 1.1.0 version


Fix test name of "hotline.cy.js"

Description
This PR fixes the name of the Cypress test "hotline.cy.js"
What was changed?

https://github.com/corona-warn-app/cwa-website/blob/master/cypress/e2e/hotline.cy.js

Thanks to @MikeMcC399 for spotting this in https://github.com/corona-warn-app/cwa-website/pull/3356#issuecomment-1426670908.

Looks better.
It's a minor point, but now the capitalization of "hotline" is different and inconsistent between the title and the detail.
You might like to add "hotline" to the title of this PR.

@MikeMcC399 I changed the title of the PR and fixed the capitalization issue. I squashed the commits and force-pushed to this branch. Hope that's ok with you!

@Ein-Tim @MikeMcC399 Thanks for fixing the cypress test!


Automated cherry pick of #201: Make kfctl show an alpha cmd Cherry pick of #201 on v1.0-branch. #201: Make kfctl show an alpha cmd

This change is

/test kubeflow-kfctl-presubmit


Can't get data from an association

I see that code to get data from an association that isn't included was committed in https://github.com/chingor13/json_api_client/commit/f0506036f41dd2b8f0da5fb37eb9e1841b87cbaa
But it's not working for me, although the test for the code is here and passes. https://github.com/chingor13/json_api_client/blob/master/test/unit/association_test.rb line 160 to 204.
In my code the relationship is defined with an underscore
class MyClass < etc
    has_many :bonus_features
end

This creates a relationship, which correctly maps to the api end points etc/bonus-features and I can add things to the bonus features related to an instance of the class. But I can't retrieve the bonus features which is very odd as they're clearly there if I look via Postman.
A little bit of digging shows that when I call
 an_instance_of_my_class.bonus_features

Nothing is sent to the api. I'm expecting to see a GET /my-classes/{an-id}/bonus-features, but nothing is sent. I'm guessing that the code that looks up the relationships to validate the association doesn't work with underscores.
Any ideas?

Ok, I've worked it out. In my base class I set;-
self.json_key_format = :camelized_key
self.route_format = :dasherised_route

Then it works. I found this out by reading the tests and then hunting down 'json_key_format' to find out where it was set. It would be nice if these things were mentioned in the documentation.
I'll close this now.


Add support for "No Protocol Fee" Liquidity Bootstrapping Pools

This PR is a follow up to #1488
Here we add support for the NoProtocolFeeLiquidityBootstrappingPoolFactory, which is (as the name suggests) a version of LiquidityBootstrappingPoolFactory without protocol fees.
It shares all indexing logic with LiquidityBootstrappingPoolFactory, so this PR is mostly just the boiler plate to add the new factory deployment information, as well as factory type for configuring Balancer liquidity to index this pool on startup.
Test Plan
No new logic. Expanded existing unit test to check deployment information is set in generated contract code.
Manual test results:
$ cargo test -p shared -- balancer_fetched_pools_match_subgraph --ignored --nocapture
...
2021-12-22T15:14:34.155Z  WARN shared::sources::balancer_v2::pool_fetching::tests: unknown_pools=[]
test sources::balancer_v2::pool_fetching::tests::balancer_fetched_pools_match_subgraph ... ok
...

Codecov Report

Merging #1502 (0150fbf) into balancer-lbps (fa808de) will decrease coverage by 0.03%.
The diff coverage is 48.21%.

@@                Coverage Diff                @@
##           balancer-lbps    #1502      +/-   ##
=================================================
- Coverage          66.12%   66.09%   -0.04%
=================================================
  Files                163      164       +1
  Lines              31174    31229      +55
=================================================
+ Hits               20615    20642      +27
- Misses             10559    10587      +28

I see that these no protocol fee pools are being treated as a completely different pool type.

They are the same "pool type" in that they have the same PoolInfo and PoolState types and produce WeightedPools. They also reuse 100% of the logic from the existing LBP implementation. However, they need to be indexed separately because they have a separate factory address. Also, since they are a separate factory, we also want the ability to enable/disable them independently (hence the additional BalancerFactoryKind variant).


Empty prefix

Hi I am currently working on a story that needs to parse environment variables to env structs, and your library is exactly what i needed! However, the env structs i'm working with, the fields does not always have the same prefix or have prefix at all, so I added this patch to support empty prefix. Hope this is useful for other people as well.

This feature has been merged. closing this PR.


Selected value dropdown

Bug report
What I did:
I have added an dropdown value for a status in a CRUD page.
$this->crud->addField([
            'label' => "Status",
            'type' => 'select',
            'name' => 'stat', // the db column for the foreign key
            'entity' => 'status', // the method that defines the relationship in your Model
            'attribute' => 'status', // foreign key attribute that is shown to user
            'model' => "App\Models\Status",
        ]);

What I expected to happen:
I am trying to get the selected value on a dropdown for a crud page.
What happened:
The values in the dropdown get returned but no saved/selected value is defined in the dropdown. It looks like that value is not saved in the database but in reality it is.
What I've already tried to fix it:
Backpack, Laravel, PHP, DB version:
Backpack Latest, Laravel 5.7, PHP 7.2, Mysql 5.7

The mistake was from my part when I have created the relation. Is not a bug.


Update VEP results page

Description

Added VEP submissions header to the results page
Set up links to viewed submissions vs unviewed submissions.
When user visits the results page for a given VEP submission, mark that submission as viewed
Make sure the expansion/collapsing of transcripts is scoped within a gene and within an alternative allele; i.e. pressing the expand/collapse button does not affect transcripts in other rows.

https://github.com/user-attachments/assets/50587fb5-8678-45af-9d60-ac298d67d583
Related JIRA Issue(s)
https://www.ebi.ac.uk/panda/jira/browse/ENSWBSITES-2705
Deployment URL(s)
http://vep-results-page.review.ensembl.org

The VEP jobs I submit keep failing with 500 errors. Am I doing something wrong? Also noticed the edit button is broken.

The edit/rerun button still hasn't been made to work (there's a ticket in the backlog). As for the 500 errors on submission, I bet it is the tower agent being down again.
See this Slack thread for instructions on how to bring it back.

When I view the VEP result and try to go to the region or gene, I get get an error. This is a python error though.
https://github.com/user-attachments/assets/db196f97-038f-4dab-9822-1fadfc52f8f6

When I view the VEP result and try to go to the region or gene, I get get an error. This is a python error though.

Is the url formed correctly? This is the only thing we should be truly concerned with in this case. From the video recording, we are seeing a problem with the track api in review deployment, which is quite a separate issue. You will see that the track api is broken in dev-2020 as well.

@azangru Yes it seems to be broken regardless. Doesn't seem to be affected by this PR.


CloudException is not deserializable via ISerializable

CloudException doesn't include ctor(SerializationInfo info, StreamingContext context) which prevents deserialization via ISerializable.
Newtonsoft.Json.JsonSerializationException: ISerializable type 'Microsoft.Rest.Azure.CloudException' does not have a valid constructor. To correctly implement ISerializable a constructor that takes SerializationInfo and StreamingContext parameters should be present. Path '', line 1, position 1009.

@dsgouda can you take this.
We need to make sure we have test coverage once you add the appropriate constructor for full desktop.

@shahabhijeet I have added a couple of test cases trying to deserialize the CloudException object on FullDesktop framework here but was not able to replicate this issue.
@JohnSchmeichel Could you please provide more details about your project so we can take a look.

Please open a new issue with repro code if you are still experiencing this issue.


Can you tell us about this redis process...?

While reviewing processes, i've seen this process :
redis2 --donate-level 1 -o ve01.kieuanilam.me:5555
What is it about ?
kieuanilam.me is a weird endpoint.

No sorry. Fulltext search inside this repo against kieuanilam.me is not bringing any results.
Does not look like something from this repo.

It looks like this : https://github.com/laradock/laradock/issues/2346. Please re-open this issue while it's obvious that if we are in cryptojacking case, fulltext search will not be sufficient.

@dcourtin looks like your Redis was available via public IP.
Putting a Database without authentication on the public isn't a good idea :).
Therefore it's possible that your Redis got compromised. The steps in the laradock issue should work fine.
Please Note: This stack is built for local development and not for production use.
I'm currently working on a reconstruction of our branching model: Branch reconstruction-103. I've planned to make more clear in the Readme, that this stack was built with local development in mind.
I could imagine that we could solve this generic issue, by isolating the Redis and MySQL Database onto a separate Docker Network. So when users came along and decide to use their Apache on a Public IP, the Databases stay capsulated.
@narendravaghela any opinion about this ?

@MrOffline77 I agree.
Sometimes, if we don't have the good security steps in place, Redis makes the server available to be hacked via its port.
We should work on that network separation/isolation part and apply the better solution to secure this stack.

Fixed here: Click me
MySQL and Redis are no longer available via public ip. The user does need to make any change. MySQL could become a thing, if someone takes dumps from external ip's. This should rather be done from the host executing the stack itself for security reasons.

Cryptojackers are scanning looking for redis servers that are vulnerable to this RCE vuln..


belong

Was it in a sentence? There is a blong as in ‘ak blong eak Mla mei.’

Was it in a sentence? There is a blong as in ‘ak blong eak Mla mei.’

Alii e re belong! Ng kmal ungil tia el ongdibel.

Wow, these folks who came! It’s a great gathering.
Yeah?
On Thu, Jun 8, 2023 at 12:46 PM s-o-u-a-n-g @.***>
wrote:

Was it in a sentence? There is a blong as in ‘ak blong eak Mla mei.’
Alii e re belong! Ng kmal ungil tia el ongdibel.
—
Reply to this email directly, view it on GitHub
https://github.com/tekinged/missing/issues/416#issuecomment-1583158369,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPT2PXUIMYUE5VIABRJX4LXKIMXVANCNFSM6AAAAAAYICNZQE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hello, crowd of people! It's a great gathering.
I think it's a way of saying BELUU as in the people of a place rather than the place itself.


feat: Add LightGBM streaming execution mode

Summary
Add the streaming execution mode to LightGBM wrapper.  This mode uses almost no memory on top of what LightGBM needs to execute.
Tests
Tests will be modified to run in both bulk and streaming mode before checkin.  Before this PR was pushed, LightGBMClassifier tests were all passing for streaming mode (the bulk of the tests).
There are also some new tests just for streaming components and instrumentation in Common.
Dependency changes
This PR cannot be checked in without corresponding changes in native LightGBM library, or pointing to custom upload.  https://github.com/microsoft/LightGBM/pull/5299
AB#1891953

/azp run

/azp run

/azp run

Codecov Report

Merging #1580 (8511169) into master (e4f0883) will decrease coverage by 76.70%.
The diff coverage is 0.00%.

 Take ten seconds to tell us how you rate us. Have a feature suggestion?


update observation space docstring

Description
The docstring for the observations space in the Fetch Push, Slide, PickAndPlace tasks has a typo. I didn't find a similar problem in Reach. This is only a change to the docstring.
Fixes # (issue)
Type of change

[x] This change requires a documentation update

Screenshots
n/a
Checklist:

[ ] I have run the pre-commit checks with pre-commit run --all-files (see CONTRIBUTING.md instructions to set it up)
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

can you run pre-commit?
can you point to the code that corresponds to the changed documentation (with a perma-link)
Thanks

Here's the relevant code:
https://github.com/Farama-Foundation/Gymnasium-Robotics/blob/f2754e19011a6ef329a40efc92dfa4bad81a22d3/gymnasium_robotics/envs/fetch/fetch_env.py#L205C1-L205C51
I'm seeing the same failure on pre-commit, not sure what would cause it to break.

I will merge as soon as I fix the CI situation

The perma-link provided in a previous post was for the oldmujoco-py based version for context new version:
https://github.com/Farama-Foundation/Gymnasium-Robotics/blob/f2754e19011a6ef329a40efc92dfa4bad81a22d3/gymnasium_robotics/envs/fetch/fetch_env.py#L314-L338