Undo/redo, more handy code generators

Undo/redo implementation by @Cryaaa .
Hints in generated notebook code

Codecov Report

Merging #23 (faf2e5b) into main (416eb1d) will decrease coverage by 0.92%.
The diff coverage is 80.15%.

@@            Coverage Diff             @@
##             main      #23      +/-   ##
==========================================
- Coverage   88.50%   87.57%   -0.93%
==========================================
  Files           4        5       +1
  Lines         400      499      +99
==========================================
+ Hits          354      437      +83
- Misses         46       62      +16

Impacted Files
Coverage Δ

src/napari_workflows/_workflow.py
82.07% <64.40%> (-2.14%)
:arrow_down:

src/napari_workflows/_undo_redo_functionality.py
92.45% <92.45%> (ø)

src/napari_workflows/__init__.py
100.00% <100.00%> (ø)

src/napari_workflows/_tests/test_function.py
99.09% <100.00%> (+0.11%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 416eb1d...faf2e5b. Read the comment docs.


Highlighting code block in markdown

Screenshots

There should be separate color for highlighting the code block.

It was already merged (fixed), but not yet released. https://github.com/sdras/night-owl-vscode-theme/pull/142
@sdras Maybe you want to release new Night Owl updates which contain several important fixes?

Okay

This should be fixed now, please feel free to reopen if I'm mistaken.


Change handling of renames

This PR makes handling of renamed components more flexible by allowing components to be added or removed based on either the 'before' or 'after' names. We always use the 'before' name when communicating with the user, but use the 'after' name internally (basically just in the manifest).
This is a backwards-compatible stop-gap. It means that for the edition we can talk about 'rls' rather than 'rls-preview'. (Assuming renames are from 'rls' to 'rls-preview', which is the current situation in the manifest).
The final commit adds an instruction for adding missing components to rustup's proxies.
Since Rustup is not distributed with Rust, this does not need to be part of the edition, timing-wise. However, it would be good to have this in the wild and tested somewhat so that new users will get the benefits when the edition is released.
r? @alexcrichton

Closes #1546

I'll be honest in that I don't really have a great handle on what's going on here, but this all looks largely like innocuous changes passing more parameters around and/or fallout from tweaking interfaces. In that sense the guts of the patch look good to me and I think we can probably go ahead and land.
I think there's some test failures on CI though? Otherwise r=me.
As one other thought, though, this is trying to use the "from" name in the renames to display names, right? Shouldn't it use the "to" names eventually? I think with this patch we'd start saying rustfmt, but then whenever we actually switch the package names it'll say rustfmt-preview, right?

Shouldn't it use the "to" names eventually?

We'll need more rustup changes once we want to switch again. We might just live with 'from' and 'to' being the wrong way around forever. But I don't think we can change this backwards compatibly.

Mk, I'm fine landing this!


[Model Request] openbmb/MiniCPM-V

⚙  Request New Models

Link to an existing implementation (e.g. Hugging Face/Github):
Is this model architecture supported by MLC-LLM? (the list of supported models) No
https://huggingface.co/openbmb/MiniCPM-V

Additional context

https://llm.mlc.ai/docs/prebuilt_models.html
found below resources:
https://github.com/OpenBMB/mlc-MiniCPM/tree/main

version 2 / 2.5 support?

yes we need this model

hey @mos-fine  how to use Minicpm-v model in mlc_llm are they supporting this??

version 2 / 2.5 support?

hey @WangFengtu1996  is mlc_llm suporting minicpm-v or are there any vision llms that supports mlc_llm??

Yes, I can make mlc_llm support minicpm and minicpm-v, but I modified the script according to the official documentation.

Well, it works normally. I modified their mcl_llm toolkit. I can send you the kit if you want.

@mos-fine  it would be great help for me if you send that

Hello @mos-fine  did you follow these steps or any other sorce you have??     https://github.com/OpenBMB/mlc-MiniCPM

Yes, but instead of following their steps, I followed their source code to make changes to the mlc_llm tool

@mos-fine  I don’t know how I can get to know about those changes. By any chance can you share those changes. It will be so much of help.

It works, I'll try to put the modified mlc_llm into my project, it may take a little while. Note that they are adapted to cu122 and cp310 linux systems

Thank you @mos-fine  if you completed  modifying please let me know. I’ll be waiting. Thank you

@mos-fine contribution is more than welcomed!

If you want to know how to modify the code inside, feel free to communicate with me. My company is trying to launch a private app model product that builds large models into the app and combines it with rag to understand users. @Nikhil34712

Hey @mos-fine i have located the files so those files are not opening so can you tell me how to view it ??

You can download those tools and unzip them to view them. If you want to know where I have changed specifically, you can take a look at my project mlc_llm_Modify @Nikhil34712

yeah i have downloaded and unzipped  thank you @mos-fine  so as per the minicpm documentaion we have to create environment and we have to compile right?? so where did you modified like in creating environment or setting paths ?

There are two packages in hugging: mlc_llm_nightly_cu122-0.1.dev1352-cp310-cp310-manylinux_2_28_x86_64.whl and mlc_ai_nightly_cu122-0.15.dev404-cp310-cp310-manylinux_2_28_x86_64.whl.
You can download them directly. After they get to your server, in cu122 and pip install them in the cp310 environment, and then you can use mlc_llm directly in the environment.
For example, you can directly use commands such as mlc_llm gen_config and mlc_llm convert_weight to change the minicpm and minicpm_v models. @Nikhil34712

If you don’t want to know what code has been modified, you can download it and pip install it to the server and use the mlc_llm tool directly.There is no need to adjust the environment according to the minicpm documentaion.

I don't know if I made it clear😂😂

I will check and confirm with you tomorrow yes for your side you made it
clear I have to try it from my side
On Thu, 6 Jun 2024 at 21:29, mos-fine @.***> wrote:

I don't know if I made it clear😂😂
—
Reply to this email directly, view it on GitHub
https://github.com/mlc-ai/mlc-llm/issues/1765#issuecomment-2152881813,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BEOB2Z5LYGQ4GHTU322UDNDZGCBNBAVCNFSM6AAAAABDJUSCROVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJSHA4DCOBRGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

thanks @mos-fine  do you mind send s pull request to add the support officially ? would be good to see the diff

@mos-fine 非常棒的工作！

hi @mos-fine  do you support phi-3 vision model?

Hey @mos-fine  in extracted_Whl file i have three files  : mlc_ai_nightly_cu122.libs,  mlc_ai_nightly_cu122-0.15.dev404.dist-info, and tvm  i extracted and installed them in wsl environment  next i directly use the commands its not working

Hey @mos-fine  in extracted_Whl file i have three files  : mlc_ai_nightly_cu122.libs,  mlc_ai_nightly_cu122-0.15.dev404.dist-info, and tvm  i extracted and installed them in wsl environment  next i directly use the commands its not working

search mlc-minicpm，这是面壁官方改的

Hey @mos-fine I followed your instructions, used the toolkit and tried to convert the weights for MiniCPM-V-2. This is facing an error where a file within can't recognize the name TVM. I'm not entirely sure why this is happening given that the same files uses tvm in earlier lines. I was wondering if you've had any luck converting V-2 or if MiniCPM-V is all you converted. I will also try MiniCPM-V and see if that works. This is a SS of the error:

Hey @mos-fine I followed your instructions, used the toolkit and tried to convert the weights for MiniCPM-V-2. This is facing an error where a file within can't recognize the name TVM. I'm not entirely sure why this is happening given that the same files uses tvm in earlier lines. I was wondering if you've had any luck converting V-2 or if MiniCPM-V is all you converted. I will also try MiniCPM-V and see if that works. This is a SS of the error:

你可以先测试tvm是否安装成功，测试命令
｀

python -c "import tvm; print(tvm.file)"
/some-path/lib/python3.11/site-packages/tvm/init.py
｀
如果有问题，可以直接安装如下

https://github.com/apache/tvm

@Single430 thank you for the reply!

This is the weird thing. TVM checks as per the documentation all show outputs that match it.

If you want to know how to modify the code inside, feel free to communicate with me. My company is trying to launch a private app model product that builds large models into the app and combines it with rag to understand users. @Nikhil34712

Hi @mos-fine , do you have any plans to share you RAG implementation?

Minicpm series are supported by #2755, #2808, #2815.

Minicpm series are supported by #2755, #2808, #2815.

cool!
And how about Minicpm-v? any plan?

cc @tlopex on minicpm-v

@tqchen  Got that! Now under the learning of its code, trying to support that in a few weeks.


We would love to add Neo4j support both for database interactions and for knowledge graph memory

It should be pretty straightforward to add both, if you're interested in integrating those.
I'm curious about the insights and memo:// example in the sqlite implementation.
Do you plan to abstract that away from a specific database implementation?
It feels like mixing concerns a bit, curious if you have any design/other documentation ont hat.

Yes that helped.

@dsp-ant PR is here: https://github.com/modelcontextprotocol/servers/pull/105

We've now made some changes to how we'll manage the servers repo going forward.
TLDR: We're restructuring the MCP servers repository to focus on reference implementations only. New server implementations should be developed in separate repositories and can be added as links to our README, rather than submitted as PRs to this repository.
In line with that new approach, I'll close this out, but we'd be happy to include a link to this server if it's built in another repo. Please do submit a PR when it's ready!


misc Qt improvements

First commit add supports for Kvantum, a sort of meta-widgetstyle for Qt. When it's being used, it makes sense to source the style from Kvantum's configuration instead of just printing kvantum/kvantum-dark.
The second adds support for qt5ct and qt6ct, which are often used to configure Qt graphically in environments where Qt is not native.

LGTM


Not update/add rows

Hi!
I have next config for my test db table
elasticsearch and river have v. 2.1
echo '
{
    "type" : "jdbc",
    "jdbc" : {
        "schedule" : "0 0-59 0-23 ? * *",
        "url" : "jdbc:mysql://localhost:33060/discover",
        "user" : "homestead",
        "password" : "secret",
        "sql" : [
        {
            "statement" : "select id as _id, first_name as firstName, last_name as lastName, job_title as jobTitle from testElastic where datetime > (DATE_SUB(?, INTERVAL 5 MINUTE));",
            "parameter" : [ "$metrics.lastexecutionstart" ]
            }
        ],
        "autocommit" : true,
        "statefile" : "statefile.json",
        "elasticsearch" : {
            "cluster" : "elasticsearch_igne",
            "host" : "localhost",
            "port" : "9300"
        },
        "index" : "discover",
        "type" : "contacts",
        "fetchsize" : "min",
        "max_bulk_actions" : 20000,
        "max_concurrent_bulk_requests" : 10,
        "metrics" : {
            "enabled" : true,
            "logger" : {
                "json" : true
            },
            "interval" : "1m"
        }
    }
}

I expect that when I update the some rows or add the new rows the river will update index but it doesn't do it.
What is wrong?
But when I run at first (without statefile.json) the index has all rows and everything working correctly but the river updates the all rows again and again (_version filed increase as for me it's wrong behavior )
What are I doing incorrect?
Thanks!

I fixed the trouble was described above.
But why if some rows have been updated or added they updated again and again and again  (_version filed increase as for me it's wrong behavior ) maybe this script will be better run via supervisord?
I think this java script uses cache data or something else because if i run query via some sql manager i don't get the rows but the script fetch old rows again and again.

I think the trouble with timezone
If i updated some rows end sed datetime minus 2h everything working correctly...
I tried to use "timezone" : "TimeZone.getDefault()",
but it didn't help me (((
Who has any ideas?

"TimeZone.getDefault()" does not work.
Use a Java timezone ID https://docs.oracle.com/javase/8/docs/api/java/time/ZoneId.html like Europe/Berlin

@jprante Thanks! If I understood right, I should use "UTC"


Use GLOBAL_GET for window_{height,width}_override

Before ProjectSettings::get was used, resulting in ignoring feature tag overrides for display/window/size/window_width_override and display/window/size/window_height_override.
Fixes #92062

Thanks! And congrats for your first merged Godot contribution :tada:


implement rostful client

This is linked with rostful, but we will need some changes in rostful-node to be able to transmit from ros to python Pipe interface.
The client side might also need its own rostful-node process running...

A prototype is currently being written for gopher.
However this should likely be a library, that external python code can use easily (to allow deep and complex customization).
And rostful itself can implement a "generic"/user-friendly client on top of that library in a later version.
A central part of this client library is the message conversion / serialization, which has been greatly improved for compatibility with python and web standards in pyros_schemas (optional fields in messages, serialization to python dictionaries as intermediate message representation)

We currently have pyros-msgs and pyros-schemas as basic dependencies to make a ROS web client development easy. An example of http client is provided in https://github.com/asmodehn/pyros-schemas-examples.
Rostful would need to implement a client that could be used along with a rostful server for communication through a REST interface... We might need some kind of auto-negotiation of the API, probably relying on some specification of a RESt API, but this will be dealt with in later issues and releases.

This specific issue is now managed separately in https://github.com/asmodehn/pyros-schemas-examples


three object prototyper

use this to prototype op UI, other three stuff. runs separate from mischmasch, but follows the same design pattern

will need to set up a separate webpack config to get this going

use either this: https://threejs.org/editor/
or this: https://gltf-viewer.donmccurdy.com/


Handle Custom Domain with SSL on Fabio

Problem
Currently Nomad Cluster is deployed along with fabio -> AWS Application Load Balancer.
Where Load Balancer is configured with domain1.com SSL cert with ACM , where all the job deployed in nomad cluster with *.domain1.com works as expected., where route53 records are created for respective jobs.
When moving on with custom domain where as helo.domain2.com , i did map the route53 records to reroute the traffic but i am facing SSL cert issue here as load balancer is configure with different ACM.
Test Cases:
Deployed NLB and mapped nomad cluster to handle the traffic , but this case how to handle multiple custom domains? Need to deploy fabio for all the custom domains which are setup ? also how to handle the traffic with SSL Certs (lets say used letsencrypt to generate CA certs )
Is there any feature or work around in fabio to handle multiple custom certs to serve traffic with SSL Certs?

To handle multiple domain names on Fabio you can use tags on the consul services like"urlprefix-helo.domain2.com/"and then you just need to work out how you want to setup your certificate store (proxy.cs configuration).

fabio.properties
proxy.cs = cs=consul;type=consul;cert=http://localhost:8500/v1/kv/ssl
proxy.addr = :9999;proto=http,:9995;proto=https;cs=consul
Used letsencrypt to generate certs for domain and placed in consul kv :
cat fullchain.pem privkey.pem > cert01.pem
as per : https://github.com/fabiolb/fabio/issues/621
Cluster as nomad + Consul Deployment - deployed loki
`
job "loki" {
  datacenters = ["us-west-1"]
  type        = "service"

  constraint {
    attribute = meta.cluster
    operator  = "="
    value     = "proxy"
  }

  group "loki" {
    count = 1

    network {

      port "http" {
        to = 3100
      }
    }

    restart {
      attempts = 3
      delay    = "20s"
      mode     = "delay"
    }

    task "loki" {
      driver = "docker"

      config {
        image = "grafana/loki:2.6.1"
        ports = ["http"]

      resources {
        cpu    = 100
        memory = 100
      }

      service {
        name = "loki"
        port = "http"
        tags = ["urlprefix-devops.helper.co/"]
      }
    }
  }
}

Fabio Logs:
`
sh-4.2$ ./fabioex -cfg ./fabio/fabio.properties
2023/02/28 09:53:07 [INFO] Setting log level to INFO
2023/02/28 09:53:07 [INFO] Runtime config
{
    "Proxy": {
        "Strategy": "rnd",
        "Matcher": "prefix",
        "NoRouteStatus": 404,
        "MaxConn": 10000,
        "ShutdownWait": 0,
        "DeregisterGracePeriod": 0,
        "DialTimeout":<PHONE_NUMBER>0,
        "ResponseHeaderTimeout": 0,
        "KeepAliveTimeout": 0,
        "IdleConnTimeout":<PHONE_NUMBER>0,
        "FlushInterval":<PHONE_NUMBER>,
        "GlobalFlushInterval": 0,
        "LocalIP": "<IP_ADDRESS>",
        "ClientIPHeader": "",
        "TLSHeader": "",
        "TLSHeaderValue": "",
        "GZIPContentTypes": null,
        "RequestID": "",
        "STSHeader": {
            "MaxAge": 0,
            "Subdomains": false,
            "Preload": false
        },
        "AuthSchemes": {},
        "GRPCMaxRxMsgSize": 4194304,
        "GRPCMaxTxMsgSize": 4194304
    },
    "Registry": {
        "Backend": "consul",
        "Static": {
            "NoRouteHTML": "",
            "Routes": ""
        },
        "File": {
            "NoRouteHTMLPath": "",
            "RoutesPath": ""
        },
        "Consul": {
            "Addr": "localhost:8500",
            "Scheme": "http",
            "Token": "",
            "KVPath": "/fabio/config",
            "NoRouteHTMLPath": "/fabio/noroute.html",
            "TagPrefix": "urlprefix-",
            "Register": true,
            "ServiceAddr": ":9998",
            "ServiceName": "fabio",
            "ServiceTags": null,
            "ServiceStatus": [
                "passing"
            ],
            "CheckInterval":<PHONE_NUMBER>,
            "CheckTimeout":<PHONE_NUMBER>,
            "CheckScheme": "http",
            "CheckTLSSkipVerify": false,
            "ChecksRequired": "one",
            "ServiceMonitors": 1,
            "TLS": {
                "KeyFile": "",
                "CertFile": "",
                "CAFile": "",
                "CAPath": "",
                "InsecureSkipVerify": false
            },
            "PollInterval": 0,
            "RequireConsistent": true,
            "AllowStale": false
        },
        "Custom": {
            "Host": "",
            "Path": "",
            "QueryParams": "",
            "Scheme": "https",
            "CheckTLSSkipVerify": false,
            "PollInterval": 5,
            "NoRouteHTML": "",
            "Timeout": 10
        },
        "Timeout":<PHONE_NUMBER>0,
        "Retry": 500000000
    },
    "Listen": [
        {
            "Addr": ":9999",
            "Proto": "http",
            "ReadTimeout": 0,
            "WriteTimeout": 0,
            "IdleTimeout": 0,
            "CertSource": {
                "Name": "",
                "Type": "",
                "CertPath": "",
                "KeyPath": "",
                "ClientCAPath": "",
                "CAUpgradeCN": "",
                "Refresh": 0,
                "Header": null,
                "VaultFetchToken": ""
            },
            "StrictMatch": false,
            "TLSMinVersion": 0,
            "TLSMaxVersion": 0,
            "TLSCiphers": null,
            "ProxyProto": false,
            "ProxyHeaderTimeout": 0,
            "Refresh": 0
        },
        {
            "Addr": ":9995",
            "Proto": "https",
            "ReadTimeout": 0,
            "WriteTimeout": 0,
            "IdleTimeout": 0,
            "CertSource": {
                "Name": "consul",
                "Type": "consul",
                "CertPath": "http://localhost:8500/v1/kv/ssl",
                "KeyPath": "",
                "ClientCAPath": "",
                "CAUpgradeCN": "",
                "Refresh": 0,
                "Header": null,
                "VaultFetchToken": ""
            },
            "StrictMatch": false,
            "TLSMinVersion": 0,
            "TLSMaxVersion": 0,
            "TLSCiphers": null,
            "ProxyProto": false,
            "ProxyHeaderTimeout": 0,
            "Refresh": 0
        }
    ],
    "Log": {
        "AccessFormat": "common",
        "AccessTarget": "",
        "RoutesFormat": "delta",
        "Level": "INFO"
    },
    "Metrics": {
        "Target": "",
        "Prefix": "{{clean .Hostname}}.{{clean .Exec}}",
        "Names": "{{clean .Service}}.{{clean .Host}}.{{clean .Path}}.{{clean .TargetURL.Host}}",
        "Interval":<PHONE_NUMBER>0,
        "Timeout":<PHONE_NUMBER>0,
        "Retry": 500000000,
        "GraphiteAddr": "",
        "StatsDAddr": "",
        "DogstatsdAddr": "",
        "Circonus": {
            "APIKey": "",
            "APIApp": "fabio",
            "APIURL": "",
            "CheckID": "",
            "BrokerID": "",
            "SubmissionURL": ""
        },
        "Prometheus": {
            "Subsystem": "",
            "Path": "/metrics",
            "Buckets": [
                0.005,
                0.01,
                0.025,
                0.05,
                0.1,
                0.25,
                0.5,
                1,
                2.5,
                5,
                10
            ]
        }
    },
    "UI": {
        "Listen": {
            "Addr": ":9998",
            "Proto": "http",
            "ReadTimeout": 0,
            "WriteTimeout": 0,
            "IdleTimeout": 0,
            "CertSource": {
                "Name": "",
                "Type": "",
                "CertPath": "",
                "KeyPath": "",
                "ClientCAPath": "",
                "CAUpgradeCN": "",
                "Refresh": 0,
                "Header": null,
                "VaultFetchToken": ""
            },
            "StrictMatch": false,
            "TLSMinVersion": 0,
            "TLSMaxVersion": 0,
            "TLSCiphers": null,
            "ProxyProto": false,
            "ProxyHeaderTimeout": 0,
            "Refresh": 0
        },
        "Color": "light-green",
        "Title": "",
        "Access": "rw",
        "RoutingTable": {
            "Source": {
                "LinkEnabled": false,
                "NewTab": true,
                "Scheme": "http",
                "Host": "",
                "Port": ""
            }
        }
    },
    "Runtime": {
        "GOGC": 100,
        "GOMAXPROCS": 2
    },
    "Tracing": {
        "TracingEnabled": false,
        "CollectorType": "http",
        "ConnectString": "http://localhost:9411/api/v1/spans",
        "ServiceName": "Fabiolb",
        "Topic": "Fabiolb-Kafka-Topic",
        "SamplerRate": -1,
        "SpanHost": "localhost:9998",
        "SpanName": "",
        "TraceID128Bit": true
    },
    "ProfileMode": "",
    "ProfilePath": "/tmp",
    "Insecure": false,
    "GlobMatchingDisabled": false,
    "GlobCacheSize": 1000,
    "BGP": {
        "BGPEnabled": false,
        "Asn": 65000,
        "AnycastAddresses": null,
        "RouterID": "",
        "ListenPort": 179,
        "ListenAddresses": [
            "<IP_ADDRESS>"
        ],
        "Peers": null,
        "EnableGRPC": false,
        "GRPCListenAddress": "<IP_ADDRESS>:50051",
        "GRPCTLS": false,
        "CertFile": "",
        "KeyFile": "",
        "GOBGPDCfgFile": "",
        "NextHop": ""
    }
}
2023/02/28 09:53:07 [INFO] Version 1.6.3 starting
2023/02/28 09:53:07 [INFO] Go runtime is go1.19.4
2023/02/28 09:53:07 [INFO] Registering metrics provider ""
2023/02/28 09:53:07 [INFO] Metrics disabled
2023/02/28 09:53:07 [INFO] Setting GOGC=100
2023/02/28 09:53:07 [INFO] Setting GOMAXPROCS=2
2023/02/28 09:53:07 [INFO] consul: Connecting to "localhost:8500" in datacenter "us-west-1"
2023/02/28 09:53:07 [INFO] Admin server access mode "rw"
2023/02/28 09:53:07 [INFO] Admin server listening on ":9998"
2023/02/28 09:53:07 [INFO] Waiting for first routing table
2023/02/28 09:53:07 [INFO] consul: Using dynamic routes
2023/02/28 09:53:07 [INFO] consul: Using tag prefix "urlprefix-"
2023/02/28 09:53:07 [INFO] consul: Watching KV path "/fabio/config"
2023/02/28 09:53:07 [INFO] consul: Watching KV path "/fabio/noroute.html"
2023/02/28 09:53:07 [INFO] HTTP proxy listening on :9999
2023/02/28 09:53:07 [INFO] HTTPS proxy listening on :9995
2023/02/28 09:53:07 [INFO] Access logging disabled
2023/02/28 09:53:07 [INFO] Using routing strategy "rnd"
2023/02/28 09:53:07 [INFO] Using route matching "prefix"
2023/02/28 09:53:07 [INFO] Access logging disabled
2023/02/28 09:53:07 [INFO] Using routing strategy "rnd"
2023/02/28 09:53:07 [INFO] Using route matching "prefix"
2023/02/28 09:53:07 [INFO] cert: Store has certificates for ["devops.helper.co"]
2023/02/28 09:53:07 [INFO] Config updates
+ route add loki devops.helper.co/ http://<IP_ADDRESS>:31454/
2023/02/28 09:53:07 [INFO] consul: Registered fabio as "fabio"
2023/02/28 09:53:07 [INFO] consul: Registered fabio with id "fabio-ip-<IP_ADDRESS>.us-west-1.compute.internal-9998"
2023/02/28 09:53:07 [INFO] consul: Registered fabio with address "<IP_ADDRESS>"
2023/02/28 09:53:07 [INFO] consul: Registered fabio with tags ""
2023/02/28 09:53:07 [INFO] consul: Registered fabio with check &{CheckID:fabio-ip-<IP_ADDRESS>.us-west-1.compute.internal-9998-ttl Name: Args:[] DockerContainerID: Shell: Interval: Timeout: TTL:15s HTTP: Header:map[] Method: Body: TCP: Status: Notes: TLSServerName: TLSSkipVerify:false GRPC: GRPCUseTLS:false H2PING: H2PingUseTLS:false AliasNode: AliasService: SuccessBeforePassing:0 FailuresBeforeWarning:0 FailuresBeforeCritical:0 DeregisterCriticalServiceAfter:1m0s}
2023/02/28 09:53:07 [INFO] consul: Registered fabio with check &{CheckID: Name: Args:[] DockerContainerID: Shell: Interval:1s Timeout:3s TTL: HTTP:http://[<IP_ADDRESS>]:9998/health Header:map[] Method: Body: TCP: Status: Notes: TLSServerName: TLSSkipVerify:false GRPC: GRPCUseTLS:false H2PING: H2PingUseTLS:false AliasNode: AliasService: SuccessBeforePassing:0 FailuresBeforeWarning:0 FailuresBeforeCritical:0 DeregisterCriticalServiceAfter:}
`

When i hit the Server IP or domain : https://devops.helper.co

Have you seen any errors in the Fabio logs saying the connection failed? I think it might be the NLB or the SG's on the machine not letting traffic in. (with NLB's you need to add rules on the ec2 instances to accept the internet based traffic).

Yeah , there is no logs in fabio.
also i am trying to connect via machine public ip, removed NLB out of picture for now.
mapped machine ip to the domain , but still same.

When you have the Fabio listener is on 9998 and you try to directly connect then you'll need to add the port to the urlprefix "urlprefix-devops.helper.co:9998/". alternatives are to listen on 443 with CAP_NET_BIND_SERVICE or maybe use some Iptables magic to nat the traffic.
essentially if its a Fabio config error I'd expect to see some sort of error message. maybe check the traffic is arriving with tcpdump...


Custom font families for watermarks

Is your feature request related to a problem? Please describe.
Just would like to be able to change the font
I think should be easier to implement, just adding another argument to the makeFont call from the brief look at it?

Yeah, it needs to add the new option fontFamily to WatermarkOptions and use it in pane view.
Feel free to make a PR.


Inactivate "Launch SS console" menu if no VMs registered

If no VMs registered (in case of Client-only installations) menu "Launch to SS console" should be inactivated.

What if we have RH on another machine?
There are RH settings in tray->settings->rh. There user can specify any IP address, not only localhost.


WIP: add extensible certificate controller design doc

What this PR does / why we need it:
Adds a design document for the 'extensible certificates controller' design. This is still work in progress, but I'm putting it out there now as the general ideas behind it are there and I'd like to get feedback 😄
Which issue this PR fixes: fixes #2692
Release note:
NONE

/kind design

/lgtm

Any word on when this might be merged?

@chris-altamimi Huh, this should have really been merged already...
It has been an alpha feature in 1.15, and the implementation  for 1.16, released 1 hour ago.
/cc @meyskens @wallrj @hzhou97

Removed the WIP, let's try a kick
/retest


[BUG] api document does't work

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
the web request get the result. But it not show in web
Expected Behavior

it should show in web.
Steps To Reproduce
1.jdk 1.8
2.simple config
3.start bootstrap admin and a springcloud project
4.

Environment
ShenYu version(s):2.5.1

Debug logs

it has value in cache
Anything else?
nothing

Version 2.5.1 is not supported. The next version to be released will be re supported.

After waiting for the front-end pr, completely fix it.


adapting Worker Pods status report in Module to v.2 (#619)

This commits adds implementation of reporting worker pods status into the Module's status.
The following fields are reported:

number of targeted nodes ( based on selector field) 2) number of desired nodes that kernel module should be deployed (based
on NMCs configured)
current number of the nodes that the kernel module is already
deployed to ( based on NMC spec and status configs)

Fixes 858

/ok-to-test
/lgtm
/assign @yevgeny-shnaidman

/test e2e

/cherry-pick release-2.0


[Role] az ad sp create-for-rbac: Deprecate creating role assignment by default

Description
az ad sp create-for-rbac creates a Contributor role assignment at subscription scope if --skip-assignment or --role is not provided. This is a dangerous behavior and contradicts the principle of least privilege.
This PR adds the warning to help message and command execution that:

In a future release, this command will NOT create any role assignment by default. (--skip-assignment will be the default behavior.) If needed, always use --role to explicitly create a role assignment.

Testing Guide

> az ad sp create-for-rbac --help

        By default, this command assigns the 'Contributor' role to the service principal at the
        subscription scope. To reduce your risk of a compromised service principal, use --skip-
        assignment to avoid creating a role assignment, then assign a more specific role and narrow
        the scope to a resource or resource group. See [steps to add a role
        assignment](https://aka.ms/azadsp-more) for more information.

        WARNING: In a future release, this command will NOT create any role assignment by default.
        (--skip-assignment will be the default behavior.) If needed, always use --role to explicitly
        create a role assignment.

> az ad sp create-for-rbac
WARNING: In a future release, this command will NOT create any role assignment by default. (--skip-assignment will
be the default behavior.) If needed, always use --role to explicitly create a role assignment.
WARNING: Creating 'Contributor' role assignment under scope '/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590'
WARNING:   Retrying role assignment creation: 1/36
{
  "appId": "bc26a0e0-a351-403a-9605-f97424e35dd2",
  "displayName": "azure-cli-2020-11-30-06-01-01",
  "name": "http://azure-cli-2020-11-30-06-01-01",
  "password": "...",
  "tenant": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"
}

See email:

az ad sp create-for-rbac: Deprecate creating role assignment by default
Updating az ad sp create-for-rbac behavior and warning

Role

Shall we mark --skip-assignment as deprecated?

Shall we mark --skip-assignment as deprecated this time?

No, as it will be become the default behavior, instead of deprecated. Marking it as deprecated will further confuse the user.


client loses connection to gateway peer and cannot recover without a restart when endorsement policy is changed

First I will note that the client could probably recover but would have to be coded to detect the scenario and create a new client and gateway to recover. The problem I see reports 2 errors
{"component":"CLIENT","timestamp":"2021-11-25T17:05:58.440Z","txnId":"f4bcbe05d1c9257ebfbaa7492d3a853935ab69789c2d2feb661b413662d10a76","stage":"Endorsing","message":"addUpdateAssets({\"arguments\":[\"1\",\"2000\"]})"}
{"component":"CLIENT","timestamp":"2021-11-25T17:06:28.454Z","txnId":"f4bcbe05d1c9257ebfbaa7492d3a853935ab69789c2d2feb661b413662d10a76","stage":"Failed","message":"4 DEADLINE_EXCEEDED: Deadline exceeded"}
{"component":"CLIENT","timestamp":"2021-11-25T17:05:58.443Z","txnId":"bcd6cc53c262a76f23015a2003af3e72785079f44be01ba28840c6adaa31bc6a","stage":"Endorsing","message":"updateChaosAsset({\"arguments\":[\"cd1\",\"99\"]})"}
{"component":"CLIENT","timestamp":"2021-11-25T17:06:28.454Z","txnId":"bcd6cc53c262a76f23015a2003af3e72785079f44be01ba28840c6adaa31bc6a","stage":"Failed","message":"14 UNAVAILABLE: Stream refused by server"}

But either way no further submitted transaction succeeds until the client was restarted
Unfortunately client side grpc logging doesn't tell me much only saying what the error message says. The peer logs don't provide anything helpful and if I turn on too much logging then I struggled to recreate the problem.
I recreated the scenario outside of the endorsement policy by having a long running transaction create MVCC Read Conflicts so it looks related to multiple long running transactions failing which have a large write set, in my case writing to 2000 keys but small amounts of data.
A recent change to fabric here https://github.com/hyperledger/fabric/pull/3012 changed the output for when proposal responses don't match by including base64 version of protobuf bytes into the error which subsequently end up in the logs. If I revert this change then I haven't been able to hit the problem. It looks like this change was intended for when the peer is used as a cli but also occurs when the peer is running as a server.
If I don't use the long running txns with large number of keys then the problem doesn't occur, so this is specific to the contrived application being run to test the scenario, so it's not likely to be a common problem so I will leave it up for discussion about whether the recent change to outputting base64 when proposals don't match is of value and should be output when the peer is running in server mode.

@andrew-coleman what is your opinion?

Mis-matched proposal responses is a server-side issue related to smart contracts, so I think the key thing is to ensure that mismatched responses are logged at the server end so they can be investigated by whoever has operational responsibility for the Fabric nodes. There's certainly no harm in sending some specific information about the reason for the endorsement failure to the client so the issue can be diagnosed correctly at that end, but I don't think it's strictly necessary to send proposal response content back to the client. In some respects this might even be considered bad security practice since it gives any attacker additional information about the internal behaviour of the network.

My change #3012 is for CLI, and I'm not aware of the gateway. I agree with the two enhancement proposed by @andrew-coleman.

With the latest images
 Version: 2.4.0
 Commit SHA: aaaec4f
 Go version: go1.16.7
 OS/Arch: linux/amd64
 Chaincode:
  Base Docker Label: org.hyperledger.fabric
  Docker Namespace: hyperledger

I can't recreate this problem and still see the mismatches being reported and logged.
Closing


Fix eslint checks .pem

Weird how the pem files didn't include for me.
Can you update the globs to be:
eslint lib/**/*.js test/**/*.js


Combine the text extractor tool into the windows + shift + s as an an option in there so that we only need to remember one shortcut

Description of the new feature / enhancement
It would be nice to have text select integrated into he shortcut tool so that its easier to execute without remembering the shortcut
Scenario when this would be used?
When you want to get text while having to only remember one shortcut (the current one would still exist)
Supporting information
This would be really awesome for me since I use both tools a lot so having them together would make a lot of sense

@Verynameboi thank you for your report.
That's only possible by adding TextExtractor functionality to the Snip&Sketch tool (Win logo key + Shift + S).
You may request it in Windows Feedback hub app


[Fix] Wrong biography when passing sessionid

Description
When a sessionid is passed to the Profile.scrape() function, the scraped profile contains a wrong biography.
Instead of getting the biography of the Profile asked, it returns the biography of the account associated to the sessionid (the "viewer user").
The fix maps the key biography to user_biography. This fix is similar to the profile_pic_url and user_profile_pic_url keys.
This is needed because Instagram returns different keys when logged in using a sessionid cookie. The right keys are the same but preceded by user_
Closes #88
Checklist

[x] I followed the guidelines in our Contributing document
[x] I added an explanation of my changes
[ ] I have written new tests for my changes, as applicable
[x] I successfully ran tests with my changes locally

Thank you for this PR. I was facing this exact issue and your fix worked.
I would also like to mention that I was facing a similar issue with the "external_url" field.
I fixed it by adding mapping["external_url"] = deque(["user_external_url"]) under the line which you added in this PR.


Finetuned model does not load trained weights properly, but instead uses random initialization

System Info
torch==2.0.0
peft==0.3.0
accelerate==0.20.3
transformers==4.30.1
Who can help?
@pacman100 @youn
Information

[ ] The official example scripts
[X] My own modified scripts

Tasks

[ ] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[X] My own task or dataset (give details below)

Reproduction
Finetuned PEFT model based on LlamaForSequenceClassification does not load trained weights of the final layer from local and instead initialises them randomly each time the model is loaded.
import torch
from peft import PeftConfig, PeftModelForSequenceClassification, get_peft_model, get_peft_model_state_dict
from transformers import LlamaTokenizer, LlamaForCausalLM, GenerationConfig
from transformers.generation.utils import GreedySearchDecoderOnlyOutput

if torch.cuda.is_available():
    device = "cuda"
else:
    device = "cpu"

try:
    if torch.backends.mps.is_available():
        device = "mps"
except:
    pass

id2label = {0: "ham", 1: "spam"}
label2id = {"ham": 0, "spam": 1}

load_8bit = True

peft_model_id = "experiments_openllama"
config = PeftConfig.from_pretrained(peft_model_id,)

base_model = config.base_model_name_or_path
lora_weights = peft_model_id
if device == "cuda":
    model = LlamaForSequenceClassification.from_pretrained(
        base_model,
        load_in_8bit=load_8bit,
        torch_dtype=torch.float16,
        device_map="auto",
        num_labels=2,
        id2label=id2label,
        label2id=label2id,
        problem_type="single_label_classification",
    )
    model = PeftModelForSequenceClassification.from_pretrained(
        model, lora_weights, torch_dtype=torch.float16, config=config
    )
elif device == "mps":
    model = LlamaForSequenceClassification.from_pretrained(
        base_model, device_map={"": device}, torch_dtype=torch.float16,
    )
    model = PeftModelForSequenceClassification.from_pretrained(
        model,
        lora_weights,
        device_map={"": device},
        torch_dtype=torch.float16,
        config=config,
    )
else:
    model = LlamaForSequenceClassification.from_pretrained(
        base_model, device_map={"": device}, low_cpu_mem_usage=True
    )
    model = PeftModelForSequenceClassification.from_pretrained(
        model, lora_weights, device_map={"": device}, config=config
    )

model.load_state_dict(
    torch.load(os.path.join(lora_weights, "adapter_model.bin")), strict=False
)

print(get_peft_model_state_dict(model)['base_model.model.score.weight'])

happy to share the fine-tuned model if there is a way to upload a compressed version.
I have observed a similar behaviour when trying to load via both the torch state_dict() method and from_pretrained() using the respective models. Both seem to not do a proper loading of the model fine-tuned weights.
Expected behavior
When loading a fine-tuned model into peft from the local disk, the model weights should always be the same and the validation set accuracy should be the same as the one logged against the latest epoch in the relevant trainer_state.json file produced during training and evaluation.

Thank you for the reply.
In the meantime I have tried using the following method:
id2label = {0: "ham", 1: "spam"}
label2id = {"ham": 0, "spam": 1}

load_8bit = True
# Load peft config for pre-trained checkpoint etc.
peft_model_id = "experiments_openllama/checkpoint-478"
# peft_model_id = "results/experiments_openllama/checkpoint-478"

lora_weights = peft_model_id

CUTOFF_LEN = 512

LORA_R = 8
LORA_ALPHA = 16
LORA_DROPOUT = 0.05
LORA_TARGET_MODULES = [
    "q_proj",
    "v_proj",
]
BASE_MODEL = "openlm-research/open_llama_7b"

config = LoraConfig(
    r=LORA_R,
    lora_alpha=LORA_ALPHA,
    target_modules=LORA_TARGET_MODULES,
    lora_dropout=LORA_DROPOUT,
    bias="none",
    task_type="SEQ_CLS",
    inference_mode=True,
)
model = LlamaForSequenceClassification.from_pretrained(
    BASE_MODEL,
    load_in_8bit=True,  # TODO these 3 lines, when commented in result in faster inference but random results that are different each time
    torch_dtype=torch.float16,
    device_map="auto",
    num_labels=2,
    id2label=id2label,
    label2id=label2id,
    problem_type="single_label_classification",
)
model = prepare_model_for_int8_training(model)
model = get_peft_model(model, config)

set_peft_model_state_dict(
    model, torch.load(os.path.join(peft_model_id, "adapter_model.bin"))
)

I have observed that the weight tensors are populated however the inference issue persists as I am still obtaining accuracy that is around 50%.
The odd thing is that each time I load the model and run inference on the validation set the result is slightly different. I am therefore wondering if there is a parameter that introduces randomness in the model? I have used model.eval() but that does not resolve the issue.
I have also tried replacing the line ```
set_peft_model_state_dict(
model, torch.load(os.path.join(peft_model_id, "adapter_model.bin"))
)
with

model.load_adapter(peft_model_id, 'adapter_model')

but the same behaviour was observed.

Evaluation metrics:

print(metric.compute(predictions=preds, references=predictions.label_ids))
{'accuracy': 0.5342394145321484, 'f1': 0.316193399846508}

Hello @ilektram, I'm running https://github.com/huggingface/peft/blob/main/examples/sequence_classification/LoRA.ipynb and it works as expected without any performance issues post loading.
Here, is the mode: https://huggingface.co/smangrul/roberta-large-peft-lora-latest
import torch
from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM, AutoTokenizer

peft_model_id = "smangrul/roberta-large-peft-lora-latest"
config = PeftConfig.from_pretrained(peft_model_id)
inference_model = AutoModelForSequenceClassification.from_pretrained(config.base_model_name_or_path)
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)

# Load the Lora model
inference_model = PeftModel.from_pretrained(inference_model, peft_model_id)

inference_model.to(device)
inference_model.eval()
for step, batch in enumerate(tqdm(eval_dataloader)):
    batch.to(device)
    with torch.no_grad():
        outputs = inference_model(**batch)
    predictions = outputs.logits.argmax(dim=-1)
    predictions, references = predictions, batch["labels"]
    metric.add_batch(
        predictions=predictions,
        references=references,
    )

eval_metric = metric.compute()
print(eval_metric)

Output:
Downloading (…)/adapter_config.json: 100%
406/406 [00:00<00:00, 59.7kB/s]
Some weights of the model checkpoint at roberta-large were not used when initializing RobertaForSequenceClassification: ['lm_head.layer_norm.bias', 'lm_head.layer_norm.weight', 'lm_head.bias', 'lm_head.dense.weight', 'lm_head.dense.bias']
- This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at roberta-large and are newly initialized: ['classifier.out_proj.weight', 'classifier.dense.weight', 'classifier.out_proj.bias', 'classifier.dense.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
Downloading adapter_model.bin: 100%
7.39M/7.39M [00:00<00:00, 10.0MB/s]
  0%|                                                                        | 0/13 [00:00<?, ?it/s]You're using a RobertaTokenizerFast tokenizer. Please note that with a fast tokenizer, using the `__call__` method is faster than using a method to encode the text followed by a call to the `pad` method to get a padded encoding.
100%|███████████████████████████████████████████████████████████████| 13/13 [00:01<00:00,  7.92it/s]
{'accuracy': 0.8921568627450981, 'f1': 0.9236111111111112}

Can I ask, is there a reason why you load the model with AutoModelForSequenceClassification & AutoTokenizer rather than the Roberta specific classes?

Hello @ilektram, I am wondering if you find a solution to your problem?
Dear @younesbelkada , I am running the similar issue despite updating Transformer to the latest version (4.30.2), and thanks for many fix related to saving PEFT there.
In particular, I feel like I can't load the actual fine tuned model but instead the baseline model appear to be loaded.
Here's my code:
config = PeftConfig.from_pretrained(loraweight)
tokenizer = LlamaTokenizer.from_pretrained(config.base_model_name_or_path, model_max_length=512)
model =  LlamaForSequenceClassification.from_pretrained(config.base_model_name_or_path, num_labels=738,
                                                        torch_dtype=torch.float16,  device_map="auto")
model = PeftModel.from_pretrained(model, loraweight)

My evaluation loss at the end of training is: {'eval_train_loss': 5.794477462768555, 'eval_train_microF1': 0.08219178082191782, 'eval_train_macroF1': 0.017915627236747927, 'eval_train_microAUC': 0.828394538670285, 'eval_train_macroAUC': 0.5873078248178315, 'eval_train_labels': 128, 'eval_train_count': 200, 'eval_train_acc10': 0.21, 'eval_train_acc5': 0.185, 'eval_train_acc': 0.075}
However, with the loaded model the evaluation loss is: {'eval_loss': 7.802577972412109, 'eval_microF1': 0.0, 'eval_macroF1': 0.0, 'eval_microAUC': 0.5221097862957937, 'eval_macroAUC': 0.532642330878301, 'eval_labels': 128, 'eval_count': 200, 'eval_acc10': 0.015, 'eval_acc5': 0.0, 'eval_acc': 0.0}.
I have confirmed that the evaluation dataset is identical with 200 samples. I ran the evaluation of loaded model using both the trainer.evaluate() function and naive torch evaluation function and got the same result.
Deeply appreciate any guidance!

Hi, no unfortunately was unable to get it to work correctly so I eventually
abandoned the approach.
Στις Παρ 7 Ιουλ 2023 στις 02:35 ο χρήστης Hanyin Wang <
@.***> έγραψε:

Hello @ilektram https://github.com/ilektram, I am wondering if you find
a solution to your problem?
Dear @younesbelkada https://github.com/younesbelkada , I am running the
similar issue despite updating Transformer to the latest version (4.30.2),
and thanks for many fix related to saving PEFT there.
In particular, I feel like I can't load the actual fine tuned model but
instead the baseline model appear to be loaded.
Here's my code:
config = PeftConfig.from_pretrained(loraweight)
tokenizer = LlamaTokenizer.from_pretrained(config.base_model_name_or_path, model_max_length=512)
model =  LlamaForSequenceClassification.from_pretrained(config.base_model_name_or_path, num_labels=738,
torch_dtype=torch.float16,  device_map="auto")
model = PeftModel.from_pretrained(model, loraweight)
My evaluation loss at the end of training is: {'eval_train_loss':
5.794477462768555, 'eval_train_microF1': 0.08219178082191782,
'eval_train_macroF1': 0.017915627236747927, 'eval_train_microAUC':
0.828394538670285, 'eval_train_macroAUC': 0.5873078248178315,
'eval_train_labels': 128, 'eval_train_count': 200, 'eval_train_acc10':
0.21, 'eval_train_acc5': 0.185, 'eval_train_acc': 0.075}
However, with the loaded model the evaluation loss is: {'eval_loss':
7.802577972412109, 'eval_microF1': 0.0, 'eval_macroF1': 0.0,
'eval_microAUC': 0.5221097862957937, 'eval_macroAUC': 0.532642330878301,
'eval_labels': 128, 'eval_count': 200, 'eval_acc10': 0.015, 'eval_acc5':
0.0, 'eval_acc': 0.0}.
I have confirmed that the evaluation dataset is identical with 200
samples. I ran the evaluation of loaded model using both the
trainer.evaluate() function and naive torch evaluation function and got the
same result.
Deeply appreciate any guidance!
—
Reply to this email directly, view it on GitHub
https://github.com/huggingface/peft/issues/577#issuecomment-1624511804,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEDVMRZZD6M3GDGVZHVY67TXO5RWBANCNFSM6AAAAAAZGFFMVE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I am encountering the same issue where loading the model multiple times gives different results for the same input and accuracy hovers around 50%. I described my situation in more detail here:
https://github.com/lvwerra/trl/issues/578

@hanyin88 I think this line is not doing what you think it does:
config = LoraConfig(
        r=lora_r,
        lora_alpha=lora_alpha,
        target_modules=lora_target_modules,
        lora_dropout=lora_dropout,
        bias="none",
        task_type=TaskType.SEQ_CLS,
        modules_to_save=lora_target_modules.append("score"),  # <==
    )

lora_target_modules.append("score") returns None, so you end up with modules_to_save=None. At the same time, you appended "score" to lora_target_modules, i.e. to config.target_modules.
Also, in general, the layers targeted for LoRA should not be added to modules_to_save. modules_to_save will do a full parameter training on the layers, so you lose all the advantages of LoRA.

Hi,
I found the same problem training a BLOOM model for sequence classification.
After some efforts, I encountered that all the adapters weights were correctly loaded after building the PEFT model with PeftModelForSequenceClassification.from_pretrained(model, adapters_path), but it doesn't load the weights of the classification head, as it still maintains the weights that have been randomly set when assembling the model.
As far as I understand, it seems that there is a missmatch with the name of the classification layer of the model and the name that the PEFT model expects for the classification layer, which causes the peft model to keep the weights randomly initialised.
In this way, I was able to load the classification head just loading the weights manually (you may have other layer names depending the model that you're using):
import torch
from torch.nn import Parameter

adapters_weights = torch.load(os.path.join(adapters_path, 'adapter_model.bin'))
model = AutoModelForSequenceClassification.from_pretrained(
            peft_config.base_model_name_or_path,
            config=model_conf,
        )
# Load the weights of the trained classification head (you may need to modify your tensor if your using half precission)
model.score.weight = Parameter(adapters_weights['base_model.model.score.weight'])
model = PeftModelForSequenceClassification.from_pretrained(self.model, adapters_path)

If PEFT didn't save the weights of the classification head in the adapter_model.bin, you may need to specify the task_type when training in the LoraConfig parameters. If it still doesn't save them, you may need to specify which layer it should save using the modules_to_save field in the LoraConfig parameters.

Thanks for kind following up on the issue!
@BenjaminBossan Thanks for the kind insight! You are totally right that, what I accidentally or coincidentally did was to set modules_to_save=None and add "score" to lora_target_modules. So this effectively added lora on the final score layer, but skipped using modules_to_save. I double checked that with this approach, all model parameters can be loaded correctly after training.
@TuronLab I think you likely find the fundamental problem here and your solution seems even better. :) As far as I know this bug only applies to AutoModelForSequenceClassification and not other function. Just to make sure everyone is on the same page, could you kindly share the LoraConfig you used? I think by setting task_type =TaskType.SEQ_CLS, modules_to_save will automatically be the last output layer.

modules_to_save will automatically be the last output layer

To expand on this, it will add "classifier" and "score" to the modules_to_save, which are common names for the classification head. If those match the name of the last layer, it will automatically be saved. If not, you should add it explicitly to modules_to_save.

Hi, I'm glad you found this useful.
Yes, as @BenjaminBossan says, when you specify that you're going to solve a sequence classification problem, it will automatically try to save "classifier" and "score" layers; as is depicted in the init of the PeftModelForSequenceClassification class #L717. This was enough to me for saving the classification head which I need, since the classification head of the BLOOM model is named "score" (see BloomForSequenceClassification class, #L995). You will need to check that the model you are training follows the same nomenclature, otherwise you will need to specify it manually.
Here is the LoraConfig that I have used to train
    lora_config = LoraConfig(
        r=8,
        lora_alpha=32,
        target_modules=["query", "value"],
        lora_dropout=0.5,
        bias="none",
        inference_mode=False,
        task_type=TaskType.SEQ_CLS,
    )


Empty image on Elasticsearch CR defaults to appropriate logging-elast…

…icsearch5 image, so doesn't need to be set to a default by Jaeger operator
Signed-off-by: Gary Brown<EMAIL_ADDRESS>

Coverage error seems wrong - it is complaining about code that has been removed.


Fix library definitions for some node fs functions

Fix definitions for:

write(Sync)
readFile(Sync)
readdir(Sync)
readFile(Sync)
appendFile(Sync)
open
close

I believe this closes #3992, #3714, #3081, and #2902.
Note: Some of these changes are breaking, as they change some callback arguments from optional to required (as indicated in the node documentation).e

It seems like some of the callbacks are required though. For example, calling fs.readFile without a callback results in a deprecation warning from node. I suppose there's an argument to be had about whether that truly means it's required, but I think it's fair to say a callback should definitely be provided for that function (otherwise, you can't get the data!). Do you think it would be best to have some functions require the callback and others not?


docs: fix directory separator in comments

Description

fix comments

Checklist:

[x] Securely signed commits
[] Component(s) with PHPDoc blocks, only if necessary or adds value
[] Unit testing, with >80% coverage
[] User guide updated
[x] Conforms to style guide

Thank you @kenjis


Found bug with shouldBe and determining instance

During a training this happened:
Given, a production file called Collectibles.scala:
package com.xyzcorp

abstract class Collectible {
  def year:Int
}

class SportsCard(val name:String, val manufacturer:String, val year:Int)
  extends Collectible

class BaseballCard(name:String, manufacturer:String, year:Int,
                   val league:String, val division:String)
                      extends SportsCard(name, manufacturer, year)

Given a test called ClassesSpec.scala (named differently though seems irrelevant) that extends FunSuite with Matchers.  The following has a bug.  baseballCard shouldBe a [AnyVal] should not pass and should fail since it is obviously a custom class and therefore an object.
 test("""Case 5: Abstract Classes. We can also add an abstract class called
      | Collectible with a field year. Verify that all types are
      | polymorphic""".stripMargin) {

    val baseballCard = new BaseballCard("Ken Griffey Jr", "Topps", 1996,
      "American", "West")

    baseballCard shouldBe a [BaseballCard]
    baseballCard shouldBe a [SportsCard]
    baseballCard shouldBe a [Collectible]
    baseballCard shouldBe a [AnyRef]
    baseballCard shouldBe a [AnyVal] //Bug
    baseballCard shouldBe a [Any]
  }

Tech Stack

ScalaTest 3.0.5
Scalactic 3.0.5
JDK 10
Scala 2.12.4
SBT 1.1.1

Being fixed in the following PR:
https://github.com/scalatest/scalatest/pull/1365


Swagger generation should be automatically part of the build if swagger annotations are included?

Description:
If we have kubernetes or docker annotations in .bal files, then the k8s or dockerfile is automatically generated as part of the compilation. However, the same behaviour doesn't seem to happen with Swagger, and it is necessary to run "ballerina swagger export". It would be more consistent if the annotations caused the generation to happen
Steps to reproduce:
Add a swagger annotation to .bal and build.
Affected Versions:
All
OS, DB, other environment details and versions:
Any
Related Issues (optional):
Suggested Labels (optional):
Suggested Assignees (optional):

@pzfreo with swagger to ballerina, we generate services which has swagger annotations. So generating swagger file if a @ swagger annotation is present might confuse the users with automatically generated swagger file.

@pzfreo In docker and k8s scenario, generating dokerfile and other artifacts is the expected outcome of having the annotation. However reasons for having swagger annotation is not the same.
We add swagger annotations to declare additional properties in Swagger/OAS spec which are not directly declarable in ballerina source. These information is to be used by ballerina to swagger utility.
Ex: operation description, tags.
If theres swagger annotations in a ballerina service, most probably this means this service was generated by our code generators using a swagger file. So there is a higher chance for a user to not expect a swagger file as an output of building auto generated ballerina service.
Introducing a specific annotation to enable this seems fine but generating the swagger file for any swagger annotation doesn't look right to me. Thoughts?

@pzfreo
I also agree with what @praminda said. We use swagger annotation to keep additional information related to OAS.
We currently have a service client generation which has an annotation to enable generating a client to a service (https://ballerina.io/learn/by-example/client-generation.html). We can have a specific annotation such as that to enable generation of swagger file but is it necessary to have such compiler plugin as we have a compiler extensions ?

There are two types of developers;
(1) Contract first developers - e.g. swagger-to-ballerina
(2) Code first developers - e.g. ballerina-to-swagger

If theres swagger annotations in a ballerina service, most probably this means this service was generated by our code generators using a swagger file. So there is a higher chance for a user to not expect a swagger file as an output of building auto generated ballerina service.

With the current status; we assume that the majority is the contract-first developers. Thus, we don't generate swagger file even swagger annotations are present. On the other-hand, Code-first developers has to explicitly execute ballerina swagger export input.bal in-order to generate the swagger file.
Focusing on either type of developers means we are under-serving the other type. Hence, I would like to suggest that we always generate the swagger file whenever the swagger annotations are present. Then we don't need to worry about contract-first or code-first since both developers are happy EOD. Perhaps for the contract-first approach, built swagger file might not be 100% equal to the initial swagger file, But that's fine and 100% equivalancy should be our ultimate goal.

@rasika I understand your point.
If we look in to the GRPC scenario, In GRPC scenario we have given a similar experience by generating a .proto file on compilation. .proto file is a must as it is used to generate the client code stub.  But in our case generating a swagger file is bit unnecessary because to generate client for a ballerina service we have a separate annotation. So generating a swagger file will only be for mostly for sharing purposes and this is not everyday scenario. So IMO for this developer can use the ballerina-to-swagger tool.


CORTX-33581 : Automate alex data in Repo health

Signed-off-by: subhalaxmisa<EMAIL_ADDRESS>Describe your changes in brief
Automate alex data in Repo health
Changes

[x] Why is this change required? What problem does it solve?
[x] If proposing a new change then please raise an issue first

How Has This Been Tested? (Optional)

[x] Please describe in detail how you tested your changes.
[x] Include details of your testing environment, and the tests you ran to
[x] How your change affects other areas of the code, etc.

Screenshots (if appropriate)
Checklist

[x] tested locally
[x] added new dependencies
[x] updated the docs
[x] added a test

output returns that The Notebook Does Not Appear to Be Valid JSON

LGTM


Startle NNI is not stopping properly

Hi there,
I tried out Startle-NNI and was able to get the newick outputs. However, it seems like it is running longer iterations than my input and some processes are not closing even if I get the newick output. I wonder if you have encountered this before. Here is the command I was using:
python src/nni/startle.py -m "$mutation_table_dir" --iterations 5000 --threads 8\         "$seed_dir" "$mut_dir" \         --output "$newick_dir" > "$outlog_dir" 2>&1
I can also provide the files that I used for the inputs as well as the log file from one of the runs:

NJ tree(seed): NJ_256_mu_0.1_pd_1_run_1.txt
lineage data(mut): mut_256_mu_0.1_pd_1_run_1.csv
mutation table: mut_prob.csv
log: log_startle_256_mu_0.1_pd_1_run_1.txt

I want to test Startle with other methods in terms of running time, but with the current program, it seems that all the runs with different sample sizes have very similar running times and are very slow (~12 hours). It would be a great help if you could look into this.
Best,
Xinhai

Xinhai,
I am very sorry for the delayed response. I am not sure why the tool is leaving zombie processes, but I think it has to do with Python's multiprocessing module. We will look into it.
As to the runtime issue, there are two things which will significantly help improve the runtime.
First, the number of iterations does not need to be very large. We recommend setting it somewhere between 100-300.
Second, there is a lot of redundancy in your input lineage tracing data. For example, many cells have identical cell-state vectors, and we cannot distinguish the cells based on these vectors. Previously, we had resolved this problem by collapsing cells with identical cell-state vectors, and then reattaching them afterwards, as the optimal solution always places cells with identical cell-state vectors on top of each other (proof is in manuscript). We performed this collapsing with two scripts prune.py and unprune.py, which were run before and after startle.py. However, running two extra scripts is inconvenient. As such, we have updated the script such that this pruning is done automatically. On the example you gave, it reduces the size of the tree from 510 nodes to 152 nodes.
We hope this helps. If you have any further questions, feel free to respond to this issue/open a new issue. Alternatively, you are welcome to send me an email at<EMAIL_ADDRESS>for a more expedient response -- I rarely check Github issues.


[Bug]: audience of granted project not in aud claim

Preflight Checklist

[X] I could not find a solution in the documentation, the existing issues or discussions
[X] I have joined the ZITADEL chat

Environment
ZITADEL Cloud
Version
No response
Database
None
Database Version
No response
Describe the problem caused by this bug
I have two organizations: "org1" and "org2", with one project each: "org1p" and "org2p".
In "org1p" I have an API "org1p_api".
In "org2p" I have a web-type OIDC client "org2p_web" (Auth Token Type: JWT).
Project "org1p" has a grant to "org2", so that "org1p" is listed in org2's "Granted Projects".
In org2 I have a user.
Now, if this user logs in using the OIDC client "org2p_web" with scope "profile email offline_access urn:zitadel:iam:org:project:id:252855702316398078:aud"<PHONE_NUMBER>16398078 being the resource Id of the granted project "org1p"), I see in the instance's Events log the following "Access Token created" entry:
{
  "applicationId": "252856053933356542@org2p",
  "audience": [
    "252856053933356542@org2p",
    "252855756087375358",
    "252855702316398078"
  ],
  "expiration": "2024-02-06T22:00:23.686200332Z",
  "preferredLanguage": "und",
  "scopes": [
    "openid",
    "profile",
    "email",
    "offline_access",
    "urn:zitadel:iam:org:project:id:252855702316398078:aud"
  ],
  "tokenId": "252862212748621310",
  "userAgentId": "252724384060413498"
}

Note the entry "252855702316398078" in the audience array. However the created access token does not show this ID in the aud claim:
{
  "iss": "https://....zitadel.cloud",
  "sub": "252857104220565890",
  "aud": [
    "252856053933356542@org2p",
    "252855756087375358"
  ],
  "exp":<PHONE_NUMBER>,
  "iat":<PHONE_NUMBER>,
  "nbf":<PHONE_NUMBER>,
  "jti": "252862212748621310"
}

See https://zitadel.com/docs/apis/openidoauth/scopes#reserved-scopes:

urn:zitadel:iam:org:project:id:{projectid}:aud urn:zitadel:iam:org:project:id:69234237810729019:aud	By adding this scope, the requested projectid will be added to the audience of the access token

Is there any configuration that I miss to make this work?
To reproduce
See description
Screenshots
No response
Expected behavior
I'd expect the granted project's resource Id to appear in the access token's aud claim.
Operating System
No response
Relevant Configuration
No response
Additional Context
No response

hi @johakoch
Thanks for reporting that bug.
Your use-case should actually work like you describe.
It looks like we do have a bug in the jwt token.
We do have a customer that has the same use case as you do have, but instead of using jwt tokens, they use opaque tokens with calling the userinfo endpoint.
So as a workaround you could also use the userinfo endpoint

Hi @hifabienne

So as a workaround you could also use the userinfo endpoint

The OIDC client implementation I use actually calls the userinfo endpoint with the access token. But why should the user info endpoint give information about which audiences an access token could be used with? Or do you mean that the userinfo response should contain roles from the granted project?

Hey @johakoch
I have an open-source repository which relies on granting a project to other organizations. It seems that the generated JWT does not contain the audience.
I think what @hifabienne meant: as a workaround you can change to "Bearer Tokens" instead of JWT tokens. The target API must make an introspection call to check if the token is valid. And in there, the audience is correctly set.
You don't get the audience on the user info endpoint, but on the introspection endpoint if you check the provided token.
The API I mentioned is: https://github.com/smartive/cas-fee-adv-mumble-api
And the application: https://github.com/smartive/cas-fee-adv-mumble-auth-demo
Regards

Hi @buehler , yes introspection makes more sense. I'll try that.

Yep, in the token introspection response, the aud contains the requested ID. Thanks @hifabienne and @buehler

Yep, in the token introspection response, the aud contains the requested ID. Thanks @hifabienne and @buehler

This works but I can't get the assigned roles of all audiences (Only the roles of the same projects as the OIDC application). Do you?
https://discord.com/channels/927474939156643850/1204446509291143179

@schettn It seems that I do, yes.

This should be fixed in: https://github.com/zitadel/zitadel/pull/7610 for release 2.49 and is back-ported to 2.48.2. I will close this, let me know it there are still any issues.


remove unused function

/home/edsiper/coding/fluent-bit/lib/cmetrics/include/cmetrics/cmt_array.h:34:28: warning: ‘cmt_array_fetch_by_index’ defined but not used [-Wunused-function]
   34 | static struct cmt_variant *cmt_array_fetch_by_index(struct cmt_array *array,
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/edsiper/coding/fluent-bit/lib/cmetrics/include/cmetrics/cmetrics.h:47,
                 from /home/edsiper/coding/fluent-bit/include/fluent-bit/flb_metrics.h:29,
                 from /home/edsiper/coding/fluent-bit/include/fluent-bit/flb_filter.h:30,
                 from /home/edsiper/coding/fluent-bit/include/fluent-bit/flb_input.h:33,
                 from /home/edsiper/coding/fluent-bit/include/fluent-bit/flb_task.h:25,
                 from /home/edsiper/coding/fluent-bit/include/fluent-bit/flb_scheduler.h:25,
                 from /home/edsiper/coding/fluent-bit/include/fluent-bit/flb_time_utils.h:25,
                 from /home/edsiper/coding/fluent-bit/include/fluent-bit/flb_time.h:24,
                 from /home/edsiper/coding/fluent-bit/include/fluent-bit/stream_processor/flb_sp.h:26,
                 from /home/edsiper/coding/fluent-bit/src/stream_processor/flb_sp_snapshot.c:21:

not longer needed since it's being used now.


shuffle input files

This will shuffle all the inputs files and make sure that each input file is used by training process.
Original code could not guarantee that each input file is used by random selection.

@akademi4eg , I think you are right. Different set of training data could help model accuracy.


Syntax fix for Swift 2.0 / XCode 7

You might want to create a swift2 branch and merge this change for folks who have updated. Thanks and, nice component!

Created new 2.0 branch


grpc_tools_ruby_protoc generated files can't be required

I've thoroughly searched for an answer to my question before asking here. I'm using gRPC tool as such
grpc_tools_ruby_protoc --ruby_out=./ --grpc_out=./ ./Identities.proto

The generation works, but the Ruby file contains something like

require 'grpc'
require 'Identities_pb'

module Rpc
  module Identities
    class Service

      include ::GRPC::GenericService

      self.marshal_class_method = :encode
      self.unmarshal_class_method = :decode
      self.service_name = 'rpc.Identities'

      rpc :GetIdentity, ::Rpc::GetIdentityReq, ::Rpc::GetIdentityResp
    end

    Stub = Service.rpc_stub_class
  end
end

The problem is the require should rather be require_relative in my case as I often require those files from other directories to avoid duplicating protos and the path lookup to the Identities_pb breaks.
I was wondering if there's any option enabling this change or not at all and I should write up a wrapper to change it myself.
Thanks you very much!

Same issue here

Hey guys, is this ongoing?

+1, I'm running into this as well. some way to indicate the path for the generated require statement would be helpful!

+1

To add a generated pb file to the $LOAD_PATH in ruby, use the following code:
pb_dir = File.join(File.expand_path(File.dirname(__FILE__)), 'pb')
$LOAD_PATH.unshift(pb_dir) unless $LOAD_PATH.include?(pb_dir)
require "./pb/helloworld_services_pb.rb"

That is considered bad practice?
https://guides.rubygems.org/patterns/#loading-code


More Verbose Errors

I'd like to receive a full sql script statement when an error is thrown. Is there any option to enable?

Not yet, but planned: #558


chore: release 1.12.0

:robot: I have created a release *beep* *boop*
1.12.0 (2022-08-30)
Features

add top level balance command (#400) (3617746)
calculate and show stamp cost (#402) (9f977b9)
display stamp expiration date (#413) (3f7803f)
improve stamp ttl display and exclude expired stamps (#403) (cc7696d)

Bug Fixes

add spinner to feed print command (#404) (b524d9f)
convert TTL to human readable format (#395) (b040aa9)
do not print empty label (#406) (31df827)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ethersphere/swarm-cli/releases/tag/v1.12.0 :sunflower:


Can't get remote vagrant to work

I'd like to take advantage of the ssh feature of vagrant-libvirt.  However, vagrant is unable to find the remote box. The exact same Vagrantfile works fine on the machine running libvirtd whether or not I'm using connect_via_ssh. However, that Vagrant file doesn't work remotely.
This is the error I'm getting:
==> jsalem: Box 'trusty64' could not be found. Attempting to find and install...
    jsalem: Box Provider: libvirt
    jsalem: Box Version: >= 0
==> jsalem: Adding box 'trusty64' (v0) for provider: libvirt
    jsalem: Downloading: trusty64
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

Couldn't open file /home/jsalem/vagtest/trusty64

And here is the Vagrantfile
# -*- mode: ruby -*-

# Vagrantfile API/syntax version.
VAGRANTFILE_API_VERSION = "2"

# Make libvirt (kvm) the default provider
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'libvirt'

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  # Provider host configuration
  config.vm.provider :libvirt do |libvirt|
    libvirt.storage_pool_name = 'VagrantVMs'
    libvirt.host = 'bos-kvm02'
    libvirt.username = 'jsalem'
    libvirt.connect_via_ssh = true
  end

  # Define the machines controlled by this Vagrantfile
  config.vm.define "jsalem" do |machine|
    machine.vm.box = 'trusty64'
    machine.vm.network :public_network, ip: '<IP_ADDRESS>', dev: 'br0', type: 'bridge'
  end

end

Details:
vagrant 1.7.2
libvirtd is running on Ubuntu 14.04
The error happens when running vagrant remotely on either Ubuntu or MacOSX

require more information
set VAGRANT_LOG=debug
and show vagrant box list

Okay... It looks like I have to have a copy of the box on the remote machine as well as the machine running libvirtd.  I copied the box over to the ~/vagrant.d/boxes directory on the remote machine and it works now.


Code structure and lack of Typings

I'm trying to use asmCrypto in Typescript. I need to use the low-level Hash and HMAC functions (reset, process, finish, result). Existing asmcrypto.js.d.ts does not cover these functions.
I tried to write some typings, but 1) I'm not an expert on that and most importantly, 2) the code structure is really convoluted.
I suggest NOT using classes in Javascript. Also you should use inheritance to implement common behavior, instead of augmenting an existing object with independent functions (hash_reset etc.). Further, there seems to be quite a bit of confusion where HASH_SIZE and BLOCK_SIZE belong (hmac object itself, or its prototype).
It's pretty much impossible to describe the current codebase with *.d.ts files, exactly because Typescript was designed to prevent some techniques used in asmCrypto.
Last note, I noticed that the option heapSize is not passed from sha256_constructor (and others) to _heap_init.
If anyone finds themselves in the same situation, I've attached some simple typings I made. They show errors in Intellisense and some elements are "any" instead of typed objects but at least it compiles without warnings or errors.
simple_asmcrypto_types.zip

Just released the new, TS based AsmCrypto 2.0. Hope that you find the new types more usable. I know there is a lot of room for improvement, any suggestion is welcomed.


♻ Introduce MetaClass

https://laminlabs.slack.com/archives/C04FPE8V01W/p1717529801989369

Closing this: the changes were added here:

https://github.com/laminlabs/lnschema-core/pull/396/commits/a83938785e3b247412c4568b3adee90644c4fa6f

In this PR:

https://github.com/laminlabs/lnschema-core/pull/396


Explicit tests for searching database items

Should include at least:

Case sensitivity
Quoted strings
Queries across tags, title, and URL

Done.


enable overriding default top position for d2l-dialog on mobile

On mobile devices the d2l-dialog has default top offset of 42px.
In some cases the bottom of the dialog is cutoff by device borders.
Suggested: use custom css property to pass top value. ( or use by default top:0px)
See  screenshot and  rally DE42182

Here is screenshot for suggested change:

I'm hoping this is something we can just fix globally without the need for an offset... just seems like a bug with our implementation?

I'm hoping this is something we can just fix globally without the need for an offset... just seems like a bug with our implementation?

I'm hoping this is something we can just fix globally without the need for an offset... just seems like a bug with our implementation?
@dlockhart do you mean that it could be just changed to

  @media (max-width: 615px), (max-height: 420px) and (max-width: 900px) {

				.d2l-dialog-outer {
					height: 100vh !important;
					margin: 0 !important;
					top: 0x;
					width: 100vw !important;
				}
...

I was afraid of some regression.

I'm hoping this is something we can just fix globally without the need for an offset... just seems like a bug with our implementation?
@dlockhart do you mean that it could be just changed to

  @media (max-width: 615px), (max-height: 420px) and (max-width: 900px) {

				.d2l-dialog-outer {
					height: 100vh !important;
					margin: 0 !important;
					top: 0x;
					width: 100vw !important;
				}
...

I was afraid of some regression.

Closing in favour of a more global solution in #1079 -- thanks for the bug report!

Closing in favour of a more global solution in #1079 -- thanks for the bug report!


[Documentation] Developers section

How to get parents
How to get children
Check if the page has a parent
Check if the page has children

Plugins section


forge coverage for libraries is not updating

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (a5efe4f 2024-02-08T00:16:00.244105000Z)
What command(s) is the bug in?
forge coverage
Operating System
macOS (Apple Silicon)
Describe the bug
I am writing unit tests for some libraries and am getting 0% coverage with forge coverage. Feel free to look at this branch as an example! https://github.com/Uniswap/relayer/pull/57

I believe this is a duplicate of https://github.com/foundry-rs/foundry/issues/2567

@0xalpharush
I moved to using the library explicitly and I'm still not seeing updates in forge coverage. See commits here https://github.com/Uniswap/relayer/pull/57

@0xalpharush I'm having a similar issue. I've tried calling my library functions explicitly and still don't see the coverage being updated. Are there other workarounds to this?


Download latest

Detail

Creating download latest feature
Make progress bar when downloading backup
Add confirmation when downloading backup

#37


Put PIP install instructions first

Our conda installation method seems to break easily and is not always easy to debug or fix since we don't have direct control over it, so PIP should be the recommended way to install Tango.

Changes proposed in this pull request:

Switches the order of the install instructions. PIP is listed first now.

That's fine with me but I think Dirk should weigh in since he's a fan of the conda install

[...] is not always easy to debug or fix since we don't have direct control over it, so PIP should be the recommended way to install Tango.

Debugging is only a pull-request to https://github.com/conda-forge/tango-feedstock away. ;-)
Also, I'd claim that I've made every effort to make the collaboration work as smoothly as possible for you (and extended the invitation to join the maintenance of the feedstock), so I do think the "no direct control" is an unfair characterisation TBH.
I will happily defend the point that conda is technically superior to pip, but it's true that there can be delays through the necessary integration work, in particular if I don't get prompt help with stuff like https://github.com/allenai/tango/pull/307, or when you add new dependencies that aren't in conda-forge yet (and don't let me know ahead of time).
In any case, tango builds are now again up-to-date in conda-forge.

@h-vetinari, you've done an excellent job and we really appreciate everything!
And I agree, conda is a better package manager than pip. But having to maintain a separate repo just to get things deployed on conda is not ideal. The other problem is that most of us don't know much about maintaining a conda package, so we always have to defer to you on issues instead of actively fixing things ourselves. I'll try to find some time to learn more about the process so I can be more help.


Setup NextUI & base theme to build upon later on

Description
Added NextUI to the project and also added a base theme.ts file as a skeleton file to replace default theme with our brand colors. Other theme related config that we have to modify in future(yet to be decided).
Also added a preview in src/pages/index.ts of how we can use NextUI component in practice.
Fixes #139
Changes Include

[ ] Bug fix 🐛 (non-breaking change which fixes an issue)
[x] New feature ✨ (non-breaking change which adds functionality)
[ ] Breaking change 😢 (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor ⚒ (code change that neither fixes a bug nor adds a feature)
[ ] Tooling ⚙ (Changes to the build process or auxiliary tools and libraries such as documentation generation)
[ ] Performance ⚡ (code change that improves performance)- [ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

@all-contributors please add @DevanshBajaj for code, design, ideas

@DevanshBajaj see if you can fix the merge conflicts?

@Bhupesh-V let's merge this PR? I had a chat with Devansh & the source code is good enough (feel free to take a look at it). We'll also keep a check on the CI/CD pipeline as we receive more PRs.


Question about the device.

Thank you for your perfect work. I wanna ask could i test the motion generation part on V100 16G device ？  What's more, if the test code supports multi-gpu?
Thank you very much.

Thank you for your perfect work. I wanna ask could i test the motion generation part on V100 16G device ？ What's more, if the test code supports multi-gpu?
Thank you very much.

Yes, you can test using a V100 16G device. The test script doesn't support multiple GPUs.

Thank you for your perfect work. I wanna ask could i test the motion generation part on V100 16G device ？ What's more, if the test code supports multi-gpu?
Thank you very much.

Yes, you can test using a V100 16G device. The test script doesn't support multiple GPUs.

Thanks a lot!


No support for new Barman state "WAITING_FOR_WALS"

Barman 2.5 added a new state "WAITING_FOR_WALS" which should not block a base sync. However, because this new state is not supported, base backups are skipped. My basesync.log is now full of these entries:
Tue Aug 13 23:05:01 UTC 2019 All done.
INFO: Executing task: /var/run/barmans3/queue.d/20190814T040001.run

+-------------------------------------------------------
START: Wed Aug 14 23:05:01 UTC 2019
WHOAMI: barman
BARMAN_BACKUP_DIR: /mnt/eph0/barman
BARMAN_BACKUP_ID: 20190814T040001
BARMAN_ERROR:
BARMAN_PHASE: post
BARMAN_SERVER: db-server
BARMAN_STATUS: WAITING_FOR_WALS

ERROR: Backup skipped!

Task done.

END: Wed Aug 14 23:05:01 UTC 2019
+-------------------------------------------------------

Here are  the contents of the queue file:
sudo cat /var/run/barmans3/queue.d/20190821T040002.run
BARMAN_BACKUP_DIR="/mnt/eph0/barman"
BARMAN_BACKUP_ID="20190821T040002"
BARMAN_ERROR=""
BARMAN_PHASE="post"
BARMAN_SERVER="db-server"
BARMAN_STATUS="WAITING_FOR_WALS"

Could you please show also cat /var/run/barmans3/queue.d/20190814T040001.run output?

@mainframe Done. Thanks.

Would a simple modification to barmans3-base-sync:52 be enough to allow the base backup without any problems or there is more to it?

@flavioarieta should be enough.


[Docs] Specific Impact Pack alternatives?

As ReadMe states,

I recommend using Impact Pack

If so, it would be nice to have a link for each of the Masquerade's nodes to the corresponding node in Impact Pack, since the latter one contains A HUUUGE list of nodes.
Specifically, I tried to find a replacement for Masquerade's Cut By Mask utilized in one of the workflows I found, but even after reading Impact Pack's ReadMe quite thoroughly, I didn't succeed.

UPD: I've tried feeding Impact Pack's ReadMe to ChatGPT, along with all the tutorials' *.md files - and even ChatGPT wasn't able to find the exact replacement for Cut By Mask in Impact Pack. Am I missing something or is it the case that there's just no such node there?

I second this. For me these nodes are essentials in my workflow. I'd like to know the parallelism with the Impact pack.


reject new external messages while closing and flushing

@vekterli please review

After looking at the code in question more closely it seems it's a bit more Complicated™ to do this. Returning false from the message handler (indicating message was not handled) dispatches the message further down the component chain, but there is nothing there to accept the message, so we'd get an unhandled message warning. We might want to reconsider the design for component flushing/closing to ensure we have sufficient barriers in place further up the chain (closer to the RPC/mbus source) that no messages can arrive at the distributor during the flush/close step.
Closing this PR for further pondering... 🦄


remove platform specific build and update modules.txt

Signed-off-by: Mohamed Mahmoud<EMAIL_ADDRESS>

/lgtm


Implement RegExp lookbehind assertions

https://github.com/tc39/proposal-regexp-lookbehind

@curtisman is there any ETA for this?

Redirecting to @LouisLaf


How to use caching of maven  artifacts in Release pipeline

We can now use it in Pipelines but i don't know how to make use of in in e.g maveb buold inside a release pipeline

@cforce -- Fabian, thanks for your feedback; we appreciate it. To make sure we have all the information needed to triage your issue, please let us know which topic you’re referencing, or provide more context around the general task.

I was talking about the task, how to use Caching of Maven artifacts in a release pipeline Maven process
-  task: CacheBeta@0     name: MavenCache     inputs:       key: v1 | m2       path: /home/vsts/.m2

@cforce -- thank you for replying.  Is this in regards to a particular documentation article, or a general question?
Here are a couple of options where you might consider asking your question:

Azure DevOps on Stack Overflow

Azure DevOps Support Bot

So there is no documentation but i need to ask on stackoverflow and hope someone  might know. That in in fact no satisfying experience :/


[libraw] Update to version 202110

Update libraw to most recently released snapshot.

What does your PR fix?

Closes #16267

Which triplets are supported/not supported? Have you updated the CI baseline?

No changes

Does your PR follow the maintainer guide?

Yes

@jedfrechette , Thanks for your pr, Is this PR being worked on?

Is this PR being worked on?

I'm new to vcpkg packaging so pardon my lack of knowledge. The specific changes to the libraw package have been tested and are working for me, but the CI checks are failing because various other packages that depend on libraw need to be updated to work with the newer version. What's the process for dealing with that? Do those updates need to happen in this PR? Should individual bugs be opened mentioning this PR?
Thanks,

Ok, it'll likely be awhile before I have a chance to try and look at those other packages.
Hopefully, the changes to them won't be too significant though. The local updates I have done on other packages to support the new libraw mostly just involved removing the workarounds they had for dealing with the very old version of libraw that is currently packaged.

@jedfrechette, Is there any progress this pr?

@jedfrechette, I temporarily close this pr, if you have time to come back to deal with it please reopen


Could not get dotnet-counters works in docker alpine container via direct download

I downloaded dotnet-counters from the link https://aka.ms/dotnet-counters/linux-x64 via wget https://aka.ms/dotnet-counters/linux-x64 && mv linux-x64 dotnet-counters && chmod +x dotnet-counters.
When I try to run dotnet-counters, I got an error as follows:
sh: ./dotnet-counters: not found

Steps:

download dotnet-counters wget https://aka.ms/dotnet-counters/linux-x64 && mv linux-x64 dotnet-counters && chmod +x dotnet-counters
exec ./dotnet-counters ps

Environment:
docker image: mcr.microsoft.com/dotnet/core/aspnet:3.1-alpine

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

ID: a4dadb56-569e-b390-b118-57c3b0225c13
Version Independent ID: 50cf6a7e-e95e-a29b-67fd-26747f4440c1
Content: dotnet-counters diagnostic tool - .NET CLI
Content Source: docs/core/diagnostics/dotnet-counters.md
Product: dotnet-fundamentals
GitHub Login: @tommcdon
Microsoft Alias: tommcdon

Works with bash on my Windows, this may not related to dotnet-counters


Plain background for examples?

If we look at this image

my feeling is that the example grabs too much attention.
The lemma (or theorem, or corollary, etc.) needs to take most of the attention, so that readers can skim through and see the main results quickly.
Examples are just to supplement.
I suggest we make the example a bit less attention-seeking by giving it a plain (no color) background.
(The side bar is good though, because it shows the extent of the example.)

Great suggestion @jstac! Is this what you have in mind?

Perfect.  Thanks @najuzilu :-)

@najuzilu your css skills are coming to the fore :-)


launcher_bat Obfuscate Error

Empire Version
2.3
In the most current version
OS Information (Linux flavor, Python version)
Kali 4.12.0 Python 2.7.14
Obfuscate does not work when I do it.

hmmmmmmmmmmmmm. Is PowerShell installed?????????????????????

If not, how do I get an agent connection.Obfuscate module is not working.Do you work without problems Empire?


Add new example: Build a search engine quickly using Qdrant

This pull request adds a new example demonstrating the integration of Qdrant Search Engine into various applications. The example provides a step-by-step guide for building a search engine very quickly using Qdrant. It will help out the developers that are new to qdrant and are looking to get started quickly. It uses Quora Question Pair dataset to quickly build a search engine. A detailed guide to the code in a medium article is also linked in the code. There is no existing example in the repository that is using qdrant this straight-forward so it makes sense to add an example that shows simplest and easiest way to create a practical search engine. Here are the links to the work that has been done in this example
Medium Article: https://medium.com/@raoarmaghanshakir040/build-a-search-engine-in-5-minutes-using-qdrant-f43df4fbe8d1
Kaggle Code: https://www.kaggle.com/code/sacrum/quora-search-engine-using-qdrant

Understood, I'll make the changes

Is the notebook and Python script logically identical? If yes, we should only retain one of those.

Yes, I'll remove the Python script

Request your review @davidmyriel since I'm not sure if there are specific guidelines or requirements for adding an example. I've checked the notebook, README, code organisation for hygiene and skimmed enough of the notebook to believe that it's correct.

Hi @davidmyriel, can you please review this PR?