Footgun fix.

This is the apparent cause of the TruAge crash; a subtle bit of API misdesign. We were allocating as many bytes as we had string pointers to store, and then writing full string pointers over top.  This overran the array, stomped the allocator metadata at the beginning of the next thing in memory, and when that thing was returned to the allocator, the integrity checking in the allocator noticed the damage and brought everything down in flames.

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


updating documentation for ticket #11443

Description

I updated the instructions and included build instructions in the quickstart, i included the build in the build the code section before start. It was crucial so the build is ran first.

The change solves several potential problems:
Prevents Server Crashes: By ensuring that the npm run build command is run, all necessary files are generated before starting the server, preventing crashes or errors related to missing files.
Ensures Correct Asset Processing: It guarantees that all assets, such as GLSL shaders, are properly processed and available in their required formats, avoiding runtime issues and improving the reliability of the development server.
Provides a Clear Development Workflow: Adding the build step to the "Quickstart" section creates a clear and repeatable development process. This helps new developers or contributors quickly get up to speed and reduces confusion about the necessary setup steps.
Improves Documentation: Including the build step in the documentation ensures that it aligns with the actual development workflow and best practices. This helps avoid discrepancies between the documented process and the required steps to successfully run the project.

Issue number and link
##11443

Testing plan

Author checklist

[ X] I have submitted a Contributor License Agreement
[x ] I have added my name to CONTRIBUTORS.md
[ ] I have updated CHANGES.md with a short summary of my change
[ ] I have added or updated unit tests to ensure consistent code coverage
[x ] I have updated the inline documentation, and included code examples where relevant
[ x] I have performed a self-review of my code

Thanks @devkthines! After running CI, the linting checked failed. It looks like there is some minor markdown cleanup needed:
Documentation/Contributors/BuildGuide/README.md:22 MD031/blanks-around-fences Fenced code blocks should be surrounded by blank lines [Context: "```"]
Documentation/Contributors/BuildGuide/README.md:27 MD031/blanks-around-fences Fenced code blocks should be surrounded by blank lines [Context: "```"]
Documentation/Contributors/BuildGuide/README.md:72 MD031/blanks-around-fences Fenced code blocks should be surrounded by blank lines [Context: "```"]

Updated, looks like it passed all tests. Thank you!

Thanks @devkthines!


Can't takeoff in altitude control in SITL

Once in the air, altitude control works fine, however, I'm unable to takeoff. Is this intended?
I looked at ATTITUDE_TARGET.thrust and it remains 0 when on ground.
I've been trying this in jMAVSim.

It's as designed. The question is if we are too strict with this.

Well there you have one user who is really confused about this as in "it doesn't fly".

After doing takeoff/landing my idea was this: https://github.com/PX4/Firmware/issues/3385

This has changed, hasn't it?

Fixed.


Reduce default poll-intervall of admin-worker

1. Why is this change necessary?
Poll-Interval
The poll_interval is used to set how long the consume-request is processed. This request always takes as long as the poll_interval. The admin-worker is implemented on the client in a way that he sends a new consume-request as soon as the answer of the previous one is available.
Maximum runtime
The poll_interval of the admin-worker is set to 30s by default. This is the same value as the minimum value required for max_execution_time of PHP. But because of the additional execution of framework-boilerplate-code, the processing of the consume-request always takes longer than 30s and PHP aborts the process. Now a number of problems start:

The last messages may not be executed completely
ngnix also waits only 30 seconds for PHP and therefore sends a 502 Bad Gateway Error to the client.

Together with Cloudflare's Always-On Technology this will show the shop as offline to the user. (Very bad)

2. What does this change do, exactly?
Shopware requires a minimum value for PHPs max_execution_time of 30s. So this PR reduces the default poll_interval to 20s. This should be enough for the consume-request to not end in a PHP timeout anymore.
3. Describe each step to reproduce the issue or behaviour.
Just open the administration, open the browser console and see the consume-request fail one after another with code 502.
4. Please link to the relevant issues (if any).
5. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] I have created a changelog file with all necessary information about my changes
[x] I have written or adjusted the documentation according to my changes
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hey @windaishi, thanks for your contribution 💙 Please change your target branch to master.

This PR was closed due to inactivity. If this change is still important to you, feel free to create a new pull request.
For more information about our contribution guidelines, see https://docs.shopware.com/en/shopware-platform-dev-en/contribution/contribution-guideline

@bneumann97 The PR has been rebased.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-12746
Please use this issue to track the state of your pull request.

Hey @windaishi, could you check if this still occurs on the current master? I couldn't reproduce this (we did some improvements to the Admin Worker recently).

Hey @windaishi, could you check if this still occurs on the current master? I couldn't reproduce this (we did some improvements to the Admin Worker recently).

@J-Rahe the poll_interval is still 30 on master:

@J-Rahe the poll_interval is still 30 on master:

@J-Rahe the poll_interval is still 30 on master:
https://github.com/shopware/platform/blob/2073a429485d6514cc51023d4f762fb0ab30e197/src/Core/Framework/Resources/config/packages/shopware.yaml#L35
Which means that the conceptual problem @windaishi described in https://github.com/shopware/platform/pull/1480#issue-514668457 still exists.

@J-Rahe the poll_interval is still 30 on master:
https://github.com/shopware/platform/blob/2073a429485d6514cc51023d4f762fb0ab30e197/src/Core/Framework/Resources/config/packages/shopware.yaml#L35
Which means that the conceptual problem @windaishi described in https://github.com/shopware/platform/pull/1480#issue-514668457 still exists.

Hey @fixpunkt, yep, was a bit confused probably. Thanks for the notice.
@windaishi could you please fill in the changelog completely? You need to at the author and author_email field (you can use your github mail).

Hey @fixpunkt, yep, was a bit confused probably. Thanks for the notice.
@windaishi could you please fill in the changelog completely? You need to at the author and author_email field (you can use your github mail).

I fixed that.

I fixed that.

Hey @windaishi, your PR was just merged and should be visible soon : )


Refactor scale down on units to use teardown events

There is currently a juju bug where teardown events are not fired when a unit is scaling down. This prevents the departing unit from removing itself from the cluster using mysqlsh.remove_instance(self).
Since the unit departs before it can remove itself from the cluster, the juju leader unit has to use mysqlsh.remove_instance(departed_unit, {force: true}) to remove the already departed unit. Furthermore, if there is a loss of quorum, the charm uses mysqlsh.force_quorum_using_partition_of(first_online_unit). This is not the ideal solution, and this issue has been created to keep track of the juju bug resolution and replace the scale down logic to use teardown events when they are firing.

@shayancanonical can you please re-check this on pre-2.9.43 with fixed scale-down K8s logic. Tnx!

Closed on #249


Update SDL2_image to development version

This was required because we want pkg-config to work and the latest stable does not support pkg-config. I still need to give this a quick test.

I've tested it now using this program: https://github.com/sharkwouter/psp-sdl2-image-test
It works like expected. Please review.


test: make make-unreadable Python 3 friendly

Make make-unreadable python 3 compatible.  POINTER is now in
ctypes rather than in ctypes.wintypes.  Use the new location which
is compatible across python 2 and python 3.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

CC: @tachoknight @drexin

@swift-ci please test


feat: add simple dark mode example

Summary
This PR shows a media query that sets a different background color in dark mode.
Notes
There are some other commits that came along for the ride:

65c8bbd2ce8e30640c868a4449c957912d8c8b7d (reformats the existing CSS)
0115871afc57202ce429a27f4606fb282dc3b966 (fixes the page title)

The real meat of the PR's changes are in these two commits:

0b42ba49ba836ad888b10a4a4016325fdb3fca58 (adds the dark mode media query)
715f21688997b213a368e21fd9f6d598bed86c5a (adds links to resources on dark mode and theming)

Screenshots
Light mode (unchanged)

Dark mode (different background color)

Jira Ticket(s)
DX-851 Code: dark mode for Simple Plugin Example

Ideally a plugin would get those light/dark mode colors from the Institution settings, but in this super simple example, using a different hardcoded color makes sense. (I'd eventually love to see it be really simple to tap into those institution colors, but that's for another day/ticket.)

Indeed. This is meant to keep the example simple, but we could have a separate example that goes more in-depth into 'best practices' territory for stuff like this.


Tweet both URLs

Hi,
Instead of tweeting just the link or just the shaarli link, wouldn't it be better to use tags like ${url} and ${shaarli_url} to add the ability to tweet both links ?
Thanks for the plugin though :)

Hi @Angristan. While I'm not sure that your use case is super useful, it would remove one setting (TWITTER_USE_PERMALINK), which would make the plugin simpler, so ok for this.


Some problems with the new compound script

Hello again!
First I'm going to share some problems that I noticed with the new update of the compound script. The first notable one is the following, the script says the bot's earnings and settings, but then doesn't proceed to apply the new BO and SO values to my bot.
I tried the old version of the script (I do backups) and it works, but the new version gives the following error:
Logs:

Q1: 2022-10-10 03:29:57 - compound - INFO - 3C Cyber Bot-Helper compound
2022-10-10 03:29:57 - compound - INFO - Started on Monday 03:29:57 2022-10-10
2022-10-10 03:29:57 - compound - INFO - Notifications are disabled
2022-10-10 03:29:57 - compound - INFO - Created example config file '/home/ubuntu/3commas-cyber-bots/compound.ini', edit it and restart the program
2022-10-10 05:58:35 - compound - INFO - 3C Cyber Bot-Helper compound
2022-10-10 05:58:35 - compound - INFO - Started on Monday 05:58:35 2022-10-10
2022-10-10 05:58:35 - compound - INFO - Notifications are disabled
2022-10-10 05:58:35 - compound - INFO - Created example config file '/home/ubuntu/3commas-cyber-bots/compound.ini', edit it and restart the program
2022-10-10 08:01:46 - compound - INFO - 3C Cyber Bot-Helper compound
2022-10-10 08:01:46 - compound - INFO - Started on Monday 08:01:46 2022-10-10
2022-10-10 08:01:46 - compound - INFO - Notifications are disabled
2022-10-10 08:01:46 - compound - INFO - Loaded configuration from '/home/ubuntu/3commas-cyber-bots/compound.ini'
2022-10-10 08:01:46 - compound - INFO - Database '/home/ubuntu/3commas-cyber-bots/compound.sqlite3' created successfully
2022-10-10 08:01:46 - compound - INFO - Database tables created successfully
2022-10-10 08:01:46 - compound - INFO - Reloaded configuration from '/home/ubuntu/3commas-cyber-bots/compound.ini'
2022-10-10 08:01:47 - compound - INFO - Finished deals: 28 total profit: 2.032481839999999
2022-10-10 08:01:47 - compound - INFO - Profit available to compound: 2.032481839999999
2022-10-10 08:01:47 - compound - INFO - Profit available after applying percentage value (0.07): 0.14227372879999994
2022-10-10 08:01:47 - compound - INFO - Current bot settings  :
2022-10-10 08:01:47 - compound - INFO - Base order volume     : 5.0
2022-10-10 08:01:47 - compound - INFO - Safety order volume   : 5.0
2022-10-10 08:01:47 - compound - INFO - Max active deals      : 2
2022-10-10 08:01:47 - compound - INFO - Max safety orders     : 5
2022-10-10 08:01:47 - compound - INFO - SO volume scale       : 1.2
2022-10-10 08:01:47 - compound - INFO - Leverage type         : cross
2022-10-10 08:01:47 - compound - INFO - Leverage custom value : 20.0
2022-10-10 08:01:47 - compound - INFO - BO percentage: 11.846095526914329
2022-10-10 08:01:47 - compound - INFO - SO percentage: 88.15390447308567
2022-10-10 08:01:47 - compound - INFO - BO compound value: 0.16853881823351016
2022-10-10 08:01:47 - compound - INFO - SO compound value: 0.16853881823351016
Traceback (most recent call last):
  File "/home/ubuntu/3commas-cyber-bots/./compound.py", line 870, in
    compound_bot(config, botdata)
  File "/home/ubuntu/3commas-cyber-bots/./compound.py", line 715, in compound_bot
    update_bot_order_volumes(
  File "/home/ubuntu/3commas-cyber-bots/./compound.py", line 151, in update_bot_order_volumes
    db_lastpassupdate = cursor.execute(
TypeError: 'NoneType' object is not subscriptable

   A1: JavaScript

Secondly as feedback and possible future improvements to the script.
For example in the previous script of compound.py I noticed a problem.
I have a futures bot with 2 maximum deals of which it only uses 1 Safety order, it is a cheap, fast bot with a stop loss. So if the bot hit stop loss or time out theoretically it should subtract me from the BO and the SO, it does that but not in the way it should, from that bot I won for example 2 dollars with a 20 USDT BO/SO and then those 2 USDT I lost them, but the bot was not left with 20 dollars again, its left with an extra approximate 0.9 USDT~ instead of 20 usdt.
Theoretically and logically it should have returned to 20 usdt right?
edit: Possible solution but cumbersome, to resolve the true value that the bot's BO/SO should have, you should delete the sqlite3 file, then reset your BO/SO to initial values and restart the script, this will again recalculate the actual value that should have in the imbalance cases on the value of the orders. But it is a somewhat forced solution.
Another thing, I put these values the same depending on the percentage that I want it to compose, I know the function they fulfill, but I don't know why they separate it into 2 different lines, does it differ in something if they are modified differently?
default-profittocompound = X
profittocompound = X
Excuse my grammar, I use a translator, I'm not ashamed to say it, any detail that has not been understood please ask me. I hope you can consider a possible solution. Thank you

The crash should not have happened, something to look into. This is something changed in the last version as we improved the script to handle profits which are too small for increasing the BO/SO size (so we store the increase, until enough profit has been made to increase the BO/SO).
Regarding the increase and decrease based on the stoploss; would expect it to return to 20 indeed. However, last week discussed with someone else and the code is not using a floor() but a round() which can have some impact. Think we must change it to always use floor(). At least would be my first step as approach.
The default-profittocompound is old an only used if one of the sections below does not contain the profittocompound property. Let's call it a leftover ;)
Will see if an update regarding the first point (the crash) can be created on short notice.

The crash should not have happened, something to look into. This is something changed in the last version as we improved the script to handle profits which are too small for increasing the BO/SO size (so we store the increase, until enough profit has been made to increase the BO/SO).
Regarding the increase and decrease based on the stoploss; would expect it to return to 20 indeed. However, last week discussed with someone else and the code is not using a floor() but a round() which can have some impact. Think we must change it to always use floor(). At least would be my first step as approach.
The default-profittocompound is old an only used if one of the sections below does not contain the profittocompound property. Let's call it a leftover ;)
Will see if an update regarding the first point (the crash) can be created on short notice.

Thanks for replying and for your work.
I know that it is somewhat complicated to make an almost perfect script to handle several values of the deals and especially when losses occur, for something I think that 3commas does not add it natively. I know it's cumbersome but the way to fix the bot imbalance manually works for me: returning to the original values of the BO/SO and then resetting the SQL DB so the script recalculates the gains and losses correctly. Would it be crazy to add an option in the .ini file like "imbalance force fix " in case the script detects a negative value? At the user's choice obviously to activate this

Thank you for the bug report.
Could you please share your compound.ini (excluding the sensitive parts), of course?

Thank you for the bug report. Could you please share your compound.ini (excluding the sensitive parts), of course?

Yes no problem, this is the same .ini one I used for the old script and also the new one that didn't work.  I even generated an .ini from scratch by running the .py file and it also gave me the same error
[settings]
timezone = Europe/Amsterdam
timeinterval = 900
debug = False
logrotate = 7
default-profittocompound = 0.6
3c-apikey = xxx
3c-apisecret = xxx
notifications = False
notify-urls = ['notify-url1', 'notify-url2']
[bot_xxx]
compoundmode = boso
profittocompound = 0.6
usermaxactivedeals = 2
usermaxsafetyorders = 1
comment = xxx

Thanks!
Just to verify:
[bot_xxx]
compoundmode = boso
profittocompound = 0.6
usermaxactivedeals = 2
usermaxsafetyorders = 1
comment = xxx

I assume the xxx here are actual values from a bot?

How are you running the script?
Which OS, Python version?

I've just approved PR #146 so it should work for you again after updating.

Hi @dangalv Thank you for the information. I found the error and have fixed it in PR #146 Once that is merged, it should work fine :)
Apologies for the inconvenience.
Maybe, to keep things clear, you can put your second request in a separate issue, then we can close this one.

Hello @brhahlen
No need to apologize friend, your work and that of your team is very appreciated. Then I will try the new script and if there is no problem I will open a new topic for the second request. Thanks you


How to remove the bed board in volumeViewport3D

What feature or change would you like to see made?

How to remove the bed board in volumeViewport3D?
Why should we prioritize this feature?
How to remove the bed board in volumeViewport3D?

One of our collaborators have agreed to open source a image cropper that might solve your issue, stay tuned

Okay, I will continue to follow and thank you very much for responding to my questions!

When can expect to provide this image cropper?


Add new RSpec/InvalidPredicateMatcher cop

RSpec defines predicate matchers automatically.
expect(something.available?).to eq true
expect(something).to be_available

I sometimes write 'expect(something).to be_available?` by mistake. This cop detects the mistake.

I sometimes write 'expect(something).to be_available?` by mistake.

In that case, won’t RSpec tell you about the mistake? Something like
expected something to respond to `available??`

In that case, won’t RSpec tell you about the mistake? Something like

Yes, but I can notice this problem more sooner by this cop, because I run RuboCop more frequently than test.
And this cop tells me about mistake more descriptively.

👎 IMHO, Rubocop is not the right tool for solving this problem. The extra ? at the end of the predicate matcher is a typo, and as all (well, most) other typos it will be caught during runtime.

I'm not completely opposed to this, but it does seem like rspec already has this covered as @bquorning pointed out. Whatever you think though, @backus.

@backus I fixed about to_not and have_...?.
I created a pull request about this on rspec-expectations also. https://github.com/rspec/rspec-expectations/pull/1008
So this cop may not be needed if this pull-request is merged. WDYT?

I still think it is probably a net positive to have small helpful cops like this. For example, I imagine it is still helpful for people with editor integrations. Thanks @pocke


kernel: device: add dts base device initialization priority

add support for dts base device initialization priority
Issue/problem Statement.
Current Zephyr device model provide developers to define their driver Initialization order and priority using Initialization level and priority with in each level. This satisfy platform with small number of IO interface and doesn't have more complex parent-child device hagiarchy. But it will be difficult to manage if platform have more number of IOs and their instances,  have child node etc. Following are the list of few issues that can be high lighted:

There is no guarantee that parent driver instantiated before its child node device init invoked.
Configure device Initialization priority in a centralized manner: An application developer might find it difficult to define the device dependency and Initialization priority. He might need to walk through driver details and play around with  initialization level and priority of each drivers to meet his requirements.
It is difficult to configure Initialization level and priority per instance.

Some of the above issues can be avoided or minimized If we enhance existing kernel device initialization sequence in such a way that kernel will enumerate and initialize devices based on their node position in the device tree source (DTS) and parent-child node relationship.

Note
Please note that the PR is only a draft version and currently given for analyze purpose (will refine/optimize it once aligned on requirements/design). It adopt and modify existing elf_parser.py and gen_handles.py post build script to create device Initialization priority list.

Issues with similar problem statements and suggestions:
Device initialization order that respects devicetree dependencies
How to enhance interface for IO drivers - Draft Proposal
Following section brief on the new proposal for enhance kernel device initialization flow. The proposal is only able to capture base requirements, but might need continue improvement by review and adopt suggestion from community and domain experts.
Analyze on Architecture Changes on Existing driver Interface
In the proposed model, driver initialization level limited to pre-kernel, post-kernel or application level which are based on the specific driver implementation ( example: if driver have to use some kernel APIs during init then it should be post kernel etc.) and use case (example: UART driver might required to be pre-kernel for enable early logging). The Initialization priority is completely depend on the position of nodes in the device tree and  also depend on bus/parent node Initialization priority. The Initialization level expected to be remain same for a specific driver and will not change from platform to platform. All other inter driver dependency and Initialization priority will be take care based on device/node position in the device tree such as order of device node, parent node up on which the child node located etc. The kernel will ensure the parent node init will be invoked before the child node init call. Similarly device init will be called in the ascending order of nodes in the device tree. This will help a platform integrator or application writer to configure the driver Initialization order dependency based on his platform device initialization order requirement, bus upon which the device node placed etc. Following diagram depict the parent child hierarchy and the device initialization order. Please note that below diagram assume all driver have same initialization priority say post-kernel and if it it have different initialization level then all pre-kernel device will get instantiated first followed by post-kernel and finally application level.

Parent-child device/node dependency
For device node such as PCI host, SPI, I2C etc. might have child device/node and it is expected that parent device should 1st instantiate before child device init invoked. In the proposed model,  Zephyr post build script will recursively walk through the device tree and elf file to collect and sort all the device initialization function based on their node position and parent-child relationship.
Configure device initialization priority in a centralized manner
Developers shall able to configure device initialization order/dependency from a centralized manner and without knowing much details of driver complexity.  For example, in following device tree,  there are two parent node under root node. So the kernel will enumerate parent "a device" and then all it child devices (child "a" to "c" device) then go to parent "b device" node and so on. This also depend on initialization level of node as well as it parent node/nodes. Developer can easily change position of device node based on their initialization order requirements via device tree.

{
   parent_dev_a: parent_dev_a0 {
     ....
	  child_dev_a: child_dev_a0 {
                ...
	  };
	  child_dev_b: child_dev_b0 {
                ...
	  };
	  child_dev_c: child_dev_c0 {
                ...
	  };
  }
 parent_dev_b: parent_dev_b0 {
  ...
   };
};

Note
Kernel will enumerate each child device and invoke their driver init function in the assenting order of their position in device tree. Device drivers can use existing DT_INST_CHILD() or DT_INST_PARENT() macros to obtain child or parent nodes reference. Usage of device ordinal APIs such as device_required_foreach() or device_supported_foreach() can be still possible for finding additional device dependency, but usage might reduce with the new interface.

Configure initialization priority per instance
Developers shall able to configure different instances of same driver with different initialization priority. Since initialization priority is depend up node position in DTS, developers can easily control priority via changing node position in the device tree.

Note
Initialization level still need to provide as part of DEVICE_DT_DEFINE macro since it specific to a type of devices or diver. For example some driver need to use scheduler/kernel API and hence should be initialization only after post kernel. Similarly some drivers need be instantiate before kernel and these drivers can be always defined as pre-kernel level. Please note that all pre-kernel drivers will instantiate 1st followed by post kernel and then finally application level. But order of initialization in each level will be depend on node position in the DTS.

Co-exist with non DTS based drivers and backward compatibility
Developer shall able to use non DTS based drivers which are defined using DEVICE_DEFINE() along with DTS based drivers defined using DEVICE_DT_DEFINE(). Current proposed model and the draft PR provided is taken care of this and allow to co-exist both drivers, but non DTS based drivers initialization priority cannot be controlled via DTS.  For a given initialization level, DTS based drivers will be instantiated first followed by non DTS based drivers. Developer can enable the new features using CONFIG_DTS_BOOT_PRIORITY config macro and if enabled it will change the initialization priority of all existing drivers which defined using DEVICE_DT_DEFINE().  CONFIG_DTS_BOOT_PRIORITY by default disabled so that application writer can enable only if they require the new model.

Note
Please note that in the new model, prio argument in the DEVICE_DT_DEFINE() macro will be don't care and the priority will be decided by node position in the DTS.

Device Power Management
The Zephyr device power management subsystem can make use of the new sequence for suspend and resume the device in a centralize manner since it can call the suspend/resume API without worry of driver's dependency. A node which initialized first should be suspended last and also parent device should be remain ON until all its child device got suspended. Similarly resume should follow exactly same order that of initialization sequence during boot flow.
Performance impact
There shall be no boot latency and least code blot because of introduce the new DTS based boot model. The proposed model use post-build script to generate device list with initialization level based on driver definition and initialization priority based on node position in the DTS. It also sue separate linker section and hence will not be included in default init.
Following table given as an example which summarize flash and SRAM memory usage with and without CONFIG_DTS_BOOT_PRIORITY enabled: The binary build for sam4l_ek platform/board.

DTS base Boot
FLASH
SRAM

YES
29699
5568

NO
29163
5504

Increase in SRAM usage is expected to be NIL and the extra 64byte increase need be analyze for the draft PR.
Fixes https://github.com/zephyrproject-rtos/zephyr/issues/58297

Thanks for the proposal, I think it shows we need to finally solve this problem sooner than later. However, I think this approach doesn't fully solve the problem:

DEVICE_* macros keep taking a level/priority pair, used only if !CONFIG_DTS_BOOT_PRIORITY. We should just be able remove priority field entirely, and, probably re-think init levels. For example, having both PRE_KERNEL_1 and PRE_KERNEL_2 doesn't make sense at all. Also, by using levels you can potentially break the tree, so we need a mechanism to at least spot this at compile time (@fabiobaltieri work can probably be adjusted to do that)
We have many code in-tree that has implicit dependencies on DT devices, ie SYS_INIT entries that are called in between devices during the initialization process. As soon as CONFIG_DTS_BOOT_PRIORITY=y, all these calls can potentially break. So as part of this solution we also need to review the whole SYS_INIT approach. That means to create drivers in some cases, maybe define fixed init calls (e.g. we could have a SoC init hook, instead of relying on SYS_INIT), etc. I think that this will likely be the most painful thing to solve. Efforts on adding the capability to create dependencies between init entries was -1ed init: specify dependencies between init entries #49318 (maybe for good reasons)
In some cases we'll want to initialize certain devices early in the boot process, regardless of their position in DT (of course without breaking dependencies). A typical case is UART for logging as early as possible. We can still rely on init levels here, or, treat such devices in a special way.
It's not clear what happens with non-DT devices. Should we finally deprecate them? When are they initialized? Before DT devices? After?

Its already try to capture these problems in the following issue (also now copied into the PR comments for easy reference):
https://github.com/zephyrproject-rtos/zephyr/issues/58297 . Suggest to go through them as well.
The draft PR use post build script to create initialization priority and device init_entry array. With the new approach, we need to  consider only three initialization level namely pre-kernel, post kernel and application level. Any other level fall into one of this category (eg: PRE_KERNEL_1 & PRE_KERNEL_2 combined by script to PRE_KERNEL).  Also I believe initialization still required to address driver specific requirements such as kernel service needed or not, for some of the device/IP such as sys timers, uart, interrupt controllers etc. to be insatiate before kernel etc.  If we remove initialization level altogether then the application writer need to understand each driver limitations and device use case.
The PR use separate section and will not use the default init section (use by SYS_INIT and non DTS base drivers defined -DEVICE_DEFINE ).


Fix scientific notation syntax highlighting

Fixes #59
Before:

After:

Note: it still doesn't add the syntax highlighting for the decimal separators, like other languages do:

I believe that would be covered by PR #30


Error: Dynamic Code Evaluation (e. g. 'eval', 'new Function', 'WebAssembly.compile') not allowed in Edge Runtime

Description and expected behavior
Hey there! I'm currently implement ZenStack in a NextJS project hosted on Cloudflare Pages (edge-runtime) so my entire application is set with:
export const runtime = "edge";

Development server works well, but as soon as I attempt a build, I obtain the error shown on the below screenshot. I tried to precisely follow the instructions from that documentation page, but the error persists.
Does anyone has an idea of what might be happening here?
Screenshots

Environment (please complete the following information):

ZenStack version: 2.4.1
Prisma version: 5.19.0
Database type: Postgresql (Neon)

I managed to silent the error by the following dirty patch adding to my ./src/middleware.ts file:
export const config = {
  unstable_allowDynamic: [
    "/node_modules/**",
  ],
};

Now the app builds correctly and is deployed by Cloudflare Pages, but the entire website returns an "Error: 500", here is a screenshot of the logs:

After further investigation, I realize that both errors are the same. They refer to the usage of an evaluation code somewhere in the ZenStack enhancer.
https://nextjs.org/docs/messages/edge-dynamic-code-evaluation
I tried to find any of these in the ZenStack code using the VSCode search bar, but I haven't found anything yet.

https://github.com/cloudflare/next-on-pages/issues/615

I tried to run the enhanced ZenStack client in an API route and get an even more explicit error: EvalError: Code generation from strings disallowed for this context.
There is definitely a dynamic code evaluation made somewhere in ZenStack runtime or one of its dependencies. Again, using the raw Prisma client works perfectly.
Happy to pay some $$ to prioritize this issue :)

Fixed in 2.5.0


[WIP] Early support for Cohere models

Early code for adding support for Cohere models. Currently, only non-streaming chat is supported.

Hi Pydantic-AI Maintainers,
Cohere employee here. I really am excited about this new library from Pydantic, and I love to see Cohere models added as well. I published this WIP PR to help making this happen. It currently only supports non-streaming chat, but if I get initial blessing on your willingness to add Cohere and the direction I am going on in this direction, then I am happy to update the PR and add streaming support. Looking forward to hearing from you!
Thanks,
Rafid

Hi @rafidka, thanks so much for the contribution and sorry for the slow reply. As per #239 we'd definitely be happy to add support for Cohere!
Note: we've made a few changes to internal APIs since you started this PR, let us know if you have any questions or need any help, you can always join our slack if you want more immediate help.

@samuelcolvin , thank you, great to hear you are willing to integrate Cohere with your library <3
BTW, we announced another model yesterday, which is "provides state-of-the-art performance in its class of open-weights models".

Note: we've made a few changes to internal APIs since you started this PR, let us know if you have any questions or need any help, you can always join our slack if you want more immediate help.

I updated my PR to work with the new changes.
Question: would you want to have streaming support as well in the same PR, or you are ok breaking this down into two PRs?

Any update on this?

Question: would you want to have streaming support as well in the same PR, or you are ok breaking this down into two PRs?

I'm happy for streaming to come in a follow up pr.

I'm happy for streaming to come in a follow up pr.

Great! I will rebase the PR again then and hopefully can get it merged so I do the streaming next.

@samuelcolvin , I rebased the PR and made the necessary changes based on your recent changes. I would like to get this merged soon if possible, to avoid having to rebase again since this is a quickly evolving code base (I had to refactor the code 2-3 times so far.) Thank you!


Feature request: converting HoloMap to DynamicMap

I use DynamicMaps to show a lot of data, sometimes ~1000 plots with 7 variables.
I love how easy it is to compose a HoloMap, but it's not useful because rendering it takes a very very long time.
The DynamicMap offers a solution to this problem, but it's more cumbersome to write.
Putting a 1000 plots in a HoloMap is still quite cheap (just a couple of seconds), therefore I would like if I could just apply hv.DynamicMap on a hv.HoloMap to get the ease of use of a HoloMap, but at the speed of a DynamicMap.

You should just be able to create a DynamicMap from a HoloMap using:
hv.core.operation.DynamicFunction(hmap)

However is there any reason not to simply use:
%output widgets='live'

However is there any reason not to simply use:
%output widgets='live'

This is very slow and takes a few minutes before I see anything.

You should just be able to create a DynamicMap from a HoloMap using:
hv.core.operation.DynamicFunction(hmap)

That is great! I'll try it out 😄

hv.core.operation.DynamicFunction(hmap)
Has a few problems still, it doesn't set the set of the dimensions:

Thanks for the bug report, should be an easy fix.

This function will be moved and renamed to hv.util.Dynamic in the next release.

hv.util.Dynamic now exists and the bugs described here have been resolved. I will close, please reopen if you encounter any issues.


winPB: Find a better way to manage MSVS checksums

Ref: #1517  , #1545
With both MSVS_2017 & 2019, we've removed the checksums as the installers are often updated, requiring a lot of 'checksum update' PRs, that can block VPC runs until the PRs are merged.
We really should have checksum checks whenever downloading anything from the internet, so a better solution needs to be found.
At https://github.com/AdoptOpenJDK/openjdk-infrastructure/pull/1517#pullrequestreview-475402407 , @sxa suggested caching the installers somewhere so they aren't updated and the checksum stays the same.

https://github.com/AdoptOpenJDK/openjdk-infrastructure/pull/1572#issuecomment-704430037
@sxa Would something such as
if credentials are present
  Retrieve MSVS_201* from the secrets repo / non public place
else
  Retrieve installer from regular place w/o checksum

That way other (non-adoptopenjdk) people can still use the playbooks, but when setting up machines, we can ensure the installations okay?

I'd say it's not ideal but better than not having a fallback.


Comments in json cause quicktype to hang up

Although comments are not specified / supported in json, a lot of people use them and a lot of system accept them.
Quicktype should either support comments or reject comments or show another behaviour. Currently it just causes an endless loop on "Analysing sample data...".
This works just fine:
{
    "foo": "brother"
}

This fails / causes hang up:
{
    "foo": "brother" // comment
}

This error occurs over all levels of json complexity on all browsers I tested.

This would probably be fixed by #1144

same situation


Send built frontend files to backend folder

The frontend typescript tsx files should be compiled to backend/public, so that backend is the only folder to be deployed

We instead went with a dist folder in the project root which contains files to be deployed for both functions and frontend


Strict KSS description breaks

KSS states:

CSS rules that depend on specific HTML structures should describe those structures using <element#id.class:pseudo> notation.

However, if you include HTML tags in your description it will actually break, trying to open/close the tag pair in the browser.
Possible solution: Escape HTML characters as part of the description.

Ah, it wasn't apparent to me that the descriptions are formatted via markdown. That solves it.


Shouldn’t a null sedenion

As noted in the README sedenions and beyond have zero divisors.
s0 = Sedenion() # (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
s1 = Sedenion.e(5) + Sedenion.e(10)
s1/s0 # ZeroDivisionError, when I would expect the divistion to yield a sedenion

So is it me who misunderstood "having zero divisor", or is it just something unsupported in this implementation?

Hmm, this is a good question and may be a limitation of the implementation. In the code, division is done by first inverting then multiplying, so it gets to this line which tries to divide by a float 0 giving a ZeroDivisionError.
Though I don't have the math knowledge to fully answer. Do sedenions have unique zero divisors, i.e. does s1/s0 gives a single answer, namely s2 = Sedenion.e(6) + Sedenion.e(9)? A chart on wiki seems to say so but I may be reading it wrong.
If so, then there may be a way to fix the code.

With help from someone smarter than me I've realized that of course, there are lots of s2 = s0/s1 that could work, namely any scalar multiple of Sedenion.e(6) + Sedenion.e(9) like 2 * (Sedenion.e(6) + Sedenion.e(9)). The code will give 0 for s0/s1 which seems like a reasonable choice.
More importantly I've realized the original question was about s1/s0, not s0/s1. Sorry for the mixup there. Having zero divisors means you can have two sedenions s1 and s2 where s1*s2 = 0  which implies s2 = 0/s1, but doesn't mean you can divide by 0. So things are working as intended.


Add support for scipy.integrate.ode ODE solver return codes

Similar to #1801, the return codes generated by the underlying solvers VODE, ZVODE, and LSODE are unavailable to the user. However, these return codes are vital to allowing the user to intelligently decide how to handle any errors encountered by the ODE solver. If, for instance, the error was simply too much work done (the maximum number of allowed steps was reached), the user may wish to restart the integration. Other errors may indeed be fatal and should halt the program.
Currently, warning messages are printed to stderr if the integration fails. It may be possible with the Python warnings module to catch these return codes by redirecting stderr, but this is a sub-optimal workaround. It would be much better if the ode module directly exposes the return codes so that the user has the power to easily choose how to handle any errors that are present.
I have made some small modifications to the ode module (SciPy version 0.18) to permit this. The original source file and patch are included. For consistency, I also set a return code for the other ODE solvers (dopri53 and dop853).

@suttonje Firefox NoScript complained about a cross-site scripting problem with your links, so I removed them. Please submit your changes as a pull request for easier review


Add nim-lang example code

https://nim-lang.org/
How to set up a nim backend webserver?
How to add nim to frontend?
Also call nim code from Python https://github.com/yglukhov/nimpy

Fixed in https://github.com/BurnySc2/monorepo/commit/99ba6a25c3ed242fefb6b26de9b5afc17a1af8ca


Metro Tiles animations fails after dynamic content load

Hi,
Please provide a fix for this issue. I am having in need of these features.

On mouse-hover on a tile a description should show by animating slides-up
When content populate dynamically, the animation doesn't works (<div class="tile double bg-orange event_list live" data-role="live-tile" data-effect="slideUp"> )
3.Specifi tiles must size to half for smaller screen resolution like 360x640

Please provide the inputs for this thanks in advance for your help

Why this issue is closed without any answers?


When It Will be ready for using??

do you think it will ready as soon or just you want to start this shop?

Nowhere ready sorry. Look for alternatives for now.

thanks, just i want to plane for complete CMS till 2020.


Undefined symbols while building a project for iOS

Hi, I'm building a project for iOS and I've ran into a problem with linking - symbols vkGetDeviceBufferMemoryRequirements and vkGetDeviceImageMemoryRequirements are undefined as MoltenVK is an implementation of Vulkan 1.1 but the headers supplied with MoltenVK define VK_VERSION_1_3. This causes an error while linking in ImportVulkanFunctions_Static() function.
The obvious workaround is to define VMA_STATIC_VULKAN_FUNCTIONS as 0 or VMA_VULKAN_VERSION as 1001000 when building for iOS, but i'm wondering if this could be done by default by this library?

@squadack forgot to link the issue in MoltenVK repo: https://github.com/KhronosGroup/MoltenVK/issues/1708

I think this is a problem in MoltenVK. According to Vulkan specification, function vkGetDeviceBufferMemoryRequirements is Provided by VK_VERSION_1_3. If Vulkan headers on your platform define VK_VERSION_1_3 but don't define vkGetDeviceBufferMemoryRequirements or don't export this function from the static library, this is a situation unseen in any "normal" Vulkan implementation.
Unlike what @spnda said in that linked ticket, I am wondering, without assuming these two things always match, how could we even write any code that links Vulkan statically if any of the new functions could be not exported on some platform?
I recommend to use VMA_STATIC_VULKAN_FUNCTIONS 0 or VMA_VULKAN_VERSION 1001000 as you described.

Unlike what @spnda said in that linked ticket, I am wondering, without assuming these two things always match, how could we even write any code that links Vulkan statically if any of the new functions could be not exported on some platform?

When you statically link you link against the Vulkan loader lib which will almost always be the same version as the Vulkan headers, you get stubs for all Vulkan functions. However, with MoltenVK it is possible to directly link to the driver and have it act as a loader. After thinking about it, I think I agree that MoltenVK should instead provide function stubs for all core functions.
Though in the end, I feel like having the Vulkan loader as a lib was a mistake anyway and you should ALWAYS use dynamic function loading. Nevertheless, I think I will make a PR to MoltenVK adding these method stubs just for compatibility.


⚠ Bofrost.at has degraded performance

In d74201e, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1525 ms

Resolved: Bofrost.at performance has improved in fcb1fbf after 15 minutes.


How to generate other language modules

hi, I don't know how to generate files similar to lipsync-fi.mjs and lipsync-en.mjs, I want to generate other language modules, but I don't know how to do it? Can you provide more detailed methods or steps.
be deeply grateful!

Hi. I will try to give you at least some outline here.
The general steps that are common to all new languages:

Create a new file named lipsync-xx.mjs where xx is your language code, and place the file in the ./modules/ directory. The language module should have a class named LipsyncXx where Xx is the language code.
The class should have (at least) the following two methods: preProcessText and wordsToVisemes. These are the methods used in the TalkingHead class.
The purpose of the preProcessText method is to preprocess the given text by converting symbols to words, numbers to words, and filtering out characters that should be left unspoken (if any), etc. This is often needed to prevent ambiguities between TTS and lip-sync engines. This method takes a string as a parameter and returns the preprocessed string.
The purpose of the wordsToVisemes method is to convert the given text into visemes and timestamps. The method takes a string as a parameter and returns a lip-sync object. The lipsync object has three required properties: visemes, timesand durations.

Property visemes is an array of Oculus OVR viseme codes. Each viseme is one of the strings: 'aa', 'E', 'I', 'O', 'U', 'PP', 'SS', 'TH', 'DD', 'FF', 'kk', 'nn', 'RR', 'DD', 'sil'. See the reference images here: https://developer.oculus.com/documentation/unity/audio-ovrlipsync-viseme-reference/
Property times is an array of starting times, one entry for each viseme in visemes. Starting times are to be given in relative units. They are always scaled according to the word timestamps that we get from the TTS engine.
Property durations is an array of relative duration in milliseconds, one entry for each viseme in visemes. Durations are to be given in relative units. They are always scaled according to the word timestamps that we get from the TTS engine.

Import the new lip-sync implementation file into the talkinghead.mjs file, for example, import { LipsyncXx } from './lipsync-xx.mjs'; and add a new entry this.lipsync in the constructor, for example, 'xx': new LipsyncXx().

Now, the difficult part is to actually make the conversion from words to visemes. What is the best approach depends on the language. Here are some typical approaches to consider (not a comprehensive list):

Direct mapping from graphemes to phonemes to visemes. This works well for languages that have a consistent one-to-one mapping between individual letters and phonemes. This was my approach for the Finnish language (lipsync-fi.mjs) and it gave me >99.9% lip-sync accuracy compared to the Finnish phoneme dictionary. Implementation size was ~4k.
Rule-based mapping. This was my approach for the English language (lipsync-en.mjs) and it gave me around 80% lip-sync accuracy compared to the English phoneme dictionary. Implementation size ~12k.
Dictionary based approach. If neither of the previous approaches work for your language, make a search from some open source phoneme dictionary. Note that you still need some backup algorithm for those words that are not in the dictionary. The problem with phoneme dictionaries is their size. For example, the CMU phoneme dictionary for English is ~5M.
Neural-net based approach based on transformer models. Typically this should be done on server-side as the model side can be >50M.

Note that the TalkingHead is supposed to be a real-time class, so latency is always something to consider. In my opinion, it is better to be small and fast than to aim for 100% accuracy.
Hope this helps.

thanks a lot！


Make jemallocator not contain std symbols by default

libc is pulling libstd because we are enabling the use_std libc feature (it's enabled by default). This PR changes that by depending on libc without use_std, and verifies that the emallocator and jemalloc-sys rlibs do not contain std symbols using nm.

The tests pass by mistake because they check whether grep fails, but currently llvm-nm and nm fail due to https://github.com/rust-lang/rust/issues/55729 with
/home/travis/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/llvm-nm: target/x86_64-unknown-linux-gnu/debug/libjemallocator.rlib(rust.metadata.bin) The end of the file was unexpectedly encountered

cc @alexcrichton nm and the llvm-tools-preview nm don't seem to be able to process rlibs anymore =/


Implemented workaround for breaking change in Exception Handler in Laravel 5.3.

Laravel 5.3 introduced a breaking change in the Exception Handler constructor.
See the section 'Exception Handler'->'Constructor' in https://laravel.com/docs/5.3/upgrade#upgrade-5.3.0
Fixes #1

Tested with Laravel 5.1. Seems to be still working there.


gstreamer1.0-omx: refresh and clean-up patches (fixes #211)

fixes:
WARNING: gstreamer1.0-omx-1.12.4-r0 do_patch:
Some of the context lines in patches were ignored. This can lead to incorrectly applied patches.
The context lines in the patches can be updated with devtool:

    devtool modify <recipe>
    devtool finish --force-patch-refresh <recipe> <layer_path>

Then the updated patches and the source tree (in devtool's workspace)
should be reviewed to make sure the patches apply in the correct place
and don't introduce duplicate lines (which can, and does happen
when some of the context is ignored). Further information:
http://lists.openembedded.org/pipermail/openembedded-core/2018-March/148675.html
https://bugzilla.yoctoproject.org/show_bug.cgi?id=10450
Details:
Applying patch 0001-config-files-path.patch
patching file config/bellagio/gstomx.conf
Hunk #1 succeeded at 1 with fuzz 2.
Hunk #2 succeeded at 9 with fuzz 2.
patching file config/rpi/gstomx.conf
Hunk #8 succeeded at 63 with fuzz 2.
Hunk #10 succeeded at 82 with fuzz 2.
Hunk #11 succeeded at 92 with fuzz 2.

Now at patch 0001-config-files-path.patch

deleted obsolete gstreamer1.0-omx directory with duplicated patches that are also in gstreamer1.0-omx-1.12.
made file naming for gstreamer1.0-omx_%.bbappend consistent with the rest of the layer recipes.
Signed-off-by: Hugo Hromic<EMAIL_ADDRESS>
- What I did
fixed #211
- How I did it
used devtool to refresh the patches

Can one of the admins verify this patch?

ok to test

Thanks @hhromic


Example that directly uses the NL writer and SOL reader.

This example explains how to save the symbol map
created by NL writer so that it can recovered at a later
time and added to a results object created by the SOL
reader. The symbol map can be regenerated for any Pyomo
model with component names that match those on the model
used by the NL writer.

I'm going regenerate this pull request off of a more appropriate branch name


Error adding Month under labels!

Chart became blank when trying to add Months under Labels

This is not supported in chartjs. The time series axis being worked on for v2.7 will be better, but won't directly match this. I would recommend creating a plugin to support this.


Problem js

Error: Syntax error, unrecognized expression: {"status":"SUCCESS","viewpanel":"
\n ...
What seams to be the problem? Ive try to change the js from my custom theme but the problem persiste.Can you give me some directions ?
I think what I see that ajax call the right column were in my case is the future products ,shop by ... .
This is the html response :
{"status":"SUCCESS","viewpanel":"
\n
\n Shop By\n
\n
\n
\n
\n
\n
\n
\n Price Filter
\n
\n
\n
\n
\n
\r\n Price\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\r\n\t\t\t\t

\r\n\t\t\t

We don't return that kind of output in our extension, so this definitely doesn't look like a problem on our end..
You probably have some other extension that's changing the output of AJAX requests made to the server. Maybe AjaxCartPro or something like that - they're known to be problematic and poorly architected.
If you need commercial help integrating our extension or fixing this other extension let me know.


Running the testcases hangs the build

To enable tests to be run:
Add:
export ZOPEN_CHECK_OPTS="-j\$ZOPEN_NUM_JOBS test"

I would recommend running with (export ZOPEN_NUM_JOBS=1; zopen build)
Testing can't be turned on by default because it hangs at
the end waiting because there are open sockets from some
failing tests.
If you run it by hand, it will run through all the tests and print the results, but the unit test framework process will hang.
If you then look at the state of the processes, you will see there are a number of open sockets.
To force finish the build, you can kill -9 the python unit test process.
Approaches one could take:

figure out why the sockets are staying open - the testcase output will tell you which they are

then 'skip' those tests
or 'fix' the bug(s) causing those sockets to stay open (assuming they are bugs)

figure out how to fix the unittest framework or add something to the tests themselves to clean up better

Use the 'runtests' branch as a starter point.

fixed in PR #22


Added French translation file

Hello,
I added French translation, you should merge it so everybody can use it.
Thanks!

Thanks!


README.md update docker instructions

See https://github.com/lxc/lxd/issues/3299
Signed-off-by: anatoly techtonik<EMAIL_ADDRESS>

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

@brauner +1 on updated wording

Should be okay now.

Can someone verify if this works on Ubuntu xenial-backports with HWE kernels?

Not me. My host is 17.04.

I had some AppArmor issues on 16.04 without the docker profile, that's why I'm asking.

@MarkusTeufelberger, that's a little vague. :) Can you please specify what exactly the issue is. :)

I'll open a separate issue I guess... Editing the link in here later.

Urgh, and of course it works without major issues in Vagrant! -.-'


Fix empty img isaac

Some changes to @giovp #1512, just pushing here so they are visible. Still needs going through the tests to update offsets, and some doc tweaks (behaviour of na_color, what spot_size is, move scale_factor to be spatial only).

looks really great Isaac, I think it adresses all the issues from before!

looks really great Isaac, I think it adresses all the issues from before!

/azp help

/azp help

/azp help run

/azp help run


On MiA1 running Android O, keyguard unlock runs into a loop and never exits

On MiA1 running Android O, the request key guard action, runs in a loop and is not able to confirm credential. tryEncrypt() always fails with UserNotAuthenticatedException.
I'm not able to use this confirm credentials option for some sensitive features of the app.

This is the exact problem I have too @Gopinathp. I've came to the conclusion that this is a Keystore bug.

It seems that when we use PIN, password or pattern, there is no problem. But in case of using other verification methods such as fingerprint, iris or face, during accessing the keys, UserNotAuthenticationException is always thrown.

Same on Huawei ALE L21 (P8 Lite) / Android 6.0
The Cipher.init always crashes with UserNotAuthenticatedException

Apparently, rebooting the phone fixes the issue for me.

This sample has been deprecated/archived (check README for more information on newer samples related to this technology).
As recommended by GitHub, we are closing all issues and pull requests.


Refactor test framework of window function

What problem does this PR solve?
Issue Number: close #7754
Problem Summary:
What is changed and how it works?
We create a WindowTest class to be inherited in WindowTestUtils.h and add some codes for range frame type.
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/cc @SeaRise @windtalker

/cc @Lloyd-Pottiger

/cc @Lloyd-Pottiger @SeaRise

/cc @SeaRise

/run-unit-test


Phase 4 stalling

When trying to plot, it seems to get all the way to phase 4 and then stall. I have waited days and still nothing. Any help would be welcomed.
Multi-threaded pipelined Chia k32 plotter - 95389dc
(Sponsored by Flexpool.io - Check them out if you're looking for a secure and scalable Chia pool)

Final Directory: /mnt/chia/farm01/
Number of Plots: 1
Crafting plot 1 out of 1
Process ID: 3174
Number of Threads: 20
Number of Buckets P1:    2^8 (256)
Number of Buckets P3+P4: 2^8 (256)
Working Directory:   /mnt/chia/plotter00/
Working Directory 2: /mnt/chia/ramdisk00/
Plot Name: plot-k32-2021-07-14-20-38-09b96f22f32b87065a016a456aafa743065f8b8b204115d1a6d1f069bec674d3
[P1] Table 1 took 13.8356 sec
[P1] Table 2 took 117.819 sec, found<PHONE_NUMBER> matches
[P1] Table 3 took 137.678 sec, found<PHONE_NUMBER> matches
[P1] Table 4 took 173.614 sec, found<PHONE_NUMBER> matches
[P1] Table 5 took 158.363 sec, found<PHONE_NUMBER> matches
[P1] Table 6 took 153.712 sec, found<PHONE_NUMBER> matches
[P1] Table 7 took 128.555 sec, found<PHONE_NUMBER> matches
Phase 1 took 883.605 sec
[P2] max_table_size =<PHONE_NUMBER>
[P2] Table 7 scan took 9.91753 sec
[P2] Table 7 rewrite took 33.2275 sec, dropped 0 entries (0 %)
[P2] Table 6 scan took 897.282 sec
[P2] Table 6 rewrite took 259.141 sec, dropped 581519824 entries (13.5453 %)
[P2] Table 5 scan took 2644.93 sec
[P2] Table 5 rewrite took 746.278 sec, dropped 762227838 entries (17.7509 %)
[P2] Table 4 scan took 2584.47 sec
[P2] Table 4 rewrite took 1051.51 sec, dropped 829105371 entries (19.3061 %)
[P2] Table 3 scan took 2391.39 sec
[P2] Table 3 rewrite took 473.126 sec, dropped 855183849 entries (19.9124 %)
[P2] Table 2 scan took 2179.58 sec
[P2] Table 2 rewrite took 89.414 sec, dropped 865647320 entries (20.1552 %)
Phase 2 took 13379.6 sec
Wrote plot header with 252 bytes
[P3-1] Table 2 took 1040.78 sec, wrote<PHONE_NUMBER> right entries
[P3-2] Table 2 took 176.603 sec, wrote<PHONE_NUMBER> left entries,<PHONE_NUMBER> final
[P3-1] Table 3 took 161.97 sec, wrote<PHONE_NUMBER> right entries
[P3-2] Table 3 took 358.999 sec, wrote<PHONE_NUMBER> left entries,<PHONE_NUMBER> final
[P3-1] Table 4 took 165.723 sec, wrote<PHONE_NUMBER> right entries
[P3-2] Table 4 took 358.118 sec, wrote<PHONE_NUMBER> left entries,<PHONE_NUMBER> final
[P3-1] Table 5 took 170.062 sec, wrote<PHONE_NUMBER> right entries
[P3-2] Table 5 took 362.756 sec, wrote<PHONE_NUMBER> left entries,<PHONE_NUMBER> final
[P3-1] Table 6 took 180.598 sec, wrote<PHONE_NUMBER> right entries
[P3-2] Table 6 took 386.224 sec, wrote<PHONE_NUMBER> left entries,<PHONE_NUMBER> final
[P3-1] Table 7 took 45.9 sec, wrote<PHONE_NUMBER> right entries
[P3-2] Table 7 took 443.736 sec, wrote<PHONE_NUMBER> left entries,<PHONE_NUMBER> final
Phase 3 took 3857.1 sec, wrote<PHONE_NUMBER>7 entries to final plot
[P4] Starting to write C1 and C3 tables

I am running on Ubuntu 20.04
Dual Xeon(R) CPU E5-2670 v3
20 Threads
128 GB of RAM (110G of it becomes a ram drive using the command in the README)
And the other plot drive is an SSD with the destination being a HDD.
Looks like I was using master branch commit 95389dc
Is it a bad commit or is something else going on?

I just tried with the latest commit, 974d6e5, and still getting the same thing.

As it turns out, my plotter was formatted to exFat, reformatting to ext4 solved the issue.


Update to 21.1

Checklist

[X] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[X] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

 *******> update.1

 Author: Gerald Monard

 Date: May 14, 2021

 Program: sander

 Description: This fixes compilation of the SEBOMD library with gcc-11

 --------------------------------------------------------------------------------
 AmberTools/src/sander/sebomd_module.F90 | 84 ++++++++++++++++-----------------
 1 file changed, 42 insertions(+), 42 deletions(-)

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@conda-forge-admin, please rerender

Current errors stemming from issues with boost-cpp. We need to wait until some PRs are merged upstream.
https://github.com/conda-forge/boost-cpp-feedstock/pull/96

@conda-forge-admin, please rerender


Transition from docker-compose to docker compose

CI failed because docker-compose is no longer available there.

Maybe it's better to include this in #145


Create .NET websockets sample app

Added a sample app for using websockets with .NET on app service

@denvermb left a comment in the PR, please send an update and mention me in the comments. I'm not getting notified for new PR for some reason 🙃

@btardif updated with Linux instructions in Step 7


GoogleFnet fails with stack dump in E2E performance CI

In CI runs https://github.com/intel/intel-xpu-backend-for-triton/actions/runs/10108590708 and https://github.com/intel/intel-xpu-backend-for-triton/actions/runs/10108584426, the GoogleFnet model fails in various combinations of training/inference and datatype.
The log shows that the benchmark causes a stack dump in Triton. More details can be found in the respective logs of the CI runs.
The failing configurations are:
67   xpu  huggingface                     GoogleFnet   training  bfloat16         0.0         0.0
159  xpu  huggingface                     GoogleFnet  inference  amp_bf16         0.0         0.0
205  xpu  huggingface                     GoogleFnet  inference  bfloat16         0.0         0.0
251  xpu  huggingface                     GoogleFnet  inference  amp_fp16         0.0         0.0
343  xpu  huggingface                     GoogleFnet   training   float16         0.0         0.0
435  xpu  huggingface                     GoogleFnet   training  amp_fp16         0.0         0.0
297  xpu  huggingface                     GoogleFnet   training  amp_bf16         0.0         0.0
21   xpu  huggingface                     GoogleFnet  inference   float16         0.0         0.0
113  xpu  huggingface                     GoogleFnet  inference   float32         0.0         0.0
389  xpu  huggingface                     GoogleFnet   training   float32         0.0         0.0

Additionally, a warning is printed before execution of the model: GoogleFnet supports float32 only. Therefore, it might make sense to focus the investigation on the failing configurations with float32 datatype.

Switch to Upstream PyTorch fixes this issue

Fixed by #1952.
Successful run: https://github.com/intel/intel-xpu-backend-for-triton/actions/runs/10477366151.

No longer reproducible with PyTorch 2.5 (no IPEX). This is the default mode for E2E accuracy and performance tests (implemented in #1952).


Debt.java: change regex to accept positive numbers with two decimal p…

…laces

Coverage remained the same at 92.621% when pulling 301ab57835c3a5fd6d5411646c0a551367828516 on jelneo:borrow_payback_command into 6460dbc3a22a7cda1a88de6b737140c42a183aef on CS2103AUG2017-T17-B1:master.

Coverage decreased (-0.04%) to 92.579% when pulling ac62d3ee52d4df71357cdf493b37c85ce508daf8 on jelneo:borrow_payback_command into 6460dbc3a22a7cda1a88de6b737140c42a183aef on CS2103AUG2017-T17-B1:master.

Coverage decreased (-0.3%) to 92.325% when pulling cde2d0d94b733e8e153de9e2823d1e49eafc8aa3 on jelneo:borrow_payback_command into 6460dbc3a22a7cda1a88de6b737140c42a183aef on CS2103AUG2017-T17-B1:master.

Coverage decreased (-0.2%) to 92.406% when pulling 61afbae968183dc6679c69f78047604d712bcbaa on jelneo:borrow_payback_command into 6460dbc3a22a7cda1a88de6b737140c42a183aef on CS2103AUG2017-T17-B1:master.

Coverage decreased (-0.3%) to 92.322% when pulling e19a49fbd6199299eec7875b8f709026c5196da9 on jelneo:borrow_payback_command into 6460dbc3a22a7cda1a88de6b737140c42a183aef on CS2103AUG2017-T17-B1:master.

Coverage decreased (-0.3%) to 92.322% when pulling 80838cc723b07e47181ad62090c77a0b11fe7364 on jelneo:borrow_payback_command into 6460dbc3a22a7cda1a88de6b737140c42a183aef on CS2103AUG2017-T17-B1:master.

Coverage decreased (-0.3%) to 92.322% when pulling 7647a7e91b552a5d85e47735425c9705814bdc5e on jelneo:borrow_payback_command into 6460dbc3a22a7cda1a88de6b737140c42a183aef on CS2103AUG2017-T17-B1:master.

Coverage decreased (-0.3%) to 92.322% when pulling 7647a7e91b552a5d85e47735425c9705814bdc5e on jelneo:borrow_payback_command into 6460dbc3a22a7cda1a88de6b737140c42a183aef on CS2103AUG2017-T17-B1:master.


Connecting with a name already in use gives a libgren error

Says recieved unhandled message acknowledge if this occurs.

Fixed


mod: bump aperture version to v0.3.4-beta

Fixes a build issue in litd by bumping aperture to the latest version.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

0 of 0   changed or added relevant lines in 0 files are covered.
29 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.004%) to 40.877%

Files with Coverage Reduction
New Missed Lines
%

tapgarden/caretaker.go
4
68.5%

commitment/tap.go
4
84.17%

tapdb/multiverse.go
6
68.21%

universe/interface.go
15
50.65%

Totals

Change from base Build<PHONE_NUMBER>2:
-0.004%

Covered Lines:
25785

Relevant Lines:
63080

💛  - Coveralls


Kernel panic with Keybase.

I have no Idea why this is happening. But the last thing is loaded
last loaded kext at<PHONE_NUMBER>476: com.github.kbfuse.filesystems.kbfuse	3.2.0 (addr 0xffffff7fa1b8e000, size 110592)

Kernel_2016-07-16-161801_Joels-iMac.panic.zip
Archive.zip
Kernel panic
Anonymous UUID:       385B4CA7-968B-AFD9-E899-27EB8E233CC6

Wed Aug  3 14:21:05 2016

*** Panic Report ***
panic(cpu 0 caller 0xffffff7fa0253bb4): NVRM[0/2:0:0]: Read Error 0x00000100: CFG 0xffffffff 0xffffffff 0xffffffff, BAR0 0xd2000000 0xffffff812acf9000 0x094700a1, D0, P1/4
Backtrace (CPU 0), Frame : Return Address
0xffffff802b863780 : 0xffffff801f32ae01
0xffffff802b863800 : 0xffffff7fa0253bb4
0xffffff802b8638c0 : 0xffffff7fa031d18e
0xffffff802b863900 : 0xffffff7fa031d1fe
0xffffff802b863970 : 0xffffff7fa0592d0f
0xffffff802b863a80 : 0xffffff7fa034082d
0xffffff802b863aa0 : 0xffffff7fa025a5f1
0xffffff802b863b50 : 0xffffff7fa02580fc
0xffffff802b863d50 : 0xffffff7fa025919c
0xffffff802b863e30 : 0xffffff7fa0205f5e
0xffffff802b863e90 : 0xffffff7fa19a59d6
0xffffff802b863ee0 : 0xffffff7fa19a4692
0xffffff802b863f00 : 0xffffff801f35d859
0xffffff802b863fb0 : 0xffffff801f411867
      Kernel Extensions in backtrace:
         com.apple.nvidia.classic.NVDAResmanTesla(10.0)[796AE430-39FB-3255-8161-D52AFA28EE2B]@0xffffff7fa0203000->0xffffff7fa046cfff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[74F62F92-0BCA-341C-BBAD-1C7496FD378F]@0xffffff7f9fa47000
            dependency: com.apple.iokit.IONDRVSupport(2.4.1)[7372D580-6DDE-3457-B043-49B8447FC9D2]@0xffffff7fa01f3000
            dependency: com.apple.iokit.IOGraphicsFamily(2.4.1)[8922721D-5517-3883-BD3A-57422D0244A0]@0xffffff7fa01ac000
         com.apple.nvidia.classic.NVDANV50HalTesla(10.0)[7FE40648-F15F-3E18-91E2-FDDDF4CDA355]@0xffffff7fa0477000->0xffffff7fa0720fff
            dependency: com.apple.nvidia.classic.NVDAResmanTesla(10.0.0)[796AE430-39FB-3255-8161-D52AFA28EE2B]@0xffffff7fa0203000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[74F62F92-0BCA-341C-BBAD-1C7496FD378F]@0xffffff7f9fa47000
         com.apple.driver.AGPM(110.19.6)[993A6073-348D-388A-8BE5-F0EA14E61D67]@0xffffff7fa19a2000->0xffffff7fa19b5fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[74F62F92-0BCA-341C-BBAD-1C7496FD378F]@0xffffff7f9fa47000
            dependency: com.apple.driver.IOPlatformPluginFamily(5.9.1d7)[593924B4-A956-3CA5-9610-448D50D96947]@0xffffff7fa0ac5000
            dependency: com.apple.iokit.IONDRVSupport(2.4.1)[7372D580-6DDE-3457-B043-49B8447FC9D2]@0xffffff7fa01f3000
            dependency: com.apple.iokit.IOGraphicsFamily(2.4.1)[8922721D-5517-3883-BD3A-57422D0244A0]@0xffffff7fa01ac000
            dependency: com.apple.AppleGraphicsDeviceControl(3.10.25)[DFDCFB7E-74E4-397E-AA6F-6ECFC41D5649]@0xffffff7fa199b000

BSD process name corresponding to current thread: kernel_task

Mac OS version:
14F1902

Kernel version:
Darwin Kernel Version 14.5.0: Thu Apr 21 20:40:54 PDT 2016; root:xnu-2782.50.3~1/RELEASE_X86_64
Kernel UUID: 35628954-D060-3983-AA09-0375AE4FFB42
Kernel slide:     0x000000001f000000
Kernel text base: 0xffffff801f200000
__HIB  text base: 0xffffff801f100000
System model name: iMac9,1 (Mac-F2218FC8)

System uptime in nanoseconds:<PHONE_NUMBER>9907
last loaded kext at<PHONE_NUMBER>476: com.github.kbfuse.filesystems.kbfuse	3.2.0 (addr 0xffffff7fa1b8e000, size 110592)
last unloaded kext at<PHONE_NUMBER>83: com.apple.filesystems.msdosfs	1.10 (addr 0xffffff7fa1b8e000, size 61440)
loaded kexts:
com.github.kbfuse.filesystems.kbfuse	3.2.0
com.sophos.kext.sav	9.4.52
org.virtualbox.kext.VBoxNetAdp	5.0.26
org.virtualbox.kext.VBoxNetFlt	5.0.26
org.virtualbox.kext.VBoxUSB	5.0.26
com.sophos.nke.swi	9.4.52
org.virtualbox.kext.VBoxDrv	5.0.26
com.rim.driver.BlackBerryUSBDriverInt	0.0.67
com.logitech.manager.kernel.driver	5.60.1
com.apple.filesystems.smbfs	3.0.2
com.apple.driver.AppleHWSensor	1.9.5d0
com.apple.driver.AGPM	110.19.6
com.apple.filesystems.autofs	3.0
com.apple.iokit.IOBluetoothSerialManager	4.3.6f3
com.apple.driver.AppleOSXWatchdog	1
com.apple.driver.AppleMikeyHIDDriver	124
com.apple.driver.AppleHDA	272.18.3
com.apple.driver.AppleUpstreamUserClient	3.6.1
com.apple.GeForceTesla	10.0.0
com.apple.driver.AppleLPC	1.7.3
com.apple.iokit.IOUserEthernet	1.0.1
com.apple.Dont_Steal_Mac_OS_X	7.0.0
com.apple.driver.AppleHWAccess	1
com.apple.driver.AppleHV	1
com.apple.driver.AppleIntelSlowAdaptiveClocking	4.0.0
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport	4.3.6f3
com.apple.driver.AppleBacklight	170.7.4
com.apple.driver.AppleMCCSControl	1.2.12
com.apple.driver.AppleMikeyDriver	272.18.3
com.apple.driver.AudioAUUC	1.70
com.apple.driver.ACPI_SMC_PlatformPlugin	1.0.0
com.apple.driver.AppleIRController	327.5
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless	1.0.0d1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib	1.0.0
com.apple.BootCache	36
com.apple.iokit.SCSITaskUserClient	3.7.5
com.apple.driver.XsanFilter	404
com.apple.iokit.IOAHCIBlockStorage	2.7.1
com.apple.driver.AppleFWOHCI	5.5.2
com.apple.driver.AirPort.Brcm4331	800.20.24
com.apple.driver.AppleUSBHub	705.4.2
com.apple.driver.AppleAHCIPort	3.1.2
com.apple.nvenet	2.0.22
com.apple.driver.AppleUSBOHCI	656.4.1
com.apple.driver.AppleUSBEHCI	705.4.14
com.apple.driver.AppleRTC	2.0
com.apple.driver.AppleHPET	1.8
com.apple.driver.AppleACPIButtons	3.1
com.apple.driver.AppleSMBIOS	2.1
com.apple.driver.AppleACPIEC	3.1
com.apple.driver.AppleAPIC	1.7
com.apple.driver.AppleIntelCPUPowerManagementClient	218.0.0
com.apple.nke.applicationfirewall	161
com.apple.security.quarantine

Model: iMac9,1, BootROM IM91.008D.B08, 2 processors, Intel Core 2 Duo, 3.06 GHz, 8 GB, SMC 1.37f3
Graphics: NVIDIA GeForce GT 130, NVIDIA GeForce GT 130, PCIe, 512 MB
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1067 MHz, 0x859B, 0x435434473353313036374D2E4D3136464B52
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1067 MHz, 0x859B, 0x435434473353313036374D2E4D3136464B52
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x8E), Broadcom BCM43xx 1.0 (<IP_ADDRESS>.24)
Bluetooth: Version 4.3.6f3 16238, 3 services, 27 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Network Service: Wi-Fi, AirPort, en1
Serial ATA Device: WDC WD1001FALS-40K1B0, 1 TB
Serial ATA Device: PIONEER DVD-RW  DVRTS08
USB Device: Built-in iSight
USB Device: IR Receiver
USB Device: Logitech G930 Headset
USB Device: USB Receiver
USB Device: BRCM2046 Hub
USB Device: Bluetooth USB Host Controller
Thunderbolt Bus:

System Software Overview:
  System Version:	OS X 10.10.5 (14F1902)
  Kernel Version:	Darwin 14.5.0
  Boot Volume:	10.10
  Boot Mode:	Normal
  Computer Name:	Joel’s iMac
  User Name:	Joel Tyler (JoelTyler)
  Secure Virtual Memory:	Enabled
  Time since boot:	2:43

Sorry about this. I think the log is telling you that the crash happened inside your nVidia Tesla driver, though.
I guess we'll normality be the "last loaded modules" because the other ones are loaded during boot.

Perhaps try Googling "com.apple.nvidia.classic.NVDAResmanTesla panic", I see there are some hits.
How easy is it to reproduce the panic?

Looking like graphics card is dieing :(

Phew! I was going to say this is the first such report.
On Wednesday, August 3, 2016, Joel Tyler<EMAIL_ADDRESS>wrote:

Closed #3726 https://github.com/keybase/client/issues/3726.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/3726#event-743708675, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA05_wBe86BG8w1IEkHGMGuXw3261QfZks5qcHu4gaJpZM4JbYW0
.

Yeah, a relief for us -- although I bet @jtyle6 would rather have a working laptop than a Keybase bug; condolences!

@cjb well not for me. Oh, not a laptop but an iMac. it's going to be really expensive.

Oh man I am sorry that sucks :(
On Wednesday, August 3, 2016, Joel Tyler<EMAIL_ADDRESS>wrote:

@cjb https://github.com/cjb well not for me. Oh, not a laptop but an
iMac. it's going to be really expensive.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/3726#issuecomment-237438944,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA05_3S0wkgblY5MFxAnQVU77T1Ciokxks5qcVS5gaJpZM4JbYW0
.


Fix getting GOPATH from HOME

Thanks!
The builds are failing with
pkg/cover/config.go:62::warning: Potential file inclusion via variable,MEDIUM,HIGH (gosec)
pkg/cover/run.go:15::warning: Subprocess launched with variable,MEDIUM,HIGH (gosec)

That's my fault for not locking the version of the linter, it seems it has updated since I wrote that code
If you add // nolint: gosec or // nolint: gas,gosec to the end of those lines, it should skip the linter warnings
Reviewing those lines, the values it is suspicious are perfectly fine in this case

Hi @jokeyrhyme! It should be fixed now 😊


Adding a Title in headers doesn't change the title

Following code reproduces the problem:
from fasthtml.common import *

app, rt = fast_app(hdrs=[Title('Test title')])

@ rt("/")
def get():
    return Div("Hello World")

serve(port=8082)

Results in following <head>:
<head>
    <title>FastHTML page</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
    <script<EMAIL_ADDRESS>    <script<EMAIL_ADDRESS>    <script<EMAIL_ADDRESS>    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>    <style>:root { --pico-font-size: 100%; }</style>
    <title>Test title</title>
    <style>
          .htmx-indicator{opacity:0}
          .htmx-request .htmx-indicator{opacity:1; transition: opacity 200ms ease-in;}
          .htmx-request.htmx-indicator{opacity:1; transition: opacity 200ms ease-in;}
    </style>
</head>

As you can see <title>FastHTML page</title> is not removed and thus, the page title keeps the  'FastHTML page' title.
Disabling default headers also doesn't remove the page title header:
from fasthtml.common import *

app, rt = fast_app(hdrs=[Title('Test title')], default_hdrs=False)

@ rt("/")
def get():
    return Div("Hello World")

serve(port=8082)

results in:
<head>
    <title>FastHTML page</title>
    <title>Test title</title>
</head>

Maybe there is a different way to change the title, as I can see that http://fastht.ml has a title properly set?

This is how the fastht.ml website sets the title: (adapted to your example)
from fasthtml.common import *

app, rt = fast_app()

@ rt("/")
def get():
    return (Title("Test title"),
        Div("Hello World")
        )

serve(port=8082)

This solves the title issue in this example, but putting a title in fast_app(hdrs=[Title('Test title')]) still results in an additional title tag in the generated html.

Yes, we handle title tags differently in fasthtml since each route can specify its own title. Behind the scenes we detect the title FastTag and move it into the header if it is returned in a route.

Thanks, this did solve the problem!
For some reason I didn't think of including the title as part of the response. The approach makes sense, though I think it wouldn't hurt to make sure the header setting also works (overrides the default), for cases when you want to set the same title for all/most pages.
Should I close the issue, or leave it open in case you want to consider the header override also?

I'll close it, since it would be a bit tricky to support having titles defined in headers too.


Mapping existing @dppy.kernel functions to Level-0

Feature request

The supported dppl.kernel functions are mapped to OpenCL functions. To support Level-0 drivers we need to figure out the corresponding mapping and implement those.

Fixed for a while.


What are the Output Tensors of Palm Detection?

I am trying to insert custom networks into the hands pipeline to detect not-quite human hands and to understand the inputs and outputs of the existing networks. As I understand, the outputs of the Landmark Detection are the 1x63 tensor containing the landmarks' xyz coordinates, a 1x1 presence tensor, a 1x1 handedness tensor and an unused 1x63 tensor (or are the 1x63 for right and left hands?)
But I do not understand, how the 1x2016x1 and the 1x2016x18 tensors are representing a directed bounding box and maybe a presence value.
Edit: To add to this, why are the inputs 192x192 (palm) and 224x224 (landmark) pixels instead of the 256x256 pixels as the paper states?

Hi @ElonXXIII ,
As in SSD models, these are the predictions based on predefined anchors. We use TfLiteTensorsToDetectionsCalculator to decode the output tensors given the SSD anchors.

From the calculator's .cc file: First tensor is the predicted raw boxes/keypoints. The size of the values must be (num_boxes * num_predicted_values). Second tensor is the score tensor.
So there are 2016 boxes, the 1x2016x1 tensor is the score tensor and the 1x2016x18 tensor is the raw boxes/keypoints tensor.
But why is it 18 keypoints? Are the 6 wrist landmarks in x,y,z the output? I thought the output was a directed bounding box?

The information what output tensor corresponds to "the hand fills out exactly the whole screen and is upright" would also be sufficient for a workaround for my use-case

18 keypoints?
first 4 float values is dx,dy,w,h == bbox but dx and dy must know anchor points
anther 14 values is (x0,y0), (x1,y1), ...(x6,y6) = 7 keypoints
Source: https://github.com/junhwanjang/mediapipe-models/blob/main/palm_detection/assets/palm_7_landmark_index.png

my problem is

I don't know how to find anchor points of 2016 anchors for this SSD model
Is 7 keypoints relative to anchor points? I try center of image, but didn't success

From ssd_anchors_calculator
https://github.com/google/mediapipe/blob/master/mediapipe/calculators/tflite/ssd_anchors_calculator.cc
I try to create anchors point with parameter from
https://github.com/google/mediapipe/blob/master/mediapipe/modules/palm_detection/palm_detection_cpu.pbtxt
I can produce only half anchor points (1008) not 2016
Layer 1: 192/8 = 24 => 2424 = 576
Layer 2-4: 192/16 = 12 => 1212 = 144 * 3=  432
Total: 576 + 432 = 1008
let anchorOptions = {
  numLayers: 4,
  minScale: 0.1484375,
  maxScale: 0.75,
  inputSizeWidth: 192,
  inputSizeHeight: 192,
  anchorOffsetX: 0.5,
  anchorOffsetY: 0.5,
  strides: [8, 16, 16, 16],
  aspectRatios: [1.0],
  fixedAnchorSize: true,
}

function calculateScale(minScale, maxScale, strideIndex, numStrides) {
  if (numStrides === 1) {
    return (minScale + maxScale) * 0.5
  }
  return minScale + (maxScale - minScale) * 1.0 * strideIndex / (numStrides - 1.0)
}

export function generateAnchors(options) {
  const anchors = []
  if (!options.featureMapHeightSize && !options.strides?.length) {
    throw new Error('Both feature map shape and strides are missing. Must provide either one.')
  }
  if (options.featureMapHeightSize) {
    if (options.strides?.length) {
      throw new Error('Found feature map shapes. Strides will be ignored.')
    }
    if (options.featureMapHeightSize !== options.numLayers) {
      throw new Error('options.featureMapHeightSize !== options.numLayers')
    }
    if (options.featureMapHeightSize !== options.featureMapWidth_size) {
      throw new Error('options.featureMapHeightSize !== options.featureMapWidth_size')
    }
  } else {
    if (options.strides.length !== options.numLayers) {
      throw new Error('options.options.strides.length !== options.numLayers')
    }
  }

  let layerId = 0
  while (layerId < options.numLayers) {
    let anchorHeight = []
    let anchorWidth = []
    let aspectRatios = []
    let scales = []

    console.log('layerId=', layerId)

    let lastSameStrideLayer = layerId
    while (lastSameStrideLayer < options.strides.length && options.strides[lastSameStrideLayer] === options.strides[layerId]) {
      const scale = calculateScale(options.minScale, options.maxScale, lastSameStrideLayer, options.strides.length)
      if (lastSameStrideLayer === 0 && options.reduceBoxesInLowestLayer) {
        aspectRatios.push(1.0)
        aspectRatios.push(2.0)
        aspectRatios.push(0.5)
        scales.push(0.1)
        scales.push(scale)
        scales.push(scale)
      } else {
        for (let aspectRatioId = 0; aspectRatioId < options.aspectRatios.length; aspectRatioId++) {
          aspectRatios.push(options.aspectRatios[aspectRatioId])
          scales.push(scale)
        }
        if (options.interpolatedScaleAspectRatio > 0.0) {
          const scaleNext = lastSameStrideLayer === options.strides.length - 1 ? 1.0 : calculateScale(options.minScale, options.maxScale, lastSameStrideLayer + 1, options.strides.length)
          scales.push(Math.sqrt(scale * scaleNext))
          aspectRatios.push(options.interpolatedScaleAspectRatio)
        }
      }
      lastSameStrideLayer++
    }

    for (let i = 0; i < aspectRatios.length; i++) {
      const ratioSqrts = Math.sqrt(aspectRatios[i])
      anchorHeight.push(scales[i] / ratioSqrts)
      anchorWidth.push(scales[i] * ratioSqrts)
    }

    let featureMapHeight = 0
    let featureMapWidth = 0
    if (options.featureMapHeightSize) {
      featureMapHeight = options.featureMapHeight[layerId]
      featureMapWidth = options.featureMapWidth[layerId]
    } else {
      const stride = options.strides[layerId]
      featureMapHeight = Math.ceil(options.inputSizeHeight / stride)
      featureMapWidth = Math.ceil(options.inputSizeWidth / stride)
    }

    for (let y = 0; y < featureMapHeight; y++) {
      for (let x = 0; x < featureMapWidth; x++) {
        for (let anchorId = 0; anchorId < anchorHeight.length; anchorId++) {
          const xCenter = (x + options.anchorOffsetX) / featureMapWidth
          const yCenter = (y + options.anchorOffsetY) / featureMapHeight

          let newAnchor = {}
          newAnchor.xCenter = xCenter
          newAnchor.yCenter = yCenter

          if (options.fixedAnchorSize) {
            newAnchor.w = 1
            newAnchor.h = 1
          } else {
            newAnchor.w = anchorWidth[anchorId]
            newAnchor.h = anchorHeight[anchorId]
          }
          anchors.push(newAnchor)
        }
      }
    }
    layerId = lastSameStrideLayer
  }

  return anchors
}

Now I can generate all 2016 anchor points by add 0.5 ratio in aspectRatios array
let anchorOptions = {
  numLayers: 4,
  minScale: 0.1484375,
  maxScale: 0.75,
  inputSizeWidth: 192,
  inputSizeHeight: 192,
  anchorOffsetX: 0.5,
  anchorOffsetY: 0.5,
  strides: [8, 16, 16, 16],
  aspectRatios: [1.0, 0.5], // <--
  fixedAnchorSize: true,
}

to decode 18 float values
let palmImageSize = 192
// bbox[0] == xCenter, bbox[1] == yCenter, bbox[2] == width, bbox[3] == height
bbox[0] += anchors[maxPalmIdx].xCenter * palmImageSize
bbox[1] += anchors[maxPalmIdx].yCenter * palmImageSize
// width, height unchanged

// 14 values adjust with anchor
for (let i = 4; i < 18; i += 2) {
  let x = palmData.readFloatLE(offset + i * 4) + anchors[maxPalmIdx].xCenter * palmImageSize
  let y = palmData.readFloatLE(offset + i * 4 + 4) + anchors[maxPalmIdx].yCenter * palmImageSize
  points.push({ x, y })
}

For people that are looking for a csv of SSD anchors, I've attached the file here, along with code to generate it. Thanks @saknarak for your snippets!
https://github.com/VimalMollyn/GenMediaPipePalmDectionSSDAnchors

Maybe
2016/63 = 32  -> 4byte  float
63/3 = 21  (x,y,z)
Left Right 2set

Now I can generate all 2016 anchor points by add 0.5 ratio in aspectRatios array
let anchorOptions = {
  numLayers: 4,
  minScale: 0.1484375,
  maxScale: 0.75,
  inputSizeWidth: 192,
  inputSizeHeight: 192,
  anchorOffsetX: 0.5,
  anchorOffsetY: 0.5,
  strides: [8, 16, 16, 16],
  aspectRatios: [1.0, 0.5], // <--
  fixedAnchorSize: true,
}

to decode 18 float values
let palmImageSize = 192
// bbox[0] == xCenter, bbox[1] == yCenter, bbox[2] == width, bbox[3] == height
bbox[0] += anchors[maxPalmIdx].xCenter * palmImageSize
bbox[1] += anchors[maxPalmIdx].yCenter * palmImageSize
// width, height unchanged

// 14 values adjust with anchor
for (let i = 4; i < 18; i += 2) {
  let x = palmData.readFloatLE(offset + i * 4) + anchors[maxPalmIdx].xCenter * palmImageSize
  let y = palmData.readFloatLE(offset + i * 4 + 4) + anchors[maxPalmIdx].yCenter * palmImageSize
  points.push({ x, y })
}

set interpolatedScaleAspectRatio=1，will be right.

Hello @ElonXXIII,
We are upgrading the MediaPipe Legacy Solutions to new MediaPipe solutions However, the libraries, documentation, and source code for all the MediapPipe Legacy Solutions will continue to be available in our GitHub repository and through library distribution services, such as Maven and NPM.
You can continue to use those legacy solutions in your applications if you choose. Though, we would request you to check new MediaPipe solutions which can help you more easily build and customize ML solutions for your applications. These new solutions will provide a superset of capabilities available in the legacy solutions. Thank you


Warning I need to use LTS when I am using LTS 12

I get the following warning (locally) when trying to use node 12:
[11/2/2019 12:18:03 AM] [error] Incompatible Node.js version. The version you are using is v12.13.0, but the runtime requires an LTS-covered major version (ex: 8.11.1 or 10.14.1). LTS-covered versions have an even major version number (8.x, 10.x, etc.) as per https://github.com/nodejs/Release#release-plan. For deployed code, change WEBSITE_NODE_DEFAULT_VERSION in App Settings. Locally, install or switch to a supported node version (make sure to quit and restart your code editor to pick up the changes).

Node 12.13.0 is the latest LTS release, so I wouldn't expect to be told to use an LTS release.
Investigative information
Please provide the following:
N/A - repros locally with node 12.13.0 installed
Func host version:
Azure Functions Core Tools (2.7.1724 Commit hash: faf97bb64a53fbf1c7ef7e5c608c392c8662951b)
Function Runtime Version: 2.0.12763.0

Repro steps
Provide the steps required to reproduce the problem:
install node 12.13.0 (latest node LTS - Erbium)
run func host start
Expected behavior
Provide a description of the expected behavior.
(
It should work with the LTS version
AND
Fetch the list of known good LTS from a public source (such as GitHub releases) before yelling
)
OR
If the list is going to be hard coded into the JS worker, you should say which specific versions are supported, not mention LTS at all.
Actual behavior
Provide a description of the actual behavior observed.
yells at me for using an LTS version (that it presumably doesn't recognize)
Known workarounds
Provide a description of any known workarounds.
N/A
Related information
Provide any related information
N/A

@mhoeger

@mhoeger Could we do something like this instead if this is running in Core Tools? If Core Tools and the installed Node version is not officially supported but is >= the minimum supported version, print a warning but allow still worker to start.

The behavior Chris described is what we do now for Node.js 12- do you think this should be the behavior for everything including Node.js 11, 13 and 15?
https://github.com/Azure/azure-functions-nodejs-worker/blob/67941a159bf893b9459fd9a9bbdd691f8ba10838/src/nodejsWorker.ts#L27

And if yes, yeah we could make that change!

I think that warning is gone on the v2.x branch. What I was thinking of was this:
https://github.com/Azure/azure-functions-nodejs-worker/blob/8dcd914ce2a053595e6a038475de53b7800c507e/src/nodejsWorker.ts#L31-L34
It should continue to throw in production if not running on a supported LTS version. But if running in Core Tools, perhaps it should only print a warning and continue, as long as they're using Node 8 or higher. That way folks who use Current don't have to switch to develop for Functions, but they are warned that it's not a supported version.

A quick update on this thread.
@mhoeger @alrod I think you looked into this and supporting more versions requires the worker to package more gRPC binaries. So based on this, we decided to park this item.
However, going through some user research right now (folks running functions in Static Web Apps), folks are installing node via stuff like homebrew, which defaults to latest current, and once they do that it's really hard to dig out of that hole. I wonder if we can support the latest current version when running locally. So currently, this means supporting Node 15 with a warning (but we can ignore the previous current versions).

Closing as the original issue has been addressed and the update on allowing "current" versions during local dev is tracked here: https://github.com/Azure/azure-functions-nodejs-worker/issues/363