Stuck

It's just stuck, not performing any operation.

Unfortunately I don't have access to a Windows system, so I cannot try to reproduce, but it seems an issue accessing git from within the program since preview does work.

Is git installed and is it on your path?
Does the program consume resources while being stuck?
Does it work when you build the binary yourself?

Install Go
Clone or download project
In Contribution project dir, run go run . push -img img/mod_neko.png -project swingcake/art -w 23

Hi, thanks for the quick response!

Is git installed and is it on your path? What does ssh -vT<EMAIL_ADDRESS>give you?

Yes, it is. And it is in my PATH. Also, SSH is correctly set up and the same can be tested as below.
$ ssh -T<EMAIL_ADDRESS>Hi swingcake! You've successfully authenticated, but GitHub does not provide shell access.

Does the program consume resources while being stuck?

I don't think so. Unfortunately, I do not know of any ways of testing it rather than having a view of the task manager.
Is there any way to debug the program?

Does it work when you build the binary yourself?

It did not. The behaviour is the same as when using the binary provided.
$ go run . preview -img image/source/mod_neko.png
go: downloading github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
go: downloading github.com/esimov/colorquant v1.0.0

               ██                ██
            ██ ░░ ██          ██ ▓▓ ██
            ██ ░░ ░░ ██ ██ ██ ▒▒ ▓▓ ██
▒▒       ██ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ▒▒ ▓▓ ██       ▒▒
   ▒▒    ██ ░░ ░░ ██ ░░ ░░ ░░ ██ ░░ ▓▓ ██    ▒▒
      ▒▒ ██ ░░ ░░ ░░ ░░ ██ ░░ ░░ ░░ ▓▓ ██ ▒▒
   ▒▒    ██ ░░ ░░ ░░ ██ ░░ ██ ░░ ░░ ▓▓ ██    ▒▒

$ go run . push -img image/source/mod_neko.png -project swingcake/art -w 23

@swingcake Sorry for the very late reply. I may have fixed the issue (https://github.com/golang/go/issues/21318) in https://github.com/blaise-io/contribution/releases/tag/1.0.1 but I cannot test on Windows. Can you confirm?

@swingcake Sorry for the very late reply. I may have fixed the issue (https://github.com/golang/go/issues/21318) in https://github.com/blaise-io/contribution/releases/tag/1.0.1 but I cannot test on Windows. Can you confirm?

Oh wow, I wasn't expecting a response but this is a sweet surprise. I went ahead and did what I had to do on my Linux machine last time. Also, thanks for b46650b5b6bc905812e1951528ca4ae15386060c which I noticed but was too lazy to report.
However, it's a new year and that means a new art on my contribution graph haha. I'll try to test it soon on Windows!

Oh wow, I wasn't expecting a response but this is a sweet surprise. I went ahead and did what I had to do on my Linux machine last time. Also, thanks for b46650b5b6bc905812e1951528ca4ae15386060c which I noticed but was too lazy to report.
However, it's a new year and that means a new art on my contribution graph haha. I'll try to test it soon on Windows!

@blaise-io uh yeah, so about that...
It still doesn't work on Windows :(

@swingcake thanks for letting me know. Still the same error? In the meantime I will figure out some way to debug Windows.

Fixed in https://github.com/blaise-io/contribution/releases/tag/1.0.2

I can confirm that it is now working on Windows, however I can only get it to work through git bash and not cmd. Not an issue.
The off-by-one error is still there though.


dissocate and release eip optimized

这个 PR 实现什么功能/修复什么问题:
优化解绑并释放腾讯云EIP
是否需要 backport 到之前的 release 分支:

release/2.10.0
release/2.9.0
release/2.8.0

/cc @swordqiu @yousong

Codecov Report

Merging #1305 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #1305      +/-   ##
=========================================
- Coverage    7.85%   7.85%   -0.01%
=========================================
  Files         372     372
  Lines       58357   58357
=========================================
- Hits         4586    4583       -3
- Misses      53373   53375       +2
- Partials      398     399       +1

Flag
Coverage Δ

#aFlag
7.85% <ø> (-0.01%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/util/rbacutils/rbac.go
73.83% <0%> (-0.94%)
:arrow_down:

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 c1b5f1f...90af629. Read the comment docs.

/approve
/lgtm


Multiple DS18B20 sensors with Intel Edison

I'm using

Intel Edison with latest firmware,
Intel XDK for a Node.js project on the board
upm module "jsupm_ds18b20" to communicate with the sensors
mraa v1.5.1 and upm v1.0.1

Above setup works fine for a single sensor. But once I add a second sensor, it detects both, but is unable to read temperature from either sensor. i.e, the "ds18b20.devicesFound()" method returns "2", and I can read the ID's using "ds18b20.getId(0)" and "ds18b20.getId(1)". However, trying to update temperature readings using "ds18b20.update()" results in the following errors:
ERROR: readSingleTemp: crc check failed for device 0, returning previously measured temperature
ERROR: readSingleTemp: crc check failed for device 1, returning previously measured temperature

Connections are as detailed in : http://iotdk.intel.com/docs/master/upm/node/classes/ds18b20.html . "Data" pin of second sensor is connected directly to the data pin of the first. We're using only a single 1n4148 diode on the Tx line, which is common to both sensors, if that matters (though we tried it with separate circuits for each individual sensor too).

What am I missing here?

Perhaps @jontrulson can chime in on this, I never checked more than one sensor with this and the driver was recently changed to support additional features/devices.

Hi,
I have tried this sensor with a ds18b20 and a  ds2413 addressable switch, so I know in theory it can handle multiple devices.  The link you sent is unintelligible WRT the schematic, so here is one @Propanu  created:

Also, in my circuit I used a 4.7K ohm pull-up on each sensor.  I am also assuming that you are powering each sensor individually - ie: not using parasitic power.
One thing you could try is to see if you can update each sensor individually, such as:
ds18b20.update(0)
ds18b20.update(1)
It would be nice to know how wrong the CRC is, too bad I didn't add that code originally.  Otherwise, further investigation will be needed.

yeah, that circuit is what we're using.
Individual sensor updates return the same error. The attached screenshot shows the exact console output. Those device ID's look a little weird too. Is it supposed to be like that?
If ds2413 is an addressable switch, wouldn't it use a different module/library? I mean something like "jsupm_ds2413", with a separate constructor and object and all that? Or doesn't that matter? I don't know, I'm just thinking aloud here...
What other investigations should I try? How do I check how wrong the CRC is, if that would help?

Those device ID's look a little weird too. Is it supposed to be like that?

The Id's are 64bit binary values, it looks like they are (attempting) to be printed as utf-8

If ds2413 is an addressable switch, wouldn't it use a different module/library? I mean something like "jsupm_ds2413", with a separate constructor and object and all that?

Yes it would - my point was that there should be no intrinsic problem in having multiple devices attached to the bus.  They should not interfere with each other.  To see what the CRC's are would require you to build the driver from scratch, adding some debugging information (like printing out the CRC's), or maybe bypassing the CRC check altogether (if the temperature data is still correct otherwise).
If you have the C and C++ version of the ds18b20 examples present, or built, you might try those as well to see if you see the same issue.
Another odd thing, looking at the code:  In the contructor (DS18B20::DS18B20()), after the driver identifies how many devices are present, it specifically queries all of them to determine their temperature resolutions.  However, it does not check the CRC since we don't read the entire scratchpad into memory for this check.
It's very odd that this succeeds when a single device is present, but fails when 2 are present.  That should only happen if they are interfering with each other in some way.

I am having this same problem- works fine with 1 sensor but crc check fails for 2 sensors.
I also noticed behavior that seems wrong by physically unplugging the sensors. Using python:
print(mysensobj.getTemperature(0), mysensobj.getTemperature(1))
returns the following results:
readSingleTemp: crc check failed for device 0, returning previously measured temperature
0.0 0.0 #both sensors connected
21.0 0.0 #first sensor connected
21.0 0.0 #second sensor connected

The fact that its calling readSingleTemp suggests that maybe I should be using a different function to call multiple sensors?
Or maybe the fact that its reporting as sensor 0 either way suggests that its not correctly getting the ID input?

Hi, I've investigated this problem and could reproduce it easily.  I have submitted PR #631 to MRAA that should fix this problem.  In short, a logic error was causing commands to be broadcast to all devices on the bus, rather than the specific device targeted by it's ROM ID.
I've tested with 2 DS18B20's and they are working well now.  Thanks for reporting!

Still having some issues with this if i let it run for a bit, even with a single sensor.  But not sure what to try debugging next. (Circuit as above, edison arduino breakout, reading every 5s, mraa/upm from java)
Seems to run fine for a few minutes, then an increasing number of errors.
ds18b20_init: mraa_uart_ow_rom_search() failed, no devices detected
and
readSingleTemp: crc check failed for device 0.  Got ff, expected c9. Returning
previously measured temperature

eventually stops reading altogether after a couple hours.
swapped out the hardware and tried the sensor on a Uno to see if it is faulty but works fine.
and thoughts would be appreciated.


Core: Have JsonPath filter operators

Built-ins, such as:

match(regex)
contains("substring")
in(Seq)
notIn(Seq)
isEmpty
nonEmpty

Won't likely do ourselves, but contributions welcome.
Closing for now as it's been there for 4 years and we haven't seen a contribution yet.
Users might be interested in using JMesPath instead of JsonPath.


[BUG] - Dropdown Menu scroll is actually the page scroll when it has too many items

NextUI Version
2.4.1
Describe the bug
We have a dropdown that has around 80 items, but when we click the dropdown the items go all around the page.
Is there a way to make the dropdown menu  smaller? I already try it with css but I was unsuccessful.
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
This is the code for the dropdown
use client';
import {
Button,
DropdownItem,
DropdownTrigger,
Dropdown,
DropdownMenu,
} from '@nextui-org/react';
import "../../app/globals.css";
interface IDataItem {
id: number;
name: string;
}
interface IProps {
type: string,
data: IDataItem[]
}
export default function DropdownMenuC({ type, data }: IProps) {
return (

{type}

{(item) => (

{item.name}

)}

);
}
Expected behavior
to show an small the dropdown menu and that the dropdown menu scroll is not the page itself scroll.
Screenshots or Videos

Operating System Version
Linux
Browser
Chrome

Can i work on this issue?
Question
What is the max height should i set to the Menu?

the dropdown has a max-height: 50vh, but it does not matter the height I assigned to the dropdown, it will still go all way down the page.

@vmorales-2920 as a quick fix you can use:
<DropdownMenu className="max-h-[50vh] overflow-y-auto">...</DropdownMenu>

Hi, is all good now. Thanks for your feedback. Have a great day!

Having the same issue where trying to scroll the dropdown content scroll scrolls the page content. How did you resolve?

Hi, instead of using the dropdown component I use the select component and it worked!

It is still present and not yet resolved, even giving the overflow and max height the scroll of the dropdown body not based on its internal content.
multiple items are not able to scroll as the scroll is not calculating the internal content height.

The  element is showing as first item in view, but there are lots of LI on top of it which is hiding behind.

Requesting you team please help fix this common issue first, as it is primary use component.

For quick solution it the class should be manually used inside ul element
<Dropdown
classNames={{
base: 'before:bg-gray-100 shadow-none', // change arrow background
content:
'rounded-md rounded-top-0 shadow-none bg-gray-100 min-w-[200px] absolute right-[-50px] top-[-16px] [&>div>ul]:overflow-x-hidden [&>div>ul]:overflow-y-auto [&>div>ul]:max-h-[250px]',
}}
>

<Button
variant="light"
className="capitalize"
radius="full"
size="sm"
title="Change Language"
autoFocus={false}
startContent={
<Image
alt="Country"
height={18}
width={'auto'}
src={selectedObject?.flag}
className={iconClasses}
/>
}
endContent={

arrow_drop_down

}
>
{selectedObject?.name?.toUpperCase()}

<DropdownMenu
aria-label="currency-and-country"
variant="flat"
disallowEmptySelection
selectionMode="single"
selectedKeys={selectedKeys as any}
onSelectionChange={setNewCurrency}
>
{countries?.map((item, index) => {
return (
<DropdownItem
className={text-sm ${index == 0 ? 'mr-20' : ''}}
title={item.name}
description={

Currency: ${item?.iso2?.toUpperCase() ?? ''}

}
startContent={
<Image
alt="Country"
height={24}
// width={24}
src={item.flag}
className={iconClasses}
/>
}
key={item?.iso2?.toUpperCase()}
/>
);
})}

Hi, what I did was replacing the dropdown component with the select component and it worked for me


Update plasmo API to latest

In the latest version of Plasmo, by default CSUI will mount your component to document.documentElement and the getMountPoint API was removed (and replaced with an "anchor" concept instead). I think since it's mounting to the body of the page, the getMountPoint is not needed anymore here.
Just drafting this PR, will test this out a bit more (the new default CSS for overlay might tamper with the old behavior :d...) Awesome work btw :) - I'm revisiting Mantine + plasmo (for ref: https://discord.com/channels/946290204443025438/1059379372282368010 ), and this repo is a great study!
Drafted a PR for the docs here as well, linking for ref: https://github.com/mantinedev/mantine/pull/3268

Thanks for the update! As you can see this project became quite a forgotten one 😄 Anyway I enjoyed working with Plasmo (probably without it I wouldn't even start this project lol)
Feel free to test, I will merge PR as soon as it will be ready 👌

@EmilMalanczak done - I also added a couple fix here and there for the forwardRef and dragging issue I was observing. Overall, works great!


Investigate why tests aren't failing on MSVC

Multiplication between 64-bit numbers should overflow and/or cause compiler errors on platforms with no 128-bit integers and MSVC++ doesn't have 128-bit integers. But tests pass. Make sure tests are robust enough.

no idea which tests


Smarter DateTime Axis Formatter?

What did you do?
Code below
What did you expect to happen?
smarter datetime values on x-axis
What happened instead?
all empty labels

Problem
I'm trying to override the AxisValueFormatter class with a datetime formatter. To show date strings on the x axis labels. There are many examples of this online, but it essentially boils down to: take x-index and push it through a DateFormatter that is customised to your desired format.
Running into this issue now where there's a lot of redundancy in the labels... For example why does the chart have to have the following labels:
 "06/02 10:00:00 AM", "06/02 10:00:30 AM", "06/02 10:01:00 AM", "06/02 10:01:30 AM"
The date is redundant past the first entry if it is the same. So is the hour and minute and second if you ask me....
So I tried to be smart and store the last seen date and only write the date string if it's different... i call it date_str, same with the time, i call that hr_str.
But for some reason i'm getting empty labels when using the code below, it always assumes it's seen the date+hr before.
Any suggestions on how to fix this?
Code
/// This formatter is used for passing an array of x-axis labels, on whole x steps.
class DateTimeFormatter: NSObject, AxisValueFormatter {

    var last_date = ""
    var last_hr = ""

    func stringForValue(_ value: Double, axis: AxisBase?) -> String {

        if value == 0 {

            return "Now"
        }

        let dateFormatter = DateFormatter()
        dateFormatter.setLocalizedDateFormatFromTemplate("dd/MM")
        dateFormatter.locale = .current
        let dt_str = dateFormatter.string(from:  Date(timeIntervalSince1970: value))
        last_date = dt_str

        let hrFormatter = DateFormatter()
        hrFormatter.setLocalizedDateFormatFromTemplate("hh:mm:ss")
        hrFormatter.locale = .current
        let hr_str = hrFormatter.string(from:  Date(timeIntervalSince1970: value))
        last_hr = hr_str

        return "\((last_date == dt_str) ? "" : dt_str) \((last_hr == hr_str) ? "" : hr_str)"
    }
}

You're assigning last_date and last_hr before you're checking, so by the time you get to your return statement and check last_date == dt_str you've already overwritten it with the new value.
order the operations like this:
let output = "\((last_date == dt_str) ? "" : dt_str) \((last_hr == hr_str) ? "" : hr_str)"

last_date = dt_str

last_hr = hr_str

return output

and get rid of the other assignments to last_date and last_hr


Improve upload performance for large numbers of files

Is this now ready for review?

We can discuss what actually should be done, tomorrow....


Workaround to the Permission denied (publickey,password) problem

Hello,
I've read the issues #6 #23 but I still have the same problem doing it the official way.
If I use sudo I get this message, if I don't use it then I get an error for not having writting permissions in some folders.
I discovered that there are different parameters to define the folders where to write those files, so the command I'm using now is this one:
$ certbot certonly --domains VHOST \
--authenticator letsencrypt-gandi:gandi-shs \
    --letsencrypt-gandi:gandi-shs-name SHS-NAME \
    --letsencrypt-gandi:gandi-shs-vhost VHOST \
    --letsencrypt-gandi:gandi-shs-api-key APIKEY \
  --installer letsencrypt-gandi:gandi-shs \
  --logs-dir ./certbot/log --config-dir ./certbot/config --work-dir ./certbot/work

I think it can help other people to know this workaround to the official guide.

Hello ! I did update SHS.py file, and I tried your code @duub  but I get the same results  :
sftp ['sftp', '-o', 'UserKnownHostsFile=/Users/Stan/.ssh/known_hosts',
Connected to sftp.dc2.gpaas.net.

Permission denied (publickey,password).
Connection closed
Cleaning up challenges
Permission denied (publickey,password).
Connection closed
Permission denied (publickey,password).
Connection closed
Couldn't place file in domain: vhosts/wearefrauds.com/htdocs//.well-known/acme-challenge`

Anyone has an idea how to solve this ?
Thanks :)

have you checked all the requirements and limitations?
You must have a "M"-sized (or greater) Simple Hosting instance to enable SSL
You must add the certificate's domain name to your instance's VHOSTS
You need to have SSH Key authentication setup on the Simple Hosting instance
Your SSH Key must be added to your local ssh-agent (use ssh-add /path/to/key to add it)
The RSA key for certificates to be used with Simple Hosting can only be of 2048 bits.

Limitations
Currently, only PHP and Ruby instances will work without modification of your code (in most cases). Simply follow the instructions and the plugin will take care of obtaining and installing the certificates for you.
Python and Node.js instance users must add a special route to their application prior to using the plugin (examples provided below)

Hi,
Are you on Mac? I find that on the latest OS version (10.12/Sierra) I need to re-load my public key from Keychain for ssh to use after each reboot of my machine.
If you type the following to see if your key is available:
ssh-add -L (that's 'L' for list)
If it isn't available, you'll just see 'The agent has no identities'. To load/make available your key, you can type:
ssh-add -K to add your public key from the keychain. I guess the 'K' means keychain?
If you do ssh-add -L again you should see your key returned.
After that, your normal certbot/Gandi scripts should work (assuming you meet the requirements/limitations that @duub mentioned.
Hope that helps.
Paul

Thanks to you two !
I noticed the server size I have is "S"...
It might be the cause of all my troubles.

In case it is any help to anyone else, I was trying this on a raspberry pi.  I could sftp in fine as the default pi user, but the script was prompting for the password.  This worked but I needed to enter the password many times.  I added a '-v' command to the sftp processes in the shs.py script and saw that it was using root's SSH keys, not the current user's keys.
The resolution was to generate a SSH keypair as root (not as pi or any other user!  change into root with sudo su then generate a keypair and add to gandi control panel) then it worked fine.

Hi all, thanks guys for you feedback, in my case, I forgot to add my public ssh key to Gandi admin interface


[Distributed] Accessor: Add support for generic distributed actors

Augment accessor to support generic distributed actor declarations
e.g. distributed actor X<T: Codable>.
Sub-task of https://github.com/apple/swift/pull/41747 which is going to add tests.

@swift-ci please smoke test


getting error when Tcl script is executing in vivado 2018.2

Hello aprnath
I am trying to implement Swerv in Zedboard. On executing tcl script i am getting errors which is attached with this.
tcl_console.txt
tcl console snippet:
ERROR: [IP_Flow 19-3461] Value 'usb_uart' is out of the range for parameter 'UARTLITE BOARD INTERFACE(UARTLITE_BOARD_INTERFACE)' for BD Cell 'axi_uartlite_0' . Valid values are - Custom
INFO: [IP_Flow 19-3438] Customization errors found on 'axi_uartlite_0'. Restoring to previous valid configuration.
INFO: [Common 17-17] undo 'set_property'
ERROR: [Common 17-39] 'set_property' failed due to earlier errors.
while executing

"rdi::add_properties -dict {CONFIG.C_BAUDRATE 115200 CONFIG.C_S_AXI_ACLK_FREQ_HZ 40000000 CONFIG.C_S_AXI_ACLK_FREQ_HZ_d 40.0 CONFIG.UARTLITE_BOARD_INTE..."
invoked from within
"set_property -dict [ list  CONFIG.C_BAUDRATE {115200}  CONFIG.C_S_AXI_ACLK_FREQ_HZ {40000000}  CONFIG.C_S_AXI_ACLK_FREQ_HZ_d {40.0}  CONFIG.UARTLITE_B..."
(procedure "cr_bd_axi_intc" line 94)
invoked from within
"cr_bd_axi_intc """
(file "/home/mayank/RISC5/swerv_eh1_fpga-master/hardware/project/script/nexys4ddr_refprj.tcl" line 745)
update_compile_order -fileset sources_1
CONFIG.XBAR_DATA_WIDTH {64} \
] $axi_interconnect_0

# Create instance: axi_uartlite_0, and set properties
set axi_uartlite_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_uartlite:2.0 axi_uartlite_0 ]
set_property -dict [ list \
CONFIG.C_BAUDRATE {115200} \
CONFIG.C_S_AXI_ACLK_FREQ_HZ {40000000} \
CONFIG.C_S_AXI_ACLK_FREQ_HZ_d {40.0} \
CONFIG.UARTLITE_BOARD_INTERFACE {usb_uart} \
] $axi_uartlite_0

# Create instance: blk_mem_gen_0, and set properties
set blk_mem_gen_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:blk_mem_gen:8.4 blk_mem_gen_0 ]
set_property -dict [ list \
CONFIG.Enable_B {Use_ENB_Pin} \
CONFIG.Memory_Type {True_Dual_Port_RAM} \
CONFIG.Port_B_Clock {100} \
CONFIG.Port_B_Enable_Rate {100} \
CONFIG.Port_B_Write_Rate {50} \
CONFIG.Use_RSTB_Pin {true} \
] $blk_mem_gen_0

# Create interface connections
connect_bd_intf_net -intf_net S00_AXI_0_1 [get_bd_intf_ports S00_AXI_0] [get_bd_intf_pins axi_interconnect_0/S00_AXI]
connect_bd_intf_net -intf_net S01_AXI_0_1 [get_bd_intf_ports S01_AXI_0] [get_bd_intf_pins axi_interconnect_0/S01_AXI]
connect_bd_intf_net -intf_net S02_AXI_0_1 [get_bd_intf_ports S02_AXI_0] [get_bd_intf_pins axi_interconnect_0/S02_AXI]
connect_bd_intf_net -intf_net axi_bram_ctrl_0_BRAM_PORTA [get_bd_intf_pins axi_bram_ctrl_0/BRAM_PORTA] [get_bd_intf_pins blk_mem_gen_0/BRAM_PORTA]
connect_bd_intf_net -intf_net axi_bram_ctrl_0_BRAM_PORTB [get_bd_intf_pins axi_bram_ctrl_0/BRAM_PORTB] [get_bd_intf_pins blk_mem_gen_0/BRAM_PORTB]
connect_bd_intf_net -intf_net axi_interconnect_0_M00_AXI [get_bd_intf_pins axi_bram_ctrl_0/S_AXI] [get_bd_intf_pins axi_interconnect_0/M00_AXI]
connect_bd_intf_net -intf_net axi_interconnect_0_M01_AXI [get_bd_intf_pins axi_interconnect_0/M01_AXI] [get_bd_intf_pins axi_uartlite_0/S_AXI]
connect_bd_intf_net -intf_net axi_uartlite_0_UART [get_bd_intf_ports UART_0] [get_bd_intf_pins axi_uartlite_0/UART]

# Create port connections
connect_bd_net -net ACLK_0_1 [get_bd_ports ACLK_0] [get_bd_pins axi_interconnect_0/ACLK]
connect_bd_net -net ARESETN_0_1 [get_bd_ports ARESETN_0] [get_bd_pins axi_interconnect_0/ARESETN]
connect_bd_net -net S00_ACLK_0_1 [get_bd_ports S00_ACLK_0] [get_bd_pins axi_bram_ctrl_0/s_axi_aclk] [get_bd_pins axi_interconnect_0/M00_ACLK] [get_bd_pins axi_interconnect_0/M01_ACLK] [get_bd_pins axi_interconnect_0/S00_ACLK] [get_bd_pins axi_interconnect_0/S01_ACLK] [get_bd_pins axi_interconnect_0/S02_ACLK] [get_bd_pins axi_uartlite_0/s_axi_aclk]
connect_bd_net -net S00_ARESETN_0_1 [get_bd_ports S00_ARESETN_0] [get_bd_pins axi_bram_ctrl_0/s_axi_aresetn] [get_bd_pins axi_interconnect_0/M00_ARESETN] [get_bd_pins axi_interconnect_0/M01_ARESETN] [get_bd_pins axi_interconnect_0/S00_ARESETN] [get_bd_pins axi_interconnect_0/S01_ARESETN] [get_bd_pins axi_interconnect_0/S02_ARESETN] [get_bd_pins axi_uartlite_0/s_axi_aresetn]

# Create address segments
create_bd_addr_seg -range 0x00020000 -offset 0x00000000 [get_bd_addr_spaces S00_AXI_0] [get_bd_addr_segs axi_bram_ctrl_0/S_AXI/Mem0] SEG_axi_bram_ctrl_0_Mem0
create_bd_addr_seg -range 0x00020000 -offset 0x00000000 [get_bd_addr_spaces S01_AXI_0] [get_bd_addr_segs axi_bram_ctrl_0/S_AXI/Mem0] SEG_axi_bram_ctrl_0_Mem0
create_bd_addr_seg -range 0x00020000 -offset 0x00000000 [get_bd_addr_spaces S02_AXI_0] [get_bd_addr_segs axi_bram_ctrl_0/S_AXI/Mem0] SEG_axi_bram_ctrl_0_Mem0
create_bd_addr_seg -range 0x00010000 -offset 0x44A00000 [get_bd_addr_spaces S00_AXI_0] [get_bd_addr_segs axi_uartlite_0/S_AXI/Reg] SEG_axi_uartlite_0_Reg
create_bd_addr_seg -range 0x00010000 -offset 0x44A00000 [get_bd_addr_spaces S01_AXI_0] [get_bd_addr_segs axi_uartlite_0/S_AXI/Reg] SEG_axi_uartlite_0_Reg
create_bd_addr_seg -range 0x00010000 -offset 0x44A00000 [get_bd_addr_spaces S02_AXI_0] [get_bd_addr_segs axi_uartlite_0/S_AXI/Reg] SEG_axi_uartlite_0_Reg

# Restore current instance
current_bd_instance $oldCurInst

save_bd_design
close_bd_design $design_name
}
cr_bd_axi_intc ""
INFO: [BD_TCL-3] Currently there is no design <axi_intc> in project, so creating one...
Wrote  : </home/mayank/nexys4ddr/nexys4ddr.srcs/sources_1/bd/axi_intc/axi_intc.bd>
create_bd_design: Time (s): cpu = 00:00:08 ; elapsed = 00:00:08 . Memory (MB): peak = 6359.234 ; gain = 6.512 ; free physical = 5374 ; free virtual = 218683
INFO: [BD_TCL-6] Checking if the following IPs exist in the project's IP catalog:
xilinx.com:ip:axi_bram_ctrl:4.0 xilinx.com:ip:axi_uartlite:2.0 xilinx.com:ip:blk_mem_gen:8.4  .
INFO: [xilinx.com:ip:axi_bram_ctrl:4.0-2] axi_intc_axi_bram_ctrl_0_0: In IP Integrator, please note that memory depth value gets calculated based on the Data Width of the IP and Address range selected in the Address Editor.Incase a validation error occured on the range of this parameter, please check if the selected Data width and the Address Range are valid. For valid Data width and memory depth values, please refer to the AXI BRAM Controller Product Guide.
INFO: [xilinx.com:ip:axi_bram_ctrl:4.0-1] axi_intc_axi_bram_ctrl_0_0: In IP Integrator, The Maximum address range supported is 2G. Selecting the address range more than 2G in the address editor may resets the value of Memory depth to default value (1024). please refer to the AXI BRAM Controller Product Guide.
ERROR: [IP_Flow 19-3461] Value 'usb_uart' is out of the range for parameter 'UARTLITE BOARD INTERFACE(UARTLITE_BOARD_INTERFACE)' for BD Cell 'axi_uartlite_0' . Valid values are - Custom
INFO: [IP_Flow 19-3438] Customization errors found on 'axi_uartlite_0'. Restoring to previous valid configuration.
INFO: [Common 17-17] undo 'set_property'
ERROR: [Common 17-39] 'set_property' failed due to earlier errors.
while executing

"rdi::add_properties -dict {CONFIG.C_BAUDRATE 115200 CONFIG.C_S_AXI_ACLK_FREQ_HZ 40000000 CONFIG.C_S_AXI_ACLK_FREQ_HZ_d 40.0 CONFIG.UARTLITE_BOARD_INTE..."
invoked from within
"set_property -dict [ list  CONFIG.C_BAUDRATE {115200}  CONFIG.C_S_AXI_ACLK_FREQ_HZ {40000000}  CONFIG.C_S_AXI_ACLK_FREQ_HZ_d {40.0}  CONFIG.UARTLITE_B..."
(procedure "cr_bd_axi_intc" line 94)
invoked from within
"cr_bd_axi_intc """
(file "/home/mayank/RISC5/swerv_eh1_fpga-master/hardware/project/script/nexys4ddr_refprj.tcl" line 745)
update_compile_order -fileset sources_1
thanks & regards
Mayank

Hi Mayank,
Currently, the script only supports Nexys4 DDR board. You need to adapt the script for Zedboard.
Regards,
Arup


Make usage operator work with billing adapter

This patch ensures the usage operator work in harmony with the
billing adapter by satisfying the following conditions:

the expected namespace is aligned with each other;
the CRD for the product usage matches the agreed upon design;
the cps-config configmap namespace matches the Rancher supportconfig's
expectation;

To facilitate local development testing, this patch also add the helm chart
to deploy the CSP billing adapter.

@guangyee maybe update this to "ready for review" rather than draft?

On the whole, I don't have opinions on the naming for you.
You might consider moving the CRD to a CRD chart. This is the pattern used inside Rancher. The catalog has some mechanisms to automate them (with an annotation) if it's used from there.

Thanks for the suggestion. I will try to look for examples in rancher/charts repo to see if we an follow the same convention.


[BiliIntlSeries] ERROR: 'from'

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2<IP_ADDRESS>. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[x] I've read about sharing account credentials and I'm willing to share it if required

Region
Việt Nam
Description
No Description
Verbose log
yt-dlp -vU https://www.bilibili.tv/en/play/35692              [debug] Command-line config: ['-vU', 'https://www.bilibili.tv/en/play/35692']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2<IP_ADDRESS> [c0c2c57d3]
[debug] Lazy loading extractors is disabled
[debug] Python version 3.10.2 (CPython 64bit) - Linux-4.14.180-perf-gad2f9ca-aarch64-with-libc
[debug] exe versions: ffmpeg 5.0 (setts), ffprobe 5.0
[debug] Optional libraries: brotli, Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2<IP_ADDRESS>, Current version: 2<IP_ADDRESS>
yt-dlp is up to date (2<IP_ADDRESS>)
[debug] [BiliIntlSeries] Extracting URL: https://www.bilibili.tv/en/play/35692
[BiliIntlSeries] 35692: Downloading JSON metadata
[download] Downloading playlist: Katekyo Hitman Reborn!
[BiliIntlSeries] 35692: Downloading JSON metadata
[BiliIntlSeries] 361396: Downloading video formats
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[BiliIntlSeries] 361396: Downloading JSON metadata
[BiliIntlSeries] 361396: Downloading subtitles for English
[BiliIntlSeries] 361396: Downloading subtitles for ภาษาไทย
[BiliIntlSeries] 361396: Downloading subtitles for Tiếng Việt
[BiliIntlSeries] 361396: Downloading subtitles for Bahasa Indonesia
[BiliIntlSeries] 361396: Downloading subtitles for 中文（简体）
[BiliIntlSeries] 361397: Downloading video formats
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[BiliIntlSeries] 361397: Downloading JSON metadata
[BiliIntlSeries] 361397: Downloading subtitles for English
ERROR: 'from'
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1387, in wrapper
    return func(self, *args, **kwargs)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1696, in <lambda>
    lambda self, i: ie_entries[i - 1]
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 2793, in __getitem__
    self.__cache.extend(itertools.islice(self.__iterable, n))
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/extractor/bilibili.py", line 944, in _entries
    yield self._extract_ep_info(episode, episode_id)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/extractor/bilibili.py", line 820, in _extract_ep_info
    'subtitles': self._get_subtitles(ep_id),
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/extractor/bilibili.py", line 772, in _get_subtitles
    'data': self.json2srt(sub_data)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/extractor/bilibili.py", line 753, in json2srt
    data = '\n\n'.join(
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/yt_dlp/extractor/bilibili.py", line 754, in <genexpr>
    f'{i + 1}\n{srt_subtitles_timecode(line["from"])} --> {srt_subtitles_timecode(line["to"])}\n{line["content"]}'
KeyError: 'from'

I think this one make the problem:
https://github.com/yt-dlp/yt-dlp/blob/44a6fcff397e98b4aa7e3bb1da7425b3cca05a71/yt_dlp/extractor/bilibili.py#L784-L788
The json didn't always give from key when content exists.
This is the sample of subtitle i get (i've been set print at code):
debug] Command-line config: ['-v', '-s', 'https://www.bilibili.tv/en/play/35692']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.05.18 [b14d52355] (source)
[debug] Lazy loading extractors is disabled
[debug] Plugins: ['SamplePluginIE', 'SamplePluginPP']
[debug] Git HEAD: 11e1a6a25
[debug] Python version 3.10.4 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0.1-full_build-www.gyan.dev (setts), ffprobe 5.0.1-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.14.1, brotli-1.0.9, certifi-2<IP_ADDRESS>, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] [BiliIntlSeries] Extracting URL: https://www.bilibili.tv/en/play/35692
[BiliIntlSeries] 35692: Downloading JSON metadata
[download] Downloading playlist: Katekyo Hitman Reborn!
[BiliIntlSeries] 35692: Downloading JSON metadata
[BiliIntlSeries] 361396: Downloading video formats
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[BiliIntlSeries] 361396: Downloading subtitles list
[BiliIntlSeries] 361396: Downloading subtitles for English
0 {'from': 5.79, 'to': 9.96, 'location': 2, 'content': '<Italy - Island of Sicily>'}
... More subtitle_json ..

And then after hundred of lines
[BiliIntlSeries] 361397: Downloading subtitles for English
0 {'location': 2, 'content': '-'}
1 {'from': 91.47, 'to': 93.2, 'location': 2, 'content': 'Tsunayoshi Sawada.'}

So this should fix?
-          for i, line in enumerate(json['body']) if line.get('content'))
+          for i, line in enumerate(traverse_obj(json, (
+              'body', lambda _, l: l['content'] and l['from'] and l['to']))))

So this should fix?
-          for i, line in enumerate(json['body']) if line.get('content'))
+          for i, line in enumerate(traverse_obj(json, (
+              'body', lambda _, l: l['content'] and l['from'] and l['to']))))

Yes, it works with your patch.
Here's the log (i didn't post full log as it too long) :
(python_proj2) D:\USER\Computer\python_proj\python_proj2\yt-dlp>python -m yt_dlp -v -s "https://www.bilibili.tv/en/play/35692"
[debug] Command-line config: ['-v', '-s', 'https://www.bilibili.tv/en/play/35692']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.05.18 [b14d52355] (source)
[debug] Lazy loading extractors is disabled
[debug] Plugins: ['SamplePluginIE', 'SamplePluginPP']
[debug] Git HEAD: 6ebabad1b
[debug] Python version 3.10.4 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0.1-full_build-www.gyan.dev (setts), ffprobe 5.0.1-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.14.1, brotli-1.0.9, certifi-2<IP_ADDRESS>, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] [BiliIntlSeries] Extracting URL: https://www.bilibili.tv/en/play/35692
[BiliIntlSeries] 35692: Downloading JSON metadata
[download] Downloading playlist: Katekyo Hitman Reborn!
[BiliIntlSeries] 35692: Downloading JSON metadata
[BiliIntlSeries] 361396: Downloading video formats
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[BiliIntlSeries] 361396: Downloading subtitles list
[BiliIntlSeries] 361396: Downloading subtitles for English
[BiliIntlSeries] 361396: Downloading subtitles for ภาษาไทย
[BiliIntlSeries] 361396: Downloading subtitles for Tiếng Việt
[BiliIntlSeries] 361396: Downloading subtitles for Bahasa Indonesia
[BiliIntlSeries] 361396: Downloading subtitles for 中文（简体）
[BiliIntlSeries] 361397: Downloading video formats
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[BiliIntlSeries] 361397: Downloading subtitles list
[BiliIntlSeries] 361397: Downloading subtitles for English
[BiliIntlSeries] 361397: Downloading subtitles for ภาษาไทย
[BiliIntlSeries] 361397: Downloading subtitles for Tiếng Việt
[BiliIntlSeries] 361397: Downloading subtitles for Bahasa Indonesia
[BiliIntlSeries] 361397: Downloading subtitles for 中文（简体）
[BiliIntlSeries] 361398: Downloading video formats
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[BiliIntlSeries] 361398: Downloading subtitles list
[BiliIntlSeries] 361398: Downloading subtitles for English
[BiliIntlSeries] 361398: Downloading subtitles for ภาษาไทย
[BiliIntlSeries] 361398: Downloading subtitles for Tiếng Việt
[BiliIntlSeries] 361398: Downloading subtitles for Bahasa Indonesia
[BiliIntlSeries] 361398: Downloading subtitles for 中文（简体）
[BiliIntlSeries] 361399: Downloading video formats
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[BiliIntlSeries] 361399: Downloading subtitles list
[BiliIntlSeries] 361399: Downloading subtitles for English
[BiliIntlSeries] 361399: Downloading subtitles for ภาษาไทย
[BiliIntlSeries] 361399: Downloading subtitles for Tiếng Việt
[BiliIntlSeries] 361399: Downloading subtitles for Bahasa Indonesia
[BiliIntlSeries] 361399: Downloading subtitles for 中文（简体）
[BiliIntlSeries] 361400: Downloading video formats
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
... and this is still going on


Hn/rerunnable

Add rerunnable flag indicating the run could be rerun.
It's up to user to set the flag. Ideally, this flag should
be used in the check_failure(). The flag is off by default.

Add a function to list all rerunnable runs.

Add rerun(), which reruns runs that rerunnable.

The CI test fails because mypy problems, which is fixed in the user-fail pull request.

Should we remove the result artifact of the old run before rerunning?

At least for now, let's not worry about deleting the old run.


Pandas operator '&' and '|' don't work in if statement

Hi,
I'm using the '&' and '|' logic pandas operator on a dataframe in a if statement, passed in input to a jinja2 template. When I try to compile I got the error "jinja2.exceptions.TemplateSyntaxError: unexpected char '&' at 4985"
I look it up for some fixes or people that solve the problem already but I could not find it.
Expected Behavior
What should happen is escaping the char '&' or '|' and the computation of the logic expression in the if statement
Actual Behavior
What it happened is the given error "jinja2.exceptions.TemplateSyntaxError: unexpected char '&' at 4985"
Template Code
{%if df[(df['country']==row[1]['country'])&(df['Type']=='Consumption')].iloc[0]['Truth'] == 'G' %}
{{row[1]['Consumption']}}
{%else%}
{{row[1]['Consumption']}}
{%endif%}

Full Traceback
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1997, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1985, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1540, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.5/dist-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.5/dist-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/mchenet/Documents/MKoPost/app.py", line 93, in index
    form=form)
  File "/usr/local/lib/python3.5/dist-packages/flask/templating.py", line 133, in render_template
    return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list),
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 869, in get_or_select_template
    return self.get_template(template_name_or_list, parent, globals)
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 830, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 804, in _load_template
    template = self.loader.load(self, name, globals)
  File "/usr/lib/python3/dist-packages/jinja2/loaders.py", line 125, in load
    code = environment.compile(source, name, filename)
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 591, in compile
    self.handle_exception(exc_info, source_hint=source_hint)
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/home/mchenet/Documents/MKoPost/templates/index.html", line 125, in template
    {%if globtruth[(globtruth['country']==row[1]['country'])&(globtruth['Type']=='Consumption')].iloc[0]['Truth'] == 'G' %}
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 497, in _parse
    return Parser(self, source, name, encode_filename(filename)).parse()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 896, in parse
    result = nodes.Template(self.subparse(), lineno=1)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 878, in subparse
    rv = self.parse_statement()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 130, in parse_statement
    return getattr(self, 'parse_' + self.stream.current.value)()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 268, in parse_block
    node.body = self.parse_statements(('name:endblock',), drop_needle=True)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 165, in parse_statements
    result = self.subparse(end_tokens)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 878, in subparse
    rv = self.parse_statement()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 130, in parse_statement
    return getattr(self, 'parse_' + self.stream.current.value)()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 198, in parse_for
    body = self.parse_statements(('name:endfor', 'name:else'))
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 165, in parse_statements
    result = self.subparse(end_tokens)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 878, in subparse
    rv = self.parse_statement()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 130, in parse_statement
    return getattr(self, 'parse_' + self.stream.current.value)()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 212, in parse_if
    'name:endif'))
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 165, in parse_statements
    result = self.subparse(end_tokens)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 878, in subparse
    rv = self.parse_statement()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 130, in parse_statement
    return getattr(self, 'parse_' + self.stream.current.value)()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 210, in parse_if
    node.test = self.parse_tuple(with_condexpr=False)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 615, in parse_tuple
    args.append(parse())
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 607, in <lambda>
    parse = lambda: self.parse_expression(with_condexpr=False)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 428, in parse_expression
    return self.parse_or()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 445, in parse_or
    left = self.parse_and()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 454, in parse_and
    left = self.parse_not()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 465, in parse_not
    return self.parse_compare()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 469, in parse_compare
    expr = self.parse_math1()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 491, in parse_math1
    left = self.parse_concat()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 502, in parse_concat
    args = [self.parse_math2()]
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 512, in parse_math2
    left = self.parse_pow()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 523, in parse_pow
    left = self.parse_unary()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 542, in parse_unary
    node = self.parse_postfix(node)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 667, in parse_postfix
    node = self.parse_subscript(node)
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 708, in parse_subscript
    args.append(self.parse_subscribed())
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 724, in parse_subscribed
    node = self.parse_expression()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 427, in parse_expression
    return self.parse_condexpr()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 432, in parse_condexpr
    expr1 = self.parse_or()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 445, in parse_or
    left = self.parse_and()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 454, in parse_and
    left = self.parse_not()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 465, in parse_not
    return self.parse_compare()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 469, in parse_compare
    expr = self.parse_math1()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 491, in parse_math1
    left = self.parse_concat()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 502, in parse_concat
    args = [self.parse_math2()]
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 512, in parse_math2
    left = self.parse_pow()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 523, in parse_pow
    left = self.parse_unary()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 541, in parse_unary
    node = self.parse_primary()
  File "/usr/lib/python3/dist-packages/jinja2/parser.py", line 572, in parse_primary
    self.stream.expect('rparen')
  File "/usr/lib/python3/dist-packages/jinja2/lexer.py", line 390, in expect
    next(self)
  File "/usr/lib/python3/dist-packages/jinja2/lexer.py", line 361, in __next__
    self.current = next(self._iter)
  File "/usr/lib/python3/dist-packages/jinja2/lexer.py", line 564, in wrap
    for lineno, token, value in stream:
  File "/usr/lib/python3/dist-packages/jinja2/lexer.py", line 737, in tokeniter
    name, filename)
jinja2.exceptions.TemplateSyntaxError: unexpected char '&' at 4985

Your Environment

Python version:3.5.3
Jinja version:2.9.5

The | and & operators are not supported in Jinja and most likele never will be, since | is actually used for filters.
As a workaround, you could expose the operator module to Jinja and then use or_(a, b) and and_(a, b) from that module instead of a | b or a & b.

You don't need bitwise logic here anyway, you just want and and or, which work fine.

Probably pandas does something custom when using the bitwise operators?

Yeah, I need to read better. :-)

Hi thanks for the answers. I'm new on flask. How I can expose those operators to my flask view and then actually use them as operator in a pandas data frame ?

import operator
app.add_template_global(operator.and_)
app.add_template_global(operator.or_)

Hi,
I have been starting to work on a project where we manipulate Numpy and Pandas objects from Jinja.
This is one of the issues we are facing.
(In our context the jinja is going to be made accessible to users that are not programmers and the operators are much simpler to use.)
Thank you @ThiefMaster for your explanation on this and possible workarounds.
Would the Jinja project be opened to allow the general use or the bitwise operators like so: || and && in the place where | and & would be used in python.
(I found it is not possible to write a Jinja extension that can modify the way the tokenizer works)
It would not break existing code like the filter logic and with the proper documentation it would be a minimal adpatation for people willing to use this kind on advanced usage
Thank you


import problems with Deno on Supabase edge functions.

Title: Error with langchain on Supabase in Deno environment
Issue Description:
I recently ran into an issue while working with langchain on Supabase within the Deno environment. It resulted in an error message:
Uncaught SyntaxError: The requested module<EMAIL_ADDRESS>does not provide an export named 'Configuration' at https://cdn.jsdelivr.net/npm/langchain@0.0.122/+esm:7:427

Steps to Reproduce:

Use the Deno environment.
Attempt to use langchain on Supabase.
Observe the "Uncaught SyntaxError" with the mentioned module and export error.

Expected Behavior:
There should be no SyntaxError, and the 'Configuration' export should be available from the specified module.
Environment:

Deno version: [insert Deno version]
langchain version: 0.0.122
Supabase version: [insert Supabase version]

Additional Information:
The error seems to be related to the 'openai' module at version 3.3.0, which is utilized within langchain. Any insights into resolving this issue would be greatly appreciated.

Did you try esm<EMAIL_ADDRESS>

Did you try esm<EMAIL_ADDRESS>
yes, I figured it out.


Inquiry About Dynamic Port Forwarding for Full-Featured SOCKS5 Proxy in ssh3

Hello ssh3 Team,
I hope this message finds you well. I am reaching out to inquire about the current or planned support for dynamic port forwarding in ssh3, similar to the SSH -D command line switch found in traditional SSH clients.
I've noticed that ssh3 supports UDP port forwarding, which is fantastic. Given this capability, it seems that ssh3 could potentially offer a full-featured SOCKS5 proxy with UDP support through dynamic port forwarding. This feature would be extremely beneficial for users who require enhanced security and privacy, as it allows for setting up a SOCKS proxy that can tunnel through the SSH connection.
Could you please provide some information on whether this feature is on the roadmap? If it is not currently in development, would you consider adding it in future releases?
Your insights on this matter would be greatly appreciated. It would help in our decision-making processes regarding the adoption of tools in our workflows.
Thank you for your dedication to developing ssh3. I look forward to hearing from you.
Best regards,
Vadim

Hello,
Actually, SOCKS forwarding was a feature I wanted to implement for the article instead of implementing TCP and UDP port forwarding separately.
In the end I ended up implementing the latter because there was only a client support for SOCKS in the [golang.org/x/net/internal/socks](https://pkg.go.dev/golang.org/x/net/internal/socks- package.
That is a feature that we want to add in the near future. Note that the size of UDP datagrams in quic-go is currently limited to 1200 bytes (cf https://github.com/quic-go/quic-go/issues/3599) and we might want to have that fixed before shipping full SOCKS support.

Seems like the max UDP datagram issue fixed in https://github.com/quic-go/quic-go/pull/4143


Upgrade Twig to 1.13.2 (latest)

Hi Simon,
I have upgraded Twig to 1.13.2 and  change single quotes to double quotes in example/index-data.json file. All test cases were passed.
Please accept my pull request and publish the update to npmjs.com. Thanks!
Regards,
Vien Dinh.

Node 4 fails. We should make Node 6 the min supported version to keep in line with twigjs

I think we should change this gulp-twig version from 1.2.0 to 1.3.0 to make everything safe.
Node@4 is too old for new projects.


Breaking/migrate maven to plugin parameters

This PR combines the work I've done yesterday and today on both the Gradle and Maven plugins. The first half is a duplicate of the other pull request which is only the Gradle plugin. I've done this so you can view the entire proposal in context. I don't mind if you want to accept the smaller PR first (or only), and address the Maven aspect separately. However I think it makes more sense to see the changes as a whole, which really comprises three stages:

Add Gradle plugin
Pull the parameters into the core module without breaking the Gradle plugin
Replace the matching parameters from the Maven plugin with the shared class now available from the Core module.

Also, I didn't like the idea of pre-empting the version bump as that's totally your prerogative as repo owner, but it seemed like the safest way to ensure that I wasn't testing stale caches in the dependent modules. I won't be offended if you want to take a different tack or increment differently.

I did a bit more digging, and the gradle api jar is hosted by Jetbrains, so I replaced the local .env with that, and the build runs now.

Hi, thanks for updating this. I kind of have a full week so probably won’t get a chance to dig in and run it until this weekend. Will leave some comments when I can

No problem, take your time! :-)
On Tue, 1 Oct 2024, 21:15 Ivan Greene, @.***> wrote:

Hi, thanks for updating this. I kind of have a full week so probably won’t
get a chance to dig in and run it until this weekend. Will leave some
comments when I can
—
Reply to this email directly, view it on GitHub
https://github.com/ivangreene/java-to-zod/pull/55#issuecomment-2386983834,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BBL2M6IMBOI42CWBFGRX2VLZZL7FZAVCNFSM6AAAAABPDDMY66VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBWHE4DGOBTGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Isn't single parent class extension a fundamental feature of Java? I.e. a
class cannot extend two different super/parent classes. That was why I
implemented the shared delegate class.
On Tue, 15 Oct 2024, 00:46 Ivan Greene, @.***> wrote:

@.**** requested changes on this pull request.
Thanks for your patience. I had some time to review this over the weekend.
Here are some changes I'd love to see:

Build and package the gradle plugin with Maven
Align the tests of the two plugins to share more example code from a
shared submodule
Convert the configuration class into a class that is extended by
both the Maven and Gradle plugins, so that the config can be at the top
level and we don't have to break the API. This keeps aligned with
typescript-generator

In
java-to-zod-core/src/main/java/sh/ivan/zod/plugins/PluginParameters.java
https://github.com/ivangreene/java-to-zod/pull/55#discussion_r1800221314
:

@@ -0,0 +1,320 @@
+package sh.ivan.zod.plugins;

+import cz.habarta.typescript.generator.;
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.List;
+import lombok.Setter;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.gradle.api.tasks.Input;
+import org.gradle.api.tasks.Optional;
+
@.**
+public class PluginParameters implements Serializable {
We can generate the appropriate getters in this way:
⬇ Suggested change
-public class PluginParameters implements Serializable {
@.(onMethod=@@.}))
+public class PluginParameters implements Serializable {
Not sure of the exact syntax. See Lombok docs:
https://projectlombok.org/features/GetterSetter
In
java-to-zod-core/src/main/java/sh/ivan/zod/plugins/PluginParameters.java
https://github.com/ivangreene/java-to-zod/pull/55#discussion_r1800222421
:

@Parameter

private Logger.Level loggingLevel = Logger.Level.Verbose;

@Parameter(property = "java.to.zod.skip")
private boolean skip = false;

/**

* The presence of any annotation in this list on a JSON property will cause

* the typescript-generator to treat that property as optional when generating

* the corresponding TypeScript interface.

* Example optional annotation: javax.annotation.Nullable.

*/

private List optionalAnnotations = Collections.emptyList();

@Input
@Optional

For Optional Inputs, we can use a variation of Getter on the specific
field declaration:
@Getter(onMethod=@@.***, @Optional}))private String schemaNameSuffix = "Schema";

In java-to-zod-gradle-plugin/build.gradle.kts
https://github.com/ivangreene/java-to-zod/pull/55#discussion_r1800223617
:

@@ -0,0 +1,60 @@
+plugins {

Although this is a Gradle plugin, I would like to see this built with
Maven to keep consistency in the project. It looks like
typescript-generator has accomplished this. I think this is mostly
encapsulated in that sub-module's pom.xml:
https://github.com/vojtechhabarta/typescript-generator/blob/main/typescript-generator-gradle-plugin/pom.xml
As well as this META-INF file:
https://github.com/vojtechhabarta/typescript-generator/blob/main/typescript-generator-gradle-plugin/src/main/resources/META-INF/gradle-plugins/cz.habarta.typescript-generator.properties
In
java-to-zod-core/src/main/java/sh/ivan/zod/plugins/PluginParameters.java
https://github.com/ivangreene/java-to-zod/pull/55#discussion_r1800229302
:

@@ -0,0 +1,320 @@
+package sh.ivan.zod.plugins;

This class should go into its own submodule, java-to-zod-plugin-support
or something like that. It shouldn't be packaged with the core. Same with
the class above
In java-to-zod-gradle-plugin/src/test/resources/build.gradle.kts
https://github.com/ivangreene/java-to-zod/pull/55#discussion_r1800231724
:

+tasks.withType<sh.ivan.zod.GenerateZodSchemas> {

val tempOutputDir = layout.buildDirectory.dir("temp/generated-schemas")
outputFile = tempOutputDir.map { it.file("schemas.ts") }.get().asFile
pluginParameters.jsonLibrary = JsonLibrary.jackson2
pluginParameters.classes = mutableListOf("sh.ivan.zod.resources.TestPersonClass", "sh.ivan.zod.resources.TestPersonRecord")
+}

Is this the typical way to configure a plugin like this in Gradle? I'm
expecting something more like this:
https://github.com/vojtechhabarta/typescript-generator/blob/main/sample-gradle/build.gradle#L44-L65
In
java-to-zod-gradle-plugin/src/test/java/sh/ivan/zod/GenerateZodSchemasTest.java
https://github.com/ivangreene/java-to-zod/pull/55#discussion_r1800232445
:

+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;

+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
+import java.util.Arrays;
+
+import static org.gradle.testkit.runner.TaskOutcome.SUCCESS;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+public class GenerateZodSchemasTest {
I personally think we should delete this test. It looks way too reliant on
internal details of how Gradle plugins work. I'm more interested in
asserting that the can be used from a regular old Gradle project, and
generate a file that meets expectations. This is what we test in the Maven
plugin. Thoughts?
In java-to-zod-core/pom.xml
https://github.com/ivangreene/java-to-zod/pull/55#discussion_r1800234091
:

@@ -4,7 +4,7 @@

sh.ivan
java-to-zod

0.7.0-SNAPSHOT

0.8.0-SNAPSHOT

No need to change the version number. This is all handled automatically
when I do the release
In
java-to-zod-core/src/main/java/sh/ivan/zod/JavaToZodConvertorWrapper.java
https://github.com/ivangreene/java-to-zod/pull/55#discussion_r1800234480
:

@@ -0,0 +1,71 @@
+package sh.ivan.zod;

+import cz.habarta.typescript.generator.*;
+import cz.habarta.typescript.generator.parser.Model;
+import java.io.File;
+import java.io.IOException;
+import java.net.URLClassLoader;
+import java.util.Map;
+import java.util.function.Supplier;
+import sh.ivan.zod.plugins.PluginParameters;
+import sh.ivan.zod.schema.ObjectSchema;
+
+public class JavaToZodConvertorWrapper {
Suggested name: JavaToZodPluginConverter. Thoughts?
In
java-to-zod-core/src/main/java/sh/ivan/zod/plugins/PluginParameters.java
https://github.com/ivangreene/java-to-zod/pull/55#discussion_r1800234942
:

+import cz.habarta.typescript.generator.;
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.List;
+import lombok.Setter;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.gradle.api.tasks.Input;
+import org.gradle.api.tasks.Optional;
+
@.**
+public class PluginParameters implements Serializable {

private static final long serialVersionUID = 1L;

/**

* Prefix added to generated schema names.

Do these comments get added to any kind of Gradle online documentation
system? Would love to retain these somehow. Worst case, we can always link
to the generated Maven configuration docs. Here's what that looks like:
https://java-to-zod.ivan.sh/java-to-zod-maven-plugin/generate-mojo.html
This reminds me, we may want to find a way to publish any generated Gradle
documentation to the site along with the Maven version. Site:
https://java-to-zod.ivan.sh/
In
java-to-zod-gradle-plugin/src/test/java/sh/ivan/zod/resources/TestPersonClass.java
https://github.com/ivangreene/java-to-zod/pull/55#discussion_r1800238633
:

@@ -0,0 +1,89 @@
+package sh.ivan.zod.resources;

+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Size;
+
+import java.util.Date;
+import java.util.Objects;
+
+public final class TestPersonClass {
Let's not add more tests here. I'd like to maintain exact test parity with
the Maven plugin. This can be accomplished in a few steps:

Move the POJOs in java-to-zod-maven-plugin-test
https://github.com/ivangreene/java-to-zod/tree/main/java-to-zod-maven-plugin-test/src/main/java/sh/ivan/pojo
into their own new submodule named java-to-zod-plugin-test-support
Bring that module in as a dependency to both
java-to-zod-maven-plugin-test and to the module where we test the
Gradle plugin
Find a way to share the JS files (symlink a directory that contains
them in both projects maybe?):
https://github.com/ivangreene/java-to-zod/tree/main/java-to-zod-maven-plugin-test/js

not the schemas file though, that will get generated by each plugin

The test of the Gradle plugin should exist as a separate directory.
It will be the only Gradle project in the tree. It will configure the
Gradle plugin, and then run the same JS tests. I'm assuming that's mostly
what this gradle build file does?
https://github.com/ivangreene/java-to-zod/blob/6735d0785a0fb59b5e655b49d21997ebed93d6a4/java-to-zod-gradle-plugin/src/test/resources/build.gradle.kts

In
java-to-zod-core/src/main/java/sh/ivan/zod/plugins/PluginParameters.java
https://github.com/ivangreene/java-to-zod/pull/55#discussion_r1800221761
:

@@ -0,0 +1,320 @@
+package sh.ivan.zod.plugins;

+import cz.habarta.typescript.generator.;
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.List;
+import lombok.Setter;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.gradle.api.tasks.Input;
+import org.gradle.api.tasks.Optional;
+
@.**
+public class PluginParameters implements Serializable {
Do we actually need to implement Serializable too? I would also like to
see this class extended by the Maven Mojo and the Gradle equivalent, so
that the config properties are defined at the top level. I think that may
eliminate the need for Serializable.
I guess to make this happen, we would need to extend both AbstractMojo
and DefaultTask in PluginParameters. I think in that case, it makes more
sense to name this BasePlugin or something.
—
Reply to this email directly, view it on GitHub
https://github.com/ivangreene/java-to-zod/pull/55#pullrequestreview-2367799980,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BBL2M6LOYXXZWFWP2IH4I2TZ3RJXBAVCNFSM6AAAAABPDDMY66VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDGNRXG44TSOJYGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Oh yeah... brain not working lol. Hmm... maybe we can do something else there.
In the end, I'm trying to figure out what is a bigger priority:

Share the configuration params in a single class
Keep the API the same as typescript-generator with config at the top level

Probably number 1. So let's see if there's a way to "unwrap" the config for Maven or Gradle and do both. But ultimately this seems fine if we can't figure that out

I've had a read around, and it looks like it may be possible to
hoist/flatten the internal delegates getters/setters using another custom
annotation(!). That would result in the final class having the same API
surface as the current maven/ Typescript plugins. Need to test this idea
tomorrow though!
On Tue, 15 Oct 2024, 02:25 Ivan Greene, @.***> wrote:

Oh yeah... brain not working lol. Hmm... maybe we can do something else
there.
In the end, I'm trying to figure out what is a bigger priority:

Share the configuration params in a single class
Keep the API the same as typescript-generator with config at the
top level

Probably number 1. So let's see if there's a way to "unwrap" the config
for Maven or Gradle and do both. But ultimately this seems fine if we can't
figure that out
—
Reply to this email directly, view it on GitHub
https://github.com/ivangreene/java-to-zod/pull/55#issuecomment-2412631079,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BBL2M6M3FIK6K6OFUA5YBV3Z3RVHJAVCNFSM6AAAAABPDDMY66VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJSGYZTCMBXHE
.
You are receiving this because you authored the thread.Message ID:
@.***>


Automounting default does not automount

Problem
Automouting the default drive via command in ~/.profile gives  error:

cannot access 'google_drive': Input/output error

Command that fails
I have the following mount lines in ~/.profile:
# automount google drives
mount | grep "${HOME}/politics/politics_google_drive" >/dev/null || /usr/bin/google-drive-ocamlfuse -verbose -label politics "${HOME}/politics/politics_google_drive"&

mount | grep "${HOME}/sociology/sociology_google_drive" >/dev/null || /usr/bin/google-drive-ocamlfuse -verbose -label sociology "${HOME}/sociology/sociology_google_drive"&

mount | grep "${HOME}/google_drive" >/dev/null || /usr/bin/google-drive-ocamlfuse -verbose -label default "${HOME}/google_drive"&

Additional weirdness

The first two mount lines in ~/.profile (politics_google_drive and  sociology_google_drive) work correctly. These are both Team Drives i.e Shared Drives.

Once the system is booted up I can mount the default google_drive by simply doing the following:

fusermount -u ~/google_drive
google-drive-ocamlfuse ~/google_drive

Once the system is booted up and then I unmount all the drives via fusermount -u and then execute source ~/.profile all three drives mount correctly.

Log file
The gdfuse.log for the default google_drive has could-not-resolve-host errors like this:
Error during request: Code: 6, Description: CURLE_COULDNT_RESOLVE_HOST, ErrorBuffer: Could not resolve host: www.googleapis.com

after the unsuccessful automount attempt.
System
I'm using Linux 5.0.0-23-generic and Ubuntu 18.04.1

I'm having the same problem, which I've described here on Reddit.

I'm having this exact same issue, down to the letter. Automount via .profile results in a mounted drive I can't access: The UI gives message "input/output error" when trying to open the mounted drive in File Manager.
Checking the curl and gdfuse logs, the process can't resolve www.googleapis.com. Unlike others that have reported similar issues (), my errors are showing at the outset and not later on after the drive was already successfully mounted.
I noticed that on occasion my laptop has been slow to connect to wi-fi, so I decided to try a hardwire connection and the process worked as expected! It's not practical for me to maintain a hardwire connection on my laptop in all circumstances, so I still need to work towards a solution, but perhaps this insight will help troubleshoot other issues.
Is it possible any of you are having transient DNS or network/internet connectivity issues?
Also, an interesting detail that I haven't figured out, when the mounting failure takes place up start-up, the 'Google-Drive' directory I'm mounting to is no longer visible in File Manager, though I can see it's still there using ~$ ls. Once I unmount the drive with ~$ fusermount -u Google-Drive and refresh the File Manager, the folder is visible again.

+1
Exactly the same behavior. I always have to unmount googledrive manually before I end my session to make the startup script work. Otherwise, I will run into the problem mentioned above that the file manager cannot access my home directory anymore. After unmounting and mounting it manually everything is fine again. Any ideas how to solve that issue? Thx a lot.

I'm having the same issue when I add it to Xubuntu's Session and Startup application with `sh -c "google-drive-ocamlfuse ~/drive"".
Manually running it in Terminal works fine after Xubuntu has started. The odd thing is it was working fine yesterday but now it throws an input and output error in my home directory. Had me scared for a moment.

I was having this exact same problem and was able to fix it this morning.  I'm a relative noob to Linux (been using it only for about two weeks), so hopefully you'll understand my instructions:

Created this script and put it in /home/username/bin (username changed to your profile name).
while true; do if ping -q -c 1 -W 1 <IP_ADDRESS> >/dev/null; then google-drive-ocamlfuse /home/chewie/GoogleDrive break else sleep 1 fi done

Make the script executable either through the CLI or a file manager which allows you to change permissions.

Used AutoStart in Kubuntu and added the script.  I've heard AutoStart is called Startup Applications in other distros.

I've tested this and it is mounting the drive on my system.  For confirmation, please let me know if this works for you.

I was having this exact same problem and was able to fix it this morning.  In sum, I pinged Google to confirm a network connection before mounting the drive.  I'm a relative noob to Linux (been using it only for about two weeks), so hopefully you'll understand my instructions:

Create this script and put it in /home/username/bin (username changed to your profile name).  You'll also need to change the "/home/username/GoogleDrive" in the script below to whatever your mount point is.

#!/bin/bash

while true; do
  # check to see if there is a connection by pinging a Google server
  if ping -q -c 1 -W 1 <IP_ADDRESS> >/dev/null; then
    # if connected, mount the drive and break the loop
    google-drive-ocamlfuse /home/username/GoogleDrive; break;
  else
    # if not connected, wait for one second and then check again
    sleep 1
  fi
done

Make the script executable either through the CLI or a file manager which allows you to change permissions.

Used AutoStart in Kubuntu and added the script.  I've heard AutoStart is called Startup Applications in other distros.

I've tested this and it is mounting the drive on my system.  For confirmation, please let me know if this works for you.

I was having this exact same problem and was able to fix it this morning. In sum, I pinged Google to confirm a network connection before mounting the drive. I'm a relative noob to Linux (been using it only for about two weeks), so hopefully you'll understand my instructions:
1. Create this script and put it in /home/**_username_**/bin (username changed to your profile name).  You'll also need to change the "/home/username/GoogleDrive" in the script below to whatever your mount point is.

#!/bin/bash

while true; do
  # check to see if there is a connection by pinging a Google server
  if ping -q -c 1 -W 1 <IP_ADDRESS> >/dev/null; then
    # if connected, mount the drive and break the loop
    google-drive-ocamlfuse /home/username/GoogleDrive; break;
  else
    # if not connected, wait for one second and then check again
    sleep 1
  fi
done

1. Make the script executable either through the CLI or a file manager which allows you to change permissions.

2. Used AutoStart in Kubuntu and added the script.  I've heard AutoStart is called Startup Applications in other distros.

I've tested this and it is mounting the drive on my system. For confirmation, please let me know if this works for you.

Thanks for the tip. I implemented something similar, but instead using ping www.googleapis.com since that's the address the logs indicated couldn't be resolved and is required for this program to work. This should account for any DNS issues that may prevent resolving the IP, despite an internet connection.
It would be nice (though not essential) if this program could account for this before mounting since it will mount no matter what, it seems. (I LOVE THIS PROGRAM, BY THE WAY!)
Since most of my issues stem from wifi failing to auto-connect when the SSID I'm connecting to hidden, I added a startup service that scans for the hidden SSID once network-online.target is up. Then I have this script running at startup using Startup Applications (Linux Mint 19.3).
Now my wifi is connected immediately at startup 98% of the time and the change you prompted today with your script will ensure that I don't mount GD the remaining 2% of the time until the internet connection is established.
Most of my

In version 0.7.15 there is a fix that should resolve (I hope :wink:) this issue.

@astrada I tried exactly what @gomfy did in the "~/.profile" running version 0.7.18 and it is working. I think the issue is resolved. Great work!


Question: What does --timeout option do?

What exactly does the --timeout option do? The docs just say:
 --timeout            Maximum time to wait, in seconds

It causes Flow to bail if it spends more than the specified number of seconds starting the server. You get output like this when it times out:
dominicc$ flow --timeout 10
Launching Flow server for /Users/dchamb/dev
Spawned flow server (pid=93523)
Logs will go to /private/tmp/flow/zSUserszSdchambzSdev.log
flow is still initializing; this can take some time. [parsing] /
Timeout exceeded, exiting

I see. Thanks for clarifying!


simplenote: 2.2.0 -> 2.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Automattic/simplenote-electron/releases.
meta.description for simplenote is: "The simplest way to keep notes"
meta.homepage for simplenote is: "https://github.com/Automattic/simplenote-electron"
meta.changelog for simplenote is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2.5.0 with grep in /nix/store/1g7jw79n1v2rdprkkd9qdkqrh37pac6z-simplenote-2.5.0

directory tree listing: https://gist.github.com/5db568d42f5d515e39d85490454b87e6

du listing: https://gist.github.com/bcfb64e929bc3497914882c1e296ae9e

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
0 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
simplenote

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1g7jw79n1v2rdprkkd9qdkqrh37pac6z-simplenote-2.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A simplenote https://github.com/r-ryantm/nixpkgs/archive/e4f534b8ab129a205ea120ba530f3cdf63ced890.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1g7jw79n1v2rdprkkd9qdkqrh37pac6z-simplenote-2.5.0
ls -la /nix/store/1g7jw79n1v2rdprkkd9qdkqrh37pac6z-simplenote-2.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

simplenote

Maintainer pings
cc @Kiwi for testing.

Result of nixpkgs-review pr 111843 run on x86_64-linux 1

1 package built:

simplenote


[Bug]: latest main code shows "Missing finish_reason" error

Contact Details
No response
What happened?
conversation works but API shows the error
Steps to Reproduce
upon merge of https://github.com/aitok-ai/LibreChat/pull/154:  8b4b5ccc45401afba1b2fa145ffbc1a26500a1b6
What browsers are you seeing the problem on?
Chrome
Relevant log output
No response
Screenshots

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Same problem reproduced on latest upstream code
This is a problem of the gpt-4-vision-preview model only. GPT-4 works fine


Craft 5 version needs registerTwigExtension instead of addExtension

Hey there,
I noticed that with the Craft 5 version of User Manual there is a lingering issue that occurred in the Craft 4 version also.
In the main plugin file, the twig extension needs to be added in this way:
private function _addTwigExtensions(): void
    {
        Craft::$app->view->registerTwigExtension(new UserManualTwigExtension);
    }

This would resolved a few related issues too:

https://github.com/RobErskine/Craft-User-Manual/issues/32
https://github.com/RobErskine/Craft-User-Manual/pull/33

@RobErskine could you roll in this fix when it's convenient?

hey @mike-moreau thanks for bringing this to my attention. I just dropped a new release (https://github.com/RobErskine/Craft-User-Manual/releases/tag/5.0.2) that has this fix! Let me know if there is anything else I can take a look at.

Thank you!


Provide API's for accessing and modifying options in a Flux script

The packager needs to extract information from Flux script via the options. The current method for doing this is via some regexp and string concatenation see https://github.com/influxdata/influxdb/blob/2d1186a696cbfe7f9c4f9999388604ae16b40723/pkger/clone_resource.go#L905-L924 and https://github.com/influxdata/influxdb/blob/74dd8397d3abcd0bbef3113f18f77ee71ad92030/pkger/models.go#L1875-L1903
The Flux API needs to instead provide an easy consume method for extracting options from a Flux script and modifying the options within a script.
@jsteenb2 Can you clarify how the pkger needs to modify the Flux script? Is it replacing the task name etc? Or is it more complicated than that?
DOD

The above code consumes the new Flux API for interacting with options.

right now I have to use it to pull out existing task options and add them back in on export. Your description feels spot on 👍

It would be great to also be able to pull out variables.  We have use cases in the UI (for templates) where we need to know if a flux script references a variable, and the UI code is doing regex to try to figure it out.

@barbaranelson Thanks for the heads up, Can you or maybe @jsteenb2 provide some more details on that?
Are you saying that the UI is looking for things like  this in a Flux script?

foo = "my stirng"
threshold = 5

data = from(bucket:"telegraf')
    |> range(start: -1d)
    |> filter(fn: (r) => r._measurement == "mem")

And the UI wants to know about foo, threshold and data? What does the UI want to know?
I think we can make this happen just looking for clarity on what is being asked.

OK I had a chat with @jsteenb2 and I have the clarity I needed.
There are two issues at play, this issue about options in tasks and another issue about variables defined via the v option. I have created https://github.com/influxdata/influxdb/issues/17430 for the option v variable API.

Can you clarify how the pkger needs to modify the Flux script? Is it replacing the task name etc?

I can confirm that a method to extract the task options and then to replace then with something else is all that is needed.
This means functions with signatures like this are a good starting point:
func ExtractTaskOption(script string) Options

func ReplaceTaskOptions(script string, opts Options) string

Where the Options type can be mutated as needed. As an aside the value.Object is a good candidate for implementing the Options type as it is a mutable object implementation but with a concrete type. Using a concrete type works in this case because the task option's type is known.

NOTE:
This code will necessarily consume the libflux Rust code to parse and format the code. This means we should not add this new API to a package that does not already have a dependency on libflux.

After some disucssion we have decided that options API should operate purely on the AST of the options. This means the API does not need to interact with the interpreter in anyway. This also means that the utility of putting this API inside of the Rust code is low compared to the cost of passing serialized AST across the boundary. As such we have decided it is best to implement this API directly in the languages that need to consume it, in this case Go and TypeScript.
We expect the implementation to be small and we explicitly support AST as part of the public API for Flux so it seems most natural to implement the logic that each use case needs directly in the host language.
Here is an API proposal that both implementations should follow. I'll create a separate issue for each implementation and refer back to this one.
// GetOption finds and returns the AST node for the option value.
func GetOption(pkg *ast.Package, name string) (ast.Node, error)

// SetOption adds or replaces an existing option definition with the provided option node.
// The pkg AST is mutated in place.
func SetOption(pkg *ast.Package, name string, opt ast.Node) error

// DeleteOption removes an option if it exists. The pkg AST is mutated in place.
func DeleteOption(pkg *ast.Package, name string) error

// SetProperty will add or replace an existing property in an object expression with the provided value.
// The object AST is mutated in place.
func SetProperty(obj *ast.ObjectExpression, key string, value ast.Node) error

// DeleteProperty removes a property if it exists from the object expression. The object AST is mutated in place.
func DeleteProperty(obj *ast.ObjectExpression, key string) error

Example usage to change the name of a task

pkg, _ : = Parse(fluxSource)

taskOption, _ := GetOption(pkg, "task")
SetProperty(taskOption.(*ast.ObjectExpression), "name", ast.StringLiteral{Value:"newname"})

SetOption(pkg, "task", taskOption)

newFluxSource := Format(pkg)

The tasks code would also benefit from some helper methods to convert from basic values and their AST representation. This API would only need to exist on the Go side.
See https://github.com/influxdata/influxdb/issues/18834 for the TypeScript specific issue.

Heads up something similar to this already exists https://github.com/influxdata/flux/blob/master/ast/edit/option_editor.go

Can we also have a GetProperty(obj *ast.OjbectExpression, key) error  function?  Perhaps I'm overthinking how complex the AST could be.

I realize this wasn't fully cross linked. Here's how I'm doing it under a feature flag for a customer right now in production: https://github.com/influxdata/influxdb/blob/14db46c1a028255e611c82cb647c16e9f8c07b18/kv/task.go#L1769-L1800
I'm extracting the options statement and passing that into the evaluation directly. Of course any bound variables won't be covered here.


[Feature] Tooltip of axis title should be along with the mouse position and can  be displayed in new lines.

What problem does this feature solve?
when the axis has a very long title, a tooltip will be shown when you hover on the text. However, if the text is too long, it still can not be fully displayed, and will appear in a fixed position:

We hope the tooltip content can be displayed in new lines so the text can be fully displayed, and the position of the tooltip can follow the mouse:

What does the proposed API look like?
Built-in support, no need to expose in spec

supported in vrender v13.x and vchart 1.2.x

Already supported in 1.3.0 version.


Working with Livewire

Hello,
How can I use this with Livewire?
For example:
                    <textarea
                        id="instructions"
                        name="instructions"
                        wire:model="job.instructions"
                        cols="30" rows="10"
                    >
                    </textarea>

This is a textarea I have in my livewire component and the model is a eloquent Model's attribute (which is possible in livewire v2). But I cannot see to get this to would with alpine editor.
Any advice welcome!

Hey @gclark18,
I need to try it again with wire:model, last time I checked it wasn't working, because of how wire:model works under the hood. But what you could do is use @entangle within an alpine component and use x-model on the alpine-editor.
That way, whenever the alpine state changes, it will trigger livewire to update.
Hope this helps!


SRS Tables of Symbols/Acronyms missing and unnecessary entries

I noticed some symbols and acronyms that were used in the body of the SRS but not defined in the Table of Symbols or Table of Acronyms.
Missing from Table of Symbols

α
β
ci
c (This one and the above one are both used in the text following T1, though they seem to refer to two different things. If this is correct, the symbol c should not be used for both of them)
k (used in GD1 and in the text below T1, each time representing something different. k should only be used for one of these, and the other should be replaced with a new symbol (otherwise it is ambiguous)
ζ
Gn (I believe this is the same as nG, which does appear in the table, so maybe all instances of Gn in the body should be replaced by nG)
Zα
j (used as an index for a conformer along with i. Maybe give i and j each their own entry in the table of symbols? If you do this, the Ei entry should be removed as it is already covered by E and i)
x
y
z
I would argue that the constants which appear in the Table of Units belong instead in the Table of Symbols

Missing from Table of Acronyms

VSEPR
VB
3D

I also found a couple entries that were not necessary in these tables:

Gi is not used anywhere in the body of the SRS as far as I can tell, so it should not appear in the table
Since you refer to your program as "Kaplan", which is neither an acronym or abbreviation (I think), it does not need to appear in the Table of Acronyms

α and β are given in the symbol for spin (σ). They are also explained directly where they are used (and are only used once). If these symbols become more prevalent in my documentation, then I will add them as individual entries.
As for c and ci, I changed c to cN. Again, these constants are not really key to understanding my program; they are used as general simplifications (hiding details). I actually need my supervisor to read this section to make sure my simplifications are correct (and meaningful). I will probably have to overhaul the whole T1 section. I'm not sure what the units will be yet (I will have to figure this out).
I have removed the k from T1; it isn't a necessary variable. I have added an entry to the table specifying i, j, and k as indexing variables. I don't think it matters for what, as I specify the indexing in the text where they are used.
x,y,z are similarly vague - they are used as coordinates for atoms and electrons. I changed it to upper case for electrons and lower case for atoms (since I will be using atoms more pretty much exclusively). I won't be manipulating the electronic coordinates since I won't be handling basis sets directly (handled by external program).
I'm keeping Gi for now. I may want to use it in my other documentation.
I made a new table for numerical constants since they didn't seem to fit in either of the other tables.
Fixed in commit 8dc7d0ff27d7add57d1e729808d1a3500c0022d7


priyanshu added

The Pull Request resolves Issue #[Issue-Number]
Description:
A brief description about the addition or edits made.
Notes: Delete all the text including this!

The #[Issue-Number] should be replaced with the specific Issue being referenced.

@Priyanshu2802 follow the template


Feature: Dynamically update the values when the values are updated elsewhere in the application

In my application there is a certain feature called "Trees" which can be created in another part of the applications. Certain operation like delete is also possible for this particular feature.
I am trying to append the "Trees" that are created in the other part of the application onto the Lexical editor by creating my own custom Lexical component. I have a backend API that is fetching me all the data of the created "Trees" and i am saving it as a JSON onto the editor. Even when I reload the page I am doing a get call which is getting my data to be populated on the screen.
My challenge is that when somebody decided to delete a particular "Tree" how do i get the updated state in Lexical when I already have it on the editor ( which is basically in the DOM? ).
Considered using node-replacement which was given in the documentation. But I am not really sure if that is the right way to go about it.
I would be open to any kinds of thoughts or approaches to how this could be solved ?
Thank you

This isn't an enhancement, nor a feature request but rather app specific problem you're solving. Consider using discord or stackoverflow to ask it


Add bfloat to client utils

Add bfloat16 library to client utils.
Server PR to put bfloat16 pip library into SDK container: https://github.com/triton-inference-server/server/pull/4521

@rmccorm4  @Tabrizian I made a workaround so that the user would not need to import bfloat16 and allow them to import tensorflow if they don't do that. Let me know what you think

re:

Wouldn't users trying to use Tensorflow in our SDK container run into the same problem if we're pre-installing it there for them?
No as long as there's no imports of both tensorflow and numpy it should be ok.

re:

Forking/patching the bfloat16 package to simply fix the TF segfault issue ourselves? Maybe it's worth spending some cycles to find the root cause and re-evaluate?
I think this is a reasonable suggestion. I do think that we can do it as an additional ticket.

re:

Adding tensorflow pip package to the container/requirements to use tf.bfloat16 numpy type instead may make this less hacky, but looks like it would introduce ~500+MB which is quite large, so not ideal.
I think we don't want to do this in general to have a lightweight minimal container.

IMO, this library looks very fragile. Is there any other alternative bfloat16 library that we could be using? What was the conclusion on using DLPack?