English Auction

Summary
Implementation of a basic English Auction Contract.
The contract shall be initialized to accept an asset in return for the sold asset. A selling asset must be provided on initialization. An initial price and reserve price can be set. A time for the auction must be set.
While the auction is active:

A bid can be made at or higher than the initial price if no bid has been made
A bid can be made higher than the current active bid
The reserve can be met and the assets will be bought outright.

When the auction is over the buyer, seller, and failed bids can be withdrawn. The auction will end when the reserve is met or time runs out.
Both tokens and NFTs can be listed for auction. Both tokens and NFTs can be provided as bids.
Type of change
New contract application
Changes
The following changes have been made:

Added main contract
Added tests
Added ABI library
Added Errors library
Added Data Structures Library
Added Events Library
Added Utilities Library

Related Issues
Closes #70
Feature(s) Required
StorageVec
The use of a StorageVec will be needed to auction off and bid multiple NFTs.
SDK Bug
The use of returning Option<Identity> from a function currently breaks the SDK. This is needed to return auction information.
Link
Formatter Bug
Running forc fmt will create illegal syntax. The CI will not pass as long as this is an issue.
Link

I'll make more comments later.
The more I look at this the more I dislike it. It's just messy. That's not a comment about your code it's a comment about mixing the functionality of the NFT and a regular token. The more I look at this the more I want to see two separate auctions. 1 for NFTs and 1 for Tokens (although I don't immediately understand why that needs to exist). I think it will be much cleaner for anyone reading the code to see one contract or the other. they probably won't want the functionality of both so it's better to separate them into two.

I understand your sentiment. A lot of my approach here is from an object-oriented perspective, wrapping up both assets and treating them as one. It certainly adds some complexity but also generality. I don't believe this is what we traditionally see in Ethereum.
The primary use case today will absolutely be to auction off NFTs for tokens. But the ability to go the other way around or bid NFTs, if they are to be more than monkey pictures, can also be valuable. Perhaps making the base contract more modular would work better, but I'd need to give some thought as to how to do that. Regardless, I'd definitely appreciate any feedback I can get.


Updated to vapor 1.5

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@71f93ba). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             master   #304   +/-   ##
=======================================
  Coverage          ?   100%
=======================================
  Files             ?     18
  Lines             ?    376
  Branches          ?      0
=======================================
  Hits              ?    376
  Misses            ?      0
  Partials          ?      0

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 71f93ba...660af3f. Read the comment docs.


How to query the remote server address?

res = HTTP.get 'https://www.google.com'
res.remote_addr ?

You can get the original URI via res.uri: https://github.com/httprb/http/blob/09848c2/lib/http/response.rb#L85


Invalid response object from API: 'Request Entity Too Large' (HTTP response code was 413) with openrouter gpt-4-32k

I am encountering an error when using the openrouter gpt-4-32k API. The error message I'm receiving is as follows:
Invalid response object from API: 'Request Entity Too Large\n\nFUNCTION_PAYLOAD_TOO_LARGE\n' (HTTP response code was 413)
The HTTP response code associated with this error is 413. It appears that the issue is related to the size of the prompt being sent to the openrouter API, as it is too large.
The prompt that is created by gpt-migrate is too large for openrouters api. Has anyone ran into this issue and fixed it?

@nickvarterian did you manage to fix this?


Provide a plugin for Intellij IDEA to generate table and entity definitions.

This should be code that can be invoked from the application or a Gradle/Maven plugin to generate SQL or to execute at startup.

+1

I have the same question that of @corneil. I'm also wondering if it is worth spending this effort on supporting migrations instead. More portable and IDE independent. Unless, I'm missing a bigger picture, of course.

@yuzd
哇，非常棒的一个工具，谢谢你~~~

基于之前的小工具开发了一个idea插件 有兴趣的人可以试试
https://www.cnblogs.com/yudongdong/p/12589606.html

哇，太棒了，如果可以发布到 IDEA 的插件市场就更完美了！！！

https://plugins.jetbrains.com/plugin/14022
上传了 还在审核

https://plugins.jetbrains.com/plugin/14033

Hi, is there any reason this plugin executes some random executable which in only included in the version published on jetbrains' plugin page? Your source code repo does neither contain the source of this executable, nor does it include the executable itself. Looks kinda suspicious.

@gringofe
This plugin is not developed and maintained by me, I don't have the source code. Please ask @yuzd

Thanks to @vincentlauvlwj for such a great framework, and I've done this work, which is already on the plugin market.
Happy enjoy ;)
Market: https://plugins.jetbrains.com/plugin/22855-ktormgenerator
Source: https://github.com/aooohan/ktorm-generator

@aooohan Wow, it's a great plugin!! Thank you very much!


Remove circural dependencies

Coverage decreased (-4.6%) to 86.667% when pulling 0062b3d30364366b75904fc64bc851753c63fd46 on remove_circural_dependencies into 8a252c74ffd0ef6051ead4e714c06bdd73455b22 on master.

Coverage decreased (-4.6%) to 86.667% when pulling 8fdbdc9554050e8a3c87e8167ae47ba7f4048c87 on remove_circural_dependencies into 8a252c74ffd0ef6051ead4e714c06bdd73455b22 on master.

Coverage decreased (-4.6%) to 86.667% when pulling be5152af4f668019af7914f5a5e08b9af78b6356 on remove_circural_dependencies into 8a252c74ffd0ef6051ead4e714c06bdd73455b22 on master.


[Bug]: build failure on redhat/ubi8

Describe the issue
The build fails on redhat/ubi8 with:
122.5 [ 35%] Building CXX object absl/container/CMakeFiles/absl_btree_test.dir/btree_test.cc.o
171.2 /tmp/ccXC28tB.s: Assembler messages:
171.2 /tmp/ccXC28tB.s:305105: Error: symbol `_ZSt7forwardIRKaEOT_RNSt16remove_referenceIS2_E4typeE' is already defined
174.0 gmake[2]: *** [absl/container/CMakeFiles/absl_btree_test.dir/build.make:76: absl/container/CMakeFiles/absl_btree_test.dir/btree_test.cc.o] Error 1
174.0 gmake[1]: *** [CMakeFiles/Makefile2:3322: absl/container/CMakeFiles/absl_btree_test.dir/all] Error 2
174.0 gmake: *** [Makefile:146: all] Error 2
Dockerfile:9
7 |     WORKDIR /abseil-cpp-20240116.2/build
8 |     RUN cmake -DABSL_BUILD_TESTING=ON -DABSL_USE_GOOGLETEST_HEAD=ON -DCMAKE_CXX_STANDARD=14 ..
9 | >>> RUN cmake --build . --target all

10

ERROR: failed to solve: process "/bin/sh -c cmake --build . --target all" did not complete successfully: exit code: 2

Steps to reproduce the problem
Attempt a build with the following Dockerfile (docker build .):
FROM redhat/ubi8
RUN dnf -y install gcc-c++ wget cmake
RUN wget https://github.com/abseil/abseil-cpp/releases/download/20240116.2/abseil-cpp-20240116.2.tar.gz
RUN tar -xf abseil-cpp-20240116.2.tar.gz
RUN mkdir /abseil-cpp-20240116.2/build
WORKDIR /abseil-cpp-20240116.2/build
RUN cmake -DABSL_BUILD_TESTING=ON -DABSL_USE_GOOGLETEST_HEAD=ON -DCMAKE_CXX_STANDARD=14 ..
RUN cmake --build . --target all
Note:  A similar Dockerfile passes with debian:
FROM debian:bullseye
RUN apt-get update && apt install -y g++ wget cmake
RUN wget https://github.com/abseil/abseil-cpp/releases/download/20240116.2/abseil-cpp-20240116.2.tar.gz
RUN tar -xf abseil-cpp-20240116.2.tar.gz
RUN mkdir /abseil-cpp-20240116.2/build
WORKDIR /abseil-cpp-20240116.2/build
RUN cmake -DABSL_BUILD_TESTING=ON -DABSL_USE_GOOGLETEST_HEAD=ON -DCMAKE_CXX_STANDARD=14 ..
RUN cmake --build . --target all
What version of Abseil are you using?
20240116.2
What operating system and version are you using?
redhat/ubi8
[root@1152827655ea build]# uname -srm
Linux 5.14.0-362.13.1.el9_3.x86_64 x86_64
[root@1152827655ea build]# cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.10 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.10"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.10 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.10
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.10"
What compiler and version are you using?
[root@1152827655ea build]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.5.0 20210514 (Red Hat 8.5.0-22) (GCC)
What build system are you using?
[root@1152827655ea build]# cmake --version
cmake version 3.26.5
CMake suite maintained and supported by Kitware (kitware.com/cmake).
Additional context
No response

I met same problem in building on MIPS platform

I met same problem in building on debian 10

I had experienced the same problem here when I was using the baseline C++ compiler (g++ 8.5.0) on Red Hat Enterprise Linux 8.10 to compile the abseil-cpp code.
To solve the compilation crash, you should rely on a newer version of the GCC. Here's a solution that might work. It is based on the installation of the gcc-toolset-14 meta package. The GCC toolset packages introduces to the system a different version of the GCC compiler collection and runtime libraries, which is newer than the baseline one and has up-to-date C++ support, which is a crucial point here. First, install the necessary package(s):
$ sudo dnf install gcc-toolset-14
Afterwards, before running the CMake configuration, run this as the user appointed to run the compilation:
$ scl enable gcc-toolset-14 bash
That loads the necessary environment components that will allow you to switch from the baseline GCC compiler collection to the one installed with the GCC toolset.
It is important to run the CMake configuration in the same Bash session invoked through scl tool:
$ cmake -B build-gcc -DABSL_PROPAGATE_CXX_STD=ON -DABSL_BUILD_TESTING=ON -DABSL_USE_GOOGLETEST_HEAD=ON -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
That process generally goes smoothly (at least in my case). Building (compilation) comes next:
$ cmake --build build-gcc -j 4
Browse through the attached log file cmake-build-abseil-cpp-20240722.0.log to go over all messages generated by CMake during compilation. Once the compilation is successfully finished, run the build tests (in the usual way):See the attached log file cmake-build-abseil-cpp-20240722.0.log to catch with the messages emitted by cmake during the compilation. Once the configuration is successfully completed, run the tests:
$ ctest --test-dir build-gcc
I have attached here the outcome of the test process. Check the log file ctest-abseil-cpp-20240722.0.log for the full list of collected messages during the testing.I attached here the outcome of the test process, see the log file ctest-abseil-cpp-20240722.0.log for the full list of collected messages during the testing.
ctest-abseil-cpp-20240722.0.log
cmake-build-abseil-cpp-20240722.0.log


CFY-5587: use clearer parameter names, deprecate the old ones

Closed: As this PR is more than six months old without having been merged. Please reopen (and rebase if necessary) if it is still relevant.


deprecation<EMAIL_ADDRESS>

Resolve the following deprecation warning when running npm ci:
npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.

Noting this is caused by<EMAIL_ADDRESS>- No resolution at this point in time. Once this dependency makes the updates, it will be incorporated in the next dependency bump.


Support per-glyph category/subCategory in .glyphs files

https://github.com/googlefonts/fontmake-rs/issues/285#issuecomment-1553710896 notes:

Yes, this and the category/subCategory set in the .glyphs files are the wayy to handle this. Any glyph can be made a mark glyph.

Make an example .glyphs file, a failing test, and fix.

this is already supported with https://github.com/googlefonts/fontc/pull/777


runtime/vm/profiler.cc: 1063: error: expected: fp_ != nullptr

There are new test failures on [vm/test] Avoid temporary changes to disassemble_optimized under TSAN....[analyzer] Change final locals to var in const evaluator..
The tests
service/valid_source_locations_test/service RuntimeError (expected Pass)

are failing on configurations
vm-win-debug-arm64

The test was flaky (so the failure is probably unrelated to the changes above) but recently started failing consistently.
Log:
--- Command "vm" (took 46.000818s):
set DART_CONFIGURATION=DebugARM64 & set DART_SUPPRESS_WER=1 & set DART_CRASHPAD_HANDLER=c:\opt\s\w\ir\cache\builder\sdk\out\DebugARM64\crashpad_handler.exe & out\DebugARM64\dart.exe --sound-null-safety -Dtest_runner.configuration=vm-win-debug-arm64 --ignore-unrecognized-flags --packages=C:\opt\s\w\ir\cache\builder\sdk\.dart_tool\package_config.json C:\opt\s\w\ir\cache\builder\sdk\runtime\observatory\tests\service\valid_source_locations_test.dart

exit code:
255

stdout:
00:00 +0: valid_source_locations_test.dart (VM Service)

** Launching SERVICE_TEST_TESTEE=true out\DebugARM64\dart.exe --disable-dart-dev --write-service-info=file:///c:/opt/s/w/ir/x/t/dart_servicee69fc298/service_info.json --profiler --sound-null-safety -Dtest_runner.configuration=vm-win-debug-arm64 --ignore-unrecognized-flags --packages=C:\opt\s\w\ir\cache\builder\sdk\.dart_tool\package_config.json --enable-vm-service:0 C:\opt\s\w\ir\cache\builder\sdk\runtime\observatory\tests\service\valid_source_locations_test.dart

>testee>out> The Dart VM service is listening on http://<IP_ADDRESS>:50920/fiVWqanAFzA=/

>testee>out>

** Signaled to run test queries on http://<IP_ADDRESS>:50920/fiVWqanAFzA= (VM Service)

Loading VM...

Done loading VM

Running valid_source_locations_test.dart [1/2]

Paused with PauseBreakpoint

Running valid_source_locations_test.dart [2/2]

>testee>err> ../../runtime/vm/profiler.cc: 1063: error: expected: fp_ != nullptr

>testee>err>

>testee>err> ===== CRASH =====

>testee>err> ExceptionCode=-1073741819, ExceptionFlags=0, ExceptionAddress=00007FF79426050C

>testee>err> Aborting reentrant request for stack trace.

00:33 +0 -1: valid_source_locations_test.dart (VM Service) [E]

  NetworkRpcException(Canceling request: WebSocket closed(id: 1029 method: getObject params: {objectId: classes/1141/functions/set%3AmaxConnectionsPerHost, count: 100, isolateId: isolates/1242590195370515, _includePrivateMembers: true}))

** Killing script

00:33 +0 -1: Some tests failed.

Consider enabling the flag chain-stack-traces to receive more detailed exceptions.
For example, 'dart test --chain-stack-traces'.

stderr:
Unhandled exception:
Dummy exception to set exit code.

--- Re-run this test:
python3 tools/test.py -n vm-win-debug-arm64 service/valid_source_locations_test/service

https://dart-ci.appspot.com/log/vm-win-debug-arm64/vm-win-debug-arm64/245/service/valid_source_locations_test/service
/cc @bkonyi @rmacnak-google

Duplicate of #52969


Update about-writing-and-formatting-on-github.m

Why:

Closes [issue link]
What's being changed:

Check off the following:

[x] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

Ok


Changing the height and the width of the circle

Signed-off-by: Kyle Gertz<EMAIL_ADDRESS>

Signed off by Kyle Gertz


Fixing issue #4105 : Incorrect CLI command in Docker for Azure setup

Fixing #4105 : incorrect CLI command in Docker for Azure Setup & Prerequisites

@FrenchBen PTAL

@ddewaele can you please incorporate @FrenchBen feedback?

@mstanleyjones : Will update the PR tonight ... on holiday this week. Asked @FrenchBen for some clarifications.

@FrenchBen PTAL again, thanks!


Unsafe attribute event

This enables behaviours to override unsafe attribute setting, allowing for example setting values in a nested model.

Can you elaborate about your use case?

My use case is a model where I want to set nested (hasMany) model attributes at the same time as the main model.
For example, I have a Campaign Model, which have a hasMany relation with CampaignSchedule.
In my HTML both are entered on the same screen, and created dinamically via JS.
The POST from this screen is like this:
[Campaign =>
    [
        title => Campaign name
        schedules => [
            [ 'start_date'=> 10, 'end_date'=> 20 ],
            [ 'start_date'=> 30, 'end_date'=> 40 ],
        ]
    ]
]

I wanted that this POST to automatically set the 'schedules' item in some way using a behavior, but  there was no way for a behavior to receive this non-existant attribute directly from setAttributes().
I made an extension to allow this, but it depends on being able to receive the post data, I put it here:
https://gist.github.com/RangelReale/f2a47f34cd8aeabad2dd

https://github.com/mdmsoft/yii2-ar-behaviors#relationtrait

Hmm I did this some time ago, I will evaluate @mdmunir code to see if there was any edge case in my use case and get back to this.

Any updates?

I think maybe this approach could work, but my Yii2 project was postponed, so I think this can be closed for now.


Removed list guides

Hi, I changed the dark version of the theme to have the guides removed as described in #11 . I think the theme is a lot less busy now, just as I like it.
If you are concerned with readability, I think the best thing would be to have alternating background colors in the lists and just slightly make the background lighter every second row.
But I don't know if this is possible without a patch to editor, didn't find a reference for line style alternation.

Thanks！


Redirect /developers/:id to /developers/:hashid

While folks are transitioning to the new developer profile URLs I want to make sure no one's links break.
A PR addressing this issue should:
When the :obfuscate_developer_urls feature is enabled:

[ ] 302 redirect /developers/:id to /developers/:hashid with a flash message
[ ] Update the sitemap (config/sitemap.rb:24) to use the developer's hashid

The flash message should read:

Links to developer profiles have changed. Please update your bookmark to {new developer profile URL}.

I'd like to give this one a shot 😄

Awesome – all yours! Thanks @rayhanw.


behaviour when home assistant goes offline

Hi, what is the expected behaviour when home assistant goes offline. For example when I shutdown my raspberry pi, the heat pump stops heating and looses the little icon for the room thermostat. I am usually in automatic mode (but during the day the automation is on).

is this the expected behaviour?
does it mean the heat pump is working in automated mode (as if the room thermostat is not installed) or rather it means that there is no heating request from room thermostat any longer, which is why it shuts off?
the ESP is connected via MQTT, so the heat pump should not even know about the Raspi and Homeassistant. It should just continue running?
or maybe I wired it so that the relay switches off after a short time unless HA tells it not to? Then I should probably swap those cables to the other connection in order to ensure that if my Raspy looses power, it will continue to heat?

Thanks.

What is the „little icon for the room thermostat“? Do you mean the „Ext“ icon?

Yes, EXT and the heat waves next to it, instead I see the icon for automatic 1.

„Ext“ shows up when the thermostat contacts are closed and disappears when they are open.

Am 17.03.2021 um 19:17 schrieb Martin Reuter @.***>:

Yes, EXT and the heat waves next to it, instead I see the icon for automatic 1.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks, that means the relay opens the contacts when the server goes down .. and Rotex stops heating.
@raomin is there a way to keep it in the state it was in even if the Raspi goes offline? Because the opposite behaviour is also not wanted (because then it could be that Raspi looses power at night and then Rotex starts heating).
Thanks

Hi @m-reuter,
You're raising a good point.
Currently, ESPAltherma is retrying to connect to the MQTT for a 30 secs, then if it still fails it will reboot.
Normally, when ESPAltherma reboots, it restores its previous state. But it does this after connecting to MQTT...!
So in practice, when MQTT is off, it will turn off the relay until MQTT is back.
I still believe that a failure to connect to the MQTT should trigger a reboot at one point (as it may be caused by things that would be cleaned up by a reboot eg, wifi/dhcp issue). Now it could be longer than 30 sec and also the relay state should remain after reboot and while (trying to) connecting to the MQTT.
I'll implement this change.

Done!
It should reboot every 500s but restore immediately its state.
Give it a try and tell us!

Thanks. I tried it and it seems to work now. "EXT" symbol stayed active even though the MQTT server was down.
However, it looks to me that the m5stick is constantly rebooting (like every couple seconds, not waiting 500s). Is that only the first time ?

No, it shouldn't reboot. If it is it must be crashing for some reasons I haven't anticipated. I'll try turning off also mqtt.
Did you turn off only the MQTT or also the wifi?

Only the raspberry pi , which is running mqtt and homeassistant. Wifi was still up.

I guess this was solved by #157


TextFormField tooltip error

There is no property that can invoke suffix icon with tooltip error in the textformfield widget.
I'll be really glad to have this feature in TextFormField widget.
Thank you.

Hi @Hiteshc29, Thanks for filing the issue. You should be able to achieve that using the Tooltip widget.   Please take a look at this StackOverflow answer https://stackoverflow.com/questions/56644714/customising-flutter-tooltip.
Closing as this can be achieved with the existing widget and such custom implementations shouldn't be part of the framework.


[NADE] Add feature check to allow codegen

Pre-review checklist

[x] I've confirmed that instructions included in README.md are still correct after my changes in the codebase.
[ ] I've added or updated automated unit tests to verify correctness of my new code - N/A
[ ] I've added or updated integration tests to verify correctness of my new code - N/A
[ ] I've confirmed that my changes are working by executing CLI's commands manually - N/A
[x] I've confirmed that my changes are up-to-date with the target branch.
[ ] I've described my changes in the release notes - N/A
[x] I've described my changes in the section below.

Changes description
Add a feature check in build_bundle to allow for codegen.

Bhumika, not following the target branch here. Shouldn't we target feature-snowpark-annotations instead? Let's not create complex branching/merging structures, it will be a pain to deal with later. This should stack on top of your other work, on the common feature branch.


fix assignment of read-only variable 'stdout'

stdout cannot be reassigned on some systems i.e OpenWRT on mipsel

Nice OpenWRT fix. Merged.
Thanks.
Cheers
Mike

Actually you can't use freopen at that point, because it closes the file pointed at by stdout before opening the new one so there is no more output on stdout, breaking the functionality. I considered freopen while implementing that feature but had to revert to that hacky assignment to the stdout symbol.
This patch should be reverted, I will have a look into it.
@Tristian Which OpenWRT/Toolchain version are you using and what are the error messages?

@n0w1re I'll wait for your final patch.

fixed by #168

@Tristian Please check whether this works with your toolchain now.

@n0w1re Works for me 👍


Incompatible with chunking, large initial bundle sizes

Provide a general summary of the issue here
When using a multi-chunk app (as suggested for client performance), all react-aria's components will always be entirely packaged into the first chunk that loads any one of them.
Since this is generally the root chunk, it bloats it up significantly if eg. the root only needs one component, but the rest of the app uses all of them.
This is tangentially related to #5639 (might be same root cause?) but different "result".
🤔 Expected Behavior?
When using react-aria modules in a multi-chunk app, the initial chunk should only include components it needs.
😯 Current Behavior
All components of an entire package are included into the first chunk.
💁 Possible Solution
It's quite simple underneath really - since all of the submodules in eg. react-aria-components are pre-compiled/bundled into a single dist/import.mjs file, there is no way this can work in any bundler, since AFAIK no bundler cuts up modules into smaller chunks. (confirmed with at least Vite, esbuild & rollup)
Tree-shaking of course "works", but has no significant effect once you start using a large portion of the components.
The solution is to not pre-bundle everything into import.mjs, but instead compile every component (ie. file) into a a corresponding separate <component>.mjs file, and then make import.mjs re-export them.
Bundlers AFAIK do see through this "simple" indirection and can then distribute the components into appropriate chunks.
🖥 Steps to Reproduce
The bundle visualizer results in #5639 demonstrate this (the giant import.mjs blobs), although this is more relevant for react-aria-components, since it only uses a single npm module, while the others at least are divided into @react-aria/* subpackages.
Version
react-aria-components 1.0.1

It should only be the components you used in your app, though yeah some bundlers won't code split it if you only use Button on one page and ComboBox on another. Not sure how common that is. I would like to split the dist folder into multiple files (one per component) instead of one large file, but need to do some work on Parcel to support that while still producing commonjs, esm, and node esm versions of each one. The start of that work is over in https://github.com/parcel-bundler/parcel/pull/9489

@devongovett Yes, as I mentioned, this applies indeed to only components being used, the problem is chunking them, if you do use a lot but in different parts.

Not sure how common that is.

I would guess anyone who follows React/bundling performance best practices uses multi-chunk apps. It mostly affects large apps that can be chunked easily.

some bundlers won't code split

AFAIK, no bundlers will code split in this situation. Do you know of any? I'd sure like to use one...
As I mentioned, at least esbuild and rollup do not.

Maybe the description was a bit too abstract, here's a more concrete case:
The app consists of a:

navigation shell (might use Menu & similar)
textual pages (generall use no components)
table & visualization pages (use lots of different components)
form pages (use form components)

Sum total: All components used.
But: The initial load is into textual content with the navigation shell. It would be nice not to need to download a large chunk of JS just for that. Not sure such a situation is common, but I would guess it's not too uncommon...

https://github.com/parcel-bundler/parcel/pull/9489 should allow us to improve this a lot. Will split each component into a separate file in the dist dir allowing sideEffects: false in package.json to be effective, and enabling code splitting. An example app I tested got 4x smaller. Once that's merged I'll make a PR with the changes needed on our end.

Nice, our initial bundle size dropped ~50%!


"name" field is required for v1 schemas which breaks backward compatibility with v5 of devspace

After upgrading to v6.2.4 from version v5.18.5 I can no longer import v1beta11 version of devspace.yaml as a parent profile
For example, if my local devspace.yaml has the following lines
version: v1beta11
profiles:
  - name: my_local_profile
    parents:
      - profile: some_remote_profile
        source:
          path: ./parent

and devspace.yaml at ./parent has the following structure
version: v1beta11
profiles:
  - name: some_remote_profile

...

I expect devspace v6.2.4 to successfully import this remote profile, instead I'm getting
fatal load parent profile some_remote_profile: you need to specify a name for your devspace.yaml

I could add name: my_remote_devspace_config to the remote profile, but that breaks it for users who still use v5.18.5

Hi @white-hat
Regarding this, I think this is an incompatibility between v6 and v5
Older profile APIs (in this case v1beta11) are internally always converted to latest version (v2beta1) in memory, while using v6.
Now that name is obligatory for v6, and it does not depend on if you use v1beta11 or v2beta, but on the devspace version.
So this is intended behaviour for v6

I'm closing this for now, as I didn't receive any feedback
Feel free to reopen if it is needed :+1:


Where is the video file getting stored?

Hi I am new to Android. I just set up and ran this in simulator, i want to know where the video is stored?
Can i check in computer or its available only in the emulator phone? Please let me know the path where i can go and play..
Also, I tried connecting my Huawei Honor 9N phone through USB...  set developer options and USB debugging modes ON.. , but still i am not able to see my phone available to run this app in my phone..
Please suggest. (when i am using the Assistant troubleshoot option, there are 3 steps...
step1:  i can see my phone under "android studio detected following USB devices connected to "
step 2: Enable USB debugging.  (done)
step3: Restart ADB.. done no use.. still
Please help.

I found the recorded video from 'adb shell'
hero2qltechn:/ $ ls -lh /storage/emulated/0/Android/data/com.example.android.camera2video/files/
total 2.1M
-rw-rw---- 1 u0_a151 sdcard_rw 4.3M 2019-06-10 16:36 **1560155758428.mp4**

but I can not find this video by other ways.

This sample has been migrated to a new location (check README for more information).
As recommended by GitHub, we are closing all issues and pull requests now that this older repo will be archived.
If you still see this issue in the updated repo, please reopen the issue/PR there. Thank you!


chore(types): preserve historic transaction tags on chain upgrade

Also upgraded polkadot to latest version and upgraded types to latest mesh metadata

:tada: This PR is included in version 2.0.0-alpha.31 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Create scripts for the calculation of the indicator and add sample data:

[ ] SPSS
[ ] R
[ ] Stata
[ ] Sample data file

wfp_css_syntax 1108.pdf


.Net: Bug: Using keyed services with IServiceCollection.AddKernel gives Required service not registered when kernel.Invoke is used with no serviceId provided.

Describe the bug
When using IServiceCollection.AddKernel and all connectors are key based (using ServiceId), is not possible to call kernel.InvokePromptAsync without specifying a serviceId in the configuration.
To Reproduce

using Microsoft.Extensions.DependencyInjection;
using Microsoft.SemanticKernel;

#pragma warning disable SKEXP0010 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.
#pragma warning disable IDE0211 // Convert to 'Program.Main' style program

var service = new ServiceCollection();
service.AddKernel()
    .AddOpenAIChatCompletion(serviceId: "service1", apiKey: null, modelId: "1", endpoint: new Uri("https://localhost"))
    .AddOpenAIChatCompletion(serviceId: "service2", apiKey: null, modelId: "2", endpoint: new Uri("https://localhost"))
    .AddOpenAIChatCompletion(serviceId: "service3", apiKey: " key ", modelId: "gpt-4o");

var provider = service.BuildServiceProvider();

var kernel = provider.GetRequiredService<Kernel>();

await kernel.InvokePromptAsync("test");

Expected behavior
The last registered service in the builder that matches any of the ITextGenerationService or IChatCompletionService interfaces is used similar to var kernel = builder.Build().

Currently this cannot be until AnyKey is backported to .Net 8 or we move to .Net 9.
Detailed below:

https://github.com/dotnet/runtime/issues/109016


add a list of transmitter devices

This PR makes a start with setting up a list of transmitter devices, as proposed in #52.
The INVOLI device is included, but it's not clear which transport types it supports (the website only mentions "Wi-Fi", but does not say whether NAN or Beacon is meant). The other entries I have verified myself.

The INVOLI device is included, but it's not clear which transport types is supports (the website only mentions "Wi-Fi", but does not say whether NAN or Beacon is meant).

Looking a bit closer, the video at https://www.youtube.com/watch?v=7bsdSZIcb44 reveals an ODID screenshot (at 0:41) that shows NAN ID: 100 as MAC, which indicates that the device supports WiFi NAN at least (possibly Beacon in addition?). There is no mention of Bluetooth whatsoever. 7964f11d3c38d81e45a42c8905e7bf6069cad77c fills the details in the table accordingly.

Hi Janus, did you test the Mavic 3 yourself? Because we did with the latest FW and there was no Remote ID option/settings. So I assume, that people who tested this functionality had some "unlisted" fw.

Hi Janus, did you test the Mavic 3 yourself?

No, I did not. As the commit mentions, it is purely based on the information provided in the links.

Because we did with the latest FW and there was no Remote ID option/settings. So I assume, that people who tested this functionality had some "unlisted" fw.

Oh, that's interesting. Thanks for the comment. If you cannot confirm it, then this commit should be discarded.

Because we did with the latest FW and there was no Remote ID option/settings. So I assume, that people who tested this functionality had some "unlisted" fw.

Oh, that's interesting. Thanks for the comment. If you cannot confirm it, then this commit should be discarded.

I removed the commit from this PR for now.

I will take a deeper look at this later on. I think some disclaimer text at least would be needed. I can add that later.
Just a few questions now. Should the FW version for the drone/add-on that has been tested be added?
When you tested the Anafi drone, did you fly it? Both the US and EU standards/rules only require you to broadcast after take-off.
I tested a borrowed Mavic 2 Pro a couple of weeks ago (of course forgot to write down the firmware version) and it did not broadcast anything even when in the air. Receiver was a Samsung Galaxy S10 so it should have picked up any type of signal.
It would probably also be good to have some information about the receiver device that was used for testing. We already know that many phones don't support receiving all broadcast types (and there are weird things going on with some transmitter/receiver combinations for Wi-Fi Beacon).

I will take a deeper look at this later on. I think some disclaimer text at least would be needed. I can add that later.

That would be great. Thanks.

Just a few questions now. Should the FW version for the drone/add-on that has been tested be added?

Yes, in particular for the drones this can be useful / relevant. For the Anafi, the DRI support was added with a particular FW version. I can look it up.

When you tested the Anafi drone, did you fly it? Both the US and EU standards/rules only require you to broadcast after take-off.

Yes, I tried it both in flight and on the ground, and it transmitted in both cases. IIRC it even started broadcasting messages when the GPS position was not known yet. But I need to re-try in order to be sure.

I tested a borrowed Mavic 2 Pro a couple of weeks ago (of course forgot to write down the firmware version) and it did not broadcast anything even when in the air. Receiver was a Samsung Galaxy S10 so it should have picked up any type of signal.

Did you see any Remote-ID section in the settings? If not, it probably does not do anything.
I know that DJI was active regarding DRI in the past and that they had some beta-FW with DRI support, but it seems they're taking their time to push it into consumer products. Also I was surprised that this Youtube video claimed that the Mavic 3 is broadcasting WiFi Beacon messages, because I thought DJI would be using WiFi NAN.

It would probably also be good to have some information about the receiver device that was used for testing. We already know that many phones don't support receiving all broadcast types

In principle you're right, but IMHO it would be overkill to include the receiver information in the table. The number of possible combinations is huge. I think it should be enough to just list all broadcast types that have been confirmed, and leave those open that are unconfirmed. If someone is reporting new data, they should ideally provide information about the receiver device, but to my mind this is not essential.
Btw, my tests were mostly done with a Samsung Galaxy S21+ (which has complete coverage of all BLE & WiFi types), but also with other Android devices (and for BLE I also tested with an iPhone, but of course not with the ODID app in this case).

I tested a borrowed Mavic 2 Pro a couple of weeks ago (of course forgot to write down the firmware version) and it did not broadcast anything even when in the air. Receiver was a Samsung Galaxy S10 so it should have picked up any type of signal.

Did you see any Remote-ID section in the settings? If not, it probably does not do anything.

There were menu items related to remote ID and it was turned on. However, it could be that this is the remote ID signals that are related to DJI Aeroscope? It would be strange if you were able to turn of the transmission of those though. It is a bit of a mystery.

I know that DJI was active regarding DRI in the past and that they had some beta-FW with DRI support, but it seems they're taking their time to push it into consumer products. Also I was surprised that this Youtube video claimed that the Mavic 3 is broadcasting WiFi Beacon messages, because I thought DJI would be using WiFi NAN.

The US rules will most likely converge on allowing only Wi-Fi beacon (or BT). Not NAN. See note 7. For any company selling drones globally, it would therefore be easier to use only Wi-Fi Beacon and ditch NaN completely. I cannot say anything specific about what each company will choose to do though.
I am not sure what video you are referring to but at least this one shows Wi-Fi beacon transmit for the Mavic 3. No indication about the drone Firmware version though.

Btw, my tests were mostly done with a Samsung Galaxy S21+ (which has complete coverage of all BLE & WiFi types), but also with other Android devices (and for BLE I also tested with an iPhone, but of course not with the ODID app in this case).

So you have a BT4 iOS receiver implementation?

I am not sure what video you are referring to but at least this one shows Wi-Fi beacon transmit for the Mavic 3. No indication about the drone Firmware version though.

Yes, that's the one I was referring to.

Did you see any Remote-ID section in the settings? If not, it probably does not do anything.

There were menu items related to remote ID and it was turned on. However, it could be that this is the remote ID signals that are related to DJI Aeroscope? It would be strange if you were able to turn of the transmission of those though. It is a bit of a mystery.

The video above shows a settings screen with both an Aeroscope and a Remote-ID section (in Italian, though). For Aeroscope you can modify some settings AFAIK, but not turn it off completely.

I know that DJI was active regarding DRI in the past and that they had some beta-FW with DRI support, but it seems they're taking their time to push it into consumer products. Also I was surprised that this Youtube video claimed that the Mavic 3 is broadcasting WiFi Beacon messages, because I thought DJI would be using WiFi NAN.

The US rules will most likely converge on allowing only Wi-Fi beacon (or BT). Not NAN. See note 7. For any company selling drones globally, it would therefore be easier to use only Wi-Fi Beacon and ditch NaN completely. I cannot say anything specific about what each company will choose to do though.

Very interesting. In the first ASTM version it was the other way around, right? Only NAN was mandatory, and Beacon was not covered at all. Interesting that this was turned around. This would definitely explain why DJI would change its mind.

Btw, my tests were mostly done with a Samsung Galaxy S21+ (which has complete coverage of all BLE & WiFi types), but also with other Android devices (and for BLE I also tested with an iPhone, but of course not with the ODID app in this case).

So you have a BT4 iOS receiver implementation?

Yes, but it's not open source (and not publicly available yet).

Just a few questions now. Should the FW version for the drone/add-on that has been tested be added?

Yes, in particular for the drones this can be useful / relevant. For the Anafi, the DRI support was added with a particular FW version. I can look it up.

Added the FW info in 32d975f5208340726382ce2e756a669b4eacaeab.


need FB authentication for clearing fb cache

This is solved already with adding fbAccessToken to the config file.


Handle the case when Connect and the add-on server are not in sync

Problem
We get some installation webhooks every day for the same sites without the Authorization header. And we already have those instances in our DB.
Explanation
This happens when Connect and the add-on server are not in sync with regard to the installation state of the add-on.
Connect does not believe the addon is installed so the installation payload it sends is not signed (the first install webhook is not signed). Presumably, we have seen the site before, we've created a record in the DB and expect the install to be signed.
We believe this can happen due to a timeout. If the add-on receives an install payload and creates its record but the response does not get to Connect in time, Connect will timeout the install and rollback its install record. The two ends are now out of sync.
Solution
We can solve this manually by removing those records from our DB, so the next installs will succeed. But this can be automated in this library.
To automate this we just need to do the same as we do on the first install, but not to throw an error, when there's no token but we have this instance. With this solution, I see one issue, when the add-on was installed and then someone sends an unsigned request with a different sharedSecret. We would update the record in the DB, but that's it, we couldn't send requests to Jira with the wrong token. So there are no security issues I believe. But just in case I have added a check for sharedSecret from request body to match with one we store in DB.
If for any reason Connect recycles sharedSecret, then the installation never succeeds.
Questions

Do you think this is a good idea that we can automize this and put the solution to this library or better to fix it manually and decline this PR?
Should we check for sharedSecret from the request body to match with the existing one in our DB?

I think it would be really nice to fix that in lib, if possible.
Sorry, I did not get your point about sharedSecret from body check, what the pros and cons checking or not checking it?

With this solution, I see one issue, when the add-on was installed and then someone sends an unsigned request with a different sharedSecret. We would update the record in the DB, but that's it, we couldn't send requests to Jira with the wrong token. So there are no security issues I believe.

Security concerns:

attacker could break someone's addon installation
attacker could send jira webhook signed by his fake client key and addon using this library could do any kind of actions. Let's imagine jira-slack integration that using this addon and send messages about jira ticket status update to slack channel. Now, after attacker replaced sharedSecret he could send jira issue transition webhook and slack users will see fake slack notification.

Yeah, I see, you are right, comparing sharedSecret from req.body and from an existing instance is useless.
Well, another solution that Conor suggested is to compare sharedSecret from req.body with other sharedSecrets from the DB. Since we know that sharedSecret is the same for all instances of the add-on, we can pass it to install function or pass a function for getting this secret in the library. The function is basically to get all instances, group by sharedSecret and return the one which has the highest count. This solution is not perfect, because we can just solve it via this library but it's still automatic. We can even cache the result of the function for 24h, so we won't trigger DB with such query too often.

Closing this since this problem can't be solved in the lib without consequences.


Is there a way to load a specific series in a study by URL?

It looks like the viewer supports URL pattern http://<base_url>/viewer/<study_instance_uid>. This will get meta data of all series in the study and the series view can be toggled in the left panel. And the default series that is loaded in the viewport would be the first one (whatever order) in the study. However, I'm wondering if there's a way to "initially" load a specific series in a study by URL. For example, it would be great if the viewer supports a URL pattern something like this: http://<base_url>/viewer/series/<series_instance_uid>. Does this request make sense?

Yes, it makes sense, but it's not been implemented yet.  However, for the URL, I would recommend something more like http://<base_url>/viewer/<study_instance_uid>/<series_instance_uid>.  In case you want to give it a try, the code for that route is here: https://github.com/OHIF/Viewers/blob/024e590af3b19b2f7a0abefd46006f25eb5d9d85/OHIFViewer/client/routes.js

Rob

Hi @atisman89
I implemented to show series in study by URL: <base_url>/study/<studyInstanceUid>/series/<seriesInstanceUid1>;<seriesInstanceUid2>;<seriesInstanceUid3>
Example to open 1 series:
http://localhost:3000/study/<IP_ADDRESS>543.6003.1257388728.18418.18538.407646098/series/<IP_ADDRESS>543.6003.806948520.16087.19697.991551387
Example to open 2 series:
http://localhost:3000/study/<IP_ADDRESS>543.6003.1257388728.18418.18538.407646098/series/<IP_ADDRESS>543.6003.806948520.16087.19697.991551387;<IP_ADDRESS>543.6003.623533160.62510.19090.2852520608
Could you please give it a try? If it's good, please close the issue. Thanks.

Great! It works as described. Thank you!

Is there a documentation about this feature? what format is the server expected to return?
Thanks

This is not an API to return a value. It is to view the requested study and series from study list in browser.
There is no documentation yet but we are working on it.

thanks @ayselafsar, I believe I got it now. For some reason I though this is related to #91

But, i cant understand how can i use it with Standalone Viewer?

Hi @ayselafsar,
I tried to open a serie using the url <base_url>/study//series/;;
but I'm getting an error saying that "Sorry, this page does not exist."
Need I set up a route first in routes.js?
Thank you in advance for your help!

Hello,
Nobody can help me please?
hi @radicalrob, could you share the routes.js? the above link no longer works, thank you!

If you are asking about v2, you can do it like this with seriesInstanceUID argument: https://viewer.imaging.datacommons.cancer.gov/viewer/<IP_ADDRESS>.4.1.145<IP_ADDRESS>.6279.6001.224985459390356936417021464571?seriesInstanceUID=1.2.276.0.7230<IP_ADDRESS>.0.57823.1553343864.578877,<IP_ADDRESS>.4.1.145<IP_ADDRESS>.6279.6001.273525289046256012743471155680
If this is about v3, this feature is missing there at the moment, to the best of my knowledge.

Thanks a lot for this information @fedorov, I'm using the v3, I will try with the v2, I hope this feature will be soon available in v3 as well.

@cherhaishan I have just learned that this partially works in v3 as well using ?StudyInstanceUIDs= argument. Partially, because you can only specify one SeriesInstanceUID, while in v2 you can have a comma-separated list. But I know this will be fixed, because it is a priority for our project, and we are funding implementation of this fix.

@fedorov that's great!
I just tried with this url http://localhost:3000/viewer/<IP_ADDRESS>.4.1.59<IP_ADDRESS>86334768.1849416866.1385765836848.3.0?SeriesInstanceUID=<IP_ADDRESS>.4.1.59<IP_ADDRESS>86334768.1849416866.1385765836848.377.0
SeriesInstanceUID without 's', it works, but others series are also showed in the left panel, when I specify the serie by using ?SeriesInstanceUID=xxx,  this serie is just put on the top of the list, maybe this is a normal behaviour.
Is it also possible in v3 to specify the &SOPInstanceUID=xxx after SeriesInstanceUID=xxx to scroll down to the Image and show it first?

Hello,
We were trying to integrate OHIF Viewer with GCP and ReactJs. W e are running ohif viewer on port 3000 locally. In another reactjs Application we have iframe. In this iframe we are opening ohif viewer. When we give local host 3000 it loads the initial page and works fine. However when we try to open a particular image by giving its url in src of iframe eg.:http://localhost:3000/viewer?StudyInstanceUIDs=1.2.840.1136<IP_ADDRESS>8000062035011254.825190719.2.31 Then the image is not loading.
The console shows following error

We have already gone through documentation. If anyone has the solution to this it will be really helpful.
Thank you in advance for any assistance.


add GitHub Actions workflow

With this PR we add a GitHub Actions workflow to the main branch to also test installation on windows.

To properly test the installation on windows, we shouldn't use bash as shell in the github actions but probably power shell. Converting this to a draft as it will need more work.


Any plans to add radius?

This package looks great. Any plans to add radius filtering to limit results? I've seen other where you can pass in a location or country and limit results to a certain radius.
Thanks!

You can specify radius, locations, and type of locations through options prop 👍
Hope this is what you are looking for!

Boom! That's exactly what I was looking for.
Will the country param work too?

@jrock17 Yes! This is what you need
const options = {
  componentRestrictions: {
    country: ['us', 'ca'] // Or if it's just one country you can have string (i.e. 'us')
  }
}

<PlacesAutocomplete inputProps={inputProps} options={options} />

Basically anything in Google's AutocompleteRequest specification will work 👍

it's not working for me
const placesOptions = {
    componentRestrictions: {
      country: 'my'
    }
  }
<PlacesAutocomplete
              value={serviceAddress}
              onChange={handleChange}
              onSelect={handleSelect}
              options={placesOptions}
            />

Ok seems like it should be searchOptions instead of options for props.


Multiple models and models config

I consider to use spacy-server for Open Semantic Search in Open Semantic ETL, but need to use multiple models, which can be set by HTTP parameter in currently used spacy-services.
Is this (multiple or better configurable multiple models) planed for spacy-server, too?

I tentatively require multiple models as well. For the v1 release, I tried to get the required components working. I'm currently in the process of trying to implement better integration tests and making it faster. After that, I will try to allow for model configuration. This will take several weeks at the least since I'm currently busy with college exams and projects.

Thank you for your time and answer.
Its not urgent (i am busy next weeks, too and currently using custom extended spacy-services), i wanted to find out if planed and maybe better to reuse & contribute to issue discussion/maybe code instead of reinventing (or parallel double work) on same wheels.
Another wish/discussion point if one day there will be multiple models (and if easy possible, i am not sure how stable flask is for parallel processing with shared resources things like locking) would be to have the possibility/maybe configurable to load some of the configured models only on first usage to spare RAM for models never used but which maybe will be used (at the moment many models are not used in most (but not all) cases but all loaded to RAM in current used spacy-services).

I was thinking of creating one Docker image for each model (e.g., neelkamath/spacy-server:v1-en_core_web_sm, neelkamath/spacy-server:v1-en_core_web_lg, neelkamath/spacy-server:v1-fr_core_news_sm). Otherwise images would be massive. I'm yet to properly think it through.
As for potential issues with Flask, I may migrate to something like FastAPI if it's causing problems.

I'm closing this because it's been fixed in #16. If the fixes don't meet your requirements, feel free to reopen the issue and we can discuss how to improve the architecture.


Option to add an offset to pop up

Would be nice to be able to offset the pop up a bit from the link text.

Addressed by the ability to pass through props to tippy in #23.

Addressed by the ability to pass through props to tippy in https://github.com/Hyperfov/link-previews/pull/23.


Object does not contain property source

In an ActivityPub Object, there is a property called source, see https://www.w3.org/TR/activitypub/#source-property
I would like to use it, together with its mediaType sub-property, but I couldn't find it in Fedify.
The use case is: My app works with rich text content, and I would like to avoid conversions from and to HTML as often as possible. So, if some system is already supporting my content type, I would like to know this by looking at source.mediaType in the Object.
Can you tell me how to do this?

It needs to be implemented.  I'm looking into it.  It wouldn't take more than a day or so!

Okay, it's now implemented, and will be shipped in the next release (0.14.0).
import { Note, Source } from "@fedify/fedify";

const note = new Note({
  content: "
Hello
",
  mediaType: "text/html",
  source: new Source({
    content: "# Hello",
    mediaType: "text/markdown",
  }),
});

You can give it a try with 0.14.0-dev.335+caa05f81 (JSR & npm).

Wow, thanks so much, that was really quick! I will use it as soon as possible!

Works like charm, thank you!


Discord chat permissions

Hello, I have an issue:
In discord, I cannot chat as apparently I don't have permission.
Thanks,
Sam

Ah. Switch to another channel.

All fixed!


Pool information on external ontologies

Description of the issue
Create a pool where information on external ontologies is collected

ontologies that we (partly) import
ontologies that might be interesing for a potential import
save info on upper ontologies used (bfo or not)

Ideas of solution

wiki page, table, ...?
also mention in the README.md all external ontologies used

Workflow checklist

[ ] I am aware of the workflow for this repository

I think wiki is the most accessible and appropriate place for that

https://github.com/OpenEnergyPlatform/ontology/wiki/use-of-external-ontologies

Nice, thank you!

I think it would be unneccessary work to maintain the wiki article as well as the readme when updating or importing external ontologies. Could we just put the link to the wiki article in the readme?


php artisan twig produces incorrect information

When running $ php artisan twig, I receive the following:
± % php artisan twig
Twig version        1.18.0-DEV
Twig Bridge version 0.6.0
I am pretty sure the version of Twig Bridge installed is 0.7.0 as that is specifically set in composer.json and is the version used with L5

Should be a quick change - 2secs


[WIP] Add andFail() method to handleFind()

This pullrequest implements issue #84 it adds the same andFail() method chaining functionality that is already implemented for PUT and DELETE requests to the handleFind() test-helper.
TODO:

[ ] fix specs
[ ] update comments to reflect new method

@danielspaniel somehow the specs are failing, I'm not sure why but the error callback of the promise isn't resolved.
not ok 105 PhantomJS 1.9 - FactoryGuyTestHelper with DS.RESTAdapter : #handleFind failure with andFail method
    ---
        actual: >
            false
        expected: >
            true
        message: >
            failed, expected argument to be truthy, was: false
        Log: >
            INFO: requestConfig set
            INFO: andFail is called
            RESPONSE: {"created_at":null,"description":"Text goes here","camelCaseDescription":null,"snake_case_description":null,"company":null,"group":null}
    ...

As you can see the response is as what we'd expect in case the `andFail()` was not present. so somehow the succeed flag isn't set properly, or the handler is called before the `andFail()` method has set succeed to false.

I'm having the feeling that I miss something very obvious, could you weigh in on this ?

@danielspaniel that won't do, because somehow the promise resolves the success callback, without the done() statement in the success callback the test will hang, resulting in the following error:
not ok 105 PhantomJS 1.9 - FactoryGuyTestHelper with DS.RESTAdapter : #handleFind failure with andFail method
    ---
        actual: >
            null
        message: >
            Test timed out
        Log: >
    ...

right .. well, the problem then seems to be that the request should fail, and it's not, which means maybe your request mock is not catching the request? can not exactly tell without running this test myself and checking it out.  If you can't figure it out today, I will work on it tomorrow.

yeah seems that for whatever reason the request is not catched by $.mockAjax I'll look into it some more, when I'm stuck I'll let you know

Hi @alexanderjeurissen .. I am working on this now, and I see the problem.
You could help me a ton by telling be your use cases for handleFind  ( success and failure ) , since I may change this functionality around based on how it is really used.
I can see it for testing reload .. of model you have.  But for the rest of the cases I am a bit unclear.

Hi @danielspaniel , I've been busy lately and haven't found time to fix this PR. I'm curious as to what the problem was ?
I'll gladly provide you with some use-cases / specs where we are currently using the handleFind method.
usecase 1 (handleFind success):
test('create new path and redirect', function () {
  expect(1);

  visit('/paths/new');
  fillIn('.path-header > .inner > input', 'Javascript Ninjas');
  fillIn('.path-header > .inner > textarea', 'Become a ninja at JavaScript');

  click('button.button-save');

  testHelper.handleCreate('path');
  testHelper.handleFind('path', {
    id: 1
  });

  andThen(function () {
    expectRouteToBe('path.index');
  });
});

this spec uses the handleFind to make sure the store contains a path because after saving a new path the app redirects to the index route to show the newly created path.
usecase 2 (handleFind failure):
test('renders not-found page for nonexisting ids', function () {
  expect(1);

  visit('/products/1');

  testHelper.handleFind('product', {id: "1"});

  andThen(function () {
    expectRouteToBe('not_found'); //custom helper that checks if currentPath() equals X
  });
});

here we want to test if our router correctly handles redirecting to a not_found aka 404 route in case a resource is requested that does not exist.

Thanks @alexanderjeurissen .. these examples were very helpful.  What I see is that I have made some mistakes in how I assumed handleFind would be used. I was creating a model and placing it in the store in the handleFind method ( which is why the ajax call is never made.)
So, for your first example that would actually be bad, since you don't want another model, you want the one you just created.
But in that case actually .. you don't need to say handleFind after a handleCreate, since the store will ( after the handleCreate/ or createRecord/ save  events will now have that model you just created.
No need to handleFind, since the store already knows it has it and will NOT do an ajax call to get it.
Therefore you don't need that handleFind  ( correct me if I am wrong .. or you find that you need it )
The second case is what I figured would be the traditional one, and knowing that .. I will now fix the and fail to work in these traditional cases.
I was trying to make handleFind too fancy before, and I will strip it down to be more basic.

@alexanderjeurissen, version 1.0.10 has the andFail method working


Transparency on Windows

set transparency=5          " Make the window slightly transparent
This is a MacVim only option.

This has been resolved in the latest release.


xml parse multibyte UTF8 string with invalid result

An invalid value is produced when multibyte char is present in XML file.
Altough it seams to be handled in:
https://github.com/miqwit/dedex/blob/76e150b35adb7652eddcb95c261b9b920866c095/src/Controller/ErnParserController.php#L450-L454
there is still an issue because the preceding value to which the new value is concatenated, was trimmed here:
https://github.com/miqwit/dedex/blob/76e150b35adb7652eddcb95c261b9b920866c095/src/Controller/ErnParserController.php#L606
thus removing the whitespaces that might be between them.
Current code works fine if special char is not preceded by whitespace (eg: Juan García) but produced wrong value if it is (eg: Juan Ávila results in JuanÁvila)

Thank you for raising this issue. It's quite specific. I don't really understand your example with Juan García and Juan Ávila, can you be more explicit? I understand the code is removing important spaces, but I don't get the cases where it works fine, then (I suppose it works fine most of the time for artist names).
Thanks for your additional help.

I've made a branch with a sample (and updated test case) at: https://github.com/miqwit/dedex/compare/master...ignacioalles:dedex:utf8
I can make a pull request if you want but I didn't have a fix for it yet.

The bug arises if a character to trigger xml_parser to split the callbacks is preceded by a whitespace or not. In the examples I provided in previous message I tried to illustrate the case, where the letter A with accent (Á) is the first letter of the second word while the letter I with accent (í) is in the middle of García.

I'm closing the issue and I can confirm that is released version 2.0.7 solves my case.


Make an handleEsc which will go to the original state of the date

Is your feature request related to a problem? Please describe.
Sometimes I accidentally change the input as I am using it as a text field. It would be nice to undo all those changes by pressing the Esc button on the keyboard.
Describe the solution you'd like
Using the @keydown.esc, call a the function handleEsc (like the handleEnter and handleTab) which then goes back to the state before the focus came onto the input field.
Additional context
Feedback on the issue is welcome, as it is my first time on a open-source project.

This is kinda redundant, as the input is a text input field, you can just use browser undo.


Invalidate updateProgress timer after the completion of video export

Hi, Thanks a lot for this handy plugin.
I found out some update progress issues that came from original plugin, flutter_compress_video.
When you compress multiple videos in a row, the update progress might not be correct. The reason is that the timer from previous compression is still active as long as you hadn't cancel it or you hadn't set deleteOrigin true. Therefore, you could get multiple progress update from current and previous timers during the compression, and this delivers incorrect progress values.
For example, when you are compressing your third video after compressing 2 videos, you could get 3 progress updates from 3 different timers within a given time interval. If you are compressing more videos, the number of active timers will keep increasing.
I fixed this timer issue in this PR.

Thanks, LGTM


utils.resource_manager: ignore bandit B601 check

Bandit reports 'B601: paramiko_calls' issue with code using paramiko's
exec_command call, variables in commands have been shlex.quoteed,
it should be safe and we can ignore the B601 warnings.
Signed-off-by: Qixiang Wan<EMAIL_ADDRESS>Maintainers will complete the following section

[ ] Commit messages are descriptive enough
[ ] Code coverage from testing does not decrease and new code is covered
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request has a link to an osbs-docs PR for user documentation updates
[ ] New feature can be disabled from a configuration file

is_operational passes an unquoted self.slots_dir to ssh run. It would be really hard to shell-inject through that, but IMO we should quote it anyway

Fixed :)


Update C++ Question & Answer.md

The word "source" has been added to improve the understanding of the phrase.

Fixed link to program download page.

The word "source" has been added to improve the understanding of the phrase.

@NisarLDev
Can you implement this changes on my NEW Account
https://github.com/The-Young-Programer/C-CPP-Programming

Fixed link to program download page.

@NisarLDev
Can you implement this changes on my NEW Account
https://github.com/The-Young-Programer/C-CPP-Programming


Missing 1 ruling at the top of table

Hi contributers,
After extracting table from ObjectExtractor class, I tried to debug then see that ruling list does not contain the line at the top of table.
The table is at page number 11.

closed


[script] Simple fix of typo from JobManager to TaskManager in taskmanager.sh file

Very simple fix for typo on comment in the task manager.sh file.
From JobManager to TaskManager.

The failed test should not be caused by this simple change.
Will merge unless anyone has comment by end of day.

looks good to me...

Thanks @StephanEwen , have merged the change.


Secure Shell Protocol (SSH)

Do NOT copy/paste a definition from somewhere else. Read about the word you want to define and come up with your own definition. Copy/Paste submissions will be closed and not added.
Fill out the JSON with your submission:
    {
    "word": "Secure Shell Protocol  ",
    "content": "A cryptography based network protocol to establish connection with a server-client architecture to access a remote computer along with user authentication.",
    "learn_more_URL":"https://en.wikipedia.org/wiki/Secure_Shell",
    "tag":"Linux",
    "abbreviation": "SSH",
    "author_name":"Sandeep Tripathi",
    "author_link": "https://www.linkedin.com/in/sandeep-tripathi-a7088a71/"
    }

Fill out the JSON below with the following.
Word (REQUIRED)
The word you are defining. Check this URL for all words we currently have.
Content (REQUIRED)
The definition. No more than 3 sentences.
learn more URL (REQUIRED)
Website where people can visit to learn more about the word.
tag (REQUIRED and select one)
Tech category the word fits in. Options:

compute
security
service
general
analytics
developer tool
web
networking
database
storage
devops
ai/ml
identity
iot
monitoring
cost management
disaster recovery

abbreviation (OPTIONAL)
If the word is commonly abbreviated, please provide it. For example, command line interface is often abbreviated as CLI.
author name (REQUIRED)
Your name.
author link (REQUIRED)
The URL you want your name to link to.

Added, thank you :)


(automatically) update image

I'd like to use this image for my own AUR builds. However, the base of this image is already quite dated now. Any chance to get some automatic updates to this image to ensure that builds are created with an up to date archlinux?

Nice, that was quick :)


COG Mime Type Recommendation

I am not sure this is the most appropriate place to ask this, so, please feel free to direct me elsewhere.
What is the recommended mime type for a cloud optimized geotiff? Additionally, is there an application / RFC in the works to register an "official" COG mime type with IANA? I am aware of image/tiff introduced by RFC 3302, however it seems desirable to distinguish between COGs and GeoTiffs / non-GeoTiffs.
Thanks in advance!

My question is related to https://github.com/opengeospatial/geotiff/issues/34.

image/tiff; application=geotiff; profile=cloud-optimized
see https://github.com/opengeospatial/CloudOptimizedGeoTIFF/issues/1 https://github.com/cogeotiff/cog-spec/issues/13


rafthttp: support to stop stream server quickly

@yichengq Can we close this? Should be handled when you refactor the rafthttp, right?


How to use on Hass.IO

Hi, this isn’t a bug but wasn’t sure how else to send this information. I found this container:
https://github.com/Tecnativa/docker-socket-proxy
I installed it on hass.io using the terminal and was then able to connect to it using docker monitor. Working great and thought I’d share. Thanks!

Thanks for testing & reporting it, I will add it to the Q&A section of the README for other hass.io users.

It is added to the Q&A, so i can close this one.


Use non-null assertion

It's safer to use non-null assertions over unnecessary type assertions in TypeScript, since type assertions are bivariant.
-ReactDOM.createRoot(document.getElementById('root') as HTMLElement))
+ReactDOM.createRoot(document.getElementById('root')!)

Here are some practical advantages of using non-null assertions to render React elements:

Readability of using the right syntax to assert a non-null value
Discouraging use of as which many TypeScript beginners may not understand the dangers of
You won't get a type error if you render to an Element that isn't an HTMLElement, such as <svg>/SVGSVGElement
You will get a type error if you render to a value that isn't always an Element, such as Element | boolean

It seems like the integration tests timed out, which probably isn't related.


Disable GitHub Actions fail-fast

This lets us see all the possible problems across the entire CI matrix rather than cancelling all the jobs as soon as any one fails.

I have no idea why Ubuntu / Python3.9 fails at pip install libroadrunner. I tested that same combination locally and it works fine. You can observe that the wheel does exist on pypi.

I have no idea why Ubuntu / Python3.9 fails at pip install libroadrunner. I tested that same combination locally and it works fine. You can observe that the wheel does exist on pypi.

reran tests, looks like the libroadrunner failure was transient.


allow event name to be an ES6 Symbol

because now it fails with Uncaught TypeError: Cannot convert a Symbol value to a string.
ES6 Symbols reference.

Coverage remained the same at 100.0% when pulling b27edc365d2024f3f541c0afad988f6cc28aa3fb on deepsweet:symbols into eec62c4a5f85423b4865d752bbbd678aa5add3b8 on primus:master.

I think it would make more sense to inline this instead of using a function call so there is less performance overhead.

no problem. I'll squash and rebase if everything is ok for you now.

Coverage remained the same at 100.0% when pulling f01c9d3f84bdf4b0bc7854dbe5299baf9416aa8b on deepsweet:symbols into eec62c4a5f85423b4865d752bbbd678aa5add3b8 on primus:master.

Coverage remained the same at 100.0% when pulling f01c9d3f84bdf4b0bc7854dbe5299baf9416aa8b on deepsweet:symbols into eec62c4a5f85423b4865d752bbbd678aa5add3b8 on primus:master.

LGTM.

nice.
could you please publish new version? we are stucked with @0.1.6 because of this.

Gotta write a test against this before I'm going to release a new version. But that should be done in like 5-10 min

Published a new version which includes these changes.


feat: Implementation of Central CMS

Description
This PR introduces the Central CMS application, built on Payload 3.0, designed to manage content across multiple full-stack applications.
Fixes #885
Type of change

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

Screenshots

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation

@m453h files changed too many to review at 1 go. Couldn't we have started with 1 app (say roboshield in a separate PR) then open another PR for codeforafrica against the first PR?
I am also open to other suggestions.

I totally feel your pain 😢. I kept the two apps to demonstrate how the multi-app setup would work. I actually reduced the scope by excluding some CivicSignal collectoins/blocks because it was becoming too large, you can first confirm if the functionality works as intended locally before we decide to remove them (if necessary)


Please add *.vault.azure.net for Key Vault

[Enter feedback here]
List is Missing *.vault.azure.net for Key Vault
May be private links too?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 790ff17b-0306-897d-f0df-59dd92441426
Version Independent ID: 6bfac7c1-8909-73f9-4212-26cc7ffaaa81
Content: Reference list of Azure domains
Content Source: articles/security/fundamentals/azure-domains.md
Service: active-directory
Sub-service: domain-services
GitHub Login: @memildin
Microsoft Alias: memildin

@rozzamozza
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.


[/Hunts] Gen 9 Evolution - Floragato

Despite changelog reporting that Gen 9 starters and there evos will no longer appear in hunts post server restart, A Floragato has appeared in the mythical tier hunt.

Use /hunts
Get a rare Gen9 in Hunts

See Error

For no Gen 9's to appear in /hunts
Orion, maybe all?

Can confirm in Titan as well

Fixed as of next restart.


[Bug] heading level links no longer functioning after update

Hello. I noticed after the most recent round of updates that whenever I create new links to a header within a page, the resulting link on my site generates a /404 error page instead. Any old header-level links previously published are still working normally, even on pages that I then edit and re-publish. For some reason, it is just any new links since updating that do this.
For example, this link:
[[Aspects of the Force#Control|Control]]
returns a /404 page on site, but only if I added this link to a page after updating. Any pre-update links of the exact same format still work fine. Similarly, the following also still links as normal, so it appears to just be a header-level issue and not a display link issue.
[[Aspects of the Force|Control]]
Not sure if anyone else has run into this issue, but my attempts at troubleshooting haven't worked out.

bump

bump

I'm not sure if anyone else has had greater success, but I at least am still getting a /404 page. 😅 I did a bit of testing and tried out just a header link with no display, i.e. [[Aspects of the Force#Control]], and this style of link also appears to be broken so I think it is still the header links that are causing the break. I did some more testing with brand new pages and headers and had the same issue.


enhance histogram quantile function to handle data loss

Assume we have quantile calculation expression like histogram_quantile(0.99, sum by (le) (irate(read_request_latency_bucket{app="thanos"}[5m]))), and there are some data loss for partial buckets (which means that higher bucket count migh be smaller than lower bucket count since irate is the per second rate of change at the end of the time window and higher bucket and lower bucket timestamp are not aligned). To avoid generating abnormal histogram quantile value, we can enchance the function by replacing the higher bucket count with next bucket count if it is smaller than lower bucket count.
Signed-off-by: xiancli<EMAIL_ADDRESS>

How is this data loss occurring?

Different buckets are different time series (le=0.01,le=0.025,le=0.05,le=0.1,etc.), one of the time series loss could happen while scraping or tsdb has problems.

I'm interested in how this happens, as scrape ingestion is atomic. Let's fix the root cause, rather than a symptom.

Which client library (and version thereof) has been used to create the histogram on the target side?
(There had been issues with non-atomic updates of the buckets. In client_golang, they were fixed in v0.9.)

I'm closing this for lack of follow-up.
The problem that this PR tries to address should be solved at its root. The most likely candidate is (if not a buggy client library as discussed above) the lack of atomicity during ingestion. That would be #1893, and the stale PR to solve it is https://github.com/prometheus/tsdb/pull/306 . I'll talk to @gouthamve and see how we can revive it.


KOGITO-3655: Implement cells keyboard navigation and editing

This adds the keyboard navigation to the DMN Boxed Expression Editor
https://issues.redhat.com/browse/KOGITO-3655

Thank you for your comments, @jomarko.
I understand the issue of using indexes, I will try to rewrite my tests making more use of ouiaId() and contains() now to make it more readable.
Online-Editors always saving
Thanks a lot for noticing it, this will be my priority.
Copy and Paste scenario
I can open the context menu if the user press enter on the first cell of a row. Do you agree?
I can do it in this PR.

@fantonangeli thank you.
Regarding Copy and Paste scenario I think we do not understand each other. Please try to do folowing using new boxed expression editor

open a decision table that
drag a rectangle by mouse over input column cells , to select them
press CTRL+C
click the first output column cell to select it
press CTRL+V

input column cell values will be pasted correctly into outputput column cells. The problem is, that values will be not pasted, if user select the output cell by keyboard arrow keys, instead of mouse click. We can have a call to demonstrate better if you wish.

Hi @jomarko
I had a look at the code, my suggestion would be to do the copy&paste with a different Jira issue and a different PR.
Because other interactions are involved there.
Please, let me know your opinion

@fantonangeli sure, I created https://issues.redhat.com/browse/KOGITO-6719

Hi @ljmotta,
thanks for your review and your suggestions.
Regarding the keyboard navigation, I followed the old version, replicating its behaviour.
At that version, we only have the arrow keys navigation and in the new one, we only have the tab navigation for textareas and not all cells.
In the Jira issue https://issues.redhat.com/browse/KOGITO-3655 we want to navigate regular cells with arrow keys and tabs.
If I keep the previous behaviour for tab keys we will have 2 different behaviours:

arrow keys can navigate every cells, then press enter to enter edit mode. Same as old editor
tab keys can navigate only textarea cells going directly in edit mode

After this task there is https://issues.redhat.com/browse/KOGITO-6608
In that Issue I will implement the keyboard navigation for header cells. The tab key will have to navigate on that cells, then press enter to open the context menu (differently from textarea cells).
My suggestion would be to keep the same behaviour for tabs and arrow keys, like a Google Spresheet.
Please let me know your viewpoint.

I got @ljmotta point: after the user pressed the tab, it was immediately possible to edit the next cell.
I also got the point from @fantonangeli about replicating what was happening in the previous editor. For sure we need to be consistent about the experience with tab and arrow keys.
Let's wait for @jomarko to see what is his opinion about the expected behavior. Maybe we can keep as a first stage the previous editor's experience and then trace an improvement for having a stylesheet experience as @ljmotta has described.

@fantonangeli Thanks for your clarification.
If the idea is to replicate the stylesheet experience, we should make it possible to edit a cell by pressing any "input" key if it was already selected. With this PR we have two different behaviors for the selected cell:

If it was used a click to select a cell, it's possible to edit it using any "input" key;
if it was used an arrow or tab key to select a cell, It's necessary to use the enter key to be able to edit it.

Also, a stylesheet uses two behaviors for tabs and arrows.

arrows and tabs to move around if it's not on edit mode.
tabs to move even if it's on edit mode.

@vpellegrino The actual behavior (before this PR) is already similar to the stylesheet experience. The tab and click already work as expected. My two cents is that I believe we would be doing a regression by changing it to the old editor behavior and then updating it again afterward.

@fantonangeli @jomarko @vpellegrino @ljmotta  Let's tackle this together guys, in order to agree the best implementation.
Quick call / chat tomorrow?

@yesamer Looks good to me.

Just keeping a note here that today we updated the points in the Jira task
https://issues.redhat.com/browse/KOGITO-3655

Thank you @vpellegrino
Thanks a lot for your points:
I agree with point 1, but because there are different types of context menus and select input, I think it should be covered by a different PR. Maybe I'm wrong but this also looks a bit "out of scope" for this task.
Before that PR it can be better to finish KOGITO-3655 that I already started.
Regarding point 2: I didn't know this particular case about PMML. I will do it with priority because I noticed a bug in this case: if you open the select input, the keyboard navigation it's not blocked.
Because of this bug, I convert now this PR into a draft and fix it.
Thanks again for your reviews.

@fantonangeli thank you for updates, I found this point I think worth to discuss. As the PR is openend quite a long time I think also valid, if you say should be handled separately later.
I tried this simple scenario:

select cell
edit its value
press Tab to confirm changes and move to other cell
Start edit just by keyboard again

If I compare this behavior directly in DMN expression vs DMN Runner. It behaves differently.
In my screenshot:

I Typed 651 into FICO column
Pressed Tab
Tried to start edit Age by (Enter, just start typing) but it didn't start edit mode. Surprisingly repeated Tab press started Age edit mode

Is that expected?

Hi @jomarko
After some investigation, I found the bug: the keyboard-shortcuts package catches the keyboard events preventing the table to listen to that event.
Because my knowledge of the full project is still limited, I don't know the implication of that particular line of code. I will need to ask someone.
There is still work to do for the keyboard navigation to the DMNRunner on the unitable package, mostly to interact with its inputs.
I think we can in the meantime merge this PR that it's related to the boxed-expression-component package and then work to the DMNRunner which seems a separate work.
Do you agree? I would also ask the opinion of @vpellegrino and @yesamer

@fantonangeli what you are saying sounds fine from my point of view.
Just waiting for @ljmotta, for his point of view about https://github.com/kiegroup/kie-tools/pull/825#issuecomment-1041381036

@fantonangeli The keyboard-shortcuts is an API that handles keyboard events in the envelope (the Editor). To summarize, it catches the events and bubbles them up to the channel (in this case, the KIE Sandbox). It would be strange that the bug origin is in the keyboard-shortcuts as the DMN Runner Table resides in the channel. Also, if you have any questions regarding the codebase, feel free to reach m. I'll do my best to answer them. :grinning:
After performing some tests, I found that the bug cause is on the TableBody, but I couldn't tell where exactly. It's possibly missing a custom behavior for the DMN Runner Table on the tdBaseProps.
Regarding improving the navigation for the DMN Runner Table, I think it's ok to have another PR.

@ljmotta
What I found is the line 38 of "kie-tools/packages/keyboard-shortcuts/src/channel/Hooks.tsx"
 const stopPropagation = (ev: KeyboardEvent) => {     ev.stopPropagation();   };
Commenting on it I saw that TableBody was receiving the keyboard events. But commenting it, probably will create some bug elsewhere and we need to do it in a different way.

@fantonangeli
Just correcting myself. The keyboard-shortcuts catch the keyboard events from the channel and passes them down to the envelope (previously, I wrote the wrong flow).
Indeed, this line is stopping the propagation of all keydown, keyup, and keypress events inside the selector nodes. The expected behavior was to stop only events from the channel to the envelope. This was done to avoid shortcuts being fired from inside the table. So you're right. Removing it will create some bugs :sweat_smile:. I've created a JIRA to address this issue.
Still, regarding the keyboard-shortcuts, the IGNORED_TAGS constant shouldn't contain layout tags, such as TD. It will disable keyboard shortcuts from all TD tags in the channel. We can have a TD element on another component, and the keyboard shortcuts will not fire.
I took a deeper look into the tab issue. Removing the suggested line will fire the onKeyDown method from the tdBaseProps, but it will not work. After some testing, I've removed the tabIndex property from the tdBaseProps, and it worked even with the stopPropagation. I'm not sure why the property is required, but I believe we can disable it for the DMN Runner Table, WDYT?
Also, while doing these tests, yarn start --env live wasn't working. Firstly due to a miss typing. I can open a PR to your branch providing the fix if it's ok. Secondly, due to the casting using the <> operator. In this project, we use the as Type to cast because of the conflict with React tags.

@ljmotta
Thank you for your very interesting and useful comment!
"have a TD element on another component"... do you mean in a separated component?
I put TD in IGNORED_TAGS because keyboard-shortcuts was catching the arrow keys and continuously saving. Would you some suggestions to do it in a different way?
I used TABINDEX on TD tags to make them focusable, otherwise, I cannot use the :focus CSS selector.
Good to know about as Type casting, thanks.
Thanks again for your comments, please feel free to open a PR on my branch or if it's just about the castings I can do it easily ;-)

@fantonangeli
Yes, in any other component on the "KIE Sandbox" or any other channel that uses the keyboard-shortcuts to send keyboard events to the envelope.
I'm going to investigate why this is happening. As far I see, this doesn't happen on the Stable version. Another thing that I've observed is the arrows are moving the selected node behind the Boxed Editor. This is why the "save" action is triggered.
What I suggest to fix the DMN Runner Table tab issue is to pass down the isRunnerTable property on the BoxedExpressionGlobalContext, and consume it on the TableBody. Then remove the tabIndex property on the tdBaseProps in case isRunnerTable === true.

@ljmotta
Thanks a lot for your help.
If I remove the tabIndex for the DMN Runner, we will not have the blue border for the selected cell.
Is that ok for that particular case?

@vpellegrino @fantonangeli @yesamer @danielzhe hello.
I am sorry. I struggle to check VS Code extension as I promised here https://github.com/kiegroup/kie-tools/pull/825#pullrequestreview-884816232.
I am not able to open any DMN file.
I tried to install vsix:

downloaded from github action CI result of this PR
built locally on main branch as: yarn build:prod:until vscode-extension-pack-kogito-kie-editors
built locally of kie-tools#825 PR branch as: yarn build:prod:until vscode-extension-pack-kogito-kie-editors

Is it only me or do we have a blocker please?

@jomarko do you have the chance to try the vsix produced from the main branch?

I fixed the problem for the tab in the DMNRunner. But there is still the need to do the full keyboard navigation for the DMNRunner in a different PR. I used the tabIndex set to '-1'.
@ljmotta I converted all the castings in FocusUtils.ts.
For the future, we can evaluate to set the tsconfig.json with: no-angle-bracket-type-assertion.
https://palantir.github.io/tslint/rules/no-angle-bracket-type-assertion/

@fantonangeli
After some research, I understood what is happening with the shortcuts. I found this enlightening blog post explaining how React events work under the hood.  :tada:
The keyboard-shortcuts utilizes event listeners attached directly to the DOM. These events are going to be triggered before the onKeyDown prop because React sends the events to the root node and then sends them to the target node.
So what we have is a project limitation. To remove the TD from the IGNORED_TAGS, we need to use events attached directly to the DOM instead of utilizing the onKeyDown prop. With this in place, we can isolate all key events from the Boxed Expression Editor using the same hook that is used on the DMN Runner Table. I will open a PR to your branch with a possible solution, feel free to change anything you want.
Another thing that I've realized with this PR is when we select a cell using a mouse, we select the textarea if it's a data cell of the Relation Expression or Decision Table Expression, we select an input on the DMN Runner Table. Utilizing the navigation, it always selects the TD of the next cell and not what is inside of it, like the mouse click. This can look harmless, but this will change the functionality of the "Tab" key on the DMN Runner Table.

@ljmotta
Thank you very much for your help.
This solution was very difficult to find. I used the logic on TD listening because I have many different cases and different actions to manage. It was also not easy for me to communicate from the TD to the component inside the cell, due to the structure of the react-table.
Unfortunately, I didn't know the DMN Runner was using our Table component and this PR would have affected that.
After this PR I will have to manage also the header cells keyboard navigation with colspans/rowspans, and this will add more cases to the list.
With this in mind, I wanted to keep the code as simple as possible with all the logic called from TableBody component.
I'm open to evaluating together other solutions.
Thanks again for your PR, I only changed the command to test the TAB key with Cypress.

Is this good to merge? @ljmotta @yesamer @vpellegrino

@fantonangeli
Indeed, it doesn't look like a simple solution, and the project is very complex, with many dependencies and packages. So don't worry about not knowing everything, you will catch it in time.
Regarding the DMN Runner Table, it is still one downgrade to be fixed. Now that the onKeyDown method is used by the DMN Runner Table, the Tab shortcut stopped working one more time, it focuses on the next cell, but it's not possible to edit it. This happened because the "focus" methods use exclusively td elements for the "nextSibling". Maybe, it's necessary to check the type of element that triggered the action and focus on the next sibling that is equal to the target.

@ljmotta
To temporarily fix this downgrade, I wrote a simple option to disable the Keyoard Navigation from the DMNRunner.
You can test it in the last commit.
After this PR is approved we can continue working on the Keyoard Navigation on the DMNRunner in the issue below with another PR.
https://issues.redhat.com/browse/KOGITO-6791

@fantonangeli Can you please resolve the above conflict? ^

@fantonangeli Thanks a lot for this fix.

@fantonangeli can I merge this?

@yesamer yes, please.
From my viewpoint, it's ready to be merged.


Fixed hash in relp input add_field

repl ingestor starts fine after this fix.

Thanks for this!

@t2sa - I can't seem to find a Contributor's License Agreement from you - see https://github.com/logsearch/licensing for details - are you submitting this change as an individual or part of a company?
Feel free to contact me on<EMAIL_ADDRESS>if you'd prefer to have this conversation in private.

@t2sa I'm sorry; but we've had to "unmerge" this PR until we get a signed CLA from you.  As soon as we have that on file we'll merge this PR again.

Resolved by separate PR without CLA problems - https://github.com/logsearch/logsearch-boshrelease/pull/232


Trying to fix the endian issue

@gunnarmorling Can you check this works? I've tried to fix the endianness issue, as usual "it works on my machine"
It is currently running in ~2.9 seconds on my MacBook Pro, would love to see the server results, it's been a while 💯

@royvanrijn, could you please take a look at the test failures reported by
./test.sh royvanrijn

And remove the "test failure" label once done? It's a test suite we've added today to catch some corner cases. Thx!

I'd love to remove the label, but I have no idea how haha; the code is fixed...

@royvanrijn, something still seems wrong:
Validating calculate_average_royvanrijn.sh -- src/test/resources/samples/measurements-10.txt
./calculate_average_royvanrijn.sh: line 18: sdk: command not found

real	0m0.311s
user	0m0.694s
sys	0m0.168s
Validating calculate_average_royvanrijn.sh -- src/test/resources/samples/measurements-1.txt
./calculate_average_royvanrijn.sh: line 18: sdk: command not found

real	0m0.162s
user	0m0.358s
sys	0m0.100s
1c1
< {=19.8/19.8/19.8, Kunming=19.8/19.8/19.8, g=19.8/19.8/19.8, ing=19.8/19.8/19.8, ming=19.8/19.8/19.8, ng=19.8/19.8/19.8, nming=19.8/19.8/19.8}
---
> {Kunming=19.8/19.8/19.8}
Validating calculate_average_royvanrijn.sh -- src/test/resources/samples/measurements-20.txt
./calculate_average_royvanrijn.sh: line 18: sdk: command not found

real	0m0.163s
user	0m0.344s
sys	0m0.080s
Validating calculate_average_royvanrijn.sh -- src/test/resources/samples/measurements-2.txt
./calculate_average_royvanrijn.sh: line 18: sdk: command not found

real	0m0.149s
user	0m0.361s
sys	0m0.076s
1c1
< {-Kamchatsky=9.5/9.5/9.5, Bosaso=19.2/19.2/19.2, Petropavlovsk-Kamchatsky=9.5/9.5/9.5, hatsky=9.5/9.5/9.5, lovsk-Kamchatsky=9.5/9.5/9.5, y=9.5/9.5/9.5}
---
> {Bosaso=19.2/19.2/19.2, Petropavlovsk-Kamchatsky=9.5/9.5/9.5}
Validating calculate_average_royvanrijn.sh -- src/test/resources/samples/measurements-3.txt
./calculate_average_royvanrijn.sh: line 18: sdk: command not found

real	0m0.152s
user	0m0.366s
sys	0m0.077s
1c1
< {Bosaso=-15.0/1.3/20.0, Kamchatsky=-9.5/-9.5/-9.5, Petropavlovsk-Kamchatsky=-9.5/0.0/9.5, chatsky=9.5/9.5/9.5}
---
> {Bosaso=-15.0/1.3/20.0, Petropavlovsk-Kamchatsky=-9.5/0.0/9.5}
Validating calculate_average_royvanrijn.sh -- src/test/resources/samples/measurements-boundaries.txt
./calculate_average_royvanrijn.sh: line 18: sdk: command not found

real	0m0.143s
user	0m0.336s
sys	0m0.087s
1c1
< {Bosaso=-99.9/-99.9/-99.9, Petropavlovsk-Kamchatsky=99.9/99.9/99.9, chatsky=99.9/99.9/99.9, k-Kamchatsky=99.9/99.9/99.9, ky=99.9/99.9/99.9, vlovsk-Kamchatsky=99.9/99.9/99.9}
---
> {Bosaso=-99.9/-99.9/-99.9, Petropavlovsk-Kamchatsky=99.9/99.9/99.9}

(ignore the sdk not found stuff)

YES! All passing now and LGTM. 00:12.685, close 2nd after @spullara! Merging.
I couldn't quite pay attention yesterday, were tere more things discussed in your first PR which still could bring some improvements?


KTXBZ file got extracted but not the PNG (macOS)

Getting this error while extracting some files. The KTXBZ file gets extracted, but not the PNG.
Extracting Locksmith1-hd.ktxbz. Size = 11416, offset =<PHONE_NUMBER>
Inflating...
Decompressing BPTC texture...
thread 'main' panicked at 'Contexts must be destroyed explicitly with `destroy_context`!', /Users/myusername/.cargo/registry/src/github.com-1ecc6299db9ec823/surfman-0.4.3/src/platform/macos/cgl/context.rs:95:13

Note: Build was compiled with "decompress_ktx"

With the latest build, I am now getting a PNG file for some KTXBZ. The files have the width and height defined but are empty. No error is shown on the console.
As an example Locksmith1-hd.ktxbz is 4.5MB and the Locksmith1-hd.ktxbz.png is 70KB. Image below:

Try now with the latest build. I've replaced "surfman" for context creation with "glutin". Perhaps this will work better on macOS.

No change. I still get an empty PNG. Same size as before.

Adding Help Wanted label, if anyone using a mac wants to help, feel free.

There's a new branch "glfw" that uses GLFW and glow to build a context instead of the glutin library. Maybe you'll have more success with that!


sztp: use postgresql

Fixes #104
Signed-off-by: Boris Glimcher<EMAIL_ADDRESS>

I'm adding a DB in #105 so should we combine these two so we have only a single DB container?

no, because this provisioning DB is outside xPUs while your API gw is probably inside xPU if I understand it correctly