Artistry

@tobyhodges raised the idea of bringing in more artsy content into the paper, because let's face it, it is a text desert right now.....
Let's collect some of the ideas in this issue. Especially since we have the offer by  @malvikasharan:
hand-sketched designs can be given to me (see contact details above) for giving to a professional illustrator in November

Here is a sketch (I'm clearly no artist)

The idea is that there is a person in the middle holding up his two hands. The left side of the picture is the Software Engineering side reflected in background, clothing and the left eye has a microchip inside. The right side is the domain scientist side.
Above each hand there is the collection of values and techniques that make a RSE. And that is the part where I could use some input. E.g. for the SE side I couldn't come up with actual values, while I also lack specific techniques from the science side. What values/techniques would you like to see?

Possible SE Values:

Software Quality
Collaboration
Security
Scalability
Maintainability
Modularity
Testing and Verification
Agility

Possible Science Values:

Reproducibility
Transparency
Innovation

Malvika: hand-sketched designs can be given to me (see contact details above) for giving to a professional illustrator in November

I liked the idea discussed today that we use some standard icons throughout the paper(s) and in the artistry. Maybe we can use FontAwesome (https://fontawesome.com/icons) or FlatIcon (https://www.flaticon.com)?

I like the suggestion of having a person with skillsets around!
Building up on that:

The person could actually be Kay, the imaginary character used in the examples, sister of Kim. This would give a more human-related touch/emphasis to the paper.
Instead of a list of terms, I would make those tangible items: I imagine Kay with a semi-open backpack, with items popping out.
The terms/items would be their skills, following the same terminology used in the rest of the paper. Not necessarily the abbreviated terms.
The terms can also change later, since I assume we will have a vector format.
We should not focus on tools and specifics, but it wouldn't harm if Kay had a laptop with stickers being the logos of the different tools.
I would make that a central figure of the paper, which would act like a "graphical summary". That would also be great for communicating the paper.

I really enjoy reading comics and any similar kind of strips, but my drawing skills are very very basic. If we can get an illustrator, I would be happy to work with them, but I assume this will take significant amount of time.

You could also try flaticon which has free icons also available as EPS, which TeX can handle natively.
Another option could be svgrepo

Here is my current mapping based on fontawesome:
LIBS
boxes-packaging
SWREPOS
code-pull-request
MOD
laptop-code
SWLC
circle-nodes
NEW
person-rays
RC
arrows-spin
SRU
recycle
DOMREP
folder
TEAM
user-group
TEACH
chalkboarc-user
PM
clipboard-list
DOCBB
sitemap

Great work!

Following up on https://github.com/CaptainSifff/paper_teaching-learning-RSE/issues/138#issuecomment-1783179966, here is how I imagine Kay:

Follow-up suggestion:

Hi folks, I have one slot where I can work on a sketch. Can you confirm which one you settled on? The one with Kay (research, communication and RSE skills) or a combination of the first two ideas?
Also, checkout these illustrations that are reusable: https://zenodo.org/record/7785796#.ZEE4GRXMLdq

@malvikasharan so far, the ideas here are iterations, with the latest based on the previous one. Next meeting is on Friday, is this too late for you?

We have the artist working with the Book Dash attendees today. I was traveling this week hence did not have the chance to coordinate earlier.
If there is no concrete suggestion to take forward, I can wait for the next opportunity, but that will be in 2024.

Folks, I really like this: https://github.com/CaptainSifff/paper_teaching-learning-RSE/issues/138#issuecomment-1802527156
This is easy to implement and since I will also ask for unlabeled version, you can edit the text in that. What do you think?

Also check these:

Folks, I really like this: #138 (comment)
This is easy to implement and since I will also ask for unlabeled version, you can edit the text in that. What do you think?

I am biased since I proposed it, but if you think it is easy to implement, I think it is not that bad. This is more "fun", my second proposal is more informative/clear.
Whatever @CaptainSifff says.

Another prototype thats not as busy. I wanted to have different backgrounds for the three sections, but Im running out of time

If we add the words next to the symbols, I think this is more or less the same concept. Note that currently the text does not include the symbols.

Also check these:

Similar goal, but different content. I think that reusing this could be confusing for the reader and would need some additional relation in the text.

Hi all!
@MakisH made me aware of this discussion. I am happy to support here, if you like my simple drawings.
Here's an example: https://digital-research-academy.github.io/DRAdvent23/


Environmental Calculator

Description
The Environmental Calculator will consist of :

Energy Consumption Calculator that estimates the annual energy consumption based on the monthly average energy consumption.
Water Usage Calculator that computes the annual water usage based on the average water usage per day.

Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[X] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

Go ahead @muskan42

@Rakesh9100
I would like to contribute on this issue.
Kindly assign this to me under IWOC2024

Proceed @Prince-kushwaha-2004


<Plug>(cmp-autoindent) being insert into the buffer randomly

Well its not really random, it happens when autoindent should trigger. it only started happening after updating today. A quick look through the codebase and I think its because of this line:
https://github.com/hrsh7th/nvim-cmp/blob/c2e7736260ffc6e4f863038d06a97e03767d92c6/lua/cmp/core.lua#L235
And this commit
https://github.com/hrsh7th/nvim-cmp/commit/c2e7736260ffc6e4f863038d06a97e03767d92c6
If i am not wrong, feedkeys(..., 'n', ...) is equivalent to noremap, ie it doesn't consider any keymaps (even  maps maybe?). So probably thats why the text is inserted verbatim rather than the command being being run. You probably want 'm'

I've fixed it. Thank you.


Added optional TheMovieDbApiLanguage setting

I read this issue #336 and I implemented for entire system as a request param in all requests to TMdb API. The Api language can be configured in Admin Settings page.
If the language is not available for request movie/tv show, it responses like an empty language parameter (in english).

What is the status here, can it be merged or is the limit an issue?

This branch is ready to be merged. About the limit, I unlocked it in 1915310.

Wonderful! Thank you so much for your contribution!

This will be added to v1.2.2_beta


build: Add multi-arch support

This PR is to Add multi-arch support .
SHA1 MB patches for aarch64 are verified for the multi-arch patches
The PR is verified base on aarch64 platform .

@gbtucker , just update the patch , please review it .

@gbtucker , just update the patch and please review it

Refresh Jira Link

It looks like a good port of the build scripts to be more arch generic.  Let's wait to pair this with some optimizations so we can test all of it.  Perhaps when you do we can rename to "Add multi-arch support" as this is what most of this patch is doing.

@gbtucker upload sha1_mb patches . Please review them .

@gbtucker , just update the code , please review .

@gbtucker I have changed the summary line . Please review it


bump dom4j from 2.1.0 to 2.1.3

Bumps dom4j from 2.1.0 to 2.1.3.

Release notes
Commits

FINERACT-966

FINERACT-966

#944 & #947


tests: subsys: cpp: over half of tests failing on macOS but do not fail on Linux

Describe the bug
About 1/2 of twister jobs fail for tests/subsys/cpp under macOS but succeed in Linux. The majority of the targets are independent of the host OS, which means that there is something wrong elsewhere.
Please also mention any information which could help others to understand the problem you're facing:
** - What target platform are you using?**
Many (twister)
** - What have you tried to diagnose or workaround this issue?**
Not a lot.
To Reproduce
Currently, most platform testing is skipped because the only integration_platform listed is mps2_an521. I removed that because I was seeing unexpected failure while working on cfriedt/thrift-for-zephyr#67.
Steps to reproduce the behavior:

apply this patch:

diff --git a/tests/subsys/cpp/cxx/testcase.yaml b/tests/subsys/cpp/cxx/testcase.yaml
index cf16410071..5610b5d035 100644
--- a/tests/subsys/cpp/cxx/testcase.yaml
+++ b/tests/subsys/cpp/cxx/testcase.yaml
@@ -1,6 +1,4 @@
 tests:
   cpp.main:
-    integration_platforms:
-      - mps2_an385
     tags: cpp
     toolchain_exclude: xcc
diff --git a/tests/subsys/cpp/libcxx/testcase.yaml b/tests/subsys/cpp/libcxx/testcase.yaml
index 2d55752e29..48e5f9741f 100644
--- a/tests/subsys/cpp/libcxx/testcase.yaml
+++ b/tests/subsys/cpp/libcxx/testcase.yaml
@@ -1,6 +1,3 @@
-common:
-  integration_platforms:
-    - mps2_an385
 tests:
   cpp.libcxx.newlib:
     filter: TOOLCHAIN_HAS_NEWLIB == 1

twister -G -T tests/subsys/cpp
See error(s)

Expected behavior
I would expect that native_posix and native_posix_64 fail in addition to the preexisting Linux failures (qemu_malta, qemu_malta_be) because native_posix is not yet supported on Zephyr, but to me this indicates something else is severely wrong.
Linux:
twister -G -T tests/subsys/cpp
Renaming output directory to /home/cfriedt/workspace/zephyrproject/zephyr/twister-out.2
INFO    - Zephyr version: zephyr-v3.0.0-1888-g1568b665a8ed
INFO    - JOBS: 32
INFO    - Using 'zephyr' toolchain.
INFO    - Selecting default platforms per test case
INFO    - Building initial testcase list...
INFO    - 4 test scenarios (125 configurations) selected, 45 configurations discarded due to filters.
INFO    - Adding tasks to the queue...
INFO    - Added initial list of jobs to queue
INFO    - Total complete:   46/ 125  36%  skipped:   46, failed:    0
ERROR   - qemu_malta_be             tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano     FAILED: Build failure
ERROR   - see: /home/cfriedt/workspace/zephyrproject/zephyr/twister-out/qemu_malta_be/tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano/build.log
INFO    - Total complete:   47/ 125  37%  skipped:   46, failed:    1
ERROR   - qemu_malta                tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano     FAILED: Build failure
ERROR   - see: /home/cfriedt/workspace/zephyrproject/zephyr/twister-out/qemu_malta/tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano/build.log
INFO    - Total complete:   83/ 125  66%  skipped:   48, failed:    2
ERROR   - qemu_malta                tests/subsys/cpp/libcxx/cpp.libcxx.newlib          FAILED: Build failure
ERROR   - see: /home/cfriedt/workspace/zephyrproject/zephyr/twister-out/qemu_malta/tests/subsys/cpp/libcxx/cpp.libcxx.newlib/build.log
INFO    - Total complete:   84/ 125  67%  skipped:   48, failed:    3
ERROR   - qemu_malta_be             tests/subsys/cpp/libcxx/cpp.libcxx.newlib          FAILED: Build failure
ERROR   - see: /home/cfriedt/workspace/zephyrproject/zephyr/twister-out/qemu_malta_be/tests/subsys/cpp/libcxx/cpp.libcxx.newlib/build.log
INFO    - Total complete:  125/ 125  100%  skipped:   48, failed:    4
INFO    - 73 of 125 test configurations passed (94.81%), 4 failed, 48 skipped with 0 warnings in 19.91 seconds
INFO    - In total 208 test cases were executed, 169 skipped on 27 out of total 448 platforms (6.03%)
INFO    - 58 test configurations executed on platforms, 19 test configurations were only built.
INFO    - Saving reports...
INFO    - Writing xunit report /home/cfriedt/workspace/zephyrproject/zephyr/twister-out/twister.xml...
INFO    - Writing xunit report /home/cfriedt/workspace/zephyrproject/zephyr/twister-out/twister_report.xml...
INFO    - Run completed

Impact
This is a showstopper for me, as I'm using C++ features (although currently only testing in qemu_x86_64. I also wanted to use twister in CI (cfriedt/thrift-for-zephyr#67) because west build.. succeeds but hangs indefinitely, causing CI to (inadvertantly) fail.
Logs and console output
macOS:
# twister -G -T tests/subsys/cpp
INFO    - Zephyr version: zephyr-v3.0.0-1831-gdfe05d289897
INFO    - JOBS: 8
INFO    - Using 'zephyr' toolchain.
INFO    - Selecting default platforms per test case
INFO    - Building initial testcase list...
INFO    - 4 test scenarios (125 configurations) selected, 45 configurations discarded due to filters.
INFO    - Adding tasks to the queue...
INFO    - Added initial list of jobs to queue
...
INFO    - Total complete:  125/ 125  100%  skipped:   47, failed:   72
INFO    - 6 of 125 test configurations passed (7.69%), 72 failed, 47 skipped with 0 warnings in 40.15 seconds
INFO    - In total 229 test cases were executed, 148 skipped on 27 out of total 448 platforms (6.03%)
INFO    - 6 test configurations executed on platforms, 72 test configurations were only built.
INFO    - Saving reports...
INFO    - Writing xunit report /Users/cfriedt/workspace/zephyrproject/zephyr/twister-out/twister.xml...
INFO    - Writing xunit report /Users/cfriedt/workspace/zephyrproject/zephyr/twister-out/twister_report.xml...
INFO    - Run completed

Most of the failure logs are of the form:
Loading Zephyr default modules (Zephyr base).
-- Application: /Users/cfriedt/workspace/zephyrproject/zephyr/tests/subsys/cpp/libcxx
-- Found Python3: /opt/homebrew/bin/python3.9 (found suitable exact version "3.9.9") found components: Interpreter
-- Cache files will be written to: /Users/cfriedt/Library/Caches/zephyr
-- Zephyr version: 3.0.99 (/Users/cfriedt/workspace/zephyrproject/zephyr)
-- Found west (found suitable version "0.11.0", minimum required is "0.7.1")
-- Board: mps2_an521
-- Found host-tools: zephyr 0.14.0 (/Users/cfriedt/zephyr-sdk-0.14.0)
-- Found dtc: /opt/homebrew/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
-- Found toolchain: zephyr 0.14.0 (/Users/cfriedt/zephyr-sdk-0.14.0)
-- Found BOARD.dts: /Users/cfriedt/workspace/zephyrproject/zephyr/boards/arm/mps2_an521/mps2_an521.dts
-- Generated zephyr.dts: /Users/cfriedt/workspace/zephyrproject/zephyr/twister-out/mps2_an521/tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: /Users/cfriedt/workspace/zephyrproject/zephyr/twister-out/mps2_an521/tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: /Users/cfriedt/workspace/zephyrproject/zephyr/twister-out/mps2_an521/tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano/zephyr/include/generated/device_extern.h
-- Including generated dts.cmake file: /Users/cfriedt/workspace/zephyrproject/zephyr/twister-out/mps2_an521/tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano/zephyr/dts.cmake
Parsing /Users/cfriedt/workspace/zephyrproject/zephyr/Kconfig
Loaded configuration '/Users/cfriedt/workspace/zephyrproject/zephyr/boards/arm/mps2_an521/mps2_an521_defconfig'
Merged configuration '/Users/cfriedt/workspace/zephyrproject/zephyr/tests/subsys/cpp/libcxx/prj.conf'
Merged configuration '/Users/cfriedt/workspace/zephyrproject/zephyr/twister-out/mps2_an521/tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano/twister/testcase_extra.conf'
Configuration saved to '/Users/cfriedt/workspace/zephyrproject/zephyr/twister-out/mps2_an521/tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano/zephyr/.config'
Kconfig header saved to '/Users/cfriedt/workspace/zephyrproject/zephyr/twister-out/mps2_an521/tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano/zephyr/include/generated/autoconf.h'
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- The ASM compiler identification is GNU
-- Found assembler: /Users/cfriedt/zephyr-sdk-0.14.0/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
CMake Error at /Users/cfriedt/workspace/zephyrproject/zephyr/cmake/modules/extensions.cmake:2033 (message):
  Assertion failed: The toolchain is unable to build a dummy C file.  See
  CMakeError.log.
Call Stack (most recent call first):
  /Users/cfriedt/workspace/zephyrproject/zephyr/cmake/modules/kernel.cmake:142 (assert)
  /Users/cfriedt/workspace/zephyrproject/zephyr/cmake/modules/zephyr_default.cmake:130 (include)
  /Users/cfriedt/workspace/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:51 (include)
  /Users/cfriedt/workspace/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:76 (include_boilerplate)
  CMakeLists.txt:4 (find_package)

-- Configuring incomplete, errors occurred!
See also "/Users/cfriedt/workspace/zephyrproject/zephyr/twister-out/mps2_an521/tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano/CMakeFiles/CMakeOutput.log".
See also "/Users/cfriedt/workspace/zephyrproject/zephyr/twister-out/mps2_an521/tests/subsys/cpp/libcxx/cpp.libcxx.newlib_nano/CMakeFiles/CMakeError.log".

Environment (please complete the following information):

OS: macOS 12.3 (Monterey)
Toolchain(s): zephyr-sdk-0.13.1, zephyr-sdk-0.14.0
Commit SHA or Version used: dfe05d289897e7b37b97ce503417f0d81e230b96

Additional context

Assertion failed: The toolchain is unable to build a dummy C file.

@cfriedt This rings a bell. Have you tried clearing the cache (/Users/cfriedt/Library/Caches/zephyr)?

Assertion failed: The toolchain is unable to build a dummy C file.

@cfriedt This rings a bell. Have you tried clearing the cache (/Users/cfriedt/Library/Caches/zephyr)?

@stephanosio - will give that a shot, thanks

I am unable to reproduce this on my M1 mac:
stephanos@devamac1:~/Dev/zephyrproject/zephyr$ scripts/twister -G -T tests/subsys/cpp
ZEPHYR_BASE unset, using "/Users/stephanos/Dev/zephyrproject/zephyr"
Renaming output directory to /Users/stephanos/Dev/zephyrproject/zephyr/twister-out.17
INFO    - Zephyr version: zephyr-v3.0.0-1901-geabb4e25a429
INFO    - JOBS: 8
INFO    - Using 'zephyr' toolchain.
INFO    - Selecting default platforms per test case
INFO    - Building initial testcase list...
INFO    - 4 test scenarios (4 configurations) selected, 0 configurations discarded due to filters.
INFO    - Adding tasks to the queue...
INFO    - Added initial list of jobs to queue
INFO    - Total complete:    3/   4  75%  skipped:    0, failed:    0
INFO    - 3 of 4 test configurations passed (75.00%), 0 failed, 0 skipped with 0 warnings in 20.05 seconds
INFO    - In total 12 test cases were executed, 1 skipped on 1 out of total 448 platforms (0.22%)
INFO    - 3 test configurations executed on platforms, 1 test configurations were only built.
INFO    - Saving reports...
INFO    - Writing xunit report /Users/stephanos/Dev/zephyrproject/zephyr/twister-out/twister.xml...
INFO    - Writing xunit report /Users/stephanos/Dev/zephyrproject/zephyr/twister-out/twister_report.xml...
INFO    - Run completed

This was user error!
I went through the annoying gatekeeper UI for (what I thought was) every single binary in the SDK, but there were still binaries that it missed, annoyingly.
Strongly suggest adding the following to Release Notes / Getting Started Guide
find ~/zephyr-sdk-0.14.0 -type f -perm +111 -print | xargs -I % /bin/bash -c 'xattr -r -d com.apple.quarantine $(dirname %)'


test: GtfsAttributionTableLoader

closes #570
Summary:
This PR provides additional unit test for GtfsAttributionTableLoader class
Expected behavior:
No code change, tests should pass
Please make sure these boxes are checked before submitting your pull request - thanks!

[x] Run the unit tests with gradle test to make sure you didn't break anything
[x] Format the title like "feat: -new feature short description-" (PR title must follow the conventional commit specification)
[x] Linked all relevant issues
~[ ] Include screenshot(s) showing how this pull request works and fixes the issue(s)~

Closing as a trivial test to avoid artificially inflating the code base.

Closing as a trivial test to avoid artificially inflating the code base.


Sprint5_kali tools

Looks like this Sprint Kali Branch didn't git merged correctly, still 10 commits ahead of main regarding Kali Tutorials. Creating this to remind myself to confirm the Branch gets merged before I upload sprint 6 materials.

Examined PR files and confirmed that everything is as I expected, created PR request #163 and roped in @lgorence to help me get it into main.
@lgorence  updated JSON and removed ZIP'd images for binwalk tutorial and approved the request.


Enable module translators to embed run time dependencies

Currently, a translator in one package can introduce dependencies, but they have to be dependencies visible from the translated module’s original package. That package may not directly depend on the run time modules that the translator package introduces. Consequently, we need a way for translators to introduce references to distant modules, but by a universal identifier.

Fixed in #18


Notebook batch updates - simplify auth

Remove superfluous auth-steps in notebooks, as interactive auth and api-key is supported.

Closed in by #904


feat(autocompletion): provider.engineType

I sense that I could check this "soon" 😄

I'll get this shipped for 3.x, don't worry :)


Wrong sorting order of the column

If the column is made sortable: true here, then the ordering of the messages is wrong.

I'm reopening this issue as my update is rejected.
Below is the mail I received from the addon reviewing team.
Your add-on, Date Time Formatter 1.1, has been reviewed and did not meet the criteria for being hosted in our gallery.
Reviewer:
John Bieling
Comments:
These versions are being rejected due to the following problems:

thread-pane-columns.mjs has been renamed to ThreadPaneColumns.mjs

In TB128 the file has been renamed. I will add it to the changes documentation. You can either use two try catch blocks and try to load both files (one will work in TB115, the other will work in TB128), or release a TB128 only version.

You found a limitation of the sortCallback. I did not know this myself, but it looks like the sortCallback function must return a 32bit integer. If the sortCallback returns a larger number, the number is truncated to 32 bits before being compared, which of course causes bad sorting. You can use this sortCallback:

let sort_callback = message => {
return field == "addon_provided_relative_date_time"
? message.date/1000000
: 0; // I have not understood what needs to be returned here, but it needs to be an integer
}
The values returned by messages.date look like so:<PHONE_NUMBER>000000
The lowest digits up to 1000000 do not contain any precision and can be removed without removing any information. Th resulting number is 32bit wide.

release v1.1.1-sorting-bug-fix fixed it.

Thank you! :pray:


HOSTEDCP-1397: Add documentation on how to debug Azure nodes

What this PR does / why we need it:
Rearranges the troubleshooting section and adds a troubleshooting section for Azure.
Which issue(s) this PR fixes:
Fixes HOSTEDCP-1397
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[x] This change includes docs.
[ ] This change includes unit tests.

/test images
/test verify

/test verify
/test images

/lgtm


LSE institutional holders

Hi, I was having an issue with some TIDMs from the LSE (example: OPM.L) because the institutional holders are not listed in the returned data, which made the base Ticker class crash on this line:
self._institutional_holders = holders[1]
because len(holders)=1.
I put in a quick fix locally, but it might be a problem other people are seeing too so I just wanted to flag it up.

I should have refreshed the issues list before posting this - I see others have already raised it - sorry!


dtNavMeshQuery::findPath

Question about the termination condition of the findPath function.
if (bestNode->id == endRef)
{
lastBestNode = bestNode;
break;
}
Isn't it possible in certain circumstances that the first node to reach the end area ref might not be the shortest path by virtue of that nodes distance to the endPos not having been accounted for?

Since endRef is the reference to the polygon that contains endPos, it is guaranteed that any path to endPos ends with this polygon. However, due to the the A* search operating on points, the actual path might not be the optimal one (since each polygon is represented by only a point); this is a really tough problem to solve. Typically an acceptable tradeoff is raycasting a few refs ahead and skipping polygons whenever possible.
Here is more information on it.

I don't think it's difficult to solve in the findPath function. I can share my changes if you're interested.

Yeah sure, I would love to see that.

https://github.com/jswigart/recastnavigation/blob/0e243ea95c16bc779ae197c33efaec20ad75b134/Detour/Source/DetourNavMeshQuery.cpp
Specifically dtNavMeshQuery::findMultiPath
I haven't changed dtNavMeshQuery::findPath yet.
The key is that once you've reached the goal poly, the search needs to expand with 1 more 'goal' node, that once chosen as the cheapest from the open list, is truely the best path. That gives further iterations of the search the opportunity for a potential cheaper path into the target goal area to be considered.

the search needs to expand with 1 more 'goal' node, that once chosen as the cheapest from the open list, is truely the best path.

But how do you find this information? If you have this information, you can simply do the path find to that node instead. A property of an optimal path is that it contains optimal paths to all nodes on that path (i.e. if A -> B -> C -> D is an optimal path to D, then A -> B -> C is an optimal path to C). If you know C is contained in the optimal path to D, you can split the path find. If my understanding is correct, this is what you are doing, but I don't see how you can know that C is contained in the final optimal path. Is this simply done by doing simultaneous path finds to the goal poly and all its neighbors?
If that is the case, I think this is similar to the improvement axelrodR made in this PR: https://github.com/memononen/recastnavigation/pull/17
Except the any angle method works for all polygons during the search, and not just the neighbors to the end poly.
It basically changed the path find to approximate nav mesh polygons with different points depending on what angle the search is approaching from. However, the improvement is only available for the sliced findPath variant, it looks like.
Have you tried this?

When the popped open node matches the goal polyref, that means you've reached the goal area, but the actual goal position is somewhere inside that area, and there is no guarantee that the first node you popped into that area is the shortest path once the distance to the position is taken into account.
My findMultipath is bloated a bit because it searches to multiple goals. I'll move that functionality to findPath as well and it should be clearer.
Basically that 1 additional goal node is flagged with the new node flag of DT_NODE_GOAL that you can see in the code there. Rather than simply comparing for a matching polyref.
It changes the search completion criteria from
if (bestNode->id == endRef)
to
if ( bestRef == endRef )
{
if ( bestNode->flags&DT_NODE_GOAL )
{
found goal
}
else
{
we've reached the destination area, check to see if this path to the goal(if that goal node is already in the list), is shorter
dtNode* goalNode = m_nodePool->getNode( bestRef, DT_NODE_GOAL );
// may or may not be allocated yet, but the costs are compared like any other to see if this is a better path
}
}
The key functionality that is being added with this additional node of exploration is that the distance from the entry point into that poly area to the actual target goal position becomes part of the overall path cost, so the path quality doesnt suffer from not taking that into account.

That other fix sounds like it addresses an issue across tile boundaries, which is definitely a nice fix, but doesn't appear to be redundant with this one from what I can see so far.

I think I understand what you mean now. Any time the end polygon becomes the best node in the open list, the search terminates immediately, seemingly without looking at where the end point is. So the question is whether there could be a better path that approached from a different bordering polygon?
I don't think there can be; the end poly is already special cased when it is pushed onto the open list, and here the end point is taken into account. So the A* search really has no better paths when that becomes the lowest cost node on the open list. It's still possible that the final string pulled path will not be optimal, because of the reasons I've talked about earlier.
Is this a correct understanding of the problem? Or am I wrong yet again? :stuck_out_tongue_closed_eyes:
Also I will admit I didn't have a good enough understanding of the PR I linked; I thought it was for every polygon, but as you said, it appears that it was only border polygons that had that issue.

Oh I remember, the way this solution re-uses and modifies the same node with the cost is not compatible with the findMultiPath, which is where I initially implemented it. In that function it is a single query that is more of a dikistra search to find multiple goals. You can't jack with the cost of that search node to account for the destination when that node through that area may be part of the path to a different goal, and tinkering with the cost will adversely effect that. In fact I need to physically remove that special case cost modification in my multipath function.
Or put more simply. You're right that the special case handling of the cost is probably just fine for the single search in the normal ::findPath, but it's not the way to implement that functionality from the perspective of a multi goal search. For consistency sake I'm probably going to change even my findPath to use the same method, because it's conceivable that the special case shortcut can even be wrong in some fringe circumstances(like intra area teleportation links)
You're also right about non optimal paths in other situations. One of the issues with navmeshes is that they have an inherent source of error in producing optimal paths that are in part an effect of the cost estimations inherent to whatever they use during the A*, whether that be the centers of edges between areas, etc. Some implementations have mechanisms to reduce this by expanding multiple nodes along long ledges, but that of course comes at a cost.
Here's an example of how this error can crop up. Most often in my experience with small areas next to large areas. Note that the size of the detour to go through the center of the long edge ends up bloating the cost estimate to go that way, so the blue path that makes less sense may be chosen.

This effect is reduced to some extent with using tile based navmesh reasonable tile limits, because it will put a ceiling on the length of edges between areas. In large environments with non tile based navmesh, it is generally much worse.

@jswigart thanks for sharing this! I need to implement something like to your findMultiPath(). Did you make any progress on it? The latest version on your fork seems to be still very much work in progress.

I'll check tonight to see if the latest is pushed up to my branch.

The latest is in my fork is up to date, note that my findMultiPath function doesn't actually return the paths right now. I use it to generate paths to a bunch of different destinations and then use the path cost to weigh the desirability of pursuing different goals. It wouldn't be hard to extend it to return the paths to all destinations. I just haven't needed that yet.

Sorry for late reply. Thanks!


Failed tests aren't showing in MacOS Sonoma

For some strange reason, and only on MacOS Sonoma, when a test fails, it looks like the rest of the tests are aborted and no error is showing.
For example in a series of 10 test, if there a failure in the 5th test, only 4 tests are showing as passed and there is no indication that there was a failure.
This is with Matchstick 0.6.0.
Node 18 or 20 makes no difference.

same

So far it seems this issue is related to a dependency wasmtime which is locked to version 0.27.0 by the graph-node dependency, and when a test fails, e.g the AssemblyScript code throws and error, it causes some kind of memory error. Unfortunately there's not much we can do, because this means graph-node has to be updated to newer versions of the crate, which includes multiple breaking changes.

Running into the same issue here

Was anyone able to find a workaround to this? It's hard to check whether there are regressions if we can't trust the tests to fail.

You can try the docker solution as a workaround https://thegraph.com/docs/en/developing/unit-testing-framework/#docker

You can try the docker solution as a workaround https://thegraph.com/docs/en/developing/unit-testing-framework/#docker

Thank you!

Same, same. Running test in Docker helped.


linux_5_10: 5.10.15 -> 5.10.16, linux_5_11: init at 5.11

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Fails on ZFS. Looking forward to this one :)

Let me take a look, I am pretty sure ZFS 2.0.3 has support for 5.11

@ofborg test kernel-latest latestKernel.login

@ofborg test zfs.unstable zfs.installer zfs.stable

59b31663b6af50e997b1755f9037b35571ce5b00 is going to need a port to stable

I can no longer build my system using latest with this merged, had to switch back to 5.10
5.11.txt

Same, to cut this short:
GOT: # configuration written to .config
GOT: #
GOT: make[1]: Leaving directory '/build/linux-5.11/build'
GOT: make: Leaving directory '/build/linux-5.11'
warning: unused option: DEBUG_STACKOVERFLOW
error: unused option: DRM_AMD_DC_DCN3_0
warning: unused option: EXT4_ENCRYPTION
warning: unused option: F2FS_FS_ENCRYPTION
warning: unused option: KEXEC_FILE
warning: unused option: RCU_PERF_TEST
builder for '/nix/store/kxvnhl7nbzi2knmc5h7689yavlxbi8h5-linux-config-5.11.drv' failed with exit code 255

@NeQuissimus @adisbladis IIRC we always backport new kernel versions to stable. Is there any reason this isn't done here?

@Ma27 We usually do after one or two dot-releases in order to see whether everything works on master and the hardened patch sets are available.
We are probably at the point where we could PR 5.11 to release-20.09.


package support

@gadicc Hello, Does your package support the new version of meteor?
And is it up to date with the Google update?
If you no longer support this package. Please let users know

Hey @Saeeed-B
I'm not aware of any Meteor updates that break support for this package.  If that should be the case, please let me know.  Likewise with sitemaps... I'm not sure which Google update you're referring to... so far as I know Google's last update to the sitemap standard was 2012 (multilanguage support).
I'm no longer working in Meteor but I do try ensure my packages remain usable.
Thanks!

Thanks a lot
According to my experiments, there is still no problem, but there will certainly be problems with older packages in the near future.
The meteorite community is somewhat disgusted. Because packages that play a very important role are very old and no longer supported.
I try to assign basic packages so that users' tasks are also specified.
So I asked you to either announce or give up if you are not able to support and update the package.
tanks again


Report run and failure with comment

Resolves #20
Added the ability to comment when a run has started or when there was a problem both with the parsing of the action or the execution of the action itself.

I got confused by this command name input.
After looking into the code, I understood it's a kind of reference ID chosen by the user, to track the execution of his command.
If I was trying to execute formatting command, without any other explanation I would simply input fmt into the command name because that's the command name that comes to my mind :D
I would suggest to do one of:

Rename it to reference or something, explain more in description, and make it optional. Otherwise we'll see some blabla names from annoyed users. If it's optional and not supplied, then we respond without this name/reference.

The aim is to correlate our result with the command request. When we parse the command, we're looking at a comment - we probably can retrieve or construct a html link to it. Can we use that to have a link in the result, instead of this name/reference?

I got confused by this command name input. After looking into the code, I understood it's a kind of reference ID chosen by the user, to track the execution of his command.
If I was trying to execute formatting command, without any other explanation I would simply input fmt into the command name because that's the command name that comes to my mind :D
I would suggest to do one of:

Rename it to reference or something, explain more in description, and make it optional. Otherwise we'll see some blabla names from annoyed users. If it's optional and not supplied, then we respond without this name/reference.
The aim is to correlate our result with the command request. When we parse the command, we're looking at a comment - we probably can retrieve or construct a html link to it. Can we use that to have a link in the result, instead of this name/reference?

I actually faced that same issue, so I created #22 for this.
I'm planning on changing it or removing it as it can be confused.


feat: Add Support for Oracle Cloud Infrastructure

Overview
This PR, add support for OCI Unseal method. It used the same approach as GCS.
Notes for reviewer
See PR bank-vaults/vault-operator#457 for CRD integration

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Required Changes had been performed

Final changed done


Arrange ci

Codecov Report

Merging #49 (19d5c88) into main (b6498e3) will decrease coverage by 0.45%.
The diff coverage is 72.10%.

@@            Coverage Diff             @@
##             main      #49      +/-   ##
==========================================
- Coverage   76.51%   76.05%   -0.46%
==========================================
  Files          19       19
  Lines         562      568       +6
==========================================
+ Hits          430      432       +2
- Misses        132      136       +4

Flag
Coverage Δ

unittests
76.05% <72.10%> (-0.46%)
:arrow_down:

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

Impacted Files
Coverage Δ

src/bert_summarizer/__init__.py
100.00% <ø> (ø)

src/bert_summarizer/trainers/encoder_decoder.py
41.02% <28.57%> (ø)

src/bert_summarizer/models/bertsum.py
56.38% <50.00%> (-2.51%)
:arrow_down:

src/bert_summarizer/models/embeddings.py
88.23% <66.66%> (ø)

src/bert_summarizer/tokenizers/bertsum.py
67.44% <66.66%> (-1.45%)
:arrow_down:

src/bert_summarizer/data/data_collator.py
67.64% <70.00%> (ø)

src/bert_summarizer/data/datasets/bertsum.py
84.96% <71.05%> (+0.09%)
:arrow_up:

src/bert_summarizer/config/bertsum.py
93.93% <85.71%> (ø)

src/bert_summarizer/config/__init__.py
100.00% <100.00%> (ø)

src/bert_summarizer/data/__init__.py
100.00% <100.00%> (ø)

... and 7 more

Continue to review full report at Codecov.

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


compare local failures against CI failures

to see if we have reproduced the same bug

This holds for our new Github scanner, where "the attempted fix [may] ]not match the original GitHub Actions failure,"


Please determine what to do with https://www.haskell.org/haddock/

Dear Haddock maintainers,
I am writing as a haskell.org committee member, ultimately responsible for haskell.org and the experience users have with it.
There is a subsite of haskell.org, https://www.haskell.org/haddock/ that is severely out of date. It hasn't been updated for seven years. It is indexed prominently by search engines and has confused new users. According to @gbaz, as the maintainers of Haddock, you are the owners of that particular subsite, so you can decide what to do with it. I can see a couple options, perhaps you have other ideas.

Since you already have a readthedocs site perhaps the haddock/ subsite can just be deleted, and the old URLs made to redirect to the readthedocs site.
You might want to host the Sphinx docs on haddock/ as well as readthedocs

Could you please determine what should be done with it. Alternatively you are welcome to delegate that decision to the haskell.org committee.
Thanks,
Tom

Hi @tomjaguarpaw and thank you for reaching out to us.
I would like to accept your offer and redirect www.haskell.org/haddock to the ReadTheDocs website.

Thank you for that decision. As a haskell.org committee member I will tak responsibility for enacting that decision.


[datalake] More Authorization policies

This PR adds more authorization options to the datalake crate. Specifically using a token credential.
In many scenarios having auto refresh available for tokens is quite handy. Thus I added an auto refreshing token credential, which wraps around token credentials from the core crate. To get the refresh to work, I had to use the tokio Mutex - I believe this is required due to the refresh being an async operation and the regular mutex cannot be used across an await statement. But I may also just have missed the simpler solution. Due to that I put the implementation behind a feature gate, since I seem to remember reading pulling in a specific runtime as dependency was not desired.
I still need to add tests and clean up a bit, but would appreciate some feedback on the general approach - spcifically the use of tokio.
@thovoll @rylev @ctaggart
Update: usage of futures::lock::Mutext solves the Tokio issue (thanks @bmc-msft)

Are you able to use futures::lock::Mutex for a runtime agnostic Mutex implementation?

Indeed, that works :) Thanks for the advice!
of course the next question follows suit... when returning an error inside the "refresh loop" I could not get it to work to return a Box'ed error due to lifetime constraints. The new errors using an ErrorKind and message would work fine, but this would require adjusting the return type of the TokenCredential.get_token function. Also I was hesitant to introduce a new variant to the "old" errors, and changing the signature would have a much bigger impact. So again asking for some guidance.
Right now an HeaderNotFound erro is returned since it only needs a string as input, but that obviously is more misleading then helpful :).

Also I was hesitant to introduce a new variant to the "old" errors

I discussed this with @thovoll today, and we think this would be the best option. There is no "right" answer here, but this would allow us to start incrementally migrating, the way we've been doing with other types as well.
Also we on reading the code we realized using Mutex might cause contention between readers; instead using an async RwLock might make reads cheaper.
Hope that's helpful!

Thanks @yoshuawuyts, @thovoll for the support. The code now uses RwLock from the newly introduced async_lock crate (did not find one in futures), and also added a new variant to the error enum.
The last remaining concerns was testing - locally I gave the credential a try and it seemed to work. Looked a bit around the identity crate and found that specific credentials are not tested there as well - not sure how to proceed with this.
Otherwise I hope  we are approaching a merge-able state :).

I'm not super familiar with how we're testing things; perhaps @cataggar can answer that question?

I'm not super familiar with how we're testing things; perhaps @cataggar can answer that question?

@roeap and I discussed the testing plan and came up with these incremental steps:

Add an example (this PR)
Add an e2e record/playback test (maybe another PR)
Add a deterministic test for the loop with the RwLock (definitely another PR)

Moved the refreshing credential in the identity crate and updated the client constructors to also offer an option for using a token credential. With respect to client initialization I tried to keep changes minimal. Main reason being that from what I gather discussion is still ongoing on what the specifics of client configuration should look like.


checkov: 2.0.675 -> 2.0.680

Motivation for this change
https://github.com/bridgecrewio/checkov/releases/tag/2.0.680
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 151409 run on x86_64-linux 1

1 package built:

checkov


Correct documentation to describe what order interceptors are run in

What is changing
The current implementation of the Ruby gRPC library applies interceptors in LIFO order to the call. The documentation is being updated to make that information easily discoverable.
Why is it changing
There doesn't appear to be any easily discoverable documentation on the specifics of the interceptor implementation.
One detail that is surprising is that the server interceptors are applied to a call in the reverse order that they are specified in the array.
Whether or not this is the intent of the code it is now part of the API so should be documented / made explicit to avoid further surpised.
Re-raise of https://github.com/grpc/grpc/pull/23752 due to CLA not working.
@markdroth / @apolcyn

@markdroth

Ongoing support ticket as EasyCLA doesn't appear to be working https://jira.linuxfoundation.org/servicedesk/customer/portal/4/SUPPORT-2811?sda_source=notification-email

@markdroth / @apolcyn I've got the CLA agreement signed.


Proxy does not passthrough Multipart/form-data file uploads

Because Multipart/form-data uploads are converted to FormData files (which takes the body) in a request it will never be passed through the proxy.

If you are not call req.form_data(), it will not take request body to FormData.


Fix phpstan errors

Q
A

Type
bug/feature/improvement

BC Break
yes/no

Fixed issues

Summary
This fixes one error where the enumType mapping field gets rewritten to the class-string<UnitEnum> type because we don't ensure that the enum is backed before re-assigning enumType. The other issue in mapField is less obvious and I can't figure out where it takes the class-string<UnitEnum> type from, so I decided to ignore that for the time being. These issues started appearing with the latest phpstan release.

I've changed to use ReflectionEnum::isBacked() call, this should eventually narrow the type of ReflectionEnum::getType() to class-string<BackedEnum> I guess, so I think we can ignore these errors for now.
I'll try to fix it in phpstan following https://github.com/phpstan/phpstan/issues/10192#issuecomment-1827743195

Thanks @alcaeus and @franmomu!


fit and finish for open dashboard dialog

@AbbiePetcht I'll merge for you to get into tonight's builds.


Invoke the line directive tool from python on Windows

line-directive-tool is a Python script. Python scripts must be invoked via python ... on Windows. Do that.

@swift-ci please test and merge


How to access gmap direction obj in my js using direction directive

Hello,
Would know how to access map.directionsRenderers[0].directions.routes[0] after direction directive has calculated the route, is there the possibility to make a callback with this directive ?
My point is that I need to store some info from the obj such as distance and duration each time the route is updated.
Thanks

there is event for that. directions_changed
https://developers.google.com/maps/documentation/javascript/reference#DirectionsRenderer

Thanks, but what is the best way to set this event?

on-directions_changed="myFunction(evt)"
https://github.com/allenhwkim/angularjs-google-maps/blob/master/road-trip.md


The /runner Directory Shows "No space left on device"

Using the latest helm chart, my runners are hitting the No space left on device error:
Error: No space left on device : '/runner/_diag/pages/752fd09a-f897-4df1-ac69-ad32d94ec844_4ce08df6-71a4-5677-3e19-a8eb82872882_1.log'

My RunnerDeployment yaml file is as follows:
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: themelio
spec:
  replicas: 8
  template:
    spec:
      image: summerwind/actions-runner-dind
      organization: themeliolabs
      resources:
        limits:
          cpu: "24000m"
          memory: "24Gi"
        requests:
          cpu: "2850m"
          memory: "3Gi"

I saw this issue, which led me to play around with the spec.volumeSizeLimit setting, but I have not been able to remedy the situation.
Does anyone have a solution for this?
Cheers :)

@TheDarkula Hey! Would you mind sharing the output from kubectl get po -o yaml $RUNNER_POD for one of your failing runner pods?

@TheDarkula Hey! Thanks for sharing. Everything looks good so far. Also, mv: cannot stat './externalstmp/*': No such file or directory is just redherring and might not be a problem itself.
Would you mind also check how much space left on your host volumes? Maybe run df -h on your host will reveal the cause. Also, how much space did you give to your host's root volume? If you gave it like 10GB or 20GB only it will get out of free space pretty quickly.

You said the latest chart didn't work for you. Would you also clarify if the older chart worked for you before, or it's just that it's your first trial to install and use ARC?

Here is the output of df -h:
Filesystem      Size  Used Avail Use% Mounted on
udev             16G     0   16G   0% /dev
tmpfs           3.2G  276M  2.9G   9% /run
/dev/vda1        17G  7.7G  8.1G  49% /
tmpfs            16G     0   16G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/vda6        32G  1.2G   29G   4% /home
tmpfs           3.2G     0  3.2G   0% /run/user/0
/dev/vdb        500G  8.7G  492G   2% /mnt

I have /var/lib/docker symlinked to /mnt/docker, which has 492GB free.
This is my first foray into ARC, so I only have the current chart as a reference.

@TheDarkula I thought emptyDir contents are stored under /var/lib/kubelet/pods (depends on your k8s configuration though) on the host so probably you'd need to provide more space to the volume backing that.

That was it! Thank you so much!
And thank you for the work on ARC. It is great :)

@TheDarkula Great! Thanks for confirming. Enjoy ☺

I actually do have an unrelated question.
With the default (ephemeral) runner, is there a way to configure a RunnerDeployment to have a docker image cache?
That way the runner only pulls a container image if it does not already have it.

@TheDarkula The closest thing to that would be to use the hostPath mount, while ensuring no two pods share the same hostPath in the same node, as multiple dockerd instances cannot share the single /var/lib/docker.
If you need a more general solution, I'd suggest RunnerSet, which has support for volumeClaimTemplates similar to StatefulSet.

Ah. I can change it to a RunnerSet then.
Is there an example with the volumeClaimTemplates somewhere?

@TheDarkula It should be the same as StatefulSet :) But you'll find https://github.com/actions-runner-controller/actions-runner-controller/issues/1265#issuecomment-1077302136 interesting. Enhancements to our documentation about the use case are highly welcomed!


This was fixed in other places by 1af30a2d but dbcdb4a8 was older.

lgtm, thanks.

I would really love to know why you are hitting this but not travis. Do you
have the latest go vet? What specific version of go et al are you using?

This was fixed in other places by 1af30a2
https://github.com/coreos/rocket/commit/1af30a2d126134b56af0aa2c5bfac7d57d69cc7c
but dbcdb4a
https://github.com/coreos/rocket/commit/dbcdb4a8f7670d1275574a5d664657a201f6ddaf
was older.
You can merge this Pull Request by running
git pull https://github.com/sgotti/rocket stage1usenewunitoption
Or view, comment on, or merge it at:
https://github.com/coreos/rocket/pull/388
Commit Summary

stage1: use newUnitOption for WorkingDirectory.

File Changes

M stage1/init/container.go
https://github.com/coreos/rocket/pull/388/files#diff-0 (2)

Patch Links:

https://github.com/coreos/rocket/pull/388.patch
https://github.com/coreos/rocket/pull/388.diff

—
Reply to this email directly or view it on GitHub
https://github.com/coreos/rocket/pull/388.


Vela APIServer environment design

Hi @linfan

I think for the first step we will implement the catalog API and format first. Currently there is no roadmap doc here. I am working on that right now and will follow up in another PR.

Originally posted by @hongchaodeng in https://github.com/oam-dev/kubevela/issues/881#issuecomment-759286667

I have a few questions about this design：
1.In the design, an application can only be long to one environment. I can't understand why it is designed in this way. In a company, an application is usually deployed in multiple environments
2.The current data storage is not all stored in MySQL. When will it be implemented
3.How to describe how to place multiple applications in multiple clusters in workload

I have a few questions about this design：
1.In the design, an application can only be long to one environment. I can't understand why it is designed in this way. In a company, an application is usually deployed in multiple environments
2.The current data storage is not all stored in MySQL. When will it be implemented
3.How to describe how to place multiple applications in multiple clusters in workload

For roadmap please see https://github.com/oam-dev/kubevela/pull/891

For roadmap please see https://github.com/oam-dev/kubevela/pull/891

1.In the design, an application can only be long to one environment. I can't understand why it is designed in this way. In a company, an application is usually deployed in multiple environments

Could you provide an example?
In current design, environments are actually used to isolate applications and their dependencies. For example, staging and production.

2.The current data storage is not all stored in MySQL. When will it be implemented

What's the question?

3.How to describe how to place multiple applications in multiple clusters in workload

This is supported in the design. I will provide more details to cover it in the doc.

1.In the design, an application can only be long to one environment. I can't understand why it is designed in this way. In a company, an application is usually deployed in multiple environments

Could you provide an example?
In current design, environments are actually used to isolate applications and their dependencies. For example, staging and production.

2.The current data storage is not all stored in MySQL. When will it be implemented

What's the question?

3.How to describe how to place multiple applications in multiple clusters in workload

This is supported in the design. I will provide more details to cover it in the doc.

1.An application has three environments: test, staging and production. The application needs to be deployed in these three environments, and the resources of each environment are isolated
2.I didn't find much time to implement the design in roadmap

1.An application has three environments: test, staging and production. The application needs to be deployed in these three environments, and the resources of each environment are isolated
2.I didn't find much time to implement the design in roadmap

1.An application has three environments: test, stage and produc. The application needs to be deployed in these three environments, and the resources of each environment are isolated
2.I didn't find much time to implement the design in roadmap

1.An application has three environments: test, stage and produc. The application needs to be deployed in these three environments, and the resources of each environment are isolated
2.I didn't find much time to implement the design in roadmap

Why is the definition not designed to be global, so that it only needs to be defined once and then published to different clusters

Why is the definition not designed to be global, so that it only needs to be defined once and then published to different clusters

In my current company, an environment has multiple clusters, users can choose to deploy in a single cluster or multiple clusters. In one environment, I expect the API design
/application/<app>
{
    "id": "app-1",
    "environment": "test/stage/product",
    "clusters": ["cluster1", "cluster2"],
    "workloads": [
    ],
    "components": [
    ]
}

In my current company, an environment has multiple clusters, users can choose to deploy in a single cluster or multiple clusters. In one environment, I expect the API design
/application/<app>
{
    "id": "app-1",
    "environment": "test/stage/product",
    "clusters": ["cluster1", "cluster2"],
    "workloads": [
    ],
    "components": [
    ]
}

I'm getting a little bit lost in your comments.. So feel free to use Chinese if you want to :)
Let me summarize your points to see if I understand it correctly:

Definition should be top level API so that one definition could be published to different clusters. This is like having a Definition template.
An application could be deployed to multiple clusters. Good news! This is exactly the scope of the current design.
An application could have multiple environments. This is something I don't understand why? In your above example, it seems you only have one environment for an application. Just like the current design.

I'm getting a little bit lost in your comments.. So feel free to use Chinese if you want to :)
Let me summarize your points to see if I understand it correctly:

Definition should be top level API so that one definition could be published to different clusters. This is like having a Definition template.
An application could be deployed to multiple clusters. Good news! This is exactly the scope of the current design.
An application could have multiple environments. This is something I don't understand why? In your above example, it seems you only have one environment for an application. Just like the current design.

Here is the update base on offline discussion

An application could be deployed to multiple environments and thus multiple clusters. I will update the design doc to reflect this.
A definition is enabled via installing a package. So the global template will be stored and retrieved via catalog. I'm working on a detailed design on this. Might update on existing design doc or put up a new one.

Here is the update base on offline discussion

An application could be deployed to multiple environments and thus multiple clusters. I will update the design doc to reflect this.
A definition is enabled via installing a package. So the global template will be stored and retrieved via catalog. I'm working on a detailed design on this. Might update on existing design doc or put up a new one.

/cc @leejanee

/cc @leejanee

@baxiaoshi Based on our discussion I have update the design in https://github.com/oam-dev/kubevela/pull/926

@baxiaoshi Based on our discussion I have update the design in https://github.com/oam-dev/kubevela/pull/926


How to use input type "date" instead of "datetime-local"

When choosing
editable={{ type: 'datetime' }}
you have to add time too... e.g. Hours and minutes
If you want to use only date?...it's a problem because if you choose only date in present datetime input, the value is empty. hence you have to choose minutes and hours also.
How to create a date input without time?

HI @roslaneshellanoo, sorry for lately reply,
Although react-bootstrap-table document said that we support datetime, checkbox, select and textarea but you can still assign as date, we sill transfer any editable.type into input tag.  :)
<TableHeaderColumn dataField='datetime' editable={ { type: 'date' } }>Date Time</TableHeaderColumn>


Standardizing logging across commands

We're aiming to enhance the clarity and consistency of verbose and debug messages across our commands. This effort will help make our logging more uniform and informative. Below is the first draft of some guidelines on how and when to implement each type of logging.
Verbose Logging

Prefix each log entry with a timestamp to aid in debugging and tracing. Format: [YYYY-MM-DD HH:MM:SS] Message

Here I would even look into coloring the timestamp clearly to make it more visual.
Maybe even work out some logic where we add some more whitespace after each log.

Begin each command with a concise description of its action, e.g., [2024-03-23 15:45:15] Listing all Teams Apps...
Log each API endpoint called, e.g., [2024-03-23 15:45:30] GET: "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?$filter=distributionMethod eq 'organization'"

Debug Logging

Focus on logging internal processes, such as received options, token validity, the complete API request being made, and timing reports.
Avoid adding custom logs in commandAction to explain actions being performed. If they want to do this, it should be a verbose log instead.

To facilitate the changes suggested for verbose logging, I propose adding a new property to Logger, such as logger.logVerbose. This will allow us to centralize the logic for checking the verbose flag and formatting messages with a timestamp in cli.ts. Consequently, writing verbose messages within commandAction will become more straightforward.
Implementation Steps

[ ] Finalize the guidelines.
[ ] Define the next steps.
...
[ ] Apply these changes to each command.

good call. One comment from my side is that I would avoid adding custom color to a response. Nowadays terminals are full of customization and one may any terminal background color ... yes even white 😮😉, or blue or red etc. it's going to be hard to define a color which will be visible in any background. Thats why i would leave the default one and let the terminal theme functionalities work on the UI part

@Adam-it, good point. Picking a single color from so many options isn't straightforward. We already use chalk to set colors in a few spots for logging. My suggestion is to stick with gray for the timestamp and keep everything else the same. But that's not a major feature here, just an idea 😄. The first step is to decide on the layout. So, @pnp/cli-for-microsoft-365-maintainers, any thoughts?

Many node apps use the debug library for logging. What's great about it, is that it's widely used, and offers a standardized way of logging that folks already know, comes with coloring, printing time, etc. Not saying that we should adapt that exact package, but let's consider what's already out there and weigh it as an option in our decision.

That's a great idea to check out existing libraries. I just took a quick look at debug and it seems pretty clean. One small thing to note, though, is that it doesn't look like it's actively maintained anymore. I'll add a step to explore some existing libraries to see what they offer.


Update README.md

The inclusion of liquid tags in SCSS didn't work for me as of the most recent version of jekyll-assets and jekyll 3.1.6, but the changed syntax does. I found mention of the SCSS-specific variables on another site.  Oversight in the readme from prior versions perhaps?
in reference to #402

Please file a bug if it does not work. Thanks!


Patch TextArea and Markdown widgets to make them respond to theme changes.

This should close #21 .
In also makes the text areas ignore tab, which makes navigating easier.

@suhr if you have the time please test this closes https://github.com/ggozad/oterm/issues/21. I think it does, but happy to make changes.


refactor the list_questions method in grades_controller.rb

Sub-Issue of #2 for easier division of work, please see that issue for description.
This issue is focused on the list_questions method in the grades_cointroller.

Deemed obsolete and removed from the class.


Use SVG instead of PNG for evidence logo component

Description
I noticed that the Evidence logo in the top left corner looked a little blurry for some reason. Swapping the PNG for an SVG helps reduce the anti-aliasing due to scaling a raster image.
wordmark-gray-800.svg taken from our media kit
Comparison
https://github.com/user-attachments/assets/de1d0457-ecfb-4890-b9e3-7d403a15582c
Zoomed in comparison
https://github.com/user-attachments/assets/f8da0e3d-992d-482d-9b1f-a56e5d6e18a9
Note: the svg text was added to help show the difference, that isn't included in the PR

Checklist

[x] For UI or styling changes, I have added a screenshot or gif showing before & after
[x] I have added a changeset

- I have added to the docs where applicable
- I have added to the VS Code extension where applicable

hmm did you manage to get past this?
we ran into problems with the logo on the marketing site in chrome when we tried to use SVG logos / wordmarks

This is what i see on chrome (grainy edges)

vs firefox


feat(patch): fix #1011, patch ResizeObserver

fix #1011.
patch ResizeObserver.
support one observer patch different HtmlElements in different zones.
    const observer1 = new ResizeObserver((entries: any, ob: any) => {
      console.log('observer1 zone', Zone.current);
      for (const entry of entries) {
        console.log('observer1 resize entry target', entry.target);
        console.log('observer1 resize entry size', entry.contentRect);
      }
    });

    observer1.observe(div1);
    observer1.observe(div2);
    Zone.root.run(() => {
      observer1.observe(div3);
    });

full sample can be find here, https://github.com/JiaLiPassion/zone-resize-observer,
only work in Chrome 64.

@mhevery , got it, I will add test cases, because currently it only support Chrome 64, and travis saucelabs only run on Chrome 63, so I didn't add those cases now, I will add cases to make them runnable in local.

@mhevery , I have added test cases, and tested locally with Chrome 64, please review. thank you.


Fatal error: atac.bds, line 1200, pos 2. Task/s failed....during peakcalling

pipe_out_unfilt.txt
Hi, I am encountering the errors described in the log at the macs2 step of the pipeline. I am starting with BAM files-- I have tried both filtered and unfiltered. Moreover, I tried boosting the mem_macs2 and I still have the issue.
Let me know if I can provide any more insight and thanks for the help!!
-Greg

You have irregular chromosomes (chr20_GL383577v2_alt), which is not covered our default chromosome sizes file, in your BAM file. Please use your own chromosome sizes file (define it with -chrsz) or start from FASTQs.
Chromosome chr20_GL383577v2_alt isn't in /sc/orga/work/rompag01/genome_data/hg38/hg38.chrom.sizes line 1 of stdin: chr20_GL383577v2_alt:0-101601


Wrong libsqlcipher version for Tumbleweed

Hi there, after the fix in #36 search was working great, but recently it looks like Tumbleweed upgraded its libsqlcipher to libsqlcipher-3.31.0.so.0 while Element is still expecting libsqlcipher-3.30.1.so.0.
As a workaround I manually installed this RPM for now:
http://mirror.dal10.us.leaseweb.net/opensuse/history/20201002/tumbleweed/repo/oss/x86_64/libsqlcipher-3_30_1-0-4.3.0-1.4.x86_64.rpm
Thanks for maintaining Element for openSUSE!

New version using sqlcipher-devel as the required RPM. Lemme know if this resolves the issue.
https://github.com/taw00/element-rpm/commit/24da4cc812feda296fd31fc22719e51f0429ce3b

That did the trick, thanks very much for the quick fix!

Hi there, sorry, it's me again with the search issue. ;-)
Now it's complaining that it can't find libsqlcipher-3.31.0.so.0. The Tumbleweed version has been bumped to libsqlcipher-3.33.0.so.0. So I was able to trick it into working for now with:
sudo ln -s /usr/lib64/libsqlcipher-3.33.0.so.0 /usr/lib64/libsqlcipher-3.31.0.so.0

Hi there, sorry, it's me again with the search issue. ;-)
Now it's complaining that it can't find libsqlcipher-3.31.0.so.0. The Tumbleweed version has been bumped to libsqlcipher-3.33.0.so.0. So I was able to trick it into working for now with:
sudo ln -s /usr/lib64/libsqlcipher-3.33.0.so.0 /usr/lib64/libsqlcipher-3.31.0.so.0

I'm not sure what the right answer for that is. So specific. Hmm. Maybe I need to be version specific in the spec file. But that would be . . . unfortunate.

I guess that's more of an Element issue. Maybe an Element bug report?

Maybe.

Hej taw00
oh this issue is closed - didn't see that before. Anyway - thx for reply. And no problem at all:
[hof@dlxps15 ~]$ rpm -qa | grep sqlcipher
sqlcipher-4.4.3-2.fc35.x86_64
[hof@dlxps15 ~]$ sudo dnf list | grep sqlcipher
[sudo] password for hof:
sqlcipher.x86_64                                                                         4.4.3-2.fc35                                                     @fedora
libgda-sqlcipher.x86_64                                                                  1:5.2.10-2.fc35                                                  fedora
rust-libsqlite3-sys+sqlcipher-devel.noarch                                               0.20.1-3.fc35                                                    fedora
rust-rusqlite+sqlcipher-devel.noarch                                                     0.24.2-2.fc35                                                    fedora
sqlcipher.i686                                                                           4.4.3-2.fc35                                                     fedora
sqlcipher-devel.i686                                                                     4.4.3-2.fc35                                                     fedora
sqlcipher-devel.x86_64                                                                   4.4.3-2.fc35                                                     fedora
[hof@dlxps15 ~]$ rpm -q element
element-1.9.4-1.fc35.taw.x86_64
[hof@dlxps15 ~]$ rpm -q element --requires
/bin/sh
/bin/sh
/usr/bin/bash
ld-linux-x86-64.so.2()(64bit)
ld-linux-x86-64.so.2(GLIBC_2.2.5)(64bit)
ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsZstd) <= 5.4.18-1
rtld(GNU_HASH)
sqlcipher
[hof@dlxps15 ~]$

Good. You should be good to go then.
Cheers. -t

Didn't work until this morning. Today lot's of new Updates installed > seems to work fine now. Thx anyway!


Update image name and cpu resources for network performance test worker image

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Earlier the worker image was taken from a private account, the change is to pick it from gcr.io/k8s-testimages.This also contain changes for reducing the cpu utilisation limit and request from 1 to 500m.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

/lgtm
/approve
/ok-to-test


Incomplete Tutorial Colab Notebook

In the tutorial notebook of "Tensor Network Tutorial" > Section 2 > Avoid Trace edges, it says "One of the methods that".
I suspect it gonna introduce contract_between?

Good catch! Yes, I will fix that. Thanks for bringing this up!

Should be fixed now. Thanks again!


Description of quote-mark in user manual

Is the verb 'editing' a typo in the description of the quote-mark (user manual: 'usr_03.txt' line 653)?
https://github.com/vim/vim/blob/3d30af8783bf43fbfece641ec81ad8d2f01b3735/runtime/doc/usr_03.txt#L653
The reference manual states regarding the quote-mark (:h '"):

... the cursor position when last exiting the current buffer.

Was 'exiting' meant in the user manual (instead of 'editing')?

It's just two ways to say the same thing.  "last editing" implies that the buffer was exited.


APP-2311 Endpoint to get user by ID

This is needed to support the org settings page and robot/location permissions.
Now that users can have robot/location authorizations, we do not want universally list all organization members. Instead, users should only be able to see other users that share authorizations on the resources they have access to.
To do so, we will fetch other users by the authorizations fetched from listAuthorizations, instead of relying on getting all org members put on window.theData

If I understand correctly, this will be used to lookup each user after we have made a ListAuthorizations call. To avoid the situations where X items in the list call results in x individual API calls, I would use ListOrganizationMembers instead.
For permissions, I still think it is OK to know of all of the members of your org, but not know about the resources you don't have permissions to. I know that our UX doesn't have a section that lists org members without roles on resources. I think its still ok to do the filtering on the frontend? And use this API to eliminate the usage of window data?
I do think we need a GetUser API eventually, but would be more like a GetMyself API that returns information about the authenticated user.

I think the specification from product states that we do not want to show all org members for users with only location/robot level permissions (row 35 of https://docs.google.com/spreadsheets/d/1G0Uw9FldVVqpFNV0TfkoloVvb8dhfRlPKYyGhKgGYTo/edit#gid=0)
Would the better move to add filtering to ListOrganizationMembers? Or like you said, do the filtering on the frontend

If I understand correctly, this will be used to lookup each user after we have made a ListAuthorizations call. To avoid the situations where X items in the list call results in x individual API calls, I would use ListOrganizationMembers instead.
For permissions, I still think it is OK to know of all of the members of your org, but not know about the resources you don't have permissions to. I know that our UX doesn't have a section that lists org members without roles on resources. I think its still ok to do the filtering on the frontend? And use this API to eliminate the usage of window data?
I do think we need a GetUser API eventually, but would be more like a GetMyself API that returns information about the authenticated user.

I think the specification from product states that we do not want to show all org members for users with only location/robot level permissions (row 35 of https://docs.google.com/spreadsheets/d/1G0Uw9FldVVqpFNV0TfkoloVvb8dhfRlPKYyGhKgGYTo/edit#gid=0)
Would the better move to add filtering to ListOrganizationMembers? Or like you said, do the filtering on the frontend

I like the filtering idea so we dont have a million backend calls. Frontend filtering would offload any work to the client but the data would still be sent to the user and technically they could still view it if they poked around more. If thats an issue I would do the filtering on the backend to ensure they only get data we want them to have

@Kschappacher @michaellee1019 Natalia confirmed that we should only show users that have authorizations on resources they can see.
We could add filtering to ListOrganizationMembers, but that would do a lot of duplicated work because we're already calling ListAuthorizations which is filtered. Another option to limit API calls is to call this endpoint GetUsersByIDs, but I understand if we don't want to advertise having functionality like that (even if the endpoint is permissioned)
From Natalia:

Basically you see everyone added in your line of the tree.
TLDR if a user can see the resource (even uneditable) then they see the people who have access to that resource.

Ok then these options should work:

Add same filtering to ListOrganizationMember. I hear the concern but can we refactor some things so that the two apis use the same filter call before returning responses (attempt to refactor so both use the same single like of permissions checking)

Add users to response of ListAuthorizations. This breaks the idea of different identity types, whcih clould be handled by either returning a user only for user type or create separate apis like ListUserAuthorizations and ListApiKeyAuthorizations, etc.

Still dont like this api because of the looping aspect of many calls when you have a predefined list already.

Ok then these options should work:

Add same filtering to ListOrganizationMember. I hear the concern but can we refactor some things so that the two apis use the same filter call before returning responses (attempt to refactor so both use the same single like of permissions checking)
Add users to response of ListAuthorizations. This breaks the idea of different identity types, which could be handled by either returning a user only for user type or create separate apis like ListUserAuthorizations and ListApiKeyAuthorizations, etc.

Still dont like this api because of the looping aspect of many calls when you have a predefined list already.

@michaellee1019 I like the idea of adding the same filtering to ListOrganizationMembers because I think it makes sense for that endpoint to be consistent with ListLocations and ListRobots (rather than only accessible by org operators / org owners). I also don't think it's clear that you'd want a bunch of misc user information with authorizations, seems like two separate concepts especially if more data is associated with a user

Ok lets do filtering in ListOrganizationMembers then!

closing this PR as this task no longer requires API changes


[4.0] Fix references to protocol extension properties and instantiated generic properties in keypaths.

Explanation: The Sema AbstractStorageDecl::getAccessStrategy() call would incorrectly classify protocol extension methods as requiring dynamic dispatch, leading to a miscompile where key paths would attempt to identify them using nonexistent wtable entries. We would also emit the getter/setter thunks for a key path component with the wrong generic signature if the key path referenced a generic property with concrete generic arguments.
Scope: Key paths referencing protocol extension properties would always crash.
Issue: rdar://problem/32201589
Risk: Low. All other uses of getAccessStrategy don't distinguish behavior in the DirectToAccessor and DispatchToAccessor case. The code gen logic for keypath getter/setter thunks has no impact on other language features.
Testing: Swift CI, test case from Radar

@swift-ci Please test

@slavapestov Mind reviewing for the 4.0 branch?

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - b4c1ef636c1352685ab581cb79733698d704319a
Test requested by - @jckarter

@swift-ci Please test

@swift-ci Please test

Had to fix up some updated SIL tests.

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - b4c1ef636c1352685ab581cb79733698d704319a
Test requested by - @jckarter

@swift-ci Please test

@swift-ci Please test


Image not displayed after removing display:none

I have some responsive images on the viewport that are inside a container with a display: block.
<figure class="image-container">
        <img
        alt="<?php echo get_the_title(); ?>"
        data-sizes="auto"
        src="<?php echo get_stylesheet_directory_uri(); ?>/assets/img/pixel.png"
        data-srcset="
        <?php echo $image['sizes']['small']; ?>  512w,
        <?php echo $image['sizes'][ 'medium' ];?> 720w,
        <?php echo $image['sizes'][ 'large' ];?> 1200w,
        <?php echo $image['sizes'][ 'xlarge' ];?> 1400w"
        data-src="<?php echo $image['sizes'][ 'large' ];?>"
        class='lazyload' />
</figure>

.image-container{
    position: relative;
    display: block;
    opacity: 1;
    z-index: 999;
    background-color: rgba($black, 0.05);
}

With certain interactions, this container receives a class with display:none, and then later on this class is removed.
.image-container.inactive{
    position: relative;
    display: none;
    opacity: 0;
    z-index: 9!important;
    pointer-events: none;
}

However I figured out that the responsive images don't reappear after that.
What should I do to make them visible again after removing the display:none? The background color is showing up, the images are not.

Actually you shouldn't need to do anything. Can you add the following CSS to your images:
.image-container img {
    display: block;
    width: 100%;
    height: auto;
}

If this doesn't work you can try to invoke lazySizes.autoSizer.checkElems() and/or lazySizes.loader.checkElems(), but you shouldn't need to do this. If this changes anything, I will need a testcase to find the error/bug?

Hi @aFarkas,
thanks for great script.
I've just implemented it to my site and i have problems with some images on iOS. I have tutorials with multi-image steps and I change image visibility (display: none > block).

My temporary fix is:
dispatchEvent(new Event('scroll'));
Do you have any idea?
Thanks and BR,
Igor


Project get modified when you exit playback and double click on a script

First of all thanks a lot for this project, it is of tremendous help for my development!
Whenever I exit play mode and try to open a script in visual studio by double clicking the inspector or in the Unity project window, visual studio tell me the project have been modified and I need to reload it.

@00christian00 Ok I found and fixed it. You can see it in the next release.


Resume partially completed transfers

Hi,
thanks a lot for this project : it's enabled me to use Windows even less !
I was wondering whether you had looked into adding the ability to resume partially completed transfers. It would be nice to have that to help with the download failures I get on a regular basis. Do you know whether it is supposed to be supported by the Garmin watches ? I'd rather not spend too much time on that if we already know Garmins do not support it.
Thanks

Thank you! It is absolutely possible to have it resume failed downloads.
There are a lot more that could be done with regards to error recovery, right now it just aborts everything and fails with an error, if it fails during a packet transfer it could try to resend it, or if the connection breaks it could reestablish (this would work a bit different depending on the error and where it occurs.
The other thing that could be done is to save whatever has been downloaded already while the transfer is still ongoing (perhaps to a temporary file) and if the program exits for some reason it could resume from that point when we run it again.
Both of these things should probably be (at least mostly) done in the https://github.com/Tigge/openant project.

Have you been able to test whether Garmin's ANT-FS stack supports the download resume feature ?
I've been trying a bit with my 910XT, and I seem to be getting a "CRC incorrect" response whatever "Initial Request/ CRC seed" combination I try in my Download Request command (logs below)
Any idea what I could be doing wrong ?
Patrick
====================
Example:

the first download stops at offset 7680:

....
MainThread 2017-08-23 20:08:10,571  ant.fs.manager    DEBUG     Download 26, o7680, c47837 (manager.py:322)
MainThread 2017-08-23 20:08:10,571  ant.fs.command    DEBUG     packing 'D\t\x1a\x00\x00\x1e\x00\x00\x00\x01\xdd\xba\x00\x00\x00\x00' in array('B', [68, 9, 26, 0, 0, 30, 0, 0, 0, 1, 221, 186, 0, 0, 0, 0]),<type 'array.array'> (command.py:79)
.....
MainThread 2017-08-23 20:08:25,787  ant.fs.manager    DEBUG     Download 26 timeout (manager.py:345)
MainThread 2017-08-23 20:08:25,798  ant.fs.manager    DEBUG     Run 5 (manager.py:164)

I then try to re-initiate a connection and send a DownloadRequest with the same offset, CRC and "Initial Request":

.....
MainThread 2017-08-23 20:10:42,436  ant.fs.manager    DEBUG     Download 26, o7680, c47837 (manager.py:322)
MainThread 2017-08-23 20:10:42,436  ant.fs.command    DEBUG     packing 'D\t\x1a\x00\x00\x1e\x00\x00\x00\x01\xdd\xba\x00\x00\x00\x00' in array('B', [68, 9, 26, 0, 0, 30, 0, 0, 0, 1, 221, 186, 0, 0, 0, 0]),<type 'array.array'> (command.py:79)
MainThread 2017-08-23 20:10:42,436  ant.easy.channel  DEBUG     send burst transfer 0 (channel.py:112)
.....
ant.base   2017-08-23 20:10:45,075  ant.base.ant      DEBUG     Read data: [a4 09 50 20 44 89 05 00 00 00 00 00 15] (now have [a4 09 50 20 44 89 05 00 00 00 00 00 15] in buffer) (ant.py:230)
ant.base   2017-08-23 20:10:45,075  ant.base.ant      DEBUG     XXXXGot message, <ant.base.Message 50:[20 44 89 05 00 00 00 00 00] (s:a4, l:9, c:15)> (ant.py:121)

same with an IR=0

...
MainThread 2017-08-23 20:13:15,432  ant.fs.manager    DEBUG     Download 26, o7680, c47837 (manager.py:322)
MainThread 2017-08-23 20:13:15,432  ant.fs.command    DEBUG     packing 'D\t\x1a\x00\x00\x1e\x00\x00\x00\x00\xdd\xba\x00\x00\x00\x00' in array('B', [68, 9, 26, 0, 0, 30, 0, 0, 0, 0, 221, 186, 0, 0, 0, 0]),<type 'array.array'> (command.py:79)
....
ant.base   2017-08-23 20:13:17,955  ant.base.ant      DEBUG     Read data: [a4 09 50 20 44 89 05 00 00 00 00 00 15] (now have [a4 09 50 20 44 89 05 00 00 00 00 00 15] in buffer) (ant.py:230)
ant.base   2017-08-23 20:13:17,955  ant.base.ant      DEBUG     XXXXGot message, <ant.base.Message 50:[20 44 89 05 00 00 00 00 00] (s:a4, l:9, c:15)> (ant.py:121)

same with CRC=0 and IR=1

...
MainThread 2017-08-23 20:16:09,441  ant.fs.manager    DEBUG     Download 26, o7680, c0 (manager.py:322)
MainThread 2017-08-23 20:16:09,441  ant.fs.command    DEBUG     packing 'D\t\x1a\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' in array('B', [68, 9, 26, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),<type 'array.array'> (command.py:79)
...
ant.base   2017-08-23 20:16:11,999  ant.base.ant      DEBUG     Read data: [a4 09 50 20 44 89 05 00 00 00 00 00 15] (now have [a4 09 50 20 44 89 05 00 00 00 00 00 15] in buffer) (ant.py:230)
ant.base   2017-08-23 20:16:11,999  ant.base.ant      DEBUG     XXXXGot message, <ant.base.Message 50:[20 44 89 05 00 00 00 00 00] (s:a4, l:9, c:15)> (ant.py:121)

same with CRC=0 and IR=0

....
MainThread 2017-08-23 20:20:17,532  ant.fs.manager    DEBUG     Download 26, o7680, c0 (manager.py:322)
MainThread 2017-08-23 20:20:17,532  ant.fs.command    DEBUG     packing 'D\t\x1a\x00\x00\x1e\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00' in array('B', [68, 9, 26, 0, 0, 30, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]),<type 'array.array'> (command.py:79)
....
ant.base   2017-08-23 20:20:20,053  ant.base.ant      DEBUG     Read data: [a4 09 50 20 44 89 05 00 00 00 00 00 15] (now have [a4 09 50 20 44 89 05 00 00 00 00 00 15] in buffer) (ant.py:230)
ant.base   2017-08-23 20:20:20,053  ant.base.ant      DEBUG     XXXXGot message, <ant.base.Message 50:[20 44 89 05 00 00 00 00 00] (s:a4, l:9, c:15)> (ant.py:121)

I have not tested if Garmin stacks supports this, but there is at least
nothing in the specification that would prohibit this - quite the opposite.
You are of course correct in that Garmin could have a stack that does not
support this and I should have clarified this in my first reply. I'm sorry
about that. I'll try to take a look at this tonight and see if the results
are reproducible on my watch as well.
On Thu, Aug 24, 2017 at 10:14 AM, Patrick Remy<EMAIL_ADDRESS>wrote:

Have you been able to test whether Garmin's ANT-FS stack supports the
download resume feature ?
I've been trying a bit with my 910XT, and I seem to be getting a "CRC
incorrect" response whatever "Initial Request/ CRC seed" combination I try
in my Download Request command (logs below)
Any idea what I could be doing wrong ?
Patrick
====================
Example:

the first download stops at offset 7680:

....
MainThread 2017-08-23 20:08:10,571  ant.fs.manager    DEBUG     Download 26, o7680, c47837 (manager.py:322)
MainThread 2017-08-23 20:08:10,571  ant.fs.command    DEBUG     packing 'D\t\x1a\x00\x00\x1e\x00\x00\x00\x01\xdd\xba\x00\x00\x00\x00' in array('B', [68, 9, 26, 0, 0, 30, 0, 0, 0, 1, 221, 186, 0, 0, 0, 0]),<type 'array.array'> (command.py:79)
.....
MainThread 2017-08-23 20:08:25,787  ant.fs.manager    DEBUG     Download 26 timeout (manager.py:345)
MainThread 2017-08-23 20:08:25,798  ant.fs.manager    DEBUG     Run 5 (manager.py:164)

I then try to re-initiate a connection and send a DownloadRequest
with the same offset, CRC and "Initial Request":

.....
MainThread 2017-08-23 20:10:42,436  ant.fs.manager    DEBUG     Download 26, o7680, c47837 (manager.py:322)
MainThread 2017-08-23 20:10:42,436  ant.fs.command    DEBUG     packing 'D\t\x1a\x00\x00\x1e\x00\x00\x00\x01\xdd\xba\x00\x00\x00\x00' in array('B', [68, 9, 26, 0, 0, 30, 0, 0, 0, 1, 221, 186, 0, 0, 0, 0]),<type 'array.array'> (command.py:79)
MainThread 2017-08-23 20:10:42,436  ant.easy.channel  DEBUG     send burst transfer 0 (channel.py:112)
.....
ant.base   2017-08-23 20:10:45,075  ant.base.ant      DEBUG     Read data: [a4 09 50 20 44 89 05 00 00 00 00 00 15] (now have [a4 09 50 20 44 89 05 00 00 00 00 00 15] in buffer) (ant.py:230)
ant.base   2017-08-23 20:10:45,075  ant.base.ant      DEBUG     XXXXGot message, <ant.base.Message 50:[20 44 89 05 00 00 00 00 00] (s:a4, l:9, c:15)> (ant.py:121)

same with an IR=0

...
MainThread 2017-08-23 20:13:15,432  ant.fs.manager    DEBUG     Download 26, o7680, c47837 (manager.py:322)
MainThread 2017-08-23 20:13:15,432  ant.fs.command    DEBUG     packing 'D\t\x1a\x00\x00\x1e\x00\x00\x00\x00\xdd\xba\x00\x00\x00\x00' in array('B', [68, 9, 26, 0, 0, 30, 0, 0, 0, 0, 221, 186, 0, 0, 0, 0]),<type 'array.array'> (command.py:79)
....
ant.base   2017-08-23 20:13:17,955  ant.base.ant      DEBUG     Read data: [a4 09 50 20 44 89 05 00 00 00 00 00 15] (now have [a4 09 50 20 44 89 05 00 00 00 00 00 15] in buffer) (ant.py:230)
ant.base   2017-08-23 20:13:17,955  ant.base.ant      DEBUG     XXXXGot message, <ant.base.Message 50:[20 44 89 05 00 00 00 00 00] (s:a4, l:9, c:15)> (ant.py:121)

same with CRC=0 and IR=1

...
MainThread 2017-08-23 20:16:09,441  ant.fs.manager    DEBUG     Download 26, o7680, c0 (manager.py:322)
MainThread 2017-08-23 20:16:09,441  ant.fs.command    DEBUG     packing 'D\t\x1a\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' in array('B', [68, 9, 26, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),<type 'array.array'> (command.py:79)
...
ant.base   2017-08-23 20:16:11,999  ant.base.ant      DEBUG     Read data: [a4 09 50 20 44 89 05 00 00 00 00 00 15] (now have [a4 09 50 20 44 89 05 00 00 00 00 00 15] in buffer) (ant.py:230)
ant.base   2017-08-23 20:16:11,999  ant.base.ant      DEBUG     XXXXGot message, <ant.base.Message 50:[20 44 89 05 00 00 00 00 00] (s:a4, l:9, c:15)> (ant.py:121)

same with CRC=0 and IR=0

....
MainThread 2017-08-23 20:20:17,532  ant.fs.manager    DEBUG     Download 26, o7680, c0 (manager.py:322)
MainThread 2017-08-23 20:20:17,532  ant.fs.command    DEBUG     packing 'D\t\x1a\x00\x00\x1e\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00' in array('B', [68, 9, 26, 0, 0, 30, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]),<type 'array.array'> (command.py:79)
....
ant.base   2017-08-23 20:20:20,053  ant.base.ant      DEBUG     Read data: [a4 09 50 20 44 89 05 00 00 00 00 00 15] (now have [a4 09 50 20 44 89 05 00 00 00 00 00 15] in buffer) (ant.py:230)
ant.base   2017-08-23 20:20:20,053  ant.base.ant      DEBUG     XXXXGot message, <ant.base.Message 50:[20 44 89 05 00 00 00 00 00] (s:a4, l:9, c:15)> (ant.py:121)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Tigge/antfs-cli/issues/169#issuecomment-324566136,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALIdC5WjOVs1IB5MGCtkJ6Bl-GvTfQnks5sbTDzgaJpZM4PAdFL
.


add: Zeeshan Mukhtar

Description

Added my profile information to the public/data directory.
Related Issues

Changes Proposed

I have added my profile information to the public/data directory in the repository. This information includes my name, location, bio, avatar, portfolio link, skills, and social media links.
Here's a summary of the changes made:

Added my name: Zeeshan Mukhtar
Updated my location to: Bahawalpur, Pakistan
Added a bio: MERN Stack Magician | IT Enthusiast | Open Source Evangelist
Set my avatar:
Added a link to my portfolio: Zeeshan's Portfolio
Listed my skills: React.Js, Node.Js, Express.Js, MongoDB, JavaScript
Provided links to my social profiles: GitHub, Twitter, LinkedIn

Checklist

[x] I have read and followed the Contribution Guidelines.
[ ] All new and existing tests passed.
[ ] I have updated the documentation to reflect the changes I've made.
[ ] My code follows the code style of this project.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Note to Reviewers
Thank you for taking the time to review this pull request. My aim is to improve the project and contribute positively to the community. If you have any suggestions, feedback, or questions about the changes I've made, please don't hesitate to share them. I'm open to any improvements or adjustments you think would make this contribution better.
Your guidance and feedback are highly valued, and I'm grateful for your time and expertise in reviewing my work. Let's collaborate to make this project even more awesome!
Looking forward to your feedback and, hopefully, a successful merge. 😊
Best regards,
Zeeshan

HI @shyamtawli , Plz take a look again and let me know is there any other changes I should consider

@ZeeshanMukhtar1 Thank you so much for your contribution! Your efforts are greatly appreciated and will go a long way in improving our project. Please feel free to share it with others and help us grow even further!

@ZeeshanMukhtar1 Thank you so much for your contribution! Your efforts are greatly appreciated and will go a long way in improving our project. Please feel free to share it with others and help us grow even further!

Hi @shyamtawli , Thanks for considering my PR, Looking forward to contributing more.


DB migration error from 0.66.0 to 0.72.2 "SqliteError: no such column: evals.author"

Updating self-hosted promptfoo from 0.66.0 to 0.72.2 raises error:
Failed to read result with ID undefined from database:
SqliteError: no such column: evals.author

It seems like running npm run db:migrate inside the container is not possible because migrate.ts is not copied to the container.

If I run the following command inside the container:
sqlite3 /root/.promptfoo/promptfoo.db <<EOF
ALTER TABLE evals ADD COLUMN author TEXT;
EOF

I can manage to update server to 0.72.1
However, after updating the server to 0.72.2, the "Evals" tab is unable to open without any error message

We definitely need to create a migrations path within the Docker image. Thanks for flagging this.
Your manually executed migration looks correct.  Is there anything in the JS Console or Network tab when you load Evals?

api/results/ endpoint  returned the following content:
{
    "data": [
        {
            "id": "eval-2024-07-24T02:14:27",
            "label": "Agent - chat (eval-2024-07-24T02:14:27)"
        },
        {
            "id": "eval-2024-07-23T01:47:28",
            "label": "eval-2024-07-23T01:47:28"
        }
    ]
}

However, the next HTTP request has a URL path of api/results/undefined/.
This issue only occurs on the self-hosted app, whereas the local installation with npm works correctly.

Hey @jay0129, thanks for digging into this. I have a fix for the undefined route in #1257

Hi @typpo , thanks for fixing this. It works fine for 0.73.5.