Winbond: esp_flash_read_chip_id reads unaligned CHIP_ID (IDFGH-7993)

Using ESP32S3
Using Winbond W25N01GVZEIG
Using ESP-IDF v4.4.2
If we initialize the Flash using esp-idf provided libraries we read the following wrong output:
I (00:02:52.523) spi_flash: trying chip: issi
I (00:02:52.527) spi_flash: trying chip: gd
I (00:02:52.532) spi_flash: trying chip: mxic
I (00:02:52.537) spi_flash: trying chip: winbond
I (00:02:52.542) spi_flash: trying chip: boya
I (00:02:52.547) spi_flash: trying chip: th
I (00:02:52.552) spi_flash: trying chip: mxic (opi)
I (00:02:52.558) spi_flash: trying chip: generic
I (00:02:52.563) spi_flash: detected chip: generic
I (00:02:52.568) spi_flash: flash io: fastrd
I (00:02:52.573) winbond: Chip driver: 'generic', device ID: 0xFFEFAA

Instead of 0xFFEFAA the Chip ID should be 0xEFAA21.
If we use custom code and just the SPI bus we are able to read the correct CHIP_ID.
We cannot use our custom code because we would like to use the wear leveling implementation from IDF.
We tried changing speed, input_delay, DMA enabled, and to follow the code until the general purpose spi command.
Here is the initialization code we used for using the flash apis:
    esp_err_t r;
    struct {
        uint32_t id;
        esp_flash_t* dev;
        esp_partition_t const* part;
    } flash;

    spi_bus_config_t bus_cfg = {
        .mosi_io_num = CONFIG_NAND_MOSI_GPIO,
        .miso_io_num = CONFIG_NAND_MISO_GPIO,
        .sclk_io_num = CONFIG_NAND_SCK_GPIO,
        .quadwp_io_num = -1,
        .quadhd_io_num = -1,
        .max_transfer_sz = NAND_COLUMN_SIZE,
    };

    /* initialize the SPI bus */
    r = spi_bus_initialize(SPI3_HOST, &bus_cfg, SPI_DMA_CH_AUTO);
    if (ESP_OK == r) {
        const esp_flash_spi_device_config_t dev_cfg = {
            .host_id = SPI3_HOST,
            .cs_id = 0,
            .cs_io_num = CONFIG_NAND_CS_GPIO,
            .io_mode = SPI_FLASH_FASTRD,
            .speed = ESP_FLASH_5MHZ,
            .input_delay_ns = 10,
            };

        r = spi_bus_add_flash_device(&flash.dev, &dev_cfg);
        if (ESP_OK == r) {
            r = esp_flash_init(flash.dev);
            if (ESP_OK == r) {
                r = esp_flash_read_id(flash.dev, &flash.id);
            }
        }
    }

    if (ESP_OK == r) {
        ESP_LOGI(
            "winbond",
            "Chip driver: '%s', device ID: 0x%X",
            flash.dev->chip_drv->name,
            flash.id
            );
    } else {
        ESP_LOGE("winbond", "external flash initialization failed (%d)", r);
    }

Here is the extract from our custom code for reading the chip id which works:
error_t nand_spi_init(void)
{
    gpio_set_level(CONFIG_NAND_CS_GPIO, 1);
    gpio_config_t cs_cfg = {
        .pin_bit_mask = BIT64(CONFIG_NAND_CS_GPIO),
        .mode = GPIO_MODE_OUTPUT,
    };
    gpio_config(&cs_cfg);

    error_t err;
    spi_bus_config_t buscfg = {
        .mosi_io_num = CONFIG_NAND_MOSI_GPIO,
        .miso_io_num = CONFIG_NAND_MISO_GPIO,
        .sclk_io_num = CONFIG_NAND_SCK_GPIO,
        .quadwp_io_num = -1,
        .quadhd_io_num = -1,
        .max_transfer_sz = NAND_COLUMN_SIZE,
    };

    /* Initialize the SPI bus peripheral */
    err = spi_bus_initialize(NAND_HOST, &buscfg, SPI_DMA_CH_AUTO);
    if (err != SYS_OK) {
        return err;
    }

    spi_device_interface_config_t devcfg = {
        .command_bits = 0,
        .address_bits = 0,
        .dummy_bits = 0,
        .clock_speed_hz = NAND_FLASH_CLK_FREQ,
        .mode = 0, /* SPI mode 0 */
        .spics_io_num = -1, //not used - handled manually
        .queue_size = 1,
        .flags = 0,
        .cs_ena_pretrans = 1,
        .cs_ena_posttrans = 1,
    };

    /* Attach a device to the SPI bus */
    return spi_bus_add_device(SPI3_HOST, &devcfg, &spi);
}

error_t nand_device_id(uint32_t* id)
{
    error_t r;
    /* read device ID: Manufacturer and Device Identification */
    uint8_t buff[5] = { NAND_JEDEC_ID, 0x00, 0x00, 0x00, 0x00 };
    r = nand_spi_command(buff, sizeof(buff), buff, sizeof(buff), false);
    if (SYS_OK == r) {
        *id = (buff[2] << 16) | (buff[3] << 8) | buff[4];
//        if ((buff[2] != WINBOND_MAN_ID) || (dev_id != W25N01GV_DEV_ID)) {
//            r = SYS_EOBJECT;
//        }
    }

    return r;
}

error_t nand_spi_command(
    const void* txbuf,
    size_t txlen,
    void* rxbuf,
    size_t rxlen,
    bool keep_cs
    )
{
    spi_transaction_t transaction = {
        .length = txlen * 8,    /* length in bits */
        .rxlength = rxlen * 8,  /* should be not greater than .length */
        .tx_buffer = txbuf,
        .rx_buffer = rxbuf,
    };

    if (transaction.length < transaction.rxlength) {
        return SYS_EINVAL;
    }

    gpio_set_level(CONFIG_NAND_CS_GPIO, 0);
    esp_err_t esp_err = spi_device_polling_transmit(spi, &transaction);
    if (!keep_cs) {
        gpio_set_level(CONFIG_NAND_CS_GPIO, 1);
    }
    return translate_error(esp_err);
}

@johnboiles , saw you are using winbond flashes. Do you managed to use the esp_flash_init correctly?
Meaning, do you manage to have idf choose the winbond driver for your flash? Or you see it going to the generic driver as in our case? Thanks!

Working on this.
Apparently the difference between the SPi direct approach and the Flash_SPI driver is in the handling of the MISO pin.
The Flash driver is sending 4 bytes instead of 5 bytes, as requested by the JEDEC ID

4 BYTES FLASH Driver (reading unaligned FF)

5 BYTES SPI Driver (working)

Also the ESP Flash driver MISO is 1 by default (?)

Apparently other chips do not have the 8 dummy clocks in the middle

I'm using W25Q512JVEIQ  and I have flash detection enabled and auto-detection worked fine for me out of the box (of course with the capacity detection fix in place). Perhaps this is something specific to the 1gbit chips?
Here are the logs I see:
D (1650) FLASH_HAL: extra_dummy: 0
V (1653) memspi: raw_chip_id: 2040EF

V (1656) memspi: chip_id: EF4020

V (1660) memspi: raw_chip_id: 2040EF

V (1664) memspi: chip_id: EF4020

D (1667) spi_flash: trying chip: issi
D (1671) spi_flash: trying chip: gd
D (1674) spi_flash: trying chip: mxic
D (1678) spi_flash: trying chip: winbond
I (1682) spi_flash: detected chip: winbond
I (1687) spi_flash: flash io: dio

yes it's related to newest chips, which usually mean higher capacity.
I think it's related to the command addressing line being 16 bits instead of 8, and this made them add 8 dummy bit clocks after the standard chip id command.
As you can see above also macronix implements the same procedure.


Disable/Show [Language]-Version of Autogenerated Warning

Is there a way to only display the "Autogenerated" warning in your set language / disable it?
I mean this:
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------

Something like this would be great:
generatewarning: (auto) && uses Language-Option
generatewarning: (off)  && does not display warning
generatewarning: EN     && Display in English

Hi:
There is no option implemented to turn off the warning.

Is there a chance you could implement it?

I'm sorry, but I can't, because this implies many modifications, new parametrization, testing and time that right now I don't have, for something that really does not improve functionality.
Only bug fixes I can afford.


flake-20230414-1: mesa-git, sway-git, wlroots-git

8 packages failed

I wish I had read that, I apologise for who is reading this.


I am getting an error: Bitrate 64 is not supported when Profile/Channels/SamplingRate is AACLC/2/48000!

Encoding restrictions/recommendation would be helpful for custom presets.
I am getting an error: Bitrate 64 is not supported when Profile/Channels/SamplingRate is AACLC/2/48000!

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

ID: 9cff495a-1954-5e78-6d6d-71e9948f7f84
Version Independent ID: 98720b10-0e55-5b1f-1510-be135724aa95
Content: Task Presets for Media Encoder Standard (MES)
Content Source: articles/media-services/previous/media-services-mes-presets-overview.md
Service: media-services
GitHub Login: @Juliako
Microsoft Alias: juliako

@SalmaTofaily Thank you for your feedback! We will investigate and get back to you with the relevant info.

Hi @SalmaTofaily I will close this issue for now, but will validate & discuss with product team as well as the content author of this documentation.


check_misbehaviour_and_update_state(): commit verification might use the wrong chainId

In ibc-go, the chainID's revision_number is substituted with the header's revision_number before validator set commit verification (here). Our current implementation does not do that (here).

Curiously, we make the substitution before ensuring that chain id match here. I am not sure if this is equivalent (i.e. if our chainID does not match both headers' chain IDs, then the commit verification would fail)


Remove SUSE from default page title

Bugzilla 1082464 - replaced "SUSE OpenStack Cloud Deployer" with "OpenStack Cloud Deployer" in the page title

Sorry but this is just wrong for multiple reasons.

This is not a fix but more a workaround; we must have SUSE in the title as this is the product name.
The real fix would be to to replace SUSE with HPE in the branding patch we have in the package.
 There was a mail on cloud-devel and this is also how gerrit expects/forces it; in this critical phase there should be no commit without Jira or Bugzilla reference in the commit header.

So please revert this change and fix it properly.

@rsalevsky the title does have SUSE in it , the javascript code updates from the default in html to the branded version (it will up to SUSE in the SUSE version). The issue is that there is a split second where the default HTML title is shown before the javascript can update it. It's less confusing for customers who are watching carefully to see it change from "OpenStack..." to "HPE OpenStack.." or "SUSE OpenStack..." than it is for it to change from "SUSE OpenStack..." to "HPE OpenStack..." . Rest assured that the fully loaded product will have SUSE in the title.


Implement changes from my PR

We could implement the changes from https://github.com/EddieHubCommunity/awesome-github-profiles/pull/652 to make the website better.
Let me know what do you think. Thanks.

Yes I do that

Plz do it

@Panquesito7

You are our team member Plz do what to do

@Panquesito7 @VasudevJaiswal We need to try and change whatever we are doing to be different to Eddie Jaoude's organisation.
I will try to change some things too.
Thanks.

But I  need to bot auto msg yml for user interface because user can attract for the bot

@VasudevJaiswal I am trying to make it, but I am not sure how. We need a custom .yml file, and I need to configure the bot. Thanks.

@CodingSpecies
We will try it no problem

I did make it, but I need to try it out.

The thing is, you have to be a new contributor, to make your first ever pr or issue

@CodingSpecies  @Panquesito7

we are making  a github pages
Which is real voting system ( page)   for Unique-github-profile  for users profile
All user voting wise Rank table

this is the web page so far: https://jaidevstudio.github.io/Unique-Github-Profiles/

this is the web page so far: https://jaidevstudio.github.io/Unique-Github-Profiles/

Points Voting system for user
points wise table


How can we change the interval time ?

The MyAmbiance can set the interval time. If we change it to 1 minute via the app and the sensor reboots, it goes back to the default 10 minute.

Hi,
to permanently change the interval time, you need to modify the private _historyIntervalMilliSeconds member in the DataProvider class. Concretely, you need to navigate to the folder where the library is installed (likely ~/Arduino/libraries/Sensirion_Gadget_BLE_Arduino_Lib) and in src/DataProvider.h change the line
uint64_t _historyIntervalMilliSeconds = 600000; // = 10 minutes

to
uint64_t _historyIntervalMilliSeconds = 60000; // = 1 minute

for an interal time of 1 minute.
Best regards and hope this helps!

Ok. My sensor has a menu where the user may change the intervals. So I need to dynamically adjust the _historyIntervalMilliSeconds and tell the user to adjust it in the app when they do change it.
I'll probably submit a pull request to have a public function to change _historyIntervalMilliSeconds. Unless you want to do it ;-)

Makes sense.
Also, I guess that the only valid _historyIntervalMilliSeconds value are the ones shown in the app dropdown selection ?

Hej @NetForces
As far as I know an other interval than the ones proposed in myAmbience could be selected.
myAmbience just provides a few presets.
Cheers
Q.
(Since this issue is very old, I will close it soon. Unless you come with new questions)


python3Packages.build: 0.3.0 -> 0.5.1

Motivation for this change
Update to latest upstream release 0.5.1
Change log: https://pypa-build.readthedocs.io/en/stable/changelog.html
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 129044 at d91979fb run on aarch64-linux 1

1 package failed to build:

devpi-client

4 packages built successfully:

python38Packages.build
python38Packages.check-manifest
python39Packages.build
python39Packages.check-manifest

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.

Looks like devpi-client is not compatible with its yaml library:
AttributeError: 'DynamicStrictYAMLLoader' object has no attribute 'comment_handling'

Concur - devpi-server is preventing us testing devpi-client.
On macos 10.15:
builder for '/nix/store/p5s459kmh613qkc1ncs71v7pj90i0map-python3.8-build-0.5.1.drv' failed with exit code 1; last 10 log lines:
          executable, script_dir, purelib = _find_executable_and_scripts(path)

          # Get the version of pip in the environment
  >       pip_distribution = next(iter(metadata.distributions(name='pip', path=[purelib])))
  E       StopIteration

  /nix/store/8adwxjj0ka1ynd7ly6bg6myj0cjqhgvv-python3.8-build-0.5.1/lib/python3.8/site-packages/build/env.py:221: StopIteration
  =========================== short test summary info ============================
  FAILED tests/test_env.py::test_can_get_venv_paths_with_conflicting_default_scheme
  ================= 1 failed, 70 passed, 51 deselected in 25.62s =================


Fixes for TinyGo 0.26.0

Fixes #7 #8
Signed-off-by: Takeshi Yoneda<EMAIL_ADDRESS>

Great! Thanks!

sorry I had noticed the tinygo problem earlier, but should have escalated it.


DistributionReminderJob can probably just be a regular method call, as a treat

Summary
app/jobs/distribution_reminder_job.rb does a straight lookup and then queues a mailer if certain conditions are met. These conditions are also checked in the mailer itself.
As @edwinthinks noted, we probably don't need to have this done in a job at all, especially since the mailer runs through a queue as it is. This can likely be moved to just a regular degular method call.
Things to Consider
There's currently a check for "should this be sent at all?" happening in the mailer itself -- while I don't entirely disagree that it's a good thing to have it there as a final check, we really don't want to queue it up at all if it's not mailable.
Can that guard clause be changed / improved? It needs to not send if it's a distribution in the past or if the organization doesn't want reminders sent.
Criteria for Completion

[ ] Deletion of DistributionReminderJob
[ ] Update all specs accordingly (may need to also delete spec/jobs/distribution_reminder_job_spec.rb)
[ ] Ensure the functionality is preserved and that it is still covered by a spec.

Opened https://github.com/rubyforgood/diaper/pull/1624 for this :)


Handling a dynamic number of action buttons

At the moment, I working on a layout that requires:

drag & drop: but that's not available I suppose

a dynamic number of buttons: I have a number of rows.  Each should contain a button.  Like a delete button.  I can make an id for it in my loop to have a different id for each row/button.  However, how do I trap the click on a button.  It's always input.id_of_the_control.

I struggle with this as well. A (cumbersome) workaround I use is to create an n amount of servers (containing the event handler for the button click) and accompanying UIs with a ui.output_ui element. I then add the ui to the output_ui at runtime when i know how many i need. This works, but is not really dynamic. I hope there's a better way!

Thanks @vindevoy and @DvGils, I agree and have certainly encountered the problem with a dynamic number of inputs in my own work. That said, it'd be very helpful if either or both of you could provide a small example that encapsulates the kinds of apps you've been building. It'd be helpful to see how this arises for you and to make sure I don't over-index on my own experiences 😄

Above is a screenshot of a very early version of what our tool would be.
The data comes in via dataframes, most likely via notebooks.  They will be passed in the call of the run of the application.
Then we need to easily be able to do pivot tables.
The ultimate goal is to mimic pivottable.js.  For now without drag and drop.  We will add a button to export the code.  So our  data people will get their data from one of our sources, filter it and then pivot it.  The button gives them the code to paste in a Jupyter notebook so they can execute it again from code in their notebook.  We have another tool to group and visualize the notebooks in html based on nbconvert.
In my screenshot, you can see I run it as desktop application and I'm using iTables for the data grid.

@gadenbuie for my use case, the user inputs a file that contains survey data. For each question in the survey, I want to allow the user to overwrite some default settings, like the visual that will be created for that question.
An example where the user can upload a file (let's say csv) and for each column in the data create a container with an input_selectize and how to capture its input would be very helpful.

Thanks for the context, it certainly helps. I think both cases are strong contenders for using Shiny modules, which lets you encapsulate UI and server logic in your apps. At the very least, if Shiny modules aren't a good fit here, it'd be useful to talk through how they're a mismatch.
I don't have time to fully recreate a small example app that matches your descriptions, but if you were able to provide example code I'd be able to take a look and possibly provide some recommendations.

It is difficult to write an example for something I don't know how to do (and maybe is impossible in shiny).
But let's take the example from the modules page:
from shiny import App, module, render, ui

@module.ui
def row_ui():
    return ui.layout_columns(
        ui.card(ui.input_text("text_in", "Enter text")),
        ui.card(ui.output_text("text_out")),
    )

@module.server
def row_server(input, output, session):
    @output
    @render.text
    def text_out():
        return f'You entered "{input.text_in()}"'

extra_ids = ["row_3", "row_4", "row_5"]

app_ui = ui.page_fluid(
    row_ui("row_1"),
    row_ui("row_2"),
    [row_ui(x) for x in extra_ids]
)

def server(input, output, session):
    row_server("row_1")
    row_server("row_2")
    [row_server(x) for x in extra_ids]

app = App(app_ui, server)

In this example (and all other examples for modules), you know beforehand how many rows you need and they are hardcoded. It is unclear to me how I would create these rows dynamically, for instance, how would i create a row for each column in a csv file uploaded by the user? It is also unclear to me how I would capture the input for "text_in" within the main server for a specific row. Let's say we want to create a dictionary where the keys are the ids of the rows and the values are the text that was provided. How would you do that?
Hopefully you can provide some recommendations!

@gadenbuie
Garrick, sorry, but here I disagree with you.  Let me explain.
Although using modules is a better technique than putting it all in one file, it still lacks things.  Plus, I'm more a classes user than I am a module creator, if you understand what I mean.
I have created an example that uses Shiny core in a MVC pattern (but the M is still missing as this is still just an example).  I give you my code here.
Notes:

my code is biased towards using only named parameters.
cutting the controller into smaller pieces is overkill in this small example.  It's just POC code to see if I can split things easily.
in a larger application, I would split my view also into the different parts of the gui.
I should extend my ShinyApp class into ShinyWebApp and ShinyDesktopApp.  I have this code elsewhere, but did not include it here.

main.py
from app import ShinyApp
from controller import ShinyController
from view import ShinyView

if __name__ == "__main__":
    my_app = ShinyApp(view_builder=ShinyView, controller_builder=ShinyController)
    my_app.run()

app.py
from shiny import App

from controller import ShinyController
from view import ShinyView

class ShinyApp:
    def __init__(self, *, view_builder, controller_builder):
        self.view: ShinyView = view_builder(self)
        self.controller: ShinyController = controller_builder(self)
        self.app = App(self.view.build(), self.controller.build)

    def run(self):
        self.app.run()

view.py
from datetime import datetime

from shiny import ui

class ShinyView:
    def __init__(self, application):
        super().__init__()

        from src.oo.main import ShinyApp
        self.application: ShinyApp = application

    @staticmethod
    def build():
        return ui.page_fixed(
            ui.h1("A touch of classes in Shiny"),
            ui.output_text("txt_date_time"),
            ui.output_ui("btn_counter"),
            ui.output_ui("txt_counter"),
            ui.output_ui("btn_reset")
        )

    @staticmethod
    def btn_counter():
        return ui.input_action_button(id="btn_counter", label="Add")

    @staticmethod
    def btn_reset():
        return ui.input_action_button(id="btn_reset", label="Reset")

    @staticmethod
    def txt_date_time(*, calc_time_func):
        return f"It's currently {calc_time_func().strftime('%Y-%m-%d %H:%M:%S')}"

    @staticmethod
    def txt_counter(*, start: datetime, clicks: int = 0, neglect: int = 0):
        if clicks == 0 or clicks == neglect:
            return ui.p("You clicked 0 times")

        return ui.p(f"You clicked {clicks - neglect} "
                    f"times in {datetime.now() - start} seconds!")

controller.py
from datetime import datetime

from shiny import reactive, render

from event import ShinyEventController
from logic import ShinyLogicController

class ShinyController:
    def __init__(self, application):
        from main import ShinyApp
        super().__init__()

        self.application: ShinyApp = application

        self.logic = ShinyLogicController()
        self.event = ShinyEventController()

    def build(self, inputs, outputs, sessions):
        from view import ShinyView  # circular import

        assert outputs is not None
        assert sessions is not None

        _start = reactive.value(datetime.now())
        _neglected_clicks = reactive.value(0)

        __view: ShinyView = self.application.view

        @reactive.effect
        @reactive.event(inputs.btn_reset)
        def on_btn_reset():
            self.event.on_btn_reset(clicks=inputs.btn_counter(), start=_start,
                                    neglected_clicks=_neglected_clicks)

        @render.text
        def txt_date_time():
            return __view.txt_date_time(calc_time_func=self.logic.calc_time)

        @render.ui
        def btn_counter():
            return __view.btn_counter()

        @render.ui
        def btn_reset():
            return __view.btn_reset()

        @render.ui
        def txt_counter():
            return __view.txt_counter(start=_start(), clicks=inputs.btn_counter(),
                                      neglect=_neglected_clicks())

logic.py
from datetime import datetime

from shiny import reactive

class ShinyLogicController:
    @staticmethod
    def calc_time():
        reactive.invalidate_later(1)
        return datetime.now()

event.py
from datetime import datetime

from shiny import reactive

class ShinyEventController:
    @staticmethod
    def on_btn_reset(*, clicks: int, start: reactive.Value, neglected_clicks: reactive.Value):
        start.set(datetime.now())
        neglected_clicks.set(clicks)

Here is a more classy version
from shiny import App, ui, render
from starlette.applications import Starlette
from starlette.routing import Mount
from starlette.staticfiles import StaticFiles

app_static = StaticFiles(directory=".")

class Stateful:  # Use class properties, not instance properties.
    accessed = 0  # Watch out with reactive values here.  You might loop in the say_hello if you update it there.

class ServerEn:
    def build(self, inputs, outputs, session):  # noqa
        @render.ui
        def say_hello():
            Stateful.accessed += 1
            return ui.p(f"Hi, you accessed the app {Stateful.accessed} times! (en + nl)")

class ServerNl:
    def build(self, inputs, outputs, session):  # noqa
        @render.ui
        def say_hello():
            Stateful.accessed += 1
            return ui.p(f"Hallo, je gebruikte de app {Stateful.accessed} keer! (en + nl)")

class View:
    @staticmethod
    def build():
        return ui.page_fluid(
            ui.output_ui("say_hello"))

app_shiny_en = App(View().build(), ServerEn().build)
app_shiny_nl = App(View().build(), ServerNl().build)

routes = [
    Mount('/static', app=app_static),
    Mount('/en', app=app_shiny_en),
    Mount('/nl', app=app_shiny_nl)
]

app = Starlette(routes=routes)

My mistake.  I got a POC project where I do lots of stuff.
Change the imports.  Instead of scr.oo.XYZ, it should just be XYZ.

I read the Modules documentation and that could indeed solve the problem.  I do know how many fields I have from the df.columns so I can use the row_ui approach to create a certain number of rows, with buttons.  They seem to be linked in the namespace, so that'll work.  I will try to update my interface accordingly and repost.
However, as said, it does not help me in splitting the application into many files, which you certainly need if this becomes bigger and bigger.

Thanks @vindevoy, I can run the app now. You have everything very nicely organized, but I think you'll quickly run into the kinds of problems that modules were intended to solve.
Now that you have a ShinyView class, you might want to re-use copies of the same app parts in multiple places in your app. In your case that would be two instances of the "add" and "reset" buttons with the text display.
The biggest problem you'll encounter is that each of these copies needs to use unique IDs for inputs and outputs. You cannot have two btn_counter IDs. Sidenote: technically you can have a btn_counter input and a btn_counter output, but we discourage this and you'd see warnings in your local preview if you ran your app via shiny run.
Shiny modules were designed to solve that problem: how can we have repeatable linked UI and server logic without introducing name collisions everywhere.

Just one more question on this.  The name must be unique, per application.  That's what you say, right ?
But, I intend to use the routing approach when I have multiple screens or forms.  In that case, I might not have that problem, right ?

Yeah, if you're following the pattern described in Shiny for Python - Routing, with something sort of like this
app_home = App(ui.page_fluid("Home!"), None)
app_data = App(ui.page_fluid("Data!"), None)

routes = [
    Mount('/home', app=app_home),
    Mount('/data', app=app_data)
]

app = Starlette(routes=routes)

Then IDs just need to be unique within each Shiny App object. (I'm pretty sure this is case, but if not please let us know.)

I'm having the same issue and don't see how modules would help?
Here's the sample from the comment above  https://github.com/posit-dev/py-shiny/issues/1618#issuecomment-2314448255 and the modules page, with a meager attempt to make the inputs dynamic in a way you can capture the events. Perhaps @gadenbuie can suggest a methodology?
from shiny import App, module, render, ui, reactive

@module.ui
def row_ui():
    return ui.layout_columns(
        ui.card(ui.input_text("text_in", "Enter text")),
        ui.card(ui.output_text("text_out")),
    )

@module.server
def row_server(input, output, session):
    @output
    @render.text
    def text_out():
        return f'You entered "{input.text_in()}"'

# doesn't work to make this reactive (no reactive context error)
extra_ids = reactive.value(["row_3", "row_4", "row_5"])
extra_ids = ["row_3", "row_4", "row_5"]

app_ui = ui.page_fluid(
    # how would this button create a new row?
    ui.input_action_button(id="make"  , label="Make another"),
    row_ui("row_1"),
    row_ui("row_2"),
    [row_ui(x) for x in extra_ids]
)

def server(input, output, session):
    row_server("row_1")
    row_server("row_2")
    [row_server(x) for x in extra_ids]

    @reactive.effect
    @reactive.event(input.make)
    def _():
        print("do something to make a new row")

app = App(app_ui, server)


Adding interval between auth requests for same clientId

when mqtt-auth-http returns 4xx, clients try to reconnect every second which creates enormous traffic, is there any way to provide an interval in someway to be able to cache last unauthorized request for some interval so that it doesnt make http request for same clientId every time client tries to connect?

@berk-can , Thanks for you feedback. It is definitely a good feature. We would add this feature in our development plan.

thank you for your interest, I would be happy to see that


Craterstats does not read .diam files

When I attempt to have craterstats read either of the .diam example files provided in the package, I receive a long string of errors. I first noticed this when trying to read in my own modified .diam file. I then tried to read in the demo files to ensure I was doing so correctly and discovered this problem. Is this a known issue?
Thanks.

Thanks for the report - it's fixed now


First start of LND - out of memory

Background
Describe your issue here.
Your environment

version of lnd 0.5.2-beta commit=v0.5.2-beta-rc7
which operating system (uname -a on *Nix) - Ubuntu 18.04 Server
version of btcd, bitcoind, or other backend - v0.17.1

Steps to reproduce
First installation through compilation and first started.
I used this compilation scripts: Makefile for copmilation bitcoind & lnd
Expected behaviour
Don't crash
Actual behaviour
The first start the LND crashed with error "out of memory".  If you need it, I can send the rest of the logs in a personal message.

Are you syncing a new node while you're syncing lnd?

2019-02-06 20:12:31.733 [INF] LTND: Waiting for chain backend to finish sync, start_height=169910

It appears, so. lnd expects the backend to be fully synced before it's started.

Seems reasonable as to how this could happen. Initial sync for bitcoind is already intensive enough, on top of lnd also hitting bitcoind's RPC for every block.


feat: stream cipher trait and chacha encryption

This PR closes issue #97
Closes #97
It changes the following:

ChaCha stream cipher

adds variants: Chacha20/20, ChaCha20/12, ChaCha20/8
stream cipher trait

TODO:

XChaCha variants

Does this also close #95?

Will get around to this by Monday

Does this also close #95?

Partially, added a StreamCipher trait. I think #102 handles the other half.


Unable to remotely connect to jMAVSim

I'm attempting to simulate my offboard program by connecting to a remote jMAVSim on another machine. I set MAV_BROADCAST=1 and can see the packets being broadcast on the network. On the remote machine I want to connect with I started the MAVSDK server using:
./mavsdk_server -p 50051 udp://14540
In my python program on the remote machine I am attempting to connect to the simulation with the following:
drone = System(mavsdk_server_address='localhost', port=50051)
await drone.connect(system_address="udp://:14540")
I also tried using 14550 as the port for connecting as it list it when starting:
INFO  [mavlink] mode: Normal, data rate: 4000000 B/s on udp port 18570 remote port 14550
INFO  [mavlink] mode: Onboard, data rate: 4000000 B/s on udp port 14580 remote port 14540
INFO  [mavlink] mode: Onboard, data rate: 4000 B/s on udp port 14280 remote port 14030
I set the address on the host of the simulation to <IP_ADDRESS>. The remote machine was set to <IP_ADDRESS>. Below if what the console reports during the build.
pxh> INFO  [mavlink] using network interface {19FB4A01-3177-4D76-8744-616F0AA4C99D}, IP: <IP_ADDRESS>
INFO  [mavlink] with netmask: <IP_ADDRESS>
INFO  [mavlink] and broadcast IP: <IP_ADDRESS>
I also disabled firewalls on both machine to eliminate any issues with the ports being blocked. Any guidance would be greatly appreciated.

Can you see the broadcast heartbeats arriving on the other machine? You can check that with wireshark.

./mavsdk_server -p 50051 udp://14540

Is that a typo, or are you missing a :? It should be ./mavsdk_server -p 50051 udp://:14540

Sorry that was a typo. The mavsdk_server is running as you show. Also using wireshark I am able to see the udp packets from the remote machine. I did notice that the packets show in wireshark with the source port being 18570, not sure if this is a problem or not.

with the source port being 18570

As long as the destination is correct this should work:
./mavsdk_server -p 50051 udp://:14550

Would you mind trying with px4-gazebo-headless?
If MAVSDK is running on the machine with address <IP_ADDRESS>, and you run this from the machine <IP_ADDRESS>, it should work:
docker run --rm -it jonasvautherin/px4-gazebo-headless:1.11.0 <IP_ADDRESS>

It will send MAVLink to <IP_ADDRESS> on port 14540, and to <IP_ADDRESS> on port 14550.

Changing my server to udp://:14550 allowed did the trick.
Just for anyone else who ends up searching this issue:

Start the simulation on the host machine
Start MAVSDK Server (Offboard Machine): ./mavsdk_server -p 50051 udp://:14550
Start Python Program with the follow connection:
drone = System(mavsdk_server_address='localhost', port=50051)
await drone.connect(system_address="udp://:14550")

Thanks again for the assistance!

Following up here for anyone reading this later. The port 14540 does not work with the option MAV_BROADCAST due to:
https://github.com/PX4/PX4-Autopilot/blob/82d6cc3dba3bbc8d6fbd0a3449e7d67560d4a67d/src/modules/mavlink/mavlink_main.cpp#L833
https://github.com/PX4/PX4-Autopilot/blob/82d6cc3dba3bbc8d6fbd0a3449e7d67560d4a67d/ROMFS/px4fmu_common/init.d-posix/rcS#L259
So either the link needs to be set to "not onboard" by removing -m onboard or by removing the check in the if clause.


User external sources for nft metadata

#15 is closed because uploading seed is extremely slow. I now use external sources for importing those metadata.
Maybe we can use dbt seed  for managing NFT metadata when we figure out a performant way to insert tables in Hive.

@onesuper OK, I will do some research about the root cause of the uploading performance.  I want to know if the refresh operation needs to be scheduled by airflow?

Thanks for ask! Since those metadata will not be changed, I can maintain them manually for now. It's OK!


Replace graph compilation modules and update examples.

Description
Include description of feature this PR introduces or a bug that it fixes. Include the following information:

Context: why is it needed? In case of bug, what was the cause for the bug?
Concise description of the implemented solution.
If any dependencies are added, list them and justify why they are needed.

Please verify that you have completed the following steps

[ ] I have self-reviewed my code.
[ ] I have included test cases validating introduced feature/fix.
[ ] I have updated documentation.

Looks good! just some minor changes to disambiguate some examples.


Add APPLIST.md

I've added a huge markdown file which users can view to see which apps are in this bucket. The file also lists the homepage and the version of each app in a table.
The file can be automatically updated with the bin/get-applist.ps1 file daily or weekly. Just run the script in the terminal and the script will do the rest.
I'd be happy to be the one updating the APPLIST, just in case the rest find that step unbearable.

Oh, and can we add a link to the APPLIST.md file from the README?


Question: It's possible to split schema to multiple files?

Hello,
How can I build the schema using  builder.queryType, builder.prismaObject etc. in multiple files?
For example, my file structure looks like that:

And I want to keep schema definitions (queries, mutations, types) in *-schema.ts files.
// player-schema.ts

import { builder } from '../builder'
builder.queryType({
  fields: (t) => ({
    player: t.prismaField({
      type: 'Player',
      args: {
        id: t.arg.int({ required: true }),
      },
      resolve: async (query, root, args, { prisma, player }, info) => {
        return prisma.player.findUniqueOrThrow({
          ...query,
          where: { id: args.id },
        })
      },
    }),
  }),
})

builder.prismaObject('Player', {
  fields: (t) => ({
    id: t.exposeID('id'),
    name: t.exposeString('name'),
  }),
})

What should I export from these files? How to merge the schema at the end?
Could you provide some examples?
Thank you for the Pothos lib, GJ!

Ok, I found some examples in Discussions. I'll try to implement them. Maybe there should be an example repo with this?


Add quine demo

Not making things too easy with printf.

Re the [ascii], you can use '' char codes.

Can't help but feel there's a better way to do that. Ah well. Thanks!


feat: Add .NET6 support

Proposed Changes

Feature

What is the current behavior?

What is the new behavior?
Add support for .NET6
Checklist
Please check if your PR fulfills the following requirements:

[ ] Documentation has been added/updated
[ ] Automated Unit / Integration tests for the changes have been added/updated
[ ] Contains NO breaking changes
[ ] Updated the Changelog
[ ] Associated with an issue

Other information

closed because of https://github.com/nventive/ExtendedSplashScreen/pull/60


Cover dummy track empty/not playing...

...in some configurations, e.g., Chrome on Win10+Android, Edge on Win10

Reason is https://goo.gl/7K7WLu

Reason is https://goo.gl/7K7WLu

Reason is https://goo.gl/7K7WLu

Fixed.
NOTE: Fix required changes in copy of mediaelement-and-player.min.js. Orignial source cannot be used anymore!


pants: upgrade Pants to 2.18.0

This will fail on M1s. We need to wait for a 2.18.1 with https://github.com/pantsbuild/pants/pull/20194, and then also switch to temurin JVMs, as in https://github.com/pantsbuild/example-jvm/pull/29/files

I've confirmed that pants test :: and pants package :: work on arm macOS, with https://github.com/pantsbuild/pants/releases/tag/release_2.18.1rc0 and the change to temurin JVM.

Thanks for confirming, I'll be back once 2.18.1 is out.

https://github.com/pantsbuild/pants/releases/tag/release_2.18.1 is out!

Replaced by https://github.com/pantsbuild/example-kotlin/pull/15


feat: DNS CR pagination and cross account params support

PR summary

Fixes: <! -- link to issue -->
PR Checklist
Please make sure that your PR fulfills the following requirements:

[ ] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

Summary
1st. We have a customer demand where they want to create thousands of forwarding rule and need offset and limit to fetch these rules. As part of this sdk changes we are adding support to allow offset and limit for forwarding rules.
2nd. Cross Account list and name params are added, this commit has those changes as well.

Update the PR with integration test results

@sandeep645 : Snippet of test run.

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


Cookies Banner displayed on top

Hi @Alex-D. Great work.
I have small issue with  banner being displayed on top of the webpage. I am using following theme https://github.com/eddiewebb/hugo-resume with Hugo.
This is my code

        By continuing to visit this site, you accept the use of cookies by Google Analytics for statistical purposes.
        Read more
        <button id="cookies-eu-reject">Reject</button>
        <button id="cookies-eu-accept">Accept</button>

  {{ end }}

How can I display it on the bottom of the page?

Doing some CSS:
#cookies-eu-banner {
  position: fixed;
  bottom: 0;
}

or something like that ^^


speed bug

sorry for the title I really don't know what to call this
I don't know what you did In the last commits but my server is somehow starting to download fragments so fast that youtube throws 401 error at me
when I go back to commit https://github.com/Kethsar/ytarchive/commit/a3780796f0d538d8e24232da0ff7a81a575b2b89 this doesn't happen it's a bit slower but doesn't give me any 401 error
debug mode doesn't show anything special

Hah, I had a feeling this might happen, but someone else insisted I make the changes cause he's been getting unlucky and having the video portion throttled relatively often recently, causing his download to fall behind after it catches up.
Can you try using commit db8fe4913 and see if that has the issue as well? I would think not since it should effectively have the same limit in how many jobs are added to the queue, but also fixes and issue where only one or two threads are being fed after it catches up, preventing it from falling behind again.

Can you try using commit db8fe49 and see if that has the issue as well?

that one doesn't have this issue

Okay, reverted that change then.


Update SDK to 27

Hi there, I wanted to point out that SDK27 is already out, and supportlib is at <IP_ADDRESS>.
This library is not include-able currently because of this, so a workaround is needed until fix.
    configurations.all {
        resolutionStrategy.force "com.android.support:preference-v7:${version_library_appcompat}"
        resolutionStrategy.force "com.android.support:design:${version_library_appcompat}"
        resolutionStrategy.force "com.android.support:cardview-v7:${version_library_appcompat}"
        resolutionStrategy.force "com.android.support:support-v13:${version_library_appcompat}"
    }

The last release was a bit early. I'll update support libs and release again ASAP.

Version 1.0.5 is out with updated support libraries, I'll now close this issue.

thanks! is the lib already available from mvn repos?

Yes. Just update the version number and you're all set.


Improve repo name/owner in drone.io

Since Drone.IO have DRONE_REPO_OWNER and DRONE_REPO_NAME env variables we should use it to identify GH repo instead of split DRONE_REPO string.
Refs http://docs.drone.io/environment-reference/

@haya14busa as I can see the build fail to dep issue, maybe you should use a locked version of go dep tool. Let me know if I need to fix something on my PR.

I updated .drone.yml. Please rebase this PR.

@haya14busa sorry for delay. I add support for drone <= 0.4 and fixed tests, there is an issue with a tool in pipeline related to package not longer available:

https://github.com/dominikh/go-unused => https://github.com/dominikh/go-tools

Thank you for your work!
I updated go-tools #110


store/cachekv: unquadratize all iterator range searches

This change takes the observation that previous dbm.IsKeyInDomain
which searches for [start, end) was performing too many byteslice
comparisons. Instead we start off by sorting all the values in the
store.unsortedCache, and then apply a modified binary search to
look for values that fall within the domain [start, end)
Fixes #9876

Codecov Report

Merging #26 (6b0d20c) into master (267770f) will decrease coverage by 0.24%.
The diff coverage is 61.28%.

 (Upstreaming this PR: https://github.com/osmosis-labs/cosmos-sdk/pull/24)
This removes all the quadratic nature

osmosis-labs#24

Great to hear from you @ValarDragon! Thank you for letting me know. We can combine efforts an thank you for looking at the change. How does yours fare with profiling and benchmarking. Would you mind making a draft PR or a PR to the cosmos-sdk so that our benchmarking bot can run those benchmarks for you? Thank you!


[SPARK-40957] Add in memory cache in HDFSMetadataLog

What changes were proposed in this pull request?
Every time entries in offset log or commit log needs to be access, we read from disk which is slow.  Can a cache of recent entries to speed up reads.
There is already an existing implementation of a caching mechanism in OffsetSeqLog.  Lets replace it with an implementation in HDFSMetadataLog (parent class) so that we can support reading from in memory cache for both offset log and commit log.
Why are the changes needed?
Improve read speeds for entries in offset log and commit log
Does this PR introduce any user-facing change?

No
How was this patch tested?

Existing unit tests should suffice

@HeartSaVioR @zsxwing please review

Can one of the admins verify this patch?

@LuciferYang @HeartSaVioR thanks for reviewing!  Do you guys have any other comments?  Or does this PR look goo?

@HeartSaVioR @LuciferYang thank you for the review.  I have addressed your comments. PTAL.  Thank in advance!

Looks like there is no major comment on 5 days, which seems OK to go proceed.
Thanks! Merging to master.

@jerrypeng Could you please address post-review comments as followup PR? You don't need a new JIRA ticket.
(Sigh, I forgot to check. Please make sure your PR title has a component prefix, e.g. [SS].)


Bosh director deployment issue with Vsphere and Centos

When i try to deploy bosh director on and create VM in vsphere below error occurred, Please guide me to get it resolved.
stemcell used : bosh-stemcell-3468.11-vsphere-esxi-centos-7-go_agent.tgz
[root@linbgg219 ~]# bosh create-env bosh-1/bosh-deployment/bosh.yml     --state=state.json     --vars-store=credentials.yml     -o bosh-1/bosh-deployment/vsphere/cpi.yml     -v director_name=bosh-1     -v internal_cidr=<IP_ADDRESS>/28     -v internal_gw=<IP_ADDRESS>     -v internal_ip=<IP_ADDRESS>     -v network_name="VM Network"     -v vcenter_dc=datacenter1     -v vcenter_ds=vnx-m179-lun23-smarts     -v vcenter_ip=<IP_ADDRESS>     -v<EMAIL_ADDRESS>   -v vcenter_password=Dangerous@123     -v vcenter_templates=win2k-template     -v vcenter_vms=bosh-1-vms     -v vcenter_disks=Test     -v vcenter_cluster=cluster1
Deployment manifest: '/root/bosh-1/bosh-deployment/bosh.yml'
Deployment state: 'state.json'
Started validating
Downloading release 'bosh'... Skipped [Found in local cache] (00:00:00)
Validating release 'bosh'... Finished (00:00:01)
Downloading release 'bosh-vsphere-cpi'... Skipped [Found in local cache] (00:00:00)
Validating release 'bosh-vsphere-cpi'... Finished (00:00:00)
Validating cpi release... Finished (00:00:00)
Validating deployment manifest... Finished (00:00:00)
Validating stemcell... Finished (00:00:05)
Finished validating (00:00:07)
Started installing CPI
Compiling package 'ruby-2.4/cff0ddb99e62cd9dfa146248dcbfd6df2a62a54e'... Finished (00:00:00)
Compiling package 'vsphere_cpi/e978df2abd6124573d76f4a204570cde9d4d429e'... Finished (00:00:00)
Compiling package 'iso9660wrap/82cd03afdce1985db8c9d7dba5e5200bcc6b5aa8'... Finished (00:00:00)
Installing packages... Finished (00:00:01)
Rendering job templates... Finished (00:00:00)
Installing job 'vsphere_cpi'... Finished (00:00:00)
Finished installing CPI (00:00:01)
Starting registry... Finished (00:00:00)
Uploading stemcell 'bosh-vsphere-esxi-centos-7-go_agent/3468.11'... Finished (00:09:36)
Started deploying
Waiting for the agent on VM 'vm-fd58e72a-86ab-49ab-a6d9-7ae81541c461'... Failed (00:00:30)
Deleting VM 'vm-fd58e72a-86ab-49ab-a6d9-7ae81541c461'... Finished (00:00:08)
Creating VM for instance 'bosh/0' from stemcell 'sc-321717fd-df6e-4bda-b402-321ffedb07cb'... Finished (00:00:14)
Waiting for the agent on VM 'vm-b2c43460-5827-4fa1-b8da-974dec0e431f' to be ready... Finished (00:01:43)
Creating disk... Finished (00:00:04)
Attaching disk 'disk-b4b2c0c1-a462-452a-8f79-fa0346e14fc0' to VM 'vm-b2c43460-5827-4fa1-b8da-974dec0e431f'... Finished (00:00:19)
Rendering job templates... Finished (00:00:04)
Compiling package 'ruby-2.4/cff0ddb99e62cd9dfa146248dcbfd6df2a62a54e'... Finished (00:04:14)
Compiling package 'ruby-2.4/cff0ddb99e62cd9dfa146248dcbfd6df2a62a54e'... Skipped [Package already compiled] (00:00:06)
Compiling package 'mysql/b7e73acc0bfe05f1c6cbfd97bf92d39b0d3155d5'... Skipped [Package already compiled] (00:00:05)
Compiling package 'libpq/826813f983d38b4b4a95bb8a3df1a2d0efab14b0'... Skipped [Package already compiled] (00:00:00)
Compiling package 'iso9660wrap/82cd03afdce1985db8c9d7dba5e5200bcc6b5aa8'... Finished (00:00:02)
Compiling package 'davcli/2672d0a96a775f5252fef6ac7bbab3928aa41599'... Skipped [Package already compiled] (00:00:01)
Compiling package 'gonats/866cdc573ac10dd85929abb531923197486ffa95'... Skipped [Package already compiled] (00:00:02)
Compiling package 'postgres-9.4/1da82648840de67015d379264846a447118261a7'... Skipped [Package already compiled] (00:00:07)
Compiling package 'vsphere_cpi/e978df2abd6124573d76f4a204570cde9d4d429e'... Failed (00:00:21)
Failed deploying (00:08:18)
Stopping registry... Finished (00:00:00)
Cleaning up rendered CPI jobs... Finished (00:00:00)
Deploying:
Building state for instance 'bosh/0':
Compiling job package dependencies for instance 'bosh/0':
Compiling job package dependencies:
Remotely compiling package 'vsphere_cpi' with the agent:
Sending 'compile_package' to the agent:
Sending 'get_task' to the agent:
Agent responded with error: Action Failed get_task: Task 83dd793f-854b-4361-6721-c70fd9d2a7cf result: Compiling package vsphere_cpi: Running packaging script: Running packaging script: Command exited with 1; Stdout: , Stderr: + BOSH_PACKAGES_DIR=/var/vcap/packages

cp -a vsphere_cpi/Gemfile vsphere_cpi/Gemfile.lock vsphere_cpi/bin vsphere_cpi/lib vsphere_cpi/vendor /var/vcap/packages/vsphere_cpi
export BUNDLE_CACHE_PATH=vendor/package
BUNDLE_CACHE_PATH=vendor/package
export BUNDLE_WITHOUT=development:test
BUNDLE_WITHOUT=development:test
bundle_cmd=/var/vcap/packages/ruby-2.4/bin/bundle
cd /var/vcap/packages/vsphere_cpi
/var/vcap/packages/ruby-2.4/bin/bundle install --local --no-prune --deployment
/var/vcap/packages/ruby-2.4/lib/ruby/2.4.0/digest.rb:16:in const_missing': library not found for class Digest::MD5 -- digest/md5 (LoadError)       from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/source/rubygems/remote.rb:26:in cache_slug'
from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/fetcher/compact_index.rb:107:in cache_path'       from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/fetcher/compact_index.rb:83:in compact_index_client'
from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/cli.rb:646:in warn_on_outdated_bundler'       from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/cli.rb:24:in block in dispatch'
from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/vendor/thor/lib/thor.rb:366:in dispatch'       from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/cli.rb:22:in dispatch'
from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/vendor/thor/lib/thor/base.rb:444:in start'       from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/cli.rb:13:in start'
from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/exe/bundle:30:in block in <top (required)>'       from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/friendly_errors.rb:121:in with_friendly_errors'
from /var/vcap/packages/ruby-2.4/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/exe/bundle:22:in <top (required)>'       from /var/vcap/packages/ruby-2.4/bin/bundle:22:in load'
from /var/vcap/packages/ruby-2.4/bin/bundle:22:in `'

Exit code 1

Some how the above error is solved but now stuck at the below one.
Started deploying
Creating VM for instance 'bosh/0' from stemcell 'sc-954263e4-4497-441f-a204-3d323bacbb44'... Finished (00:00:13)
Waiting for the agent on VM 'vm-29a32230-6dc0-47db-9e5e-b8873075ed13' to be ready... Finished (00:01:45)
Creating disk... Finished (00:00:04)
Attaching disk 'disk-a01cc656-ab0c-43a5-9fc8-ac3a5e606a18' to VM 'vm-29a32230-6dc0-47db-9e5e-b8873075ed13'... Finished (00:00:18)
Rendering job templates... Finished (00:00:04)
Compiling package 'ruby-2.4/cff0ddb99e62cd9dfa146248dcbfd6df2a62a54e'... Skipped [Package already compiled] (00:00:07)
Compiling package 'mysql/b7e73acc0bfe05f1c6cbfd97bf92d39b0d3155d5'... Skipped [Package already compiled] (00:00:05)
Compiling package 'libpq/826813f983d38b4b4a95bb8a3df1a2d0efab14b0'... Skipped [Package already compiled] (00:00:00)
Compiling package 'ruby-2.4/cff0ddb99e62cd9dfa146248dcbfd6df2a62a54e'... Finished (00:04:17)
Compiling package 'gonats/866cdc573ac10dd85929abb531923197486ffa95'... Skipped [Package already compiled] (00:00:02)
Compiling package 'verify_multidigest/8fc5d654cebad7725c34bb08b3f60b912db7094a'... Skipped [Package already compiled] (00:00:00)
Compiling package 'director/9ada78066fd25b6708c42e1e34cd384ac9362135'... Skipped [Package already compiled] (00:00:18)
Compiling package 'nginx/57ca1d048957399c500e0f5fd3275ed4c6d4f762'... Skipped [Package already compiled] (00:00:02)
Compiling package 'vsphere_cpi/e978df2abd6124573d76f4a204570cde9d4d429e'... Finished (00:01:53)
Compiling package 'postgres-9.4/1da82648840de67015d379264846a447118261a7'... Skipped [Package already compiled] (00:00:07)
Compiling package 'iso9660wrap/82cd03afdce1985db8c9d7dba5e5200bcc6b5aa8'... Finished (00:00:02)
Compiling package 'bosh-gcscli/fce60f2d82653ea7e08c768f077c9c4a738d0c39'... Skipped [Package already compiled] (00:00:03)
Compiling package 'davcli/2672d0a96a775f5252fef6ac7bbab3928aa41599'... Skipped [Package already compiled] (00:00:01)
Compiling package 'health_monitor/2c4257e86f3b26cd2f5e6c7b393cc0ae1d366e87'... Skipped [Package already compiled] (00:00:09)
Compiling package 'postgres/3b1089109c074984577a0bac1b38018d7a2890ef'... Skipped [Package already compiled] (00:00:06)
Compiling package 's3cli/b6e38c619dd5575e16ea9fcabc4b7c500effdd26'... Skipped [Package already compiled] (00:00:02)
Updating instance 'bosh/0'... Finished (00:00:15)
Waiting for instance 'bosh/0' to be running... Failed (00:05:11)
Failed deploying (00:15:22)
Stopping registry... Finished (00:00:00)
Cleaning up rendered CPI jobs... Finished (00:00:00)
Deploying:
Received non-running job state: 'starting'
Exit code 1


rmm integration

integrate with rmm
unified all device memory access in c++ code.
refactor deviceAllocator

Codecov Report

Merging #113 into master will decrease coverage by 0.3%.
The diff coverage is 22.05%.

@@            Coverage Diff             @@
##           master     #113      +/-   ##
==========================================
- Coverage   74.64%   74.34%   -0.31%
==========================================
  Files         104      104
  Lines       15054    15110      +56
==========================================
- Hits        11237    11233       -4
- Misses       2961     3019      +58
- Partials      856      858       +2

Impacted Files
Coverage Δ

memutils/memory.go
75.78% <0%> (-15.35%)
:arrow_down:

query/device_allocator.go
53.16% <28.84%> (-46.84%)
:arrow_down:

subscriber/common/job/driver.go
66.07% <0%> (-1.43%)
:arrow_down:

memstore/cuckoo_index.go
90.2% <0%> (-1.02%)
: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 2905c51...ecd589c. Read the comment docs.


Endpoint discovery and Authority validation needs Logging

@spottedmahn We would be open to a community PR.

@spottedmahn We have enhanced our error handling with our API changes and this would help catch any authority validation or endpoint errors.
Please download our latest preview package or pull the dev branch and try updating your code and see if the issue still persists.
If you would like guidance on how to use the new version of the library, please review our wiki page here.

Hi @sameerag - that's great.  Can you provide a link to the PR/commit?

So we had multiple PRs as this was a big API surface change activity. npm@msal-preview should pull the latest code for you as mentioned above - or 'dev' branch is up to date. We do plan a release soon and get out of the preview mode. This release is majorly focused in API surface changes to improve the usability of the library.
Having said that some of the inner workings updates (includes logging) will follow once we stabilize the API changes for the community.
Regarding logging/error handling some things of note:

Validating Authority has error handling code now. This part of the code is going through some feature changes to accommodate a more generic solution, hence the release after the current release (in plan) will have more traction.
we added some error checking for endPointResolution but this is not complete. Some code could be simplified and there is an internal tracker for this.
Logging is separate from API Changes as we want to evolve logging into a more consistent pattern across the code. This is a separate effort which we plan in a future release.

So we had multiple PRs as this was a big API surface change activity

Fair enough, thanks for the reply 👍


Server: Do not cache index.html

Or at least only cache it a short while. Set caching to 1 minute. Should not increase server load much, since most page changes are with the javascript spa app and does not ask for index.html.
This will ensure that the right version of the javascript file is loaded.
Fixes https://github.com/woodpecker-ci/woodpecker/issues/2483

Replaced by #2975


Do not overwrite headers of StructuredReturn

Include unit test
Fixes #287

Thanks @lance for the fast review and approval


Use unified pal api interface.

Signed-off-by: jack.wxz<EMAIL_ADDRESS>

The patch itself looks good. But we still need to ensure occlum supports weak symbols for PAL APIs.

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

Carried by https://github.com/alibaba/inclavare-containers/pull/31


Improve Keycloak init process

We want to launch Keycloak containers pre-configured.  As of PR #12, we are using Keycloak's Import/Export to achieve this.  However, since export only works at startup, it makes for a difficult/unpredictable workflow.  For example, Docker (Compose?) sometimes decides to drop the container on stop, creating a new one, and thus losing all changes you're hoping to export on container restart.
Alternatives

Figure out why Docker / Compose doesn't always use the same container instance on restart.
Always edit the realm-hmda.json file directly.  This is simple to implement, but the config file is very large, and we'd likely need a deeper understanding of how it all works than if we could use export.
Configure Keycloak via its REST API.  We have gone this route in the past.  One one hand it keeps the config small-ish since Keycloak uses defaults for many setting when configured via API.  On the other hand, it adds complexity, both in having to maintain a custom Keycloak config client, and another container for it to run from.

With the addition of Postgres for persistence, this problem has gone away.  Closing.


Expose Connect and Extend

Description
This PR exposes the connect and extend functionality on SSX. This allows someone to connect the SSX instance to the Ethereum provider without logging in. It also exposes the extend functionality to add extensions to SSX outside of the constructor.
These changes will also help with implementing features in ssx-credential-issuer
Type

[x] New feature (non-breaking change which adds functionality)

Diligence Checklist

[x] This change requires a documentation update
[ ] I have included unit tests
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings

Codecov Report
Base: 90.34% // Head: 90.26% // Decreases project coverage by -0.09% :warning:

Coverage data is based on head (bbc5c82) compared to base (297b42d).
Patch coverage: 81.48% of modified lines in pull request are covered.

:exclamation: Current head bbc5c82 differs from pull request most recent head 048e117. Consider uploading reports for the commit 048e117 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #87      +/-   ##
==========================================
- Coverage   90.34%   90.26%   -0.09%
==========================================
  Files          25       25
  Lines        3314     3337      +23
  Branches      267      269       +2
==========================================
+ Hits         2994     3012      +18
- Misses        320      325       +5

Impacted Files
Coverage Δ

packages/ssx-sdk/src/ssx.ts
74.01% <81.48%> (+0.53%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Unable to add persons

I created an account on the web platform using my Google Account and tried to add a new person so that I could use the Good Time Finder feature. However, I am thrown the following error every time I try to create a user

Could someone point me to the cause and a potential fix. Also is there an API for the Good Time Finder feature as well (if there is I can't seem to find it) or is it a standalone feature only for the web interface?

Hey 👋...thanks for the report 🙏

Person adding has been an issue for past few weeks now.....something wrong with AzureTable structures.
I've got some idea for a fix but....i can't see the final code in my brain 🧠 now...

Good Time Finder is just another GUI version of LifePredictor.....internally called EventsChart
Everything is inside Calculate.cs, all API calls go there and from there calculated as needed....(in theory at least 😁)

Thanks for the prompt response. Following up on the above, I have the following queries (I have no knowledge of C sharp and have only had a very limited time to browse the desired functionalities of the repo)

With regards to the Good Time Finder functionality, how exactly is the result displayed to the user (as I am not being able to trigger it)? Is it only in the form of chart? For instance if I have the details of a person and select the Good Time Finder for a period of 1 week, what output would I get exactly (just a chart or actual days/dates specifying favorable, unfavorable days, etc.)

From what I have been able to understand is that there is a set of 9 events in a file EventDataListStatic for BuyingSelling based on which operations etc would be done but I am still lost as to how exactly the calculation is being done based on the user attributes. As I am on a tight schedule, it would be great if I could be directed towards the logical flow of the actual calculation starting from clicking the Calculate button on the Good Time Finder till the result is obtained (a file and function flow would be appreciated - I do understand that ShowChart and EventCharts is responsible but not in detail).

It was mentioned that Good Time Finder is just a GUI version of the Life Predictor. So does that mean that I have an API to call the Life Predictor? I couldn't find it in the API builder. Basically the functionality that I want to implement into my application is that based on user's attributes, recommend days and/or dates which are favorable for buying and selling.

😀 Very happy to see someone seriously digging into VedAstro code .....trust me this does not happen often. 📫
📺 Check out this video guide, it should answer 80% of the question you asked above
-->  https://youtu.be/dc8Q-r38LsI?si=btL10CDYkEGKUD29
After the video if you still have doubts 😕....just contact me. 24/7 📞
We can do a google meet and I can onboard you much faster... 🚀
WhatsApp --> +601113395387
Telegram --> https://t.me/vedastro_org

Hey @sengiv,
I was also facing the same issue while adding a person. I tried to look into you code and try to debug it, though i am not having any azure cloud api still i am writing some of my findings.
For adding person , there is a function called AddPerson in the file PersonAPI.cs in line number 115.
The issue in this function is mainly i guess related to Line 146 AzureTable.PersonList.UpsertEntity(newPerson.ToAzureRow());
Which is link to AzureTable.cs .
So if i am going right the issue is coming from AzureTable.cs.
I have some small changes but can't able to check because of lack of API key i request you to please check these:
1.) Add a validation or check for StorageAccountKey = Secrets.VedAstroCentralStorageKey; if it is  missing or incorrect or somthing.
2.) To check for initialization of TableClient objects. Ensure the StorageAccountKey and other details are correctly formatted and accessible.
It will be great if you add Exceptional handeling in this file: I can give you a sample for exceptional handeling for your file which goes like:
private static TableClient? InitializeTableClient(string tableUri, string tableName)
        {
            try
            {
                var serviceClient = new TableServiceClient(new Uri(tableUri), new TableSharedKeyCredential(AccountName, StorageAccountKey));
                Console.WriteLine($"Successfully initialized TableClient for {tableName}.");
                return serviceClient.GetTableClient(tableName);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error initializing TableClient for {tableName}: {ex.Message}");
                return null;
            }
        }

Try to debug on your side and tell us what is the respose.
Please i guess any person visiting website has this major issue bacause all other website functionality are dependent upon this feature only so lets try to resolve this issue as early as possible.
Thankyou!!

@PRATHAMU200 nicely done! 👌 Very impressed you managed to navigate the code.
As you mentioned, the API keys have been under suspicion as the cause of this. 🗝🤔
I guess i have to make a confession too....partly the reason I didn't fix it is
because finally decided to move away from Blazor! 🙋♂ (Blazor is getting super heavy and very bad on mobile)
So i started working on a new website from scratch with only HTML & JS (strictly no frameworks!)
🏗 The new site is about 50% complete, just pushed the code....check out --> Code folder
As expected the new site is showing great promise when comes to speed 🏎🏎⚡
But HTML GUI has to be slowly made....piece by piece, any help would be greatly appreciated! 🙏🙏
So @PRATHAMU200 in conclusion....it saddens me to see the site down. But this is only temporary!
Sooner or later it will be fixed....and mark my words it will be a dam good fix! 🚀
Nothing short of the best. 🤩
Btw @PRATHAMU200 , since you're good at code....you can join me on coding session in google meet. Then we can split the task and maybe hash it out faster or better 😁

@sengiv , I very well understood what you said and agree with it too 🙋♂, even i was going to discuss the issue related to speed of you website⚡. Maybe using too many frameworks not only making site slow but making really hard to understand and debug the code.
Also i like this project very much trust me and i am happy to be a part of it, wanted to contribute in a bigger project from scratch. It will be a great idea to build together working with a team rather than working alone. 🤩SO Lets build it I AM IN 💯.
Is there any official group or something for this project like on discord or slack? So we can connect & discuss the project and start with it?

@PRATHAMU200  See you in Slack....
Slack Invite Link -- https://join.slack.com/t/vedastro/shared_invite/zt-1u7pdqjky-hrJZ7e3_vM2dZOmVY8FeHA

Alright so, it is a known issue now. I tried again today to add a person suing API, and got the same results.
Get call to URL : https://api.vedastro.org/AddPerson/OwnerId/<my_id>/Name/Random_Name/Gender/Male/Location/Japan/Time/13:21/01/02/2020"
Response:
 {'Status': 'Fail', 'Payload': "The type initializer for 'VedAstro.Library.AzureTable' threw an exception."}

@avinashkr29 🙏 thanks again for reporting.....at least now I know people are eagerly waiting, will try to fix ASAP 😁🚀
@avinashkr29 on a unrelated note.....are you the one who lives in Japan? or was trying to parse Japanese city names and got errors?


dependencies: update requests

update requests to 2.23.0 (latest version) and add security packages

Coverage remained the same at 99.686% when pulling 7f8006dabcf018d70a185e65919ea51c4941afbd on dependencies/update-requests into 773c42cf8c7a992e0da3e109cdcd592e7cf4718b on master.


Update write-cpp-unit-test.md

Make step 1 instructions match code: cc_library instead of cc_binary

@owenammann Thanks for the PR! Please sign your changes as suggested at https://github.com/istio-ecosystem/wasm-extensions/pull/80/checks?check_run_id=4706237344


feat: Abstract specification conversion.

Overview
This is more of a question as opposed to a request.
Currently, we use autoprotocol (see link below) to specify formally our protocols.
Is there any existing work into a semi or fully automated generation of OT2 protocols from protocol standards (autoprotocol and allotrope are specified below but could be more generally)?
Implementation details
https://autoprotocol.org/specification/
https://www.allotrope.org/ontologies
Design
N/A
Acceptance criteria
N/A

Hey @MattyCrowther, thanks for the question! I'm not personally aware of any such work, but I'd also recommend reaching out to our support team, as they may be more aware of this sort of work amongst our community. Going to close this issue as a question, but feel free to continue commenting in this thread and we'll do our best to answer any more questions you have.
If you were looking to tackle this sort of project yourself, a place to start on our end might be our JSON protocol specification


Track backport patch version numbers

As has been mentioned in the thread for #212, Linux distributions like Fedora and Ubuntu use backport patches. E.g., version 1.2 is vulnerable, version 1.3 is not, but Fedora's "1.2-patch7" is NOT vulnerable.  The NVD should track this, but it doesn't always do so.  One solution is that dependency-check could support the use of "supplemental" database(s) that adds missing information, e.g., that "Fedora 1.2-patch7 is not vulnerable".

Is there any place backport information like this can be obtained and is (easily) programmatically consumable? Or are you seeing this as a feature that organizations could maintain their own list?
ATM - I have no plans to create a database that must be hand curated.


export RouteMatcherReturn interface

To fully type an application using cyclic-router, I need to refer to the RouteMatcherReturn interface.
export interface RouteMatcherReturn {
    path: string;
    value: any;
}

This currently requires ugly imports:
import { RouteMatcherReturn } from 'cyclic-router/lib/interfaces';

I think this interface should be re-export this from the facade, for simpler use from application code.
(Related: RouterSource.define currently returns type any - it's really a Stream<RouteMatcherReturn>, right?)

Can you submit a PR?

Yes... But I feel like I should use this router a bit more, to have confidence my changes are good. Will do.

@ntilwalli #194


[Storage]fix retry on large block upload

Just to confirm this fix is related to https://github.com/Azure/azure-sdk-for-python/pull/17078/files?

@tasherif-msft good suggestion! Also I will make this pr into two since these two commits are not related, then I will quote your description there


Double Socket Connect

For some reason, each client that joins the server connects as two separate sockets. This can impact some events that occur.

Was not fixed with
io.sockets.once('connection', function(socket) {}

Is there a work-around for this?


Expose some engine facilities (like async) via API

Currently Cartography needs to link directly to engine classes for async work.
Any big addon will benefit from access to those so exposing access via API will protect against most changes and refactors, except breaking ones.

This is tracked in JIRA no need to have it here


Deprecation warning- SASS declaration ordering

When running npm run build I'm seeing the following output https://gitlab.com/gitlab-org/developer-relations/contributor-success/contributors-gitlab-com/-/jobs/7705415081#L396:
$ npm run build
> build
> vite build
vite v5.4.2 building for production...
transforming...
DEPRECATION WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.
More info: https://sass-lang.com/d/mixed-decls
    ┌──> node_modules/bootstrap/scss/_reboot.scss
503 │     font-weight: $legend-font-weight;
    │     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration
    ╵
    ┌──> node_modules/bootstrap/scss/vendor/_rfs.scss
136 │ ┌     @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
137 │ │       @content;
138 │ │     }
    │ └─── nested rule
    ╵
    node_modules/bootstrap/scss/_reboot.scss 503:3   @import
    node_modules/bootstrap/scss/bootstrap.scss 16:9  @import
    app/javascript/entrypoints/application.scss 1:9  root stylesheet
DEPRECATION WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.
More info: https://sass-lang.com/d/mixed-decls
    ┌──> node_modules/bootstrap/scss/_reboot.scss
504 │     line-height: inherit;
    │     ^^^^^^^^^^^^^^^^^^^^ declaration
    ╵
    ┌──> node_modules/bootstrap/scss/vendor/_rfs.scss
136 │ ┌     @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
137 │ │       @content;
138 │ │     }
    │ └─── nested rule
    ╵
    node_modules/bootstrap/scss/_reboot.scss 504:3   @import
    node_modules/bootstrap/scss/bootstrap.scss 16:9  @import
    app/javascript/entrypoints/application.scss 1:9  root stylesheet
DEPRECATION WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.
More info: https://sass-lang.com/d/mixed-decls
    ┌──> node_modules/bootstrap/scss/_type.scss
38  │       font-family: $display-font-family;
    │       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration
    ╵
    ┌──> node_modules/bootstrap/scss/vendor/_rfs.scss
136 │ ┌     @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
137 │ │       @content;
138 │ │     }
    │ └─── nested rule
    ╵
    node_modules/bootstrap/scss/_type.scss 38:5      @import
    node_modules/bootstrap/scss/bootstrap.scss 17:9  @import
    app/javascript/entrypoints/application.scss 1:9  root stylesheet
DEPRECATION WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.
More info: https://sass-lang.com/d/mixed-decls
    ┌──> node_modules/bootstrap/scss/_type.scss
39  │       font-style: $display-font-style;
    │       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration
    ╵
    ┌──> node_modules/bootstrap/scss/vendor/_rfs.scss
136 │ ┌     @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
137 │ │       @content;
138 │ │     }
    │ └─── nested rule
    ╵
    node_modules/bootstrap/scss/_type.scss 39:5      @import
    node_modules/bootstrap/scss/bootstrap.scss 17:9  @import
    app/javascript/entrypoints/application.scss 1:9  root stylesheet
DEPRECATION WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.
More info: https://sass-lang.com/d/mixed-decls
    ┌──> node_modules/bootstrap/scss/_type.scss
40  │       font-weight: $display-font-weight;
    │       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration
    ╵
    ┌──> node_modules/bootstrap/scss/vendor/_rfs.scss
136 │ ┌     @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
137 │ │       @content;
138 │ │     }
    │ └─── nested rule
    ╵
    node_modules/bootstrap/scss/_type.scss 40:5      @import
    node_modules/bootstrap/scss/bootstrap.scss 17:9  @import
    app/javascript/entrypoints/application.scss 1:9  root stylesheet
WARNING: 22 repetitive deprecation warnings omitted.
✓ 279 modules transformed.

Versions:
Pulling docker image ruby:3.3.4 ...
Get:1 https://deb.nodesource.com/node_20.x nodistro/main amd64 nodejs amd64 20.17.0-1nodesource1 [31.7 MB]
"bootstrap-vue-next": "^0.24.11"
"vite": "^5.4.2"

Is anyone aware of this?
Does action need to be taken?
Can I help?
Thanks 👍

This is from Bootstrap itself, not this package.  It's fixed by https://github.com/twbs/bootstrap/pull/40623 which is not yet released.

Perfect, thanks @mbabker i'll wait patiently for that to hit then 🙏


New intrinsics

Closes issue #70

Is the copy just .slice()? Not sure about assemblyscript

From: learnforpractice @.>
Sent: Saturday, July 16, 2022 6:50:14 PM
To: uuosio/ascdk @.>
Cc: Syed Jafri @.>; Author @.>
Subject: Re: [uuosio/ascdk] New intrinsics (PR #73)
[△EXTERNAL]
Merged #73https://github.com/uuosio/ascdk/pull/73 into master.
—
Reply to this email directly, view it on GitHubhttps://github.com/uuosio/ascdk/pull/73#event-7006809195, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADILGLLNQA6WAOY6H2K7QW3VUNKENANCNFSM53YLUKMQ.
You are receiving this because you authored the thread.Message ID: @.***>


require illuminate/support?

chargily/chargily-pay[2.0.0, ..., 2.0.4] require illuminate/support ^10.39 -> found illuminate/support[v10.39.0, ..., v10.48.17] but these were not loaded, likely because it conflicts with another require.

FIXED


Panic accessing /logs via websocket

First, thanks for the great software :-)
I'm seeing a panic when accessing /logs via a websocket. Here's the stack trace:
# logspout v3.2.5 by gliderlabs
# adapters: raw syslog multiline tcp udp tls
# options : persist:/mnt/routes
# jobs    : pump routes http[routes,logs]:80
# routes  : none
panic: send on closed channel

goroutine 41 [running]:
github.com/gliderlabs/logspout/router.(*containerPump).send(0xc42022f560, 0xc420053280)
	/go/src/github.com/gliderlabs/logspout/router/pump.go:384 +0x129
github.com/gliderlabs/logspout/router.newContainerPump.func1(0x5634dbc5087f, 0x6, 0x5634dc174ac0, 0xc42023c060)
	/go/src/github.com/gliderlabs/logspout/router/pump.go:364 +0xbc
created by github.com/gliderlabs/logspout/router.newContainerPump
	/go/src/github.com/gliderlabs/logspout/router/pump.go:373 +0x174

You can reproduce this by running logspout via docker:
docker run -d --name="logspout" --volume=/var/run/docker.sock:/var/run/docker.sock --publish=8000:80 --restart=always gliderlabs/logspout

and then hitting the endpoint with curl:
$ curl -H "Connection: Upgrade" -H "Upgrade: websocket" http://<IP_ADDRESS>:8000/logs
mismatch challenge/response

mismatch challenge/response is the only output.

I also experienced this when attempting to use gorilla/websocket to connect to the endpoint, but when I used the golang.org/x/net/websocket instead, it worked as intended. Not sure what other libraries will have conflicts as well. Further, I am receiving the data from the websocket with random timestamps inserted arbitrarily inside the json response (when viewing it as a string), so it is failing to unmarshal into a route.Message struct (as internal to logspout).

logspout is expecting a browser client to access the websocket endpoint. Due to missing origin header the panic was occuring. I've added a patch which allows non-browser clients to access this endpoint. https://github.com/gliderlabs/logspout/pull/502


Command parameter type shows as 'unknown'

Whenever I make a command parameter, such as this one:
type Item struct {
    Item world.Item
}

func (i Item) Parse(line *Line, v reflect.Value) error {
    arg, ok := line.Next()
    if !ok {
        return ErrInsufficientArgs
    }
    itemName := arg
    if !strings.ContainsRune(itemName, ':') {
        itemName = "minecraft:" + arg
    }
    item, ok := world.ItemByName(itemName, 0)
    if !ok {
        return fmt.Errorf("item with name '%v' not found", arg)
    }
    v.Set(reflect.ValueOf(item))
    return nil
}

func (i Item) Type() string {
    return "Item"
}

it shows up as "<name: unknown>" to the client, and not "<name: Item>"

Just implementing cmd.Parameter would never show the type as Item, being able to type the parameter types is an enum specific feature. It should show up as value though, not unknown.

nevermind this, it was an issue i created lol


Add Reload, LoadProfileFromBytes and IsEnabled API

This PR references to https://github.com/cri-o/cri-o/pull/2523, where we could get rid of the CRI-O internal implementation when adding the neccesary API paths here.

LGTM
@vrothberg @mheon PTAL

Changes LGTM on my end.

Nice work, @saschagrunert :+1: LGTM (but I can't merge)

I wonder how this compiled as unix isn't imported in the file. Just noticed while updating libpod. @saschagrunert, could you add the import?

Yes, I will do. Thanks for the hin.


STAT-19547 Audiocodes SDK upgraded to v1.19.0

@RajasekharBa-Kore @KambagiriswamyBo-Kore Could you please review this PR ?


KOGITO-3042: Replace MessageBusClient<> with proxified version of ApiToConsume

Consuming the API provided by your counterpart as an Envelope or a Channel is not very complex, but making it be type-safe makes things way more complicated. This PR makes it possible to consume your counterpart APIs by using an object with the same interface that it implements. This was achieved by using a Proxy object. See EnvelopeBusMessageManager.ts.
I believe this is a much better way to communicate with the Envelope/Channel APIs than we had before, although just as type-safe.
I also provided a convenient messageBusClientApiMock function to be used by tests.

@caponetto Decided to remove the KogitoEditorEnvelopeServer too, since the way to call the Envelope API is now much better.
Had to make the Proxy objects for requests and notifications a little bit more complex, since we need to spy on those methods on some of our tests (EmbeddedEditor.test.tsx). I needed to memoize the values returned by the get handlers and add a set handler, since that's what jest.spyOn needs internally.
This has made the "proxied" objects behave much more like a normal object, too :)
Take a look at e4ee88c8ca34c909fa974fb07cf4c2cf9c69687d


mvvm refactor

what do you think?

#19

and #20

Looks really, really good!!
There are some conflicts, I assume because some changes were introduced since the PR.
Would love to have a discord session, review, discuss everything and merge if you are available - please let me know.
Not sure about the split between Preferences / Game VM. In theory it should be fine until they need each other, but it could make the dependencies a bit over-complicated when testing.

No problem.
Conflics solved.
Now trying the mobx path.


about move caret to end of the character instead of its begining

public static ......
When i use the acejump and type a and type the target key, the caret will move to the location between t and a , like this st|atic.
But because of my own habits, I wanna the caret locate between a and t, like this sta|tic.
I've tried to read the code and modify it, but i failed.  I don't know where should i change.
So, tell me what should i do.
And maybe add this feature(a option) will be helpful for someone like me.

I found it.
   @Override
    public void run() {
        _offsetToJump.editor.getContentComponent().requestFocus();
        _offsetToJump.editor.getCaretModel().moveToOffset(_offsetToJump.offset);
        _offsetToJump.editor.getSelectionModel().removeSelection();
    }

modify to
    public void run() {
        _offsetToJump.editor.getContentComponent().requestFocus();
        _offsetToJump.editor.getCaretModel().moveToOffset(_offsetToJump.offset + 1);
        _offsetToJump.editor.getSelectionModel().removeSelection();
    }

can simply reach it.


registry: add AfterIndex event watcher option

AfterIndex watcher option usage ensures registry event watcher
won't miss events that trigger Agent reconciliation.
Fixes #1362

I'm closing it.
As noted in https://github.com/coreos/fleet/issues/1362#issuecomment-257360064, I cannot see how this change would fix the issue of missing events. Even if it's worth setting AfterIndex to non-zero, I think the long term plan should be just to change fleet to use new API from etcd v3, based on protobuf.
Though it's not that this change doesn't make sense. Actually I think in theory it's possible to change AfterIndex, and it could make sense for some cases. So I'd be happy to review it again, when anyone could reopen it with a precise bug report.
Thanks.


Flannel ping ICMP packets not routed back properly

Hi,
Somehow I cannot seem to ping over the flannel network (flanneld version 0.5.3). I have a virtual box guest running Ubuntu that runs on the host's private network. When I ping from the guest (<IP_ADDRESS>) to the host's docker IP on flannel with "ping <IP_ADDRESS>" or "ping <IP_ADDRESS>", the traffic does arrive on the host:
tcpump on the host:
$ sudo tcpdump -i any -n icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
22:59:26.252319 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo request, id 17143, seq 10, length 64
22:59:26.252339 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo reply, id 17143, seq 10, length 64
22:59:27.252209 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo request, id 17143, seq 11, length 64
22:59:27.252230 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo reply, id 17143, seq 11, length 64
... etc ...

But the replies do not arrive back at the guest. Routing tables of the host looks fine:
ip route at the host:
default via <IP_ADDRESS> dev wlp3s0  proto static  metric 600
<IP_ADDRESS>/16 dev flannel.1
<IP_ADDRESS>/24 dev docker0  proto kernel  scope link  src <IP_ADDRESS>
<IP_ADDRESS>/16 dev wlp3s0  scope link  metric 1000
<IP_ADDRESS>/24 dev wlp3s0  proto kernel  scope link  src <IP_ADDRESS>  metric 600
<IP_ADDRESS>/24 dev vboxnet1  proto kernel  scope link  src <IP_ADDRESS>

This is ip route at the guest:
default via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/24 dev eth0  proto kernel  scope link  src <IP_ADDRESS>
<IP_ADDRESS>/16 dev flannel.1  proto kernel  scope link  src <IP_ADDRESS>
<IP_ADDRESS>/24 dev docker0  proto kernel  scope link  src <IP_ADDRESS>
<IP_ADDRESS>/24 dev eth1  proto kernel  scope link  src <IP_ADDRESS>

It seems like a routing problem at the host's side. I have tried to start flanneld with the option -iface=vboxnet1 (in my understanding it would force routing over the virtual box private network) but with the same results.
Any idea? Thanks.

This is what systemctl status flanneld on the host has to say:
flanneld[6681]: I0304 08:35:52.757607 06681 vxlan.go:356] AddL3 succeeded
flanneld[6681]: I0304 08:36:32.530947 06681 vxlan.go:340] Ignoring not a miss: 4e:25:39:d7:76:68, flanneld[6681]: I0304 08:36:38.066940 06681 vxlan.go:340] Ignoring not a miss: 4e:25:39:d7:76:68, <IP_ADDRESS>
flanneld[6681]: I0304 08:36:41.066954 06681 vxlan.go:340] Ignoring not a miss: 4e:25:39:d7:76:68, <IP_ADDRESS>
flanneld[6681]: I0304 08:36:42.066987 06681 vxlan.go:340] Ignoring not a miss: 4e:25:39:d7:76:68, <IP_ADDRESS>
flanneld[6681]: I0304 08:36:43.066908 06681 vxlan.go:340] Ignoring not a miss: 4e:25:39:d7:76:68, <IP_ADDRESS>
flanneld[6681]: I0304 08:36:44.140476 06681 vxlan.go:345] L3 miss: <IP_ADDRESS>
flanneld[6681]: I0304 08:36:44.140515 06681 device.go:187] calling NeighSet: <IP_ADDRESS>, 4e:25:39:d7:76:68
flanneld[6681]: I0304 08:36:44.140622 06681 vxlan.go:356] AddL3 succeeded

See the same on flannel 0.5.5 on Ubuntu 14.04 OpenStack VM

Is this problem fixed?

Can anyone reproduce this issue with flannel 0.7.0? I can't see how this can be a flannel problem but I would like to be proved wrong. I'm going to close this issue but if anyone is still seeing this problem then please reopen.


:sparkles: gateway use pmd module

Description
Use pmd config from pmd-tools.

Waiting for de.muenchen.refarch.tools:refarch-pmd:1.0.0 to be published to maven central.


Remove delivery and move to calling RSpec directly via a reusable workflow

Signed-off-by: Lance Albertson<EMAIL_ADDRESS>

Released as: 7.3.2


Do we have to have a "CI passed passed" label

It looks a bit messy in the GitHub PR lists when both github itself lists the CI status of a build with a ❌ or ✔, but then the project also has to have a "CI passed" label for this bot.
Is it not possible to check the CI status of a PR directly without having a label marking it?

It's possible for sure, the problem is that the the statuses are not part of a PR's data and always have to be requested separately, so without a label, every single action that occurs that could change the automerge state (eg a reviewer approving the PR) would also have to send a request to get the status state. Right now, the action tries to avoid doing additional requests whenever possible to avoid hitting request limits from Github which is why it was done this way initially.
That being said, the way statuses work is extremely annoying, because Github sends status events extremely frequently to the repo level, which actually has consequences for long it takes for an action to run after the event that triggered it, as Github internally limits how many actions can run in parallel on a repo, so I think changing the action to not require the ci passed label would actually improve times and cleanup the UX, just with the caveat of the additional requests.

It's possible for sure, the problem is that the the statuses are not part of a PR's data and always have to be requested separately, so without a label, every single action that occurs that could change the automerge state (eg a reviewer approving the PR) would also have to send a request to get the status state. Right now, the action tries to avoid doing additional requests whenever possible to avoid hitting request limits from Github which is why it was done this way initially.
That being said, the way statuses work is extremely annoying, because Github sends status events extremely frequently to the repo level, which actually has consequences for long it takes for an action to run after the event that triggered it, as Github internally limits how many actions can run in parallel on a repo, so I think changing the action to not require the ci passed label would actually improve times and cleanup the UX, just with the caveat of the additional requests.

I'm gonna give this a shot.

I'm gonna give this a shot.

With the new design we can drop the CI passed label, it doesn't make a difference to the number of API calls. I'll do this afterwards.

Yay!

@repi Do you also want to remove the "reviewed" label?

If we don't technically need it, then making it optional to have would be nice


WIP : Add screenshots to save games

Proposal to add screenshots to save games. It works at the moment, but I'd like the project maintainers to review the code for feedback.
The interface gets very buggy if I don't pre-resize the screenshot prior to trying to show it on the load/save screen. The resolution of the resized image, and the filename to save games to should be exported to project settings. Currently it's hard coded in the file but I'll hold off on moving it until the project maintainers advise if at the top of the file or in project settings would be preferred.
This is how the load interface looks with this change currently - I made the screenshots 100x65 for proof of concept.

Changed "New Save" to be "Empty Slot", and also added a "Missing Image" image in case you have a save game file but not its related image.

I tried doing further updates to the interface (like drawing a box around the save game entry on mouse-over) but I gave up as I found it too inconsistent with the current popochiu_popup class, and Godot's control nodes are painful to use.

Hi @balloonpopper.
Me and @mapedorr just reviewed your implementation. It's working code but there are some corner cases that makes a proper solution pretty hard to complete.
To start with, this implementations should not overwrite the save/load component we have in place. A new one should be created instead.
Saving screenshot in a file may be a problem with web builds of the games, and this have to be checked better.
Also, your comment about Godot controls being a bit finnicky is not far from truth.
Considering all of that, the best option may be for @mapedorr to implement this feature. He has thorough knowledge of Godot controls, plus he knows the GUI system ins and outs.
I think we can work this out under the umbrella of #365 if we want to broaden its scope.
Are you ok with this?

If @mapedorr wants to implement this feature then that's fine.
You mentioned above that you don't want to modify the existing load/save functionality. In order to implement that I assume that you therefore would set up something similar to the GUI selection so you can select the save file type that you like? I have concerns about using the same setup tool for this - if I want to change my save game style, I don't want to overwrite my GUI type in case I have code customisations in there. The setup tool would need to be overhauled so that it only impacts the components you want to change.

The setup tool would need to be overhauled so that it only impacts the components you want to change.

Yes, there is draft work by @mapedorr on that that we decided to remove from 2.0, but will make its way into future versions, to allow people to pick up components à-la carte. The plugin UI to "compose" your game UI was too green and still requires proper design.
In the meantime, you are right: customizations need to be managed by hand. But this is true for every GUI component that gets customized. The best option we have right now is writing more documentation on how to incorporate new or updated components into the game UI if you upgrade Popochiu in your project.
Please, note that there has been a lot of discussion on how to support devs creating game UIs. It's not an easy deed, because GUIs are the most prominent elements that change a lot between adventure games (much more than characters, props, rooms or dialogues, which behaviors are 90% the same across different games).
Contributions in the GUI area will probably need a good amount of upfront design to be considered for inclusion. If you want to take this over, of course, the best option can be to detail the solution architecture in an issue before getting to the implementation.