swiper/react virtual won't support RTL direction

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Swiper Version: 6.1.1

Platform/Target and Browser Versions: 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36

Live Link or JSFiddle/Codepen or website with isssue: none

What you did
At swiper 6.1.1 version, swiper/react virtual won't support RTL direction
swiper/react/virtual.js
It may be because you forgot to check whether it is rtlTranslate and set offsetProp to right
Expected Behavior
When I set the dir='rtl', it will set the offsetProp to 'right' correctly
Actual Behavior
At 6.1.1 version swiper/react virtual offsetProp always be 'left'
P.S. Remember, an issue is not the place to ask questions. You can use Stack Overflow
for that.
Before you open an issue, please check if a similar issue already exists or has been closed before.

Fixed by #3756


BUG: Avatars don't talk when bouncing is disabled

Describe the bug
Disabling bouncing disables all reactions to voice activity altogether.
To Reproduce
Steps to reproduce the behavior:

Create a new avatar animated avatar
Enable talking, bouncing, and blinking
Avatar works normally
Disable bouncing
Avatar no longer talks or reacts in any way to voice activity

Expected behavior
Avatars should be able to talk (switch to the "mouth open" frame) even when bouncing is disabled
Environment:

Windows 10
Godot 4.2.2
This issue is probably environment agnostic

Cannot reproduce anymore. Somehow we fixed this along the way.


Fibonacci sequence python program added

New files were not to be created, please read CONTRIBUTING.md before making a PR.


[SPARK-47969][PYTHON][TESTS] Make test_creation_index deterministic

What changes were proposed in this pull request?
Make test_creation_index deterministic
Why are the changes needed?
it may fail in some env
FAIL [16.261s]: test_creation_index (pyspark.pandas.tests.frame.test_constructor.FrameConstructorTests.test_creation_index)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jenkins/python/pyspark/testing/pandasutils.py", line 91, in _assert_pandas_equal
    assert_frame_equal(
  File "/databricks/python3/lib/python3.11/site-packages/pandas/_testing/asserters.py", line 1257, in assert_frame_equal
    assert_index_equal(
  File "/databricks/python3/lib/python3.11/site-packages/pandas/_testing/asserters.py", line 407, in assert_index_equal
    raise_assert_detail(obj, msg, left, right)
  File "/databricks/python3/lib/python3.11/site-packages/pandas/_testing/asserters.py", line 665, in raise_assert_detail
    raise AssertionError(msg)
AssertionError: DataFrame.index are different
DataFrame.index values are different (40.0 %)
[left]:  Int64Index([2, 3, 4, 6, 5], dtype='int64')
[right]: Int64Index([2, 3, 4, 5, 6], dtype='int64')

Does this PR introduce any user-facing change?
no. test only
How was this patch tested?
ci
Was this patch authored or co-authored using generative AI tooling?
no

Merged to master for Apache Spark 4.0.0.

thank you @dongjoon-hyun so much


Esp won't automatically scan for block entities

block Esp is not showing blocks like chests, trapped chests, ender chests, and shulkers without first opening them (please note i don't have ANY blocks set for Esp other than that)

it can be conflict with with farsight mod
i fixed this in few cheatutils versions (not all)

I don't have a farsight mod though and I don't know any mods that are for far sight that I'm running and not even running any of the chunk visuals

Anyway, this looks like some mod conflict. Cheatuitls mod scans chunks in the background. It also processes any block update events. When you open chest, or start mining block - you get block update event from server. For some reasons block scanning is not working for you, but block events are fine.

my mods are baritone, cheatutils, cubes without borders, dynamic fps, ferritecore, immediately fast, item physics lite, lazyDFU, malilib, memory leak fix, mod menu, nbt autocomplete, nbt editor, sodium, tweakermore, and tweakeroo

I don't remember cases when these mods were causing issues, some of them I am seeing first time
If you want this fixed you need to figure out what mod is causing conflict by yourself

i could upload the log

log can help

K I might have to do it tomorrow, tho

I'm gonna send a repository link and then put it in there.It's gonna be private Because I am not comfortable with possibly private information getting sent out

Join matrix server, and send logs there

Oh I don't got one and for a reason I won't say I can't make one

But I sent the invite still

Ok, so you don't want to join matrix, but you expect me to share IP with you?
Owners of ... will be able to see:
Your public profile information
Certain activity within this repository
Country of request origin
Your access level for this repository
Your IP address

oh so that just matrix? so it just lets you see that?
its fine you don't have to send the Ip I can check it to make an account  its just im not sure about it

yea i joined dj__


added fallback for invalid color

NOTE: This change affects all color hex values, including ones in host config and image's background color in payload
Added a check to use color only when its format is #AARRGGBB. Otherwise, simply ignore it

per our email discussion, I also added support for 6-digit hex values, which is quite a bit of change. What do you guys think?


Implement Catalogs pages of the AdminPanel project based on UI/UX design

The catalogs pages must be implemented based on the UI/UX design of the page.
This issue consists of implementing multiple elements. Here is the list of elements:

Catalogs page
Edit catalog page
Add catalog page
Delete catalog modal

this issue is resolved in #2988


Support for async jsonp

For jsonp call ,we need a function that when jsonp data return ,set data to clipboard.
Did clipboard.js support this?I don't  find it.
Thank you!

You could fill some dom element with this data and instruct the user to click in some button to copy the text. Automagicaly you cannot due browser security restriction.


Adds artificial baselink to lift herb

Adds artificial herb_base_link to herb_frame and set the translation so that it is up on ground, facing front by default.

I wish I got to this sooner! As per REP-120, the standard name for this frame is base_footprint. Any chance we could rename it? 😁

Sure. I'll do that now-:D
-Gilwoo
On Mon, Mar 6, 2017 at 8:08 PM, Michael Koval<EMAIL_ADDRESS>wrote:

I wish I got to this sooner! As per REP-120
http://www.ros.org/reps/rep-0120.html#base-footprint, the standard name
for this frame is base_footprint. Any chance we could rename it? 😁
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/personalrobotics/herb_description/pull/34#issuecomment-284587863,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE7LaHBN-VfpxSMjoFvWdse-oOWoPOSGks5rjK3zgaJpZM4MSwMp
.


[Feature][UI Next] Add charts setting.

Purpose of the pull request
close #7542

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

Codecov Report

Merging #7543 (5ef7421) into dev (4c49a8b) will decrease coverage by 0.07%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #7543      +/-   ##
============================================
- Coverage     41.35%   41.27%   -0.08%
+ Complexity     3679     3673       -6
============================================
  Files           641      641
  Lines         26467    26467
  Branches       2961     2961
============================================
- Hits          10945    10925      -20
- Misses        14496    14517      +21
+ Partials       1026     1025       -1

Impacted Files
Coverage Δ

...er/master/processor/queue/TaskResponseService.java
50.00% <0.00%> (-18.19%)
:arrow_down:

...rver/master/processor/queue/TaskResponseEvent.java
93.54% <0.00%> (-6.46%)
:arrow_down:

Continue to review full report at Codecov.

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


Nmap scan showing all port open

When trying to scan any domain,nmap shows all ports open always
![Screenshot from 2020-11-30 15-52-51](https://user-images.githubusercontent.com/30910269/

100598022-2fe04c00-3324-11eb-8f53-04abeec31d06.png)

Wrong repository? Scoop is a Windows-only utility.

This does not appear to be a scoop issue.


Adding forget password and OAuth with google

## Description:
Enhance the signup and login procedure by adding login and signup with google.
And also adding the forget password functionality.
Additional Information
Context:
By adding these functionalities we can provide a great user experience.
Current sign up:

Here at the end we can add these functionalities.
Current login:

Priority Level (optional):
Medium

Please assign this issue to me

I will take care of that.


Added support for RTL languages in word count helper

Got some code for us? Awesome 🎊!
Please include a description of your change & check your PR against this list, thanks!

[ ] There's a clear use-case for this code change
[ ] Commit message has a short title & references relevant issues
[ ] The build will pass (run yarn test and yarn lint)

More info can be found by clicking the "guidelines for contributing" link above.

Really appreciate you taking the time to raise this PR, we love contributions that help make Ghost work for more languages ❤


How can I set args like editable when using vue?

Expected behavior and actual behavior.
I want the grid not editable, and I write this in vue template.
    <canvas-datagrid
      class="data-grid"
      :data.prop="data"
      :schema.prop="schema"
      :editable.prop="false"
      ref="datagrid"
      :style.prop="{width: '100%', height: '100%'}"
    >

But I can still edit the value in cells.
Steps to reproduce the problem.
Here is the code snippet to reproduce the problem: https://codepen.io/programus/pen/jObPOBp
Specifications like the version of the project, operating system, or hardware.
macOS 10.14.6 Mojave
Chrome Version 80.0.3987.163 (Official Build) (64-bit)

That really seems like it should work, sorry it does not.  Here's another way to disable edits:
On the grid template:
  @beginedit="endEdit"

Create an "endEdit" method and put this in it.
  this.$refs.datagrid.endEdit();

That should end the edit as it starts, effectively disabling edits.
Hope that works for you.

@TonyGermaneri Thank you! It works!
But actually, I also want to set some other options like allowSorting, autoResizeColumns, etc.
I also updated the snippet which now have a read only grid but sorting is still allowed: https://codepen.io/programus/pen/jObPOBp
Is there any common way to solve this kind of problem once for all?

add this to your template to prevent column sorting on click:
@beforesortcolumn="$event.preventDefault()"

In spite of the name, allowSorting refers to the context menu option and not the entire grid, the documentation is wrong or this is a bug.
mounted() {
this.$refs.datagrid.attributes.allowSorting = false;
},
Will allow you to get to all the members of the grid instance.

I added a bug ticket to track the bad allowSorting property.  Sorry about that, thanks for finding it.
https://github.com/TonyGermaneri/canvas-datagrid/issues/261

@TonyGermaneri Thank you!
One more question, if I enable the sorting, once I clicked the header of a column it will be sorted ascending or descending, is there a way to reset the sorting to its original order?
btw. I also found another maybe document bug here: https://tonygermaneri.github.io/canvas-datagrid/docs/index.html#tutorial--Format-data-using-rendertext-event
The code does not execute correctly, it would work if I used formattext instead of rendertext event.

is there a way to reset the sorting to its original order?

It's not tracked.  But you can hook into the event and track it yourself.  You can even add menu items to the context menu to reset it.

btw. I also found another maybe document bug

That is a pretty shitty tutorial if it doesn't even work.  I imagine it hasn't worked for some time.  Thanks for finding another bug.  The academic part of my brain thanks you anyway.  The emotional part is starting to feel embarrassed.

is there a way to reset the sorting to its original order?

It's not tracked. But you can hook into the event and track it yourself. You can even add menu items to the context menu to reset it.

I want to do this:

click the column header, it will sort ascending, and have a ▼ icon before header,
click the column header again, it will sort descending, and have a ▲ icon before header,
click the column header one more time, it will restore to the original order (I guess rowIndex have the information), and the icon disappears.
click the column header again, same as No.1

I just read the document of beforesortcolumn and sortcolumn, (I think I found the correct events,) there are some information included in event object as input, but there seems no information about how to control the icon in the header.
Could you give me a guide about how I can implement the 3-click sorting?

@TonyGermaneri Is any advice for my problem above, or just it is not possible?

Sorry, been busy.  No there's not really a way to do this right now without manually resetting the data from the original data source.  There is a ticket to fix this: #215 but it's pretty old.  You can get the behavior you desire by hooking into click events, and hooking into the arrow drawing events.  There are likely a few methods to achieve the behavior.

why I can't use it in vue3?there is nothing to  show


so,Is this only a local datatable manage?It don't support server side data filter and some other operations ?

It don't support server side data filter and some other operations.And  It must provide all the data at the first time.Dont support data load dynamic.Am i right ? Thank you very much.In the future,If it will add feature to load data dynamic.

Hey @JackZong you’re right as it stands today server side support is not finished. I’m cureently working on it and it should be ready soon. This will provide the ability to load in saved data

hey @JackZong in the latest released i've added two SSR options: page and filterList


Optimize orchestration datasource

Class OrchestrationShardingDataSource constructor creates ShardingDataSource with calling twice configService.loadDataSourceConfigurations(ShardingConstant.LOGIC_SCHEMA_NAME), that is unnecessary to call twice.
Changes proposed in this pull request:

Create dataSourceConfigurations map with calling configService.loadDataSourceConfigurations(ShardingConstant.LOGIC_SCHEMA_NAME), then use this map creates ShardingDataSource.

Pull Request Test Coverage Report for Build 1105

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 68.18%

Totals

Change from base Build 597:
0.002%

Covered Lines:
11395

Relevant Lines:
16713

💛  - Coveralls


Describe pr-100 perturbative scheme

Docs on low-order time-saving perturbative scheme.
Hi @S-Streulicht could you please review the forthcoming docs describing your recent #100?
I'm not sure if in the second-to-last equation $z_k^{2}$ is the term? And could you please generally comment on the correctness of my description?

@ckormanyos detailed analysis is upcoming, but on a quick view I saw three issues

On line 340: then full formular contains an z_{k}^{2} not only z_k
We also evaluate z_{k+1}+e_{k+1} for the escape check. In principle e_k could be enought to check since it escapes at some iteration if z_k at that point would escape, it it is for sure at a different itteration.
The z_k are initially calculated with full precission, but used with low precision such as 24 digits.

I would mention that z_k is calculated for one reference point (e.g. the one in the center of the picture) with high precission.
Constrains on the that point: The number of iterations before the it escapes needs to be higher than the orbital points. Interestingly the point dosent have to be bound.
Potentially you might want to formulated the dependancyies on the CPU time more explicit:
With out pertubation: Linear with zoom level (precision) * linear with number of points to calculate * linear with average number of iterations
with pertubation the  zoom levle is more or less constant. Actually we have a small dependancy: the reference point But that's more or less it.

See also #110


ExposeRuntimeCssAssetsPlugin error even after adding the plugin

Hi,
I'm trying to integrate the single-spa-css and getting below exception even after adding MiniCssExtractPlugin and ExposeRuntimeCssAssetsPlugin. Let me know if I'm missing something.

error Error: single-spa-css: to use webpackExtractedCss, add ExposeRuntimeCssAssetsPlugin to your webpack config.

Wepack:
module.exports = (config, options) => {
  const singleSpaWebpackConfig = singleSpaAngularWebpack(config, options);
  singleSpaWebpackConfig.externals.push("shareddata");
  const plugins = [
    new MiniCssExtractPlugin({
      filename: "[name].css",
    }),
    new ExposeRuntimeCssAssetsPlugin({
      // The filename here must match the filename for the MiniCssExtractPlugin
      filename: "[name].css",
    }),
  ];
  singleSpaWebpackConfig.plugins = [
    ...singleSpaWebpackConfig.plugins,
    ...plugins,
  ];
  return singleSpaWebpackConfig;
};

Angular: 12.2.14
Webpack: 5.50.0
single-spa: ^5.9.2
single-spa-angular: ^5.0.2
single-spa-css: ^2.0.0
TIA

I'm having the same problem now on Vue 2. Does anybody know how to this?

I am experiencing the same issue with a setup using module federation.
Upon investigation it seems the error is misleading and not caused by a missing plugin in this case, but an undocumented known limitation with single-spa-css, which is that ExposeRuntimeCssAssetsPlugin doesn't work with code splitting. Code splitting can for instance happen when using the splitChunks Webpack optimization, dynamic imports or module federation.
What triggers it is that the single-spa-css module is bundled in a chunk which is not an initial chunk and/or is a chunk with no CSS. With code splitting, the single-spa-css module might commonly be placed in a non-initial "vendor" chunk separate from the application code and CSS. Because the Webpack runtime is not shared across chunks, the runtime module which defines __webpack_require.cssAssets and __webpack_require__.cssAssetFileName must be added to the same chunk as the consumer in order for the properties to be available. When visiting chunks, the plugin does not necessarily add the runtime module to the right chunk. Thus, at runtime single-spa-css assumes that the plugin is not installed.
I believe this is a complex problem to solve. Even if the plugin added the runtime module to the right chunk in cases of code splitting, it would have to account for multiple CSS assets, and potentially lazy loading of these assets. With multiple entrypoints and/or lazy loading of non-initial chunks, determining the set of CSS assets becomes rather difficult.


push version 2.10.0 to npm

Hey is there any chance that you could push the latest code to npm?

2.10.0 is published on the npm registry!

2.10.0 is the latest of 5 releases
See: https://www.npmjs.com/package/bootstrap-markdown


Tell inside twig if the page is a post or not

I added disqus to my site, but I cant find a way to tell if a page is a post or not in order to do something like:
{% if page_is_post %}

render disqus bla bla...

{%endif%}

I found a variable (not listed in the docs) called 'home' which seems to be true only when the user is in the homepage (which actually works for me) but I dont know if there is something else or a better way to do it, thanks!

Sorry for not answering, I was completely block and try to clean up all issues now.
If you have a post, then the page is inside a folder. So it should be possible to find out with the {{ item }}-tag. Each item-tag has sub-items like "thisChapter", "nextPage", and "prevPage" to build navigations. thisChapter is the parent folder. And the parentFolder holds the information, if it contains pages or posts. So you should be able to do it like this:
{% if item.thisChapter AND item.thisChapter.contains == 'posts' %}

render disqus bla bla...

{% endif %}

I did not test it, but something like that should work.
Sorry again for late reply, maybe it helps someone with a similar question.


Update service-fabric-cluster-fabric-settings.md

Learn Build status updates of commit 328c51d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/service-fabric/service-fabric-cluster-fabric-settings.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@tomvcassidy

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Learn Build status updates of commit f7f348d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/service-fabric/service-fabric-cluster-fabric-settings.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#sign-off

#sign-off

Learn Build status updates of commit 7a4544c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/service-fabric/service-fabric-cluster-fabric-settings.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


x/vgo: A way to temporary NOT use a specific vendored package

currently I don't see any sane way to work on a vendored package without messing up the git workflow and confusing vscode.
Would it make sense to  add support for using an env variable to allow ignoring a specific vendored package  so that I could test an app using a different/modified dependency package?
I tried few workarounds like using .gitignore , --assume-unchanged etc , but none worked well so far when the vendored pakcages are tracked by git which is the case with all projects I have worked on.
On top of that vscode's  file tree colouring also gets confused.

Sounds more like a vscode issue, doesn't it?

that was only an example, but any IDE will behave the same , the main problem is the git workflow though.
The general rule is to never manually touch anything in the vendored folder, so the only way to do this and still make changes to a package would be like I suggested.
@cznic what is your git workflow when you make changes to a vendored package? I am happy to try any suggestions.

Never ever used vendoring. I have no need for it. Seems like with vgo the support for vendoring may get dropped anyway.

without vendoring ,what happens if the source disappears  or changes names?

Nothing. It's on all my machines and in our Gitlab. But generally I try to avoid importing packages that may disappear or break.

vendoring isn't going away as an option most likely: https://groups.google.com/forum/#!topic/golang-dev/FTMScX1fsYk
Are you familiar with the go.mod "replace" directive?
https://research.swtch.com/vgo-tour (under Replacing)

@karalabe rock star!
it seems to address exactly what I am describing. I will try it shortly

@kardianos Haven't yet read the vgo series except for part 1, unfortunately. But I thought I saw rsc expressed the intent to remove vendoring somewhere (reddit? ML discussion)? Not sure IIRC, though.
No difference for me anyway. Haven't used it before and I don't think that's going to change. I still consider vendoring a mistake.

Replace is definitely what you are looking for, not modifying vendored copies directly (at least not if you want to preserve the changes; that might be fine for debugging maybe).

@rsc sorry I didn't understand what you meant by  Replace is definitely what you are looking for is this a library or you mean some manual replace script etc?

I will read the full vgo proposal soon , but wouldn't vgo solve this use case?


Problem: inability to quickly spin up familiar APIs (🚀 omni_rest 0.1.0)

Omnigres faces some adoption challenges as it proposes a different way to develop backends.
Solution: offer an automagic REST API provider
(PostgREST compatible)

Bounty laundry list
This initial PR was the initial prototype to kick-start the project. Covering most of PostgREST functionality is a pretty big project, so we're creating a big collection of bounties!

[x] pg_yregress coverage of the basic functionality (tests are currently missing) ($100)
[ ] Filtering expression sanitization ($250)
[ ] Record insertion, updates with limited update
upserts and deletion ($250)
[ ] Pagination ($100)
[ ] Horizontal filtering ($500)
[ ] Composite/array columns in vertical filtering ($100)
[ ] Resource embedding ($500)
[ ] OpenAPI support (preferably v3) ($500)
[ ] Missing bits of computed fields -- vertical filtering, ordering ($100)
[ ] Aggregated functions ($250)

(the list to be extended and updated)
If you want to take on a particular task, please mention it in the comments below so that others know you are working on it.
Please direct your PRs to the omni_rest branch in @yrashk's fork so they can be included in this PR upon acceptance.
Learn more about bounties
If you have any questions or thoughts, please comment below!

Horizontal filtering is being worked on by @diogob https://github.com/yrashk/omnigres/pull/4

@diogob was doing another round of reviews and thinking about the potential for SQL injections in the where clause. I couldn't break through quoting immediately, which is good. But I wanted to bring to your attention that omni_sql.execute has an optional parameters attribute, which allows passing textual representations of parameters that can be referred to by their index ($1,$2,...)
Do you think it'd be sensible to try going this way to ensure we don't accidentally trip over this issue?
Merry Christmas! 🎄 🎅

Rebased the branch off the current master to keep it up to date.

@diogob was doing another round of reviews and thinking about the potential for SQL injections in the where clause. I couldn't break through quoting immediately, which is good. But I wanted to bring to your attention that omni_sql.execute has an optional parameters attribute, which allows passing textual representations of parameters that can be referred to by their index ($1,$2,...)
Do you think it'd be sensible to try going this way to ensure we don't accidentally trip over this issue?
Merry Christmas! 🎄 🎅

Good to know! I will use the parameters moving forward. On the horizontal filtering I was careful to always place parameter interpolation within a format call that will ensure proper quoting. But I prefer passing the parameters separately for clarity.
After our first release I can also circle back and refactor the horizontal filtering code so we have it all even.
Merry Christmas!


Rework analysis

@onbjerg can you run this? I guess it should be a little bit faster than the previous code, but not by a lot.

Gave this a try, seems to be slower somehow:
~/Projects/github/rari-capital/solmate main* 11s
❯ hyperfine --warmup 3 'forge test --offline --allow-failure'
Benchmark 1: forge test --offline --allow-failure
  Time (mean ± σ):      2.441 s ±  0.142 s    [User: 36.908 s, System: 0.983 s]
  Range (min … max):    2.306 s …  2.773 s    10 runs

~/Projects/github/rari-capital/solmate main* 32s
❯ hyperfine --warmup 3 '../../gakonst/foundry/target/release/forge test --offline --allow-failure'
Benchmark 1: ../../gakonst/foundry/target/release/forge test --offline --allow-failure
  Time (mean ± σ):      2.796 s ±  0.138 s    [User: 42.262 s, System: 1.028 s]
  Range (min … max):    2.575 s …  2.985 s    10 runs

Not entirely sure why it's slower - maybe it's because I now need to do a matches!() to check if it's a push/end of a gas block?

Fun time optimizing :)
@onbjerg i dont thing we will gain a lot by investing time here, skipping this part of code would be the best way.

Could we do the following:

Make Contract::analyze public
Add a new_analyzed method to Contract which allows us to instantiate it with an already analyzed code/jumptable
Add a Option<...> field to EVMImpl which can store an analyzed bytecode
If the above option is Some, make it use the analyzed bytecode and call new_analyzed instead of new here: https://github.com/bluealloy/revm/blob/cb5fbb9adc36c8ee127dce92259356cecbb829b8/crates/revm/src/evm_impl.rs#L363

@onbjerg I made additional change, and tested it a litlle better on some random data. Can you compare it again?

Could we do the following:

Make Contract::analyze public
Add a new_analyzed method to Contract which allows us to instantiate it with an already analyzed code/jumptable
Add a Option<...> field to EVMImpl which can store an analyzed bytecode which can be set client side with e.g a with_analyzed_code method
If the above option is Some, make it use the analyzed bytecode and call new_analyzed instead of new here: https://github.com/bluealloy/revm/blob/cb5fbb9adc36c8ee127dce92259356cecbb829b8/crates/revm/src/evm_impl.rs#L363

Bytecode format needs to be implemented to address this in a proper way.
Introduce Bytecode struct that is going to contain:
pub struct Bytecode {
  bytes: Bytes, //or vec
  bytes_size: usize, // for analysis some bytecode gets padded in that sense having standalone size field is needed.
  info: BytecodeInfo,
}

pub enum BytecodeInfo {
   Default
   Analysed {
      jump_table: Vec<_>,
   }

change this: https://github.com/bluealloy/revm/blob/eb3282dfa37bb4e97145037303dcc1853d88fe34/crates/revm/src/db/traits.rs#L14
and insides of AccountInfo: https://github.com/bluealloy/revm/blob/eb3282dfa37bb4e97145037303dcc1853d88fe34/crates/revm/src/db/traits.rs#L12
to contains Bytecode and make all necesary changes where needed.

@onbjerg I made additional change, and tested it a litlle better on some random data. Can you compare it again?

Can you rebase real quick? :pray:

@onbjerg I made additional change, and tested it a litlle better on some random data. Can you compare it again?

Can you rebase real quick? pray

rebased

Sorry for the delay, I was really busy yesterday :grimacing:
Here's the benchmark with your patch applied:
~/Projects/github/rari-capital/solmate main 49s
❯ hyperfine --warmup 3 'forge test --offline --allow-failure' --runs 25
Benchmark 1: forge test --offline --allow-failure
  Time (mean ± σ):      2.449 s ±  0.115 s    [User: 36.758 s, System: 0.959 s]
  Range (min … max):    2.192 s …  2.653 s    25 runs

And without:
~/Projects/github/rari-capital/solmate main 2m 55s
❯ hyperfine --warmup 3 'forge test --offline --allow-failure' --runs 25
Benchmark 1: forge test --offline --allow-failure
  Time (mean ± σ):      2.107 s ±  0.115 s    [User: 34.400 s, System: 0.840 s]
  Range (min … max):    1.848 s …  2.313 s    25 runs

:thinking:

@onbjerg as the last try I will merge two-loop and check if it helps, maybe localization of a loop helps with speed idk, it is really hard to optimize and maybe test data is not the best representation, either way i want this merged so that we can start working on bytecode format that should be the proper solution for fuzzing contract problem.

In general we're supportive of any kind of change in this neighborhood, let us know how we can be most helpful to keeping the ball rolling.

@onbjerg try this for the last time, i had a small fix here. I tried other option but it was not great, i intend to merge it as it is now.

Lil Web3 (top is this branch, bottom is latest nightly)
~/Projects/github/m1guelpf/lil-web3 main
❯ hyperfine --warmup 3 'forge test --offline --allow-failure' --runs 25
Benchmark 1: forge test --offline --allow-failure
  Time (mean ± σ):      1.040 s ±  0.024 s    [User: 1.132 s, System: 0.050 s]
  Range (min … max):    1.014 s …  1.118 s    25 runs

~/Projects/github/m1guelpf/lil-web3 main 31s
❯ hyperfine --warmup 3 'forge test --offline --allow-failure' --runs 25
Benchmark 1: forge test --offline --allow-failure
  Time (mean ± σ):      1.067 s ±  0.016 s    [User: 1.150 s, System: 0.070 s]
  Range (min … max):    1.042 s …  1.105 s    25 runs

Solmate (top is this branch, bottom is nightly)
~/Projects/github/rari-capital/solmate main
❯ hyperfine --warmup 3 'forge test --offline --allow-failure' --runs 25
Benchmark 1: forge test --offline --allow-failure
  Time (mean ± σ):      2.839 s ±  0.112 s    [User: 35.060 s, System: 0.618 s]
  Range (min … max):    2.578 s …  2.999 s    25 runs

~/Projects/github/rari-capital/solmate main 1m 19s
❯ hyperfine --warmup 3 'forge test --offline --allow-failure' --runs 25
Benchmark 1: forge test --offline --allow-failure
  Time (mean ± σ):      2.727 s ±  0.105 s    [User: 35.863 s, System: 0.726 s]
  Range (min … max):    2.499 s …  2.913 s    25 runs

Feel free to merge, I don't think there's much to gain here in terms of perf unfortunately :disappointed:


Clone Model does not work if a concatentation with one element is used.

System information.

Windows 10
TensorFlow version (use command below): TF-nightly v1.12.1-91194-g44c02012675 2.13.0-dev20230317
Python version: 3.9
GPU model and memory: NA
Exact command to reproduce: See below

Describe the problem.
If I have a model that contains a Concatenate Layer with one element to concatenate, cloning of this model will fail
Describe the current behavior.
Cloning fails
Describe the expected behavior.
Cloning should work.
Contributing.

Do you want to contribute a PR? (yes/no): yes
If yes, please read this page for instructions
Briefly describe your candidate solution(if contributing):

I suppose the error is caused because the flag _preserve_input_structure_in_config is not set to true. I would add this flag to the Concatenate class. However, I am not sure if should add it to a super class as _Merge. I appreciate any hints on that.
Standalone code to reproduce the issue.
from tensorflow.python.keras.layers import Concatenate, Input
from tensorflow.python.keras.models import clone_model, Model

input1 = Input(shape=(1,2), name="input")
concat = Concatenate()([input1])

model = Model(input1, concat)
model.compile()

print("Model exist, now lets try to clone the model..")

cloned_model = clone_model(model) # This line fails

Source code / logs.
...\scratch_2.py", line 12, in <module>
    cloned_model = clone_model(model)

.....

tensorflow\python\keras\layers\merge.py", line 491, in build
    raise ValueError('A `Concatenate` layer should be called '
ValueError: A `Concatenate` layer should be called on a list of at least 1 input.

@sachinprasadhs,
I was able to reproduce the issue on tensorflow v2.11 and tf-nightly. Kindly find the gist of it here.

Hello, Thank you for reporting an issue.
We're currently in the process of migrating the new Keras 3 code base from keras-team/keras-core to keras-team/keras.
Consequently, This issue may not be relevant to the Keras 3 code base. After the migration is successfully completed, feel free to reopen this issue at keras-team/keras if you believe it remains relevant to the Keras 3 code base.
If instead this issue is a bug or security issue in legacy tf.keras, you can instead report a new issue at keras-team/tf-keras, which hosts the TensorFlow-only, legacy version of Keras.
To know more about Keras 3, please take a look at https://keras.io/keras_core/announcement/. Thank you!


Create component metadata for pubsub.redis

Create component metadata for pubsub.redis, like in https://github.com/dapr/components-contrib/blob/master/state/azure/cosmosdb/metadata.yaml

/assign

Closed via #2660


Oauth support

@joewhite101 @mraible Would you mind if I take over the Oauth2 support?
I would like to finish this feature for 1.0.0 milestone

I don't mind at all. Please let me know if you need help testing it!

Hey @danielpetisme that would be awesome, thanks! All yours.
I've had this on my list for ages but never can get back to it. If I can help test or provide reviews let me know.

I'm a bit confuse about this PR and this one https://github.com/jhipster/generator-jhipster-quarkus/pull/89. Maybe we should merge all in only one PR?

Closing PR for #124


Search improvements

Adds pagination and organization facet to search page.
Needs https://github.com/ecolabdata/ecospheres-search-index/pull/2, which also implements a default sort.
I used a select for the organization facet, which is not optimal but there's no autocomplete component (for example) in DSFR.

Can the Org facet select be sorted?

@streino It is! By dataset count.

Saw that after asking 😓
I think it'd make more sense alphabetically. Freq sort makes it difficult to look for a specific org.


Hello Microverse

Hello microverse project
In this milestone I was able to:

Create a new branch according to the GitHub flow rules.

Add a .gitignore file.

Set up a linter for HTML and CSS and made sure that any files that were not relevant were ignored by git.

Create a README file to your project

Add 3 files (each one in a separate commit):

    A index.html file that includes a header with the text "Hello Microverse!". I Used h1 tag .

    A style.css file that includes one class with styles for the h1

    A test.md file with the text which I ignored in .gitignore file

Ignored node modules

How can I change this one?
On Mon, Feb 14, 2022, 11:10 PM Amr Ahmed @.***> wrote:

@.**** requested changes on this pull request.
Hi @ksigei https://github.com/ksigei, 👋🏻
Good job so far! 👍🏻
There are some issues that you still need to work on to go to the next
project but you are almost there!
These changes aim to add some awesomeness to your awesome project and code
skills.
To Highlight ✔
Professional Readme file ✔
Meaningful commit message ✅
Required Changes ♻
Check the comments under the review.
https://camo.githubusercontent.com/77566116408d88259ddadf7605a02b67a4e825e002a39682ca5f2e8bca8c4d64/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f4a713832345239334a734c775a436169534c2f67697068792e676966

Let's make sure our Pull request (PR) is from feature_branch to main,
not vice versa to follow GitHub flow

Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop
the approval of this PR. However, I strongly recommend you to take them
into account as they can make your code better.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something
is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the
same Pull Request submitted for the first review, either valid or invalid
unless it is requested otherwise.
As described in the Code reviews limits policy
https://microverse.zendesk.com/hc/en-us/articles/1500004088561 you have a
limited number of reviews per project (check the exact number in your
Dashboard). If you think that the code review was not fair, you can request
a second opinion using this form https://airtable.com/shrQAqnBwek5a0O0s.
In index.html
https://github.com/ksigei/Hello-Microverse-1/pull/1#discussion_r806200383
:

@@ -1,13 +0,0 @@

-

Let's make sure we make our Pull request from feature_branch to main,
in our case, we reversed it, Let's please fix that by making a new pull
request with same everything but add in PR description link to this pull
request explaining to your next code reviewer what happened [image:
:shipit:]

—
Reply to this email directly, view it on GitHub
https://github.com/ksigei/Hello-Microverse-1/pull/1#pullrequestreview-882133548,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWDI7XFTW7STABPYWBMEKGLU3FOSVANCNFSM5OMM674Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

Okay
On Mon, Feb 14, 2022, 11:13 PM Sigei Kiprono @.***>
wrote:

How can I change this one?
On Mon, Feb 14, 2022, 11:10 PM Amr Ahmed @.***> wrote:

@.**** requested changes on this pull request.
Hi @ksigei https://github.com/ksigei, 👋🏻
Good job so far! 👍🏻
There are some issues that you still need to work on to go to the next
project but you are almost there!
These changes aim to add some awesomeness to your awesome project and
code skills.
To Highlight ✔
Professional Readme file ✔
Meaningful commit message ✅
Required Changes ♻
Check the comments under the review.
https://camo.githubusercontent.com/77566116408d88259ddadf7605a02b67a4e825e002a39682ca5f2e8bca8c4d64/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f4a713832345239334a734c775a436169534c2f67697068792e676966

Let's make sure our Pull request (PR) is from feature_branch to main,
not vice versa to follow GitHub flow

Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop
the approval of this PR. However, I strongly recommend you to take them
into account as they can make your code better.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if
something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use
the same Pull Request submitted for the first review, either valid or
invalid unless it is requested otherwise.
As described in the Code reviews limits policy
https://microverse.zendesk.com/hc/en-us/articles/1500004088561 you have a
limited number of reviews per project (check the exact number in your
Dashboard). If you think that the code review was not fair, you can request
a second opinion using this form https://airtable.com/shrQAqnBwek5a0O0s.
In index.html
https://github.com/ksigei/Hello-Microverse-1/pull/1#discussion_r806200383
:

@@ -1,13 +0,0 @@

-

Let's make sure we make our Pull request from feature_branch to main,
in our case, we reversed it, Let's please fix that by making a new pull
request with same everything but add in PR description link to this pull
request explaining to your next code reviewer what happened [image:
:shipit:]

—
Reply to this email directly, view it on GitHub
https://github.com/ksigei/Hello-Microverse-1/pull/1#pullrequestreview-882133548,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWDI7XFTW7STABPYWBMEKGLU3FOSVANCNFSM5OMM674Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

How can I change this one?

Which one exactly? @ksigei

I got it, let me push
On Mon, 14 Feb 2022 at 15:19, Amr Ahmed @.***> wrote:

How can I change this one?
Which one exactly? @ksigei https://github.com/ksigei
—
Reply to this email directly, view it on GitHub
https://github.com/ksigei/Hello-Microverse-1/pull/1#issuecomment-1039516558,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWDI7XCNV7SLIAXBCYGQ4V3U3FPWRANCNFSM5OMM674Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


How do you escape a newline in Grok regular expression

I'm having trouble escaping a newline character in an elasticstack_elasticsearch_ingest_processor_grok data block:

Resulting output from Terraform Plan:

I can't see anything in the documentation that describes how to escape certain characters.

Having investigated this a bit further it would appear that the Grok patterns are created correctly in Elastic and the issue I reported above is merely the text output of the Terraform Plan rendering incorrectly.


Please Help with Compiling The Sample driver_gODE_Davis_Skodje Solution source code problem

Good day Everyone,
I hope this finds you well.
First, I want to thank @odiazib for the help in compiling the CSPLib code. I was able to compile it on my PC (ubuntu environment).
So, I tried to compile the sample driver_gODE_Davis_Skodje solution code for the Davis-Skodje problem, but was not successful with my attempts.
I will be grateful for a guide on how to go do it, or a general guide on how to compile CSP problem source codes.
Here is my attempt:

I added the path to all .cpp and .hpp, .h header files to the CMakeFiles.txt in the top directory as below:

include_directories(.)
include_directories(/home/bamidele/CSP/REPOS/CSP_REPOSITORY_PATH/src/core)
include_directories(/home/bamidele/CSP/INSTALL/CSP_INSTALL_PATH)
include_directories(/home/bamidele/CSP/INSTALL/TCHEM_INSTALL_PATH/include/tchem)
include_directories(/home/bamidele/CSP/INSTALL/TINES_INSTALL_PATH/include/tines)
include_directories(/home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include)
include_directories(/home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/OpenMP)
include_directories(/home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/OpenMPTarget)
include_directories(/home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/Serial)

set ( EXEC  "driver_gODE_Davis_Skodje.exe" )
set ( SRCS  "driver_gODE_Davis_Skodje.cpp" )

add_executable( ${EXEC}  ${SRCS} )
target_link_libraries( ${EXEC} ${CSPlib_LINK_LIBRARIES} )

set ( EXEC  "driver_gODE_Davis_Skodje_K.exe" )
set ( SRCS  "driver_gODE_Davis_Skodje_K.cpp" )

add_executable( ${EXEC}  ${SRCS} )
target_link_libraries( ${EXEC} ${CSPlib_LINK_LIBRARIES} )

set ( EXEC  "driverODE_DavisSkodjeK.exe" )
set ( SRCS  "driverODE_DavisSkodjeK.cpp" )

add_executable( ${EXEC}  ${SRCS} )
target_link_libraries( ${EXEC} ${CSPlib_LINK_LIBRARIES} )

SET(copy_EXE_FILES
    driver_gODE_Davis_Skodje.exe
    driver_gODE_Davis_Skodje_K.exe
    driverODE_DavisSkodjeK.exe
   )

INSTALL(TARGETS ${copy_EXE_FILES}
        PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE
        DESTINATION build/execute
)

Issued the cmake command from my build directory

cmake  ../

-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/bamidele/CSP_try/gODE/build

Issued the make command:

make -j install

[ 16%] Building CXX object CMakeFiles/driver_gODE_Davis_Skodje.exe.dir/driver_gODE_Davis_Skodje.o
[ 50%] Building CXX object CMakeFiles/driverODE_DavisSkodjeK.exe.dir/driverODE_DavisSkodjeK.o
[ 50%] Building CXX object CMakeFiles/driver_gODE_Davis_Skodje_K.exe.dir/driver_gODE_Davis_Skodje_K.o
In file included from /home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/Kokkos_OpenMP.hpp:188,
                 from /home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/decl/Kokkos_Declare_OPENMP.hpp:21,
                 from /home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/KokkosCore_Config_DeclareBackend.hpp:22,
                 from /home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/Kokkos_Core.hpp:45,
                 from /home/bamidele/CSP/INSTALL/TINES_INSTALL_PATH/include/tines/Tines_Internal.hpp:40,
                 from /home/bamidele/CSP/INSTALL/TINES_INSTALL_PATH/include/tines/Tines.hpp:25,
                 from /home/bamidele/CSP/REPOS/CSP_REPOSITORY_PATH/src/core/eigendecomposition_kokkos.hpp:26,
                 from /home/bamidele/CSP_try/gODE/driver_gODE_Davis_Skodje_K.cpp:29:
/home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/OpenMP/Kokkos_OpenMP_Instance.hpp:23:2: error: #error "You enabled Kokkos OpenMP support without enabling OpenMP in the compiler!"
   23 | #error \
      |  ^~~~~
In file included from /home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/Kokkos_OpenMP.hpp:188,
                 from /home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/decl/Kokkos_Declare_OPENMP.hpp:21,
                 from /home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/KokkosCore_Config_DeclareBackend.hpp:22,
                 from /home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/Kokkos_Core.hpp:45,
                 from /home/bamidele/CSP/INSTALL/TINES_INSTALL_PATH/include/tines/Tines_Internal.hpp:40,
                 from /home/bamidele/CSP/INSTALL/TINES_INSTALL_PATH/include/tines/Tines.hpp:25,
                 from /home/bamidele/CSP_try/gODE/driverODE_DavisSkodjeK.cpp:21:
/home/bamidele/CSP/INSTALL/KOKKOS_INSTALL_PATH/include/OpenMP/Kokkos_OpenMP_Instance.hpp:23:2: error: #error "You enabled Kokkos OpenMP support without enabling OpenMP in the compiler!"
   23 | #error \
      |  ^~~~~
[ 66%] Linking CXX executable driver_gODE_Davis_Skodje.exe
/usr/bin/ld: CMakeFiles/driver_gODE_Davis_Skodje.exe.dir/driver_gODE_Davis_Skodje.o: warning: relocation against `_ZTV10GeneralODE' in read-only section `.text._ZN10GeneralODED2Ev[_ZN10GeneralODED5Ev]'
/usr/bin/ld: CMakeFiles/driver_gODE_Davis_Skodje.exe.dir/driver_gODE_Davis_Skodje.o: in function `main':
driver_gODE_Davis_Skodje.cpp:(.text+0x1173): undefined reference to `GeneralODE::GeneralODE(std::function<int (std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> >&)>, std::function<int (std::vector<double, std::allocator<double> > const&, std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >&, unsigned int)>)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x11be): undefined reference to `Model::init(int)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x16d3): undefined reference to `Model::setStateVector(std::vector<double, std::allocator<double> > const&)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x16e2): undefined reference to `GeneralODE::evalSourceVector()'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x16fb): undefined reference to `Model::getSourceVector(std::vector<double, std::allocator<double> >&)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x1712): undefined reference to `GeneralODE::evalJacMatrix(unsigned int)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x172b): undefined reference to `Model::getJacMatrix(std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >&)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x17a8): undefined reference to `Kernel::computeJacobianNumericalRank()'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x17e1): undefined reference to `Kernel::evalEigenValVec()'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x17f0): undefined reference to `Kernel::sortEigValVec()'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x17ff): undefined reference to `Kernel::setCSPVec()'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x181f): undefined reference to `Kernel::getCSPVec(std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x182e): undefined reference to `Kernel::evalTau()'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x1847): undefined reference to `Kernel::getTau(std::vector<double, std::allocator<double> >&)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x1856): undefined reference to `Kernel::evalModalAmp()'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x186f): undefined reference to `Kernel::getModalAmp(std::vector<double, std::allocator<double> >&)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x1896): undefined reference to `Kernel::setCSPerr(double, double)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x18b9): undefined reference to `Kernel::evalM(int const&)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x18d2): undefined reference to `Kernel::getM(int&)'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x1905): undefined reference to `Kernel::evalCSPPointers()'
/usr/bin/ld: driver_gODE_Davis_Skodje.cpp:(.text+0x191e): undefined reference to `Kernel::getCSPPointers(std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >&)'
/usr/bin/ld: CMakeFiles/driver_gODE_Davis_Skodje.exe.dir/driver_gODE_Davis_Skodje.o: in function `GeneralODE::~GeneralODE()':
driver_gODE_Davis_Skodje.cpp:(.text._ZN10GeneralODED2Ev[_ZN10GeneralODED5Ev]+0x13): undefined reference to `vtable for GeneralODE'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/driver_gODE_Davis_Skodje.exe.dir/build.make:97: driver_gODE_Davis_Skodje.exe] Error 1
make[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/driver_gODE_Davis_Skodje.exe.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/driverODE_DavisSkodjeK.exe.dir/build.make:76: CMakeFiles/driverODE_DavisSkodjeK.exe.dir/driverODE_DavisSkodjeK.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/driverODE_DavisSkodjeK.exe.dir/all] Error 2
make[2]: *** [CMakeFiles/driver_gODE_Davis_Skodje_K.exe.dir/build.make:76: CMakeFiles/driver_gODE_Davis_Skodje_K.exe.dir/driver_gODE_Davis_Skodje_K.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:113: CMakeFiles/driver_gODE_Davis_Skodje_K.exe.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

I will be glad for any guidance I can get.
Thanks.
Warm regards.

@42n8dzydoo, how did you compile CSPlib?
If CSPlib is correctly built/installed, the executable of driver_gODE_Davis_Skodje is at INSTALL_PATH/example/kernel_class

Thanks for your response.
I compiled the CSPLib using the csplib-kokkosv4 branch of the repo as you directed.
I think my compilation was successful as I got the executable and the python (.ipynb) files.
I did run it and got similar results as those in the documentation.
I was just trying to build another executable myself, as I will need to do this for my actual work.
Sorry to disturb you, I'm new to .cpp compilations.
Thanks.

Hi @42n8dzydoo,
No worries and I am glad that you are using CSPlib. Do you still have questions about adding an executable?

Thanks for you message.
I do not have a question for now.
Regards.


Memory leak when using dataflow icw components

Expected Behavior
Constant (more or less) amount of memory used.
Actual Behavior
Fast increase of memory usage, depending on number of component clients involved in dataflow.
Steps to Reproduce the Problem
I can reproduce the issue I see with my code with the 1d_stencil_7.cpp distributed with HPX.

Apply fix #4731
Update code so heat_part action depends on a few partitions more instead of the 2 directly neighboring partitions (see diff below)
Run the exe using multiple localities (see script below)

Specifications

HPX Version: 1.4.1
Platform (compiler, OS): gcc-7, Kubuntu 18.04

Futher remarks
Some things I learned when hunting for the source of the leak the past week:

Memory usage does not increase when using a single locality. There seems to be a dependency on the layer handling the transport of component clients.
The component clients passed into the action do not have to actually be used at the target locality for the memory usage to increase. The issue is visible even when just copying the middle partition and not touching the other ones.
The amount of memory used by the process is much larger than expected and increases fast
The amount of memory used increases faster with the number of partitions passed into the action
Memory usage does not increase when calling the action synchronously
I used the sliding semaphore in my own code to throttle the generation of tasks, but this had no effect. That is why I think there is a leak somewhere. Also, waiting for partitions to become ready in each iteration (wait_all) has no effect on increased memory usage over time.

I am very happy to provide more info or do additional testing. My project depends very much on a fix for this issue. It would be great if I could somehow get things going without the increased memory usage killing the process. A local hack is fine ;-)
Diff for 1d_stencil_7.cpp
The relevant thing that changed is the number of partitions passed into the action. They are not actually used. Passing more neighboring partitions increases the memory usage over time, a lot.
diff --git a/examples/1d_stencil/1d_stencil_7.cpp b/examples/1d_stencil/1d_stencil_7.cpp
index 1e9672f0ffb..7a798eae2f1 100644
--- a/examples/1d_stencil/1d_stencil_7.cpp
+++ b/examples/1d_stencil/1d_stencil_7.cpp
@@ -33,10 +33,10 @@ double dx = 1.;     // grid spacing

 inline std::size_t idx(std::size_t i, int dir, std::size_t size)
 {
-    if(i == 0 && dir == -1)
-        return size-1;
-    if(i == size-1 && dir == +1)
-        return 0;
+    if(dir < 0 && std::abs(dir) > i)
+        return size-(std::abs(dir) - i);
+    if((i + dir) >= size)
+        return (i + dir) - size

     HPX_ASSERT((i + dir) < size);

@@ -45,7 +45,7 @@ inline std::size_t idx(std::size_t i, int dir, std::size_t size)

 inline std::size_t locidx(std::size_t i, std::size_t np, std::size_t nl)
 {
-    return i / (np/nl);
+    return static_cast<std::size_t>(std::floor(i / ((double)np/nl)));
 }

 ///////////////////////////////////////////////////////////////////////////////
@@ -258,8 +258,11 @@ struct stepper
     //[stepper_7
     // The partitioned operator, it invokes the heat operator above on all elements
     // of a partition.
-    static partition heat_part(partition const& left,
-        partition const& middle, partition const& right)
+    static partition heat_part(
+        partition const& left3, partition const& left2, partition const& left,
+        partition const& middle,
+        partition const& right, partition const& right2, partition const& right3
+        )
     {
         using hpx::dataflow;
         using hpx::util::unwrapping;
@@ -354,11 +357,16 @@ stepper::space stepper::do_work(std::size_t np, std::size_t nx, std::size_t nt)
             using hpx::util::placeholders::_1;
             using hpx::util::placeholders::_2;
             using hpx::util::placeholders::_3;
-            auto Op = hpx::util::bind(act, localities[locidx(i, np, nl)], _1, _2, _3);
+            using hpx::util::placeholders::_4;
+            using hpx::util::placeholders::_5;
+            using hpx::util::placeholders::_6;
+            using hpx::util::placeholders::_7;
+            auto Op = hpx::util::bind(act, localities[locidx(i, np, nl)], _1, _2, _3, _4, _5, _6, _7);
             next[i] = dataflow(
                     hpx::launch::async, Op,
-                    current[idx(i, -1, np)], current[i], current[idx(i, +1, np)]
-                );
+                    current[idx(i, -3, np)], current[idx(i, -2, np)], current[idx(i, -1, np)],
+                    current[i],
+                    current[idx(i, +1, np)], current[idx(i, +2, np)], current[idx(i, +3, np)]);
         }
     }

Script to reproduce
This is what I used. The process runs out of memory on a node with 256 GiB. The nodes I use have 8 Numa nodes, having 6 real cores each. I run a single task per Numa node.  Is it possible that partitions for older iterations are kept alive too long by some of the user code in the example, or that garbage collection is delayed for some reason? The main loop does quite eagerly unroll the loop, so that could also be a problem. @kordejong where did you put the sliding semaphore when you tried that out?

@kordejong where did you put the sliding semaphore when you tried that out?

It is in my own code, in the loop iterating of the time steps: https://github.com/pcraster/lue/blob/f2ec7aa30c3e2b73f3ef6554f00487a6a6546458/source/framework/benchmark/src/benchmark_model.cpp#L179 I took inspiration from 1d_stencil_4_throttle.cpp.
WRT garbage collection, I already use hpx.agas.max_pending_refcnt_requests!=400 to get rid of lingering components servers faster than by default (4048). This has helped me to keep the overall memory usage of the processes much lower. The issue I report here is about a continuously increasing amount of memory.
To me the core of the problem seems to be that when asynchronously calling an action passing in component clients on localities that are not the same as the current one, memory is leaked. The amount leaked scales with the number of component clients passed along as arguments. The action itself does not need to use the component clients. Just creating a single new partition and returning the component client instance is enough. Replacing the asynchronous call to a synchronous one solves the issue, as does working on a single locality.
On a 1D ring with two neighboring partition clients the issue is visible, but small. It increases fast with the number of neighboring partition clients passed (see diff above). In my code I use a 2D array with 8 neighbors, in which case it takes a few seconds for the process to allocate all memory.
For ease of reproducing the issue on a local machine I can try to reproduce the issue with hpxrun, if that is useful.

This sounds like we don't properly release references to the objects that are passed as arguments. I'll try to have a look to understand what's wrong.

I managed to create an alternative repro case that, I think, shows the same issue I described above, but now with a smaller problem on a single node, and using hpxrun.py. The repro script I used now is this one:
#!/usr/bin/env bash
set -e

# → Update this path to local conventions
install_prefix=$LUE_OBJECTS/_deps/hpx-build

nr_threads_per_locality=2
nr_localities=2

nr_partitions=500
partition_size=16000
nr_time_steps=5000

$install_prefix/bin/hpxrun.py --localities=$nr_localities --thread=$nr_threads_per_locality \
    $install_prefix/bin/1d_stencil_7 -- --np=$nr_partitions --nx=$partition_size --nt=$nr_time_steps

The bare problem size, excluding overheads of the partitioning and tasks, is 0.12 GB (2 arrays of 500 * 16000 elements of 8 bytes). The original 1d_stencil_7 uses about 2.18 GB. The patched program uses more than 20 GB before I had to kill it. Memory usage was still increasing. Both programs perform the same calculations. The only difference is the number of partition clients passed into the action (3 vs 5).
(BTW: I noticed that somehow a semicolon is missing from the diff above. Line 39 in the new file should read return (i + dir) - size;.)

When trying to reproduce using a Debug build, I was bitten by #4732. I mention it for the case the issues are related.

Unless I am mistaken, this issue is not resolved yet, is it?

I'll reopen the ticket which was closed automatically while merging #4784.

(Comment per request of @hkaiser )
This issue is tagged for the 1.5.0 release. It would be great if it indeed somehow got fixed by that time. The increase in memory usage prevents my software to handle relatively large and/or long running distributed simulations, which is the purpose of my project.

I recompiled all of HPX and the 1d_stencil_7 application using a leak detector (VLD, see: https://kinddragon.github.io/vld/). I've had nothing but good experiences with it in the past.
Here is the produced output:
Visual Leak Detector read settings from: D:\Devel\vld\vld.ini
Visual Leak Detector Version 2.5.1 installed.
Localities,OS_Threads,Execution_Time_sec,Points_per_Partition,Partitions,Time_Steps
2,     2,<PHONE_NUMBER>, 1600,                 500,                  50
No memory leaks detected.
Visual Leak Detector is now exiting.

The options I used were: --np=500 --nx=1600 --nt=50 --hpx:threads=1 on two localities.
I will try to apply your patch above and repeat the experiment (the results show here are based from the vanilla 1d_stencil_7 code.

The patched version produces the same output (essentially):
Visual Leak Detector read settings from: D:\Devel\vld\vld.ini
Visual Leak Detector Version 2.5.1 installed.
Localities,OS_Threads,Execution_Time_sec,Points_per_Partition,Partitions,Time_Steps
2,     2,<PHONE_NUMBER>, 1600,                 500,                  50
No memory leaks detected.
Visual Leak Detector is now exiting.

I'm not sure what to do next...

Thanks for looking into this! Interesting. Then I guess memory leak is not the right way to describe the problem. I had another go at reproducing it.
Given a problem size (see my repro script of June 24):

Using one locality with four threads works fine. Memory usage is constant, around 1.9G.
Using two localities with two threads each does not work fine. Memory usage by one of the localities is relatively low and constant (1.4G). This locality has the lowest process ID (not sure if that is relevant). Memory usage by the other locality is constantly increasing. In the end it becomes 19G, at which point the process completes. When using more time steps, the process will most probably run out of memory.
Using four localities with one thread each also does not work fine. Again, memory usage by one of the localities is relatively low and constant (1.4G, lowest PID). Memory usage by the other three localities is constantly increasing. In the end it becomes around 4G, 6G, and 8G each.

I use this command to trace memory usage of the processes:
watch "smem -k -t -P 1d_stencil_7 | grep development"
My hypothesis / guess given these results is that on the root locality (lowest PID?), all is fine and that the other localities use increasingly more memory. This seems (only) related to receiving component client instances. The more instances received, the faster memory usage increases.
Maybe memory isn't leaked, but it does seem it is released too late. Note that the problem size I use is only 0.12G.
Can you reproduce my findings on your platform too? You may want to use the parameters I used in my repro script. I selected them because the memory usage increases fast. I noticed you used different ones in your tests.

So far I can confirm that the memory requirements for the two localities I ran is different indeed (this needs a separate investigation). The overall memory cap however is relatively constant for both localities. I will try to do another experiment using your settings, however.

@kordejong May I suggest to augment the 1d_stencil_7 example with some code that limits the size of the generated execution tree? The easiest would be to employ a sliding_semaphore as demonstrated in 1d_stencil_8 here https://github.com/STEllAR-GROUP/hpx/blob/master/examples/1d_stencil/1d_stencil_8.cpp#L558
and here: https://github.com/STEllAR-GROUP/hpx/blob/master/examples/1d_stencil/1d_stencil_8.cpp#L609-L621. The memory requirements could be caused by the amount of look-ahead that is inherent to the unlimited execution tree generation.

I tried this before (in my own code, see above), but I now added the semaphore code to the example code, as you suggested. I used a max tree depth of 3 and performed the same experiments as yesterday (1 locality with 4 threads, 2 with 2, 4 with 1) and in each case the effect the throttling had was only visible on one of the localities. Its memory use was lower. The other localities (if any) used an increasing amount of memory, like in the case without the throttling.

Experiment
Nr localities
Nr threads
Memory usage

1
1
4
constant

2
2
2
constant on one locality, constantly increasing on the other

3
4
1
constant on one locality, constantly increasing on the others

It seems the increase in memory usage is not related to the depth of the execution tree.
Can you reproduce the same behaviour with the patched example code as I am seeing?
To enable you to review whether I did the right thing, I show the patch again:
diff --git a/examples/1d_stencil/1d_stencil_7.cpp b/examples/1d_stencil/1d_stencil_7.cpp
index 1e9672f0ffb..c13f417e136 100644
--- a/examples/1d_stencil/1d_stencil_7.cpp
+++ b/examples/1d_stencil/1d_stencil_7.cpp
@@ -33,10 +33,10 @@ double dx = 1.;     // grid spacing

 inline std::size_t idx(std::size_t i, int dir, std::size_t size)
 {
-    if(i == 0 && dir == -1)
-        return size-1;
-    if(i == size-1 && dir == +1)
-        return 0;
+    if(dir < 0 && std::abs(dir) > i)
+        return size-(std::abs(dir) - i);
+    if((i + dir) >= size)
+        return (i + dir) - size;

     HPX_ASSERT((i + dir) < size);

@@ -45,7 +45,7 @@ inline std::size_t idx(std::size_t i, int dir, std::size_t size)

 inline std::size_t locidx(std::size_t i, std::size_t np, std::size_t nl)
 {
-    return i / (np/nl);
+    return (i * nl) / np;
 }

 ///////////////////////////////////////////////////////////////////////////////
@@ -258,8 +258,11 @@ struct stepper
     //[stepper_7
     // The partitioned operator, it invokes the heat operator above on all elements
     // of a partition.
-    static partition heat_part(partition const& left,
-        partition const& middle, partition const& right)
+    static partition heat_part(
+        partition const& left3, partition const& left2, partition const& left,
+        partition const& middle,
+        partition const& right, partition const& right2, partition const& right3
+        )
     {
         using hpx::dataflow;
         using hpx::util::unwrapping;
@@ -342,6 +345,10 @@ stepper::space stepper::do_work(std::size_t np, std::size_t nx, std::size_t nt)
     for (std::size_t i = 0; i != np; ++i)
         U[0][i] = partition(localities[locidx(i, np, nl)], nx, double(i));

+    // limit depth of dependency tree
+    std::uint64_t const nd{3};
+    hpx::lcos::local::sliding_semaphore sem(nd);
+
     heat_part_action act;
     for (std::size_t t = 0; t != nt; ++t)
     {
@@ -354,12 +361,33 @@ stepper::space stepper::do_work(std::size_t np, std::size_t nx, std::size_t nt)
             using hpx::util::placeholders::_1;
             using hpx::util::placeholders::_2;
             using hpx::util::placeholders::_3;
-            auto Op = hpx::util::bind(act, localities[locidx(i, np, nl)], _1, _2, _3);
+            using hpx::util::placeholders::_4;
+            using hpx::util::placeholders::_5;
+            using hpx::util::placeholders::_6;
+            using hpx::util::placeholders::_7;
+            auto Op = hpx::util::bind(act, localities[locidx(i, np, nl)], _1, _2, _3, _4, _5, _6, _7);
             next[i] = dataflow(
                     hpx::launch::async, Op,
-                    current[idx(i, -1, np)], current[i], current[idx(i, +1, np)]
-                );
+                    current[idx(i, -3, np)], current[idx(i, -2, np)], current[idx(i, -1, np)],
+                    current[i],
+                    current[idx(i, +1, np)], current[idx(i, +2, np)], current[idx(i, +3, np)]);
+        }
+
+        // every nd time steps, attach additional continuation which will
+        // trigger the semaphore once computation has reached this point
+        if ((t % nd) == 0)
+        {
+            next[0].then(
+                [&sem, t](partition &&)
+                {
+                    // inform semaphore about new lower limit
+                    sem.signal(t);
+                });
         }
+
+        // suspend if the tree has become too deep, the continuation above
+        // will resume this thread once the computation has caught up
+        sem.wait(t);
     }

     // Return the solution at time-step 'nt'.

@kordejong Thanks for testing. I have a couple of additional questions:

What parcel-port do you use (TCP?, MPI?)
Is the problem reproducible with the plain (non-patched 1d_stencil_7 as well?
Is the problem reproducible with other applications (e.g. 1d_stencil_8)?
Could you please remove the parcel-coalescing plugin (should be in <install_prefix>/libs/hpx) and rerun to see if the problem persists?
Is #4732 still a problem for you?

* What parcel-port do you use (TCP?, MPI?)

Both. I can reproduce the issue on a cluster using the MPI parcelport and on my desktop using hpxrun.py and the TCP parcelport.

* Is the problem reproducible with the plain (non-patched 1d_stencil_7 as well?

Not sure. The problem scales with the number of component clients passed into the action. In the original example three are passed. In the patched version 7 are passed. In my own code 9 are passed. I think the memory is increasing in the original version of the example as well, but it doesn't become a problem because the amount of memory used is much smaller.

* Is the problem reproducible with other applications (e.g. 1d_stencil_8)?

No. I patched 1d_stencil_8 to make it pass more partitions to the action, and could not reproduce the problem. This version takes less memory (also without limiting the tree depth) on all localities, and this amount does not increase.

* Could you please remove the parcel-coalescing plugin (should be in `<install_prefix>/libs/hpx`) and rerun to see if the problem persists?

This does not make a difference.

* Is #4732 still a problem for you?

Yes, running the original version of 1d_stencil_7 in Debug mode crashes after a while, due to the assertion. My own code crashes as well.
BTW, I still use version 1.4.1, not master.

BTW, I still use version 1.4.1, not master.

Have you tried doing all the above experiments using HPX master? It's where we have fixed the memory problem after all (see #4784). I'd expect that the problem you reported in #4732 would be solved.

I will do the experiments with master tomorrow. I tested #4784 before and didn't notice an improvement wrt this issue (#4746). I wasn't aware of a relation between #4784 and #4732, so I will test that too.

I used today's master, git tag 57f2f7671b9

#4732 is still an issue with today's master and the above experiment, without patching 1d_stencil_7. 2 localities with 2 threads each.
When patching 1d_stencil_7 to pass a few more partitions to the action, memory increases as described above. To me it seems all of the above is still an issue with the current sources.

This is a screenshot of a graph showing the load per core and the increasing memory usage. At the end I killed the process.

I tried with both the system allocator and tcmalloc. This made no difference.

Some additional observations:

I cannot reproduce the issue in Debug mode. The process is much slower then, of course. Maybe there is some time-dependent cleanup logic involved?
Passing a low value for hpx.agas.max_pending_refcnt_requests does not seem to have any effect (release build again). Not sure if that is a silly thing to try, but mentioning it anyway.

I cannot reproduce the issue in Debug mode.

This makes even less sense now. :/

Can you reproduce the issue (with patched stencil example, release build, parameters as mentioned above) on your platform?


OpenAI: TypeSpec project for Assistants

OpenAI Assistants
This change adds a new TypeSpec project to serve as a basis for client libraries using OpenAI's beta Assistants API, as described on OpenAI's documentation: https://platform.openai.com/docs/assistants/overview
PR note: this continues the discussion and progress in the internal repository PR:
https://github.com/Azure/azure-rest-api-specs-pr/pull/15866

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.AI.OpenAI.Assistants


report: Control Flow Graph Generation Tool (part of Implementation) [7h]

Prerequisite for #60.

Marked as future ambition. Closing for now.


supplement the way to add a DNS for local kubernetes

LGTM

I pushed an other commit about  the cleanup scripts just now.

Still LGTM


Update dependency versions

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/1177044556

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/1177044556
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/1177142825

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/1177142825
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/1180810600

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/1180810600
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/1180843593

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/1180843593
Status: failure


How would I change viewcontrollers with a timer to create a slideshow.

I saw a taptimer in the CAPSPageMenu.swift file, could I use that and if so how?
If any other way please let me know.

Hi,
I'm not so familiar with PageMenu yet, so I don't know if that's possible. But maybe this is something you're searching for: https://github.com/zvonicek/ImageSlideshow
Good luck!

Thanks I figured it out


Mi Outdoor Camera does not have streaming entity

Device model / 设备型号
mxiang.camera.mwc11
Component version / 插件版本
0.7.14
HA core version / HA版本
2023.12.4
Integrated mode / 集成方式
Automatic (自动模式)
The problem / 问题详情
Mi outdoor camera does not contain live streaming entity, while xiaomi apps has live streaming
小米户外摄像机
Entity attributes / 实体属性
friendly_name: 室外摄像车库左 Camera Control
supported_features: 3
entity_picture: /api/camera_proxy/camera.mxiang_mwc11_cdbc_camera_control?token=d752xxx
access_token: d752xxx
model_name: mxiang.camera.mwc11
brand: mxiang
frontend_stream_type: hls
model: mxiang.camera.mwc11
lan_ip:
mac_address: E0:A2:5A:0A:CD:BC
entity_class: MiotCameraEntity
miot_type: urn:miot-spec-v2:device:camera:0000A01C:mxiang-mwc11:4
camera_control.on: true
camera_control.image_rollover: 0
camera_control.night_shot: 2
camera_control.time_watermark: true
camera_control.wdr_mode: true
firmware_upgrade.progress: 101
firmware_upgrade.state: idle
delay_recording-4-1: 0
recording_time-4-2: 10
motion_detection_sub.moved_push: true
human_detect-4-4: false
camera_control_sub.status_light: true
video_auto_stop_time-3-2: 0
distortion_correct-3-3: true
camera_control_sub.battery: 100
camera_control_sub.resolution: 0
camera_control_sub.rssi: -55
camera_control_sub.is_online: true
power_freq_switch-3-8: 50
stream_status-8-9: 1
stream_status-7-9: 1
motion_detection: true
motion_detection.alarm_interval: 30
detection_sensitivity-5-3: 100
state_updater: cloud
sub_entities: camera_control-2.on-1, camera_control-2.time_watermark-4, camera_control-2.wdr_mode-5, motion_detection-5.motion_detection-1, camera_control-2.image_rollover-2, camera_control-2.night_shot-3, motion_detection-5.detection_sensitivity-3, motion_event
motion_video_time: 2024-01-03 13:32:31
motion_video_type: ObjectMotion:PeopleMotion
motion_video_latest:
startDuration: 0
cut: false
offset: 0
isCloud: false
isRead: false
videoStoreId: >-
CAMERA_VIDEO_GLACw7xxx
eventType: ObjectMotion:PeopleMotion
expireTime:<PHONE_NUMBER>446
isAlarm: true
isShowImg: true
location: ks3
imgStoreId: >-
CAMERA_IMG_GLACw7mrD20gxxxDCKwDee9ap2WN5rqRryRvtL6AA
fileId: '10155320xxx'
extraInfo: copyright:moxiang
Home Assistant Logs / 系统日志
No response

Hi,
I have a some issue, do you fix the problem ?

Same here, unable to start live stream. I am willing to help debug the issue.

you can't monitor this camera outside its own environment, it wouldn't make any sense either because it runs on batteries and watching the live feed often/long would drain them in a very short time, it's simply not designed for that
you have to use the Xiaomi Home app, it is not an issue of HA


Faster way to get MKL

Currently MKLML is downloaded from github release (backed by AWS S3) every time we rebuild.
This is very time consuming in some case, especially when build from China where S3 is very slow and unreliable.
Besides, you guys may want to update your hard-coded MKLML version to 2<IP_ADDRESS>90220.
Describe the solution you'd like
Support full MKL and get it from local.
Describe alternatives you've considered
Allow to use pre-installed mklml.
This may not be a good idea on most Linux where everything goes to /usr{,/local}/include.

IMHO build time network access is generally a bad idea.

You can preinstall MKL, and avoiding use MKLML.

IMHO build time network access is generally a bad idea.

I agree.

But how to use MKL?
I thought there's only MKLML code path in CMake files.

Hi @jywu-msft,
What do you think?

Hi @jywu-msft,
What do you think?

it should be possible to link against the full MKL (but what is the use case? if you just want to use gemm, I think MKLML is sufficient)
to link against full MKL, I think we need to use the MKLDNN_USE_MKL option and set it to either ML (for MKLML) or FULL to link against full MKL. and would also need to set MKLROOT environment variable to path where MKL is installed.
see: https://github.com/intel/mkl-dnn/blob/master/cmake/options.cmake#L66

here's the logic https://github.com/intel/mkl-dnn/blob/master/cmake/MKL.cmake#L91
it's using to find full MKL or MKLML

@jywu-msft
There're 2 use cases:

When user already have full MKL as part of its dependency
Avoid re-download MKLML every time.

I know how to let MKLDNN uses full MKL.
I'm talking about the case when -Donnxruntime_USE_MKLML=ON -Donnxruntime_USE_MKLDNN=OFF.

@xkszltl
Do you have a specific use case for using full MKL vs MKLML ?
MKLML is already stripped down version of MKL yet is still quite large at 150MB.
onnxruntime currently can only take advantage of cblas_sgemm from MKLML/MKL
In the longer term, MKLDNN's gemm should reach performance parity with MKL cblas_sgemm
Unless we have specific use of other functionality in MKL/MKLML, it seems better to use MKLDNN
(btw, the DNN functionality in the full MKL package is being deprecated. it is advised to use MKLDNN for DNN features)
Re: avoiding re-download MKLML,  maybe you can leverage intel's script for downloading MKLML instead
see: https://github.com/intel/caffe/blob/master/external/mkl/prepare_mkl.sh

Correct me if I'm wrong but I think the download is triggered by https://github.com/Microsoft/onnxruntime/blob/a3499083dae79c5737c2d31d9512068f89cb48e1/cmake/external/mkldnn.cmake#L40
And there's no way to word around it without code modification.

yes, there needs to be code modification.

It'll be great if there's a similar mechanism like MKLDNN_USE_MKL for onnxruntime.

FYI here's also a scenario where mkl can be useful: #530

No intention to support.


when upgrade to 3.0.2, I can't run my project on ios

Error info
    - `isar_flutter_libs` does not specify a Swift version and none of the targets (`Runner`) integrating it have the `SWIFT_VERSION` attribute set. Please contact the author or set the `SWIFT_VERSION` attribute in at least one of the targets that integrate this pod.

I know that it can be solved by adding ENV['SWIFT_VERSION'] = '5' to the Podfile, but my project is a Flutter module, and the files are automatically generated, and I don't want to modify it every time.

Yes, this has been implemented. New version will go out in the coming days


current flow default mode for debug tab

How can I change the debug tab default set to current flow instead of all flows?  I’m still in node-red & javascript learning mode (big time!) and I spend +98% of my node-red time in the current flow mode.   Thank you!

Just to clarify, we answered this question on the mailing list.
This issue was raised at my request for us to make this option sticky in the editor in anfututen release.

"Just to clarify, we answered this question on the mailing list."
Is there any chance that that answer is readable for others like me? :)
I am also intrested in this question, but it might be already solved during years.

Not sure I'd be able to find the specific post, but I expect it said "no, you cannot set a default option for that, please raise an issue so we remember to eventually add such an option."

I think the same. But it would be a good improvement. (Hint: Settings menu...)
On other way: Firefox + old old old Userscipts or Greasemonkey? :)


GraphQL Explorer is short height-wise

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/graphql/overview/explorer
What changes are you suggesting?
The GraphQL explorer itself I see is nested in an iframe with a height of 715px. This is a little short height-wise and makes it difficult to use the explorer. I understand it's likely nested in there to interface with GitHub's authentication system. Maybe it's possible to increase the height of the iframe?

Additional information
No response

@tyirvine
Thanks so much for opening an issue! I'll triage this for the team to take a look :eyes:

👋 !  I took a look and the iframe content has CSS that styles the height so even if we increase the iframe height it won't fill the space it looks like?  I also poked around and found there's an internal issue for the folks that maintain GraphQL Explorer with similar feedback so can mention that you reached out about this.

@rsese sweet ok! Thank you for looking into it! I appreciate it 🤙

@tyirvine I am going to close this issue since it is being tracked in an appropriate internal repo 💖
Thanks so much for taking your time in contributing to GitHub docs 💖


Navigation and Provider

Navigation
As is currently implemented, the navigation will primarily happen via the ScaffoldProvider, which handles the state of the AppBar title and the NavBar index. The current working solution uses the getter and setter for each of those values to handle page changes, rather than performing full routing using Navigator.
You will see the onTap: (index) => _updateIndex(index, provider), on line 100 in the scaffold_widgets.dart file. In the _updateIndex() function, you will see a switch/case statement that sets the appBarTitle using provider depending on the index of the nav bar item that was clicked.
The same principle is used in the family_item.dart file when one of the InkWell tiles is tapped. This updates the app bar title again and brings us to the child view chores home page.
Provider
I set up a Provider and Service for the Scaffold. This was necessary because the previous structure was to have each screen implement a new Scaffold, with an AppBar, Body, and BottomNavigationBar. This originally allowed me to pass in the proper index and page title for each screen, but its downfall was that the entire page, including the app bar and nav bar, would be re-rendered, which is a bad UI experience. Now, the Provider manages the title and nav bar index, with the root MaterialApp handling the logic of which screen to display depending on those values, no longer requiring a re-render. Nor does this solution require the use of routing via Navigator.
MaterialApp
I also extracted the MaterialApp that was returned in main.dart into a stateless widget in a separate file. This allows us the option to implement routing via Navigator in the future if that is something we end up wanting or needing. Now, we can call that build function and either pass in whatever screen we want, or if left null it will calculate the current screen using the ScaffoldProvider state.

A couple higher-level questions/issues:

Having worked with Flutter before, this seems like a strange approach to navigation. Have you seen any other Flutter apps utilize a similar approach to swapping pages while using a nav bar? What specific issues were you having with the navigator that made you go this route?
The back button seems to be permanently present in the top-left, despite not having any page to go back to.
I feel like the buttons on the nav bar shouldn't resize as you move between pages. I don't recall having seen behavior like that in other apps.

It is actually quite common to manage different views depending on state data. This is actually more like displaying different widgets depending on state data rather than actually navigating/routing to different screens. Think of it like it's all within one route. As I mentioned in my initial PR comments, I did have something set up to be using Navigator to route between pages. However, that was loading an entire new screen on each nav button click, including the app bar and nav bar themselves, which doesn't look good. I have implemented a structure similar to this before, where the state of the nav bar swaps out whatever page aligns with that tab. Especially with this structure of using the Provider, it will make it easy to incorporate other state data within these same screens.
There is a comment in the custom_material_app.dart file on line 45 that specifies that the leading back button will only be present if the current viewer is the parent. They will have a reason to go back and forth between their home and child home, while the child home will only have their chores page as a home. For the moment, the leading back button is permanent because we haven't implemented the other Providers and models yet to actually have that logic to build on.
The resizing is the default behavior of the BottomNavigationBar widget in Flutter when there are 4 or more items in the nav bar. It has two settings, fixed and shifting. I can explicitly define it to be static to the labels are shown for all nav items and the icons don't resize, but the default is recommended to help with spacing. It should look okay if I change it to fixed, but I had just left it as default for now. But that is also common behavior for modern apps with nav bars to resize or have some sort of animation to show the change in view.


Node.js 16 actions are deprecated

This action uses Node.js 16, which has reached end-of-life, and github has initiated the deprecation process for actions using Node.js 16. Workflows using this action display the alert about Node 16 deprecation.
Github advises actions to run on Node 20 instead of Node 16.

That's unfortunate, I guess.
Will be fixed by #44.
Thank you for noticing!

Fixed in v2.4.5


Formatting One of Snowflakes RLIKE Syntaxes Adds Superfluous Whitespace

Describe the bug
Snowflakes RLIKE has two valid syntaxes. When formatting a Snowflake SQL script that uses the first syntax mentioned in the documentation, sqlfmt adds a whitespace between E and (.
To Reproduce
Format the following:
select rlike('foo', 'bar') from dual;
Expected behavior
select rlike('foo', 'bar')
from dual
;

Actual behavior
select rlike ('foo', 'bar')
from dual
;

Additional context
sqlfmt, version 0.19.2

thanks for the report. Snowflake has similar syntax for like, ilike, etc., as functions instead of infix operators.
While this formatting isn't ideal, snowflake parses it and accepts it as valid.
A quick search of the other major dialects suggests this is snowflake-only.

I'm not going to tackle this right now -- because of how the lexer and parser work, it's non-trivial to distinguish between rlike('foo, bar') and rlike('foo', 'bar') when these tokens are lexed, which unfortunately determines the presence or absence of whitespace between the function or operator name and the parenthesis.


Verify whether explicitely including the headers for the Game and Engine projects is required

Verify whether the following lines are explicitely required in the CMakeLists.txt file for the Game project:
# Make Game's includes available
target_include_directories (game PUBLIC CMAKE_CURRENT_SOURCE_DIR)

Verify whether the following lines are explicitely required in the CMakeLists.txt file for the Engine project:
# Make Engine's includes available
target_include_directories (engine PUBLIC CMAKE_CURRENT_SOURCE_DIR)

It is possible that the includes in the actual project directory are available by default without explicitely adding them as an include directory.

Explicitely specifying include directories is only required for includes that are not part of the current target.  I.e. the Engine target will automatically include its own source directory, and the Game target will automaticallz include its own source directory.
In short: the above lines have been removed.


[saya] recursive proof for the world

For each block, Saya is producing a proof with program output.
We can either settle this directly, or we may have a job scheduler that merge the state updates and settle several block at once.
Also, this only concerns the world's storage for now, but could be enhanced later being a components, which can be applied to any other contract easily.

Closes by #1917.