Custom stored procedures with variable number of parameters

Support custom commands (stored procedures) with a variable number of parameters. This can be used to implement commands such as a custom MSET variation that takes expiration as an argument.
Example of MSETPX is included in the PR here: https://github.com/microsoft/garnet/blob/ecbddd2c09b196cb19cdb67005f7ccc92192c214/main/GarnetServer/Extensions/MSetPx.cs
Example usage: set 5 key-values pairs with an expiration of 60 seconds (60000 milliseconds):
MSETPX 60000 key1 value1 key2 value2 key3 value3 key4 value4 key5 value5

Contributes to https://github.com/microsoft/garnet/issues/366

Added example for multi-get, where values match a specified prefix. Example:
<IP_ADDRESS>:3278> mset key1 com/value1 key2 org/value2 key3 edu/value3 key4 com/value4
OK
<IP_ADDRESS>:3278> mgetifpm com key1 key2 key3 key4
1) "key1"
2) "com/value1"
3) "key4"
4) "com/value4"


Set applicationDefaultJvmArgs default value to stdout.encoding=UTF-8 on Windows

Current Behavior
In JEP 400, since Java 18, file.encoding on Windows is now UTF-8. However, stdout and stderr remain Windows locale dependent, so running the Application plugin will result in garbled characters regardless of the chcp setting.
Expected Behavior
To address this issue, stdout.encoding and stderr.encoding have been officially added to the JDK since Java 19. The expected default values for JVM arguments in the Application plugin are.
application {
    applicationDefaultJvmArgs = ['-Dstdout.encoding=UTF-8', '-Dstderr.encoding=UTF-8']
}

Context
Prior to Java 19, stdout.encoding and stderr.encoding do not exist, so there is no effect on older versions.
Related Issues
#19235 Unicode Encoding Problems on Windows
#19952 Application plugin should set terminal codepage and file.encoding to UTF-8 by default on Windows
#20267 JDK 18 System.out Encoding Problems
Steps to Reproduce
public static void main(String... args) {
    System.out.println("👍");
}

:: Default Code Page
gradle run
:: UTF-8
chcp 65001
gradle run

Gradle 8.7
Java 21

If it is difficult to set the default value of applicationDefaultJvmArgs to -Dstdout.encoding=UTF-8 -Dstderr..., I think it would be useful to be able to pass applicationDefaultJvmArgs as an argument to gradle run as a system property.
I know that I can set the environment variable JAVA_TOOL_OPTIONS to something like stdout.encoding, but I would like to avoid it as it has a big impact on other projects.

The issue is in the backlog of the relevant team and is prioritized by them.

Note: when fixing that issue, make sure other issues referenced fixed as well.

The issue is in the backlog of the relevant team and is prioritized by them.
Note: when fixing that issue, make sure other issues referenced fixed as well.

I was following a tutorial on gradle, using version 8.7, when I ran into this problem and couldn't fix it for a long time. The official website says to add a gradle.properties to the root of the project and configure org.gradle.jvmargs=-Dfile.encoding=UTF-8. I tried, it didn't work, i also add below in build.gradle but also ditnt work:
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}

As a developer, I don't think a build tool that takes a lot of time to learn or solve problems is a good tool. Students can use this time to learn the most currently used spirng, and enterprise developers and framework developers can use this time to optimize code or develop new features. If the developer is an Android developer, you might want to work on gradle before you write hello world.
As a developer, I don't think a build tool that takes a lot of time to learn is a good tool. Students can use this time to learn the most current spirng, enterprise developers and framework developers can use this time to optimize business code, or to develop new features, if the developer is an Android developer, may want to solve gradle problems before writing hello world.
Most projects still use maven as a build tool, even though maven's xml is very verbose, even if you configure the jdk version, you need to write several lines of xml, and in order to implement complex functions, plugins take up a lot of space. Developers using long-winded maven can quickly write their first demo, while developers using gradle are probably still figuring out how to make gradlew build bug free at this point.

application {
    applicationDefaultJvmArgs = ['-Dstdout.encoding=UTF-8', '-Dstderr.encoding=UTF-8']
}

Alternative to the above
tasks.withType(JavaExec) {
	jvmArgs += '-Dstdout.encoding=UTF-8'
	jvmArgs += '-Dstderr.encoding=UTF-8'
}

For the Gradle wrapper, we could enforce stdout/stderr encoding to utf-8, if we could guarantee all utf-8 output from all builds, but I don't think this is always the case.
Gradle's a generic build tool and different applications built with Gradle may want utf-8 or not.  They can set the default in their build as necessary.


[dxvk] Use more threads for pipeline compilation

This will report 2 worker threads for 3 core CPUs.
Also, changes behaviour for 4, 6 and 8 cores/threads, and for cases when
non-power-of-2 concurrent threads reported (taskset,cgroups, ... ?).

Maybe it would be better if DXVK supported a taskset configuration variable to offload shader compilation to CPU cores not used by the rendering engine?
Also, how does it affect perceived game performance for different CPU scenarios? I'm having a 8-thread CPU which would make 6 compiler threads instead of 4. This would put more load during initial shader compilation (which would probably be fine) but also during running the game, stealing resources from other game threads (which would not block on shader compilation). Would it be a gain or loss in this case?

There's a good reason why the number of threads used for compilation on low core count CPUs is low. When compiling shaders, they can be loaded 100% for extended periods of time, which can lead to severe stuttering and low FPS when it occupies too many cores. Even on my 16-thread CPU the drop is quite noticeable in games like Shadow of the Tomb Raider.
As for taskset-like functionality, I don't like the idea, games can by default use all available cores so the only thing DXVK could do would to restrict its own threads to specific cores, which makes no sense. Also, wine AFAIK doesn't currently support the APIs required for that, and the same goes for thread priority support (lowering thread priority would be possible, but as of right now it just isn't going to work).
I can add a config option for the thread count, but I believe the default behaviour should remain as it is.

Actually, wineserver supports setting thread affinity. But games only use "SetThreadIdealProcessor" and that is a no-op in current wine. I partly implemented that by letting SetThreadIdealProcessor use CPU affinity, some game engines explicitly restrict some threads to one specific core. But I think that implementation is somewhat incorrect as Windows only uses it as a hint while setting affinity is a policy to follow. But it seems to do its job. The Linux scheduler should automatically prefer other cores for the remaining processes.
If DXVK supported anything like that, it should probably not do so by default but only by explicit request from the user. That way, the user could run the game on one set of cores and DXVK would compile on another set. This may make sense for AMD dual-die CPUs where it is known to get better performance when restricting a game to one CPU die. In that case, DXVK could stop calculating the number of threads and just use what the user provided with the configuration - accepting that a user shoots its own foot.

@doitsujin BTW:
https://github.com/wine-mirror/wine/blob/b78de971f674f7be8b078f0e7f14112a9a892f33/dlls/kernel32/thread.c#L477
It successfully goes through wineserver why submitting a proper request (using NtSetInformationThread()), that finally results in setting the affinity via a Linux syscall:
https://github.com/wine-mirror/wine/blob/b78de971f674f7be8b078f0e7f14112a9a892f33/server/thread.c#L463

@doitsujin
Yes, please add a config option.

@doitsujin Here's a simple and hacky proof-of-concept:
https://github.com/kakra/dxvk/commit/c08b9da839b7d4b2bdae436ccfae2292bb4e4922
It doesn't really improve anything in-game as far as I could test yet. But I no longer have audio drop-outs during loading screens which is a somewhat nice side-effect. It's only compatible with winelib builds because wine still misses the background priority API for threads. If it had, we could exploit that. SCHED_BATCH seems to most closely match what Windows apps would expect from background scheduling.

Here's a test build including the SCHED_BATCH hack if anyone cares to test:
https://keybase.pub/hurikhan77/wine-proton-unofficial/dxvk-dist-wine-3.19-580-g723d54bf655.tar.xz
You need to set "PROTON_USE_WINED3D": "1" because DXVK is included as a winelib-builtin. Extract this to your Proton 3.16 folder (do not clear the folder, just extract into the existing folder, you may want to make a backup first).


Team has not been found. < plugin configured as per documentation

Good day I set up a self hosted Mattermost instance with this plugin enabled.
I have applied this config (with some pseudo values):
 "Plugins": {
        "com.mattermost.welcomebot": {
          "WelcomeMessages": [
              {
                  "TeamName": "myteam",
                  "DelayInSeconds": 3,
                  "IncludeGuests": false,
                  "Message": [
                          "My Welcome Message"
                      ],
                  "Actions": [
                      {
                          "ActionType": "automatic",
                          "ChannelsAddedTo": ["outofoffice"]

                      }
                  ]
              }
          ]
      }
  }

My team was created using mmctl and on initial startup.
The slug in the URL is perfectly matching the TeamName config, as well as checked the database for the value "name" in the teams table.
When I run: /welcomebot preview myteam
I get back: team myteam has not been found
Any assistance would be highly appreciated.

Hoping there is anyone that could assist with it. We have urgent need for this to work properly :-)


Fix pulsarAdminUrl supplied to Kubernetes runtime to correctly handle plaintext/TLS

Fixes #175

I'm not sure why CI is broken, appears to be breaking on ZK (which is unrelated).


Added tracking of litter nitrogen

Description
This pull request adds tracking of the nitrogen concentration for each litter pool, as well as a calculation of the rate of nitrogen mineralisation into soil. It involves a slightly weird assumption that the litter flow to a metabolic litter pool always has 5 times the nitrogen concentration of the flow to the corresponding structural pool. While this is a bit weird it seems to be used fairly commonly across existing as a simplifying assumption, so I think this is an issue best left for a post-1.0 "lets improve how we model litter decay" rework (if we decide that's a priority).
Structurally the biggest change is the addition of a LitterChemistry class, which contains methods to track the changes in litter chemistry (currently lignin and nitrogen). This is partly to make extending the code to also track phosphorus simpler, but is also intended to simplify the flow of LitterModel.update(). This simplification is still a bit of a work in process, as I didn't change how input partitioning is handled as I haven't worked out what I'm doing with animal inputs yet (see #510).
Fixes #511
Type of change

[x] New feature (non-breaking change which adds functionality)
[ ] Optimization (back-end change that speeds up the code)
[ ] Bug fix (non-breaking change which fixes an issue)

Key checklist

[x] Make sure you've run the pre-commit checks: $ pre-commit run -a
[x] All tests pass: $ poetry run pytest

Further checks

[x] Code is commented, particularly in hard-to-understand areas
[x] Tests added that prove fix is effective or that feature works
[ ] Relevant documentation reviewed and updated

Codecov Report
Attention: Patch coverage is 96.66667% with 3 lines in your changes missing coverage. Please review.

Project coverage is 94.94%. Comparing base (62ebb70) to head (6437e9a).
Report is 51 commits behind head on develop.

Files
Patch %
Lines

...ple_data/generation_scripts/litter_example_data.py
0.00%
3 Missing :warning:

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #531   +/-   ##
========================================
  Coverage    94.93%   94.94%
========================================
  Files           73       74    +1
  Lines         4050     4114   +64
========================================
+ Hits          3845     3906   +61
- Misses         205      208    +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

The PR is a bit on the long side, but I guess it is not easy to do it in small chunks. Something we have done in other projects is to add new code in small chunks without hooking it into the main pipeline (eg. just writing standalone functions and classes bit by bit, alongside their tests), and then have a final PR that hooks everything together into the main execution workflow, refactoring the parts that need refactoring but without adding big chunks of code. Could be something to consider for the future.

Yeah I think this is a fairly classic case of me not anticipating how much would change downstream, I'll try and follow your suggested split when I add the litter phosphorus


[pan-os]Updated 10.1.4 to  10.1.14-h2

Updated 10.1.4 to  10.1.14-h2
Released: 2024-07-02
Release notes: https://docs.paloaltonetworks.com/pan-os/10-1/pan-os-release-notes/pan-os-10-1-14-known-and-addressed-issues/pan-os-10-1-14-h2-addressed-issues

Q: How did you figure out the 2nd July date?
I verified it in the source code as webData.createdOn = '07-02-2024';, but was wondering if there was an easier way?

It's on the firewall. Device -> Software.

@captn3m0, I was playing around with palo alto's api, so I decided to automated this. I hope this helps.
check it out here: https://github.com/mrjcap/panos-versions/


Add Regex

Project URL
https://github.com/sindresorhus/Regex
Category
Regex
Description
Swifty regular expressions, fully tested & documented, and with correct Unicode handling.
Why it should be included to awesome-ios (mandatory)
None of the existing regex packages are actively maintained anymore. And none of them correctly handles Unicode. For example: https://github.com/sharplet/Regex/issues/71
Checklist

[x] Has 50 GitHub stargazers or more
[x] Only one project/change is in this pull request
[x] Isn't an archived project
[ ] Has more than one contributor
[x] Has unit tests, integration tests or UI tests
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 4 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

@vsouza Friendly bump :)

@sindresorhus thanks for contributing!


Frequent disconnections at regular intervals

This is a bug report
Problem
I have a Node.js application that is a long running process (think of a chat bot) connected to a single nwaku node. Sometimes it did not receive messages so I started investigating the issue by logging out disconnect and connect events. The disconnect event is when libp2p generates the event peer:disconnect and connect is peer:connect.
I cannot reliably reproduce the issue. Sometimes it happens all the time, sometimes it happens rarely. It might be a clue is that often the disconnect happen at a multiplier of 30 seconds interval. So at the 2nd second or the 32nd second of the minute. I observed from the nwaku logs that it also prints out internal metrics at 30 seconds, maybe it is related. I included a log from my application to illustrate this.
Setting different pingKeepAlive values (e.g. 3, 5, 15 etc.) does not seem to make a difference.
Proposed Solutions
It would be good if waku did not disconnect at least when the quality of the connection is otherwise good. The problem with this is that basically I have to write a safe waku wrapper around waku to detect if there were a disconnect and after reconnection query the store for messages that I was subscribed to for the interval it was disconnected.
Another problem is that if I want to show the user if they are connected to the network or not and disable certain functionality which requires connectivity I cannot rely on detecting the connectivity this way because the user experience will be not great.
Maybe connecting to multiple nodes can improve the situation.
Notes
@waku/sdk version 0.0.18 (the latest working that I tried was 0.0.16)
Node.js v18.17.1 on Linux
Connected to nwaku 0.19

Just adding to this that I also see disconnections (about 15 per hour) when I run nwaku in a docker container on the same machine, so there are no connection issues for sure.

I changed the loglevel to DEBUG for nwaku on the local docker image to see in the logs what is going on when I see a disconnect event:
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.890+00:00 push request                               topics="waku lightpush" tid=1 file=protocol.nim:57 peerId=12D*u9KSLq requestId=b89b6ff1-f5ab-417f-a198-693cc5f359e9 pubsubTopic=/waku/2/default-waku/proto
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.890+00:00 Dialing peer                               topics="waku node peer_manager" tid=1 file=peer_manager.nim:211 wireAddr=@[] peerId=12D*u9KSLq proto=/vac/waku/filter-push/2.0.0-beta1
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.891+00:00 Dialing peer                               topics="waku node peer_manager" tid=1 file=peer_manager.nim:211 wireAddr=@[] peerId=12D*L8HLi1 proto=/vac/waku/filter-push/2.0.0-beta1
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.892+00:00 Dialing peer                               topics="waku node peer_manager" tid=1 file=peer_manager.nim:211 wireAddr=@[] peerId=12D*DQPjYV proto=/vac/waku/filter-push/2.0.0-beta1
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.892+00:00 Dialing peer                               topics="libp2p dialer" tid=1 file=dialer.nim:134 peerId=12D*DQPjYV
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.892+00:00 Error dialing                              topics="libp2p dialer" tid=1 file=dialer.nim:327 conn=nil err="Unable to establish outgoing link"
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.892+00:00 Dialing peer failed                        topics="waku node peer_manager" tid=1 file=peer_manager.nim:225 peerId=12D*DQPjYV reason=failed proto=/vac/waku/filter-push/2.0.0-beta1
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.892+00:00 Dialing peer                               topics="waku node peer_manager" tid=1 file=peer_manager.nim:211 wireAddr=@[] peerId=12D*c5XAXV proto=/vac/waku/filter-push/2.0.0-beta1
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.892+00:00 Dialing peer                               topics="libp2p dialer" tid=1 file=dialer.nim:134 peerId=12D*c5XAXV
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.892+00:00 Error dialing                              topics="libp2p dialer" tid=1 file=dialer.nim:327 conn=nil err="Unable to establish outgoing link"
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.893+00:00 Dialing peer failed                        topics="waku node peer_manager" tid=1 file=peer_manager.nim:225 peerId=12D*c5XAXV reason=failed proto=/vac/waku/filter-push/2.0.0-beta1
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.893+00:00 Dialing peer                               topics="waku node peer_manager" tid=1 file=peer_manager.nim:211 wireAddr=@[] peerId=12D*nkxj2C proto=/vac/waku/filter-push/2.0.0-beta1
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.893+00:00 Dialing peer                               topics="libp2p dialer" tid=1 file=dialer.nim:134 peerId=12D*nkxj2C
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.893+00:00 Error dialing                              topics="libp2p dialer" tid=1 file=dialer.nim:327 conn=nil err="Unable to establish outgoing link"
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.893+00:00 Dialing peer failed                        topics="waku node peer_manager" tid=1 file=peer_manager.nim:225 peerId=12D*nkxj2C reason=failed proto=/vac/waku/filter-push/2.0.0-beta1
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.936+00:00 Error dialing                              topics="libp2p dialer" tid=1 file=dialer.nim:327 conn=12D*u9KSLq:650074d68ba7827adb401ef2 err="Stream Reset!"
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.938+00:00 unsubscribing pubsub peer                  topics="libp2p pubsub" tid=1 file=pubsub.nim:135 peerId=12D*u9KSLq
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.938+00:00 Error while reading message from secure connection, closing. topics="libp2p secure" tid=1 file=secure.nim:164 error=AsyncStreamReadError message="Read stream failed, originated from [TransportUseClosedError] Attempt to read data from closed stream" connection=12D*u9KSLq:650074d68ba7827adb401ef2
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.938+00:00 Unexpected exception in mplex read loop    topics="libp2p mplex" tid=1 file=mplex.nim:196 m=12D*u9KSLq:650074d68ba7827adb401ef2 msg="Read stream failed, originated from [TransportUseClosedError] Attempt to read data from closed stream"
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.939+00:00 Dialing peer failed                        topics="waku node peer_manager" tid=1 file=peer_manager.nim:225 peerId=12D*u9KSLq reason=failed proto=/vac/waku/filter-push/2.0.0-beta1
2023-09-12 16:32:54 waku-objects-playground-waku-1  | DBG 2023-09-12 14:32:54.953+00:00 No peers for topic, skipping publish       topics="libp2p gossipsub" tid=1 file=gossipsub.nim:538 peersOnTopic=0 connectedPeers=0 topic=/waku/2/default-waku/proto

This seems like to be a problem between js-waku and nwaku, because when using go-waku so far I haven't seen this issue. The docker-compose.yaml that I used:
version: '2.4'
services:
  waku:
    image: wakuorg/go-waku:latest
    command: |
      --store=true
      --filter=true
      --lightpush=true
      --websocket-support=true
      --websocket-port=8000
      --nodekey=7b8d9a670aae6421500b7b3f933d0b5d08b51fcf0f0c2f14cba3a4737c83a228
      --min-relay-peers-to-publish=0
    ports:
      - 8000:8000/tcp

I have a Node.js application that is a long running process (think of a chat bot) connected to a single nwaku node.

Hi @agazso
At this point in time, js-waku targets the browser environment and is being optimized for light client protocols.
Waku Relay in js-waku is considered highly experimental because of browser scalability reasons.
For NodeJS, we recommend running nwaku alongside your NodeJS application and consuming its JSON RPC (REST API is wip).

I have a Node.js application that is a long running process (think of a chat bot) connected to a single nwaku node.

Hi @agazso
At this point in time, js-waku targets the browser environment and is being optimized for light client protocols.
Waku Relay in js-waku is considered highly experimental because of browser scalability reasons.
For NodeJS, we recommend running nwaku alongside your NodeJS application and consuming its JSON RPC (REST API is wip).

Just to clarify the Node.js application is running the exact same code of a lightweight chat protocol that runs in the browser and it only uses ligthPush, filter and store protocols and it does not use relay protocol.
The same issue exist in browsers, but it's more difficult to experiment and reproduce testing long running processes in the browser to collect data for this issue, that's why I chose to illustrate it with a Node.js app.
BTW It is very convenient that the same code can be shared and it would be more work to create and maintain a separate version that uses a different API.

BTW It is very convenient that the same code can be shared and it would be more work to create and maintain a separate version that uses a different API.

Yes we understand we are considering making js-waku officially support on NodeJS.. However, for now the focus is on delivering https://github.com/waku-org/pm/issues/50 and in this context, keeping js-waku focused on the browser.


[web] hot reload/restart for javascript files

Hey guys,
Changes in a js file are not reflected in my app during development when using hot reload/restart. In order to see any change made in a js file, I have to stop the app and start it all over again (ie full restart).
Is this the intended behaviour?

@tgpsantos
hot reload is not supported on web yet. See this open issue for your reference and follow-up in it for further updates: https://github.com/flutter/flutter/issues/53041.
Closing this as a duplicate.

Thank you @darshankawar, but is it the same issue, though? Hot restart works for dart but not for custom javascript code. If I make a change in the dart code it becomes available at the next hot restart, whereas if I make a change at the javascript code it only becomes available when I do a full restart

Thanks for the feedback. Reopening.

@tgpsantos
Can you provide flutter doctor -v and a code sample that shows the behavior ?

main.dart
import 'dart:js' as js;
js.context.callMethod('alertMessage', ['Message Porto']);

test.js
function alertMessage(text) {
    alert(text)
    console.log({ js_context: this, text });
}

add to index.html (head tag)
<script src="test.js" defer></script>
After running, replace 'Message Porto' with a different string (eg 'Message Porto to congratulate them on winning the title') and save the file / perform a hot restart - you should still see the old message showing

Thanks for the update. Using above code sample, I see same behavior as reported, but I am not sure if this is a current limitation or intended behavior in web.
Labeling and keeping it open for further insights from the team.

 stable, master flutter doctor -v

[✓] Flutter (Channel stable, 2.10.5, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 2.10.5 at /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5464c5bac7 (12 hours ago), 2022-04-18 09:55:37 -0700
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 2.13.0-0.0.pre.653, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 2.13.0-0.0.pre.653 at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3fefb2d5eb (15 minutes ago), 2022-04-20 22:34:07 -0700
    • Engine revision 4274987f68
    • Dart version 2.18.0 (build 2.18.0-37.0.dev)
    • DevTools version 2.12.2

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Seems like we might not be checking for changes in all files? Not sure if we'd dig in here...hrm...

Any update on this?


gifs are broken

Even when trying to access a gif through image proxy without any resize params, it only shows/returns the first frame. I installed via heroku, which is using the "latest" docker tag.
Filestack url: http://imgproxy.foliohd.com/insecure/plain/https://media.giphy.com/media/eNRJtDi4c9BggIzJrd/giphy.gif
Original: https://media.giphy.com/media/eNRJtDi4c9BggIzJrd/giphy.gif

Ping @DarthSim

Please read the documentation carefully https://docs.imgproxy.net/#/image_formats_support?id=animated-images-support
Since processing of animated images is pretty heavy, only one frame is processed by default. You can increase the maximum of animation frames to process with the following variable:

IMGPROXY_MAX_ANIMATION_FRAMES: the maximum of animated image frames to being processed. Default: 1.

Note: imgproxy summarizes all frames resolutions while checking source image resolution.


Leaderboard: setup project

This PR is by @habasm of the project Leader board: setup project
In this activity we set up a JavaScript project for the Leaderboard list app, using webpack and ES6 features, notably modules. We develop a first working version of the app following a wireframe, but without styling - just focus on functionality. In this activities, We consume the Leaderboard API using JavaScript async and await and add some styling.
[live] here https://habasm.github.io/leadership-boared-habasm/dist/

@Favourezeugwa thanks for the comments and I am able to adjust it.
dev branch added and made it also default
Professional readme file included

fixed
Actually I am forgot to submit/pull the changed once.

@TedLivist @mckent05 @Favourezeugwa  Thanks for comment but consumes my submission number via simple fixation it can be fixed easily by yours no matter if you correct it and make it as optional. 😢 😞


Error Closing Server

Description
It shows me this error when stopping my server

Reproduction Steps
I just updated the jar folder and when stopping the server I got this error when starting it and during no.
Expected Behaviour
Don't let that mistake come out
Server Details
paper 1.20.4
LuckPerms Version
v5.4.151
Logs and Configs
No response
Extra Details
No response

Don't replace the plugin jar while the server is running, Java can't handle that nicely. This applies to any plugin, not just LP. When updating any plugin, stop the server, replace the jar, then start the server back up.


[Button] Fluid Button Does Not Center in Safari iOS

Interesting this seems to be happening on iOS only in my testing.

I just came across this issue as well. Fluid button's text is not centred in Safari (Mac & iOS). Manually aligning text to centre doesn't work either.
What worked though was changing html <button class="ui fluid button"></button> to  and the text is now centred.
Don't know if its any good of a solution, but it works.

For the Safari Bug, surround your button text with a span and give it width: 100%;


The recompile button does not work like expected

The recompile button will show recompiling for a brief moment and then it goes to normal and then it show again recompiling.
https://watch.screencastify.com/v/qnvGISuq2r2yg2aTZU86

Hey team! Please add your planning poker estimate with ZenHub @andraskvr @Stijnkool

This one should also go into iso4


internal error: entered unreachable code

First, very excited about this project.
I tried to use this to reproduce my pip-tools lock file, and got
⠇ Resolving dependencies...                                                                                thread 'tokio-runtime-worker' panicked at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async_http_range_reader-0.5.0/src/lib.rs:510:19:
range end index 306866 out of range for slice of length 291903
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async_http_range_reader-0.5.0/src/lib.rs:610:25:
internal error: entered unreachable code

invocation was
uv pip compile --index-url https://pypi.<internal>.com --extra-index-url https://pypi.python.org/simple --output-file venv_lockfile.txt venv_requirements.txt

Using Python 3.10.13 uv 0.1.0 on debian 11.7. Installed via pip to my venv
RUST_BACKTRACE=full
RUST_BACKTRACE=full uv pip compile ...

⠇ Resolving dependencies...                                                                                thread 'tokio-runtime-worker' panicked at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async_http_range_reader-0.5.0/src/lib.rs:510:19:
range end index 306866 out of range for slice of length 291903
stack backtrace:
   0:     0x5649a795d29c - <unknown>
   1:     0x5649a79903b0 - <unknown>
   2:     0x5649a79591bf - <unknown>
   3:     0x5649a795d084 - <unknown>
   4:     0x5649a795eee7 - <unknown>
   5:     0x5649a795ec4f - <unknown>
   6:     0x5649a795f368 - <unknown>
   7:     0x5649a795f24e - <unknown>
   8:     0x5649a795d766 - <unknown>
   9:     0x5649a795efb2 - <unknown>
  10:     0x5649a69cf6b5 - <unknown>
  11:     0x5649a69cfcf2 - <unknown>
  12:     0x5649a6afde7b - <unknown>
  13:     0x5649a6afccac - <unknown>
  14:     0x5649a6b124f0 - <unknown>
  15:     0x5649a788e3bb - <unknown>
  16:     0x5649a788d2ec - <unknown>
  17:     0x5649a7894248 - <unknown>
  18:     0x5649a788cd68 - <unknown>
  19:     0x5649a789b7d3 - <unknown>
  20:     0x5649a78a5187 - <unknown>
  21:     0x5649a787aa2a - <unknown>
  22:     0x5649a789aa6b - <unknown>
  23:     0x5649a7889597 - <unknown>
  24:     0x5649a78a2da9 - <unknown>
  25:     0x5649a7966835 - <unknown>
⠋ Resolving dependencies...                                                                                26:     0x7fe282166f07 - start_thread
                               at ./nptl/pthread_create.c:477:8
thread 'tokio-runtime-worker' panicked at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async_http_range_reader-0.5.0/src/lib.rs:510:19:
range end index 17780 out of range for slice of length 17082
  27:     0x7fe281ad9cff - __clone
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95
  28:                0x0 - <unknown>
stack backtrace:
   0:     0x5649a795d29c - <unknown>
   1:     0x5649a79903b0 - <unknown>
   2:     0x5649a79591bf - <unknown>
   3:     0x5649a795d084 - <unknown>
   4:     0x5649a795eee7 - <unknown>
   5:     0x5649a795ec4f - <unknown>
   6:     0x5649a795f368 - <unknown>
   7:     0x5649a795f24e - <unknown>
   8:     0x5649a795d766 - <unknown>
   9:     0x5649a795efb2 - <unknown>
  10:     0x5649a69cf6b5 - <unknown>
  11:     0x5649a69cfcf2 - <unknown>
  12:     0x5649a6afde7b - <unknown>
  13:     0x5649a6afccac - <unknown>
  14:     0x5649a6b124f0 - <unknown>
  15:     0x5649a788e28e - <unknown>
  16:     0x5649a788d685 - <unknown>
  17:     0x5649a7894248 - <unknown>
  18:     0x5649a788cd68 - <unknown>
  19:     0x5649a789b7d3 - <unknown>
  20:     0x5649a78a5187 - <unknown>
  21:     0x5649a787aa2a - <unknown>
  22:     0x5649a789aa6b - <unknown>
  23:     0x5649a7889597 - <unknown>
  24:     0x5649a78a2da9 - <unknown>
  25:     0x5649a7966835 - <unknown>
  26:     0x7fe282166f07 - start_thread
                               at ./nptl/pthread_create.c:477:8
  27:     0x7fe281ad9cff - __clone
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95
  28:                0x0 - <unknown>
thread 'main' panicked at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async_http_range_reader-0.5.0/src/lib.rs:610:25:
internal error: entered unreachable code
stack backtrace:
   0:     0x5649a795d29c - <unknown>
   1:     0x5649a79903b0 - <unknown>
   2:     0x5649a79591bf - <unknown>
   3:     0x5649a795d084 - <unknown>
   4:     0x5649a795eee7 - <unknown>
   5:     0x5649a795ec4f - <unknown>
   6:     0x5649a795f368 - <unknown>
   7:     0x5649a795f219 - <unknown>
   8:     0x5649a795d766 - <unknown>
   9:     0x5649a795efb2 - <unknown>
  10:     0x5649a69cf6b5 - <unknown>
  11:     0x5649a69cf753 - <unknown>
  12:     0x5649a70bbef9 - <unknown>
  13:     0x5649a6d38ede - <unknown>
  14:     0x5649a6d342f7 - <unknown>
  15:     0x5649a6a0dd39 - <unknown>
  16:     0x5649a6d30e33 - <unknown>
  17:     0x5649a6db6fcb - <unknown>
  18:     0x5649a6db06f1 - <unknown>
  19:     0x5649a6daf7a2 - <unknown>
  20:     0x5649a6b37e84 - <unknown>
  21:     0x5649a6badf10 - <unknown>
  22:     0x5649a6c85341 - <unknown>
  23:     0x5649a6c510dc - <unknown>
  24:     0x5649a6c3c5bc - <unknown>
  25:     0x5649a6acb71f - <unknown>
  26:     0x5649a6bf7e87 - <unknown>
  27:     0x5649a6c1dd87 - <unknown>
  28:     0x5649a6c38fd2 - <unknown>
  29:     0x5649a6c13c16 - <unknown>
  30:     0x5649a6c63e56 - <unknown>
  31:     0x5649a6cd8151 - <unknown>
  32:     0x5649a6b3f0a3 - <unknown>
  33:     0x5649a6c00f69 - <unknown>
  34:     0x5649a794eba7 - <unknown>
  35:     0x5649a6c00f5e - <unknown>
  36:     0x7fe281a01d0a - __libc_start_main
                               at ./csu/../csu/libc-start.c:308:16
  37:     0x5649a69cff09 - <unknown>
  38:                0x0 - <unknown>

Oooh thank you. I'm worried that this will be hard to solve without having access to the index (since it looks somewhat specific to behavior of the index), but will of course take a look and see what we can do!

+1 on this, I also experience this error when repointing UV_INDEX_URL to our internal artifactory pypi index.
range end index 339002 out of range for slice of length 335716

Thanks for your hard work on this awesome project!

If anyone has a public index that exhibits this behavior I'd be super grateful. It looks like maybe the index is reporting a length that doesn't match the content-length header.

I started a free trial of artifactory and added a remote pypi repository. I've confirmed the bug is reproduced on it.
% uv pip install requests -i https://killjoyuvbug.jfrog.io/artifactory/api/pypi/pypi/simple
⠦ requests==2.31.0
thread 'tokio-runtime-worker' panicked at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async_http_range_reader-0.5.0/src/lib.rs:510:19:
range end index 64965 out of range for slice of length 62574
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async_http_range_reader-0.5.0/src/lib.rs:610:25:
internal error: entered unreachable code

The trial has a period of 14 days and I've enabled anonymous access. You can use it to debug the issue.
Repository: https://killjoyuvbug.jfrog.io/artifactory/api/pypi/pypi/simple

This is perfect, thank you so much!

So far, the only thing I notice is that the server does return "accept-ranges": "bytes", but then it seems to totally ignore the passed-in byte ranges? Like I can pass anything for the range header, and the server gives me the same response (200, arbitrary ranges).

Ok, it looks like Artifactory may not support range requests despite the response headers claiming to do so:

https://github.com/pypa/pip/issues/8723
https://jfrog.atlassian.net/browse/RTFACT-23108

That's a bummer, it'll make things much slower for Artifactory users. We'll need to update the HTTP parser to correctly error here. (Then we'll automatically fall back to downloading the entire wheel.)

Related context on why range requests matter:

https://github.com/devpi/devpi/issues/1021

Previous work on this here:

https://github.com/astral-sh/uv/pull/702


Add 'release_date' column to chapters

This will allow to upload old chapters without messing things up (like Releases and Home [ReleasesSlider]).

fixed #157


Add vouch / unvouch / flag / unflag

Is your feature request related to a problem? Please describe.
Seeds web of trust has vouch / unvouch / flag and unflag functions
Expose these functions in the UX
It could go on a social screen where we also see invites - open invites, invites that were redeemed and by who, who we vouched for (invites are automatic also vouches).
Open invites can be cancelled, which refunds the money into your account.
Describe the solution you'd like
I think it would need to be a separate screen.

Assign to Jason for triage and UX


added description section in project page

i have added description variable in card  function project.js file in with scroll-able functionality..so now it supports longer description and to do that had to change position of Github icon so moved it with header in the card.

can you try to open it into private window bc, it appears different to me
something like this...

but i just notice that if the title is big then it will overlap the icon so fix it and will PR it again so changes look like this..


Packager: recognize alternate require statements

The RN packager scans the JavaScript entry point and its dependency for occurrences of require("lib"). A project I work on (https://github.com/mjmeintjes/boot-react-native/issues/49) makes the packager work for ClojureScript. ClojureScript uses Google Closure dependency management internally. Long story short, to make this work we need to recognize statements of the form goog.require("lib") in addition to just require.
This patch makes things work for us: https://github.com/pesterhazy/boot-react-native/blob/develop/example/rn-goog-require.patch. I realize this is custom code. Would you guys be willing to accept a PR that makes the packager recognize alternate require statements, possibly by making this configurable?
boot-react-native is quite useful as it allows us to write RN apps in ClojureScript; similar problems might affect other compile-to-js languages that want to target RN as well.

I think it would be okay as long as the behavior is testable, the PR is small, and there is a way to make it clear that this won't break non-ClojureScript use cases. The exact line probably depends on the pull request, so if you are still interested in this I think the way to go would be to prepare a PR and then discuss it from there.

I also interested to figure out how to figure the ID of a module. I'm guessing that the packager is building a map that bind name with id. Where I can find that map?


Multi-arch images

It would be nice to have multi-arch images of the visualizer available.
We noticed that currently the image is only build for amd64.
(Here's how we build & (further down) push multi-arch images in Cluster API: https://github.com/kubernetes-sigs/cluster-api/blob/main/Makefile#L655)

cc @killianmuldoon
If I remember correctly we were mainly looking for arm64 images.

@sbueringer Thanks for the suggestion, I don't think it should be too hard to port those changes to the Dockerfile. I'm not sure, however, how we could handle having a Helm chart for multiple architectures, i.e. if we have images like cluster-api-visualizer-$(ARCH):v1.0.0, what can we put in the Helm chart?

Could you link an example of a manifest pointing to the arch specific images? I'm not sure which files you mean by CAPI YAMLs.

Sure

Image: registry.k8s.io/cluster-api/cluster-api-controller:v1.3.0
https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.3.0/cluster-api-components.yaml

In CAPI it works like this:

build arch-specific images
push: (https://github.com/kubernetes-sigs/cluster-api/blob/main/Makefile#L988-L992)

push arch specific images
docker manifest create (which will be registry.k8s.io/cluster-api/cluster-api-controller:v1.3.0)
add all arch specific images to that manifest
push the manifest (registry.k8s.io/cluster-api/cluster-api-controller:v1.3.0)

Results in this

https://console.cloud.google.com/gcr/images/k8s-staging-cluster-api


Exclude the tools/licensescan/modules folder the license make target

Otherwise running make license updates adds the license header to files in the tools/licensescan/modules folder.

Thanks for fixing!


Date types simple

This pull request is mostly equal to #53 , but uses DateTime to represent DateOnly and TimeOnly columns. As a result for DuckDb's DATE columns we return a DateTime with time-related properties set to 0s and for TIME columns we return a DateTime with date-related properties set to 1s (min values for the corresponding properties).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-8 of 93 (91.4%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+4.2%) to 74.789%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

DuckDB.NET.Data/Internal/PreparedStatement.cs
4
5
80.0%

DuckDB.NET.Data/DuckDBParameter.cs
3
5
60.0%

DuckDB.NET.Data/Types/DuckDBTimestamp.cs
68
70
97.14%

DuckDB.NET/DuckDBNativeObjects.cs
9
12
75.0%

Totals

Change from base Build<PHONE_NUMBER>:
4.2%

Covered Lines:
506

Relevant Lines:
657

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

85 of 93 (91.4%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+4.2%) to 74.789%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

DuckDB.NET.Data/Internal/PreparedStatement.cs
4
5
80.0%

DuckDB.NET.Data/DuckDBParameter.cs
3
5
60.0%

DuckDB.NET.Data/Types/DuckDBTimestamp.cs
68
70
97.14%

DuckDB.NET/DuckDBNativeObjects.cs
9
12
75.0%

Totals

Change from base Build<PHONE_NUMBER>:
4.2%

Covered Lines:
506

Relevant Lines:
657

💛  - Coveralls


Scrum 3586 custom topic entity table

changes from src/actions/biblioActions.js and src/components/biblio/topic_entity_tag/TaxonUtils.js are for scrum-3836 'search filter for A team",  follow @valearna 's instruction.

I don't know what the package mobx does but the code looks good to me. I'll defer to @pjhale


Review Raleigh's adopt a shelter

This may be another project worth starting off:
https://github.com/CORaleigh/adoptashelter

Here is their live version: http://openmaps.raleighnc.gov/adoptashelter/

We reviewed this and found it a little less featureful than the codeforamerica versions - there is no key for the map, you can't un-register for a drain.


update ruby to the latest versions in travis-ci

Overview
New versions of all the currently supported versions of Ruby we're released today. This PR is just updating .travis.yml to use these new versions of Ruby.

@bundlerbot r+


🚧 Exception thrown when using Tina Starters

As per my conversation with Hugo, we are having issues with running npx create-tina-app@latest
*According to Hugo, this also applies to other starters.

Figure: Issue running npx create-tina-app@latest

Hey @tkapa
I did a it of searching and it seems Chalk behaves weirdly on npm and yarn 😅
So for the moment we are downgrading the version of chalk.
https://github.com/chalk/chalk/issues/527


Page not rendering properly

Hey,
I'm using the hosted prerender service. All pages are working properly except for one page. Without the ?escaped_fragment= suffix the page loads properly, but unfortunately it does not with the suffix. I've tried to debug the issue, but I'm unable to find the reason. It seems to stop rendering after an array.find call. However I strongly suspect that the reason is in another thread (I'm using AngularJS, async)
An example of an URL where prerender does not work is:
https://bitqist.com/currencies/bitcoin?_escaped_fragment_=
Working version:
https://bitqist.com/currencies/bitcoin
Can anyone help me with this?
Thanks!

Seems like our PhantomJS browser is running into an issue (it might not support Array.find). We can enable our Chrome rendering engine for you if you are using our hosted service. Just send us an email. If you are running your own Prerender server, you might want to check out our Chrome branch!

Thanks, I set up my own Prerender server with the Chrome branch and that indeed fixed the problem. Can you tell me when inMemoryHtmlCache will be implemented for the chrome branch?

Sorry, no ETA yet on the memory cache but should be easy to implement yourself in the meantime.

Thanks, I implemented it myself.


"Where's my data?" Link not resolvable via DNS

Where's my data? Link is not resolvable via DNS

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

ID: a9f3baf1-62a6-348a-8f7d-25ba27d7b292
Version Independent ID: 520aaaa6-1d41-9712-0dd6-67a8ff586f3b
Content: Cloud data security measures in SharePoint & OneDrive - SharePoint in Microsoft 365
Content Source: SharePoint/SharePointOnline/safeguarding-your-data.md
Service: sharepoint-online
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

Thanks for your feedback! @TestinProd123


[Fix] Fix yarn session create jobGraph failed

[Fix] Fix yarn session create jobGraph failed

fixed #3329  details


[3.x] Fix mouse_over not dropped when mouse leaves window

3.x version of #48156.

Sorry for the delay, I had missed that there was a 3.x counterpart when we merged the master PR in February. It's now a bit late for such change for 3.5 but we could consider merging it for 3.6-beta1 once rebased.

Thanks!


[Task]: Truncate Ids but keep them findable with ctrl+F

Task description

Come up with a solution so that truncated Ids (with dots in the middle) can still be found with CTRL+F browser function, and make a generic component for that logic.
Add it too:

Landing page - Milestone Feed (stardust)
Address page (all sections) (stardust)

Requirements
N/A
Acceptance criteria
N/A
Creation checklist

[X] I have assigned this task to the correct people
[X] I have added the most appropriate labels
[X] I have linked the correct milestone and/or project

In order to make the truncated ids findable with CTRL-F we have used text-overflow: ellipsis and give a specific width to first span and concat it with the second span which has last ten characters of the id. When a user search the id with CTRL-F on a browser the first span will be highlighted. The only problem here is if someone changes the css of truncated-id to have more width, it will start showing letters from the second part in the first part potentially. Right now we are not able to find any better solution than this which require less effort.
Alternatively, one thing which we can do is we can only display a single span which have the truncated id and will be displayed like this 0xasdadasd….


Could not find device for node: {{node FloorMod}} = FloorMod[T=DT_HALF]

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Google Colab
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: No
TensorFlow installed from (source or binary): Google Colab
TensorFlow version (use command below): v2.4.0-0-g582c8d236cb 2.4.0
Python version: 3
Bazel version (if compiling from source): No
GCC/Compiler version (if compiling from source): No
CUDA/cuDNN version: No
GPU model and memory: No

Describe the current behavior
Since TF 2.4.0 i get an error during FloorMod operation with float16.
In TF 2.3.1 it worked as expected.
Describe the expected behavior
FloorMod should be available for float16 dtype.
Standalone code to reproduce the issue
https://colab.research.google.com/drive/19kRHgXjuf9R9UuBYmEmZiFQPpodnbsOM?usp=sharing
Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
import tensorflow as tf

print(tf.version.GIT_VERSION, tf.version.VERSION)
# v2.4.0-0-g582c8d236cb 2.4.0

x = tf.constant([1, 2, 3], 'float16')
x % 4

---------------------------------------------------------------------------
NotFoundError                             Traceback (most recent call last)
<ipython-input-6-86e5a110f54d> in <module>()
----> 1 x % 4

3 frames
/usr/local/lib/python3.6/dist-packages/six.py in raise_from(value, from_value)

NotFoundError: Could not find device for node: {{node FloorMod}} = FloorMod[T=DT_HALF]
All kernels registered for op FloorMod:
  device='GPU'; T in [DT_INT32]
  device='CPU'; T in [DT_DOUBLE]
  device='CPU'; T in [DT_FLOAT]
  device='CPU'; T in [DT_BFLOAT16]
  device='CPU'; T in [DT_UINT64]
  device='CPU'; T in [DT_INT64]
  device='CPU'; T in [DT_INT32]
 [Op:FloorMod]

I have tried in colab with TF 2.4 , nightly version(2.5.0-dev20201222) and was able to reproduce the issue. However I am not seeing any issue with TF 2.3 version. Please, find the gist here. Thanks!

Still not fixed in v1.12.1-52612-g74d34665fc1 2.5.0-dev20210311

Fixed in v1.12.1-54850-g958d4f19097 2.6.0-dev20210414


Node.js, open the project folder, rename the project folder and open it again

VSCode Version: Code 1.15.1 (41abd21afdf7424c89319ee7cb0445cc6f376959, 2017-08-16T18:07:25.676Z)
OS Version: Windows_NT x64 6.1.7601
Extensions: none

Steps to Reproduce:
1.Node.js, open the project folder, rename the project folder and open it again
2.

What's the issue?


Project-User configuration file

For future support, I am suggesting a 4 stage packit configuration in order of overwriting:

System config in /etc/packit/packit.yaml (maybe already present)
User config: ~/.config/packit.yaml (Already implemented)
Project config: ${GIT_ROOT}/.packit.yaml (Already implemented)
Project-User config: ${GIT_ROOT}/.packitUser.yaml (This issue)

The Project-User config are not meant to be versioned controlled, but only defined on the local git clone. This is similar to CMakeUserPreset.json workflow. Currently there is little application for this, but it is relevant for addressing some other issues.
Relevant issues: #1911

We have discussed with @LecrisUT that this is not blocking him currently and as this does not affect anyone else directly at the moment, we will keep it open as low-prio.

Nice feature but still love prio, contributions are welcome.


DISK is not creating the files

DISK is not creating the files
Originally posted by @mosoriob in https://github.com/KnowledgeCaptureAndDiscovery/DISK-WEB/issues/56#issuecomment-1194114480

Problem:
The system queries the data store to obtain the sha (check if the data changed).
Solution
Use HTTP ETag standard.
#58


docs: add template reference docs for Quarkus

Signed-off-by: Matej Vasek<EMAIL_ADDRESS>

Please add Maxim for review since he'll be working on Quarkus @matejvasek 🙂

/cc @rh-max

@lance @zroubalik PTAL


Dialog won't close in IE11 because this.activeElement doesn't implement focus()

This is directly elated to #87
In my case, however, this.activeElement isn't null, it's of type SVGSVGElement which, in IE11, doesn't implement focus().
My recommendation is to check if the element supports focus like this:
if (this.activeElement && this.activeElement.focus){
    this.activeElement.focus();
}

I've created a PR to fix this #261

Fixed in 0.4.3


Error loading transactions: Failed to subscribe to path

Running Sparrow 1.5.6 connected to Electrum Personal Server via port forwarding.
Used to work great and suddenly started failing.
Connection does succeed both when testing
Connected to ElectrumPersonalServer 0.2.2 on protocol version 1.4
Server Banner: Welcome to Electrum Personal Server 0.2.2

Monitoring 2 deterministic wallets, in total 4000 addresses.

Connected bitcoin node: /Satoshi:22.0.0/

and as shown in the blue toggle button ("Connected to ssl://<IP_ADDRESS>:50002 at height 723896").
It however fails finding transactions (same for all wallets)
Wallet loading history for first - Deposit
[Feb 18 11:47:30] Finding transactions for ../0/0
[Feb 18 11:47:34] Failed to subscribe to path: ../0/0

Logs:
2022-02-18 11:49:49,941 ERROR [JavaFX Application Thread] c.s.s.w.WalletForm [null:-1] Error retrieving wallet history
com.sparrowwallet.sparrow.net.ServerException: Failed to subscribe to path: m/0/0
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.ElectrumServer.subscribeWalletNodes(Unknown Source)
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.ElectrumServer.getHistory(Unknown Source)
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.ElectrumServer.getHistory(Unknown Source)
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.ElectrumServer$TransactionHistoryService$1.call(Unknown Source)
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.ElectrumServer$TransactionHistoryService$1.call(Unknown Source)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: com.sparrowwallet.sparrow.net.ServerException: Retries exhausted
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.RetryLogic.getResult(Unknown Source)
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.SimpleElectrumServerRpc.subscribeScriptHashes(Unknown Source)
	... 13 common frames omitted
Caused by: java.lang.IllegalStateException: I/O error during a request processing
	at simple.json.rpc.client@1.0/com.github.arteam.simplejsonrpc.client.builder.RequestBuilder.executeRequest(Unknown Source)
	at simple.json.rpc.client@1.0/com.github.arteam.simplejsonrpc.client.builder.RequestBuilder.executeAndConvert(Unknown Source)
	at simple.json.rpc.client@1.0/com.github.arteam.simplejsonrpc.client.builder.RequestBuilder.executeNullable(Unknown Source)
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.SimpleElectrumServerRpc.lambda$subscribeScriptHashes$6(Unknown Source)
	... 15 common frames omitted
Caused by: java.io.IOException: Error reading response: Could not connect to server at ssl://<IP_ADDRESS>:50002
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.TcpTransport.readResponse(Unknown Source)
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.TcpTransport.pass(Unknown Source)
	... 19 common frames omitted
Caused by: java.io.IOException: Could not connect to server at ssl://<IP_ADDRESS>:50002
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.TcpTransport.readInputStream(Unknown Source)
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.TcpTransport.readInputLoop(Unknown Source)
	at com.sparrowwallet.sparrow@1.5.6/com.sparrowwallet.sparrow.net.ElectrumServer$ReadRunnable.run(Unknown Source)
	... 1 common frames omitted

What could be going on?  Both bitcoind and EPS are running with no errors. I restarted both Sparrow and EPS several times but no luck.

It seems that even though EPS is "running" it has not opened port 50002, or you cannot reach that port on localhost. Could it be that the port forwarding setup has changed?
You can try to verify this with
telnet localhost 50002

and see if you can connect.

Thanks Craig.  Yes, it does reach port 50002.
~ ❯ telnet localhost 50002
Trying <IP_ADDRESS>...
Connected to localhost.
Escape character is '^]'.

Port forwarding seems correct running ssh -N -L 50002:<IP_ADDRESS>:50002 node -v and watching the output.
What else could be causing the issue?

Effectively then, the problem is that EPS is receiving the request from the Sparrow, but not responding to it. Are there no logs in EPS that might indicate what is at fault? You might try the Electrum wallet client to verify this.

Solved it!  It was my mistake but the confusing messaging/UX from the Sparrow/EPS combo didn't help.
I was specifically trying to check transactions on the deposit wallet so this is the only zpub I added to EPS config.ini. Starting up EPS showed the first 3 correct addresses giving the impression that the configuration was right. The wallet however is composed of 4 different wallets (deposit, pre, post, bad).
Sparrow tries to fetch addresses for all four wallets even when only the deposit tab is selected. As soon as the first one from e.g. premix is requested, EPS simply closes the connection and naturally Sparrow shows this in the logs.
I guess I would have expected retrieving txs/addrs for the deposit wallet and not for the rest, and certainly not having EPS shutting down the connection when not recognizing an address.
WARNING:2022-02-21 09:51:46,056: Address not known to server, hash(address) = 8857594f8257d50eeeeeb892f21dd6e3854bdd2e0f8d7183da4.
Check that you've imported the master public key(s) correctly. The first three addresses of each key are printed out on startup,
so check that they really are addresses you expect. In Electrum go to Wallet -> Information to get the right master public key.
DEBUG:2022-02-21 09:51:46,056: Disconnecting client due to misconfiguration. User must correctly configure master public key(s)

I wanted to add a thank you for the amazing software!

Thanks for the update! Strange behaviour from EPS indeed. Using the built in EPS-alternative (BWT) in Sparrow is another way to approach this - you can connect to Bitcoin Core directly in Sparrow using it.

Hi guys,
I'm sorry to bother you, but i do have the exact same problem and i can't find the solution..
I've created a post on bitcointalk about that: https://bitcointalk.org/index.php?topic=5473740.msg63141548#msg63141548
To be precize, i think the port 50002 is okay (listening), and i added the master public keyS as you said. However, i do think the problem is like compatibility 'cause there are lots of mpk in the config.ini file whereas, in the bitcoin core node, there's only the wallet which had been created + the watch only one (which is, i guess, about the first mpk).
Have you got explanations or help? Any advice will be great !

@ProfEduStream use the EPS option in File > Export Wallet to configure Electrum Personal Server. Make sure you have added all the lines to config.ini - you are missing the one for BIP47 notification address.

Thanks @craigraw. I did so, and it now works. Thank you !
To sum up, the problem was about the bitcoin core watch-only address, which i didn't have in my config.ini file.
I'm curious: where does this "watch-only address" come from?
'gonna make a video tutorial about it.
Have a beautiful day !

As noted above, it's the BIP47 notification address which Sparrow scans to see if there are any new linked wallets. See the BIP47 specification for more details.


Flipped objects throw an OverflowException on ParseXml

ParseObjects doesn't check nor clear flip flags, so int.Parse throws an OverflowException when attempting to parse a flipped object.
Started making a pull request, but wasn't sure if you wanted another set of 6 functions called IsObjectFlipped... or adding three booleans to the object itself. So I'll leave the implementation to you =].

Hey @juanferrer
Thanks for letting me know. Will have a look at it!
With kind regards,
TheBoneJarmer

Hey @juanferrer
I just published TiledCS 3.3.2. This includes a fix for the error you got as well as extra stuff to fetch the flipped state of a tile linked to an object. To start with, each object now has a field dataRotationFlag.  This is similar to the TiledLayer.dataRotationFlags field.
And just like with tiles you can use the helper methods IsTileFlippedDiagonal, IsTileFlippedVertical and IsTileFlippedHorizontal. These now accept a parameter of type TiledObject. I'd say, give it a shot and let me know if it works for you. :)
With kind regards,
TheBoneJarmer

Didn't hear back so I assume all went well. If not do not hesitate to open up this issue again. :)

Oh, sorry. Yes, my bad. The update fixed it. Thanks!


AttributeError: 'NoneType' object has no attribute 'shape'

Hello, I encountered this issue while running demo.py and would like to ask how you can solve it？
Traceback (most recent call last):
File "demo.py", line 26, in
height,width,channel = img.shape

@Xinyi-Ning , Did you give the correct video path?

@Xinyi-Ning , use this script for testing with a web camera.
https://github.com/dsabarinathan/Facial-Attribute-Recognition-from-face-images/blob/main/realtime_testing.py

That's all worked out now. Thank you


Solution for first white step at position far 3 position to existing point

solved in https://github.com/fucusy/gomoku-first-move-always-win/pull/15


METRON-1850: Stellar REST function

Contributor Comments
This PR adds a Stellar REST function that can be used to enrich messages with data from 3rd party REST services.  This function leverages the Apache HttpComponents library for Http requests.
The function call follows this format:  REST_GET(rest uri, optional rest settings)
There are a handful of settings including basic authentication credentials, proxy support, and timeouts.  These settings are included in the RestConfig class.  Any of these settings can be defined in the global config under the stellar.rest.settings property and will override any default values.  The global config settings can also be overridden by passing in a config object to the expression.  This will allow support for multiple REST services that may have different requirements.
Responses are expected to be in JSON format.  Successful requests will return a MAP object in Stellar.  Errors will be logged and null will be returned by default.  There are ways to override this behavior by configuring a list of acceptable status codes and/or values to be returned on error or empty responses.
Considering this will be used on streaming data, how we handle timeouts is important.  This function exposes HttpClient timeout settings but those are not enough to keep unwanted latency from being introduced.  A hard timeout is implemented in the function to abort a request if the timeout is exceeded.  The idea is to guarantee the total request time will not exceed a configured value.
Changes Included

HttpClient capability added to Stellar
HttpClient setup added to the various bolts and Stellar REPL
Utility added for setting up a pooling HttpClient (and possibly other types of clients in the future)
Configuration mechanism added for Stellar REST function including settings for authentication, proxy support, timeouts and other settings
Function implementation and appropriate unit/integration tests (both unit tests and integration tests are included)

Testing
There are several different ways to test this feature and I would encourage reviewers to get creative and look for cases I may not have thought of.  For my testing, I used an online Http service that provides simple endpoints for simulating different use cases:  http://httpbin.org/#/.  Feel free to try your own or use this one.
I tested this in full dev using the Stellar REPL and the parser and enrichment topologies.  First you need to perform a couple setup steps:

Spin up full dev and ensure everything comes up and data is being indexed
Ssh to full dev and install the Squid proxy server:

yum -y install squid

Create a password file that Squid can use for basic authentication

yum -y install httpd-tools
touch /etc/squid/passwd && chown squid /etc/squid/passwd
htpasswd /etc/squid/passwd user # (Will prompt for a password)

Configure Squid for basic authentication by adding these lines to /etc/squid/squid.conf, under the lines with acl Safe_ports*:

auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users

Start Squid and verify it is working correctly:

service squid restart
curl --proxy-user user:password -x node1:3128 http://www.google.com/

Next create password files in HDFS:

su hdfs
cd ~
echo passwd > basicPassword.txt
hdfs dfs -put basicPassword.txt /apps/metron
echo password > proxyPassword.txt
hdfs dfs -put proxyPassword.txt /apps/metron
exit

To test with the Stellar REPL, follow these steps:

Start the Stellar REPL and verify the REST_GET function is available:

/usr/metron/0.6.1/bin/stellar --zookeeper node1:2181
[Stellar]>>> %functions REST
REST_GET

Test a simple get request:

[Stellar]>>> REST_GET('http://httpbin.org/get')
{args={}, headers={Accept=application/json, Accept-Encoding=gzip,deflate, Cache-Control=max-age=259200, Connection=close, Host=httpbin.org, User-Agent=Apache-HttpClient/4.3.2 (java 1.5)}, origin=<IP_ADDRESS>, <IP_ADDRESS>, url=http://httpbin.org/get}

Test a get request with basic authentication:

[Stellar]>>> config := {'basic.auth.user':'user','basic.auth.password.path':'/apps/metron/basicPassword.txt'}
{basic.auth.user=user, basic.auth.password.path=/apps/metron/basicPassword.txt}
[Stellar]>>> REST_GET('http://httpbin.org/basic-auth/user/passwd', config)
{authenticated=true, user=user}

Try the same request without passing in the config.  You should get an authentication error:

[Stellar]>>> REST_GET('http://httpbin.org/basic-auth/user/passwd')
2018-10-28 00:32:20 ERROR RestFunctions:161 - Stellar REST request to http://httpbin.org/basic-auth/user/passwd expected status code to be one of [200] but failed with http status code 401:
java.io.IOException: Stellar REST request to http://httpbin.org/basic-auth/user/passwd expected status code to be one of [200] but failed with http status code 401:
	at org.apache.metron.stellar.dsl.functions.RestFunctions$RestGet.doGet(RestFunctions.java:209)
	at org.apache.metron.stellar.dsl.functions.RestFunctions$RestGet.apply(RestFunctions.java:157)
	at org.apache.metron.stellar.common.StellarCompiler.lambda$exitTransformationFunc$13(StellarCompiler.java:652)
	at org.apache.metron.stellar.common.StellarCompiler$Expression.apply(StellarCompiler.java:250)
	at org.apache.metron.stellar.common.BaseStellarProcessor.parse(BaseStellarProcessor.java:151)
	at org.apache.metron.stellar.common.shell.DefaultStellarShellExecutor.executeStellar(DefaultStellarShellExecutor.java:409)
	at org.apache.metron.stellar.common.shell.DefaultStellarShellExecutor.execute(DefaultStellarShellExecutor.java:260)
	at org.apache.metron.stellar.common.shell.cli.StellarShell.execute(StellarShell.java:357)
	at org.jboss.aesh.console.AeshProcess.run(AeshProcess.java:53)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

You should also be able to set the basic authentication settings through the global config:

[Stellar]>>> %define stellar.rest.settings := {'basic.auth.user':'user','basic.auth.password.path':'/apps/metron/basicPassword.txt'}
{basic.auth.user=user, basic.auth.password.path=/apps/metron/basicPassword.txt}
[Stellar]>>> REST_GET('http://httpbin.org/basic-auth/user/passwd')
{authenticated=true, user=user}

Now verify you can send a request through the proxy:

[Stellar]>>> config := {'proxy.host':'node1','proxy.port':3128,'proxy.basic.auth.user':'user','proxy.basic.auth.password.path':'/apps/metron/proxyPassword.txt'}
{proxy.basic.auth.password.path=/apps/metron/proxyPassword.txt, proxy.port=3128, proxy.host=node1, proxy.basic.auth.user=user}
[Stellar]>>> REST_GET('http://httpbin.org/get', config)
{args={}, headers={Accept=application/json, Accept-Encoding=gzip,deflate, Cache-Control=max-age=259200, Connection=close, Host=httpbin.org, User-Agent=Apache-HttpClient/4.3.2 (java 1.5)}, origin=<IP_ADDRESS>, <IP_ADDRESS>, url=http://httpbin.org/get}

Leave out the proxy credentials, you should get a proxy error:

[Stellar]>>> config := {'proxy.host':'node1','proxy.port':3128}
{proxy.port=3128, proxy.host=node1}
[Stellar]>>> REST_GET('http://httpbin.org/get', config)
2018-10-28 00:43:48 ERROR RestFunctions:161 - Stellar REST request to http://httpbin.org/get expected status code to be one of [200] but failed with http status code 407: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ERROR: Cache Access Denied</title>

Timeout is 1000 milliseconds by default.  Test the timeout by setting it to 1 or a value where a request won't finish in time.  You should get an error:

[Stellar]>>> REST_GET('http://httpbin.org/get', config)
2018-10-28 00:53:07 ERROR RestFunctions:161 - Total Stellar REST request time to http://httpbin.org/get exceeded the configured timeout of 1 ms.
java.io.IOException: Total Stellar REST request time to http://httpbin.org/get exceeded the configured timeout of 1 ms.
	at org.apache.metron.stellar.dsl.functions.RestFunctions$RestGet.doGet(RestFunctions.java:188)
	at org.apache.metron.stellar.dsl.functions.RestFunctions$RestGet.apply(RestFunctions.java:157)
	at org.apache.metron.stellar.common.StellarCompiler.lambda$exitTransformationFunc$13(StellarCompiler.java:652)
	at org.apache.metron.stellar.common.StellarCompiler$Expression.apply(StellarCompiler.java:250)
	at org.apache.metron.stellar.common.BaseStellarProcessor.parse(BaseStellarProcessor.java:151)
	at org.apache.metron.stellar.common.shell.DefaultStellarShellExecutor.executeStellar(DefaultStellarShellExecutor.java:409)
	at org.apache.metron.stellar.common.shell.DefaultStellarShellExecutor.execute(DefaultStellarShellExecutor.java:260)
	at org.apache.metron.stellar.common.shell.cli.StellarShell.execute(StellarShell.java:357)
	at org.jboss.aesh.console.AeshProcess.run(AeshProcess.java:53)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

You can also configure which status codes should be handled as errors.  A 404 is considered an error by default:

[Stellar]>>> REST_GET('http://httpbin.org/status/404', config)
2018-10-28 00:56:08 ERROR RestFunctions:161 - Stellar REST request to http://httpbin.org/status/404 expected status code to be one of [200] but failed with http status code 404:
java.io.IOException: Stellar REST request to http://httpbin.org/status/404 expected status code to be one of [200] but failed with http status code 404:
	at org.apache.metron.stellar.dsl.functions.RestFunctions$RestGet.doGet(RestFunctions.java:209)
	at org.apache.metron.stellar.dsl.functions.RestFunctions$RestGet.apply(RestFunctions.java:157)
	at org.apache.metron.stellar.common.StellarCompiler.lambda$exitTransformationFunc$13(StellarCompiler.java:652)
	at org.apache.metron.stellar.common.StellarCompiler$Expression.apply(StellarCompiler.java:250)
	at org.apache.metron.stellar.common.BaseStellarProcessor.parse(BaseStellarProcessor.java:151)
	at org.apache.metron.stellar.common.shell.DefaultStellarShellExecutor.executeStellar(DefaultStellarShellExecutor.java:409)
	at org.apache.metron.stellar.common.shell.DefaultStellarShellExecutor.execute(DefaultStellarShellExecutor.java:260)
	at org.apache.metron.stellar.common.shell.cli.StellarShell.execute(StellarShell.java:357)
	at org.jboss.aesh.console.AeshProcess.run(AeshProcess.java:53)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

This behavior can be changed by configuring a 404 to be an acceptable status code and returning an empty object instead of null:
{response.codes.allowed=[200, 404], empty.content.override={}}
[Stellar]>>> REST_GET('http://httpbin.org/status/404', config)
{}

The value returned on an error can also be changed from null:

config := {'error.value.override':'got an error'}
[Stellar]>>> result := REST_GET('http://httpbin.org/status/500', config)
2018-10-28 00:59:41 ERROR RestFunctions:161 - Stellar REST request to http://httpbin.org/status/500 expected status code to be one of [200] but failed with http status code 500:
java.io.IOException: Stellar REST request to http://httpbin.org/status/500 expected status code to be one of [200] but failed with http status code 500:
	at org.apache.metron.stellar.dsl.functions.RestFunctions$RestGet.doGet(RestFunctions.java:209)
	at org.apache.metron.stellar.dsl.functions.RestFunctions$RestGet.apply(RestFunctions.java:157)
	at org.apache.metron.stellar.common.StellarCompiler.lambda$exitTransformationFunc$13(StellarCompiler.java:652)
	at org.apache.metron.stellar.common.StellarCompiler$Expression.apply(StellarCompiler.java:250)
	at org.apache.metron.stellar.common.BaseStellarProcessor.parse(BaseStellarProcessor.java:151)
	at org.apache.metron.stellar.common.shell.DefaultStellarShellExecutor.executeStellar(DefaultStellarShellExecutor.java:409)
	at org.apache.metron.stellar.common.shell.DefaultStellarShellExecutor.execute(DefaultStellarShellExecutor.java:260)
	at org.apache.metron.stellar.common.shell.specials.AssignmentCommand.execute(AssignmentCommand.java:66)
	at org.apache.metron.stellar.common.shell.DefaultStellarShellExecutor.execute(DefaultStellarShellExecutor.java:255)
	at org.apache.metron.stellar.common.shell.cli.StellarShell.execute(StellarShell.java:357)
	at org.jboss.aesh.console.AeshProcess.run(AeshProcess.java:53)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
got an error

To test with the parser and enrichment topologies follow these steps:

Make sure the topologies are running and data is flowing through.  It's easier to test if you restart the parser topology with only a single sensor running.
Add a Stellar field transformation to the parser that is still running:

"fieldTransformations": [
    {
      "input": [],
      "output": [
        "parser_rest_result"
      ],
      "transformation": "STELLAR",
      "config": {
        "parser_rest_result": "REST_GET('http://httpbin.org/get?type=parser')"
      }
    }
  ],

Listen on the enrichments Kafka topic.  The parser_rest_result field should now be present.
Add a Stellar enrichment to the sensor:

"fieldMap": {
      "geo": [
        "ip_dst_addr",
        "ip_src_addr"
      ],
      "host": [
        "host"
      ],
      "stellar": {
        "config": {
          "enrichment_rest_result": "REST_GET('http://httpbin.org/get?type=enrichment')"
        }
      }
    }

Listen on the indexing Kafka topic.  The enrichment_rest_result field should now be present.

Outstanding Issues

Caching was briefly discussed in the discuss thread for this feature.  Stellar provides a caching mechanism but we may need to be more selective about what is cached right now.  I believe this should be a follow on.
There was a comment in the Jira related to adding a circuit breaker.  Does that need to be done in this PR or can it be a follow on?  Should we also explore/discuss a retry strategy?
It was also suggested that we create an abstraction for higher latency enrichments such as this in the discuss thread.  I would prefer we create a few of these higher latency functions first so that we have a better understanding of how this abstraction would look.  Do we want to take that on here?

Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[x] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[x] Have you included steps or a guide to how the change may be verified and tested manually?

[x] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && dev-utilities/build-utils/verify_licenses.sh

[x] Have you written or updated unit tests and or integration tests to verify your changes?

[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[x] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

@merrimanr - about the need for a close/shutdown hook - why is it needed in the first place? I don't believe we shutdown Zookeeper connections explicitly. They end when the topology spins down. Why should this be any different?

We do shut down Zookeeper connections here:  https://github.com/apache/metron/blob/master/metron-platform/metron-common/src/main/java/org/apache/metron/common/bolt/ConfiguredBolt.java#L129.  The Apache HttpComponents docs recommend closing clients:  http://hc.apache.org/httpcomponents-client-4.5.x/tutorial/html/fundamentals.html#d5e217.

I'm just not sure we need to shut them down. It's not like there's writing or state-related concerns that push the need to finish with a formal shutdown.  The only time we would ever shutdown a client connection would be when we're killing the topology, right?
I really think we need to get this client code out of the bolts. I looked a bit through the Stellar code and if we really think we need this, I think it can be accomplished through a change to the FunctionResolver classes. I'm going to noodle on this a bit.

I think we should close it, docs are pretty clear about that.  I think it's possible connections could be left open on the server side.
Moving the code out of the bolt is an organization/style issue.  I think there should be a functional justification like there is for closing a client.

Throwing this out there for consideration - https://github.com/apache/metron/pull/1251

The latest commit incorporates the changes from https://github.com/apache/metron/pull/1251 and moves the httpclient inside the function.  I was able to verify proper closing in the REPL and the EnrichmentIntegrationTest.  I was not able to verify in the Storm topologies because Storm does not guarantee these methods will be called in production.  I added code comments in the bolts where we are calling StellarFunctions.close().
I spun this up in full dev again and ran through the test plan.   Everything continued to work as expected.

Travis failure does not appear related here

@merrimanr Pending a successful Travis run, I'm +1 by inspection. Thanks!

+1, thanks!


BT MDP KIT (model and data processing) Release 23.12 Operations View Acceptance Criteria

Release 23.12 KIT Operations View

[ ] Quick Setup Guide and Deployment Scripts in Repository

Documentation for the operations view must be available in Eclipse Tractus-X as MD files.
A reference implementation must be deployable via versioned and released HelmCharts with ArgoCD and as local deployment. In addition, a quick setup guide must be provided.

Quick Setup Guides
Deployment Scripts (e.g. local, helm charts, terraform)

Best Practice:

eclipse tractusx-docs-artefacts
How-to-create-a-KIT-website

Artifact Repository:

eclipse-tractusx

Contacts:

Responsible: PO/BO (from relevant Domain)
Responsible for Process: PO / BO (from relevant Domain)
Consult: KIT-CONTACT1, KIT-CONTACT2 + System Team
Review by: PCA/BDA

In Release 24.03 only a preview of the BT MDP Kit without a "Operation View" will be published.

version 0.0.1 -> Preview (N/A)


use nvim's internal numbering for tab index

Fixes an issue where opening new tabs from a tab other than the last one causes a mismatch between the tab index and the ordering of tab components. This gets the index from neovim's api and is the same number used by gt and gT keymaps. Not sure if this breaks anything else though.

Thanks for the PR! The logic makes sense but I am not sure about edge cases since the default ordering can have gaps in it if tabs are closed and new ones are opened. I will test this out tomorrow and merge if everything's good.
You can ignore the luacheck failure, it's unrelated to this PR. Commit message is fine too, I will update it when/if I merge :)

The tabpage handle (from nvim_get_current_tabpage() ) can have gaps because it doesn't change when tabs are opened or closed. But the number (from nvim_tabpage_get_number({tabpage})) is kept updated and is what is used when you do {count}gt or go to the next/previous tab.

This works for me and fixes the issue, thanks! Sorry for taking so long to get to this.


figure out CreateReactApp service worker caching deal

the CRA system has a funky service worker that is supposed to help keep your app alive even if offline. However, this has implications for caching and new versions. It seems that people to no automatically get the latest version of the app when we roll out a new one.
Given the likelihood of frequent changes, we need this to be much more responsive.
@iamwillbar can you help here?
I know some work was done previously but there still seem to be challenges.
Does seem like things eventually update but it can take 24 hours or something. If we need to change the service and the site together that could be quite challenging

Do we even need this? Wondering if it's worth the added complexity. If the web server is configured properly and we use unique asset URLs to bust the cache (e.g. when you include the

@mynameistechno that's what I was wondering as well, my understanding is that the service worker is really to support PWAs which we're not (yet).

Adding this to the Hackathon project as a potential work area. someone who knows about (or is interested in) this can likely configure something up. I don't think we really need this and it inhibits our ability to release new changes and users to get them.

An attempt to resolve this is in PR #213

done