Recursively expand empty dirs when filesystem group_empty_dirs is true

The initial feature was implemented in #216 and only has one feature missing before it is at feature-parity with other plugins who do something similar, which is not having to  multiple times to open nested folders.
Ideally a single  would initiate a recursive expansion of the dir until a non-empty dir is found.
I understand this is not a priority, just wanted to bring some eyes to this in case someone (maybe even myself sometime in the future) wants to get to it!

https://github.com/nvim-neo-tree/neo-tree.nvim/blob/35e9f9b53d05bfec90314865787cd920a8b468aa/lua/neo-tree/ui/renderer.lua#L980-L998
I'm new to the internals of this plugin, but based on the above, it seems like this should be happening already. Maybe there is a bug somewhere

I'm new to the internals of this plugin, but based on the above, it seems like this should be happening already. Maybe there is a bug somewhere

No, that groups empty dirs that were already loaded, but it won't recursively go back out and scan the filesystem until it finds a file.

I think lazy-loading is more important in this case.
I haven't tried it but how about this general idea: neo-tree might have a way to determine whether the cursor node is an un-expanded folder, and you can use a command to move the cursor with j after expanding it. This way you just need to press the same key-bind multiple times to expand into the deepest level without the need for js.


Console freeze when displaying weird characters

Hi all,
The console (not web console, normal console) freeze when it display weird characters, eg doing a playerlist command will block when encountering such characters -> Řยßïηh⊕🔫 , players after the weird name will not show up
Spamming space and enter keys make it unfreeze, but it will not display the end of player list

You're using a SSH client that doesn't support special characters. Latest version of Putty (I think) and MobaXtreme support them.

Oops ^
You're using a SSH client that doesn't support special characters. Latest version of Putty (I think) and MobaXtreme support it.


Express cherry-pick

Cherrypicking a CL that's blocking doc progress.

Failing test is a flake, but will rerun.
Jenkins, test this please.


Dialing a multiaddr should dial it first

The Problem
Currently in libp2p if you dial a Multiaddr, or its string version, the PeerInfo record for that peer will be retrieved and then the Multiaddr will be added to its multiaddr list before dialing. If the peer already has known addresses, the Multiaddr originally provided might not be dialed first.
For example, let's say I am trying to manually connect to an IPFS preload node, /dns4/node0.preload.ipfs.io/tcp/443/wss/ipfs/QmZMxNdpMkewiVZLMRxaNxUeZpDUb34pWjZ1kZvsd16Zic. If I have no information about this node, this address will be dialed, as its the only address.
Now, if I have been on the network for a while, or have previously connected to this node, I will likely have some additional addresses, such as:
/dns4/node0.preload.ipfs.io/tcp/443/wss
/ip4/<IP_ADDRESS>/tcp/4001
/ip4/<IP_ADDRESS>/tcp/4001
/ip4/<IP_ADDRESS>/tcp/4001
/ip6/::1/tcp/4001
/ip6/2001:19f0:5:66d1::/tcp/4001
/ip6/2001:19f0:5:fc8:5400:1ff:feeb:77b3/tcp/4001
/ip4/<IP_ADDRESS>/tcp/8081/ws

The problem here, is that the dialing logic causes us to iterate over our available transports and the target peers Multiaddrs. The order of this dial is currently determined by the order our transports were added, and the order of their Multiaddrs. Most likely, this will be the first TCP address in the list, assuming we support TCP as it is often added to configuration first. Instead of dialing /dns4/node0.preload.ipfs.io/tcp/443/wss we would first dial /ip4/<IP_ADDRESS>/tcp/4001. This may fail and we will continuing trying other addresses, however, if we happen to have a node running locally on this address, such as go-ipfs, we would connect and then secio would terminate the connection with the error dialed to the wrong peer, Ids do not match as the Peer dialed is not the target Peer. Since the connection has already been "successfully" dialed, no other addresses are currently being tried. Ideally, we should try all addresses until we have a full, encrypted connection.
Solutions
Here are some ways to improve dialing to avoid this:

Specifying a Multiaddr in the dial should cause that Multiaddr to be dialed first. This should mitigate the majority of cases here, unless the target Multiaddr fails, at which point we'd continue down the list.
If encryption fails, try another Multiaddr. Currently we use the first Multiaddr that successfully connects. If encryption fails, we won't try any other Multiaddr, which could actually give us a successful connection.
Dial local Multiaddrs last. While this could potentially slow down connections to local nodes, we will often be dialing external nodes so the benefit here would likely out weight the loss.

Async/Await migration
With the async/await migration we will be getting proper support for aborting dials. This will allow us to dial multiple addresses in parallel, use the first/fastest connection, and then abort the rest. Running all the addresses in parallel (to a reasonable limit), we could ignore the failures we might get by accidentally dialing the wrong, local peer.

This was fixed as of v0.27.0


Kafka plugin tests

Please fill up those following information before send Pull request

Pull request NO: https://github.com/apache/skywalking/pull/3390
Agent repository URL: https://github.com/stalary/skywalking   branch:kafka_compate
Testcases repository URL: https://github.com/stalary/agent-auto-integration-testcases

[INFO] ---------------------------Here is the test report context -------------------------------------
Test Report - 2019-09-01 23:24

tests  : 12 passed. 4 failed
branch name : kafka_compate
commit id : f371394fe6d307e0b47af751de22a7de9367fc7c
cases branch: master
cases commit id: 0d1672ca0419fe7d0520860d5d04ae3b2d209b38

Cases List

Case description
Status
Cases

Kafka
16 passed. 0 failed
click me

Kafka

Version
Passed
Failed

<IP_ADDRESS>
:heavy_check_mark:

<IP_ADDRESS>
:heavy_check_mark:

<IP_ADDRESS>
:heavy_check_mark:

<IP_ADDRESS>
:heavy_check_mark:

1.0.1
:heavy_check_mark:

1.0.2
:heavy_check_mark:

1.0.0
:heavy_check_mark:

1.1.0
:heavy_check_mark:

1.1.1
:heavy_check_mark:

2.0.0
:heavy_check_mark:

2.0.1
:heavy_check_mark:

2.1.0
:heavy_check_mark:

2.1.1
:heavy_check_mark:

2.2.0
:heavy_check_mark:

2.2.1
:heavy_check_mark:

2.3.0
:heavy_check_mark:

[INFO] -----------------------------------end the report-----------------------------------------------

Are 2.1.1+ passing now?

Are 2.1.1+ passing now?

Not yet. I'll check it out if I have time today

Are 2.1.1+ passing now?

All passed

apache/skywalking#3390 is merged, let's merge this to run the tests for Kafka plugin daily


Update master to build with Xcode 10 beta 3, OS X 10.14, iOS 12, tvOS 12, and watchOS 5 SDKs

@swift-ci test

Commit message should say "macOS", not "OS X".


0.5.0-alpha not working in a Firefox extension

I'm using the library as part of a Firefox extension (implemented using the addon-sdk), as part of a content script.
here's the content script definition:
// Create a page mod (in file main.js)
var pageMod = pageMod.PageMod({
include : "*",
contentScriptFile: [data.url("jquery-2.1.0.min.js"),
data.url("html2canvas.min.js"),
data.url("contentScript.js")],
onAttach: startListening
});
this is the relevant part in contentScript.js
console.log("start");
var data = {};
html2canvas($("body"), {
onrendered: function(canvas) {
console.log("here2");
// canvas is the final rendered  element
data.image = canvas.toDataURL("image/png");
console.log(data.image);
console.log("here3");
window.open(data.image);
console.log("here4");
self.port.emit("processImage", JSON.stringify(data));
console.log("here5");
});
console.log("end");
Only the "start" and "end" console.log messages are displayed using 0.5.1, like the html2canvas section is never executed.
Using 0.4.1 all the console.log messages are displayed
There are no further errors in the console or anywhere else

Yep,
So I'm experiencing this as well, now that Firefox has depreciated cfx sdk in light of the new jpm sdk (nodejs), things have since become a little bit easier to test with jpm. It may however be more complex with more combinations to try though.
After all my testing, the only thing that works for me is v4.0 as aeropostDevelopment suggested.
I've tried all these in combination:
cfx
jpm
html2canvas (no promise callback format)
html2canvas (promise callback format)
version5.0.1-alpha
version5.0.2.alpha
window.settimeout (i couldn't get this to work even with the example)
Anyhow, i've created two Firefox add-on examples, 4.0 works - 5.0 does not.
https://github.com/Jnull/html2canvas_4.0_ff_addon
https://github.com/Jnull/html2canvas_5.0-alpha.2_ff_addon
all thats needed is 'npm install jpm' && jpm run (with-in the root of the folder)


No Ad available in mobfox banner

Hello Team ,
We have implement mobfox banner in our android application. (even on test id as well)
but always goes in  onError method  and give exception : No Ad Available.....
Please suggest me..
Thanks

Hi,
Can you please share your integration code?
Thanks,
Itamar


Release 0.2.1 - master

<!-- Make sure you have read http://napalm.readthedocs.io/en/latest/contributing/index.html --!>

Coverage increased (+2.3%) to 43.333% when pulling 67f8a6bb02b3153b445a66699c5f9eb41caa53ea on develop into ad4bc3746cf57bc0fc88517b93280ab84749da57 on master.


updates return description

updates return description for NetworkIsolationFreeAppContainer

@janasebaali : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@stevewhims : Thanks for your contribution! The author(s) have been notified to review your proposed change.


*: now lease keepAlive works on leader

Now the lease API is finished.
We still need to make follower forward lease renew request to leader. Also we need to add more integration testing around lease API, especially when there is a leader failover.

lgtm, codewise :)

@heyitsanthony Fixed. PTAL.

lgtm


Closes #120 add CMENRTPT

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[x] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
[x] Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
[x] Updated relevant unit tests or have written new unit tests, which should consider realistic data scenarios and edge cases, e.g. empty datasets, errors, boundary cases etc. - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples, including keywords and families. Refer to the categorization of functions to tag appropriate keyword/family.
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue in the Development Section on the right hand side.
[ ] Address all merge conflicts and resolve appropriately
[x] Pat yourself on the back for a job well done! Much love to your accomplishment!

Hi @edelarua, I've added CMENRTPT. Please review and let me know if any updates are needed.
Regarding other variables requested in ADCM, ATIREL and  ATC1/2/3/4 won't be added to pharmaverseadam per discussion from https://github.com/pharmaverse/admiral/issues/2490
Thanks!


tf.histogram_fixed_width_bins lack checking for nbins

System information

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

Standalone code to reproduce the issue
import tensorflow as tf
nbins = -16
value_range = [0.0, 5.0]
new_values = [-1.0, 0.0, 1.5, 2.0, 5.0, 15]
indices = tf.histogram_fixed_width_bins(new_values, value_range, nbins=nbins)
indices.numpy()

Outputs:
array([0, 0, 0, 0, 0, 0], dtype=int32)

Describe the current behavior
tf.histogram_fixed_width_bins has an argument nbins which should be a positive integer. However, it does not perform any validity checking and can accept a negative value like -16.  tf.histogram_fixed_width (another API with similar functionality) can detect this error and raise an InvalidArgumentError:
import tensorflow as tf
nbins = -16
value_range = [0.0, 5.0]
new_values = [-1.0, 0.0, 1.5, 2.0, 5.0, 15]
indices = tf.histogram_fixed_width(new_values, value_range, nbins=nbins)
indices.numpy()
# InvalidArgumentError: nbins should be a positive number, but got '-16' [Op:HistogramFixedWidth]

Describe the expected behavior
tf.histogram_fixed_width_bins should have better input checking.

Hi @ArrowIntoTheSky ! It is throwing invalid argument error in 2.8 as expected . Attaching gist in 2.7 and 2.8  for reference. Thanks!

Added a PR #54429 for the fix.


fix automation scripts to use python3

change the automation provisioning scripts to use python3 rather than the default (python2) version.

@wbgilmartin did you confirm that the massage script and the convert script work correctly with python3? I know the merge script requires python3, but I'm not sure about the remaining 5 instances. Thanks.

I did verify everything except the arcturus section in the provisioning verification section. The rocmdevtools git dose not seem to exist. Do you know anything about this?

The rocmdevtools git dose not seem to exist. Do you know anything about this?

It's a private repo.  Once your status gets corrected from "external collaborator" to AMD people, you should be able to see that repo.

@wbgilmartin are you able to merge this PR?  Let me know.  Thanks.


How to get longitude/Latitudes as well as images for these events?

Hi, very excited about this repo. How can we retrieve the lon/lat for a tile?

See https://leafmap.org/notebooks/03_cog_stac/

Awesome! Thank you.

So if we wanted to retrieve the latlon of the maxar tiles, we would need to parse the json?

You can read the corresponding GeoJSON file to get lat/lon for whatever tile you are interested in.
https://github.com/opengeos/maxar-open-data/blob/master/datasets/BayofBengal-Cyclone-Mocha-May-23.geojson


Can it be applied in Quadcopter ?

Hi, am new to pcb design and an wishing to make a quadcopter to learn. Can your design be used in a quadcopter? And if not, would you please give me an hint on what to do.

Please refer to "HadesFCS/Firmware/F4Quad/" Directory


Is it possible to customize the collectionView/tableView's number of cells with RxSwift?

I have a collectionView and I need to have one additional cell than what my dataSource (an observable of items) has for an add item view.
This is easily achievable using traditional dataSource:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
     return viewModel.items.count + 1
 }

 func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
     if indexPath.row == 0 {
         //construct a cell with an add button
     } else {
         //construct normal cell with items
     }
 }

How can I achieve the same result with RxSwift/RxRealmDataSources?

Hey guys,
Struggling to do something similar to this, although I want to add cells of different types to one section. Is this possible? My confiureCells isnt being called.
Tom

You should really not do this. The entire point of using a reactive data source is that your emitted sections represent what's being presented on screen, including the number of items. If you're "manually" setting things this way, you are improperly using the library, and Rx in general it seems to me.


Fix GLFW runtime platform detection

Fixes #3850
In order to allow all of GLFW's source files to be combined into one, as done by rglfw.c, this PR modifies the bundled GLFW by renaming the functions that share the same name in different platforms. Additionally, it disables GLFW's Null platform, which is not used by raylib.
It also removes the USE_WAYLAND_DISPLAY variable from the Makefile while adding GLFW_LINUX_ENABLE_WAYLAND and GLFW_LINUX_ENABLE_X11, both set to TRUE by default.

It is my impression that src/external/ materials are not maintained on raylib and any changes must come from the origin project of the external dependency.
If there is to be an exception to that, I trust you confirmed that before all of the work you did.

@orcmid If GLFW's developers agree to avoid functions with the same name in different platforms in a future version of the library, there will be no more need for it to be modified for raylib (related: https://github.com/glfw/glfw/issues/2502 and https://github.com/glfw/glfw/issues/2476).

@orcmid If GLFW's developers agree to avoid functions with the same name in different platforms in a future version of the library, there will be no more need for it to be modified for raylib

I think it is a policy for raylib that externals are not to be customized and then have to be maintained here as a fork.  I don't know what @raysan5 will say about this particular complicated case.
Do you see an alternative approach that would overcome the difficulty for raylib without touching src/external?

@M374LX @orcmid I try to avoid customizing external libraries for raylib but unfortunately it was also don ein the past with other external libraries. I think this is a quite special case and considering that GLFW is bundled into raylib and a related issue has already been opened in GLFW repos, I can consider merging it.
Just waiting a bit for GLFW response on the topic. The only issue I see is the need to review it again after next GLFW release, but it can take some time.

@M374LX thanks for the improvements!

This breaks the zig build on linux.


Metrics list

Hi All,
can you possibly document which metrics can be collected with this exporter?
Maybe also provide a docker image?
best regards

Hey @dbmtrde ,
sorry, this escaped my attention due to a stressful move this summer.
Thanks to @nohn the image is now available.
The exporter is now exporting
	fieldsToReturn       = []string{"id", "name", "slug", "baseline_current", "country_iso", "stats_24", "stats_60", "status"}

Best!
Kic


Add build caching for next.js apps

Explanation: https://nextjs.org/docs/messages/no-cache
Solution: https://nextjs.org/docs/advanced-features/ci-build-caching#github-actions

Weird... I'll need to take a better look at this because we already have everything set up based on this documentation...
https://github.com/infinum/js-pipeline/blob/v1/.github/actions/bootstrap/action.yml#L52

I'm afraid this is a real issue because this action is triggered for the change in the README file.
Build should reuse .next cache in this case but it didn't.


Jenkins skip wizard

Basic setup to skip the Jenkins wizard which installs no plugins and sets a user with
username:admin
password:admin
https://github.com/edinc/vagrant-jenkins/issues/1

Added credentioals to codeblock in README


systemd: Add documentation to dnscrypt-proxy.socket

Is there a way to apply these options only to the TCP socket, or is systemd utterly broken to the point that they even didn't think about this?


Only run bloat check on main repo

👋 hi! I work on GitHub Actions and noticed that this repository and its forks were consuming a lot of minutes for OSS. This appears to be from a few things:

Bloat check runs every 5 minutes.
Bloat check checks out the repository with submodules, which takes ~8 minutes.
Forks that enable Actions inherit scheduled jobs.

These things together have led to about 500 forks of this repo running Actions constantly to run a report for this repo, which I don't believe to be the intent.
This PR is simple and only runs this scheduled workflow on project-chip/connectedhomeip and not on any forks. Existing forks that don't update will unfortunately continue executing, but new forks and any forks that update from this repo will adopt this change and result in less usage overall.
Another thing that I wasn't able to validate was if this report requires the submodules for execution. If not, removing with: submodules: true from the checkout step would reduce runtime of the job by about 8 minutes.

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


Feature/#502 use timestamps on export

Does abit more than requested on the issue:

uses timestamps
displays them
updates them when a file is downloaded

Reviewed by:

[x] @das-g

Closes #502
Closes #468
Closes #469

:+1:


Rofi support forces a default option for font that might not work with all users

The rofi themes provided by a recent commit seem to just use the default theme configs from https://github.com/catppuccin/rofi/tree/main/basic/.local/share/rofi/themes
The main issue with this is these 4 themes all have the same line 12: font: "JetBrainsMono Nerd Font 14";  This font isn't installed on my machine, and the options provided here don't give me any ways to change this. I'd prefer this to either install the required fonts for me, or give me a way to change the font myself.

Not sure if it is compatible with the way this module sets up the rofi theme, but in my configuration I use the theme and override the defaults like so:
{
  programs.rofi = {
    # ...
    theme = {
      "@theme" = theme.package + /rofi/catppuccin-${theme.variant}.rasi;

      "*" = {
        font = "monospace 14";
      };
    };
  };
}

Where theme.package is pkgs.catppuccin.
I'm sure the module could be adapted to support this.


Cannot resolve "iconv-lite" from ".../node_modules/restructure/src/DecodeStream.js" and externals are not allowed!

Bug Report
When building in a Vite project (uses Rollup) it throws the error:

[12:45:41 AM]  ERROR  Cannot resolve "iconv-lite" from ".../node_modules/restructure/src/DecodeStream.js" and externals are not allowed!

When I see correctly then fontkit was using iconv-lite but it has been removed in 2.0 but 2.0 hasnt yet been added to fontkit, PR #1367
Your environment

pdfkit version: 0.15.1
Node version: 22.11.0
Operating System: macOS

pdfkit using fontkit 1.9, where is iconv-lite required. Allow iconv-lite in rollup/vite as external package.
PR for upgrade fontkit is here: https://github.com/foliojs/pdfkit/pull/1367

There PR is open for 2.5 years


Add project

@canozkan42

Amazing! Thanks for the submission. Feel free to update any details as needed later on or reach out if you have questions.


Can't manage private projects with the harbor_project resource

Describe the bug
When creating a project with "public = true" I receive an "Error: Resource not found /projects/123"
The project is actually created in harbor. I assume it fails when trying to get the info of the just-created project.
When I set the project to "public = true" it works just fine.
Same behavior when trying to import an existing harbor_project into the tf state:
It works if public and fails if private.
To Reproduce
Create project with "public = false" (default).
or
Import project which is already private.
Expected behavior
I would expect this to not fail.
Additional context
Example log:
harbor_project.main: Creating...
2023-07-20T15:44:15.536+0200 [INFO]  Starting apply for harbor_project.main
2023-07-20T15:44:15.536+0200 [DEBUG] harbor_project.main: applying the planned Create change
2023-07-20T15:44:15.537+0200 [INFO]  provider.terraform-provider-harbor_v3.9.4: 2023/07/20 15:44:15 [DEBUG] []: timestamp=2023-07-20T15:44:15.537+0200
2023-07-20T15:44:15.781+0200 [ERROR] provider.terraform-provider-harbor_v3.9.4: Response contains error diagnostic: tf_proto_version=5.3 tf_rpc=ApplyResourceChange @module=sdk.proto diagnostic_severity=ERROR diagnostic_detail= diagnostic_summary="Resource not found /projects/1136" tf_provider_addr=provider tf_req_id=88f28883-acf6-3564-5cbd-59f82c9dc3ed tf_resource_type=harbor_project @caller=github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/diag/diagnostics.go:55 timestamp=2023-07-20T15:44:15.781+0200
2023-07-20T15:44:15.784+0200 [DEBUG] State storage *statemgr.Filesystem declined to persist a state snapshot
2023-07-20T15:44:15.784+0200 [ERROR] vertex "harbor_project.main" error: Resource not found /projects/1136
│ Error: Resource not found /projects/1136
│
│   with harbor_project.main,
│   on main.tf line 38, in resource "harbor_project" "main":
│   38: resource "harbor_project" "main" {
not sure if this is an issue for the terraform provider or the main harbor project. I didn't try to reproduce it manually through the API.

Provider Version [3.9.4]
Terraform Version [1.5.3]
Harbor Version [v2.8.2]

Hello,
it looks like a lack of permissions with the account you use to create the project.
if you don't use an "admin" account it's probably like this issue : https://github.com/goharbor/terraform-provider-harbor/issues/328

Hi,
seems so. I just finished digging around a bit.
Actually a 401 unauthorized is returned from the API for those requests. Should the terraform error message be more descriptive of this? "Resource not found" is a bit vague.

indeed, we can improve it

should this simply handle the 401 error (which imho is the wrong error, it should be 403) or should it also hint towards this problem?


Error 502 [POST] /api/auth/login

Hi,
I'm hosting the site on vervel and the database on render.com and keep getting this login error.
Any recommendations I'm new to postsql?
2021-01-30T03:42:35.141Z	77e7ab6d-2315-4fd7-bc80-9b7556c24682	ERROR	PrismaClientKnownRequestError2 [PrismaClientKnownRequestError]: The table `public.account` does not exist in the current database.
    at PrismaClientFetcher.request (/var/task/node_modules/@prisma/client/runtime/index.js:78130:15)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  code: 'P2021',
  clientVersion: '2.14.0',
  meta: { table: 'public.account' }
}
2021-01-30T03:42:35.141Z	77e7ab6d-2315-4fd7-bc80-9b7556c24682	ERROR	PrismaClientKnownRequestError2 [PrismaClientKnownRequestError]: The table `public.account` does not exist in the current database.
    at PrismaClientFetcher.request (/var/task/node_modules/@prisma/client/runtime/index.js:78130:15)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  code: 'P2021',
  clientVersion: '2.14.0',
  meta: { table: 'public.account' }
}
2021-01-30T03:42:35.142Z	77e7ab6d-2315-4fd7-bc80-9b7556c24682	ERROR	Unhandled Promise Rejection 	{"errorType":"Runtime.UnhandledPromiseRejection","errorMessage":"Error: The table `public.account` does not exist in the current database.","reason":{"errorType":"Error","errorMessage":"The table `public.account` does not exist in the current database.","code":"P2021","clientVersion":"2.14.0","meta":{"table":"public.account"},"stack":["Error: The table `public.account` does not exist in the current database.","    at PrismaClientFetcher.request (/var/task/node_modules/@prisma/client/runtime/index.js:78130:15)","    at processTicksAndRejections (internal/process/task_queues.js:97:5)"]},"promise":{},"stack":["Runtime.UnhandledPromiseRejection: Error: The table `public.account` does not exist in the current database.","    at process.<anonymous> (/var/runtime/index.js:35:15)","    at process.emit (events.js:326:22)","    at processPromiseRejections (internal/process/promises.js:209:33)","    at processTicksAndRejections (internal/process/task_queues.js:98:32)"]}
Unknown application error occurred

Make sure your database url is correct and doesn't include any weird characters that like confused the connection string parser
Make sure you can connect to the database yourself and check that the tables exist

Make sure your database url is correct and doesn't include any weird characters that like confused the connection string parser
Make sure you can connect to the database yourself and check that the tables exist

That looks like that may be the issue, there is no public table in the DB. Should I make one manually and see if that resolves it? (I'm new to PSQL, so I apologizes for the novice nature of the question)

That looks like that may be the issue, there is no public table in the DB. Should I make one manually and see if that resolves it? (I'm new to PSQL, so I apologizes for the novice nature of the question)

public is the default schema. If you put the tables elsewhere, you can add ?schema=<schema_name> to the end of your connection string to put it to the correct place.

Got it! It looks like when installing the original tables I mess up the paths. But all is now working! Thank you.


Unable to connect to websocket when using https

Operating System: Linux
Node Version: v8.11.1
NPM Version: 5.6.0 (Yarn: 1.6.0)
webpack Version: 4.8.3
webpack-serve Version: 1.0.2

This issue is for a:

[x] bug
[ ] feature request
[ ] modification request

Code
CLI Command
  $ webpack-serve

webpack.config.js
const { VueLoaderPlugin } = require('vue-loader');
  const fs = require('fs');

  const httpsConfig = {
      cert: fs.readFileSync('server-cert.pem'),
      key: fs.readFileSync('server-key.pem'),
      ca: fs.readFileSync('ca.pem'),
      dhparam: fs.readFileSync('dhparam'),
      secureProtocol: 'TLSv1_2_method',
      ciphers: 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH',
  };

  module.exports = {
      mode: 'development',

      entry: './entry.js',

      output: {
          filename: 'bundle.js',
          path: __dirname,
      },

      module: {
          rules: [
              {
                  test: /.vue$/,
                  loader: 'vue-loader',
              },
          ],
      },

      serve: {
          host: 'localhost',
          port: 9090,
          https: httpsConfig,
          hot: {
              host: 'localhost',
              hot: true,
              https: true,
          },
      },

      plugins: [
          new VueLoaderPlugin(),
      ],
  };

Expected Behavior
Browser to be connected to WebSocket
Actual Behavior
Browser is unable to connect to WebSocket.
How Do We Reproduce?
Setup a webpack-project and start webpack-serve with the provided webpack.config.js. (Make sure you provide cert, key and dhparams). Open up your browser and see that your browser fails to open a connection to a websocket.
Firefox can’t establish a connection to the server at wss://localhost:8081/.
Output from command:
ℹ ｢hot｣: webpack: Compiling...
ℹ ｢hot｣: WebSocket Server Listening at localhost:8081
ℹ ｢serve｣: Project is running at https://localhost:9090
ℹ ｢serve｣: Server URI copied to clipboard
ℹ ｢hot｣: webpack: Compiling Done
ℹ ｢wdm｣: Hash: 69bd57abd4fb5d29de30
Version: webpack 4.8.3
Time: 11384ms
Built at: 2018-05-18 20:51:32
    Asset     Size  Chunks             Chunk Names
bundle.js  400 KiB    main  [emitted]  main
Entrypoint main = bundle.js
[./App.vue] 1.03 KiB {main} [built]
[./App.vue?vue&type=script&lang=js] 244 bytes {main} [built]
[./App.vue?vue&type=template&id=472cff63] 192 bytes {main} [built]
[./entry.js] 149 bytes {main} [built]
[./node_modules/timers-browserify/main.js] 1.97 KiB {main} [built]
[./node_modules/url/url.js] 22.8 KiB {main} [built]
[./node_modules/vue-hot-reload-api/dist/index.js] 6.09 KiB {main} [built]
[./node_modules/vue-loader/lib/runtime/componentNormalizer.js] 2.63 KiB {main} [built]
[./node_modules/vue/dist/vue.runtime.esm.js] 207 KiB {main} [built]
[./node_modules/webpack-hot-client/client/hot.js] (webpack)-hot-client/client/hot.js 4.91 KiB {main} [built]
[./node_modules/webpack-hot-client/client/index.js?ddb67009-fcc3-4767-b92f-b2c9e96415f2] (webpack)-hot-client/client?ddb67009-fcc3-4767-b92f-b2c9e96415f2 2.47 KiB {main} [built]
[./node_modules/webpack-hot-client/client/log.js] (webpack)-hot-client/client/log.js 2.4 KiB {main} [built]
[./node_modules/webpack-hot-client/client/socket.js] (webpack)-hot-client/client/socket.js 1.39 KiB {main} [built]
[0] multi ./entry.js 28 bytes {main} [built]
[1] multi webpack-hot-client/client?ddb67009-fcc3-4767-b92f-b2c9e96415f2 ./entry.js 40 bytes {main} [built]
    + 12 hidden modules
ℹ ｢wdm｣: Compiled successfully.

Providing an own https.Server (node) does work:
diff --git a/webpack.config.js b/webpack.config.js
index 62699a9..395649e 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,5 +1,6 @@
 const { VueLoaderPlugin } = require('vue-loader');
 const fs = require('fs');
+const https = require('https');

 const httpsConfig = {
        cert: fs.readFileSync('/srv/cc5/devel/docker/web/certs/server-cert.pem'),
@@ -10,6 +11,9 @@ const httpsConfig = {
        ciphers: 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH',
 };

+const server = new https.createServer(httpsConfig);
+server.listen(8081);
+
 module.exports = {
        mode: 'development',

@@ -35,6 +39,7 @@ module.exports = {
                https: httpsConfig,
                hot: {
                        host: 'localhost',
+                       server,
                        hot: true,
                        https: true,
                },

Happy to review a PR to resolve

I'm unable to reproduce this:

I've also added a test app you can run to verify that https and websockets function correctly. The test app can be found in this commit: 1ef4dc790d0bc4a024e3f6ca7b8877a363c49fe7

@shellscape I'll have a look in the morning. I used firefox when I tested and I'll try to reproduce it in chromium.

Sounds good 👍


Add cypress test for cart event - part of USF 1652

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://develop--aem-boilerplate-commerce--hlxsites.aem.live/
After: https://USF-1652-tests--aem-boilerplate-commerce--hlxsites.aem.live/

Delivered with this PR https://github.com/hlxsites/aem-boilerplate-commerce/pull/263


Questions on functionality

Hi @andreas-schroeder ,
Thanks for building this check! I have some questions on some of the behavior I have been experiencing while using this tool and want to make sure I am using it properly.
Replication and partitions count is set to 1 on the broker-replication-check topic. This doesn't seem correct as it wouldn't be able to determine if all brokers were in the ISR.
I recently have encountered a Kafka outage and after I recovered the cluster, I had to restart the Kafka health check service on ALL of my brokers so that it would detect that the brokers were healthy again. This is most likely due to losing connection to the cluster/zookeeper, however in one of my environments where I am experiencing issues getting kafka-health-check to report a healthy cluster, I can see that it does make reconnect attempts.
INFO[0037] closing connection and reconnecting

INFO[0042] found partition id 1 for broker 0 in topic "broker-0-health-check"

INFO[0042] found partition id 2 for broker 0 in topic "broker-replication-check"

INFO[0042] reconnected

I am still unable to figure out why kafka-health-check will not report green on this cluster. I have recompiled the check with an increased timeout without any progress. This is on a fresh Kafka cluster with only the consumer_offsets partition. It will just report NOOK and continue in a loop as mentioned above.
Thank you!

I'm seeing this as well on one of my clusters.
INFO[0037] closing connection and reconnecting           INFO[0042] found partition id 1 for broker 0 in topic "broker-0-health-check"  INFO[0042] found partition id 2 for broker 0 in topic "broker-replication-check"  INFO[0042] reconnected

Hi @lconnell ,
thanks for trying kafka-health-check :)
concerning the broker-replication-check topic, the replica set is expanded on broker health check start and shrunk on shutdown.
It's of course sub-par to have to restart the health-check on each and every node; can you provide details on the health-check output? Maybe that's because the health check topics are only auto-created on initial startup; if the vanish during runtime, the health-check will not re-create them.
As of why the cluster isn't reported as healthy, I'd assume that there still is some state in ZooKeeper since it finds partition id 2 in broker-replication-check. Can you give details on what JSON is returned by the health check endpoint / and the /cluster endpoint? This could give more insights on what bothers the health check.


feat: widget property setters

Description
PR fixes following issue(s)
Fixes # (issue number)
Type of change

New feature (non-breaking change which adds functionality)

Testing

How Has This Been Tested?

[x] Manual
[ ] Jest
[ ] Cypress

Test Plan
https://github.com/appsmithorg/TestSmith/issues/2409
Issues raised during DP testing

[x] Errors are not logged in the debugger separate GitHub issue  https://github.com/appsmithorg/appsmith/issues/24609
[x] https://github.com/appsmithorg/appsmith/pull/23441#issuecomment-1564155545 ( setVisibility("false")  )
[x] https://github.com/appsmithorg/appsmith/pull/23441#issuecomment-1580525843
[x] https://github.com/appsmithorg/appsmith/pull/23441#issuecomment-1576582825 - Blocker for testing
[x] https://github.com/appsmithorg/appsmith/pull/23441#issuecomment-1577956441
[x] https://github.com/appsmithorg/appsmith/pull/23441#issuecomment-1577930108 - Not a issue (lint error query)
[x] https://github.com/appsmithorg/appsmith/pull/23441#issuecomment-1593471791
[x] https://github.com/appsmithorg/appsmith/pull/23441#issuecomment-1591440488
[x] https://github.com/appsmithorg/appsmith/pull/23441#issuecomment-1586747864
[x] https://github.com/appsmithorg/appsmith/pull/23441#issuecomment-1596738201
[x] https://github.com/appsmithorg/appsmith/pull/23441#issuecomment-1598541537

Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[x] Test plan covers all impacted features and areas of interest
[x] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true

[ ] Errors are not logged in the debugger
https://www.loom.com/share/a9b21cfb888f4dfca9a5191707520100

@Druthi string value is getting added in boolean property, example setVisibility is set as "false"
https://github.com/appsmithorg/appsmith/assets/80756091/077d1501-70d3-4c8f-87f4-934709ff56be

@Druthi string value is getting added in boolean property, example setVisibility is set as "false" myVar1: [true,false,true], trying to give array in value - func3(){ setInterval(()=>{ Button1.setVisibility(this.myVar1[1]) },3000) }
Screen.Recording.2023-05-26.at.3.26.01.PM.mov

Looking into these

/build-deploy-preview skip-tests=true

When I update the value in the function below it is executed without even running the functionfunc11(){ 		Button1.setVisibility(false).then((s)=>{Button1.isVisible? showAlert("visible"):showAlert("not visible")}) }
https://github.com/appsmithorg/appsmith/assets/80756091/f28c1298-9543-4600-85f6-cb93172a8c63

@Rishabh-Rathod I do understand that lint error can not be provided for non boolean value and should be given during run time but what about if we provide string value example - setVisible('true')/(11) we clearly see that its string and number.

CurrencyInput1.seproperty

/build-deploy-preview skip-tests=true

[ ] Select options are not updated when variable is modified within the method. Call below function on a text widget and observe the select widget options are not updated

let l = {label: 'c', value: 'c'}
setTimeout(() => {newWidgets.setOptions(this.myVar1.push(l))}, 4000)

[ ]  Select options are not updated when variable is modified within the method. Call below function on a text widget and observe the select widget options are not updated

let l = {label: 'c', value: 'c'}
setTimeout(() => {newWidgets.setOptions(this.myVar1.push(l))}, 4000)

@ramsaptami
Please note that the array.push() returns the length of the array and in above code we are supplying the number ( array length ) as options.

This is expected to fail.

REF - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push

let l = {label: 'c', value: 'c'}
setTimeout(() => {newWidgets.setOptions(this.myVar1.push(l))}, 4000)

Heya, so here when you use this.myVar1.push(l) this expression returns the length of the array and not the array itself.
There in the above case it would be newWidgets.setOptions(1) if this.myVar1 has 1 element

/build-deploy-preview skip-tests=true

@Rishabh-Rathod I do understand that lint error can not be provided for non-boolean value and should be given during run time but what about if we provide string value example - setVisible('true')/(11) we clearly see that its string and number.

Though these values are string or numeric literal, we currently don't have a linting infra in place to infer the value type and throw an error for the method if there is a mismatch.
This would be similar to throwing error for showAlert([1,2,3]) where showAlert only accepts string as parameter.

Also is it possible to provide .then and .catch autocomplete? it could suggest user that function is thenable

Yes, this was a miss and we will add it.
cc: @AnandiKulkarni

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true

DocumentViewer1.setURL("https://www.orimi.com/pdf-test.pdf") is not working

DocumentViewer1.setURL("https://www.orimi.com/pdf-test.pdf") is not working

Working for me

/build-deploy-preview skip-tests=true

@Druthi @Rishabh-Rathod

[ ] this doesnt work when table has multi select option as true	Table1.setSelectedRowIndex(2).then(s=>showAlert('success'))

https://github.com/appsmithorg/appsmith/assets/80756091/c3f4b832-9947-4def-95b1-4d50fe732740

[ ] Table1.setSelectedRowIndex(1,2).then(s=>showAlert('success')) , only valid value for setselectedrow is number ....with above option functions runs scuuessfully and then block is executed with no error

[ ] Table data does not set on page load

async onLoad () {
		// await Api1.run()
		await Table1.setData(Api1.data.results)
			.then(() => showAlert('data set on page load') )
	}

[ ]  Table data does not set on page load
@ramsaptami Checked this out in the app, the data that is being passed in setData is not the right format as it has nested objected within the Api results data.

```async onLoad () {
	// await Api1.run()
	const data = Api1.data.results.map(({cell, email, gender}) => { return {cell, email, gender}});
	await Table1.setData(data)
		.then(() => showAlert('data set on page load') )
}```

Instead the above code would work fine

/build-deploy-preview skip-tests=true

[ ]  no validation for non-URL data for setImage method then functions contain then/catch blocks - mostly applicable to all methods and hence needs to be verified for all

This seems to be the behavior to not show the error alert when being called from the JSobject. This is the behavior even for showAlert. We'll have to a make a wider change if this is the expected behavior

DocumentViewer1.setURL("https://www.orimi.com/pdf-test.pdf")

@AnandiKulkarni I tried this and it worked for me on the latest code.

[ ]   no validation for non-URL data for setImage method then functions contain then/catch blocks - mostly applicable to all methods and hence needs to be verified for all

This seems to be the behavior to not show the error alert when being called from the JSobject. This is the behavior even for showAlert. We'll have to a make a wider change if this is the expected behavior

Adding to above point, This issue can be tracked here https://github.com/appsmithorg/appsmith/issues/24609

@Rishabh-Rathod @Druthi - getting error that failed to validate -
`myfunc2: ()=>{
let var1 = Api1.data.products.map((s)=>{
	return{
	"brand" : s.brand,
		"name" : s.title
	}
})
	console.log(var1)

JSONForm1.setData(var1[0])
}`

[ ]   Table data does not set on page load
@ramsaptami Checked this out in the app, the data that is being passed in setData is not the right format as it has nested objected within the Api results data. Instead the below code would work fine

async onLoad () {
	// await Api1.run()
	const data = Api1.data.results.map(({cell, email, gender}) => { return {cell, email, gender}});
	await Table1.setData(data)
		.then(() => showAlert('data set on page load') )
}

On the original snippet, Table1.setData(Api1.data.results) the data Api1.data.results is accepted on the table and displays information as expected. But why is there an expectation to transform the data during set action? Also, what if the user wants to display all of the information within a query or if the query contains a large number of columns?

Got your point. I mis understood and didn't check cases other than on load. Will check this out.

[ ] setColour does not work for switch widget. Is this applicable to switch group too?
[ ] setData does ont work for rating widget
[ ] setValue does not work for any of the defined widgets

/build-deploy-preview skip-tests=true

/ok-to-test

/build-deploy-preview skip-tests=true

/ok-to-test

/build-deploy-preview skip-tests=true

/ok-to-test

/build-deploy-preview skip-tests=true recreate=true env=release

/ok-to-test

/ok-to-test

/ok-to-test

/build-deploy-preview skip-tests=true  env=release

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true recreate=true

/build-deploy-preview skip-tests=true env=release

[ ] there's no validation for boolean, numeric datatypes for JSON form setter

/build-deploy-preview skip-tests=true env=release

[ ] Button - setlable doesnt work for below code when button is disabled

async myFun2 () {     Button2.isDisabled? Button1.setLabel("disabled"):Button2.setLabel("enabled") 	},
https://github.com/appsmithorg/appsmith/assets/80756091/ab4bbf04-6611-490c-90f5-836290a1cbae

[ ] setimage doesnt work when image in property pane has value but if the property pane image = empty setimage works well

https://github.com/appsmithorg/appsmith/assets/80756091/4bef33b8-e505-4dd7-9b78-1541c680cfe3

[ ] setdata give error as "Invalid object at index 0" for Table6.setData(["Banana", "Orange", "Apple", "Mango"]) this is not providing any information on what array format is required

[ ] video is setup to play on pageload, >>  onplay another event should play but its not playing anything

Button - setlable doesnt work for below code when button is disabled

@AnandiKulkarni This one seems to be working correctly. Can you check your code again.

When Button2 is disabled -> Button1's label needs to change,
however you have two function that are running on page load that sets Button1s label, hence you see var1 being set

/build-deploy-preview skip-tests=true env=release

/ok-to-test

/ok-to-test

/ok-to-test

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true env=release

/build-deploy-preview skip-tests=true

@Rishabh-Rathod currency input for setvalue(1234) fails and works when you add same value from property pane
https://github.com/appsmithorg/appsmith/assets/80756091/569cf6da-c348-41a6-a067-2d2cb97875cd

@Rishabh-Rathod -
DatePicker1.setValue(null) is getting accepted , can we error out. Also can we checkboxgroup - remove setvalue

@Rishabh-Rathod -

[ ]  DatePicker1.setValue(null) is getting accepted ,

Currently, the widget does accept null as a value to reset. If we expect an error, we will need to fix this on widget level. Could be raised as a platform-level issue.

/build-deploy-preview skip-tests=true

@Aishwarya-U-R Could you please review the automation test for this PR?

[ ] Rating1.setValue(-1) is not getting error out, no value is set but not getting error out

/build-deploy-preview skip-tests=true

/ok-to-test

/ok-to-test sha=257dd06


[MXNET-1000] get Ndarray real value and form it from a NDArray

Description
This is an implementation of visualizing the internal structure of NDArray as well as forming an NDArray from a multi-dimensional array.
visualize: Shown the structure of the current NDArray, it is also able to visualize some large NDArray
toNDArray: Convert a Array[Array[....Array[Float]...]] matrix into NDArray. Flatten and fill in a long array
@nswamy @andrewfayres @yzhliu @gigasquid  @ustcfd
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

@mxnet-label-bot [pr-awaiting-review]

I am not comfortable adding this API, an analogy to NDArray is BufferedImage, you don't print all the pixel values of a BufferedImage in toString. I understand it helps with debugging, however i would expect the developer/user to use a debugger or override toString then.

I am not comfortable adding this API, an analogy to NDArray is BufferedImage, you don't print all the pixel values of a BufferedImage in toString. I understand it helps with debugging, however i would expect the developer/user to use a debugger or override toString then.

@nswamy two things I would like to mention:

the visualize method does not override toString.
the visualize method can smartly handle the large NDArray case. Please see my unittest examples. It would ignore most of the content and only print a part of it. It implementation is very similar to ndarray print function in Python

IMO, It still doesn't warrant to add this , whether you call it visualize or override toString. Another thing its confusing user experience that you are putting arbitrary THRESHOLD values?. what makes these values to be correct, why not more or less.
    val ARRAYTHRESHOLD = 1000   // longest array to show in full

IMO, It still doesn't warrant to add this , whether you call it visualize or override toString. Another thing its confusing user experience that you are putting arbitrary THRESHOLD values?. what makes these values to be correct, why not more or less.
    val ARRAYTHRESHOLD = 1000   // longest array to show in full

@nswamy since this is just a helper tool for users to debug and see what content inside. I think it's fair to have this tool. This Threshold value is just a limitation on numbers of elements to be shown in the array. The reason I set it as 1000 because 10000 sometimes would crash the JVM because it used too much memory and it's making no sense for a user to visualize that much. If the user seriously wants something to show up, he/she should at least try to slice and get it visualized. We can get this threshold configurable and ask the user to pass in. I am also curious how numpy set up this number in Python. If I can find a number in there I will let you know.

Link to the discussion we discussed before: https://github.com/apache/incubator-mxnet/pull/12536

Any reason why we should not name the function toString? @nswamy @gigasquid Does clojure pkg so far has similar thing that may conflict with this?

quoting from Oracle's toString https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#toString()
Returns a string representation of the object. In general, the toString method returns a string that
"textually represents" this object. The result should be a **concise but informative representation**
that is easy for a person to read. It is recommended that all subclasses override this method.

It has to be concise: It might be helpful to print the metadata of the NDArray(Shape, DType,  ...).

I agree. Can we modify the current impl so that it can reach the toString bar?

@nswamy @yzhliu @gigasquid WDYT?

@nswamy Any thoughts? If it is for pretty-printing ndarray, I think it is suitable to put into toString. As for now we do not have a good toString for NDArray.

As offline discussion with @nswamy, the visualize method will go to a Util class. The reason behind it does not quite explain the idea behind NDArray. We can take it back to toString if anytime in the future when this method is more stable.

would you mind describe at what extent, it describes the idea behind NDArray? I think such a small feature can be easily made correctly at the very first time.

@yzhliu here is the points:
We should not place it at the very core place if we are not totally confident about its functionality.  We should place it elsewhere until we are confident enough user likes it and it is not buggy.
This method is not fully tested so we are using users for the experiment. Apart from that, we are more responsible for all public methods we introduce because the future maintenance for it is big.

My point is, if we think the method is buggy, then we should not place it anywhere - why create a new Class which for sure will be deprecated later?
I don't see the point why we cannot make it correct now.
So, do we agree, NDArray needs an implement of toString? If so, can we spend some efforts make the functionality correct for toString?

So far what need to be improved:

@nswamy 's suggestion: print also Shape and DType.
Mine: too many lines printed, suggest to follow numpy's limitation.
Anything else?

@yzhliu my concerns are:

that we are exposing helper utility functions as public API. I am not convinced how printing binary float values would make sense except when you probably are dealing with a 2 or 3 dimensional tensor when axes have small values, i don't think I can find a difference if there is a pixel value different in [3x224x224] Image represented in NDArray.

Typically Java object's toString() do not print the binary content of an object - if you print binary content IMO could be very surprising to users. I gave an analogy above how BufferedImage does not print its pixel values in toString.
Hence I suggested to only print the metadata of NDArray in toString() and move this helper to a utility class.

Lastly look at what other frameworks are doing in their Tensor's toString()
https://www.tensorflow.org/api_docs/java/reference/org/tensorflow/Tensor.html#toString()

I think Tensor is an ideal translation to MXNet Symbol since Tensorflow itself is a symbolic language. It did not contain real-time data when you compute at its stage so showing the detailed information seemed impossible.
I agree with you on showing the entire image buffered data is not necessary unless the user really want to do so.

Some examples do print values:
ND4J:
https://github.com/deeplearning4j/deeplearning4j/blob/master/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArray.java#L5751
numsca (basically wrapper of ND4J):
https://github.com/botkop/numsca/blob/master/src/main/scala/botkop/numsca/Tensor.scala#L214
jblas:
https://github.com/botkop/numsca/blob/master/src/main/scala/botkop/numsca/Tensor.scala#L214
I agree no one can tell whether two big tensors are the same by eyeball, but it is useful for small tensors, and helpful to things like checking scale of values, layout, etc - This is what we usually do with numpy's pretty-print arrays, it's not precise, but valuable.
If mxnet python print ndarray values, how would users be surprised to see scala does the same thing?
How about we do this, make Visualize.toString have params rowLimit and colLimit, and have NDArray.toString invoke with a small number.

@lanking520 ping! Were you able to figure out a way forward here?

@gigasquid Could you please provide some opinions?
Other two Scala committers from the Contributor.md: @yanqingmen @terrytangyuan

I agree that we should not print the entire data. Rather we should let users to specify how much to print. I am into Spark's way of doing this: def toString(maxLines: Int, maxLineWidth: Int)

Another reference is from https://docs.scipy.org/doc/numpy/reference/generated/numpy.set_printoptions.html
The default is 1000 - but you can override that with options
I do like the way mxnet python also includes the dtype
https://github.com/apache/incubator-mxnet/blob/master/python/mxnet/ndarray/ndarray.py#L412

@terrytangyuan @gigasquid Thanks for comment. I think we all agree that we should not print the entire data. What we haven't reached consensus is whether to have NDArray.toString() print a subset of the data values. basically what I proposed is
>>> nd.toString()
<NDArray [xxx, xxx, ... xxx] Shape Context Dtype>

@nswamy 's proposal is
>>> nd.toString()
<NDArray Shape Context Dtype>

>>> Visualize.toString(nd)
<NDArray [xxx, xxx, ... xxx] Shape Context Dtype>

@yzhliu Thanks for the clarifications. I am voting for the first option since I think it’s more useful and intuitive to users.

I also think the first option is more intuitive/useful and like mxnet python

Thank you all for your inputs @yzhliu @nswamy @gigasquid @terrytangyuan . Since the majority vote appears in the nd.toString, I would transfer my design back to there any apply the limitation on the data to print. I would follow what @gigasquid proposed to set a limitation on the total data and also @terrytangyuan with an option to override the toString option.

Hi @lanking520 thanks for your contributions. Could you update the PR as per the discussions above?

@mxnet-label-bot add [pr-work-in-progress]
@lanking520 ping again. feel free to change the label if I am wrong

@mxnet-label-bot update [scala, pr-work-in-progress]
@lanking520 ping again. feel free to change the label if I am wrong

Thanks, you are right about it

@lanking520 ping for update, thanks!

@lanking520 - ping :-) Looks like a useful utility for debugging purposes.

Indeed, will update when I back from Vacation


Results not visible in Notebook table format

Bug
Hue intermittently shows results in table format for a Notebook. It has shown to happen when the user executes a query in a Notebook (first time it works) then executes a query in the Hive editor and then returns to the Notebook. When they execute a query after returning to the Notebook the issue happens. The image below shows what happens when you first execute a query on the Notebook(results in table format as expected):

However, after returning to the Notebook (as described above) and executing the same query (or any other query) the following happens:

Hue version: 4.8.0
No logs appear on the browser console or on the server logs for this issue.

Yes, those are old flaky issues like this in Editor 1. Editor 2 is coming this year without those.
It runs on beta at demo.gethue.com/

Hi, @romainr thanks for your response. Will update when Editor 2 is available.

Hi, I am using Hue 4.10.0, and I find this issue still exists, so Editor2 is not available in 4.10.0? And what about 4.11 ?

Hi @sumtumn, editor v2 is now (current master branch) available behind feature a flag called "enable_hue_5=true" in the file desktop/conf/pseudo-distributed.ini under section [desktop]. Previously the flag was called "enable_notebook_2" but I'm not sure if it was supported in 4.10, you can try and have a look. Just update the config and restart Hue.


Fix drag delta when moving outside draggable range.

What does the pull request do?
#10892 and subsequently #11087 made changes to how the drag delta for a Thumb was calculated, in order to prevent the viewport jumping with virtualized lists of differing sizes. The end result of those changes is that the thumb drag delta was calculated from mouse movement in the root coordinate space. However this caused other problems such as #11162 and the following:
https://user-images.githubusercontent.com/1775141/236485163-decd40a1-94c4-4e38-a4b5-e727873123bd.mp4
This PR reverts the change to Thumb: after this PR, drag deltas are once again calculated in the Thumb's coordinate space. However, to prevent the viewport jumping with virtualized lists, the Track containing the Thumb now adjusts the drag start position when it detects that a drag and the movement of the thumb do not line up. This has the effect that the thumb can be detached from the absolute movement of the pointer when used in a scrollbar, but does not affect other uses of Thumb.
Fixed Issues
Fixes #11162

You can test this PR using the following package version. 11.0.999-cibuild0034330-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]


Feature mistralai api

I added support for Mistral AI's API. Thanks to this new feature, users will be able to play with the following models easily: mistral-small-latest, mistral-medium-latest, and mistral-large-latest (a GPT-4 level model).
Here is an example of usage:

import dspy

lm = dspy.Mistral(api_key="your-mistralai-api-key")

dspy.settings.configure(lm=lm)

mod = dspy.Predict("question -> answer")

print(mod(question="Who is Emmanuel Macron?"))

It'd be great if you could also add md file to this folder.
https://github.com/stanfordnlp/dspy/tree/main/docs/api/language_model_clients

Sure I will do that ! Thanks for the feedback !

Done @insop !

Thank you @fsndzomga .
Python code looks good to me; however I am not so sure about other files.

@fsndzomga can you change the link in docs to api/language_model_clients/Mistral

@krypticmouse , I am not sure I understand. Isn't it already the case ?

@fsndzomga yes but you just need to specify the path and remove the base url from the link. So you can remove the https://dspy-docs.vercel.app

Okay, I get it. Done ! Thanks for the feedback.

Hi @fsndzomga , thanks for the addition!
We want to keep all external imports/dependencies local to the file requirements.

@arnavsinghvi11 @okhat , I took into account all the feedbacks. It should be all good now.

Tested, I'm not sure if it really works. Mistral API models are chat completion models, and so they respond with repeating the task when using Predict (but not Chain of Thought which gives good results)
sentence = "it's a charming and often affecting journey."  # example from the SST-2 dataset.

# 1) Declare with a signature.
classify = dspy.Predict('sentence -> sentiment')

# 2) Call with input argument(s).
response = classify(sentence=sentence)

# 3) Access the output.
print(response.sentiment)

"Sentence: it's a charming and often affecting journey.\nSentiment: Positive\n\nNote: The sentiment is inferred as positive based on the use of words such as 'charming' and 'affecting' which convey a positive emotion or experience. However, please note that sentiment analysis is not always 100% accurate and can be subjective."

Thanks for the feedback @axelpey. To be clear, what you are saying is that it works, but the format of the response is sometimes not the one you expect. Right? Mistral models have a tendency to change their behavior, as you have mentioned. For instance, what you mentioned has not been happening over the past few weeks when I was testing. It depends on the model you use; even the same model can provide responses in different formats. I tested your code and got this: "Sentiment: Positive"  which is more concise.

Since DSPy does not handle response formats per se, on way to achieve your desired goal is to use TypedPredictors or simply use a mistral-large for example.
A global solution would be to add a custom parser specifically for Mistral AI, and I am not sure if it is in line with DSPy approach.

Hmm which one did you use? I used medium. And I think this problem is not limited to mistral, it's for all models that are ChatCompletion models and not just standard Completion. I think it's still very relevant to have Mistral API avail in dspy, just we need to be mindful of it. @okhat I think you've seen these issues before with other ChatCompletion too right?

Maybe I am missing something, but we do use the chat completions API from OpenAI right ? Below a screenshot of the gpt3.py file.

Anyway, if you guys have a better idea how to handle it, let me know, or we can just drop this feature.

@fsndzomga @axelpey Thanks for the discussion on the limitation with ChatCompletion models. This is indeed something we've seen come across with running chat models with DSPy. There is some more discussion in #662 and #420 as we have some ongoing work to handle this, but this PR is good to merge for now! Thanks @fsndzomga for the contributions!

Oh so even the OpenAI integration has the same problem... I really wasn't aware of that. Thanks for sharing the links @arnavsinghvi11 and thanks for merging the PR !


[AutoPR sql/resource-manager] private link resources swagger

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6866

(message created by the CI based on PR content)


WEB-3617: Making the description field markdown compatible

This means it'll have to be renamed description_md in publish.yaml, but
I think that's a sensible thing to do to ensure that it is obvious that
it accepts markdown.

I'm gonna merge this so I can release it.


Cache buster breaks in development mode

Take the following for example:
css :admin_css, "/asset/admin.css", [
    '/stylesheets/admin/chosen.css',
    '/stylesheets/issues/screen.css'
 ]

When run in production we get an output of PATH/asset/admin.87972.css, for example, and that file works just fine.
However, in development, we get the /stylesheets/admin/chosen.87972.css and /stylesheets/issues/screen.87972.css, but both of these result in 404's.  Removing the cache-buster number fixes this, but AFAIK, this isn't configurable.

Monkey patched to remove in dev... Think this is just an issue with our app configuration.


Use @rollup/plugin-typescript

rollup-plugin-ts is the unnoficial typescript plugin, versus @rollup/plugin-typescript.

Is there any concrete problem switching would solve?

Nope, they both do essentially the same thing. I don't mind this for a set library, but for a template, it feels weird not to use the official version, however, given that, then I'll take it as not planned.


Using Augmentor with TensorFlow

How can i use Augmentor on the fly with tensorflow? There's an example with Keras. Can you provide an example with tensor flow too?

Hi there, as I do not have TensorFlow currently installed on my main dev machine, I can't really add this functionality at present. However, it is something I definitely want to add, so I will take a look at doing this some time soon. I can't make any promises regarding when this might be unfortunately. That said, I'd be happy to take a look at a PR you might want to make!

you may like miniconda to setup tensorflow with cpu / very simple to get up and running.
https://gist.github.com/johndpope/187b0dd996d16152ace2f842d43e3990

Hello @mdbloice
Do you have some hints to get started?

@benjaminbarbe I guess that the is no too much difference in case of tensorflow. At least, when you're righting a training loop by hand, like in this snippet (probably has typos, but I guess you've got the idea):
from Augmentor.Operations import RotateRange
from PIL import Image

op = RotateRange(probability=0.5, max_left_rotation=30, max_right_rotation=30)

with tf.Session() as session:
    tf.global_variables_initialized().run()
    for epoch in range(n_epochs):
        for x_batch, y_batch in training_batches:
            pil_images = [Image.fromarray(x) for x in x_batch]
            augmented = op.perform_operation(pil_images)
            arrays = [np.asarray(img, dtype=float) for img in augmented]
            sess.run([train_op], feed_dict={x: x_batch, y: y_batch})

Probably there are some helpful utils in the library to simplify that process. Though if you want to augment images on GPU, then you need something more involved.

Tensorflow has the standard data processing API. I'm interested to interface Augmentor with the API.
As I can see, Augmentor is implemented entirely in Python. It should be possible to use tf.py_func to wrap Augmentor's functionality and provide data mappers that can be used with tf.data.Dataset.
As I'm not very familiar with Augmentor, so what would be a good point to start? Also, can Augmentor process images on a GPU?

I came across this repo the other week - https://github.com/tueimage/SE2CNN
it will build a roto-translation covariant convolutional network with tensorflow.
https://arxiv.org/pdf/1804.03393

Hi @alshedivat, sorry for the delay in replying, work duties have kept me from doing any work on Augmentor for the past few weeks. Actually, what I am working on next is proper support for TensorFlow. Right now, using Augmentor with Keras should work, and PyTorch should also work. Next step is to get Augmentor working with TF properly without workarounds. Expect it in the next release (although I cannot say for sure when that might be, unfortunately).

@mdbloice, cool, thanks for your reply! Do you have a roadmap for TF support? I'm pretty familiar with TF and it's Dataset API, so happy to contribute if that accelerates development.
Also, it looks like Augmentor doesn't use opencv, does it? Another image augmentation library shows that using highly optimized opencv gives best throughput.

HI @alshedivat, no I do not really have a roadmap right now for TF support, I am only able to work on Augmentor when time allows. And it's not really predictable when that might be, so I cannot say for sure when I might be able to work on new features or bugs unfortunately!
As for OpenCV, no I do not use it because it is a rather large dependency that I wanted to avoid. The library you linked to looks good though! I think with multi-threading the throughput in Augmentor is pretty good.
As for contributing, that would be great - I presume TF expects a generator of some kind, and if you check out the code for the keras_generator() function, you'll see how it works:
https://github.com/mdbloice/Augmentor/blob/5a8f6d6080ecbaa20af1a7bf2824f7fdbfd0ab94/Augmentor/Pipeline.py#L456-L543
If you can write a function like tf_generator or something similar that would output images in the format that is expected by TensorFlow, then I think that would be all there is to it! Let me know what you think.


Flag support for socket.py

Hello, I am developing a Home assistant Addon and Integration to run the socket server and connect to it so decided to suggest this change.
Would be a good quality of life change to allow users to specify flags and override some of the default values such as:

Server address
Server port
Checkpoint file
Vocab file
Reference audio
Reference text

After I develop the Addon and Integration I will add it to the readme as well for anyone interested to run this in Home Assistant. This will require some additional changes to add a middleware wrapper for the Wyoming protocol.
This is the integration PR: https://github.com/home-assistant/core/pull/131936. It is closed while i work on the Addon and set up everything.
Note: For the formatting a ran ruff and it passes, so assuming the structure is ok ?

thanks~
@smickovskid feel free to check if lastest pull works


Support for setCustomValidity()

Hi, do you plan to support setCustomValidity?

Sure, if someone submits a pull request for it.

This was implemented in https://github.com/jsdom/jsdom/pull/2142. 🎉


Error : Can't translate if text is less than 5k characters.

deep_translator.exceptions.NotValidPayload: {'text': 'some_text'} --> text must be a valid text with maximum 5000 character, otherwise it cannot be translated.
I am getting this error while I am trying to translate. Why is this issue happening, what should I do to solve this, please suggest me something.

@debjyoti003 Hi, well as the error shows: your input must be a valid text. I think you are trying to pass a dictionary {'text': 'some_text'}. Try and convert that to string/text first as the error said.
example:
if your dictionary is declared like this: d = {'text': 'some_text'}, then pass d["text"] to the translation function

@nidhaloff but I am testing this on postman, and I am passing this as a json data, so how should I do it then, as API only takes json data right?

how are you testing this? it's very hard to tell without seeing any code. Can you please post an example and show how you are using it


ARROW-17287: [C++] Create scan node that doesn't rely on the merged generator

Primary Goal: Create a scanner that "cancels" properly.  In other words, when the scan node is marked finished then all scan-related thread tasks will be finished.  This is different than the current model where I/O tasks are allowed to keep parts of the scan alive via captures of shared_ptr state.
Secondary Goal: Remove our dependency on the merged generator and make the scanner more accessible.  The merged generator is complicated and does not support cancellation, and it currently only understood by a very small set of people.
Secondary Goal: Add interfaces for schema evolution.  This wasn't originally a goal but arose from my attempt to codify and normalize what we are currently doing.  These interfaces should eventually allow for things like filling a missing field with a default value or using the parquet column id for field resolution.
Performance isn't a goal for this rework but ideally this should not degrade performance.

This is still very much a draft.  However, I have the basic path working.  I will need to migrate over the existing scanner tests and test the various failure paths (as well as stress test for race conditions, there is potential for plenty here).
I'm very curious what people think about the new scan options as well as the new evolution interfaces.

CC @save-buffer @marsupialtail who might be interested in this as well as we have spoken on similar topics


Не отображается список столбцов в SSIS

Использую Visual Studio 2019 и Integration Services Project v3.0, версия драйвера: Release v<IP_ADDRESS>90409
Проблема возникает при использовании любого драйвера (32/64 bit, ANSI/UTF), а также старых версий.
Создание диспетчера подключений с помощью DSN, а также подключение к БД проходит успешно, можно даже просмотреть данные в таблице:

Однако, если перейти во вкладку выбора столбцов, то можно наблюдать следующую картину:

Подключение успешно, но почему-то диспетчер подключений не может получить список столбцов. Возможно ли, что эта проблема на стороне Visual Studio, и можно как-то обойти ее и-таки получить доступ к столбцам таблицы в ClickHouse?
Заранее спасибо за помощь.

Скачал драйвер с опцией debug, в лог-файле (C:\Temp\clickhouse-odbc) после открытия окна, показанного на последнем скриншоте вижу следующие строки (для другой таблицы):
C:\dev\clickhouse-odbc\driver\odbc.cpp:89 query(85) = [select "sp_id" ,"datetime" ,"pr_id" ,"price" ,"stock_count" ,"use_before" from prices]
C:\dev\clickhouse-odbc\driver\odbc.cpp:136 SQLNumResultCols
C:\dev\clickhouse-odbc\driver\odbc.cpp:140 0

А можете приложить полный лог файл с минимальным воспроизведением проблемы?
(удалить лог, открыть студию и добраться до "столбцы")

А можете приложить полный лог файл с минимальным воспроизведением проблемы?
(удалить лог, открыть студию и добраться до "столбцы")
clickhouse-odbc.log

Выбрал таблицу "prices" со столбцами "sp_id" ,"datetime" ,"pr_id" ,"price" ,"stock_count" ,"use_before".

Со стороны драйвера проблемы не видно.
Вызывался SQLPrepare но не вызывался SQLExecute

Со стороны драйвера проблемы не видно.
Вызывался SQLPrepare но не вызывался SQLExecute
Ок, понял. Попробую с другими ODBC-драйверами, если там будет такая же проблема - буду писать в техподдержку Microsoft.

Драйвер ODBC для Postgre отрабатывает корректно:

Если нужно, могу сделать аналогичные действия по подключению к Postgres и ClickHouse и захватить сетевой обмен Wireshark'ом, а дамп выложить сюда.

Наблюдаю, аналогичную ситуацию при подключении ODBC-драйвера к Progress Report Server - запрос выполняется и возвращается его структура, но в источнике данных отсутствует список столбцов.

Hi All
I am working in one of the biggest companies in the middle east and we are using clickhouse.
I want to build my ETL's with SSIS but I can't use clickhouse ODBC as a data-flow source.
I even get a preview of data but [data flow\odbc source] is unable to detect columns.
we used it in Powerbi without any issues
visual studio 2019
ssis: 3.1
clickhouse ODBC: <IP_ADDRESS>35
clickhouse : <IP_ADDRESS>
Expected behavior
it would be great if I can read data from clickhouse and insert it to an excel file using SSIS.
SSIS incompatible with Clickhouse ODBC

is anyone working on this issue?
It is creating a lot of headache for our team.

is anyone working on this issue?
It is creating a lot of headache for our team.
I have the same issue as you.
ODBC is not the only way to get data from clickhouse. You could use a HTTP-interface inside of Script Component as a data source.

Can you please check if the problem is still actual with latest release  https://github.com/ClickHouse/clickhouse-odbc/releases/tag/v<IP_ADDRESS>91028 ?

Can you please check if the problem is still actual with latest release ... ?

Just checked, still not working.
Now there is one more bug: can't select a table via the column selector (infinity "Loading..."):

Direct SQL queries are working, but still no columns:

Thanks, we'll look on that closer.

Hi
Unlike @Indever2  I still can see tables list but still, there is no column detected.
Thanks

Hi  ,
any news on this ?

Issues mentioned here, with a good chance, are fixed by https://github.com/ClickHouse/clickhouse-odbc/pull/211 once it is merged.

I have downloaded the new driver from https://github.com/ClickHouse/clickhouse-odbc/releases
before this version I could preview the table but right now it doesn't work anymore.( and I can't use data-flow yet)
this is the error:
===================================
There was an error displaying the preview. (Microsoft Visual Studio)
===================================
ERROR [IM001] [Microsoft][ODBC Driver Manager] Driver does not support this function (CLICKHOUSEODBC.DLL)

Program Location:
at System.Data.Odbc.OdbcCommand.Cancel()
at Microsoft.DataTransformationServices.Design.PipelineUtils.ShowDataPreview(String sqlStatement, Int32 noParams, QueryParameter[] parameters, DbConnection connection, Control parentWindow, IServiceProvider serviceProvider, IDTSExternalMetadataColumnCollection100 externalColumns, Int32 timeout)
at Microsoft.DataTransformationServices.Design.PipelineUtils.ShowDataPreview(String sqlStatement, QueryParameter[] parameters, ConnectionManager connectionManager, Control parentWindow, IServiceProvider serviceProvider, IDTSExternalMetadataColumnCollection100 externalColumns, Int32 timeout)
at Microsoft.DataTransformationServices.DataFlowUI.ODBCConnectionPage.previewButton_Click(Object sender, EventArgs e)

I think this release is before the #211 merge. can we please get a new release?

Do you mean, you verified that this particular problem is resolved for you in a custom build that has #211 in it?

I think this release is before the #211 merge. can we please get a new release?

Do you mean, you verified that this particular problem is resolved for you in a custom build that has #211 in it?

Hi
No I have not created a custom build and i am using the build in this link :
https://github.com/ClickHouse/clickhouse-odbc/releases
Because I want to use this driver in a production environment I can't trust a custom build.
I was just hoping when we get a new release it's fixed.
Thanks

I see, ok, I'll try to reproduce and fix this your case too, and incorporate the fix in the next release.

We've published new release today. Please give it a try.

hi @filimonov
thanks for your efforts.
but unfortunately status is the same as my last comment and even preview is not working anymore.
I can see a list of tables so my connection is fine but when I try to run a simple query
like
select 'test' as name
I get the following error:
There was an error displaying the preview. (Microsoft Visual Studio)
===================================
ERROR [IM001] [Microsoft][ODBC Driver Manager] Driver does not support this function (CLICKHOUSEODBC.DLL)

Program Location:
at System.Data.Odbc.OdbcCommand.Cancel()
at Microsoft.DataTransformationServices.Design.PipelineUtils.ShowDataPreview(String sqlStatement, Int32 noParams, QueryParameter[] parameters, DbConnection connection, Control parentWindow, IServiceProvider serviceProvider, IDTSExternalMetadataColumnCollection100 externalColumns, Int32 timeout)
at Microsoft.DataTransformationServices.Design.PipelineUtils.ShowDataPreview(String sqlStatement, QueryParameter[] parameters, ConnectionManager connectionManager, Control parentWindow, IServiceProvider serviceProvider, IDTSExternalMetadataColumnCollection100 externalColumns, Int32 timeout)
at Microsoft.DataTransformationServices.DataFlowUI.DataFlowConnectionPage.previewButton_Click(Object sender, EventArgs e)

I'm with @hooman72 confirming that the same behaviour is observed in Tableau.
The Tableau (Desktop) is probing the driver for the capabilities and reported
that many of them are missing, including basic aggregations (MIN/MAX/COUNTD)
and date part functions, to name a few.

Thanks for the feedback, guys. We'll look into this.
Meanwhile, @yurifal , the capabilities Tableau is probing for are somewhat different from ODBC DM not finding an API function implementation. Do you mean those capability tests would pass for ClickHouse, if the driver exposed some function in ODBC API, that it is not exposing currently? (Note, I mean not SQL features, but ODBC C interface functions.)

Frankly, i'm a noob regarding any programming language,
so i don't understand what you mean, sorry.
This is the message from Tableau Desktop when starting
to create a datasource using the connection to ClickHouse

I see. So this looks like a separate issue to me. I'll look into this, regardless.

So the current state of the investigation is as follows:

ERROR [IM001] [Microsoft][ODBC Driver Manager] Driver does not support this function (CLICKHOUSEODBC.DLL)

The cause of this is found and will be fixed soon.

empty list of columns

This is, as found before, caused by SSIS requesting the column number using a crafted SELECT, where it explicitly lists the columns, then does SQLPrepare() but not SQLExecute(), and gets the resulting 0. The driver is able to retrieve the column info only on executed queries. I'll see if this capability could be communicated properly to the client side, so that the more appropriate method will be chosen. Or this as well could be an issue on the SSIS side.

for some tables, an attempt to retrieve column info when clicking "View Existing Data..." button may result in a dialog with an error, saying Error at Data Flow Task [ODBC Destination [2]]: The number of columns is incorrect.

This is due to SSIS, while being able to retrieve all table info together with corresponding catalog names (databases), still queries table info separately, without specifying the catalog name. As a result, that "View Existing Data..." button will show previews only for tables from the database, that is specified in the DSN (default or other.) At this point, this looks like an error at SSIS side to me.
Regarding Tableau issues - those being addressed separately.

Очень ждём исправления этого бага)

This is due to SSIS, while being able to retrieve all table info together with corresponding catalog names (databases), still queries table info separately, without specifying the catalog name. As a result, that "View Existing Data..." button will show previews only for tables from the database, that is specified in the DSN (default or other.) At this point, this looks like an error at SSIS side to me.

Regarding this findings, I asked a question here (hopefully, the right place):
https://feedback.azure.com/forums/908035-sql-server/suggestions/39305758-ssis-doesn-t-honour-catalogs-of-tables-it-retrieve - please upvote to boost its visibility.

#255 now contains changes that hopefully address all of the issues (-tableau) mentioned here. However, some of the behavior needed workarounds at the level of the driver, and some will need specific care when using driver with SSIS:

Catalog functions, depending on invocation way and matching patterns, may return tables from databases other than the connected database. To access them, e.g., for retrieving column info, client code (in this case SSIS internally) needs to specify the corresponding catalog (i.e., database) for the table. SSIS doesn't do that. As a result, some of the tables that are discovered, cannot be further queried for their column metadata. Driver's behavior is to return only tables for the connected database in trivial catalog function invocation cases. That behavior was extended to cover still not too complicated catalog function invocation that is performed by SSIS. This helps to mitigate SSIS issues when it then queries for columns for that tables. In short, now you will see only the list of tables that belong to your current connected database.

Columns successfully extracted now, however, due to some encoding conversion issues, you have to make sure you use Unicode driver, as the SSIS is a Unicode client. It fails to properly handle all the default conversion that Driver Manager does, in case when the client is Unicode and the driver is ANSI. If you use ANSI driver with SSIS you'll see garbage in parts of column names. However, you can verify that the reference test utility that comes with MDAC works well in similar configuration: ANSI ODBCTest vs ANSI driver, ANSI ODBCTest vs Unicode driver, Unicode ODBCTest vs Unicode driver, Unicode ODBCTest vs ANSI driver - all of them retrieve correct columns (meanwhile DM does the same magic of conversion.)

HI
SSIS is 64-bit. visual studio is 32-bit. so when you develop it uses the 32-bit driver but when you deploy. it uses the 64-bit driver.
I hope by saying this you are referring to the development and we can use 64-bit when we deploy our package.

Yes, I tested only in VS, which is 32-bit. The driver's behavior should be exactly the same, regardless of bitness.


Documentation problems

[x] Kybra stable structures chapter needs to be changed to say 64GiB
[x] Kybra cross canister should explain match (we actually want to get rid of match)
[x] Kybra change cycles chapter to have link: breakdown of all cycle costs here.
[x] Kybra management canister chapter link at bottom change to: See the management canister reference section for more information.


The ":cpp" symbol demangling prefix is incorrectly documented

In the documentation (https://github.com/bpftrace/bpftrace/blob/master/man/adoc/bpftrace.adoc) the mechanism for specifying function names in C++ for  a uprobe specification using the demangled form is incorrect. It currently says:
When tracing C++ programs, it’s possible to turn on automatic symbol demangling by using the :cpp prefix:

# bpftrace:cpp:"bpftrace::BPFtrace::add_probe" { ... }

Obviously that's not correct and is thoroughly confusing. At a minimum change it to:
uprobe:/path/to/bpftrace:cpp:"bpftrace::BPFtrace::add_probe" { ... }

However, that's a whole lot of bpftrace (binary and namespace). Probably better with a simple piece of example code.

Hi @ajor & @tyroguru ,Can u assign me this task ?


fix resizing: dynamic pointer offset for better UX

Fix #1506
Fix #1505
Originally, I thought static pointer offset would provide a better UX, but it was only with a mouse. I agree it was a bad UX especially on mobile.
This fixes it by introducing dynamic pointer offset. This will fix both concerns in #1505 and #1506

@dwelle I changed my mind and agree with you. https://github.com/excalidraw/excalidraw/issues/1339#issuecomment-626087442
Hope you like it!

Love it. Thanks! :tada: