add support for VZNetworkBlockDeviceStorageDeviceAttachmentDelegate

this adds support for the VZNetworkBlockDeviceStorageDeviceAttachmentDelegate to being able to listen to changes to a network block device attachment.
Which issue(s) this PR fixes:
Fixes #166
Additional documentation
I was supposed to add tests but then I noticed that you only run them on macOS 13 because macOS 14, 15 does not support build on nested virtualization. So I'm gonna mark the PR as ready to review. NBD support is only available from macOS 14+ . Please let me know if I should do something else.
My test use case below:
In the short vide I have a remote nbd server.
Then I create a vm connecting to the nbd server and works fine. The connection is made and the delegate receive the wasConnected message.
At this point, I stop the nbd server and I see the nbd client start receiving errors from the delegate as the connection dropped.
Then I start the nbd server again and my client gets reconnected.
https://github.com/user-attachments/assets/4025e774-69cd-4a1a-b3a8-306b5870b251

@lstocchi Thanks for sending PR!
I will check in today after I finished today's my work 🙏

@lstocchi Thanks for sending PR!
I will check in today after I finished today's my work 🙏

Thanks @Code-Hex

Btw, Could you add unit test for this? Or even at hand, I'd appreciate it if you could tell me how to check.

Updating the macOS example 👍

@Code-Hex I tried to run the macOS example (from the main branch) using the nbd-url but I'm not able to make it work. Not sure what I'm missing.
I run make all -> virtualization -install -> virtualization -nbd-url nbd+unix:///export?socket=nbd.sock but I keep getting Invalid virtual machine configuration. The storage device attachment is invalid bc the attachment is nil 🤔 I followed the indication from https://github.com/Code-Hex/vz/pull/156
I tried adding the code that was missing (hopefully working code) and I also pushed it so you can give it a look but I was not able to try it for the reason above. Any hints?
BTW, my manual way to test it is using vfkit.
I created a VM that was responsible to run the NBD server.
I used fedora cloud 40 as OS.
The seed.img is the cloud-init configuration to enable a new user
./vfkit --cpus 2 --memory 2048 --bootloader efi,variable-store=efi-variable-store,create --device virtio-blk,path=fedora-40.raw --device virtio-blk,path=seed.img  --device virtio-net,nat,mac=<Mac_addr>

then I ssh in it and run
qemu-nbd -f raw -x export --cache=none -p 11111 disk.img
Now I create a new vfkit binary using this branch https://github.com/crc-org/vfkit/pull/212 and I launch another VM to act as the nbd-client
./vfkit --cpus 2 --memory 2048 --bootloader efi,variable-store=efi-variable-store,create --device virtio-blk,path=fedora-40.raw --device virtio-blk,path=seed.img --device nbd,uri=nbd://<ip_first_vm>:11111/export  --device virtio-net,nat,mac=<Mac_addr>

<Mac_addr> and <ip_first_vm> taken by looking at /var/db/dhcpd_leases
I can provide the seed.img or tell you how to create it if you want to do exactly what I do

@lstocchi Thanks for your explanation and given an example to work them!
hmm, I didn't try it on macOS but I found the ndb server works on macOS too
https://gitlab.com/nbdkit/nbdkit/-/blob/master/README.md#macos
So I think you can check with install the ndbkit and run it on your macOS guest. I will confirm it too.

I tried writing the code to cover the delegate part https://github.com/Code-Hex/vz/commit/07aef590224d151fdebb3e760983b2f5995e7a08 and I also pushed it so you can give it a look but I was not able to try it for the reason above. Any hints?

I got panic 😇
./virtualization
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x10293e024]

goroutine 1 [running]:
github.com/Code-Hex/vz/v3.(*baseStorageDeviceConfiguration).Attachment(...)
        /Users/codehex/Desktop/vz/storage.go:165
main.listenNetworkBlockDevice(0x14000110050?)
        /Users/codehex/Desktop/vz/example/macos/main.go:341 +0x54
main.runVM({0x14000100990?, 0x140000021c0?})
        /Users/codehex/Desktop/vz/example/macos/main.go:82 +0x110
main.run({0x102a4bf68?, 0x102c57b60?})
        /Users/codehex/Desktop/vz/example/macos/main.go:36 +0x40
main.main()
        /Users/codehex/Desktop/vz/example/macos/main.go:26 +0x74

I'm sorry, this is going to be a bit of a long review, let me check around channel a bit more too.

np, I'm investigating too. Trying to make it work from the main branch first.

I made some code modifications and was able to verify the connection to the NBD server from the macOS guest using the following steps.
macOS host
$ hdiutil create -size 1g -fs HFS+ -volname "SharedDisk" shared.dmg
$ scp -O shared.dmg ubuntu@<IP_ADDRESS>:/home/ubuntu
shared.dmg

multipass ubuntu guest
ubuntu@UBUNTU:~$ cat /etc/nbd-server/config
[generic]
# If you want to run everything as root rather than the nbd user, you
# may either say "root" in the two following lines, or remove them
# altogether. Do not remove the [generic] section, however.
        user = nbd
        group = nbd
        includedir = /etc/nbd-server/conf.d

# What follows are export definitions. You may create as much of them as
# you want, but the section header has to be unique.
[disk0]
        exportname = /home/ubuntu/shared.dmg
ubuntu@UBUNTU:~$ sudo systemctl restart nbd-server

example code
./virtualization -nbd-url=nbd://<IP_ADDRESS>:10809/disk0
2024/11/02 00:23:07 start VM is running
2024/11/02 00:23:07 Successfully connected to NBD server

I will review this tomorrow as it is already time to sleep Japan time.

@lstocchi Hi 👋
I created a PR to propose some changes to your PR. This update is designed to ensure that the functionality can be resumed on the VM side when the NBD server recovers, rather than handling it as a one-time process.
Additionally, in Go, it’s common to leave the creation of goroutines to the user. This is because the implementations of methods and functions provided by libraries are generally hidden from the user’s view, so delegating this responsibility clears up these issues as well.
https://github.com/Code-Hex/vz/pull/168
If there are no issues with the following content, I will merge PR #168 and close this PR. Of course, all of your previous commits will also be included.

closing this in favor of https://github.com/Code-Hex/vz/pull/168#pullrequestreview-2411224406


css-descendant-gtgt: Support removed in Safari TP 40

See https://webkit.org/blog/7922/release-notes-for-safari-technology-preview-40/

CSS

Removed support for >> descendant combinator syntax (r221788)

Thanks!


list index out of range error if similarity search gives 0 docs

https://github.com/hwchase17/langchain/blob/276940fd9babf8aec570dd869cc84fbca1c766bf/langchain/vectorstores/milvus.py#L319
I'm using milvus where for my question I'm getting 0 documents and so index out of range error occurs
Error line:
https://github.com/hwchase17/langchain/blob/276940fd9babf8aec570dd869cc84fbca1c766bf/langchain/chains/llm.py#L95

19

Hi what's your input for llm and how do you build your chain, could you offer more information

+1 getting this using the following:
from langchain.chains import RetrievalQA
from langchain.chat_models import ChatOpenAI

llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
chroma_retriever = db.as_retriever(k=3)

qa = RetrievalQA.from_chain_type(llm=llm,
                                    chain_type="map_reduce",
                                    retriever=chroma_retriever,

+1 on this error

+1 on this error. I don't seem to be getting the error when the chain_type = 'stuff'. It comes up for map_reduce, map_rerank and refine.

Hello, is this problem solved?

Is this fix available on the latest release?


Add support for the Handlebars built-in lookup helper

Add support for the Handlebars built-in lookup helper, e.g.
{{#each bar}}
  {{lookup ../foo @index}}
{{/each}}

this project is abandoned.


Varying PEs and SIMDs parameters

Hello,
We are doing some tests varying the number of PEs/SIMDs parameters in each layer of the cnvW1A1 (CIFAR10) network to improve its response time. Everything works fine, and the response times of each layer scales accordingly to the number of PE/SIMD except for layer 0. If we modify the number of PEs/SIMDs in layer 0 away from the default (that is 16/3), the network produces incorrect results. Should we also change the comparison type (i.e., ap_fixed<24, 16>) or some other parameters in order to make layer 0 working correctly?

Which set of values have you tried for layer0? Which kind of error do you see? Compilation or just misclassification?

We have tried with (PEs = 32, SIMDs = 3), and (PEs = 64, SIMDs = 3). In both cases, we get misclassification but no compilation error. The code compiles correctly. We decided to keep SIMDs = 3 because it seems somehow linked to the number of input (color) components. Is this reasoning correct? Or, on the contrary, we can change the SIMDs number to an arbitrary value like say 10?

This is extremely odd, I've just tried with the latest commit to generate the SIMD=3 and PE=32 for the first layer and everything went through. Can you try with the attached generated files?
binparam-cnvW1A1-pynq.zip

We have tried with the weight you send me, but we still get a misclassification. I have to say, though, that we are embedding the weights and the thresholds directly into the accelerator (at HLS compile time) using the header files generated by the "cifar10-gen-weights-W1A1.py" script for performance reasons. Here (https://hastebin.com/xaheniwana.c), I've uploaded a text file containing both i) the thresholds generated using the python script and ii) the thresholds extracted from the binary file you send me. Considering the two's complement representation, they are the same. So, we don't understand why we get a misclassification error. When changing the PEs and SIMDs of layer 0, do we also need to change any of the parameters of the convolutional layer (except the parameters coming from config.h)?
ConvLayer_Batch<L0_K, L0_IFM_CH, L0_IFM_DIM, L0_OFM_CH, L0_OFM_DIM, L0_SIMD, L0_PE, Slice<ap_fixed<8, 1, AP_TRN, AP_SAT>>, Identity, Recast<Binary>>(inter0_2, inter1, weights0, threshs0, NUM_REPS, ap_resource_lut());

Have you tried with those weights and changed the config.h file in the cnvw1a1/hw folder? You don't need to change anything else, and the fact that you get misclassification while for me it works it's odd. Do you have your code forked somewhere in a repo?


Disallow Uppercase Radix Prefixes?

There's seems to be some agreement in TC39 that the uppercase forms of radial prefixes are undesirable in general, despite the longstanding existence of 0Xffc...
https://mail.mozilla.org/pipermail/es-discuss/2012-January/019735.html
Since CoffeeScript has no such obligation to JavaScript backwards-compatible syntax, should we simply remove uppercase radix prefixes from the language, only leaving: 0b..., 0o... and 0x... ?

never seen them used anywhere in any language, so :+1:

+1. I hated adding 0O... for consistency with 0X... and 0B.... Let's remove them all.

Great -- feel free to patch and merge then, if anyone has a minute to take a crack at it.

I think I can handle this right after lunch, unless anyone's already done it?

Hmm... What about exponents? 10E2 I say no uppercase allowed there either, for consistency's sake.

Yep.

What about hex A to F? Are we restricting them to lower (or upper?) case as well?

ping @michaelficarra (this can be closed, no?)


[SPARK-38361][SQL] Factory method getConnection should take Partition as optional parameter.

What changes were proposed in this pull request?
At present, the parameter of the factory method for obtaining JDBC connection is empty because the JDBC URL of some databases is fixed and unique.
However, for databases such as ClickHouse, connection is related to the shard node.
So I think the parameter form of getConnection: Option[Partition] = > Connection is more general.
Why are the changes needed?
Make factory method getConnection more general.
Does this PR introduce any user-facing change?
'No'.
Just inner change.
How was this patch tested?
Exists test.

ping @huaxingao cc @cloud-fan

This isn't used in Spark though ... what's the use case? isn't your 'database' just a shard of a database in this case, so would be specified in a connection string or something?

This isn't used in Spark though ... what's the use case? isn't your 'database' just a shard of a database in this case, so would be specified in a connection string or something?

ClickHouse have more than one shard. Each shard node has a own's jdbc url. Shard partition is a real partition could tell me which jdbc url should be used. The current JDBCRDD has a factory method getConnection: () => Connection which difficult tell me which partition or shard is.

If the JDBC connection is already to one shard, then why does anything else have to select a shard?

OK, but why is a connection specific to a shard, if the entire database is specific to a shard, or, can query data across shards anyway?

@srowen Let me give some background if how clickhouse shard works.
The concept distributed table in clickhouse is something like "remote view", which is a logical union of local tables from all cluster nodes. Generally, all of nods has the same distributed table.
When SQL select * from distribute_table summit to one clickhouse node, it will collect recrods from all nodes and send back to JDBC client. Pass partition infomation to JDBC Driver, then the driver can leverage it to determine which node(shard) has the best data locality, it can significant reduce the network traffic.

@srowen Let me give some background how clickhouse shard works.
The concept distributed table in clickhouse is something like "remote view", which is a logical union of local tables from all cluster nodes. Generally, all of nods has the same distributed table.
When submit SQL select * from distribute_table to one clickhouse node, it will collect recrods from all nodes and send back to JDBC client. Pass partition infomation to JDBC Driver, then the driver can leverage it to determine which node(shard) has the best data locality, it can significantly reduce the network traffic.

Thank you for the explanation.

I agree with the requirement that some JDBC dialects may want to customize the connection creation logic, shall we put this in the dialect API then?

I agree with the requirement that some JDBC dialects may want to customize the connection creation logic, shall we put this in the dialect API then?

Good idea.

https://github.com/apache/spark/pull/35727 used to replace this PR.


CLOUD-43441 Fix error messages

A single quote escaped all the parameter placeholders in some messages.

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1738/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1739/


[Bug]: Clicking on edit profile the page breaks with 'Unexpected error'

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
It is observed that when the user clicks on edit page the page break with the 'unexpected error' message

Steps To Reproduce
1.Launch appmsith app in prod environment
2.Create new app or open any of the existing app
3.Click on the profile name
4.Click on edit profile option and observe
Environment
Production
Version
Cloud

Duplicate of issue 9575


How can I work with multi-tables?

I have found only one solution to use nested arrays. Could I use the native features of mongodb, e.g. lookup or references or anything else?

No, just the subset in readme


Bracket Pair Colorization - window.zoomLevel when set -1 or lower

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:  1.73.1 (Universal)
OS Version:  macOS 13.0.1 (22A400)

Steps to Reproduce:

add "window.zoomLevel": -1

window.zoomLevel set to 0 or higher

window.zoomLevel set to -1 or lower

I cannot reproduce:
image.png

@hediet Hmm it seems to be working for me now as well 😂 I had changed
window.zoomLevel  to "window.zoomLevel":  -0.8 and it was working and then adjusting when needed with command +/- but now it seems to be working as expected.
I also found another open issue in regards to this

Let's close this as duplicate of #139067


Incorrect HELO host

Describe the bug
When sending emails, zitadel send HELO localhost command on SMTP. This is incorrect. Set correct FQDN hostname.
For instance, Apple iCloud rejects such a mail.
To Reproduce
Steps to reproduce the behavior:

Register User
See log

Expected behavior
Send an email successfully to any providers.
Screenshots
None.
Desktop (please complete the following information):
None.
Smartphone (please complete the following information):
None.
Additional context
WARN[1519] unable to process all events from subscription  caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/handler_projection.go:171" error="ID=EMAIL-s4is4 Message=could not set recipient<EMAIL_ADDRESS>Parent=(450 4.7.1 <localhost>: Helo command rejected: Host not found)" projection=projections.notifications

@hifabienne I think we should improve the docs to make more clear how to configure Zitadel for this, do you agree?

Ah, It's necessary to add EHLO func to func (smtpConfig SMTP) connectToSMTP(tlsRequired bool) (client *smtp.Client, err error) in /internal/notification]/channels/smtp/channel.go.

During setup this can be configured with the following config flags https://github.com/zitadel/zitadel/blob/main/cmd/defaults.yaml#L448 (on a running ZITADEL this can be changed in the instance settings)

@fforootd this is incorrect.
Please reference the smtp documentation for the net/smtp stdlib package https://pkg.go.dev/net/smtp#Client.Hello

Hello sends a HELO or EHLO to the server as the given host name. Calling this method is only necessary if the client needs control over the host name used. The client will introduce itself as "localhost" automatically otherwise. If Hello is called, it must be called before any of the other methods.

and that no where in internal/notification/channels/smtp/channel.go is there a call to the Client.Hello function.
This also makes it impossible to send email via gmail as it specifically blocks the use of localhost in the helo/ehlo command.

@lordwelch I see let us check this in more detail. @hifabienne who can look into this?

This also makes it impossible to send email via gmail as it specifically blocks the use of localhost in the helo/ehlo command.

Hm ok, interestingly we use Google SMTP-Relay for some of our mails and that works. (maybe this is due to some GSuite differences)

I am using an IP whitelist instead of an app-password, it is possible that Gmail has extra requirements because of this.

I am using an IP whitelist instead of an app-password, it is possible that Gmail has extra requirements because of this.

This may well be 😁  We run it with authentication. See below our config:
DefaultInstance:
  SMTPConfiguration:
    From: {a no reply adress}
    FromName: ZITADEL
    Tls: true
    SMTP:
      Host: smtp.gmail.com:465
      User: {a gsuite user}
      Password: {a gsuite users password}

CC @livio-a

@hifabienne to make it work for sure, we will need smtp templates or at least more options to configure (authN, ...)

@mzch Were you able to setup your smtp or do you still have issues?

As a workaround to let gmails smtp relay work with an IP whitelist can we have this set to the hostname, until smtp templates or whatever  are implemented? Which would be the correct thing to do per the SMTP RFC 5321 Section 2.3.5 gmail at least blocks specifically the string 'localhost' you could even hardcode 'LOCALHOST' and gmail would then allow access as they only mean to stop un-configured clients/bots. Not being able to send email can make zitadel almost unusable as when creating an account if the 'Email Verified' checkbox is not set the user is put into the 'Initial' status and I see no way to remove it from this status. Even attempting an API call results in a denial {"code":9,"message":"User is not yet initialized (COMMAND-J8dsk)","details":[{"@type":"type.googleapis.com/zitadel.v1.ErrorDetail","id":"COMMAND-J8dsk","message":"User is not yet initialized"}]}. Using an app password with gmail is not desirable as it gives full unrestricted access to the account an IP whitelist only allows smtp traffic. A trivial call to os.Hostname would work:
	hostname, err := os.Hostname()
	if err == nil {
		err = client.hello(hostname)
		if err != nil {
		return nil, caos_errs.ThrowInternal(err, "EMAIL-skwos", "could not make smtp dial")
	}

Also affected by this issue. My mail server is very strict when it comes to FQDN HELO.

Created a summarized issue #8042, will move this into the backlog.

smtp.gmail.com:465

Really appreciate sharing your configuration! Helped a lot as usually it is advised to use smtp-relay.gmail.com endpoint. Might be considered to be added as Gmail Workspace template in future versions.


Consider using gazebo_ros::Node instead of rclcpp:Node

I just realized rclcpp::Node is being used:
https://github.com/ros-simulation/gazebo_ros2_control/blob/98834ef700c1c6ffd3012d2de0a81a09ab2d2235/gazebo_ros2_control/src/gazebo_ros2_control_plugin.cpp#L64-L65
But if you used gazero_ros::Node, you'd get the advantages listed here and here, so you don't need to worry about executors or parsing common SDF params.

PR https://github.com/ros-simulation/gazebo_ros2_control/pull/11


PL/SQL IntelliSense - package members

Hello,
Would it be possible to provide package members autocomplition?
(For example when I write package name and dot it would list package members to choose from)
That would be perfect.

Like I say in issue #9, it would be great to have auto-completion, but there is no db connection yet...
My first priority is to finish issue #8, and perhaps after that.

I have in mind autocomplition with procedures and functions from package files (./src, not from DB). But having conn with db would be even better.

Also would love this functionality.
Basically it could be limited to workspace packages.
The use of DB connection might be slow.

Basically it could be limited to workspace packages.
The use of DB connection might be slow.

I do not think this is the best solution have limited workspace packages.
In order to have the functionality with all the packages I would have to download all the DB, of all the schema, locally.
Oracle is a payable DB with enough performance, I do not think waiting times are long...

Yes, you are right, Oracle should execute that query fairly quickly but
getting all that data may take several seconds.
This would be no problem if it happens in background.
Nevertheless I would see the need to also pars the workspace packages. I
don't want to connect to customer DB and in some cases I don't have that
connection or it requires VPN.
Best regards
Mateusz
2018-05-15 15:07 GMT+02:00 Danieleeee<EMAIL_ADDRESS>
Basically it could be limited to workspace packages.
The use of DB connection might be slow.
I do not think this is the best solution have limited workspace packages.
In order to have the functionality with all the packages I would have to
download all the DB, of all the schema, locally.
Oracle is a payable DB with enough performance, I do not think waiting
times are long...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/zabel-xyz/plsql-language/issues/32#issuecomment-389159717,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIUSCQTOLYp8RbJg5pa8YedJ8KZOZEf2ks5tytMEgaJpZM4QupvG
.

--
Pozdrawiam
Mateusz Żurek

Hi guys, just wanted to let you know that 5 months ago I implemented the Go to Symbol in Workspace functionality which parses all packages in a workspace (using ctags), but my pull request was never reviewed. This functionality could also be upgraded to implement IntelliSense since I already have list of all packages and symbols inside it.
Kind regards,
Boris

Hi @MadeManMax ,
there are many extensions (SQLTolls, mssql,...) that do what I told to you and don't have perfomance problems.
Parserizing all workspace packages would cause more perfermance problems than direct searching in the DB.
Having the DB in local seems to me a workaround.
I do not say that you have to connect to the customer's db, but programming without having a db of development seems to me a strange way to proceed.

Hello everyone,
There is no DB connection yet (as I said, this is the next feature I would like to implement).
Auto-completion with procedures and functions from package files (no DBs) can be a useful feature (when there is no connection).
It's not difficult to implement, so I have already added this feature. I finish some tests and will publish something this weekend.

Hi @Danieleeee,
You are probably right.
Your approach would be best.
If we assume that DB connection is workspace related it could work for me.
@bmarkovic17 - that would be nice.
Best regards

Hi @zabel-xyz ,
Can't wait to test it.
Thank you

Hi @zabel-xyz,
I will wait for the db connection to be implemented.
I can not understand how a db can be related to a pc folder.
Thanks.

Hi @zabel-xyz
In plsql.completion.json can you add "tables" ?
We could populate this json with the objects of our DB.

version 1.3.0:

Auto-completion from package files
Custom completion can be defined in a file plsql.completion.json (see doc)

Hi,
I tested completion, works great.
There is a small bug, the completion is case sensitive.
I have configured plsql.completion.json with my tables.
If I white table name (SERVIZ) in uppercase it works well:

but in lowercase (serviz) no:

Is possible to have another param in plsql.completion.json for method description?
You can show it in place of "plsql.completion":

For to enable code completion I have to push ctrl+space, there is a way to aneble it by default?
Thanks

Hi,
I've tested "Auto-completion from package files" and it works grate.
I have few remarks:

the package name is not listed. It have to be fully written. It would be grate if package name would be listed in auto compleat
the procedures and functions are presented with the same icon as constants or globals
there is not information about procedure/function parameters or any hint (something like popup you get when you hit Ctrl and hover over procedure name)

Best regards

@MadeManMax

Don't sure I understand exactly what you want...
I see, there is a bug with completionItemKind, I'll fix it
hoverProvider is not implemented yet (see issue #24)

Hi @zabel-xyz ,

Don't sure I understand exactly what you want...
OK. I might write it to specifically.
For example: you start to write PL/SQL package code and you want to use function xyz from package zxysomething but you don't remember the package name but it is in your workspace. So you start to write zxy and hit ctrl + space and you'd assume that you will see it on IntelliSense but it is not presented.

I don't know if this is part of this functionality.

I agree, autocompletion of package name itself would be super useful. Thanks @zabel-xyz .

Hi @zabel-xyz ,
can you try to increase performance of completion for searching in plsql.completion.json?
I have 158000 rows in plsql.completion.json and it hangs.

@MadeManMax, @mickeypearce
What you like, is auto-completion for packageName.
To do that I must parse all files of workspace (workpaceSymbol), (I need also to implement a cache).
I suggest you to open a new issue to do that.

@Danieleeee
I don't know what to do... I load the file once in a JS object  completion.members and then I use completion.members[text]
Maybe is not a performance issue, but when it's fail, I notice it hangs loading...
I notice this when there is no workspace. In your case I don't know what goes wrong !?

@zabel-xyz
I have the workspace, the problem is it.
When I have many packages in workspace and have object in plsql.completion.json it hangs.
With only plsql.completion.json and empty workspace, it works.

@MadeManMax
if you parametrize package, procedures,... in plsql.completion.json, auto-completion for packageName works.
Make attention at uppercase.

Version 1.3.1 fix all small bug you mentioned.
If something persists (or I miss something), please signal it.

Hi, completion is still case sensitive.

Hi @zabel-xyz, @Danieleeee
Can you please point me to documentation of plsql.compleation.json
I can't find anything useful that would list available values for kind property.
Thank you

Hi @MadeManMax ,
this is an example:

{
"TABLE1": {
"kind": "struct",
"documentation": "description of table1",
"members": [
{
"label": "ascc_puntopresa",
"kind": "field",
"documentation": "number(22)"
},
{
"label": "ascc_codana",
"kind": "field",
"documentation": "number(22)"
},
{
"label": "ascc_centro_costo",
"kind": "field",
"documentation": "varchar2(16)"
},
{
"label": "ascc_ute",
"kind": "field",
"documentation": "varchar2(2)"
}
]
},
"TABLE2": {
"kind": "struct",
"documentation": "description of table2",
"members": [
.....
]
}
}

Hi @Danieleeee
Thank you very much for example.
I've seen something similar in plsql.compleation.json template in extension folder by was wondering if I can use other kinds of objects.
Something like
{
"Package1": {
"kind": "package",
"documentation": "description of package1",
"members": [
{
"label": "fvSomeFunction1",
"kind": "function",
"documentation": "list of arguments"
},
{
"label": "rSomeProcedure",
"kind": "procedure",
"documentation": "list of arguments"
},
]
}

I will just test it.

Yes, you can.
You can assign "kind" values using this list:

class
color
constant
constructor
enum
enumMember
event
field
file
folder
function
interface
keyword
method
module
operator
property
reference
snippet
struct
text
typeParameter
unit
value
variable

Thank you @Danieleeee

@MadeManMax ,
now I have done two scripts to import the tables and packages (+ procedures and functions) from the DB.
You could incorporate this functionality in your extension in order to have the list of object and tables always updated and not having to download all the objects physically from the DB every time.

@Danieleeee ,
Yes I was thinking about similar solution.
If you can please share your scripts.
Thank you.

I create a table prova_dr with a clob column where to put results to copy in file "plsql.compleation.json"
As you can see I used 3 schemes (UTE, SIU_INT, ETADBA), so it would be useful to give the possibility to go on more than one scheme at the same time
Update tables :

declare
  v_app              varchar2(1000);
  stringa_superiore  varchar2(32000):= '';
  stringa_colonna    clob:= '';
  log_clob           clob;
  --
  cursor c is Select t.TABLE_NAME,
                '"'||t.TABLE_NAME||'":{
                    "kind": "struct",
                    "documentation": "'||c.comments||'",
                       "members": [' stringa_superiore,
       '{"label": "'||t.COLUMN_NAME||'", "kind": "field","documentation":"'||data_type||'('||data_length||')"}' stringa_colonna
                from dba_tab_columns t, all_tab_comments c
               where t.owner in ('UTE', 'SIU_INT','ETADBA')
               and  t.TABLE_NAME = c.table_name
             order by TABLE_NAME;
begin
  dbms_lob.createtemporary(log_clob, true);
  for cur in c loop
     if v_app = cur.TABLE_NAME then
        stringa_colonna := stringa_colonna||','||CHR(10)||replace(replace (cur.stringa_colonna,CHR(10),'\n'),'"','\"');
     else
       if dbms_lob.getlength(stringa_colonna)>3 then
          if dbms_lob.getlength(stringa_colonna)>30000 then
             dbms_lob.writeappend(log_clob, 30000, dbms_lob.substr( stringa_colonna, 30000, 1 ));
             dbms_lob.writeappend(log_clob, dbms_lob.getlength(dbms_lob.substr( stringa_colonna, dbms_lob.getlength(stringa_colonna), 30001 )||CHR(10)||']},'||CHR(10)), dbms_lob.substr( stringa_colonna, dbms_lob.getlength(stringa_colonna), 30001 ) ||CHR(10)||']},'||CHR(10));
          else
             dbms_lob.writeappend(log_clob, dbms_lob.getlength(stringa_colonna||CHR(10)||']},'||CHR(10)), stringa_colonna||CHR(10)||']},'||CHR(10));
          end if;
       end if;
       v_app := cur.TABLE_NAME;
       stringa_superiore := cur.stringa_superiore;
       dbms_lob.writeappend(log_clob, length(stringa_superiore), stringa_superiore||CHR(10));
       stringa_colonna := replace(replace (cur.stringa_colonna,CHR(10),'\n'),'"','\"');
     end if;
  end loop;
  --
  if length(stringa_colonna)>3 then
     dbms_lob.writeappend(log_clob, length(stringa_colonna||CHR(10)||']}'||CHR(10)), stringa_colonna||CHR(10)||']}'||CHR(10));
  end if;
  --
  insert into prova_dr (parametrizzazione) values (log_clob);
  commit;
  --
  dbms_lob.freetemporary(log_clob);
 dbms_session.free_unused_user_memory;
exception
  when others then
     rollback;
     dbms_lob.freetemporary(log_clob);
 dbms_session.free_unused_user_memory;
     dbms_output.put_line('Errore: '||sqlerrm);
end;

Package (no parameter desc, go to ALL_ARGUMENTS):
declare
  v_app              varchar2(1000);
  stringa_superiore  varchar2(14000):= '';
  stringa_colonna    varchar2(32000):= '';
  v_list_procedure   varchar2(32000):= '';
  log_clob           clob;

  cursor c is Select object_name,
                '"'||object_name||'":{
                    "kind": "class",
                    "documentation": "Package '||owner||'\n-----\nlista_di_procedure",
                       "members": [' stringa_superiore,
       '{"label": "'||PROCEDURE_NAME||'", "kind": "property", "documentation": ""}' stringa_colonna
                from all_procedures ui
  where owner in ('UTE','SIU_INT','ETADBA')
  and object_type = 'PACKAGE'
  order by object_name;

begin
  dbms_lob.createtemporary(log_clob, true);

  for cur in c loop

     if v_app = cur.object_name then
        stringa_colonna := stringa_colonna||','||CHR(10)||cur.stringa_colonna;
     else
       if length(stringa_colonna)>3 then
          dbms_lob.writeappend(log_clob, length(stringa_colonna||CHR(10)||']},'||CHR(10)), stringa_colonna||CHR(10)||']},'||CHR(10));
       end if;

       v_app := cur.object_name;
       stringa_superiore := cur.stringa_superiore;

       SELECT RTRIM(XMLAGG(XMLELEMENT(E,PROCEDURE_NAME,'\n').EXTRACT('//text()') ORDER BY PROCEDURE_NAME).GetClobVal(),'\n') AS LIST
         into v_list_procedure
         FROM all_procedures
        where object_name = cur.object_name
         and object_type = 'PACKAGE';

       stringa_superiore := replace(stringa_superiore, 'lista_di_procedure', v_list_procedure);
       dbms_lob.writeappend(log_clob, length(stringa_superiore), stringa_superiore||CHR(10));
       stringa_colonna := cur.stringa_colonna;
     end if;

  end loop;
  --
   dbms_lob.writeappend(log_clob, length(stringa_colonna||CHR(10)||']}'||CHR(10)), stringa_colonna||CHR(10)||']}'||CHR(10));
  --
  insert into prova_dr (parametrizzazione) values (log_clob);
  commit;
  --
  dbms_lob.freetemporary(log_clob);
-- libera tutta la memoria non più utilizzata
 dbms_session.free_unused_user_memory;
exception
  when others then
     rollback;
     dbms_lob.freetemporary(log_clob);
-- libera tutta la memoria non più utilizzata
 dbms_session.free_unused_user_memory;
     dbms_output.put_line('Errore: '||sqlerrm);
end;

Fix for table update:
declare
  v_app              varchar2(1000);
  stringa_superiore  varchar2(32000):= '';
  stringa_colonna    clob:= '';
  log_clob           clob;
  --
  cursor c is Select t.TABLE_NAME,
                '"'||t.TABLE_NAME||'":{
                    "kind": "struct",
                    "documentation": "'|| replace(replace (c.comments,CHR(10),'\n'),'"','\"')||'",
                       "members": [' stringa_superiore,
       '{"label": "'||t.COLUMN_NAME||'", "kind": "field","documentation":"'||data_type||'('||data_length||')"}' stringa_colonna
                from dba_tab_columns t, all_tab_comments c
               where t.owner in ('UTE', 'SIU_INT','ETADBA')
               and  t.TABLE_NAME = c.table_name
             order by TABLE_NAME;
begin
  dbms_lob.createtemporary(log_clob, true);
  for cur in c loop
     if v_app = cur.TABLE_NAME then
        stringa_colonna := stringa_colonna||','||cur.stringa_colonna;
     else
       if dbms_lob.getlength(stringa_colonna)>3 then
          if dbms_lob.getlength(stringa_colonna)>30000 then
             dbms_lob.writeappend(log_clob, 30000, dbms_lob.substr( stringa_colonna, 30000, 1 ));
             dbms_lob.writeappend(log_clob, dbms_lob.getlength(dbms_lob.substr( stringa_colonna, dbms_lob.getlength(stringa_colonna), 30001 )||CHR(10)||']},'||CHR(10)), dbms_lob.substr( stringa_colonna, dbms_lob.getlength(stringa_colonna), 30001 ) ||CHR(10)||']},'||CHR(10));
          else
             dbms_lob.writeappend(log_clob, dbms_lob.getlength(stringa_colonna||CHR(10)||']},'||CHR(10)), stringa_colonna||CHR(10)||']},'||CHR(10));
          end if;
       end if;
       v_app := cur.TABLE_NAME;
       stringa_superiore := cur.stringa_superiore;
       dbms_lob.writeappend(log_clob, length(stringa_superiore), stringa_superiore||CHR(10));
       stringa_colonna := cur.stringa_colonna;
     end if;
  end loop;
  --
  if length(stringa_colonna)>3 then
     dbms_lob.writeappend(log_clob, length(stringa_colonna||CHR(10)||']}'||CHR(10)), stringa_colonna||CHR(10)||']}'||CHR(10));
  end if;
  --
  insert into prova_dr (parametrizzazione) values (log_clob);
  commit;
  --
  dbms_lob.freetemporary(log_clob);
 dbms_session.free_unused_user_memory;
exception
  when others then
     rollback;
     dbms_lob.freetemporary(log_clob);
 dbms_session.free_unused_user_memory;
     dbms_output.put_line('Errore: '||sqlerrm);
end;

Hi,
I've modified My query so that it returns one clob with all tables, their columns and comments.
I replace few characters so that returned data is valid JSON.
It takes a minute to execute and it may work longer on bigger database.
In my case it returns around 3K tables
SELECT '{'||rtrim(REPLACE(XMLAGG(XMLELEMENT(a,datarow,',').EXTRACT('//text()')).GetClobVal(),'"','"'),',')||'}' FROM (
  SELECT t.TABLE_NAME
         ,'"'
         || t.TABLE_NAME
         || '":{
                    "kind": "struct",
                    "documentation": "'
         ||replace(replace(REPLACE(c.comments,'\','\\'),'"','\"'),CHR(10),'\n')
         || '",
                       "members": ['
         || REPLACE(
                  RTRIM(
                              XMLAGG(
                                  XMLELEMENT(
                                      e
                                     ,   TRIM('{"label": "'
                                      || CASE
                                             WHEN cc.Column_name LIKE '% %'
                                             THEN
                                                 '\"' || cc.Column_name || '\"'
                                             ELSE
                                                 cc.Column_name
                                         END
                                      || '", "kind": "field", "documentation": "'
                                      || cc.data_type
                                      || '('
                                      || cc.data_length
                                      || '). '
                                      || replace(replace(replace(com.comments,'\','\\'),'"','\"'),CHR(10),'\n'))
                                      || '"}'
                                     ,',').EXTRACT('//text()')).GetClobVal()
                             ,','),'"','"')
         || ']}' datarow
    FROM all_tables t, all_tab_comments c, all_tab_columns cc, all_col_comments com
   WHERE t.table_name = c.table_name
     AND t.owner = c.owner
     and cc.column_name = com.column_name
                      AND cc.table_name = com.table_name
                      AND cc.table_name = t.table_name
                      AND cc.Owner = com.owner
                      AND cc.owner = t.owner
     AND t.owner IN ('UTE', 'SIU_INT', 'ETADBA')
     group by t.table_name,c.comments
ORDER BY t.TABLE_NAME)

Hi @Danieleeee ,
Thank you.
I think that this query needs one additional touch.
Since you are taking data from multiple schema you probably need to add owner to group by statement so that same table name from different schema is not grouped to one row.
maybe the schema name should be added to documentation part.
In my case I'm basically using one schema so I don't have such problem.
Best regards

Done,
there are still some problems with duplicate rows.
SELECT '{'||rtrim(REPLACE(REPLACE(XMLAGG(XMLELEMENT(a,datarow,',').EXTRACT('//text()')).GetClobVal(),'"','"'),''',''''),',')||'}'
 FROM (
  SELECT '"'
         || t.TABLE_NAME
         || '":{
                    "kind": "struct",
                    "documentation": "'||t.owner||'.'||t.TABLE_NAME||'\n'
         ||replace(replace(REPLACE(c.comments,'\','\\'),'"','\"'),CHR(10),'\n')
         || '",
                       "members": ['
         || REPLACE(REPLACE(
                  RTRIM(
                              XMLAGG(
                                  XMLELEMENT(
                                      e
                                     ,   TRIM('{"label": "'
                                      || CASE
                                             WHEN cc.Column_name LIKE '% %'
                                             THEN
                                                 '\"' || cc.Column_name || '\"'
                                             ELSE
                                                 cc.Column_name
                                         END
                                      || '", "kind": "field", "documentation": "'
                                      || cc.data_type
                                      || '('
                                      || cc.data_length
                                      || ')\n'
                                      || replace(replace(replace(replace(replace(com.comments,'\','\\'),'"','\"'),CHR(10),'\n'),CHR(13),'\r'),CHR(09),'\t'))
                                      || '"}'
                                     ,','||CHR(10)).EXTRACT('//text()')).GetClobVal()
                             ,','||CHR(10)),'"','"'),''','''')
         || ']}'||CHR(10) datarow
    FROM all_tables t, all_tab_comments c, all_tab_columns cc, all_col_comments com
   WHERE t.table_name = c.table_name
     AND t.owner = c.owner
     and cc.column_name = com.column_name
     AND cc.table_name = com.table_name
     AND cc.table_name = t.table_name
     AND cc.Owner = com.owner
     AND cc.owner = t.owner
     AND t.owner IN ('UTE', 'SIU_INT', 'ETADBA')
     group by c.comments,t.owner,t.table_name
ORDER BY t.TABLE_NAME,t.owner);

Hi @Danieleeee ,
Are your duplicated rows related to different schema?
You can always prefix table name with owner and then check if you have duplicates.
I test it using below query
SELECT owner,TABLE_NAME, count(*)
 FROM (
  SELECT '"'
         || t.TABLE_NAME
         || '":{
                    "kind": "struct",
                    "documentation": "'||t.owner||'.'||t.TABLE_NAME||'\n'
         || replace(replace(replace(replace(replace(c.comments,'\','\\'),'"','\"'),CHR(10),'\n'),CHR(13),'\r'),CHR(09),'\t')
         || '",
                       "members": ['
         || REPLACE(REPLACE(
                  RTRIM(
                              XMLAGG(
                                  XMLELEMENT(
                                      e
                                     ,   TRIM('{"label": "'
                                      || CASE
                                             WHEN cc.Column_name LIKE '% %'
                                             THEN
                                                 '\"' || cc.Column_name || '\"'
                                             ELSE
                                                 cc.Column_name
                                         END
                                      || '", "kind": "field", "documentation": "'
                                      || cc.data_type
                                      || '('
                                      || cc.data_length
                                      || ')\n'
                                      || replace(replace(replace(replace(replace(com.comments,'\','\\'),'"','\"'),CHR(10),'\n'),CHR(13),'\r'),CHR(09),'\t')
                                      )
                                      || '"}'
                                     ,','||CHR(10)).EXTRACT('//text()')).GetClobVal()
                             ,','||CHR(10)),'"','"'),''','''')
         || ']}'||CHR(10) datarow,t.table_name,t.owner
    FROM all_tables t, all_tab_comments c, all_tab_columns cc, all_col_comments com
   WHERE t.table_name = c.table_name
     AND t.owner = c.owner
     and cc.column_name = com.column_name
     AND cc.table_name = com.table_name
     AND cc.table_name = t.table_name
     AND cc.Owner = com.owner
     AND cc.owner = t.owner
     AND t.owner = 'BSCC'
     group by t.owner,t.table_name,c.comments
ORDER BY t.owner,t.TABLE_NAME)
group by owner,TABLE_NAME
having count(*) > 1

Below is slightly modified query. The comments column used for table documentation part also needs to handle special characters.
I also changed order of columns in grouping and in order by
SELECT '{'||rtrim(REPLACE(REPLACE(XMLAGG(XMLELEMENT(a,datarow,',').EXTRACT('//text()')).GetClobVal(),'"','"'),''',''''),',')||'}'
 FROM (
  SELECT '"'
         || t.TABLE_NAME
         || '":{
                    "kind": "struct",
                    "documentation": "'||t.owner||'.'||t.TABLE_NAME||'\n'
         || replace(replace(replace(replace(replace(c.comments,'\','\\'),'"','\"'),CHR(10),'\n'),CHR(13),'\r'),CHR(09),'\t')
         || '",
                       "members": ['
         || REPLACE(REPLACE(
                  RTRIM(
                              XMLAGG(
                                  XMLELEMENT(
                                      e
                                     ,   TRIM('{"label": "'
                                      || CASE
                                             WHEN cc.Column_name LIKE '% %'
                                             THEN
                                                 '\"' || cc.Column_name || '\"'
                                             ELSE
                                                 cc.Column_name
                                         END
                                      || '", "kind": "field", "documentation": "'
                                      || cc.data_type
                                      || '('
                                      || cc.data_length
                                      || ')\n'
                                      || replace(replace(replace(replace(replace(com.comments,'\','\\'),'"','\"'),CHR(10),'\n'),CHR(13),'\r'),CHR(09),'\t')
                                      )
                                      || '"}'
                                     ,','||CHR(10)).EXTRACT('//text()')).GetClobVal()
                             ,','||CHR(10)),'"','"'),''','''')
         || ']}'||CHR(10) datarow
    FROM all_tables t, all_tab_comments c, all_tab_columns cc, all_col_comments com
   WHERE t.table_name = c.table_name
     AND t.owner = c.owner
     and cc.column_name = com.column_name
     AND cc.table_name = com.table_name
     AND cc.table_name = t.table_name
     AND cc.Owner = com.owner
     AND cc.owner = t.owner
     AND t.owner IN ('UTE', 'SIU_INT', 'ETADBA')
     group by t.owner,t.table_name,c.comments
ORDER BY t.owner,t.TABLE_NAME);

Yes the problem of duplicate rows is with owner.
I think we have done with tables.
Now we have to do a good query for package.procedures/function.

This works:
SELECT '{'||rtrim(REPLACE(REPLACE(XMLAGG(XMLELEMENT(a,datarow,',').EXTRACT('//text()')).GetClobVal(),'"','"'),''',''''),',')||'}'
 FROM (
  SELECT '"'
         || t.object_name
         || '":{
                    "kind": "struct",
                    "documentation": "'||t.owner||'.'||t.object_name||'\n'
        -- || replace(replace(replace(replace(replace(c.comments,'\','\\'),'"','\"'),CHR(10),'\n'),CHR(13),'\r'),CHR(09),'\t')
         || '",
                       "members": ['
         || REPLACE(REPLACE(RTRIM( XMLAGG(XMLELEMENT( e, '{"label": "'||t.PROCEDURE_NAME || '", "kind": "field", "documentation": "'||
              (SELECT REPLACE(REPLACE(RTRIM( XMLAGG(XMLELEMENT( e, TRIM((a.argument_name||'     '||a.in_out||'  '||a.data_type))
                                     ,','||CHR(10)).EXTRACT('//text()')).GetClobVal()
                             ,','||CHR(10)),'"','"'),''','''')||'"},'||CHR(10)
                 FROM ALL_ARGUMENTS a
                where a.package_name = t.object_name
                  and a.OBJECT_NAME = t.PROCEDURE_NAME
                  and a.OBJECT_ID = t.object_id
                  and argument_name is not null
                  and a.OWNER = t.owner
                  group by a.object_name)
             ).EXTRACT('//text()')).GetClobVal()),'"','"'),''','''')||CHR(10)
         || ']}'||CHR(10) datarow
    FROM all_procedures t
   WHERE t.object_type = 'PACKAGE'
     AND t.owner IN ('UTE')
     and rownum < 55
   group by t.owner, t.object_name
ORDER BY t.owner,t.object_name);

Hi @Danieleeee ,
I've prepared My version of query based on yours.
It should handle most of record type and returns valid JSON.
 ELSE NULL END
                                                                   || a.TYPE_NAME  || CASE WHEN a.TYPE_NAME        IS NOT NULL THEN '.' ELSE NULL END
                                                                   || a.TYPE_SUBNAME  || CASE WHEN a.TYPE_SUBNAME  IS NOT NULL THEN '.' ELSE NULL END,'.')
                                                         ELSE NULL END
                                                                   || a.TYPE_NAME  || CASE WHEN a.TYPE_NAME        IS NOT NULL THEN '.' ELSE NULL END
                                                                   || a.TYPE_SUBNAME  || CASE WHEN a.TYPE_SUBNAME  IS NOT NULL THEN '.' ELSE NULL END,'.')
                                                     ELSE CASE WHEN a.DATA_TYPE = 'PL/SQL BOOLEAN' THEN a.PLS_TYPE ELSE a.DATA_TYPE END
                                                 END
                                       end
                                     ,','||'\n').EXTRACT('//text()')).GetClobVal()
                             ,','||'\n'),'"','"'),''','''')|| '"}'||CHR(10) datarow
FROM (SELECT * FROM ALL_ARGUMENTS a
WHERE a.package_name is NOT null
AND a.OWNER = 'BSCC'
and package_name IN ( 'XPMBSST','CACTIVITYLOG')
and a.POSITION = CASE WHEN a.ARGUMENT_NAME IS NULL THEN 0 ELSE a.POSITION END
order by a.package_name, a.object_name, a.SEQUENCE, a.POSITION) a
group by a.owner,a.package_name , a.object_name
) a group by a.owner,a.package_name ) z

It works great.
With big DB it produces:

In this case you can go one step back in this query and try to write script that will compose clobs return by below query. It is returning separate clobs for packages
SELECT '"' || a.package_name || '":{"kind":"class","documentation": "' || a.OWNER||'.'||a.PACKAGE_NAME ||'",'
|| '"members":[' ||rtrim(REPLACE(REPLACE(XMLAGG(XMLELEMENT(a,datarow,',').EXTRACT('//text()')).GetClobVal(),'"','"'),''',''''),',')||']}' procdata
 FROM (SELECT a.owner, a.package_name, '{"label": "' || a.object_name || '", "kind": "method", "documentation": "' ||

REPLACE(REPLACE(
                  RTRIM(
                              XMLAGG(
                                  XMLELEMENT(
                                      e
                                     ,CASE WHEN a.ARGUMENT_NAME IS NULL AND IN_OUT = 'OUT'
                                              THEN 'RETURN ' ||
                                                   CASE WHEN a.DATA_TYPE IN ('TABLE','UNDEFINED','OBJECT')
                                                        THEN  RTRIM(a.TYPE_OWNER || CASE WHEN a.TYPE_OWNER       IS NOT NULL THEN '.' ELSE NULL END
                                                                   || a.TYPE_NAME  || CASE WHEN a.TYPE_NAME        IS NOT NULL THEN '.' ELSE NULL END
                                                                   || a.TYPE_SUBNAME  || CASE WHEN a.TYPE_SUBNAME  IS NOT NULL THEN '.' ELSE NULL END,'.')
                                                         ELSE NULL END
                                                                   || a.TYPE_NAME  || CASE WHEN a.TYPE_NAME        IS NOT NULL THEN '.' ELSE NULL END
                                                                   || a.TYPE_SUBNAME  || CASE WHEN a.TYPE_SUBNAME  IS NOT NULL THEN '.' ELSE NULL END,'.')
                                                     ELSE CASE WHEN a.DATA_TYPE = 'PL/SQL BOOLEAN' THEN a.PLS_TYPE ELSE a.DATA_TYPE END
                                                 END
                                       end
                                     ,','||'\n').EXTRACT('//text()')).GetClobVal()
                             ,','||'\n'),'"','"'),''','''')|| '"}'||CHR(10) datarow
FROM (SELECT * FROM ALL_ARGUMENTS a
WHERE a.package_name is NOT null
AND a.OWNER = 'UTE'
and a.POSITION = CASE WHEN a.ARGUMENT_NAME IS NULL THEN 0 ELSE a.POSITION END
order by a.package_name, a.object_name, a.SEQUENCE, a.POSITION) a
group by a.owner,a.package_name , a.object_name
) a group by a.owner,a.package_name

Result of my count is 12855
SELECT owner,package_name, count(*) FROM all_arguments group by owner,package_name
order by count(*)  desc

The problem is with the amount of parameters of each procedure.
I inserted a 3500 substr to prevent the 4000 character limit, now it works:
SELECT '{'||rtrim(REPLACE(REPLACE(XMLAGG(XMLELEMENT(a,procdata,',').EXTRACT('//text()')).GetClobVal(),'"','"'),''',''''),',')||'}' FROM (
SELECT '"' || a.package_name || '":{"kind":"class","documentation": "' || a.OWNER||'.'||a.PACKAGE_NAME ||'",'
|| '"members":[' ||rtrim(REPLACE(REPLACE(XMLAGG(XMLELEMENT(a,datarow,',').EXTRACT('//text()')).GetClobVal(),'"','"'),''',''''),',')||']}' procdata
 FROM (SELECT a.owner, a.package_name, '{"label": "' || a.object_name || '", "kind": "method", "documentation": "' ||
 CASE WHEN a.OVERLOAD IS NOT NULL THEN 'Overloaded ['||a.OVERLOAD||']\n'ELSE NULL END ||
REPLACE(REPLACE(
                  RTRIM(
                             DBMS_LOB.substr(  XMLAGG(
                                  XMLELEMENT(
                                      e
                                     ,CASE WHEN a.ARGUMENT_NAME IS NULL AND IN_OUT = 'OUT'
                                              THEN 'RETURN ' ||
                                                   CASE WHEN a.DATA_TYPE IN ('TABLE','OBJECT','PL/SQL TABLE','UNDEFINED','PL/SQL RECORD','VARRAY')
                                                        THEN  RTRIM(a.TYPE_OWNER || CASE WHEN a.TYPE_OWNER       IS NOT NULL THEN '.' ELSE NULL END
                                                                   || a.TYPE_NAME  || CASE WHEN a.TYPE_NAME        IS NOT NULL THEN '.' ELSE NULL END
                                                                   || a.TYPE_SUBNAME  || CASE WHEN a.TYPE_SUBNAME  IS NOT NULL THEN '.' ELSE NULL END,'.')
                                                         ELSE NULL END
                                                                   || a.TYPE_NAME  || CASE WHEN a.TYPE_NAME        IS NOT NULL THEN '.' ELSE NULL END
                                                                   || a.TYPE_SUBNAME  || CASE WHEN a.TYPE_SUBNAME  IS NOT NULL THEN '.' ELSE NULL END,'.')
                                                     ELSE CASE WHEN a.DATA_TYPE = 'PL/SQL BOOLEAN' THEN a.PLS_TYPE ELSE a.DATA_TYPE END
                                                 END
                                       end
                                     ,','||'\n').EXTRACT('//text()')).GetClobVal(),3500)
                             ,','||'\n'),'"','"'),''','''')|| '"}'||CHR(10) datarow
FROM (SELECT * FROM ALL_ARGUMENTS a
WHERE a.package_name is NOT null
AND a.OWNER = 'UTE'
and a.POSITION = CASE WHEN a.ARGUMENT_NAME IS NULL THEN 0 ELSE a.POSITION END
order by a.package_name,a.SUBPROGRAM_ID, a.object_name,TO_NUMBER(a.OVERLOAD), a.SEQUENCE, a.POSITION) a
group by a.owner,a.package_name ,a.SUBPROGRAM_ID, a.object_name, a.OVERLOAD
) a group by a.owner,a.package_name ) z

I think that with this tow select we don't need workspace parser completion.
Now we have all DB object completed fast.
 ELSE NULL END
                                                                   || a.TYPE_NAME  || CASE WHEN a.TYPE_NAME        IS NOT NULL THEN '.' ELSE NULL END
                                                                   || a.TYPE_SUBNAME  || CASE WHEN a.TYPE_SUBNAME  IS NOT NULL THEN '.' ELSE NULL END,'.')
                                                         ELSE NULL END
                                                                   || a.TYPE_NAME  || CASE WHEN a.TYPE_NAME        IS NOT NULL THEN '.' ELSE NULL END
                                                                   || a.TYPE_SUBNAME  || CASE WHEN a.TYPE_SUBNAME  IS NOT NULL THEN '.' ELSE NULL END,'.')
                                                     ELSE CASE WHEN a.DATA_TYPE = 'PL/SQL BOOLEAN' THEN a.PLS_TYPE ELSE a.DATA_TYPE END
                                                 END
                                       end
                                     ,','||'\n').EXTRACT('//text()')).GetClobVal(),3500)
                             ,','||'\n'),'"','"'),''','''')|| '"}'||CHR(10) datarow
FROM (SELECT * FROM ALL_ARGUMENTS a
WHERE a.package_name is NOT null
AND a.OWNER in ('UTE','SIU_INT','ETADBA')
and a.POSITION = CASE WHEN a.ARGUMENT_NAME IS NULL THEN 0 ELSE a.POSITION END
order by a.package_name,a.SUBPROGRAM_ID, a.object_name,TO_NUMBER(a.OVERLOAD), a.SEQUENCE, a.POSITION) a
group by a.owner,a.package_name ,a.SUBPROGRAM_ID, a.object_name, a.OVERLOAD
) a group by a.owner,a.package_name ) z

DB Table:
SELECT '{'||rtrim(REPLACE(REPLACE(XMLAGG(XMLELEMENT(a,datarow,',').EXTRACT('//text()')).GetClobVal(),'"','"'),''',''''),',')||'}'
 FROM (
  SELECT '"'
         || t.TABLE_NAME
         || '":{
                    "kind": "struct",
                    "documentation": "'||t.owner||'.'||t.TABLE_NAME||'\n'
         || replace(replace(replace(replace(replace(c.comments,'\','\\'),'"','\"'),CHR(10),'\n'),CHR(13),'\r'),CHR(09),'\t')
         || '",
                       "members": ['
         || REPLACE(REPLACE(
                  RTRIM(
                              XMLAGG(
                                  XMLELEMENT(
                                      e
                                     ,   TRIM('{"label": "'
                                      || CASE
                                             WHEN cc.Column_name LIKE '% %'
                                             THEN
                                                 '\"' || cc.Column_name || '\"'
                                             ELSE
                                                 cc.Column_name
                                         END
                                      || '", "kind": "field", "documentation": "'
                                      || cc.data_type
                                      || '('
                                      || cc.data_length
                                      || ')\n'
                                      || replace(replace(replace(replace(replace(com.comments,'\','\\'),'"','\"'),CHR(10),'\n'),CHR(13),'\r'),CHR(09),'\t')
                                      )
                                      || '"}'
                                     ,','||CHR(10)).EXTRACT('//text()')).GetClobVal()
                             ,','||CHR(10)),'"','"'),''','''')
         || ']}'||CHR(10) datarow
    FROM all_tables t, all_tab_comments c, all_tab_columns cc, all_col_comments com
   WHERE t.table_name = c.table_name
     AND t.owner = c.owner
     and cc.column_name = com.column_name
     AND cc.table_name = com.table_name
     AND cc.table_name = t.table_name
     AND cc.Owner = com.owner
     AND cc.owner = t.owner
     AND t.owner IN ('UTE', 'SIU_INT', 'ETADBA')
     group by t.owner,t.table_name,c.comments
ORDER BY t.owner,t.TABLE_NAME);

@mickeypearce , can you use this with  oradew-vscode extension for update plsql.completion.json?


fix: complete logic in getTopLevelAwait function

Currently dnt cannot detect TLA like
if (condition) {
  await test();
}
for await (const item of items){ }

 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.


ARROW-9413: [Rust] Disable cpm_nan clippy error

Using the comparison recommended by clippy makes sorts with NAN undeterministic.
We currently sort NAN separately to nulls, we couldcan resolve this separately

CC @houqp


Dependencies with similar/overlapping functionality

From @benjaminwood on April 10, 2018 17:20
Ruby/Rails

rspec & test-unit
cucumber & capybara
protected_attributes & strong_parameters
httparty & httpclient
rollbar & exception_notification
Devise & AuthenticatedSystem (mostly removed already)

Javascript

jquery & prototype (keep jquery)
react & angular
select2 & chosen

Copied from original issue: hintmedia/rigse#9

From @benjaminwood on April 12, 2018 4:13
Cucumber depends on capybara, but not visa versa. Both kinds of tests are present. If cucumber is selected, then capybara should be considered a dependency and capybara specs should not be written directly.
If capybara is selected, then cucumber should be removed (and it's specs replaced).


Get Cryptomatte to work

Cryptomatte is now supported in CPU and GPU for Cycles, and there is some code set-up already in GafferCycles to support this but it hasn't been tested, and the IECore::ImageWriter may not support writing this to EXR so I may need to use OpenEXR to write directly.

https://github.com/boberfly/GafferCycles/releases/tag/0.13.0
Needs checking in a compositing package


GitTfs does not compile locally

I just cloned your repository. When I execute the rake build or the msbuild the following error occurs:
Cs0246: The type or namespace name "TeamFoundationServer" could not be found.
Could you please update the readme to include the necessary steps to get it compiling?
Thanks

Thought this information would be nice having in the readme


WEBSITE-456 Ansible script to download and start Neo4j

https://hibernate.atlassian.net/browse/WEBSITE-456

Merged https://github.com/hibernate/ci.hibernate.org/pull/40


Can't read property 'descriptors' of undefined

I'm getting error Can't read property 'descriptors' of undefined once bundling the mfe.
I saw this post 115 which stated that the error is coming from react-native-svg. In my project, what I did was the svg is actually in .tsx file.

I read the re.pack document to add rule in webpack config but seems like that one is for .svg extension.
and also one of the comment jbinda mentioned about disabling the hermes. I did disabling the hermes and it's working again.
Should I just disabling the hermes? or is there any rule in webpack config I can use for the svg?

fix the issue, need to add react-native-svg in shared and and rules

fix the issue, need to add react-native-svg in shared and and rules

I'm facing the same issue , can you tell me where to put the react-native-svg in ?

i guess the rules part should be the list we use babel-loader ?   what about the shared part?

fix the issue, need to add react-native-svg in shared and and rules

I'm facing the same issue , can you tell me where to put the react-native-svg in ?  i guess the rules part should be the list we use babel-loader ? what about the shared part?

Just put the react-native-svg in the list use babel-loader fixed the issue


typo: specfied -> specified

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingAds/hint-message/create-hint-message.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@nschonni sorry for the late reply, but this has already been fixed in a prior release. Thanks!


Allow Add/Update, with criteria from "append"

Addresses #114.
This is a very small code change, but allows users the functionality to update existing records OR create new ones if no criteria is matched.
Rather than making an entirely new "behavior", I simply added the "criteria match" fields for append.
This allows users to always append by selecting no criteria match fields.
Seemingly the more common use case is achieved by selecting a match criteria. In this case if a match is found, the record is updated. If not, a new one is created.
I also attempted to clarify the language used. The "behaviors" now read as:

Add/Update Records
Update Records
Delete Records

Please address failing tests

Will do.

Can you rebase this on develop? It has a fix for the unit tests

Yep, will do.

Hi Tim, did you ever resubmit this?

I didn't...kinda felt like it needed more cleanup/rethinking.
I'll try and revisit.

Is this ready yet?

@johanneslamers sorry I haven't gotten a chance to go back over it.
Feel free to use my branch in it's current state, though: https://github.com/timkelty/import/tree/add-or-update-behavior


set clk tic system value for green build

Signed-off-by: Kiran Prakash<EMAIL_ADDRESS>Is your feature request related to a problem? Please provide an existing Issue # , or describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you are proposing
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] 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 #368 (85ed031) into main (1f35eeb) will decrease coverage by 0.15%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #368      +/-   ##
============================================
- Coverage     71.04%   70.88%   -0.16%
+ Complexity      378      377       -1
============================================
  Files            44       44
  Lines          2597     2597
  Branches        176      176
============================================
- Hits           1845     1841       -4
- Misses          644      647       +3
- Partials        108      109       +1

Impacted Files
Coverage Δ

...ormanceanalyzer/writer/EventLogQueueProcessor.java
55.95% <0.00%> (-4.77%)
:arrow_down:

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


Fix Angular SPA Template compiler bug

Summary of the changes (Less than 80 chars)

Make StreamReader send last line's contents to listener (otherwise AngularCliBuilder doesn't know when build:ssr is complete)

Addresses #6306

I have to retry the build because of a flaky test, will check back once that's done.


[Feat]Add special deals and offers sliding section

Description
Display special deals for festive season, offer on first purchase, bonus deals if user shares it with more people.
Screenshots link
https://photos.app.goo.gl/p44vvimsFThk2NrW8
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[X] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

hey @SanikaBhalerao1345 As of now, we do not need it. We will let you know in the future if there is a need. Please search for another issue and raise it, which I'm happy to assign to you.

Don't forget to give our repository a star and let me know once you've done it.


CIP15 parser not working properly

Probably spamming error logs is not the intended behavior of this. Possibly the parser only implements the latest version of the standard and not the previous version?
Repo: sync epoch 234 to see this message a few thousand times

Thanks for reporting. No, that's not the expected behavior. I'll evaluate options.

fixed on recently released v1.4.1.


help  not working

found 0 vulnerabilities
thy@penguin:~$ node index.js disney 100 disney+accounts.txt
internal/modules/cjs/loader.js:818
throw err;
^
Error: Cannot find module '/home/thy/index.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
at Function.Module._load (internal/modules/cjs/loader.js:667:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
u think u can help me with this?

found 0 vulnerabilities thy@penguin:~$ node index.js disney 100 disney+accounts.txt internal/modules/cjs/loader.js:818 throw err; ^
Error: Cannot find module '/home/thy/index.js' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) at Function.Module._load (internal/modules/cjs/loader.js:667:27) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) at internal/main/run_main_module.js:17:47 { code: 'MODULE_NOT_FOUND', requireStack: [] }
u think u can help me with this?

Hello, yes I can help you with the problem, the problem seems to be the node can't find the index.js in the current directory your using. Are you sure the index.js is in the home directory?

i am not sure  where can i check that

i am not sure where can i check that

Hmm since your using Linux type ls to see the directories & files in the current directory. Do you not know how to navigate through directories in Linux?

No i dont know how to do that and yes i use linux

No i dont know how to do that and yes i use linux

I see you should probably read https://phoenixnap.com/kb/linux-cd-command


Add a note about id_token validation in the EAM concept docs

Add a note to the validation section in the Microsoft Entra multifactor authentication external method provider reference
Weak validation can result in security problems.

@gregkmsft
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@gregkmsft updated, thanks for the feedback

#sign-off


Deployment Pipeline fails with invalid OpenPGP data

See https://github.com/camunda/camunda-bpm-identity-keycloak/actions/runs/379158254

Hi @VonDerBeck, sorry for the late reply.
The issue should be resolved now - indeed, since last week our Vault accidentally contained an invalid key.
Thank you for reporting this!

Thanks @lwille. Great job!
Yes, tag 2.0.0 is ready to be deployed. I just thought, that this has already been released. Because it's already available on Maven Central. If the state of this release is unsure / unknown, just do it again with a green pipeline.
Gunnar


WANT TO SEE HOT PICS WITH ME? 💋 💋 💋

WANT TO SEE HOT PICS WITH ME? 💋 💋 💋
👇 👇 👇
link removed

imagine spamming on GitHub of all places


Drop the benchmarks module

Most of the things it's exercising are obsolete (old versions of Netty
and Apache HTTP), it's missing important alternatives (cronet, Jetty),
and Caliper has backwards-incompatible API changes.
I think it's better for us to delete this and possibly start fresh
in the future. Possibly in a separate standalone project.

My favorite benchmarks are representative of real world needs. Stuff like:

how long to go from cold start to a complete response? This rewards fast handshakes and code init time.
sustained throughput of small requests with a lot of bandwidth but a fixed amount of memory. This rewards good pooling, minimizing GC, minimizing locking.


Better handle user input errors / empty fields

When the module instance form is submitted with default (empty) values, the next screen dies with fatal error messages.
This seems to be a consequence of leaving the endpoint URL empty, which is something that the form allows you to do. I think there might be more "user friendly" way of communicating this rather than "Exception - array_key_exists(): Argument #2 ($array) must be of type array, null given"

Hi, @mudrd8mz , Thanks for the input. I am currently working on creating specialized exception messages to not only fail more gracefully but try to capture what went wrong and give better info to the user. I will close this issue out when it's done.

I forgot to close this issue, this should be handled in the pushed branch 'better-hanlde-errors'


[feature] Support git rebase -i

I think this is kinda hard but I'd love to be able to do rebase -i things from within sublime.
Right now I have to resort to the command line and fire (and use vim) for it. (Nice syntax highlight)

Has anyone started work on this? This is one of the few git commands not available in sublime-text-git that has me continuing to use a terminal.

@mandeep also take a look at https://github.com/divmain/GitSavvy - its what I am using now.


Node 18 Image?

Hi guys, thanks for providing these images! The ones that include Node are really useful in our workflow.
Is there any chance that we could get the images containing Node 18 (LTS since October) soon? I think https://github.com/CircleCI-Public/cimg-android/pull/61 should have created them on merge, but the build was cancelled for some reason.
Cheers!

hi @marco-elder - you're right. looks like this was cancelled for some reason. I don't recall specifically why, but i believe it's because there was no corresponding machine image update; we have held off on a couple of these, but we're looking into resuming the updates shortly. the 2022.10 directory will likely be removed and instead have a 2022.12 tag.

I see, thank you for the reply @JalexChen We'll wait for the 2022.12 tag.


[core] [core-client-rest] Content-Type for JSON should be application/json

looks like core-client-rest uses application/json;charset=UTF-8 but core-client / autorest based mappers default to "application/json"
core-client-rest: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-client-rest/src/sendRequest.ts#L100-L107
keyvault-secrets: azure-sdk-for-js/sdk/keyvault/keyvault-secrets/src/generated/models/parameters.ts at main · maorleger/azure-sdk-for-js
The problem is that while application/json;charset=UTF-8 is accepted by most services it is not correct per the spec... RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format because (AFAIK) all json must be UTF-8. My hunch is that most services just ignore the charset parameter. But, some services will complain about an unsupported content type
So I have a few options:

Convince service owners to always accept application/json;charset=UTF-8 as valid
Update core-client-rest to emit application/json without the charset
Handle this in the convenience layer
a custom pipeline policy

This issue tracks the final resolution and code changes. A workaround for KeyVault involves a custom policy

Capturing some discussions during an internal team meeting.  @xirzec found out that some languages don't use charset:

https://github.com/Azure/azure-sdk-for-net/blob/b6dc6e5f69c1451df209508cfa8d4eade105446f/sdk/core/Azure.Core/src/ContentType.cs#L18 .NET seems to not set charset
python too https://github.com/Azure/azure-sdk-for-python/blob/4a63f72e94aeef345cd5fa9320fa91c2efb0d0f7/sdk/core/corehttp/corehttp/rest/_helpers.py#L183
https://github.com/Azure/azure-sdk-for-java/blob/5ac733ca404e2d38755a1f5e12ee50b429b91d51/sdk/core/azure-core/src/main/java/com/azure/core/http/ContentType.java#L16 java


netdev-linux.c: Fix NULL deref reported by Coverity.

When sock is NULL, calling nl_sock_listen_all_nsid triggers NULL deref.

Thank you for the PR.
Sorry it took so long but it seems like the issue was fixed with the following commit:
https://github.com/openvswitch/ovs/commit/849a40ccfb9c7c6bba635b517caac4f12ab63eee

yes, commit 849a40c fix it.


Trigger doesn't reset stop propagation

I have found issue in apigility https://github.com/zfcampus/zf-apigility/commit/076a21d3b81ea0ee744f73d2d40a383305a6dbb0#diff-c9248b3167fc44af085b81db2e292837R121.
My MvcEvent has stop propagation property set to true during dispatch. After this name is changed to event finish. triggerEvent method trigger my event, but after first listener stop propagation stops dispatching my event, because it's already affected by event dispatch. My proposition it's to reset always stop propagation property before trigger like here https://github.com/zendframework/zend-eventmanager/blob/release-2.6.3/src/EventManager.php#L211 .
Now trigger() and triggerEvent() (or triggerEventUntil) trigger events with stop propagation = true in different way

@weierophinney can you take a look?

@weierophinney ?

This issue is only v2 related. Here is simple fix https://github.com/zolek86/zend-eventmanager/commit/bacc3c0748f40ccc9c3e718ee9056dbe39e14f92

I need code I can use to reproduce the issue before I can create a fix.

Fixed with #68, which released with 2.6.4.


fzf dont start up with terminal

Category

[ ] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[x ] Etc.

OS

[ ] Linux
[ x] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[ ] bash
[x ] zsh
[ ] fish

Is there a way for zsh to not start up on terminal load. I dont always need fzf to pop open when i open a terminal. I havent found in the documentation anything about it.

fzf doesn't automatically start. Sounds like a configuration issue.

hmm, very possible, I am a noob.
I am doing
export TERM="xterm-256color"
set -o vi
export ZSH=/Users/rbasmajian/.oh-my-zsh
DEFAULT_USER=`whoami`

ZSH_THEME="powerlevel9k/powerlevel9k"
source $ZSH/oh-my-zsh.sh

plugins=(git npm)

source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh

alias ohmyzsh="mate ~/.oh-my-zsh"
export PATH=/usr/local/gnupg-2.1/bin:$PATH

# NVM
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

# FZF SETTINGS
rg --type f | fzf

fzf --preview '[[ $(file --mime {}) =~ binary ]] &&
                 echo {} is a binary file ||
                 (highlight -O ansi -l {} ||
                  coderay {} ||
                  rougify {} ||
                  cat {}) 2> /dev/null | head -500'

complete -F _fzf_path_completion -o default -o bashdefault rg
complete -F _fzf_dir_completion -o default -o bashdefault tree

[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

rg --type f | fzf

fzf --preview '[[ $(file --mime {}) =~ binary ]] &&

This does not belong in the shell startup script. Not sure what you’re trying to achieve? To configure fzf you should set its config environment variables, it’s quite well documented in README.md.


fix: fix fullscreen transition

set fullscreen position fixed and top: 0

:tada: This PR is included in version 1.8.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Failed to start API Mock endpoint Error: Duplicate schema type name EmailAddress

Describe the bug
I've upgraded from v 4.21.3 to 4.43.0 and now my scheme will not compile in mock mode.  The error is
Failed to start API Mock endpoint Error: Duplicate schema type name EmailAddress
The type is defined as:
type EmailAddress
  @model(queries: null, subscriptions: null)
  @auth(
    rules: [
      { allow: groups, groupsField: "company_id", operations: [read] }
      { allow: groups, groups: ["admin"] }
      { allow: groups, groups: ["reader"], operations: [read] }
    ]
  )
  @key(name: "by_personnel", fields: ["personnel_id", "type"]) {
  company_id: ID!
  id: ID!
  personnel_id: ID!
  type: String!
  email: AWSEmail!
}

If I change the name to EmailAddress2 it works and runs in mock mode but it breaks our code because the autogenerated names change.  In Amplify Console, it builds just fine so this is just a mock mode issue.
Amplify CLI Version
4.43.0

OS: [e.g. Mac/Windows/Ubuntu]
MacOs: 10.15.7
Node: 14.1.0

This is caused because we are using graphql-scalar which creates a scalar with the same name


STATIC_OVERFLOW using fscanf() in utils/cups-browsed.c

Writing into string p using formatted input function at cups-browsed.c:5476 may lead to a buffer overflow, because string conversion specification doesn't have a width limitation.
https://github.com/OpenPrinting/cups-filters/blob/d72184e725591f10e2b404b36fe3bf5bc304a299/utils/cups-browsed.c#L5476
It is possible that the variable p at function fscanf(fp, "%s", p), which is defined as a pointer to the variable buf[1024] at cups-browsed.c:5475, of a very large length can lead to buffer overflow, since the pointer to the fp stream has a length of 2048 defined at cups-browsed.c:500.
Path for fp stream:
https://github.com/OpenPrinting/cups-filters/blob/d72184e725591f10e2b404b36fe3bf5bc304a299/utils/cups-browsed.c#L5469
https://github.com/OpenPrinting/cups-filters/blob/d72184e725591f10e2b404b36fe3bf5bc304a299/utils/cups-browsed.c#L5463
https://github.com/OpenPrinting/cups-filters/blob/d72184e725591f10e2b404b36fe3bf5bc304a299/utils/cups-browsed.c#L500
So there is no guarantee that the length of the variable p obtained from the file does not exceed a length of  1024.
This situation can be resolved by limiting the field width fscanf(fp, "%1024s", p);.
Found by Linux Verification Center (portal.linuxtesting.ru) with SVACE.
Author A. Slepykh.

Hi,
thank you for the report!
However it would be great if you ran your scans on the current versions of the project - 2.0.0 - for two reasons:

you would find out cups-browsed is now in a separate project,
you would find out the issue was fixed several months ago.


Added step to the readme.md file Related To #191

Related to #191

Closing for the same reasons outlined here: https://github.com/Particular/Workshop.Microservices/pull/191#issuecomment-348878532


Add support for gitlab urls

Docker has a special case for github.com URLs,
allowing people to build directly from a repository
on github.com.
This change adds the same special case for
gitlab.com URLs
Before this change;
docker build -t foobar gitlab.com/thaJeztah/test-dockerfile
unable to prepare context: unable to evaluate symlinks in context path: lstat /Users/sebastiaan/go/src/github.com/docker/docker/gitlab.com: no such file or directory

After this change;
docker build -t foobar gitlab.com/thaJeztah/test-dockerfile
Sending build context to Docker daemon 49.66 kB
Step 1/2 : FROM scratch
 --->
Step 2/2 : LABEL foo bar
 ---> Running in 19699c2eb29d
 ---> af634b368bee
Removing intermediate container 19699c2eb29d
Successfully built af634b368bee

- What I did
Added "special case" gitlab.com build contexts
- How I did it
- How to verify it
See above
- Description for the changelog
Improved support for building from gitlab.com repositories.
- A picture of a cute animal (not mandatory but encouraged)

I didn't know about this feature. I'm really not a fan.
It looks like git:// is recognized as a scheme. Shouldn't people use that instead of depending on site-specific magic?

Main reason I put this in design review first yes; perhaps we don't want to expand the "magic" here; alternatively, we can deprecate the behavior, although it's been in there for forever, so that may be a tough one.

If this already works using git:// then I agree we shouldn't add it. This magic breaks the principle of only having one correct way to do specify an argument, I don't think we should break it further.

It seems this would be an endless game which requires that we add exceptions for certain tools and websites. We shouldn't add more special cases.

okay, let's not add more magic values, and close this


[Violation] 'requestAnimationFrame' Error Message in Chrome

Hi,
This only started to show up less than a week but in Google Chrome V68 JSSOR is producing this error message every few seconds:
[Violation] 'requestAnimationFrame' handler took 57ms - VM56487 jssor.slider.min.js:5
I am currently running JSSOR version from cdnjs:
https://cdnjs.cloudflare.com/ajax/libs/jssor-slider/27.1.0/jssor.slider.min.js
So it's the latest version.
Thanks.

Hi,
The Violation messages are warnings not errors. It's fine.
I think the performance of your slider is not as expected, it takes 57ms to finish one animation frame.
Are there layer animations in your slider? Or you used large image in your slider? Can you leave an url of your page which runs jssor slider?
Btw, the official latest stable version of chrome is 66.0.3359.117.

Example URL is here: https://www.asianspa.co.uk/dmca
I am running Google Canary (not Chrome), you will need to use Google Canary to repeat the warning messages in dev-tools as it started showing on V68. My current version is Version 68.0.3405.0 (Official Build) canary (64-bit).
Let me know your thoughts?

I opened your page, it seems the jssor.slider.min.js is not referenced in your page.

@jssor Hi it's referrenced at the bottom of the webpage, see example code:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Example</title>
</head>

<body>

<!-- JSSOR HEADER HERE -->

<!-- Normal Webpage code -->

<script async src="https://cdnjs.cloudflare.com/ajax/libs/jssor-slider/27.1.0/jssor.slider.min.js" integrity="sha384-ItEUGThHjFKn5LKjkuaSUxkBw099y2XCOwYnOBL92bQRsKZ12DECjLfasuFRLrfP" crossorigin="anonymous"></script>

<script async src="asian-bottom.js"></script> <!-- Script containing JSSOR CODE -->

</body>
</html>

Are we allowed to async JSSOR library?

Better not use async.
If you'd like to use async, you'd check if the library has been loaded before initializing jssor slider.

Don't worry about this.
Here is a related topic https://stackoverflow.com/questions/42218699/javascript-chrome-violation-violation-handler-took-83ms-of-runtime


optimize pod informers transformers

The optimization has been inspired by https://github.com/cert-manager/cert-manager/pull/5966
By stripping the rest of the metadata, we can save a bit of memory on clusters with lots of pods.

@dgrisonnet  PTAL

/assign @dgrisonnet @olivierlemasle

/triage accepted

/ok-to-test

@dashpole PTAL


[DUOS-1117][risk=no] Update swagger ui to latest

Addresses
https://broadworkbench.atlassian.net/browse/DUOS-1117

Have you read CONTRIBUTING.md lately? If not, do that first.
I, the developer opening this PR, do solemnly pinky swear that:

[ ] I've followed the instructions if I've made any changes to the API, especially if they're breaking changes
[ ] I've updated the RC_XXX release ticket with any manual steps required to release this change
[ ] I've updated the FISMA documentation if I've made any security-related changes, including auth, encryption, or auditing
[ ] I've updated Swagger to reflect any API changes

In all cases:

[ ] Get two thumbsworth of review and PO signoff if necessary
[ ] Verify all tests go green
[ ] Squash and merge; you can delete your branch after this unless it's for a hotfix. In that case, don't delete it!
[ ] Test this change deployed correctly and works on dev environment after deployment

@raejohanek I ended up removing those tests. From version to version, Swagger changes their file names and it just introduces fragility in the tests. The branch is functional and overall tests pass now. Please feel free to re-review.


Add match desugaring to compiler (ergo -> ergo calculus)

Match are not desugared in the translation from ergo to ergo calculus. It could be handled in a way similar to foreach to simplify subsequent compilation steps or to simplify the evaluation at the calculus level.

I don't think this is done?

Yeah but it doesn't need to be done — everything works as it is. The foreach desugaring was required to implement foreach in the typechecker and the typechecker. The match desugaring is not required.


Poor parser error recovery after incomplete switch statement

The following code:
class C {
  f(x) {
    switch (x)
    print(x); // EXPECTED ERROR
  }
  void g() {}
}
main() {
  new C().g();
} // UNEXPECTED ERROR

produces a compile error (as expected) on the line marked "EXPECTED ERROR", because the switch statement is not followed by a "{".
However, there is also an unexpected error on the line marked "UNEXPECTED ERROR": "Expected to find '}'".
It appears that the parser is inserting a synthetic opening brace after the "switch (x)", and that is causing the rest of the file to be parsed at the wrong nesting level.
The user-visible manifestation of this bug is that when the user attempts to add a switch statement to the middle of a file, they see a potentially large number of spurious errors which appear just after typing "switch" and don't disappear until the brace pair "{}" is inserted.
A less user-visible effect (but a scarier one IMHO, because it may hide some nasty corner cases) is that after the incomplete switch statement, the scanner and the parser disagree about the level of indentation.  This could break some parser invariants (for example by causing the parser to see tokens associated with string interpolations in places where it doesn't believe it's inside a string).
Screenshot attached to illustrate the magnitude of follow-on errors caused by this bug.  The file in question was error and warning free before I inserted the text "switch (field.type)".

Attachment:
[Screen Shot 2015-05-15 at 6.44.05 AM.png](https://storage.googleapis.com/google-code-attachments/dart/issue-23473/comment-0/Screen Shot 2015-05-15 at 6.44.05 AM.png) (211.33 KB)

The example now generates exactly one error:
$ dart 23473.dart
23473.dart:3:14: Error: A switch statement must have a body, even if it is empty.
Try adding an empty body.
    switch (x)
             ^


error: no member named 'sqrt' in namespace 'std'; did you mean simply 'sqrt'?

/usr/ports/misc/atta/work/Atta-c3bc91c/src/./simulator/math/vector.h:620:12: error: no member named 'sqrt' in namespace 'std'; did you mean simply 'sqrt'?
                                return std::sqrt(squareLength());
                                       ^~~~~~~~~
                                       sqrt
/usr/include/c++/v1/math.h:1085:1: note: 'sqrt' declared here
sqrt(_A1 __lcpp_x) _NOEXCEPT {return ::sqrt((double)__lcpp_x);}
^

Did you forget to include <cmath>?

Ops, thanks! Fixed in the last commit.


mitmweb does not display icons in Firefox

Steps to reproduce the problem:
Icons are not displayed in mitmweb when using Firefox. It works with Chromium but both browser have 404 Not Found errors for fontawesome-webfont.woff and fontawesome-webfont.ttf files.
Ideally, mitmweb should not depend on third-party libraries like Font Awesome and simply use a PNG sprite or inline SVG instead of the icon fonts (https://css-tricks.com/icon-fonts-vs-svg/).
Related issue: https://github.com/mitmproxy/mitmproxy/issues/3034
You can find a screenshot of the icons bug below:

System information
Mitmproxy: 4.0.4
Python:    3.6.7
OpenSSL:   OpenSSL 1.1.1  11 Sep 2018
Platform:  Linux-4.15.0-36-generic-x86_64-with-Ubuntu-18.10-cosmic

Any plans on solving this?

This is still an issue.

Get a better browser, and quit using those gay icon packs then we'll talk.
On Mon, Jun 17, 2019, 10:17 AM crertel<EMAIL_ADDRESS>wrote:

This is still an issue.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mitmproxy/mitmproxy/issues/3397?email_source=notifications&email_token=ADHKLL5PXAOWNILAB523ERTP27BKRA5CNFSM4GHJLSGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODX33LZA#issuecomment-502773220,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADHKLL3S3UPP3PPIZIBZH7LP27BKRANCNFSM4GHJLSGA
.

@A9466315 there are no "icon packs" being used--the file appears to fail to load, and for whatever reason the links themselves don't render. A simple text fallback underneath (since the anchor elements are clearly visible in the DOM) would help immensely.
Always, please consider how your words might impact other people who are otherwise having a nice day.

@A9466315 the font requests fails on both Firefox and Chrome / Chromium. It looks like Chrome / Chromium uses a fallback with local fonts but I would not call it a "better" problem just because it uses a workaround. Firefox still has advantages over Chrome, like being completely open source and Google promotes Chrome, not Chromium, which also does not have an official stable version.

mitmweb renders fine for me on the main branch and FontAwesome is loaded properly. If this still is an issue, please reopen. 😃


Dark mode not displaying Python API examples correctly

On our documentation website, dark-mode is now an option with the current version of sphinx-book-theme.  It does not render our python examples well, and there is currently no option to disable this feature.
An option may be to use the pydata theme instead.

Fixed with move to Pythia


Unroll kinetic blocks.

Fixes part of a bug related to reaction equations inside loops.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 86.56%. Comparing base (c8818c8) to head (daa145d).
 Consider uploading reports for the commit 3583fac to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1214   +/-   ##
=======================================
  Coverage   86.55%   86.56%
=======================================
  Files         176      176
  Lines       13017    13024    +7
=======================================
+ Hits        11267    11274    +7
  Misses       1750     1750

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