enhance reconnect

Codecov Report
Base: 43.33% // Head: 43.44% // Increases project coverage by +0.11% :tada:

Coverage data is based on head (4b0af6c) compared to base (a7241d8).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@              Coverage Diff              @@
##           lee/uisee     #381      +/-   ##
=============================================
+ Coverage      43.33%   43.44%   +0.11%
=============================================
  Files            117      117
  Lines          35197    35197
=============================================
+ Hits           15254    15293      +39
+ Misses         19943    19904      -39

Impacted Files
Coverage Δ

src/mqtt/protocol/mqtt/mqtt_quic.c
0.00% <0.00%> (ø)

src/core/timer.c
92.20% <0.00%> (-5.20%)
:arrow_down:

src/core/list.c
84.61% <0.00%> (-1.29%)
:arrow_down:

src/platform/posix/posix_ipcconn.c
60.00% <0.00%> (-0.47%)
:arrow_down:

src/sp/transport/ipc/ipc.c
75.69% <0.00%> (-0.38%)
:arrow_down:

src/supplemental/tls/tls_common.c
72.72% <0.00%> (-0.30%)
:arrow_down:

src/platform/posix/posix_tcpconn.c
75.00% <0.00%> (ø)

src/supplemental/http/http_conn.c
70.42% <0.00%> (+0.28%)
:arrow_up:

src/sp/protocol/bus0/bus.c
94.78% <0.00%> (+0.47%)
:arrow_up:

src/core/pipe.c
75.28% <0.00%> (+0.57%)
:arrow_up:

... and 5 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Support Flutter App

Prisma Dart Client was originally built for the Dart server-side, and we look forward to introducing it in Flutter.
Progress

[x] iOS #364
[x] Android #370
[ ] #379
[ ] Linux - Prisma C-Abi engine not support - Working...
[ ] Windows - Prisma C-Abi engine not support - Working...
[ ] Web - Unplanned

Can not wait:)

@listepo
Thank you for looking forward to it, but I don't know how long it will take. Prisma officials have revealed that they are experimenting with the C ABI engine, but have not announced the time or plan.
It is not feasible to implement the C ABI engine as a third party because it has already failed once. After the build is completed, the upstream repo is Prisma's internal engine. They have many destructive commits every day, making it difficult for the downstream to maintain it continuously (especially if it is only me. case)
In order to achieve the unification of Dart Server-side and Flutter, WASM is the best choice. But the real problem is that Dart does not have the ability to load WASM natively. Flutter only experimentally allows Flutter code to be compiled into wasm.
Many helplessness and many problems are like mountains before our eyes, making it difficult to overcome.

https://github.com/prisma/prisma-engines/pull/4774
The latest news, the C ABI engine of Prisma Engines. Once it is Merge, I will immediately implement the support of Flutter.

news https://github.com/prisma/prisma-engines/pull/4793

is there any success?

@listepo

It has not been merged yet. Once it is merged to produce the C ABI engine, I will follow up immediately.

@listepo I noticed that it has been merged, thank you for bringing this matter to my attention again.
I am following up and looking for any information about the C ABI engine and official examples of its use in RN.
At present, it seems to only support SQLite, but it is sufficient, and most Flutter developers do not want to link to remote databases. SQLite+Prisma can help a large number of developers complete local data structure storage and have intuitive CRUD APIs

@medz I'll be happy to help with testing

Hy @medz i am using prisma-dart for my flutter desktop application. I didn't struggle or have error until now. How can i help?

All the above data table, numbers and authentication is implemented using prisma-dart.

Bad news, I still need to implement a C ABI engine myself. But Prisma has provided a great template

@medz How is it going? help is needed?

still need to implement a C ABI engine myself

why is that? In what way is theirs unsuited for this library? I'm also curious what your timeline is looking like, and am interested in helping. After getting https://github.com/openwebf/mercury fully working for my usecase, this library is what I'm waiting on to continue with https://github.com/RefractureMedia/refracture-music

Another potential route this project could take is use of https://github.com/fzyzcjy/flutter_rust_bridge , which appears to be reaching a reliable, efficient, and cross-platform state.

@MulverineX I hope that C Engine can also be applied on the server.

What do you mean? flutter_rust_bridge supports server-side Dart applications as well

@MulverineX flutter_rust_bridge is useful, but my plan is to write a general C Engine. flutter_rust_bridge will keep my code locked to a certain language, internally I'm using Zig. So I may also release a Zig version of Prisma in the future.
Prisma is officially experimenting with a static version of Android/iOS (only supports sqlite), because the binary engine in the current version has many problems, such as inconsistent messages and the inability to detect the exit of the main process and terminate the binary.
I'm writing it manually in Rust and, if nothing unexpected happens, will probably release it in two months. (I'm experimenting in a private repo, not in this repo to avoid polluting commits)

Is it possible to run the code on only MaOS with flutter?

@listepo APIs will not change, but customizing the Engine may be a disaster. But usually the Engine is provided for use by the Generator.

Is it possible to add support for the desktop version? like pure dart version for OS? load correct prisma-query-engine
now error
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Exception: No query engine binary found (prisma-query-engine) in [/Users/listepo/Library/Containers/com.example.flutterApplication/Data, /Users/listepo/Library/Containers/com.example.flutterApplication/Data/prisma, /Users/listepo/Library/Containers/com.example.flutterApplication/Data/.dart_tool]

put correct file into /Users/listepo/Library/Containers/com.example.flutterApplication/Data or etc

because for the operating system there is no difference, the code is launched only through dart or flutter

@medz can you give access to a private repository? I would like to help

So would I

News:
https://github.com/prisma/prisma/issues/24295
https://github.com/dart-lang/native/issues/934#issuecomment-1894151501
My implementation: I originally built the C ABI in Rust, but upstream prisma/prisma-engines had too many breaking changes for me to safely maintain (I had to keep an eye on upstream and fix it). Later, I used zig combined with prisma C ABI to create a unified engine for Android/iOS. I gave up because not all developers had zig installed on their computers. Finally, I created the flutter native plug-in directly. The problem I encounter now is that the prisma c abi engine is not a dylib, but a static library. Dart ffi does not support static libraries.
Now I have two options:

Use c/cpp link prisma c abi to re-create the APIs
Use the corresponding platform language to implement it through flutter channel on different platforms.

Pros and cons:
1: The client can be implemented uniformly to reduce maintenance difficulty, but the performance will be greatly reduced.
2: Through flutter channel, call c abi in the native language, no need to worry about performance issues. Channel message uses string for data interaction.
Worrying: Prisma C ABI engine only supports sqlite3, which is definitely enough as a local database for flutter. But the server-side still has to face the previous problems.

Now, I am working on the flutter branch, and I am going to sleep now, because I have been confused about the static library problem for several days, and finally found the problem, dart FFI does not support static libraries.
I will try more options tomorrow.

On iOS, another headache is that vendored_frameworks in the podspec is handled by flutter tools instead of cocoapods. This caused my configuration to not work. Maybe I'll try writing a shell to solve it. I hope so. I have encountered too many problems with flutter and dart ffi recently. Most of the issues found in the search were from a few years ago and there is no solution.

In my opinion, we should just go with Option 1 until https://github.com/prisma/prisma/issues/24295 is resolved

@listepo Would you like to hop into a voice call at some point to dig into this?

@MulverineX I experimented by adding a static library for vendored_frameworks to podcasts. Unable to find typing in Dart FFI, but can correctly link static libraries and find functions in the c file.
That is to say, a bridge needs to be built. Even if the bridge is beyond doubt, the only purpose is to compile it into a dynamic library and then call the static library of Prisma C-Abi.

News: Flutter support has achieved initial success. I use C to call the Prisma C-ABI engine static library functions, and then ffigen hides the static library functions, resulting in a dynamic library (its only purpose is to discover the Prisma QueryEngine static library and create APIs to call it)
The source code can now be viewed at https://github.com/medz/prisma-dart/tree/flutter/packages/prisma_flutter. Dart writing for APIs has not yet been completed. Currently, only one function for creation and initialization has been written ( create) can be seen at https://github.com/medz/prisma-dart/blob/flutter/packages/prisma_flutter/lib/src/query_engine.dart#L29.
An example of creating an engine can be viewed at https://github.com/medz/prisma-dart/blob/flutter/packages/prisma_flutter/example/lib/main.dart#L45
Currently, I am only developing on iOS support and solving the problem of Dart FFI not being able to discover third-party static libraries. (Native language code C/C++/Swift/Java can all find third-party static libraries, so you can use your own c files to perform function training)
The C-bridge code can be found at https://github.com/medz/prisma-dart/blob/flutter/packages/prisma_flutter/src/prisma_flutter.c.
This is delightful news.

These still need to happen, is this work that can be done in this repo? If that's the case, I'd like to help. This issue shouldn't be closed until all 5 native platforms are supported (WASM can be a separate issue)

News: I released orm v4.2.0 and orm_flutter v0.0.1 versions, and the integration documentation can be found at https://prisma.pub/getting-started/flutter.html, and I placed the demo program at https://github.com/medz/prisma-dart/tree/main/examples/flutter_with_orm

Next time I will start building support for Android.

@MulverineX

These still need to happen, is this work that can be done in this repo?

Yes, Linux/macOS/Windows can re-package the binary engine, initialize and download the binary engine during the running of the app.

This issue shouldn't be closed until all 5 native platforms are supported (WASM can be a separate issue).

Yes, the issue will not be closed until support for all native platforms except web is complete (sometimes the merge PR may be closed automatically and I will open it manually)

Of course, once iOS & Android support are in, an update can be published to allow those who are developing mobile-only apps to use it.

I won't release v1.x until all native platforms support it, and I will be releasing on v0.x for a long time to come.

These still need to happen, is this work that can be done in this repo? If that's the case, I'd like to help. This issue shouldn't be closed until all 5 native platforms are supported (WASM can be a separate issue)

Ideally, A version of the engine could be bundled with the app, to avoid requiring an online install. If that's how it works initially though, that's okay. Could you point me in the right direction, where I should work on getting initial support for desktop platforms in?

@MulverineX The desktop architecture is too complex, and each architecture corresponds to an engine. Therefore, during the application startup phase, it is most reasonable to determine whether an engine needs to be downloaded and enter the download waiting page. Otherwise, your desktop app might be very large.
For the mobile side, whether including library files in the app or downloading library files is completed by the developer before building, and the packaging will only include necessary files.
If Prisma provided a dynamic library, this problem would not exist. (But judging from the Prisma roadmap, it is unlikely to be possible for a long time)

Flutter requires per arch build regardless, most of the time. What added complexity is there here?
https://github.com/KRTirtho/spotube/releases/tag/v3.6.0

@MulverineX Maybe you're right, it seems complex architecture only happens on Linux. macOS/Windows can include binaries directly. It seems that a special flutter.assets converter needs to be written to solve the schema file problem on Linux. Maybe I’m overcomplicating my thoughts😊

News: Support flutter Android done.

Nice

@medz maybe it makes sense to rename from orm to prisma_client and orm_flutter to prisma_client_flutter?

@listepo I think the goal here is to improve this library to the point where it can be the defacto ORM for Flutter. It wasn't already a taken name, and Prisma is generally the best option out there. Obviously, the engine still needs some query crafting work to improve performance down the road. Still, since Prisma has corporate sponsors/investment I'm confident the team will continue to iterate. Also, since this library directly interacts with the query engine, client isn't exactly appropriate. prisma being in the main description is good enough for searchability.

@listepo I originally intended to do this, but the names are all taken (and not actually used). I tried to contact the author and the dart team through the pub.dev guide, but no emails were returned.

@listepo Another fact is that the prisma marketing team does not want third-party clients to use short prisma-related names. So you will see that the documentation website of prisma orm for dart was updated to Prisma Client Dart not long ago.

@medz how to create and use migrations?

@listepo Creating migrations is the same as Prisma, using the prisma migrate dev command.
To apply migrations, call the applyMigrations method on the engine
Documentation is here https://prisma.pub/getting-started/flutter.html#migrations

@medz thanks

I got error:
Got dependencies in /Users/listepo/GitHub/monorepo/client_app.
Error: Generator "dart run orm" failed:
Could not find package orm or file orm

Really looking forward to desktop platforms here, once they're available I can really begin to iterate on my app, as its targeting desktop first.

internally I'm using Zig. So I may also release a Zig version of Prisma in the future its very intresting

internally I'm using Zig. So I may also release a Zig version of Prisma in the future its very intresting

that would be amazing if Zig took off in the future.

Any news?

Any news?

@listepo Sorry, no new news. Maybe https://github.com/prisma/prisma-engines/pull/4913 is one of the news.
My original plan was to use the binary engine to build macOS/Windows/Linux support (of course, it is not a high priority) but I did not try my best to implement it for the following reasons:

Prisma engine has been working towards the WASM build goal

The binary engine has been phased out since last year (most of the third-party language implementations are still in use)

There is no clear direction for Prisma to move in. I can only work as hard as possible on the engine provided by Prisma, because any implementation of my own can be easily destroyed by the above. (This is not the scope of Prisma's official obligations)

My personal energy is really limited. To put it bluntly, China's current unemployment rate is very high and everyone is working hard to make a living, otherwise they will not be able to eat tomorrow. (I am no exception)

Combining the above, it is difficult for Prisma Dart to make new breakthroughs. Completing similar implementations for most of the Prisma official engine is the best I can do at this point.

This could be very powerful, but it does come with a small performance hit
Im not sure what this means, but dont those third party implementations all rely on the binary engine in some way?
Completely understandable, keeping up with constant internal changes would be a massive pain and is infeasible for one person to maintain.
My most sincere condolences, its very difficult to make fulfilling & productive career/hobby choices in such a tight job market. I can sympathize a little, as I've had a tough time finding a software company to take a chance on me. I'm lucky to be living with my parents still though. It seems that most of the world is headed into a recession. I wish I could donate more and/or that some startups would take notice of this project and fund its development 😮💨. Good luck out there, hoping that you find some stability and rest soon.

@MulverineX
Thank you for your understanding and support.

This could be very powerful, but it does come with a small performance hit

This means that it becomes more difficult to use the Prisma engine in environments that do not support loading WASM natively. Currently, other third-party languages have strong official or community support for loading WASM modules, but Dart does not. The Dart official team is currently committed to using Dart to build WASM modules and has no plans to load WASM modules at the moment.

Im not sure what this means, but dont those third party implementations all rely on the binary engine in some way?

Yes, currently third-party languages are using the Prisma binary engine. But almost all Prisma official clients are no longer used.
As far as I know, the Wasm version of the last Scheme Engine in Prisma's official engine is about to be built. Perhaps after the last remaining binary engine implemented WASM migration, several versions of bug fixes were made. Prisma official will no longer maintain or even completely stop building binary engines (this is just my guess, because continuing to maintain binary engines after all switches to WASM is meaningless for Prisma official and will increase costs)

strong official or community support for loading WASM modules, but Dart does not.

luckily this is actually not the case!
https://github.com/juancastillo0/wasm_run

yes native code better

@listepo Unfortunately, I deleted it after Prisma released the CABI engine. Because its essence is to use Rust FFI to write C ABI, and then call it from Zig to build a unified engine.

I am sorry that I deleted it after trying this technology (because I gave up the huge upstream dependency work)
Currently, the only thing left of Prisma Dart is the client based on the official Prisma engine.

Again, I am sorry that I no longer have the energy to try new technologies. My current personal plan for Prisma Dart (not disclosed) is as follows:

Stability maintenance (I will fix it once someone submits a bug)

Remove code_buinder from the code base (very low priority, I have always planned to remove code_builder/build_runner/json_serializable, and it took me a long time to successfully remove the build_* ecosystem package)

Migrate fromJson and toJson of // to macros. (Once macros enters the official version of Dart SDK, the experimental flag will not be required)

And my company has already given up using the Zig language. Forgive me for being too busy to do anything else. I can only keep up with the normal bug fixes for the open source project. (Because my company has once again reached the point where I am the only one left, I must find a way to save it and ensure my livelihood)

News：

🎉Now @Prisma Dart v5.2.1 is released with @FlutterDev integration v0.4, using a new package architecture:

🌲We can easily implement more platform integrations in the future.

@kidusdev Hey, the way you integrate Flutter with Prisma in Windows is exactly what I will do next to support macOS, WIndows, and Linux. Interested in contributing it?
There is already a ready-made implementation of the binary engine in the orm package, and the integration of the remaining three platforms is just to make it easier for Flutter Desktop to get the engine (just depend on it)
In the orm_flutter package, it just determines the platform and forwards the engine instance.
This request is because I need to complete more complex web integration, which usually uses WASM and uses lower-level APIs.


Make gremlin-groovy an optional dependency of tinkergraph-gremlin

Not every use of Tinkergraph is Groovy based.

Use of <optional> is interesting here. TinkerGraph only depends on gremlin-groovy because of the  plugin infrastructure.  In the case where TinkerGraph is used as a plugin, it would be expected that gremlin-groovy would be provided by the infrastructure that was hosting it (i.e gremlin-console and gremlin-server).
In that sense, would provided scope be better for gremlin-groovy?

@spmallette - great point... the PR has been updated.

Thanks @jkschneider - took me a bit longer than expected to merge this, but it's in there now.


Get coordinates selected in map

Hi, firstly congratulations for your job....that's great. I would like use this api and i have save in one repository the location (lat/long) user selected/positioned marker in map. This is possible? If no, do you get any suggestion on how I can implement that? Thank you very much.

@qntapps to accomplish what you want, you will need to subscribe to markers client events.
This sample can show you how and This answer  can give you some insides about your specifics.
Let me know if you need something else.

@jmelosegui, thanks for your response. I'll try your suggestion in this weekend but i think it's just that
i need. I send feedback for you After ...thanks!


Add option to UnivariateDriftCalculator to explicitly mark columns as categorical

Motivation: describe the problem to be solved
The univariate drift calculator treats continuous and categorical columns different, i.e. it applies different methods of drift detection to them.
NannyML uses the column dtype to figure out if a column is to be considered continuous or categorical.
In some cases, e.g. in the case of target data, classes may be indicated using 0 and 1. These would be interpreted as continuous values, why they should be treated as categorical.
Currently the only workaround for this is explicitly converting these columns using astype("category"), but this causes issues when the dataset is used for other calculators, e.g. realized or estimated performance.
Describe the solution you'd like
There should be a treat_as_categorical parameter for the univariate drift calculator that allows one to specify a list of columns to be interpreted as categorical data. As a result these would be converted as part of the inner workings of the calculator, without modifying the original dataset.
There are two options for dealing with the column_names and treat_as_categorical parameters`:

column_names keeps its current implementation, i.e. it is a list of all columns to include. You use the treat_as_categorical parameter to provide an list of overrides. It will contain column names that are already in the column_names parrameter. Pro: current behavior doesn't change, con: how to deal with columns in the treat_as_categorical list that are not in the column_names list. Might introduce confusion.
column_names lists all columns to be treated as they are, treat_as_categorical lists all columns to be explicitly treated as categorical. Ideally no columns of one parameter are present in the other. The combination of both forms the full list of columns that will be used by the calculator.

Examples:
Option 1
column_names = ['wfh_prev_workday', 'workday', 'tenure', 'y_pred_proba', 'y_pred', 'y_true']  # 'y_pred' and 'y_true' present

calc = nml.UnivariateDriftCalculator(
    column_names=column_names,
    treat_as_categorical=['y_pred', 'y_true'],
    timestamp_column_name='timestamp',
    continuous_methods=['kolmogorov_smirnov', 'jensen_shannon'],
    categorical_methods=['chi2', 'jensen_shannon'],
)

Option 2
column_names = ['wfh_prev_workday', 'workday', 'tenure', 'y_pred_proba']  # no 'y_pred' and 'y_true' present

calc = nml.UnivariateDriftCalculator(
    column_names=column_names,
    treat_as_categorical=['y_pred', 'y_true'],
    timestamp_column_name='timestamp',
    continuous_methods=['kolmogorov_smirnov', 'jensen_shannon'],
    categorical_methods=['chi2', 'jensen_shannon'],
)

@PieDude12 @WojtekNML thoughts on option 1 vs option 2?


Support script property

This allows you to set a script property inside Tiled that is then set on an imported Node. This means YATI can continue doing its existing imports and conversions, translating Tiled position and sizes, and users can attach a script to them just as they would later in Godot.
Marked as a draft, as this is my first PR here; want and am very ready and open for feedback.
I still need to make a commit to update the docs and better test the C# code.

Great!
Only one thing: For the sake of consistency, I'd prefer naming the property 'godot_script' and (C#) declaring it as private const string GodotScriptProperty = 'godot_script' at the start of the file, analogous to the 'godot_group' property.
And use this string constant in the property handler.
Similar but following their variable naming conventions in the GDScript version(s).

And done.


DPRINT prints wrong grid for SliceRange::hw0_32_4()

To reproduce: uncomment line 24 of tt_metal/hw/inc/debug/dprint_test_common.h, and run build/test/tt_metal/unit_tests_fast_dispatch --gtest_filter=*.TestPrintFromAllHarts. Issue is that we expect a 8x8 grid, but we get an 8x5 grid with the 5th row being incorrect.

PR: https://github.com/tenstorrent-metal/tt-metal/pull/4159
Has the fix for this. Issue was a bug in the slicerange truncation logic.


Publish ocaml-gen and ocaml-gen-derive automatically on crates.io

See https://github.com/o1-labs/ocaml-gen/issues/16

Done since a long time. Closing


Touch events don't return any point coordinates

Problem
I'm trying to create a draggable bottom sheet, if it's gonna work on mobile browsers I can't use ondrag but I have to go with ontouchmove. The problem is that the ontouchstart, ontouchmove and ontouchend event don't give any data on the pointer or touch coordinates which makes them essentially useless.
Steps To Reproduce
Open a new project, include these dependencies in Cargo.toml
log = "0.4.20"
wasm-logger = "0.2.0"

Put this source in the main.rs:
#![allow(non_snake_case)]
use dioxus::prelude::*;

fn main() {
    wasm_logger::init(wasm_logger::Config::default());
    dioxus_web::launch(App);
}

fn App(cx: Scope) -> Element {
    cx.render(rsx! {
        div {
            key: "drawer",
            class: "drawer",
            height: "150px",
            width: "150px",
            draggable: "true",

            ontouchstart: move |event| {
                let x = event.data;
                log::info!("OnTouchStart: {:#?}", x);
            },
            ontouchmove: move |event| {
                let x = event.data;
                log::info!("OnTouchMove: {:#?}", x);
            },
            ontouchend: move |event| {
                let x = event.data;
                log::info!("OnTouchEnd: {:#?}", x);
            }
        }
    })
}

Expected behavior
It would be expected to be able to access touch coordinate data via something like event.data.touches[n] but the TouchData struct doesn't have any of that.
Environment:

Dioxus version: [dioxus 0.4.1]
Rust version: [rustc 1.72.0 (5680fa18f 2023-08-23)]
OS info:

OS: macOS 13.4 22F66 arm64
Host: MacBookPro18,3
Kernel: 22.5.0
Uptime: 18 mins
Packages: 244 (brew)
Shell: zsh 5.9
Resolution: 1512x982
DE: Aqua
WM: Rectangle
Terminal: /dev/ttys010
CPU: Apple M1 Pro
GPU: Apple M1 Pro
Memory: 2310MiB / 16384MiB

App platform: [web/wasm]

#1402 will add revamped coordinates for pointer events, which support both touch and mouse events. @ealmloff would it be possible to also expose the new common trait for touch events?

https://github.com/DioxusLabs/dioxus/pull/1402 will add revamped coordinates for pointer events, which support both touch and mouse events. @ealmloff would it be possible to also expose the new common trait for touch events?

Yes, this should be implemented on top of that PR. This might be better as a separate PR on top of that one so it doesn't get too large to review. That PR just reorganizes events, adding a new event seems like a natural stopping point


Memory Management for Model object

Hi,
I have read through memory_management.md document. In the document , there is an example like below:
// Buffer for the tensor arena:
size_t tensor_arena_size = 2048;
uint8_t tensor_arena[tensor_arena_size];

// Interpreter using the shared tensor arena above:
tflite::MicroInterpreter interpreter(
  tflite::GetModel(my_model_data), ops_resolver,
  tensor_arena, tensor_arena_size);

// Invoke one time which will allocate internals:
if (interpreter.Invoke() != kTfLiteOk) {
  MicroPrintf("Exception during invoke()!");
}

Do we need to manage the memory  of the Model * object created by  tflite::GetModel(my_model_data) or should we just leave it as it is throughout the lifetime of the application?
And  are we only responsible for the memory management of tflite::MicroInterpreter interpreter object?

The result of tflite::GetModel() does not need to be managed.  Internally, it is just a pointer to a location inside my_model_data.
You are responsible for the memory management of my_model_data and the instantiation of the MicroInterpreter.  Your my_model_data will typically be part of your program data, so there is nothing more you need to do.  The interpreter variable is typically declared static and a pointer to it assigned to a global variable so you can reference it elsewhere in your application:
tflite::MicroInterpreter* my_interpreter;

void main() {
...

// Interpreter using the shared tensor arena above:
static tflite::MicroInterpreter interpreter(
  tflite::GetModel(my_model_data), ops_resolver,
  tensor_arena, tensor_arena_size);

my_interpreter = &interpreter;

...
}


exe and folders does not work

Hello. After installing and configuring, I ran into the problem that Canarytoken does not see the exe and folder launch. Although it sees when doc or pdf is running. Have you encountered similar?

Hi @knayt,
Lets see if we can get to the bottom of this. Would you mind telling me a little about your setup? Maybe sharing your config.
Just so we on the right track; are you saying:

exe canarytoken isnt triggering when you run the exe?
folder canarytoken isnt triggering when you open the folder?

Hi @jayjb . Thanks for the answer. I will try to answer in order.
Installed docker on digitalocean.
frontend.env
CANARY_DOMAINS=canary.domain.online
CANARY_NXDOMAINS=pdf.canary.domain.online
#CANARY_GOOGLE_API_KEY=
CANARY_WEB_IMAGE_UPLOAD_PATH=/uploads
#Enter number so 1024*1024*10 = 10485760
CANARY_MAX_UPLOAD_SIZE=10485760
LOG_FILE=frontend.log
switchboard.env
CANARY_PUBLIC_IP=<IP_ADDRESS>
CANARY_PUBLIC_DOMAIN=canary.domain.online
CANARY_TOKEN_RETURN=fortune
CANARY_WEB_IMAGE_UPLOAD_PATH=/uploads
LOG_FILE=switchboard.log
# Default protocol to use in notification links. If you don't use LetsEncrypt, set to http
PROTOCOL=https
Yes exe and folder canarytoken isnt triggering.
But pdf and doc works.

Hi @knayt,
Sorry for the delayed response. Would you mind letting me know how you are trying to trigger those two tokens?
The exe token uses the HTTP channel (which is the same as the doc token) so im trying to figure why one would get a connection through, but not the other.
The same situation for the pdf and folder tokens. Both use the DNS channel and so I'm interested in why one is resolving and not the other.

It seems to me that there might be a problem in resource.dll.
Since the folder is accessing %USERNAME%.%COMPUTERNAME%.%USERDOMAIN%.INI.xxxxx.canary.domain.online/resource.dll
I have not found this file for myself

Hi @knayt,
Sorry for the delay.

It seems to me that there might be a problem in resource.dll.
Since the folder is accessing >%USERNAME%.%COMPUTERNAME%.%USERDOMAIN%.INI.xxxxx.canary.domain.online/resource.dll
I have not found this file for myself
You wont find this file because we dont create it. What is happening is that we are forcing Windows to make a DNS query to try resolve %USERNAME%.%COMPUTERNAME%.%USERDOMAIN%.INI.xxxxx.canary.domain.online. We would receive the request and know that someone has opened that directory.

When I do the same on your website, everything works =)
Ok ok, so it means that there is something happening with the networking here.

Can you confirm that a normal Web token works when opening it in a web browser
Can you confirm that a DNS token works when trying to resolve the token: host XXXXXXX.canary.domain.online

Hi @knayt,
Sorry for the delay.

It seems to me that there might be a problem in resource.dll.
Since the folder is accessing >%USERNAME%.%COMPUTERNAME%.%USERDOMAIN%.INI.xxxxx.canary.domain.online/resource.dll
I have not found this file for myself
You wont find this file because we dont create it. What is happening is that we are forcing Windows to make a DNS query to try resolve %USERNAME%.%COMPUTERNAME%.%USERDOMAIN%.INI.xxxxx.canary.domain.online. We would receive the request and know that someone has opened that directory.

When I do the same on your website, everything works =)
Ok ok, so it means that there is something happening with the networking here.

Can you confirm that a normal Web token works when opening it in a web browser
Can you confirm that a DNS token works when trying to resolve the token: host XXXXXXX.canary.domain.online

Hi @jayjb

Yes, Web token works.
DNS token not works. Page not loading.

Perhaps the matter is in the NS domain canary.domain.online?
I have such settings:
canary.domain.online
A <IP_ADDRESS>
pdf.canary.domain.online
NS canary.domain.online.
*.canary.domain.online
NS canary.domain.online.

Hi @jayjb

Yes, Web token works.
DNS token not works. Page not loading.

Perhaps the matter is in the NS domain canary.domain.online?
I have such settings:
canary.domain.online
A <IP_ADDRESS>
pdf.canary.domain.online
NS canary.domain.online.
*.canary.domain.online
NS canary.domain.online.

Hi @knayt,
Thanks for the details. For the DNS test, i wouldnt expect a page to load, but I would expect the token to trigger. So for the basic DNS token functionality, we need to ensure that if you host canary.domain.online that it returns the IP of your Canarytokens server. Does it do that?

Closing this issue due to inactivity. Please reopen the issue if you would like to continue the discussion.


I can serve at remote page, but can't serve at local

Checklist

[x] I have read the tutorials and know the correct effect of the functional design.
[x] There are no similar question on existing issues (including closed ones).
[x] I searched the Internet for related problems, but still couldn't solve it.
[x] My question is based on the latest code of master branch.

Description

Thank you for reading this, And please understand that I am not good at English.
I finished the tutorial and I have written my blog well, but there is an error locally in 2 articles.
Code runs well in github.io, but it only generates 404 pages local server in my computer.
Can I know why? I can't find it when I search.
Both <IP_ADDRESS>:4000 and localhost:4000 have the same results.
I use Window10, chrome.

This is github.io. It succeed.

This is local. It is failed.

 Thank you. I just downloaded Ruby.


Cannot use Tulip indicator

Thanks for your great work
I am using tulip indicator. I installed it by npm install<EMAIL_ADDRESS>After that, I ran the command node gekko --ui, I got the result
TAlib is enabled
TULIP indicators is disabled
Serving Gekko UI on http://localhost:3000/

What should I do to enable TULIP? Secondly, I tried tulip-macd but I got the error as below. How should I do?
017-10-31 12:33:27 (INFO):	Setting up:
2017-10-31 12:33:27 (INFO):		 Trading Advisor
2017-10-31 12:33:27 (INFO):		 Calculate trading advice
2017-10-31 12:33:27 (INFO):		 Using the strategy: tulip-macd
  xxx POST /api/backtest 500 111ms -

  Error: non-error thrown: Child process has died.
      at Object.onerror (/home/john/gekko/node_modules/koa/lib/context.js:105:40)
      at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

talib and tulip are two different tools that calculate TA indicators: you just installed talib, whilst you wanted to install tulip. This is how you can install tulip as well:
npm install tulind

Sorry about that, I was mistake. I installed based on your command i got the error

><EMAIL_ADDRESS>install /home/john/gekko/node_modules/tulind
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(404): https://tulipnode.s3.amazonaws.com/tulind/v0.8.7/Release/tulind-v0.8.7-node-v57-linux-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v57 ABI) (falling back to source compile with node-gyp)
module.js:529
    throw err;
    ^

Error: Cannot find module 'internal/errors'
    at Function.Module._resolveFilename (module.js:527:15)
    at Function.Module._load (module.js:476:23)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at evalmachine.<anonymous>:36:16
    at Object.<anonymous> (/usr/lib/node_modules/npm/node_modules/graceful-fs/fs.js:11:8)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js clean' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/home/john/gekko/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:125:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:927:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Linux 4.2.0-27-generic
node-pre-gyp ERR! command "/usr/local/bin/node" "/home/john/gekko/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /home/john/gekko/node_modules/tulind
node-pre-gyp ERR! node -v v8.6.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.38
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js clean' (1)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/john/.npm/_logs/2017-10-31T07_36_21_249Z-debug.log

could you try downloading nodejs LTS and try again?
On Tue, Oct 31, 2017 at 2:38 PM, John1231983<EMAIL_ADDRESS>wrote:

Sorry about that, I was mistake. I installed based on your command i got
the error

<EMAIL_ADDRESS>install /home/john/gekko/node_modules/tulind
node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(404): https://tulipnode.s3.amazonaws.com/tulind/v0.8.7/Release/tulind-v0.8.7-node-v57-linux-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v57 ABI) (falling back to source compile with node-gyp)
module.js:529
throw err;
^
Error: Cannot find module 'internal/errors'
at Function.Module._resolveFilename (module.js:527:15)
at Function.Module._load (module.js:476:23)
at Module.require (module.js:568:17)
at require (internal/module.js:11:18)
at evalmachine.:36:16
at Object. (/usr/lib/node_modules/npm/node_modules/graceful-fs/fs.js:11:8)
at Module._compile (module.js:624:30)
at Object.Module._extensions..js (module.js:635:10)
at Module.load (module.js:545:32)
at tryModuleLoad (module.js:508:12)
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js clean' (1)
node-pre-gyp ERR! stack     at ChildProcess. (/home/john/gekko/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:125:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:927:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Linux 4.2.0-27-generic
node-pre-gyp ERR! command "/usr/local/bin/node" "/home/john/gekko/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /home/john/gekko/node_modules/tulind
node-pre-gyp ERR! node -v v8.6.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.38
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js clean' (1)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node-pre-gyp install --fallback-to-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!
Reply to this email directly, view it on GitHub
https://github.com/askmike/gekko/issues/1273#issuecomment-340683704, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA7MD1ZbtLZv_Xocd009uwTsHYBOpcPYks5sxs5YgaJpZM4QMKVY
.

--
PGP key at keybase.io/mikevanrossum
https://keybase.io/mikevanrossum/key.asc

Thank you for your help. I write my anwser that can helps someone
First, I must downgrade the version of node (I am using 8.6.0), so I need to use 6.9.0 by
nvm install 6.9.0
nvm use 6.9.0
npm install tulind
npm install<EMAIL_ADDRESS>
Then it will work well.

great stuff :)

install manually before npm install.. try this npm install --build-from-source
this work for me.

Sorry to re-discuss this issue but I'm seeing errors when trying to install Tulip indicators and not sure what to make of it. Is it because my version of node is too new and needs to be reverted? If so, I'm having a lot of separate issues regarding that. Here's my output when trying to install Tulip.

<EMAIL_ADDRESS>install /Users/mattboyd/gekko/node_modules/tulind
node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp WARN Tried to download(404): https://tulipnode.s3.amazonaws.com/tulind/v0.8.13/Release/tulind-v0.8.13-node-v67-darwin-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v67 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp WARN Pre-built binaries not installable for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v67 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp WARN Hit error Connection closed while downloading tarball file
gypgyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gypgyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
CXX(target) Release/obj.target/tulind/tulind.o
CXX(target) Release/obj.target/tulind/tulind.o
In file included from In file included from ../tulind.cpp:25../tulind.cpp:
:In file included from 25../../nan/nan.h:
:In file included from 203../../nan/nan.h:
:In file included from 203../../nan/nan_new.h:
:In file included from 189../../nan/nan_new.h:
:189:
../../nan/nan_implementation_12_inl.h:337:28: warning: 'New' is deprecated: Use
Isolate* version [-Wdeprecated-declarations]
return v8::StringObject::New(value).Asv8::StringObject();
^
../../nan/nan_implementation_12_inl.h:337:28: warning: 'New' is deprecated: Use
Isolate* version [-Wdeprecated-declarations]
return v8::StringObject::New(value).Asv8::StringObject();
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:5241:3: /Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:5241:3: note: 'New' has note: 'New' has been
explicitly marked deprecated here
been
explicitly marked deprecated   V8_DEPRECATED("Use Isolate* version",here
^
V8_DEPRECATED("Use Isolate* version",
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h:326:/Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h29::326 :29:note : expandednote
:       from expandedmacro
'V8_DEPRECATED'from
macro 'V8_DEPRECATED'
declarator attribute((deprecated(message)))
^
declarator attribute((deprecated(message)))
^
In file included from ../tulind.cpp:25:
../../nan/nan.h:1034:44: warning: 'ToString' is deprecated: Use maybe version
[-Wdeprecated-declarations]
v8::Localv8::String string = from->ToString();
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:2548:10: note: 'ToString' has
been explicitly marked deprecated here
inline V8_DEPRECATED("Use maybe version", Local ToString() const);
^In file included from
../tulind.cpp:25:
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h:../../nan/nan.h326::103429::44 : note: expandedwarning
:       from macro 'ToString''V8_DEPRECATED' is
deprecated: Use maybe version
[-Wdeprecated-declarations]
declarator attribute((deprecated(message)))
^
v8::Localv8::String string = from->ToString();
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:2548:10: note: 'ToString' has
been explicitly marked deprecated here
inline V8_DEPRECATED("Use maybe version", Local ToString() const);
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h:326:29: note: expanded
from macro 'V8_DEPRECATED'
declarator attribute((deprecated(message)))
^
In file included from ../tulind.cpp:25:
../../nan/nan.h:1044:27: warning: 'WriteUtf8' is deprecated: Use Isolate*
version [-Wdeprecated-declarations]
length_ = string->WriteUtf8(str_, static_cast(len), 0, flags);
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:2753:3: note: 'WriteUtf8' has
been explicitly marked deprecated here
V8_DEPRECATED("Use Isolate* version",
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h:326:29: In file included from ../tulind.cppnote:: 25:
expanded
../../nan/nan.h      :from1044 :macro27 :'V8_DEPRECATED'
warning: 'WriteUtf8' is deprecated: Use  declarator attribute((deprecated(message)))
Isolate*
^
version [-Wdeprecated-declarations]
length_ = string->WriteUtf8(str_, static_cast(len), 0, flags);
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:2753:3: note: 'WriteUtf8' has
been explicitly marked deprecated here
V8_DEPRECATED("Use Isolate* version",
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h:326:29: note: expanded
from macro 'V8_DEPRECATED'
declarator attribute((deprecated(message)))
^
../tulind.cpp:38:64: warning: 'NumberValue' is deprecated: Use maybe version
[-Wdeprecated-declarations]
ret[i] = Nan::Get(input, i + offset).ToLocalChecked()->NumberValue();
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:2569:3: note: 'NumberValue'
has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h:326:29: note: expanded
from macro 'V8_DEPRECATED'
declarator attribute((deprecated(message)))
^
../tulind.cpp:62:37: warning: 'NumberValue' is deprecated: Use maybe version
[-Wdeprecated-declarations]
const int index = (int)info[0]->NumberValue();
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:2569:3: note: 'NumberValue'
has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h:326:29: note: expanded
from macro 'V8_DEPRECATED'
declarator attribute((deprecated(message)))
^
../tulind.cpp:38:64: warning: 'NumberValue' is deprecated: Use maybe version
[-Wdeprecated-declarations]
ret[i] = Nan::Get(input, i + offset).ToLocalChecked()->NumberValue();
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:2569:3: note: 'NumberValue'
has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h:326:29: note: expanded
from macro 'V8_DEPRECATED'
declarator attribute((deprecated(message)))
^
../tulind.cpp:62:37: warning: 'NumberValue' is deprecated: Use maybe version
[-Wdeprecated-declarations]
const int index = (int)info[0]->NumberValue();
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:2569:3: note: 'NumberValue'
has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h:326:29: note: expanded
from macro 'V8_DEPRECATED'
declarator attribute((deprecated(message)))
^
../tulind.cpp../tulind.cpp::7272::2222::  warning: warning: comparison of comparisonintegers  ofof  differentintegers  signs:of
'const int'different  andsigns: 'uint32_t'
(aka 'unsigned int')'const int'  [-Wsign-compare]and
'uint32_t' (aka 'unsigned int') [-Wsign-compare]
if (ind->options != options->Length()) {
~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~
if (ind->options != options->Length()) {
~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~
../tulind.cpp../tulind.cpp::116116::3737::  warning: warning: 'NumberValue' is'NumberValue'  deprecated:is  Use deprecated:maybe  Useversion
maybe[-Wdeprecated-declarations] version
  [-Wdeprecated-declarations]
const int index = (int)info[0]->NumberValue();
                                ^
const int index = (int)info[0]->NumberValue();/Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:

2569:                                    ^3
: note: 'NumberValue'
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8.h:2569:3      : has beennote : explicitly 'NumberValue'marked
deprecatedhas  herebeen
explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", double NumberValue() const);
V8_DEPRECATED("Use maybe version", double NumberValue() const);  ^
^
/Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h:326:29: /Users/mattboyd/.node-gyp/11.4.0/include/node/v8config.h:note326: :29expanded:
from macronote : 'V8_DEPRECATED'
expanded
from macro 'V8_DEPRECATED'
declarator attribute((deprecated(message)))
^
declarator attribute((deprecated(message)))
^
../tulind.cpp../tulind.cpp::236236::1010::  warning: warning: 'MakeCallback' is'MakeCallback'  deprecatedis
[-Wdeprecated-declarations]deprecated
  [-Wdeprecated-declarations]
Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callbackHandle...
     ^

../../nan/nan.h:    Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callbackHandle...
929         ^
:3: ../../nan/nan.hnote:: 929:'MakeCallback'3 :has  been noteexplicitly:  marked'MakeCallback'
has       beendeprecated  explicitlyhere marked
  deprecated here

NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^
NAN_DEPRECATED inline v8::Localv8::Value MakeCallback(
^../../nan/nan.h
:98:40: note: ../../nan/nan.h:expanded98 from: 40macro: 'NAN_DEPRECATED'
note: expanded from macro 'NAN_DEPRECATED'
define NAN_DEPRECATED attribute((deprecated))
                                   ^

define NAN_DEPRECATED attribute((deprecated))
                                   ^

../tulind.cpp:127:21: warning: comparison of integers of different signs:
'const int' and 'uint32_t' (aka 'unsigned int') [-Wsign-compare]../tulind.cpp
:127:21: warning: comparison of     if (ind->inputs != inputs->Length()) {integers
of        ~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~
different signs:
'const int'../tulind.cpp :134and: 22:'uint32_t'  (aka 'unsigned int') warning: [-Wsign-compare]
comparison of integers of different signs:
'const int' and 'uint32_t' (aka 'unsigned int') [-Wsign-compare]
if (ind->inputs != inputs->Length()) {
~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~
if (ind->options != options->Length()) {
../tulind.cpp:        ~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~
134:22: warning: comparison of integers of different signs:
'const int' and 'uint32_t' (aka 'unsigned int') [-Wsign-compare]
if (ind->options != options->Length()) {
~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~
10 warnings generated.
10 warnings generated.
rm: ./Release/.deps/Release/obj.target/tulind/tulind.o.d.raw: No such file or directory
make: *** [Release/obj.target/tulind/tulind.o] Error 1
gyp ERR! build error
CC(target) Release/obj.target/tulind/external/tiamalgamation.o
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:254:12)
gyp ERR! System Darwin 17.7.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/mattboyd/gekko/node_modules/tulind/lib/binding/Release/node-v67-darwin-x64/tulind.node" "--module_name=tulind" "--module_path=/Users/mattboyd/gekko/node_modules/tulind/lib/binding/Release/node-v67-darwin-x64" "--napi_version=3" "--node_abi_napi=napi"
gyp ERR! cwd /Users/mattboyd/gekko/node_modules/tulind
gyp ERR! node -v v11.4.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/mattboyd/gekko/node_modules/tulind/lib/binding/Release/node-v67-darwin-x64/tulind.node --module_name=tulind --module_path=/Users/mattboyd/gekko/node_modules/tulind/lib/binding/Release/node-v67-darwin-x64 --napi_version=3 --node_abi_napi=napi' (1)
node-pre-gyp ERR! stack     at ChildProcess. (/Users/mattboyd/gekko/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:978:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)
node-pre-gyp ERR! System Darwin 17.7.0
node-pre-gyp ERR! command "/usr/local/bin/node" "/Users/mattboyd/gekko/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /Users/mattboyd/gekko/node_modules/tulind
node-pre-gyp ERR! node -v v11.4.0
node-pre-gyp ERR! node-pre-gyp -v v0.10.3
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/mattboyd/gekko/node_modules/tulind/lib/binding/Release/node-v67-darwin-x64/tulind.node --module_name=tulind --module_path=/Users/mattboyd/gekko/node_modules/tulind/lib/binding/Release/node-v67-darwin-x64 --napi_version=3 --node_abi_napi=napi' (1)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node-pre-gyp install --fallback-to-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      /Users/mattboyd/.npm/_logs/2018-12-19T20_07_30_812Z-debug.log
Matts-Air-2:gekko mattboyd$ clang: error: no such file or directory: '../external/tiamalgamation.c'
clang: error: no input files
make: *** [Release/obj.target/tulind/external/tiamalgamation.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:254:12)
gyp ERR! System Darwin 17.7.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/mattboyd/gekko/node_modules/tulind/lib/binding/Release/node-v67-darwin-x64/tulind.node" "--module_name=tulind" "--module_path=/Users/mattboyd/gekko/node_modules/tulind/lib/binding/Release/node-v67-darwin-x64" "--napi_version=3" "--node_abi_napi=napi"
gyp ERR! cwd /Users/mattboyd/gekko/node_modules/tulind
gyp ERR! node -v v11.4.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok


Status bar blame message flicker

When changing lines in a document (with the mouse or the arrow keys) the status bar blame message flickers while it's loading the new one.
This is somewhat distracting, wouldn't it be possible to leave the status bar message as is until the new text is ready to replace it ?
Thank you

GitLens Version: 8.0.0
VSCode Version: 1.19.3
OS Version: Windows 8.1

Steps to Reproduce:

Enable statusbar blame display
Move the cursor around

Although I like the behavior of clearing the outdated information while you are changing lines (it is more accurate), I can certainly see the desire to not want the flicker. So in the next release, there will be a new setting "gitlens.statusBar.reduceFlicker": true|false which will trade immediate accuracy for less flickering.

Thank you for reacting so fast to user feedback, it is very much appreciated!


Secrets not auto populating

I installed JX on EKS but secrets don't seem to have auto populated. Any reason why this would have happened?

Hello - I have the same issue following the steps in the readme.

From the jx admin log it seems this may be the culprit:
Error: failed to find hmac token from secret: could not find lighthouse hmac token lighthouse-hmac-token in namespace jx: secrets "lighthouse-hmac-token" not found

Any ideas how to resolve the issue?

Please update to the latest version of the eks-jx module, it's fixed there.

I think this may be related to issue #20 , I'll repost my setup here incase it helps.
I just experienced the same issue on EKS 1.15.46.
here is my setup
main.tf
module "eks-jx" {
  source               = "jenkins-x/eks-jx/aws"
  version              = "1.15.46"
...
}

variables.tf
variable "cluster_version" {
  description = "Kubernetes version to use for the EKS cluster."
  type        = string
  default     = "1.21"
}
variable "nginx_chart_version" {
  type        = string
  description = "nginx chart version"
  default     = "3.12.0"
}

I just retried with cluster_version 1.20 instead of 1.21 and I'm still running into this issue. @ankitm123 what information do you need from me to be able to debug this?

Still the same issue . Also GKE version faces the same problem . Is this a terraform bug by any chance ?

What is the output of the external-secrets pod in the secret-infra namespace and vault pod in the jx-vault namespace?

I got the same issue.
EKS: 1.20 and 1.21
I have three private subnets in advance.

vpc
data "aws_availability_zones" "available" {
  state = "available"
}

resource "aws_eip" "nat" {
  count = local.public_count
  tags = {
    Name = "jx-nat-${count.index}"
  }
  vpc = true
}

resource "aws_internet_gateway" "main" {
  tags = {
    Name = "jx"
  }
  vpc_id = aws_vpc.main.id
}

resource "aws_nat_gateway" "main" {
  allocation_id = aws_eip.nat[count.index].id
  count         = local.public_count
  subnet_id     = aws_subnet.public[count.index].id
  tags = {
    Name = "jx-${count.index}"
  }
}

resource "aws_route_table" "private" {
  count = local.private_count
  tags = {
    Name = "jx-private-${count.index}"
  }
  vpc_id = aws_vpc.main.id
  route {
    cidr_block     = "<IP_ADDRESS>/0"
    nat_gateway_id = aws_nat_gateway.main[count.index % local.public_count].id
  }
}

resource "aws_route_table" "public" {
  count = local.public_count
  tags = {
    Name = "jx-public-${count.index}"
  }
  vpc_id = aws_vpc.main.id
  route {
    cidr_block = "<IP_ADDRESS>/0"
    gateway_id = aws_internet_gateway.main.id
  }
}

resource "aws_route_table_association" "private" {
  count          = local.private_count
  route_table_id = aws_route_table.private[count.index].id
  subnet_id      = aws_subnet.private[count.index].id
}

resource "aws_route_table_association" "public" {
  count          = local.public_count
  route_table_id = aws_route_table.public[count.index].id
  subnet_id      = aws_subnet.public[count.index].id
}

resource "aws_subnet" "private" {
  availability_zone = data.aws_availability_zones.available.names[count.index]
  cidr_block        = cidrsubnet("<IP_ADDRESS>/17", 2, count.index)
  count             = local.private_count
  tags = {
    Name = "jx-private-${count.index}"
  }
  vpc_id = aws_vpc.main.id
}

resource "aws_subnet" "public" {
  availability_zone = data.aws_availability_zones.available.names[count.index]
  cidr_block        = cidrsubnet("<IP_ADDRESS>/17", 2, count.index)
  count             = local.public_count
  tags = {
    Name = "jx-public-${count.index}"
  }
  vpc_id = aws_vpc.main.id
}

resource "aws_vpc" "main" {
  cidr_block = "<IP_ADDRESS>/16"
  tags = {
    Name = "jx"
  }
}

And I use the latest version of eks-jx.

eks-jx
module "eks-jx" {
  source  = "jenkins-x/eks-jx/aws"
  version = "1.18.11"

  apex_domain                    = "xxx.xxx"
  cluster_name                   = var.cluster_name
  cluster_version                = var.cluster_version
  create_and_configure_subdomain = true
  create_vpc                     = false
  enable_spot_instances          = true
  enable_tls                     = true
  region                         = var.region
  vault_user                     = var.vault_user
  is_jx2                         = false
  jx_git_url                     = var.jx_git_url
  jx_bot_username                = var.jx_bot_username
  jx_bot_token                   = var.jx_bot_token
  force_destroy                  = var.force_destroy
  nginx_chart_version            = var.nginx_chart_version
  install_kuberhealthy           = var.install_kuberhealthy
  subdomain                      = "jx"
  subnets                        = aws_subnet.private[*].id
  tls_email                      = "xxx@xxx"
  vpc_id                         = aws_vpc.main.id
}

Then, jx admin log output is:

output
Now using namespace 'jx' on server ''.
jx verify ingress --ingress-service ingress-nginx-controller
now verifying docker registry ingress setup
jx gitops webhook update --warn-on-fail
Error: failed to find hmac token from secret: could not find lighthouse hmac token lighthouse-hmac-token in namespace jx: secrets "lighthouse-hmac-token" not found
Usage:
  update [flags]

Examples:
  # update all the webhooks for all SourceRepository and Environment resource:
  jx-gitops update

  # only update the webhooks for a given owner
  jx-gitops update --org=mycorp

  # use a custom hook webhook endpoint (e.g. if you are on premise using node ports or something)
  jx-gitops update --endpoint http://mything.com

Flags:
  -b, --batch-mode                 Runs in batch mode without prompting for user input
      --endpoint string            Don't use the endpoint from the cluster, use the provided endpoint
      --exact-hook-url-match       Whether to exactly match the hook based on the URL (default true)
      --git-kind string            the kind of git server to connect to
      --git-server string          the git server URL to create the scm client
      --git-token string           the git token used to operate on the git repository. If not specified it's loaded from the git credentials file
      --git-username string        the git username used to operate on the git repository. If not specified it's loaded from the git credentials file
  -h, --help                       help for update
      --hmac string                Don't use the HMAC token from the cluster, use the provided token
      --log-level string           Sets the logging level. If not specified defaults to $JX_LOG_LEVEL
  -o, --owner string               The name of the git organisation or user to filter on
      --previous-hook-url string   Whether to match based on an another URL
  -r, --repo string                The name of the repository to filter on
      --verbose                    Enables verbose output. The environment variable JX_LOG_LEVEL has precedence over this flag and allows setting the logging level to any value of: panic, fatal, error, warn, info, debug, trace
      --warn-on-fail               If enabled lets just log a warning that we could not update the webhook

error: failed to find hmac token from secret: could not find lighthouse hmac token lighthouse-hmac-token in namespace jx: secrets "lighthouse-hmac-token" not found
make: *** [versionStream/src/Makefile.mk:212: gitops-webhook-update] Error 1

The below are suspicious errors in pods.

kubectl logs -n jx-vault vault-0 -c vault
telemetry.disable_hostname has been set to false. Recommended setting is true for Prometheus to avoid poorly named metrics.
==> Vault server configuration:

                     Cgo: disabled
              Go Version: go1.16.7
              Listener 1: tcp (addr: "<IP_ADDRESS>:8200", cluster address: "<IP_ADDRESS>:8201", max_request_duration: "1m30s", max_request_size: "33554432", tls: "enabled")
               Log Level: debug
                   Mlock: supported: true, enabled: true
           Recovery Mode: false
                 Storage: file
                 Version: Vault v1.8.4
             Version Sha: 925bc650ad1d997e84fbb832f302a6bfe0105bbb

==> Vault server started! Log data will stream in below:

2022-04-22T06:47:34.225Z [INFO]  proxy environment: http_proxy="" https_proxy="" no_proxy=""
2022-04-22T06:47:34.225Z [WARN]  no `api_addr` value specified in config or in VAULT_API_ADDR; falling back to detection if possible, but this value should be manually set
2022-04-22T06:47:34.284Z [DEBUG] would have sent systemd notification (systemd not present): notification=READY=1
2022/04/22 06:47:35 [ERR] Error flushing to statsd! Err: write udp <IP_ADDRESS>:33118-><IP_ADDRESS>:9125: write: connection refused
2022-04-22T06:47:35.553Z [INFO]  core: security barrier not initialized
2022-04-22T06:47:42.583Z [INFO]  core: successful mount: namespace="" path=pki/ type=pki
2022-04-22T06:48:13.016Z [DEBUG] identity: creating a new entity: alias="id:"8caf244c-18e9-76e1-7039-be4b1000fe91"  canonical_id:"5764b1b5-b9a8-4649-942c-995bd4cf10a2"  mount_type:"kubernetes"  mount_accessor:"auth_kubernetes_72148c58"  mount_path:"auth/kubernetes/"  metadata:{key:"service_account_name"  value:"kubernetes-external-secrets"}  metadata:{key:"service_account_namespace"  value:"secret-infra"}  metadata:{key:"service_account_secret_name"  value:""}  metadata:{key:"service_account_uid"  value:"b84984a4-f96c-47fd-a295-2af34fc3ad99"}  name:"b84984a4-f96c-47fd-a295-2af34fc3ad99"  creation_time:{seconds:1650610093  nanos:16329231}  last_update_time:{seconds:1650610093  nanos:16329231}  namespace_id:"root""

kubectl logs -n jx-vault vault-configurer-676764577f-frbpw
{"level":"info","msg":"vault metrics exporter enabled: :9091/metrics","time":"2022-04-22T06:47:18Z"}
{"level":"info","msg":"applying config file : /config/vault-configurer/vault-config.yml","time":"2022-04-22T06:47:18Z"}
{"level":"info","msg":"checking if vault is sealed...","time":"2022-04-22T06:47:18Z"}
{"level":"info","msg":"watching directory for changes: /config/vault-configurer/","time":"2022-04-22T06:47:18Z"}
{"level":"error","msg":"error checking if vault is sealed: error checking status: Get \"https://vault.jx-vault:8200/v1/sys/seal-status\": dial tcp <IP_ADDRESS>:8200: connect: connection refused, waiting 5s before trying again...","time":"2022-04-22T06:47:25Z"}
{"level":"info","msg":"checking if vault is sealed...","time":"2022-04-22T06:47:30Z"}
{"level":"error","msg":"error checking if vault is sealed: error checking status: Get \"https://vault.jx-vault:8200/v1/sys/seal-status\": dial tcp <IP_ADDRESS>:8200: connect: connection refused, waiting 5s before trying again...","time":"2022-04-22T06:47:37Z"}
{"level":"info","msg":"checking if vault is sealed...","time":"2022-04-22T06:47:42Z"}
{"level":"info","msg":"vault is unsealed, configuring...","time":"2022-04-22T06:47:42Z"}
{"level":"info","msg":"already existing mounts: map[cubbyhole/:0xc00057e900 identity/:0xc00057ec00 sys/:0xc00057f000]","time":"2022-04-22T06:47:42Z"}
{"level":"info","msg":"mounting secret engine with input: api.MountInput{Type:\"kv\", Description:\"General secrets.\", Config:api.MountConfigInput{Options:map[string]string{\"version\":\"2\"}, DefaultLeaseTTL:\"\", Description:(*string)(nil), MaxLeaseTTL:\"\", ForceNoCache:false, AuditNonHMACRequestKeys:[]string(nil), AuditNonHMACResponseKeys:[]string(nil), ListingVisibility:\"\", PassthroughRequestHeaders:[]string(nil), AllowedResponseHeaders:[]string(nil), TokenType:\"\", PluginName:\"\"}, Local:false, SealWrap:false, ExternalEntropyAccess:false, Options:map[string]string{\"version\":\"2\"}, PluginName:\"\"}","time":"2022-04-22T06:47:42Z"}
{"level":"info","msg":"mounted kv to secret","time":"2022-04-22T06:47:42Z"}
{"level":"info","msg":"already existing mounts: map[cubbyhole/:0xc00057fb00 identity/:0xc00057fe00 secret/:0xc000600100 sys/:0xc000600b00]","time":"2022-04-22T06:47:42Z"}
{"level":"info","msg":"mounting secret engine with input: api.MountInput{Type:\"pki\", Description:\"Vault PKI Backend\", Config:api.MountConfigInput{Options:map[string]string{}, DefaultLeaseTTL:\"168h\", Description:(*string)(nil), MaxLeaseTTL:\"720h\", ForceNoCache:false, AuditNonHMACRequestKeys:[]string(nil), AuditNonHMACResponseKeys:[]string(nil), ListingVisibility:\"\", PassthroughRequestHeaders:[]string(nil), AllowedResponseHeaders:[]string(nil), TokenType:\"\", PluginName:\"\"}, Local:false, SealWrap:false, ExternalEntropyAccess:false, Options:map[string]string{}, PluginName:\"\"}","time":"2022-04-22T06:47:42Z"}
{"level":"info","msg":"mounted pki to pki","time":"2022-04-22T06:47:42Z"}
{"level":"info","msg":"successfully configured vault","time":"2022-04-22T06:47:43Z"}

kubectl logs -n jx-vault vault-configurer-676764577f-frbpw
{"level":"info","ts":1650610007.915303,"logger":"cmd","msg":"Watched namespace: "}
{"level":"info","ts":1650610008.672247,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":":8383"}
{"level":"info","ts":1650610008.6734798,"logger":"cmd","msg":"Registering Components."}
{"level":"info","ts":1650610009.4279768,"logger":"cmd","msg":"Starting the Cmd."}
I0422 06:46:49.429048       1 leaderelection.go:243] attempting to acquire leader lease jx-vault/vault-operator-lock...
{"level":"info","ts":1650610009.4294531,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
I0422 06:46:49.536495       1 leaderelection.go:253] successfully acquired lease jx-vault/vault-operator-lock
{"level":"info","ts":1650610009.5368915,"logger":"controller-runtime.manager.controller.vault-controller","msg":"Starting EventSource","source":"kind source: /, Kind="}
{"level":"info","ts":1650610009.5370023,"logger":"controller-runtime.manager.controller.vault-controller","msg":"Starting Controller"}
{"level":"info","ts":1650610009.8377054,"logger":"controller-runtime.manager.controller.vault-controller","msg":"Starting workers","worker count":1}
{"level":"info","ts":1650610013.4158235,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610013.6617181,"logger":"controller_vault","msg":"TLS CA will be regenerated due to: ","error":"an empty CA was provided"}
{"level":"error","ts":1650610028.3257236,"logger":"controller-runtime.manager.controller.vault-controller","msg":"Reconciler error","name":"vault","namespace":"jx-vault","error":"failed to distribute CA secret for vault: failed to query current secret for vault: Secret \"vault-tls\" not found","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.9.0/pkg/internal/controller/controller.go:253\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.9.0/pkg/internal/controller/controller.go:214"}
{"level":"info","ts":1650610028.331497,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610036.0240972,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610140.3777287,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610140.6331828,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610205.6644564,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610270.9514675,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610336.2386463,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610401.5249374,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610466.8118722,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610532.0981042,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610597.384733,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610662.6709259,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610727.9575841,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610793.244381,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610858.5312705,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610923.817538,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650610989.1041584,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650611054.3912048,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650611119.678339,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650611184.965026,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650611250.2518773,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650611315.5389533,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650611380.8254879,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}
{"level":"info","ts":1650611446.1120176,"logger":"controller_vault","msg":"Reconciling Vault","Request.Namespace":"jx-vault","Request.Name":"vault"}

kubectl logs -n secret-infra kubernetes-external-secrets-67cd55dff4-db8ht
{"level":50,"message_time":"2022-04-22T06:49:15.302Z","pid":18,"hostname":"kubernetes-external-secrets-67cd55dff4-db8ht","payload":{"response":{"statusCode":404,"body":{"errors":[]}}},"msg":"failure while polling the secret jx/jenkins-x-chartmuseum"}
{"level":50,"message_time":"2022-04-22T06:49:15.329Z","pid":18,"hostname":"kubernetes-external-secrets-67cd55dff4-db8ht","payload":{"response":{"statusCode":404,"body":{"errors":[]}}},"msg":"failure while polling the secret jx-production/tekton-container-registry-auth"}
{"level":50,"message_time":"2022-04-22T06:49:15.337Z","pid":18,"hostname":"kubernetes-external-secrets-67cd55dff4-db8ht","payload":{"response":{"statusCode":404,"body":{"errors":[]}}},"msg":"failure while polling the secret jx/nexus"}
{"level":50,"message_time":"2022-04-22T06:49:15.418Z","pid":18,"hostname":"kubernetes-external-secrets-67cd55dff4-db8ht","payload":{"response":{"statusCode":404,"body":{"errors":[]}}},"msg":"failure while polling the secret jx-staging/tekton-container-registry-auth"}
{"level":50,"message_time":"2022-04-22T06:49:15.432Z","pid":18,"hostname":"kubernetes-external-secrets-67cd55dff4-db8ht","payload":{"response":{"statusCode":404,"body":{"errors":[]}}},"msg":"failure while polling the secret jx/tekton-container-registry-auth"}
{"level":50,"message_time":"2022-04-22T06:49:15.443Z","pid":18,"hostname":"kubernetes-external-secrets-67cd55dff4-db8ht","payload":{"response":{"statusCode":404,"body":{"errors":[]}}},"msg":"failure while polling the secret jx/jx-basic-auth-htpasswd"}
{"level":50,"message_time":"2022-04-22T06:49:15.460Z","pid":18,"hostname":"kubernetes-external-secrets-67cd55dff4-db8ht","payload":{"response":{"statusCode":404,"body":{"errors":[]}}},"msg":"failure while polling the secret jx/jx-basic-auth-user-password"}
{"level":50,"message_time":"2022-04-22T06:49:15.461Z","pid":18,"hostname":"kubernetes-external-secrets-67cd55dff4-db8ht","payload":{"response":{"statusCode":404,"body":{"errors":[]}}},"msg":"failure while polling the secret jx/tekton-git"}
{"level":50,"message_time":"2022-04-22T06:49:15.469Z","pid":18,"hostname":"kubernetes-external-secrets-67cd55dff4-db8ht","payload":{"response":{"statusCode":404,"body":{"errors":[]}}},"msg":"failure while polling the secret jx/lighthouse-hmac-token"}
{"level":50,"message_time":"2022-04-22T06:49:15.515Z","pid":18,"hostname":"kubernetes-external-secrets-67cd55dff4-db8ht","payload":{"response":{"statusCode":404,"body":{"errors":[]}}},"msg":"failure while polling the secret jx/jenkins-maven-settings"}

kubectl logs -n secret-infra pusher-wave-pusher-wave-79c4845b8c-8cjhq
E0422 06:47:54.424745       1 controller.go:218] controller-runtime/controller "msg"="Reconciler error" "error"="error fetching current children: error(s) encountered when geting children: Secret \"tekton-git\" not found"  "controller"="deployment-controller" "request"={"Namespace":"jx","Name":"jx-pipelines-visualizer"}
E0422 06:47:56.617974       1 controller.go:218] controller-runtime/controller "msg"="Reconciler error" "error"="error updating OwnerReferences: error(s) encountered updating children: error updating child: Internal error occurred: failed calling webhook \"config.webhook.pipeline.tekton.dev\": Post \"https://tekton-pipelines-webhook.tekton-pipelines.svc:443/config-validation?timeout=10s\": no endpoints available for service \"tekton-pipelines-webhook\", error updating child: Internal error occurred: failed calling webhook \"config.webhook.pipeline.tekton.dev\": Post \"https://tekton-pipelines-webhook.tekton-pipelines.svc:443/config-validation?timeout=10s\": no endpoints available for service \"tekton-pipelines-webhook\""  "controller"="deployment-controller" "request"={"Namespace":"tekton-pipelines","Name":"tekton-pipelines-controller"}
E0422 06:47:57.618548       1 controller.go:218] controller-runtime/controller "msg"="Reconciler error" "error"="error fetching current children: error(s) encountered when geting children: Secret \"lighthouse-hmac-token\" not found, Secret \"lighthouse-oauth-token\" not found"  "controller"="deployment-controller" "request"={"Namespace":"jx","Name":"lighthouse-webhooks"}
E0422 07:12:54.313509       1 controller.go:218] controller-runtime/controller "msg"="Reconciler error" "error"="error fetching current children: error(s) encountered when geting children: Secret \"lighthouse-oauth-token\" not found, Secret \"lighthouse-hmac-token\" not found"  "controller"="deployment-controller" "request"={"Namespace":"jx","Name":"lighthouse-foghorn"}
E0422 07:12:55.313946       1 controller.go:218] controller-runtime/controller "msg"="Reconciler error" "error"="error fetching current children: error(s) encountered when geting children: Secret \"jenkins-x-chartmuseum\" not found"  "controller"="deployment-controller" "request"={"Namespace":"jx","Name":"jenkins-x-chartmuseum"}
E0422 07:12:56.314686       1 controller.go:218] controller-runtime/controller "msg"="Reconciler error" "error"="error fetching current children: error(s) encountered when geting children: Secret \"lighthouse-hmac-token\" not found, Secret \"lighthouse-oauth-token\" not found"  "controller"="deployment-controller" "request"={"Namespace":"jx","Name":"lighthouse-webhooks"}
E0422 07:12:57.315233       1 controller.go:218] controller-runtime/controller "msg"="Reconciler error" "error"="error fetching current children: error(s) encountered when geting children: Secret \"tekton-git\" not found"  "controller"="deployment-controller" "request"={"Namespace":"jx","Name":"jx-build-controller"}
E0422 07:12:58.315868       1 controller.go:218] controller-runtime/controller "msg"="Reconciler error" "error"="error fetching current children: error(s) encountered when geting children: Secret \"tekton-git\" not found"  "controller"="deployment-controller" "request"={"Namespace":"jx","Name":"jx-pipelines-visualizer"}
E0422 07:12:59.316895       1 controller.go:218] controller-runtime/controller "msg"="Reconciler error" "error"="error fetching current children: error(s) encountered when geting children: Secret \"nexus\" not found"  "controller"="deployment-controller" "request"={"Namespace":"jx","Name":"nexus-nexus"}
E0422 07:13:00.317376       1 controller.go:218] controller-runtime/controller "msg"="Reconciler error" "error"="error fetching current children: error(s) encountered when geting children: Secret \"lighthouse-oauth-token\" not found"  "controller"="deployment-controller" "request"={"Namespace":"jx","Name":"lighthouse-keeper"}


Suggestion: Add a Link to the Store on the Main Website

I noticed there's a store but there's no mention of it anywhere on the main website. Shouldn't this be something that's made available there since it's a revenue stream and a way for people to show support?

@team_frontend - where should we see this integrated? My personal choice is in profile.

I think home page is better,because even if u r a member or not u can still look at those cool goodies and buy them if u like them and donate too to this project.

I see this is still open. Does anyone want to talk about it?
If not I'll close this at the end of the week.

I posted on Slack for more responses concerning this issue. I've set a reminder to check into this issue Sunday and make a move regardless 👍


Fix webui metadata issue #734

Set correct seed in metadata on image generation with more then one image.

Hi @holstvoogd ,
I believe there also needs to be logic to handle if variations were involved.
@lstein , @blessedcoolant
This PR relates to a change I've been wanting to do - make iterations a client-side parameter. Reasons:

Currently if you have iterations > 1, even if you specify a seed, iterations 2 and onward have random seeds. This is counterintuitive.
It implies moving grid to be a client side operation, which is where that functionality should be IMO (I haven't added grid to InvokeUI because I'd rather let users select 3 images and click "Make a grid of these", and it adds a lot of complexity)
It prepares the UI for using a queuing system

I can do this on the UI simply and users wouldn't know the difference, however I'm not sure if calling prompt2image multiple times with iterations = 1 would impact variations.
Alongside this proposed change, I would suggest considering a refactor of the Generate class to never be concerned with generating more than a single image. Instead, add logic to dream.py and any other clients for making more multiple images and assembling them into a grid.
If moving iterations to be a parameter for users of the Generate class won't break variations, please hold off on this PR and I will code it up, fixing this issue as I do.

@psychedelicious
Yeah, I was thinking about varations etc too after fixing this, I think the generation it self works as expected, or at least as I expect it:

iterations >1, variant = 0, with either a randomized or given seed produces a repeatable series of seeds
iterations >1, variant > 0, produces variant of the given seed (or randomized one)

However, the metadata contains the variant seed as a seed instead of the actual base seed. And so the seed button also doesn't work. As a work-around, using 'use all' and then 'use seed' on the original image works.
I was going to have a stab at fixen that, but if you're working on refactoring this all I'll leave it :)

I've fixed the behaviour with variations locally, so I figured I'd update this nonetheless in case it is useful after all 👍

I believe that when a fixed seed is given and iterations > 1, then the first image generated should have the fixed seed, and subsequent images will have "random" seeds. However, since the second and subsequent random seed is actually based on the content of the fixed seed, the combination of a fixed seed and n>1 will always give the same series of images, which is what I expect. The same rule applies to the grid.
For variations (-v > 0, -n > 1), then there are two seeds per image. The first_seed is either the first randomly generated seed or the fixed seed from the user. It is used to kick off generation of the series. Then each generated image, starting with the first one, has a different image seed which is the result of noising the first_seed by the specified amount. So this is why the normalized dream command for variations contain two seeds, the -S seed, which corresponds to the first_seed, and -V seed:distance, which is the image seed plus the amount of noise introduced into it to generate the variation. The terminology is confusing, and threw me through a loop when I tried to fix up regressions in prompt generation a few days ago.
I'm going to test this a little bit to make sure it works across all the use cases. Unfortunately I'm at a conference and may not be able to get time to work on it until Saturday.

However, the metadata contains the variant seed as a seed instead of the actual base seed. And so the seed button also doesn't work. As a work-around, using 'use all' and then 'use seed' on the original image works.

That's interesting. When I was working on the variation prompts Tuesday, I guess I fixed the normalized prompt, but not the sd-metadata! Give me a heads-up if you're going to make more commits into this PR, otherwise tomorrow when I get back to work I'll do the patch to metadata generation myself and merge this in.

@lstein It should work correctly now, no more commits from me on this :)
To be precise, I've tested with (n>1):

no -v
-v>0, no -V
-v=0, -V seed:weight
-v>0, -V seed:weight
-v=0, -V seed:weight,seed:weight,..

That all seems to work great.

@holstvoogd Thank you for the fixes and testing!


Don't compute an unnecessary cryptographic hash

Signed-off-by: Miloslav Trmač<EMAIL_ADDRESS>

See also https://github.com/endophage/gotuf/pull/51 .

Do we care? The size of a metadata file is always small, but I'll leave this to @endophage

There's no reason not to make this improvement.
LGTM.
@cyli @diogomonica can one of you take a look and LGTM/comment. It's super short.

LGTM

@mtrmac When I moved gotuf into this repo I added a contributors file (mainly because gotuf had one). Feel free to submit a PR to add yourself to that file. It's not in any particular order.


Group steps missing "commands"

Per https://buildkite.com/docs/pipelines/group-step#parallel-groups
The example shows:
steps:
  - group: "111"
    depends_on: "tests"
    steps:
      - command: "a.sh"
      - wait
      - command: "b.sh"

To be in line with the rest of the buildkite pipelines, can support for commands be added and not just command?
Expected:
steps:
  - group: "111"
    depends_on: "tests"
    steps:
      - commands:
         - "a.sh"
         - wait
         - "b.sh"

Didn't realize this was the docs, repo, moved my request to https://forum.buildkite.community/t/group-steps-missing-commands/1790


(FACT-3136) Split GCE ssh keys on newlines

GCE returns ssh keys as a string with newlines separating each key. When parsing
the project and VM instance data, convert to an array of keys like Facter 3 did.
Note Facter 3 used a streaming JSON parser and it matched all hash keys named
"sshKeys" (at any level), whereas we are only matching the keys for the project
and VM instance, but not custom fields that happen to be called "sshKeys".
GCE deprecated "sshKeys" and recommends "ssh-keys", so transform both.
[1] https://cloud.google.com/compute/docs/metadata/default-metadata-values

Once this is merged and passed CI, I'll revert https://github.com/puppetlabs/puppet-agent/commit/938df7d389cc12cdf5b3727e31287477ffbbb9d7


Update scala-java-time to 2.4.0

Updates io.github.cquiroz:scala-java-time from 2.0.0 to 2.4.0.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.0.0).
You might want to review and update them manually.
modules/auth/client/js/yarn.lock
modules/common/js/yarn.lock
modules/features/client/js/yarn.lock

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.github.cquiroz", artifactId = "scala-java-time" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "io.github.cquiroz", artifactId = "scala-java-time" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, old-version-remains, commit-count:1

Superseded by #630.

Superseded by #709.


Recreate thumbnails and sending it to AWS

Thank you for your time for creating this gem and answering this question.
The question is i am trying to recreate version and send it AWS S3 i am getting
the following error
Video.first.url.recreate_versions!
Video Load (0.4ms)  SELECT "videos".* FROM "videos" LIMIT 1
Aws::S3::Errors::NoSuchKey: The specified key does not exist.
from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.2.27/lib/seahorse/client/plugins/raise_response_errors.rb:15:in call' 	from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.2.27/lib/aws-sdk-core/plugins/s3_sse_cpk.rb:18:in call'
from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.2.27/lib/aws-sdk-core/plugins/param_converter.rb:20:in call' 	from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.2.27/lib/seahorse/client/plugins/response_target.rb:21:in call'
from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.2.27/lib/seahorse/client/request.rb:70:in send_request' 	from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-core-2.2.27/lib/seahorse/client/base.rb:207:in block (2 levels) in define_operation_methods'
from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-resources-2.2.27/lib/aws-sdk-resources/request.rb:24:in call' 	from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-resources-2.2.27/lib/aws-sdk-resources/operations.rb:41:in call'
from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/aws-sdk-resources-2.2.27/lib/aws-sdk-resources/operation_methods.rb:19:in block in add_operation' 	from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/carrierwave-aws-1.0.1/lib/carrierwave/storage/aws_file.rb:38:in read'
from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/carrierwave-0.10.0/lib/carrierwave/uploader/cache.rb:77:in sanitized_file' 	from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/carrierwave-0.10.0/lib/carrierwave/uploader/cache.rb:116:in cache!'
from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/carrierwave-0.10.0/lib/carrierwave/uploader/versions.rb:226:in recreate_versions!' 	from (irb):6 	from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/railties-3.2.16/lib/rails/commands/console.rb:47:in start'
from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/railties-3.2.16/lib/rails/commands/console.rb:8:in start' 	from /home/webonise/.rvm/gems/ruby-1.9.3-p551/gems/railties-3.2.16/lib/rails/commands.rb:41:in <top (required)>'
from script/rails:6:in require' 	from script/rails:6:in

I guess you need to configure your AWS configuration and add your access and secret key in there.


Compare shapes in RunDescriber equality method

@jenshnielsen what do you think, should this be happening or not?
for latest version of the class, this seems very fair, but i'm not sure what should happen for the case where RunDescriber from V2 data (without shapes, because there were no notion of shapes back then) is compared with RunDescriber from V3 data (that has the shapes or has None as the shape) and the interdependencies part is equal. or am i overthinking this too much?

One option could be to only to perform this comparison if both are not None? I am not sure how likely it is that someone has a v2 rundescriber that is upgraded and try to compare it with a directly constructed v3 describer

I think #3106 should fix the docs build here

One option could be to only to perform this comparison if both are not None?

yeah, but that will also rouing the comparison of directly constructed

I am not sure how likely it is that someone has a v2 rundescriber that is upgraded and try to compare it with a directly constructed v3 describer

indeed. but if this is not likely, then the way the comparison is implemented in this PR is good, right?


Missing Space Between Loading Animation And Text

This has been fixed as I cannot seem to be able to reproduce in the latest VS Code Insiders.


Publicly accessible password on your mongodb server

Hi,
The addata.js file contains a full mongodb url with a password in it. Anyone reading this file can connect to your database.

Thank you Judu.
I was using Cleaver Cloud just for testing purposes, nevertheless I will take care to put sensitive information in a .env file in the future.


Add versioneer to track package version automatically

Fixes issue #803
Also since I had to modify setup.py, I fixed the license and supported python versions, which fixes issue #788

Sounds good! I view scientific software authorship like it works with papers, last name got the funding and is the person to email if you have questions!

Well, it's more for maintainership purposes right now: I'll still be the one users can bug even when folks move on!


Fixes UX issues with edit detector pages

Description
Fixes various UX issues like missing texts, missing wrappers, and missing breadcrumbs links.
Issues Resolved
Resolves #401
Resolves #402
Resolves #403
Resolves #393
Check List

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #404 (98697bd) into main (67e02f2) will decrease coverage by 0.05%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #404      +/-   ##
==========================================
- Coverage   15.36%   15.32%   -0.05%
==========================================
  Files         111      111
  Lines        2961     2976      +15
  Branches      488      490       +2
==========================================
+ Hits          455      456       +1
- Misses       2467     2481      +14
  Partials       39       39

Impacted Files
Coverage Δ

...lytics-dashboards-plugin/public/utils/constants.ts
78.26% <0.00%> (-3.56%)
:arrow_down:

...s/Detectors/components/UpdateRules/UpdateRules.tsx
10.97% <0.00%> (-0.87%)
:arrow_down:

...onents/UpdateFieldMappings/UpdateFieldMappings.tsx
6.12% <0.00%> (-0.27%)
:arrow_down:

...mponents/UpdateBasicDetails/UpdateBasicDetails.tsx
4.61% <0.00%> (-0.15%)
:arrow_down:

...ts/UpdateAlertConditions/UpdateAlertConditions.tsx
6.89% <0.00%> (-0.13%)
:arrow_down:

...nts/ConfigureAlerts/containers/ConfigureAlerts.tsx
7.69% <0.00%> (+2.13%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Flaky windows-latest test fail on request timeout could be related to GitHub windows-latest runner issue: #3577

Flaky windows-latest test fail on request timeout could be related to GitHub windows-latest runner issue: #3577 @AWSHurneyt

Thank you for the context!


Network visualisation tool doesn't show anything in other dimensions

Trying it in my voidbase, RFTools dimenstion and it doesn't do anything.
1.10.2
ae2stuff-<IP_ADDRESS>-mc1.10.2
bdlib-<IP_ADDRESS>-mc1.10.2

Can't reproduce this.
What exactly are you doing? Do you get the "Visualising network at ,,___" message when clicking in the dimension?

I'm in a void world where my base is. It is an RFTools dimension.
When I put the tool in the hotbar and activate it like you would normally, nothing happens and no visualising message, nothing. It doesn't show the layout of the ae2 network.
It does work in the overworld.

If right clicking doesn't do anything please check the log for any errors or warnings after doing it.

I'm closing this issue as part of a spring cleaning of my issue trackers from old stuff.
If you believe it's a bug that is still relevant in Minecraft 1.12 - Feel free to reopen it.


Output dimensions for Image Exports can be configured

Description
In dropdown only one entry: Generate Image.
Opens new Popup where you can configure file format and image dimensions.

@yEinFallsLos rebased into loading-service
Please set a maximum resolution, or catch Exception on Error.