PrivateKey::from_wif() can return Ok on invalid private keys

For private WIF keys corresponding to a compressed address, the last byte of the key needs to be 0x01, but the API doesn't enforce this when using PrivateKey::from_wif(). So, invalid keys can be accepted. Below are a couple example "bad" private keys this API currently returns Ok on.
L2x4uC2YgfFWZm9tF4pjDnVR6nJkheizFhEr2KvDNnTEmEqVzPJY
L4pjDnVR6nJkheizFhEEgdfBX1xxjHagbpgVFa73xHJh2jTaU8YS
KzuqXc7xLsrjeCc7ESSZpBUm2obWXEEp5w5C6VsvkWdj8avD2bL4
Not sure what the philosophy of the project is here, and it doesn't break my use case. But I thought I'd at least open an issue for it. I think this function can also be made to accept base58 keys which don't start with valid characters, though I haven't spent the time fuzzing to see if I can make it happen.

How could PrivateKey::from_wif know whether the key is supposed to be compressed?

How could PrivateKey::from_wif know whether the key is supposed to be compressed?

Uh, it already knows...? You can tell by the length. Here's a snippet from the library itself:
let compressed = match data.len() {
            33 => false,
            34 => true,
            length => {
                return Err(InvalidBase58PayloadLengthError { length }.into());
            }
        };

That extra 34th byte should be 0x01 if this is a valid key.

I think @MCFX2 may be correct.

If the private key corresponded to a compressed public key, also drop the last byte (it should be 0x01).

ref: https://en.bitcoin.it/wiki/Wallet_import_format
"it should be 0x01" kinda implies if its not the WIF string is invalid but its not that strongly worded?

Ah, I understand. I think we should be strict here and enforce that the final byte is 1.
@tcharding the "spec" is that wiki page. It's pretty bad. But this stuff is all pretty old and deprecated and we should make our code that handles it as tight as possible.

Nice, thanks for raising the issue @MCFX2!


Update to OrdinaryDiffEq split version

This both updates to the split version (reducing dependencies) and fixes some of the internals changes that occurred.

Thanks a lot! Since the tests pass I'll go ahead and merge this and fix formatting on main.


drivers/generic/generic.go defaultTimeout is too small

Here's what I see:
$ for ((i=0;i<100;i++));
do
echo -ne "$i "
docker-machine env cloud-dev >& $i.txt || echo "Failed"
echo
done
......
35 Failed
......
77 Failed
......
i.e. on every run I always see some fails.
I'm located in LA and the machine cloud-dev is in the AWS us-east-1 region.
Sometimes 1 second is just not enough to set up a TCP connection.
I guess it's worth to increase it.

Hm, I thought it was higher.
If it is only 1 second that does seem a bit aggressive to me -- would be a good opportunity to contribute a PR, maybe something more like 10 seconds :)

Yep, created a pull request for this: https://github.com/docker/machine/pull/4030


After a sense HAT is removed from Raspberry, it halts node-red

I added the sense HAT node (great btw), but when i removed the sense HAT shield node-red went into an endless loop because of some hardware(?) error
I then chose to remove the node by issuing the command
npm uninstall node-red-node-pi-sense-hat
Now, even if I have a flow without the sensor hat node, node red won't start. It says:
5 Mar 21:09:26 - [info] Waiting for missing types to be registered:
5 Mar 21:09:26 - [info]  - rpi-sensehat in
I have tried to locate where this rpi-sensehat in is, but can not find it and remove the reference

Hi, thanks for this. Not a scenario i'd tested yet.
You must have a rpi-sensehat in node in your flow for it to display that message.
When Node-RED starts it logs the flow file it is using - have you checked that file for the SH node?

Just to make sure I fetched an old flowfile from the GIT repository - from before I even tried the sensehat. So yes, there can not possibly be a SH node in the file. The strange thing is, that even if i do a grep -r sensehat in all places node-red can be, I get no match

SORRY i don't know how this happened. Yes there is a reference. Will remove it.

So I guess the first issue remains then... Node-Red stops if you have added a sensehat node and then remove the sense HAT itself

Good stuff. Just sat down to fix the unplug issue to remember I screwed my senseHAT onto my Pi - which is why I hadn't tested the unplug scenario. Will have to wait until tomorrow evening now.

I've added some error handling that stops the crash, but there is still some odd behaviour we may need to follow up on later. On some occasions after unplugging the hat we don't get any indication that it's gone - our calls to read the sensors return without error albeit with slightly wonky looking data. But at least it doesn't kill node-red.
Published as 0.0.7 to npm


More auto test for loanstore

Additions

Add a lot of unit tests for loanstore

Mostly for resetLoans and updateLoans related functions

Reviews
@virginiacc @cfarm

Added some initial comments, I'd also like to review this in pairing

@cfarm I tried to address your comments, let me know if they are still not good enough.

@amymok, this looks good! I think we should go ahead & merge so I can make adjustments based on my changes to loan store in #509. Then we can look at things like overall setup/tear down once everything's merged. How does that sound? @cfarm?

Sounds groovy!


Part 2 migration of standard bundle

Part 2 milestone for #699

Migrates standard bundle to commonjs modules
Removes core bundle (and will skip nojquery/noleaflet) based on discussion offline, since not clear if we'll support those going forward (at the moment), which simplifies the require calls significantly (no need to decide what lib to use at runtime etc.)

@alonsogarciapablo @xavijam can you please review? changed scope i.e. remove core, skip nojquery/noleaflet bundles, as discussed offline end of last week so the code is finally much simpler

:+1: Great job!
I mentioned some stuff to @viddo off-line and we agreed to not make any more changes. I added some tasks to #722.


The website is down

Expected Result
https://js.fraugster.com/v1/fraugster.js is loaded
Actual Result
Failed to load resource: net::ERR_NAME_NOT_RESOLVED https://js.fraugster.com/v1/fraugster.js
Additional Info
Magento 2 Saferpay Payment extension uses Fraugster fraud detection as a dependency.
Because of that the payment widget fails to load.

Domain name expired this weekend and was not renewed. Please renew it !

Hi @artttj I managed to comment the code related to fraugster in the Saferpay module.  It seems to work now...

Hi @jgcabanas
Same here, we commented it out :)


Create Yellowstone computer model Portuguese

Appreciate the contribution. There aren't weights available for translations right now. If you want to see many of the active areas of development where weights are available I'd recommend reviewing the MRC repo. https://github.com/MorpheusAIs/MRC
There are dozens of proposals in Under Discussion / In Progress that need Implementation help and have weights connected to different Morpheus Reference Implementations. https://github.com/MorpheusAIs/Docs/blob/main/!KEYDOCS README FIRST!/Reference Implementations.md


expose more apis to the preprocessor

Summary
Describe the goal of this PR. Mention any related Issue numbers.
Requirements

[ ] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[ ] I've read and agree to the Code of Conduct.

As discussed this isn't an approach we want to pursue and will be looking at other options.


Add description of README + description of data for Proposal

Looks good to me.  Merging into main for the interest of time.


Using outside headers?

Hi, i've read the tutorials to generate outside headers, but i'm still struggling to implement it. I want the header to update to the current month as the use scrolls but obviously i don't want the affect of the header scrolling with it. Do i need to design a header for each month?

No, you one need to design one header, and update the information as needed.
If is exactly like using a UITableview.
Get the header and configure it to your liking. If you still need help then let me know.

Thanks for the quick reply. I'm still struggling to implement the behaviour however. This is what i have implemented in willDisplaySectionHeader -
`         func calendar(_ calendar: JTAppleCalendarView, willDisplaySectionHeader header: JTAppleHeaderView, range: (start: Date, end: Date), identifier: String) {
    let calendar = Calendar(identifier: .gregorian)
    let startDate = range.start
    let month = calendar.dateComponents([.month], from: startDate).month!
    let monthName = DateFormatter().monthSymbols[(month-1) % 12]
    let year = calendar.component(.year, from: startDate)
    let headerCell = header as? MonthSectionHeader
    headerCell?.title.text = monthName + " " + String(year)

    headerCell?.goForwardButton.addTarget(self, action: #selector(CalendarViewController.forwardButtonTapped(sender:)), for: .touchUpInside)
    headerCell?.goBackButton.addTarget(self, action: #selector(CalendarViewController.backButtonTapped(sender:)), for: .touchUpInside)
}`

I don't wont the header to scroll as i scroll the calendar i only want the month to update and that's all. Thanks

The header will only scroll if you implemented header functions.
If you do not want your header to scroll, then please do not implement any header functions.
Simply create label for your header
So you will no update your code above to say:
MYLABEL.title.text = monthName + " " + String(year)

@f15handch1p5 probably you want to put that code in the calendar(_ calendar: JTAppleCalendarView, didScrollToDateSegmentWith visibleDates: DateSegmentInfo) delegate function.
In my implementation I do something along the lines:
    func calendar(_ calendar: JTAppleCalendarView, didScrollToDateSegmentWith visibleDates: DateSegmentInfo) {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "MMMM yyyy"
        MonthLabel.text = dateFormatter.string(from: visibleDates.monthDates.first!)
    }

I do not know if it is the best way to proceed. I'm sure @patchthecode will correct me if it is too bad :-)
Hope this helps.

@boborbt is correct. This is exactly the place that you put it.

closing issue as it appears to have been resolved.

@patchthecode @boborbt Thanks you fellas!!! That was an amazing help. I was stuck for about 3 days.

@f15handch1p5 probably you want to put that code in the calendar(_ calendar: JTAppleCalendarView, didScrollToDateSegmentWith visibleDates: DateSegmentInfo) delegate function.
In my implementation I do something along the lines:
    func calendar(_ calendar: JTAppleCalendarView, didScrollToDateSegmentWith visibleDates: DateSegmentInfo) {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "MMMM yyyy"
        monthLabel.text = dateFormatter.string(from: visibleDates.monthDates.first!)
    }

I do not know if it is the best way to proceed, but it seems it works ok in my case. I'm sure @patchthecode will correct me if it is too bad :-)
Hope this helps.

It doesn't work on first load until we scroll it back and forth. Any solution for this?

@ekchhuon i am not exactly sure what you are trying to do.


Multiple small fixes

Allow mixed case when creating/updating/deleting alias: 362/378, 8068, 8622, 10162
Recode callGAPIpages for future benefits: 890/940
Handle out of range start_time end_time values in gam report: 1441/1444
Work around API bug where primary can't be used as calendarId: 2979/2980
Code cleanup in doCalendarAddEvent: 3507/3600
Get integers with subroutine: 228-236, multiple calls
Minimize data download in doDeleteGuardian: 2330/2348
Add contentmanager/fileorganizer role: 3984/4074

you need to undo the "Add Jay's changes" it means this PR now has conflicts and can't be merged.

still showing as having conflicts that prevent merge.

I reverted another change.
On Thu, Oct 25, 2018 at 12:29 PM Jay Lee<EMAIL_ADDRESS>wrote:

still showing as having conflicts that prevent merge.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/pull/800#issuecomment-433176362, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIU8L1DgeYZMA44eyET7sTOTpyxxD4chks5uohEKgaJpZM4XKiYS
.

--
Ross Scroggs
<EMAIL_ADDRESS>


[Binance] Added support for the future websocket stream

Added support for the future stream.
Quick and dirty to change the endpoint. And as I didn't find another way to instantiate with URL I just created a futures websocket url.

Bit trigger happy.


Mods defining just inputs or just hotkeys still appear on both tabs

See https://discord.com/channels/717692382849663036/795037478229901322/1024881718508920902

Some progress made as part of https://github.com/yamashi/CyberEngineTweaks/commit/a8fd7ac76436bd37232438d31d0ca3d8a3c28489
I found some more bugs which I described in the commit itself which should be fixed thanks to reworked bindings system internals.
bindings.json now also has new format, if older format is found, it should automatically convert to newer one without hassle.

Hopefully, new implementation should now be stable.
Now for the polishing part... Partially did some polishing work as part of bug fixing, but I want to retouch the UI a bit more.

Crrated #716 to track UI rework effort.


Use a default directory for projects

Installing the plugin and running any Nikola command before setting the
PROJECT_PATH causes errors.
Also, having a default value for projects is more convenient and in-line
with the defaults we have for posts and pages.

That’s not enough. I’ll fix the rest myself and merge.

Fixed in commit 1a34ebe.


Ability to change chunksize

Hello @odeke-em
I wanted to change the chunksize of the files being uploaded, so as to increase the upload speed.
I searched around in your code and couldn't find a way to manually change it
Can you help me?

Hello there @BrendenCA, thank you for the question and welcome to drive!
Hmm, so right now drive doesn't control any chunksizes. drive passes readers along to the Google API client after invoking the Media method of an upload request.
However, I can turn this into a feature request since the Google API client provides a function for chunkifying readers before Upload in a function called PrepareUpload https://github.com/google/google-api-go-client/blob/master/gensupport/media.go#L183
so we can detect if for example the chunksize is set then we can use that.

I forgot to tag and close this issue when I implemented that feature in https://github.com/odeke-em/drive/pull/840 in January 2017. Please get the latest by
$ go get github.com/odeke-em/drive/drive-gen && drive-gen

and you'll be able to set it by
$ drive push --upload-chunk-size=16777216

which is what I use sometimes to upload in 16MB chunks.
Thank you for requesting for the feature and hope you enjoy drive. Cheers!


Why this method called zero-shot semantic segmentation?

Hi! Thanks for your great effort!
The methods you compared in the paper are from open vocabulary semantic segmentation. I feel confused about whether they know class information or not during inference. If they know class information, it seems like weakly supervised semantic segmentation. So I want to know why these methods are called zero-shot semantic segmentation.
Thank you for your help! I'm looking forward to your reply!

Thanks for your interest!
IMHO the terms "zero-shot" and "open-vocabulary" are not clearly defined in semantic segmentation and we discussed quite long which term to use for our work. We ended up using "zero-shot" because of multiple reasons:

The latest research on zero-shot is often studying "generalized zero-shot" where classes can be present during pre-training (i.e. in CLIP) but the current task is not (defined through the specific set of classes). This is the definition we used in our work.
In object detection, "open-vocabulary" is sometimes defined as an in-domain task while we are explicitly testing cross-domain performance. It is not defined in semantic segmentation, but you could argue that "open-vocabulary" models are trained to be used within the same domain.
"open-vocabulary" is a relative new term in CS while "zero-shot" is well known.

Note that every zero-shot model needs to learn semantic information about many classes to be useful. But the models are not trained to do semantic segmentation on these classes, so this part is clearly zero-shot.

Thanks so much!!!


terminal in the editor - switch tabs

Issue Type: Bug
Now (1.58), when I click cmd+shift+] or [ it opens the terminal bar from the bottom, whereas I wanted to switch to another tab
VS Code version: Code 1.58.0 (2d23c42a936db1c7b3b06f918cde29561cc47cd6, 2021-07-08T06:53:52.384Z)
OS version: Darwin arm64 20.5.0
Restricted Mode: No
Remote OS version: Linux x64 5.8.0-44-generic
Remote OS version: Linux x64 5.8.0-44-generic

System Info

Item
Value

CPUs
Apple M1 (8 x 24)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (1.40GB free)

Process Argv
--crash-reporter-id 36a9d2df-fa79-4f83-acf5-f7303e928606

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: c3c

OS
Linux x64 5.8.0-44-generic

CPUs
AMD Ryzen 7 3800X 8-Core Processor (16 x 3797)

Memory (System)
47.07GB (0.61GB free)

VM
0%

Item
Value

Remote
SSH: c3c

OS
Linux x64 5.8.0-44-generic

CPUs
AMD Ryzen 7 3800X 8-Core Processor (16 x 2293)

Memory (System)
47.07GB (0.60GB free)

VM
0%

Extensions (13)

Extension
Author (truncated)
Version

remote-containers
ms-
0.187.0

remote-ssh
ms-
0.65.7

remote-ssh-edit
ms-
0.65.7

remote-wsl
ms-
0.58.2

vscode-remote-extensionpack
ms-
0.21.0

youtrack
bul
0.0.30

gitlens
eam
11.5.1

vscode-pull-request-github
Git
0.28.0

vscode-docker
ms-
1.14.0

python
ms-
2021.6.944021595

vscode-pylance
ms-
2021.7.2

jupyter
ms-
2021.8.1013163132

even-better-toml
tam
0.12.3

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30300192
pythontb:30283811
pythonvspyt551:30311712
vspre833:30321513
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscus158:30321503
pythonvsuse255cf:30335482
vscorehov:30309549
vscod805:30301674
pythonvspyt200:30331937
vscextlang:30333561
binariesv615:30325510
vstea450:30335276
bridge0708:30335490

I am on the "terminal in the editor" bar
I click default macos "cmd+shifit+]" to switch to the tab on the right
but the terminal pane on the bottom gets opened

can you pls include a gif with screencast mode enabled? not sure what you mean

@meganrogge here's the link to the loom recording
you will see that when I was on the terminal-in-the-editor tab and suddenly the terminal from its usual pane appeared - it happened when I pressed cmd+shift+[ to go the other opened tab

Is there anything I could help you with? @meganrogge what info is needed?

Verified this was fixed in Insider's via https://github.com/microsoft/vscode/commit/a26f3b00c0039cce6164b0c78b19b284a273c189 @lozhn could you please confirm that?

works now, thank you very much!


[Company] Implement dashboard layout with datagrid for Company entity

The task is to create a brand new Layout which should contain the following components inside of itself.
1.Appbar

[ ] hamburger menu
[ ] logo
[ ] search input field
[ ] profile button(icon) to the most right side with a dropdown menu with few options

2.Drawer

[ ] menu items
[ ] submenu items when clicked on main menu items
[ ] should keep open state across pages

3.Footer - should be part of the whole layout
4.Datagrid

[ ] Should have a title above it to say what we display in it
[ ] Should display company entity loaded from the back-end
[ ] Should have a + button/icon at the top which leads to a new page displaying the create form
[ ] Should have a delete button/icon which opens a confirmation modal & deletes all selected items by the checkbox column
[ ] checkbox column
[ ] Should have a last column with 3 icons aligned to the right :

[ ] view icon (opens a modal that shows all the values of the entity clicked)
[ ] edit icon (opens a new page with form in which you can edit all the form values, also on this form we should have 2 buttons -save/cancel)
[ ] delete icon (a normal confirmation pop-up asking "Are you sure" and 2 answers yes/no)

5.Notifications

[ ] Should show success/error notification after create/edit/delete

Could you please add a screenshot

@podkrepi-bg/softuni-bootcamp Feel free to develop this entity in the admin


Deep compression

Hi! I was wondering if there is any possibility in Digits to compress a neural network.
In the paper "Deep compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding" (https://arxiv.org/abs/1510.00149), they could reduce for example the size of VGG-16 by 49x without affecting its accuracy (that's very interesting in networks that require so much memory).
Any way to remove the connections with weights below a threshold? Thank you very much!

@lukeyeager  Hi, any progress in this direction yet?

I would also be interested in a pruning feature being added. Here is an additional source talking about how pruning can lead to smaller and faster networks without decreasing accuracy substantially.
https://jacobgil.github.io/deeplearning/pruning-deep-learning


Avoid reverting on validation entrypoints

From the docs:

All changes that occurred during the validate stage are not reverted. However, all changes that occurred during the execute stage are reverted, including no messages to L1 or events.

We should only revert a transaction when it fails on the execution part of it (not when it fails on validate entrypoint or when charging the fee)

Check that run_validate_entrypoint executes the call with support_reverted = false ✅

[ X ] InvokeFunction
[ X ] Declare
[ X ] DeclareV2
[ X ] DeployAccount
N/A Deploy
N/A L1Handler

execute_fee_transfer executes the call with support_reverted = false ✅


Add optional built-in substitution of last attempted revision (1.1.x)

The purpose of this new feature (which is CLI-conditional, and defaults to false in order to preserve compatibility) is to allow to refer to the revision that is currently being applied in the resource manifests, via the standard substitutions mechanism.
This PR is for the release/v1.1.x branch; a corresponding PR for the main branch exists in #971

We backport changes automatically using when required, and given this is a new feature, it would not require a backport to an existing minor.

Ah got it, thanks 🙏


'IManagedMqttClient' does not contain a definition for 'ConnectAsync' and no extension method 'ConnectAsync' accepting a first argument of type 'IManagedMqttClient' could be found

I am trying to check the connection before sending message, But I get below error
'IManagedMqttClient' does not contain a definition for 'ConnectAsync' and no extension method 'ConnectAsync' accepting a first argument of type 'IManagedMqttClient' could be found (are you missing a using directive or an assembly reference?)
Code
           using (var mqttClient = mqttFactory.CreateManagedMqttClient())
           {
             try
             {

                var options = BuildMqttClientOptions(connectivityInfo);
                var connectResult = await mqttClient.ConnectAsync(options);
             }
           }

But IsConnected will be true only after connecting right?

Yes it is only true if the connection is established.
No the factory creates only a new instance which does nothing. After the start method has been called the client will connect internally.

Actually my client app want to check periodically the connection stability. So as per your comment , the only way is to check the connectivity is to send/ping TEST messages?

The property will be updated as soon as the client detects a closed or broken connection. A clean close or disconnect from the client machine will be detected very fast.
But for other crashes at the server etc. messages must be sent. Please have a look at the "KeepAlive" settings for MQTT clients. Then messages like the one you mentioned are sent automatically.


Update transformer.py

maxium -> maximum

Thank you very much for your reminding, we will fix this spelling problem soon.


[DO-NOT-MERGE] Schema updates

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Closing this. The changes here will already be covered by Steve's Inbound refactor pr https://github.com/adobe/aepsdk-messaging-ios/pull/227.


Add option to read stream backwards

For some use-cases it is benefitial to be able to read a stream backwards - e.g. when you need to search for an event that happened recently. Reading backward is theoretically possible right now by reading the whole stream, converting it to an array (or by accessing the .events property of the stream) and then iterating the result array backwards. This is slow and can only somewhat be alleviated by repeatedly only fetching a segment of events from the end of the stream, then iterating those backwards.
function iterateBackwards(streamName) {
    let lastVersion = -1;
    let startReached = false;

    while (!startReached ) {
        let stream;
        try {
            stream = eventstore.getEventStream(streamName, lastVersion - 50, lastVersion);
            lastVersion -= 50;
        } catch (e) {
            // throws an error when the range is invalid, so we have reached the start of the stream
            stream = eventstore.getEventStream(streamName, 0, lastVersion);
            startReached = true;
        }
        const events = stream.events;
        for (let i = events.length - 1; i >= 0; i--) {
            yield events[i];
        }
    }
}

This would be a work-around solution, but that would also be subject to shifting stream versions, when writes happen while iterating. This could only be aleviated, by making the current stream version accessible and using that as lastVersion initial value.

For storage level only reverse scanning the document would need to be suffixed with the size.

Con:

breaking file format change
weird file format (binary document header including size + document + binary size)
additional write needed (extra 4 bytes)

Pro:

allows checking for unfinished writes even without a checksum

Note regarding

This could only be aleviated, by making the current stream version accessible and using that as lastVersion initial value.

That is now possible with EventStore.getStreamVersion
Hence I'm currently in favor of just providing above method as an API, which would prevent changing the file format.

Simplified method from above:
function iterateBackwards(streamName) {
    let lastVersion = eventstore.getStreamVersion(streamName);
    const batchSize = 50;

    while (lastVersion !== 0) {
        const firstVersionInBatch = Math.max(0, lastVersion - batchSize);
        let stream = eventstore.getEventStream(streamName, firstVersionInBatch, lastVersion);
        lastVersion = firstVersionInBatch;

        const events = stream.events;
        for (let i = events.length - 1; i >= 0; i--) {
            yield events[i];
        }
    }
}

Maybe this can even be wrapped as a ReverseStream decorator on top of existing streams, e.g. eventstore.getEventStream(streamName).reverse(); or directly when inverting min/max revision like eventstore.getEventStream(streamName, -1, -50);


WaspError should include info about Exceptions coming from Volley

For example, when TimeoutError occurs we could not know the exception is due to time out because all we get from Wasp is a WaspError with status code 0 and null message.

Same problem with UnknownHostException. Please handle error codes

Let's have this one as top priority, I am also having some issues with this.

If you are reading this you might find this explanation for error 0 interesting https://github.com/orhanobut/wasp/issues/139


Database username and password exposed in source code

In slack/models.py, there are two instances of database credentials (username, password, host, port) exposed in plain text.
Given how long this service has been out of commission, I'd assume that the database in question is no longer online, and that the credentials are useless. However, for the sake of transparency, I want to bring this concern to the author's attention in case they need to rotate secrets and/or remove the sensitive information from Github.
Relevant lines of code:
https://github.com/charleshberlin/O-RLY-Book-Generator/blob/eea52c94acd8e8dfcf1026f41f4170f8b020fcfa/slack/models.py#L261
https://github.com/charleshberlin/O-RLY-Book-Generator/blob/eea52c94acd8e8dfcf1026f41f4170f8b020fcfa/slack/models.py#L278

Here is a link to the GitGuardian alert that notified me of the issue: https://dashboard.gitguardian.com/share/incidents/a0ca810e-674b-4b0f-b24a-198fdc8290b9


Feature request: Open all modified files

I'd like to have a command which will open all files which are modifies/added since the last commit. Basically open all files which git status shows.

:+1:


Not availible for Scratch 3.0

This only seems to work for scratch 2.0 i had to download and change the extension to sb2

It doesnt even work then i tried

This is useless

Does anyone know how to fix this

what happens if you upload an sb3?

It just says ERROR

Nothing else? Usually it should include more information in the log,I think

Nothing else

it doesn't work

I know right


⚠ ClamAV has degraded performance

In 58e6f57, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 195 ms

Resolved: ClamAV performance has improved in 10419fc after 10 minutes.


Issues with accessing Synthetic event onKeyDown

Firstly, thanks for providing this component it's really useful and simple to use!
I'm seeing some odd behaviour relating to synthetic events when using this lib, I'm unable to access the event object properties in a onKeyDown handler provided to <ContentEditable />. I believe this is down to React's Event polling, which as far as I can tell works fine for synchronous access to the event but not async access.  At present this component is calling this.props.onKeyDown wrapped inside a setTimeout, which I believe is causing my particular issue.
I can't see any detrimental effects from removing the setTimeout and calling this.props.onKeyDown at the end on the _onKeyDown instance method when using this component in a React 16.4.0 project, however I'm sure this code would be here for a good reason, so I'm wondering what the reason is for needing it?
I'm happy to raise a PR for the change as I'd prefer to contribute than rely on a forked lib.

Hi @nijk!
setTimeout was introduced by @ethanlee16 here: https://github.com/ashleyw/react-sane-contenteditable/pull/6
If you can figure out a solution to both problems I'd be happy to review and pull in your PR! Bonus points if you can write a couple of tests to confirm you're not breaking any existing features! ;)

Good work! Will look out for your PR.
I've been meaning to get a test suite setup, I just haven't had the time unfortunately. If you could help with that, it would be great! 👍🏼

@ashleyw PR is in now. If you are happy to add me as a collaborator, then I can get involved with the test suite you mentioned.

@nijk added you as a collaborator 👍🏼 Found a couple of bugs (unrelated to your PR), so I'm going to try and jump in next week and write some tests.
A major version bump would be appropriate to standardise and cleanup the API. Interested in hearing your thoughts on that.
Thanks!


Ubuntu can't change DPI ( Rivals 300)

Hi man
I cant change my dpi's? Im new to linux so this readme is a little bit hard for me lol, but it keep saying Permission denied: u'/dev/hidraw4'
when i tried to change '' rivalcfg --sensitivity2=1800 ''

hello,
It seems that the udev rules have not been installed. Execute the following commands, it should fix your problem:
sudo wget https://raw.githubusercontent.com/flozz/rivalcfg/master/rivalcfg/data/99-steelseries-rival.rules -O /etc/udev/rules.d/99-steelseries-rival.rules

sudo udevadm trigger

then it should work :)

Hi. i tried it again and it said :
--2017-05-10 13:03:57--  https://raw.githubusercontent.com/flozz/rivalcfg/master/rivalcfg/data/99-steelseries-rival.rules
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... <IP_ADDRESS>
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 450 [text/plain]
Saving to: ‘/etc/udev/rules.d/99-steelseries-rival.rules’
/etc/udev/rules.d/9 100%[===================>]     450  --.-KB/s    in 0s
2017-05-10 13:03:57 (116 MB/s) - ‘/etc/udev/rules.d/99-steelseries-rival.rules’ saved [450/450]
After i executed the commands, nothing shows up when i trpe the command to change sensitivity? :S

Hello,
No, nothing will be displayed when you type this command. The sensitivity is just changed. If you need a visual feedback that everything is working, you can try to change the color of the mouse logo:
rivalcfg -c red

:)

I close this issue, please re-open it if your problem is not solved :)


[feature]: Notify user on empty role

          I just meant it would be nice if there was a notification of empty roles.

I admit such a message encouraging unregister roles might be an extra care
Originally posted by @s8sato in https://github.com/hyperledger/iroha/pull/4349#discussion_r1517159469

We should consider do we need such feature and if so how to implement it.


Chicken-and-egg problem with Director Root metadata verification and latest time verification

From https://uptane.github.io/deployment-considerations/repositories.html#changes-to-the-director-repository:

If an external time source is in use, a representation of its public key is CONDITIONALLY REQUIRED in Director repository Root metadata.

If the public key for an external time source is specified in the Director Root metadata, then having a verified copy of the latest Director Root metadata is required to verify the time. Verifying the Director Root metadata requires checking that it has not expired, which requires a verified time. In short:

Can't verify the time without the Director Root metadata
Can't verify the Director Root metadata without the time

How should this cycle be broken?

This was briefly discussed in the 12/6 . @mnm678 noted that TUF provides a solution to this issue via an option codified in https://github.com/theupdateframework/specification/commit/e645837a6a47113090d7fcd2a67172b3bf732d25  that "introduces a fixed notion of time for the duration of the client update workflow, bounded by an application defined maximum duration for the update. It is further recommended that the maximum duration is set to the same time period at
which the repository re-signs the timestamp metadata." A pull request that mentions how this works for TUF would resolve this issue.

The problem with a secure source of time and root metadata is actually already addressed by the standard. In the How to check Root metadata section, it specifies that root metadata will be updated before the time is checked. While a compromised root would be able to perform a freeze attack, a compromise of root can do much worse and is out of scope of the standard.
The TUF issue is a related issue about the time for the update as a whole, which we should discuss as part of bringing TUF and Uptane into alignment.

@mnm678 or someone, can you address the comments above.

There are two parts to this: a short-term and long-term way to handle it.
The attack mentioned here only works if timeserver is compromised for a long period of time. The vehicle will look for new root metadata and check expiration on each update cycle, so whenever the timeserver is recovered, this attack would be ended.
Further, the timeserver setup in the deployment considerations is a suggestion, and will soon be replaced with international standards for time servers (NTP v5), which will be finalized soon and have a separate root of trust for the time server.

Consider this for 2.2.

...whenever the timeserver is recovered, this attack would be ended.

In a situation where an attacker has the timeserver private key, recovering the timeserver requires rotating the timeserver key, which requires updating root metadata. If the attacker also has middleman access sufficient to spoof a "no root metadata version N+1" response to vehicles, they can prevent the timeserver key rotation indefinitely. In other words, the attacker can make it impossible to recover the timeserver.
For the long-term solution, I'm curious to know how the separate root of trust will itself avoid this cyclic verification issue. It seems like a secure source of time must derive trust in a way that doesn't rely on time, otherwise it will always hit this problem.

It is only unrecoverable as long as the attacker has MitM access as well as the timeserver key. If control over the network is re-established the original owner of the timeserver key could distribute the correct timestamp.
For the long-term solution, the idea is to use a root of trust outside of Uptane, as decided on by the standards groups working on NTP v5. This would then provide a source of time that is outside of Uptane, and not subject to the tradeoff you describe here.

This has tentatively been slated for 2.2.0, but I'm assuming that is to resolve the larger issues connected to NTP v.5. But can we better clarify that the attack mentioned above is only a real threat if the the vehicle is offline for an extended amount of time and if  the attacker has MitM access as well as the timeserver key. Can we resolve at least this much for V.2.1.0

It occurs to me now that the attacker capabilities I mentioned in my comments above (sign+serve malicious timeserver responses and deny the existence of Root metadata N+1) are sufficient to perpetually deny Root metadata rotation regardless of the cyclic verification problem in the title.
While the abstract problem (document contains information used to verify itself) still concerns me, I can't think of any specific attacks this expiration verification process would enable.

Close this for now. Make sure though that the secure time problem is still an open question.

Closing this with the opening of Issue #149


Add feature flags

Should have an example.

https://github.com/michaelBenin/react-ssr-spa/commit/d5d630dac5eb6aae8ba699db70562c5e1966fc7b


GoogleMaps SPM integration: GMSAddress.h yields "Module 'GoogleMapsBase' not found" error

Environment details

Integrating into iOS 14+ framework through Xcode Project (not Package.swift)
Using Xcode 15.1
GoogleMaps version 8.3.1

Steps to reproduce

Add GoogleMaps SPM dependency
Link it to the framework Target
Build
Error Module 'GoogleMapsBase' not found occurs in GMSAddress.h

Screenshot

If you would like to upvote the priority of this issue, please comment below or react on the original post above with :+1: so we can see what is popular when we triage.
@ogarkov-dev Thank you for opening this issue. 🙏
Please check out these other resources that might help you get to a resolution in the meantime:

Check the issue tracker - bugs and feature requests for Google Maps Platform APIs and SDKs
Open a support case - Get 1:1 support in Cloud Console.
Discord - chat with other developers
StackOverflow - use the google-maps tag

This is an automated message, feel free to ignore.

Here is a simple Playground that reproduces the issue on my system. It is just an empty Playground that is using an ios-maps-sdk SPM dependency without any other changes.
ios-maps-sdk_compile_issue_Playground.zip

Have you tried updating the dependency section by adding all the products as follows?
    dependencies: [
        .product(name: "GoogleMaps", package: "ios-maps-sdk"),
        .product(name: "GoogleMapsBase", package: "ios-maps-sdk"),
        .product(name: "GoogleMapsCore", package: "ios-maps-sdk"),
    ]

In Xcode after you enter the URL https://github.com/googlemaps/ios-maps-sdk/ you need to keep checked or check all these three package products.
Please let us know if following these steps resolved your problem?

That helped! Thank you!
IMO the package should've resolved the internal dependencies by itself. Is it coming in the next releases? If not, then we should consider updating README.

Im' using XcodeGen in my project to manage the dependencies.  @dogahe I can not find the way to use your work-around with XcodeGen.

Can you please share the current configuration you have set up in your .yaml file for adding dependency on GoogleMaps?
I don not have experience with XcodeGen, but I can imagine that you need to be able to either specify multiple package products for each package or repeat the lines for adding the dependency for each package product of GoogleMaps.

Can you please share the current configuration you have set up in your .yaml file for adding dependency on GoogleMaps?
I do not have experience with XcodeGen, but I can imagine that you need to be able to either specify multiple package products for each package or repeat the lines for adding the dependency for each package product of GoogleMaps.

In project_packages.yml file I added the package like others:
  GoogleMaps:
    url: https://github.com/googlemaps/ios-maps-sdk
    version: 8.3.1

And in project_tarjets.yml file I added the dependencies for the module where I need GoogleMaps of my project like this:
ModuleName:
    dependencies:
      - package: GoogleMapsUtils
        product: GoogleMapsUtils
      - package: GoogleMaps
         product: GoogleMaps
      - package: GoogleMaps
         product: GoogleMapsBase
      - package: GoogleMaps
         product: GoogleMapsCore

The project is generated by xcodegen without error and with this configuration I don't getting the error of this thread but
as you can see I'm using GoogleMapsUtils and I'm getting this other error -> https://github.com/googlemaps/google-maps-ios-utils/issues/458
So, I have to wait for some kind of fix in this package or in GoogleMapsUtils.

GoogleMapsUtils is a different package. Please follow up on the relevant thread for any problem you have with GoogleMapsUtils since the error you are observing is not related to Google Maps Swift package. I am glad GoogleMaps Swift package is working for you now.

Same here.
Only for version below 9.0.0


docs(compilation-hooks): improve descriptions and formatting

This is part of a general improvement of the hooks documentation, see also #2790 and #2840.
Improves the current descriptions and adds the missing ones.
Removes the records hook that doesn't exist in the source code and fixes some errors.
Also shows a warning near hooks that will be removed in the next branch:

optimizeDependenciesBasics and optimizeDependenciesAdvanced
optimizeModulesBasic and optimizeModulesAdvanced
optimizeChunksBasics and optimizeChunksAdvanced
optimizeChunkModulesBasic and optimizeChunkModulesAdvanced
optimizeModuleOrder
advancedOptimizeModuleOrder
optimizeChunkOrder
normalModuleLoader

Adds some hooks available in the next branch:

chunkIds
beforeOptimizeChunkIds
optimizeCodeGeneration
beforeModuleHash
afterModuleHash
beforeRuntimeRequirements
afterRuntimeRequirements

Friendly ping @EugeneHlushko :)

There is a conflict, can you resolve that first?

Resolved 👍  @EugeneHlushko

This is ready for review @EugeneHlushko :)

Thanks!


SageMaker data parallelism examples on HyperPod

Issue #, if available:
Description of changes:
Shows how to use SageMaker Data Parallel library on Hyperpod for PyTorch FSDP and DeepSpeed training jobs
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@perifaws : over to you to finalize review.


feat: configure availability topics for MQTT discovery

Require the client to be connected (LWT will set to false when MQTT connection is lost because the process goes down), the driver to be ready, and the individual node to be online

I've tested it with the current releases of Home Assistant and openHAB (I primarily use the latter, and am the maintainer of its MQTT/Home Assistant compatibility layer). It's been working quite well - immediately showing the devices as offline if I kill zwave-js-ui, and then showing them as online when I restart it.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 22.174%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
3735

Relevant Lines:
17916

💛  - Coveralls

You may need to wrap this in a method on the client and add it also to the discoverDevice method

I've wrapped this in a method and tested the regular path, but I don't (currently) have any custom devices to test it with.


Switch to Grammar.convert and sync code paths

Upgrade grammarkdown to 2.0.9 (only change was inclusion of Grammar.convert static method)
Switch to calling Grammar.convert (performs synchronous parse and emit to a string)
Switch Grammar.enter, Algorithm.enter, and walk back to sync execution.

@bterlson: Can you take a look?


Open Remote Desktop crashes Visual Studio 2015

Oleksiy Karpenko wrote in a Visual Studio Marketplace review:

"Open Remote Desktop session..." crashes Visual Studio Community 2015 (Version 14.0.25431.01 Update 3).

I attempted to reproduce this in Visual Studio Professional 2015 Version 14.0.25424.00 Update 3, but could not; the remote desktop opened as expected.
Oleksiy, did it crash the moment you hit the command, or did a dialog letting you choose credentials open first?

Closing as not reproducible.


Intermittent Windows Failure During createSession Invocation

On Windows 10/11 there is an Omega Edit Server failure when attempting to create a session. This occurs intermittently and I have not yet found a procedure to reproduce this.
I vaguely remember the last time that there was an ERROR w/ msg: 13 INTERNAL, it ended up being a Scala / gRPC bug.
Initialization Failure Logs - Data Editor
createSession Request Log Output
The Data Editor will stall for approximately 20 seconds after receiving this log output.
[13:23:39.091] DEBUG (19904):
    fn: "createSession"
    rqst: {
      "filePath": "c:\Users\Orion\Documents\GitHub\PNG\basi0g01.png",
      "sessionIdDesired": "",
      "checkpointDirectory": "C:\Users\Orion\AppData\Roaming\xdg.data\omega_edit\.checkpoint-9420"
    }

createSession ERROR Log Output
[13:23:59.122] ERROR (19904):
    fn: "createSession"
    err: {
      "msg": "13 INTERNAL: ",
      "details": "",
      "code": 13,
      "stack":
          Error: 13 INTERNAL:
                at t.callErrorFromStatus (c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:30112:5244)
                at Object.onReceiveStatus (c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:30112:30526)
                at Object.onReceiveStatus (c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:30112:26415)
                at Object.onReceiveStatus (c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:30112:25860)
                at c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:30112:112950
                at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
          for call at
                at i.makeUnaryRequest (c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:30112:30067)
                at i.createSession (c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:30112:97544)
                at c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:30112:625848
                at new Promise (<anonymous>)
                at c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:30112:625825
                at Generator.next (<anonymous>)
                at i (c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:30112:623984)
                at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    }

[13:23:59.122] ERROR (19904):
    err: {
      "msg": "Failed to create session for c:\\Users\\Orion\\Documents\\GitHub\\PNG\\basi0g01.png",
      "stack":
          Error:
                at DataEditorClient.<anonymous> (c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:29289:32)
                at Generator.throw (<anonymous>)
                at rejected (c:\Users\Orion\Documents\GitHub\daffodil-vscode\dist\ext\extension.js:29116:65)
                at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    }

Initialization Failure Logs - Omega Edit Server
[2024-01-11 13:23:39,143] [ERROR] [org.apache.pekko.actor.OneForOneStrategy] [] [omega-edit-grpc-server-pekko.actor.default-dispatcher-12] - Illegal char <> at index 67: C:\Users\Orion\AppData\Roaming\xdg.data\omega_edit\.checkpoint-9420alizableReferenceQue?H)ye????
Load MDC: {pekkoUid=596194737082817381, sourceThread=omega-edit-grpc-server-pekko.actor.internal-dispatcher-2, sourceActorSystem=omega-edit-grpc-server, pekkoAddress=pekko://omega-edit-grpc-server, pekkoSource=pekko://omega-edit-grpc-server/user/$a, pekkoTimestamp=19:23:39.142UTC}
java.nio.file.InvalidPathException: Illegal char <> at index 67: C:\Users\Orion\AppData\Roaming\xdg.data\omega_edit\.checkpoint-9420alizableReferenceQue?H)ye????
Load
        at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
        at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
        at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
        at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
        at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232)
        at java.base/java.nio.file.Path.of(Path.java:147)
        at java.base/java.nio.file.Paths.get(Paths.java:69)
        at com.ctc.omega_edit.SessionImpl.checkpointDirectory(SessionImpl.scala:90)
        at com.ctc.omega_edit.grpc.Editors$$anonfun$receive$1.applyOrElse(Editors.scala:117)
        at org.apache.pekko.actor.Actor.aroundReceive(Actor.scala:547)
        at org.apache.pekko.actor.Actor.aroundReceive$(Actor.scala:545)
        at com.ctc.omega_edit.grpc.Editors.aroundReceive(Editors.scala:79)
        at org.apache.pekko.actor.ActorCell.receiveMessage(ActorCell.scala:590)
        at org.apache.pekko.actor.ActorCell.invoke(ActorCell.scala:557)
        at org.apache.pekko.dispatch.Mailbox.processMailbox(Mailbox.scala:280)
        at org.apache.pekko.dispatch.Mailbox.run(Mailbox.scala:241)
        at org.apache.pekko.dispatch.Mailbox.exec(Mailbox.scala:253)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
[2024-01-11 13:23:59,117] [ERROR] [org.apache.pekko.grpc.scaladsl.GrpcExceptionHandler(pekko://omega-edit-grpc-server)] [] [omega-edit-grpc-server-pekko.actor.default-dispatcher-6] - Unhandled error: [Ask timed out on [Actor[pekko://omega-edit-grpc-server/user/$a#-493495716]] after [20000 ms]. Message of type [com.ctc.omega_edit.grpc.Editors$Create]. A typical reason for `AskTimeoutException` is that the recipient actor didn't send a reply.] MDC: {pekkoUid=596194737082817381, sourceThread=omega-edit-grpc-server-pekko.actor.default-dispatcher-10, sourceActorSystem=omega-edit-grpc-server, pekkoAddress=pekko://omega-edit-grpc-server, pekkoSource=org.apache.pekko.grpc.scaladsl.GrpcExceptionHandler(pekko://omega-edit-grpc-server), pekkoTimestamp=19:23:59.117UTC}
org.apache.pekko.pattern.AskTimeoutException: Ask timed out on [Actor[pekko://omega-edit-grpc-server/user/$a#-493495716]] after [20000 ms]. Message of type [com.ctc.omega_edit.grpc.Editors$Create]. A typical reason for `AskTimeoutException` is that the recipient actor didn't send a reply.

From what I can tell, there seems to be a buffer overflow occurring given that the error msg
Illegal char < > at index 67: C:\Users\Orion\AppData\Roaming\xdg.data\omega_edit\.checkpoint-9024

specifies an illegal char at an index that is out of the string array range. At least Python REPL thinks so:
>>> path = r"C:\Users\Orion\AppData\Roaming\xdg.data\omega_edit\.checkpoint-9024"
>>> path
'C:\\Users\\Orion\\AppData\\Roaming\\xdg.data\\omega_edit\\.checkpoint-9024'
>>> path[67]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> path[66]
'4'
>>>

After successfully setting up the Omega Edit dev environment and getting Scala tests to run on Windows, I consistently see the following test failures when testing in ./server/scala.

This failure msg type [com.ctc.omega_edit.grpc.Editors$Create] is the same as the serv-<port>.log files from the Data Editor failures.

Resolved w/ https://github.com/ctc-oss/omega-edit/pull/860


LLama RuntimeError: CUDA error: device-side assert triggered

I am interested in working with the Arabic language. I have tried adding all the tokens to the tokenizer, and the tokenizer seems to work fine. However, during training, I encountered an error. I am looking for a solution to resolve this error.
   0%|                                                                                | 0/1524 [00:00<?, ?it/s]Traceback (most recent call last):   File "alpaca-lora/finetune.py", line 234, in <module>     fire.Fire(train)   File ".local/lib/python3.9/site-packages/fire/core.py", line 141, in Fire     component_trace = _Fire(component, args, parsed_flag_args, context, name)   File "/home/c703/c7031420/.local/lib/python3.9/site-packages/fire/core.py", line 475, in _Fire     component, remaining_args = _CallAndUpdateTrace(   File "/home/c703/c7031420/.local/lib/python3.9/site-packages/fire/core.py", line 691, in _CallAndUpdateTrace     component = fn(*varargs, **kwargs)   File "alpaca-lora/finetune.py", line 203, in train     trainer.train()   File ".conda/envs/llama/lib/python3.9/site-packages/transformers/trainer.py", line 1639, in train     return inner_training_loop(   File ".conda/envs/llama/lib/python3.9/site-packages/transformers/trainer.py", line 1906, in _inner_training_loop     tr_loss_step = self.training_step(model, inputs)   File ".conda/envs/llama/lib/python3.9/site-packages/transformers/trainer.py", line 2652, in training_step     loss = self.compute_loss(model, inputs)   File ".conda/envs/llama/lib/python3.9/site-packages/transformers/trainer.py", line 2684, in compute_loss     outputs = model(**inputs)   File ".conda/envs/llama/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl     return forward_call(*args, **kwargs)   File ".conda/envs/llama/lib/python3.9/site-packages/peft/peft_model.py", line 575, in forward     return self.base_model(   File ".conda/envs/llama/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl     return forward_call(*args, **kwargs)   File ".conda/envs/llama/lib/python3.9/site-packages/accelerate/hooks.py", line 165, in new_forward     output = old_forward(*args, **kwargs)   File ".conda/envs/llama/lib/python3.9/site-packages/transformers/models/llama/modeling_llama.py", line 765, in forward     outputs = self.model(   File ".conda/envs/llama/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl     return forward_call(*args, **kwargs)   File ".conda/envs/llama/lib/python3.9/site-packages/accelerate/hooks.py", line 165, in new_forward     output = old_forward(*args, **kwargs)   File ".conda/envs/llama/lib/python3.9/site-packages/transformers/models/llama/modeling_llama.py", line 574, in forward     attention_mask = self._prepare_decoder_attention_mask(   File ".conda/envs/llama/lib/python3.9/site-packages/transformers/models/llama/modeling_llama.py", line 476, in _prepare_decoder_attention_mask     combined_attention_mask = _make_causal_mask( RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1. Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.

transformers version: 4.28.0.dev0
Platform: Linux-4.18.0-372.16.1.el8_6.0.1.x86_64-x86_64-with-glibc2.28
Python version: 3.9.7
Huggingface_hub version: 0.13.3
PyTorch version (GPU?): 2.0.0+cu117 (True)
Tensorflow version (GPU?): not installed (NA)
Flax version (CPU?/GPU?/TPU?): not installed (NA)
Jax version: not installed
JaxLib version: not installed
Using GPU in script?:
Using distributed or parallel set-up in script?:

Your log was saying your tokenizer doen't seem to work fine. Because your input sentence first went to attention mask and failed. It means the tokenizer can't even convert it to tensor.

I have encountered the same error as you. Have you resolved this error now?

@YSLLYW yes if you add new tokens to your tokenizer you should resize your model
model.resize_token_embeddings(len(tokenizer))

Thank you very much for your answer. Did you also encounter this error in multiple GPU environments? What specific part of the code should I modify?

@YSLLYW did you change your tokenizer or not?

是的，如果您向分词器添加新令牌，则应调整模型大小 model.resize_token_embeddings(len(tokenizer))

Hello, an error was reported in the case of multiple GPUs. How can I resolve this issue?According to your suggestion, it won't work？ RuntimeError: CUDA error: device side assert triggered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_ LAUNCH_ BLOCKING=1.
Compile with TORCH_ USE_ CUDA_ DSA to enable device-side assertions.

@YSLLYW I met the same problem, have you resolved it?

@YSLLYW I met the same problem, have you resolved it?

多卡训练的吗？

@YSLLYW Yes. I figured it out. Should add torchrun.

是的，使用torchrun --nproc_per_node=2 --master_port=1234 finetune.py

@YSLLYW Yes. I figured it out. Should add torchrun.

是的，使用torchrun --nproc_per_node=2 --master_port=1234 finetune.py

Using torchrun is not model parallelism. I can run python finetune.py directly in other environments. The device_map = "auto" used in the code


Support DarkMode option

The outputs of pikchr are not visible on a dark-background, this change can enable the reversed color scheme in pikchr.
goldmark.WithExtensions(
   &pikchr.Extender{DarkMode:true},
)

Thanks for this awesome plugin.. and the quick response for the PR, it becomes real help.

@OutOfBedlam thank you for the PR. 🙏


How to simulate using custom strategies

I'm using this to replay nuplan dataset. And I wander how to input a user built policy and simulate it like nuplan dev toolkit.
More precisely, I want to input a specific planned trajectory, then all vehicles simulated one step (either through control or direct displacement), and then input a new plan.
But now I find that nuplan can only be replayed in simulation by ReplayEgoCarPolicy. The steering wheel commands I input will not be executed, and I can't find how to input the desired trajectory like nuplan input.

Thanks for your development, I will check this.

You can develop a new policy like EnvInputPolicy, which allows you to access the external input from env.step(). This new policy can have a dict action space or just a box action space. Supposing you are building a box action space, you can make the shape of this space = num_of_vehicles_to_control * 2. Then the action from env.step(action) could be the actions for multiple agents.
I have a working-in-progress version about the policy interface of MetaDrive: https://metadrive-simulator.readthedocs.io/en/new-doc/action.html You can look into it to see if there are anything helpful

Hi Quanyi. Just a followup on this. I tried developing a policy for this but I see the observation space to be (336, 1). Can you please brief out where this shape came from. I was expecting (84, 84, 3) just like other metadrive observations but i couldn't get it to work this way. I tried modifying the configuration with topdown and other similar configurations but the observation space remains the same. I tried it for Waymo dataset.

Hi Abastola,
Have you checked this page: https://metadrive-simulator.readthedocs.io/en/latest/obs.html#customization-multisensor It allows you to customize your observation and its shape. Just pass your new observation class to the config dict. Then changes will be applied accordingly.

Yeah I tried this approach as well. I created observation like so:
class MyObservation(BaseObservation):
def init(self, config):
super(MyObservation, self).init(config)
self.rgb = ImageObservation(config, 'rgb', config['norm_pixel'])
self.depth = ImageObservation(config, "depth", config["norm_pixel"])
self.semantic = ImageObservation(config, "semantic", config["norm_pixel"])
self.state = StateObservation(config)
@property
def observation_space(self):
    os={o: getattr(self, o).observation_space for o in ["rgb", "state", "depth", "semantic"]}
    return gym.spaces.Dict(os)

def observe(self, vehicle):
    os={o: getattr(self, o).observe() for o in ["rgb", "state", "depth", "semantic"]}
    return os

and configuration like so:
cfg = {
    "use_render": args.render == "3D" or args.render == "advanced",
    #"agent_observation": MyObservation,
    #"image_observation": True,
    "agent_policy": ReplayEgoCarPolicy,
    #"agent_policy": IDMPolicy,
    #"manual_control": True,
    "render_pipeline": args.render == "advanced",
    "show_interface": True,
    "reactive_traffic": True,
    "show_logo": False,
    "show_fps": False,
    "debug": True,
    "log_level": logging.CRITICAL,
    "num_scenarios": num_scenario,
    "interface_panel": [],
    "horizon": 1000,
    "vehicle_config": dict(
        show_navi_mark=True,
        show_line_to_dest=False,
        show_dest_mark=False,
        image_source="main_camera",
        no_wheel_friction=True,
        #no_wheel_friction=False,
        lidar=dict(num_lasers=120, distance=50, num_others=4),
        lane_line_detector=dict(num_lasers=12, distance=50),
        side_detector=dict(num_lasers=160, distance=50)
    ),
    'sensors':{"rgb": (RGBCamera, *sensor_size),
              "depth": (DepthCamera, *sensor_size),
              "semantic": (SemanticCamera, *sensor_size)},
    "data_directory": database_path,
}

and finally created env like this:
env = ScenarioEnv(cfg
)
when i do env.engine.dict, i don't see sensors sensors within the namespace so am not sure if i'm missing something.

Could you set image_observation=True in the env config?
also, please update the observe function to
    def observe(self, vehicle):
        os = {o: getattr(self, o).observe(vehicle if o=="state" else vehicle.origin) for o in ["rgb", "state", "depth", "semantic"]}
        return os

Then it should work

It works. Thanks!


enhancement(compactor):  record potential oom risks in compactor components

We adjust the tcp_recv_buffer for the s3 backend implementation. However, this will break when we switch to the opendal_s3 backend.
The memory usage estimation algorithm does not take into account different backend implementations.
The memory usage estimation algorithm is unable to estimate the memory usage of in-flight uploading sst. (https://github.com/risingwavelabs/risingwave/blob/1e848526ba487836d72a29b5390689f712b50e0d/src/storage/src/hummock/sstable/multi_builder.rs#L305)

related to https://github.com/risingwavelabs/risingwave/issues/16685

#1682 introduced compactor_concurrent_uploading_sst_count to control the upload concurrency, which can reduce the memory footprint when the object store backend is slow. We decide to rely on this configuration to avoid OOM on non-standard s3 backend to ensure that we will not introduce performance overhead for compaction on s3 backend.


JSON_DIAGNOSTICS trigger assertion

Description
Hi,
I have activated the JSON_DIAGNOSTICS=1 globally in my project and ASSERTION are now fired at runtime.
I tested it on with 3.10.5 and then with latest release 3.11.2.
I have done a minimal example to reproduce the assertion (see minimal code example below)
Is there something wrong with my code?
Reproduction steps
Run the minimal code example below
Expected vs. actual results
No ASSERTION should be triggered since without the JSON_DIAGNOSTICS enabled, all seem to work without any memory issues
Minimal code example
json j = json::object();
j["root"] = "root_str";

json jj = json::object();
jj["child"] = json::object();

// If do not push anything in object, then no assert will be produced
jj["child"]["prop1"] = "prop1_value";

// Push all properties of child in parent
j.insert(jj.at("child").begin(), jj.at("child").end());

// Here assert is generated when construct new json
json k(j);

Error messages
nlohmann/json.hpp:19864: void nlohmann::json_abi_diag_v3_11_2::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >::assert_invariant(bool) const [ObjectType = std::map, ArrayType = std::vector, StringType = std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BooleanType = bool, NumberIntegerType = long, NumberUnsignedType = unsigned long, NumberFloatType = double, AllocatorType = std::allocator, JSONSerializer = adl_serializer, BinaryType = std::vector<unsigned char, std::allocator<unsigned char> >]: Assertion `!check_parents || !is_structured() || std::all_of(begin(), end(), [this](const basic_json & j) { return j.m_parent == this; })' failed.

Compiler and operating system
Clang-10 on Ubuntu 20.04
Library version
3.11.2
Validation

[ ] The bug also occurs if the latest version from the develop branch is used.
[ ] I can successfully compile and run the unit tests.

I can confirm the issue.

If I understood the code correctly, as of json k(j); the invariant is invalid for instance j due to function insert(it, it) missing a call to set_parents() after this line of code: https://github.com/nlohmann/json/blob/develop/include/nlohmann/json.hpp#L3408
Provided I got the meaning of the statement, during insertion, the properties are basically copied (inserted) to the underlying data structure ObjectType (being std::map for default nlohmann::json) and the copies keep the original parent (as no set_parents() is called during insertion).

@Romop5 Thanks for the analysis! I created a fix. Please take a look at #4537


Profiling buck2 builds and profiling UX

One of the absolute best features of Shake, IMO, is its support for emitting build profiles — both as consumable HTML reports with queries over the "lifetime" of the build cycle, as well as individual build commands exporting Chrome-compatible execution traces.
I know buck2 can profile itself to provide memory and CPU reports, but that isn't the same thing obviously. Is there any support for Shake-style build reports, or even just execution traces, as of now? I don't think there are, so I'm filing this issue. I'd really love some features like this in the long run, because they are often indispensable when finding surprising critical paths or observing how traces affect the effectiveness of the execution scheduler. I don't see why the support for this can't go far beyond Shake. There could be many visualizations of the action graph and execution traces. But it's tricky and maybe unclear how it should look, I think.
For example, the (likely widespread) usage of Remote Execution makes this possibly less necessary since presumably you can get metrics from the RE system to solve some of the same issues. On the other hand, the fact that RE exists at all might imply some other UX considerations for local buck2 invocations that are worthy of tracking. In Shake, if a command takes 10 seconds, it takes 10 seconds. But in Buck if an action takes 10 seconds and produces a ~200MB file that itself takes 3 seconds to upload into the cache (whether or not the action was remotely executed or not), both of steps have taken perceptible time. Buck could record this fact (running the command + re upload) and show the time split between the two appropriately. This is also tracked uniformly no matter what RE implementation you use, which is a bonus for end users versus the ops team.
I suspect a lot of the existing Shake HTML profile reports can be applied in some form. Because there's an internal database of state, buck also track the entire "iteration cycle", so it can display aggregate reports about say, p99 time for a target over all buck2 builds, etc.
Also. Because buck2 maintains an internal database to track state (like Shake does), and a daemon to run builds (unlike Shake) stuffing this feature inside buck2d and serving it over a local http:// endpoint for immediate consumption on all systems would count for extra bonus points.

buck writes machine readable event log (can be viewed with buck2 log show). There are spans in it (with references to parent spans). We put a lot of metrics into it, but some important metric may be missing.
This event log can be rendered as Chrome trace with buck2 debug chrome-trace.

can be viewed with buck2 log show

There's a bunch of other useful log subcommands as well, like what-ran, what-materialized, critical-path, etc. Also, buck2 debug replay can replay the superconsole for an event log (with the ability to change the speed, and can enable any of the special more detailed ui just like you could for a normal command).


Add lzf_filter

The feature hdf5-sys/static uses hdf5-src (hdf 1.10) and does not support filter plugins. hdf5-src needs to be updated.
Also it would be great if hdf5-src vendors some popular filters like lzf_filter.

Hi, I just found this crate today and I need the same thing. I would either need the LZF filter or perhaps something like the ZSTD filter.
I'm willing to devote some time on this right now, and would greatly appreciate some high-level advice on how to best implement this in the existing code base. Thanks.

Hi, I just found this crate today and I need the same thing. I would either need the LZF filter or perhaps something like the ZSTD filter.
I'm willing to devote some time on this right now, and would greatly appreciate some high-level advice on how to best implement this in the existing code base. Thanks.

Both lzf / zstd (via blosc) have been already implemented/tested and exist in a branch that will be finished and merged in a foreseeable future.

Both lzf / zstd (via blosc) have been already implemented/tested and exist in a branch that will be finished and merged in a foreseeable future.

ah great news! any ETA?  Is there any way I can get access to this branch?
What I'll do is use GZIP as a temporary work-around for the time being.

ah great news! any ETA?  Is there any way I can get access to this branch?
What I'll do is use GZIP as a temporary work-around for the time being.

It's the feature/dcpl branch but you don't want to use it directly, it's outdated, somewhat WIP and needs finishing.
No specific ETAs, but sometime soon, it's number one thing on the todo list now.

It's the feature/dcpl branch but you don't want to use it directly, it's outdated, somewhat WIP and needs finishing.
No specific ETAs, but sometime soon, it's number one thing on the todo list now.

@elbaro - for what it's worth. I make a temporary fork to handle a ZSTD plugin, available here. It's a bit hacky and by no means a final solution, but it shows you how to quickly add a LZF plugin as well. You can see the changes here. Cheers

@elbaro - for what it's worth. I make a temporary fork to handle a ZSTD plugin, available here. It's a bit hacky and by no means a final solution, but it shows you how to quickly add a LZF plugin as well. You can see the changes here. Cheers

Thanks. To use plugins without patch, I built liblzf_filter.so from h5py and the system hdf5 (the version that supports filter plugin) picks it up in runtime.

Thanks. To use plugins without patch, I built liblzf_filter.so from h5py and the system hdf5 (the version that supports filter plugin) picks it up in runtime.

I've just pulled the latest master branch and it works great with my ZSTD shared library plugin. I'll delete my fork.
Thanks!


Sirtifi contacts cascade delete

Previously deleting an ED with a sirtfi contact would result in a
failure such as:
/opt/saml/repository/vendor/bundle/ruby/2.4.0/gems/mysql2-0.5.1/lib/mysql2/client.rb:131:in `_query':
Mysql2::Error: Cannot delete or update a parent row: a foreign key constraint fails
(`saml_production`.`sirtfi_contact_people`, CONSTRAINT `sirtfi_ed_cp_fkey` FOREIGN KEY
(`entity_descriptor_id`) REFERENCES `entity_descriptors` (`id`))
(Sequel::ForeignKeyConstraintViolation)

This PR additionally:

Solves a problem running SAML service on MySQL 5.7.5+
Addresses known security vulnerabilities in dependencies.

hmm, why is codeship not invoking here...

Hi @bradleybeddoes , happy to confirm changes in f99eaf4 would fix #166 - thanks for the fix!
Cheers,
Vlad

Fixes #166


Document or remove Lexer::sublexer.

Sublexers are useful to constrain error spans, so will not be removed. Documenting them is part of a larger documentation project.


Appstudio update test-component-pac-bfgv

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-bfgv-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
17 seconds
clone-repository

✅ Succeeded
31 seconds
build-container

✅ Succeeded
16 seconds
inspect-image

✅ Succeeded
14 seconds
deprecated-base-image-check

✅ Succeeded
33 seconds
clamav-scan

✅ Succeeded
8 seconds
clair-scan

✅ Succeeded
9 seconds
sbom-json-check

✅ Succeeded
13 seconds
label-check

✅ Succeeded
13 seconds
optional-label-check

✅ Succeeded
6 seconds
show-sbom

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-component-pac-bfgv-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
17 seconds
clone-repository

✅ Succeeded
31 seconds
build-container

✅ Succeeded
16 seconds
inspect-image

✅ Succeeded
14 seconds
deprecated-base-image-check

✅ Succeeded
8 seconds
clair-scan

✅ Succeeded
33 seconds
clamav-scan

✅ Succeeded
9 seconds
sbom-json-check

✅ Succeeded
13 seconds
label-check

✅ Succeeded
13 seconds
optional-label-check

✅ Succeeded
7 seconds
show-summary

✅ Succeeded
6 seconds
show-sbom

Pipelines as Code CI/test-component-pac-bfgv-on-pull-request has successfully validated your commit.


"Implement missing members" assist adds unnecessary unused lifetime parameter<'_>

rust-analyzer version: 2020-04-13 (c388130)
To reproduce, invoke "Implement missing members" assist on the following program:
struct S;
impl std::fmt::Display for S {}

Expected result:
impl std::fmt::Display for S {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { todo!() }
}

Actual result:
impl std::fmt::Display for S {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { todo!() }
}

When using #![warn(rust_2018_idioms)] the result you expected will give a warning, while the actual result doesn't.

Yep, this is sort-of "as designed" so far. But I wonder if there's a tracking issue for this lint in rust-lang/rust? Has the idea of restricted this lint to the cases where there isn't an & already been floated around?


Added virtual schedule

While I understand your point about leaving more time for lunch, have you considered the cost? Lunch would end at 1:30, the session would end at 3:00, and the discussion time would end at 4:00. Lauren is saying that in-person content shouldn’t be schedule until after the virtual discussion time, so then you have 4:00–5:00 p.m. for the afternoon in-person time. In my opinion, that is too short.
But, feel free to bring it up with Frank, as long as the pros and the cons are considered.


Add STP2 schema updates to Employees API - xero-payroll-au.yaml

Captures all the schema updates made to the AU Employees API as part of the STP 2 Initiative.
These are breaking changes and require a major version bump.
Description
A detailed description of changes can be found here in the Xero API Developer Docs.
Screenshots (if appropriate):
N/A
Types of Changes

[x] New feature (non-breaking change that adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

@RettBehrens Could you please review this PR? 🙏

@rdemarco-xero could you review as well when you have a chance? Thanks!

Hey all. I still have reservations about the CountryOfResidence not being an enum.
I understand the docs don't currently indicate restrictions but how does the API validate this? Is it checking against a known list?
State Abbreviations documented for AU Payroll are an enum for example:
State:
      type: string
      description: State abbreviation for employee home address
      example: VIC
      enum:
      - ACT
      - NSW
      - NT
      - QLD
      - SA
      - TAS
      - VIC
      - WA

Additionally, while this will be the addition of Country Code to the AU Payroll yaml, where it's in use in the Accounting yaml it's defined as an enum.

@GeorgeBillsXero What's your opinion on converting CountryOfResidence into an enum to make it consistent with the other similar fields

Are we still considering this a breaking change or is it a MINOR version bump instead of MAJOR now?

Are we still considering this a breaking change or is it a MINOR version bump instead of MAJOR now?

Yes you're right, I'm updating this to a minor upgrade now since it's not a breaking change anymore.

Looks good to go! Give me the thumbs up and we'll merge and release

@RettBehrens Happy for you to merge and release! Thanks for reviewing it 💯
cc: @GeorgeBillsXero


controllers: fix go fmt issue

Signed-off-by: Nitin Goyal<EMAIL_ADDRESS>

/override ci/prow/odf-operator-bundle-e2e-aws


ToC & Information Architecture

Language chooser, move that to be global? -> IA and TOC
Move to having a single, global TOC across all pages. And punt on rejiggering the display or organization of that TOC.
Add breadcrumbs for docs?

See also the discussion in #814 regarding unified TOC.

Moving to next milestone. We'll be making some larger infrastructure changes for pulumi.io, and it will fall out of that.

With the website migration behind us, we'll be tackling this next milestone.

[ ] Consider moving /docs/quickstart/ to the root, e.g. /get-started (and decide where we want tutorials to live long term)

This includes improving the /docs table of contents to be easier to navigate. Right now most docs are buried under Reference.

[ ]  Consider moving /docs/quickstart/ to the root, e.g. /get-started (and decide where we want tutorials to live long term)

I'm in favor of doing /docs/get-started for consistency if you meant moving it to pulumi.com/get-started instead. Does Hugo support folder redirects so we don't have to add aliases to the individual pages?

I think tutorials can be its own category.

This includes improving the /docs table of contents to be easier to navigate. Right now most docs are buried under Reference.

@justinvp I'd like to give this a quick pass this week. @lukehoban had suggested we could either have Get Started and Reference expanded by default or move up the menu items under Reference. What do you think of this proposed new navigation?
- Intro to Pulumi / What is Pulumi? (/intro)
  - Architecture & Concepts
    - Programming Model
    - Projects
    - Stacks
    - Configuration and Secrets
    - Organizing Projects and Stacks
    - How Pulumi Works
    - State and Backends
  -  Pulumi vs. Other
     - Terraform
     - Cloud Templates
     - Cloud SDKs
     - Serverless
     - Kubernetes YAML
     - Chef, Puppet, etc.
     - Custom Solutions
  - Supported Clouds and Languages
     - Cloud Providers
        - AWS
        - Azure
        - Google Cloud
        - Kubernetes
        - OpenStack
     - Languages
        - Node.js
        - Python
- Download and Install
- Changelog (probably should rename to release notes?)
- Get Started
- Tutorials
  - AWS
    - ...
  - Examples (eventually we'll add a table like this: https://docs.docker.com/samples/)
- Reference
  - API
  - CLI
- Teams & Collaboration
- Continuous Delivery
- Help and Support
  - Troubleshooting
  - FAQ

We should also be thinking about adding a glossary page eventually, since I've heard we haven't been very consistent with our terminologies on the site. Can I get your thoughts on this as well, @cnunciato ? Also, let me know if this isn't very easy to parse and I can share in a different format.

I'm in favor of doing /docs/get-started for consistency if you meant moving it to pulumi.com/get-started instead.

I was wondering if we should elevate it to pulumi.com/get-started, but thinking about it more, it does seem to make sense to remain with the rest of the docs content, so I'd be fine with it being under /docs (preferably /docs/get-started).

Does Hugo support folder redirects so we don't have to add aliases to the individual pages?

Not that I'm aware of, but we could add a little bit of code to the Pulumi program that handles the site's infrastructure to make it easier to move whole folders via S3 redirects (same approach we use for redirecting the old domains) instead of using Hugo aliases to handle the redirects.

I think tutorials can be its own category.

Sounds good.

What do you think of this proposed new navigation?

I like the direction of this! Some comments...

Intro to Pulumi / What is Pulumi? (/intro)

Just thinking out-loud: wondering if this should be "About Pulumi" (at /docs/about or /docs/about-pulumi), similar to the TOC for Hugo's docs: https://gohugo.io/documentation/. Though, I could see that being confusing with the overall site's pulumi.com/about which is more about the company.

Changelog (probably should rename to release notes?)

We recently talked about just getting rid of this as a top-level page in the TOC and just incorporating it into the "Download and Install" page in some way. See #1236.

Get Started

I think Get Started should be the first item in the TOC, or just under the Intro/About Pulumi bullet. And we may want to put "Download and Install" as the next bullet under it.

Examples (eventually we'll add a table like this: https://docs.docker.com/samples/)

Great idea!

Reference

I like grouping API and CLI under this -- but I do worry about that the API docs might be harder to find unless the top-level Reference is always expanded.

Teams & Collaboration

We currently have most of our "Pulumi Service"-related docs in here. I believe @chrsmith had mentioned at one point possibly doing something different for our the "Pulumi Service"-specific docs, potentially having a top level "Pulumi Service" element in the TOC and putting service-related docs under it.

We should also be thinking about adding a glossary page eventually, since I've heard we haven't been very consistent with our terminologies on the site

Glossary page is a great idea!

Overall one thing we should keep in mind is the level of nesting. Right now, the deepest we've gone is 3 levels of nesting, and with our current styles/design it starts to get pretty cramped at the 3rd level. So if we want to have additional nesting, we'll have to ensure it works nicely.

I'm going to close this. We've made good progress this milestone with improving the navigation of the TOC and have an implementation of the breadcrumb that's just pending moving some pages around in the hierarchy.
The breadcrumb is based on the directory structure of the pages (and I'd like to keep it this way vs. an artificial hierarchy layered on top), and we have some places where the structure doesn't quite make sense currently. For example, the "Command Line" page is at docs/reference/commands/ but the actual pages are at docs/reference/cli/*. Similarly the "Teams & Collaboration" and "Continuous Delivery" areas have some pages under docs/reference/ and others under docs/reference/service. We're planning to rationalize the service docs in #316, so rather than do an initial round of moving things around, just to be potentially moved around again, we should do the moves as part of the same effort, then check-in the breadcrumb. I've opened #1491 to track landing the breadcrumb in M26.
@bermudezmt, are there any other issues that we should open and track for M26? Do we have an issue tracking add a "landing page" for all the packages, to make the Node vs. Python docs feel less bifurcated?

@justinvp I added it as a list item under the "Improved landing pages" issue. We can fill in more details later.

Reopening to track doing one more pass over this. Our left ToC is a little too large now, the distinction between "Reference" and "Pulumi Cloud Console" is slightly odd (they aren't terms in a comparable set), and I know Maria has a number of other good ideas on what to do here.

@bermudezmt Now that we've landed the new TOC, I am okay closing this if you are :-)


use URL constructor to handle all types of links

This should enable to handle all types of relative URLs defined in RFC: https://www.rfc-editor.org/rfc/rfc3986#section-5.4

hmm can you give example where the particular link cant be scraped?

Example is in the issue.
I added screenshots for Release and patched version:
https://github.com/FlowiseAI/Flowise/issues/1741#issuecomment-1954120451

I also added a Chatflow to reproduce the example:

https://github.com/FlowiseAI/Flowise/files/14310194/Relative.Link.Repro.Chatflow.json

@chungyau97 can you take a look at this?

Hi @ape-nq, thanks for the PR.
I wasn't aware that URL() will handle href and baseurl itself.
https://developer.mozilla.org/en-US/docs/Web/API/URL/URL#examples

Hi @ape-nq, you need to update your repo main branch and merge it into this branch to resolve run fail.

Thank you and the other Flowise contributors! It really helped me to get started with RAG chatflows. Glad I could help by sending my fix upstream.


adding segment routing statistics support

per-SID statistics will have the same counters written to DB as regular RSVP MPLS LSPs
per-Interface (ingress/egress) SR statistics will be written to DB with same counter IDs as per-Interface statistics

@dgarros @mpergament   guy could you please help us with this pull-request?
thx


async await bug with external subtitles

hi @lukasf
Just found this bug today, unfortunately, tomorrow is vacation time for 1 week so i don't know if I'll be able to fix it.

Run the CS sample, open a video file
Attach an external subtitle using ffmpeg (not the windows API)
The following error trace will occur:

FFmpegInteropX.dll!std::_Mutex_base::unlock() Line 67	C++
FFmpegInteropX.dll!std::lock_guardstd::recursive_mutex::~lock_guardstd::recursive_mutex() Line 433	C++
FFmpegInteropX.dll!winrt::FFmpegInteropX::implementation::FFmpegMediaSource::AddExternalSubtitleAsync$_ResumeCoro$1() Line 1279	C++
FFmpegInteropX.dll!std::experimental::coroutine_handle::resume() Line 107	C++
FFmpegInteropX.dll!std::experimental::coroutine_handle::operator()() Line 99	C++
FFmpegInteropX.dll!winrt::impl::resume_apartment_callback(winrt::impl::com_callback_args * args) Line 8813	C++

This seems to be caused by

co_await caller;

line 1277 in FFmpegMediaSource.
I think it may be a compiler bug with the lock_guard not handling the co_await correctly.

Huh interesting. lock_guard is expected to work with co_await, although it is not recommended for different reasons. Does this happen in the sample app as well? I will look into this when I return from my vacation.

Yes. This is going on in the sample.

Airplane reading.  Yes,  lock_guard is a synchronous lock.  It most likely won't work properly with co_await.  This might cause subtle hidden bugs in prod environments. It is equivalent to use lock statements in async blocks in c#.
We should probably switch to manual mutex lock/unlock for async methods.


Avoid triggering onSelect callback during create

According to pikaday's documentation, onSelect should only be called when the user explicitly sets a date.

Hi @cpinto, thanks for PR. Please update your commits to comply with https://github.com/semantic-release/semantic-release.

:tada: This issue has been resolved in version 1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update api.md

selectAllScrapes: true seems to be changed to selectAllByDefault: true

Hello, thanks for the fix!
But the api.md is generated by types struct and need to be updated by make doc, please check https://github.com/VictoriaMetrics/operator/pull/840 instead.

ok