Expose dev-oidc port to unblock local testing of login.

Description
We weren't exposing the dev-oidc container's port to the host machine. This meant that the steps described in https://docs.civiform.us/contributor-guide/developer-guide/authentication-providers#testing didn't work.
While here, I also did an audit of other exposed ports from docker-compose.yml and didn't find any others that were missing. Technically, the default Postgres port of 5432 isn't exposed, but there's likely no need to connect directly to the Postgres TCP port from the host machine.
Tested (bin/run-dev):

Before - "Login" returns an unresolved host error
After - "Login" succeeds

Already covered by https://github.com/seattle-uat/civiform/pull/2517/files
I just merged it, sorry for the delay

Already covered by https://github.com/seattle-uat/civiform/pull/2517/files
I just merged it, sorry for the delay

No problem!


gcc@13 not yet supported

Is your feature request related to a problem? Please describe.
People are now getting gcc@13 as defaults in macOS Homebrew. This compiler is problematic. Many packages don't build with them (see some of the conversations in spack-stack over the last few days), and even if the environment builds there are segmentation faults when running code (https://github.com/JCSDA-internal/fv3-bundle/issues/104 if you can access this page).
Describe the solution you'd like
Of course, in the long run we need to fix the build and runtime problems. But for now, we should implement a guard that prevents users from building with gcc@13 / gfortran@13.
Additional context
n/a

Another good change would be to update the documentation in section 4.1.3 in https://spack-stack.readthedocs.io/en/1.3.1/NewSiteConfigs.html to warn people doing the brew install gcc command.

Note that after I did brew install gcc@12 I had to manually make symbolic links so that the gfortran command would be found.
ln -s /usr/local/bin/gfortran-12 /usr/local/bin/gfortran
ln -s /usr/local/bin/gcc-12 /usr/local/bin/gcc

I think brew has a feature for that

I wonder if it might be good to advise users to spack config edit compilers and edit the f77 and fc to point to the numbered executable? A la:
compilers:
- compiler:
    spec<EMAIL_ADDRESS>    paths:
      cc: /usr/bin/clang
      cxx: /usr/bin/clang++
      f77: /Users/mathomp4/.homebrew/brew/bin/gfortran-12
      fc: /Users/mathomp4/.homebrew/brew/bin/gfortran-12
    flags: {}
    operating_system: ventura
    target: aarch64
    modules: []
    environment: {}
    extra_rpaths: []

after installing gcc@12?
It looks like spack is smart enough to use the numbered-compilers first if my compilers.yaml is anything to go by after a spack compiler find when it makes "all gcc" compilers.

Yes, spack is happy with that. Would be even better if there was a homebrew command on macOS that we could use to link gfortran-12  gcc-12 etc as gfortran, gcc, …
And add something to bail out immediately if gfortran 12 is found. I’ll add that to base-env, because that’s the easiest place and that package gets used everywhere

On May 12, 2023, at 6:57 AM, Matthew Thompson @.***> wrote:
I wonder if it might be good to advise users to spack config edit compilers and edit the f77 and fc to point to the numbered executable? A la:
compilers:

compiler:
spec: @.***
paths:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: /Users/mathomp4/.homebrew/brew/bin/gfortran-12
fc: /Users/mathomp4/.homebrew/brew/bin/gfortran-12
flags: {}
operating_system: ventura
target: aarch64
modules: []
environment: {}
extra_rpaths: []
after installing @.***?

It looks like spack is smart enough to use the numbered-compilers first if my compilers.yaml is anything to go by after a spack compiler find when it makes "all gcc" compilers.
—
Reply to this email directly, view it on GitHub https://github.com/NOAA-EMC/spack-stack/issues/578#issuecomment-1545704027, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5C2RKZKYFZHHHAEUXUTX3XFYXS7ANCNFSM6AAAAAAX6OPQH4.
You are receiving this because you authored the thread.


Schema constants

Determine min and max schema size, max schema registrations (all based on Vec size of the model)

[ ] Min Schema size: it's an easier check to bail up front on a minimum size and we should. The SchemaZero byte length is a good starting point.

[ ] Set MinSchemaModelSizeBytes to 8 bytes across the board.

Discussion

[x] Max schema size: determined by max weight and also @enddynayn suggests this can be limited before the message even gets put in the mempool by restricting the weight for the extrinsic.

[x] Currently 1024. Leave it

[x] Max Schema registrations:  there was some debate about whether there should be a number below whatever the max of a U16 is.  If the limit is just U16 max value then it would seem we don't need this config?  Perhaps it would be better to leave some wiggle room though.

@wilwade  @shannonwells  @enddynayn  not sure if there is a bug, But currently in runtime
the max is set to
type SchemaModelMaxBytesBoundedVecLimit = ConstU32<65_000>;
while
pub const MaxMessagePayloadSizeBytes: u32 = 1024 * 50; // 50K
I think we got confused with this 1024, which states max message size per schema about 50k
We need to change SchemaModelMaxBytesBoundedVecLimit to 1024 ?

Yep just checked, max schema size is tied to max weight so all good :+1:


Flux Partitioning

Purpose

WIP
To-do

Content

[ ] I have read and checked the items on the review checklist.

outdated - replaced by #361


Macro does not run for player user in v11 any more

Macro is attached as a zip.
fvtt-Macro-itemmeasuredtemplate-UUq7vzX3grCaRhCB.zip
I call it from my add-on like so:
        const macro = game.macros?.find(m => m.name === "ItemMeasuredTemplate")
        if (!macro) return
        macro.execute({item: this.item5e})

When the user for macro is set to None it works fine.
But when set macro to run for a player user, then nothing happens. No error messages, no nothing.
(I run the add-on code to execute the macro from my Gamemaster user while the player user is logged into the server)
Using Foundry 11.302

Firstly, am I making a most basic mistake: does the player user have to have the macro also?
Secondly, it seems to be nothing to do with passing arguments, the following macro does not run either:
console.log("blah blah blah")
ui.notifications?.info("yes yes yes")

Should be fixed now on v2.0.2.

Yes indeed! I updated to v2.0.2 and at first it started showing don’t have permission to run the macro warning on the player user side. Then I gave Limited permission to the user and works perfectly. Thank you!


Requested resource doesn't exist

When I try and follow the directions in the readme, I get:
  File "/home/dmd/.environments/redmine_move/local/lib/python2.7/site-packages/redmine/__init__.py", line 88, in request
    raise ResourceNotFoundError
redmine.exceptions.ResourceNotFoundError: Requested resource doesn't exist

Any suggestions?

Turns out I had the resource name wrong; you have to use the short name.

@dmd I'm not sure what you mean but I'm glad you figured it out! :)


[#5822] Print Help information when the help option is passed

What changes were proposed in this pull request?
This is a small improvement, previously, typing entity help will displays the help information for that entity. Now, the entity --help command will have the same effect.
Why are the changes needed?
Fix: #5822
Does this PR introduce any user-facing change?
No
How was this patch tested?
bin/gcli.sh metalake [--help|help]
# metalake help information

bin/gcli.sh catalog [--help|help]
# catalog help information

bin/gcli.sh schema [--help|help]
# schema help information

bin/gcli.sh table [--help|help]
# table help information

bin/gcli.sh column [--help|help]
# column help information

bin/gcli.sh fileset [--help|help]
# fileset help information

bin/gcli.sh group [--help|help]
# group help information

bin/gcli.sh role [--help|help]
# role help information

bin/gcli.sh topic [--help|help]
# topic help information

bin/gcli.sh user [--help|help]
# user help information

bin/gcli.sh catalog -m demo_metalake --name Hive_catalog
# correct details output

Hi @justinmclean @xunliu, would you mind reviewing my code when you have a moment?

The help files have already been added in PR #5809

The help files have already been added in PR #5809

ok @justinmclean , than I just change the code and delete the help file

Hi @justinmclean, I just remove those help files


Running CRC behind proxy

Export HTTP_PROXY and HTTPS_PROXY.
Getting error:
sudo crc setup
INFO Caching oc binary
ERRO Error occurred: Download failed: Head https://mirror.openshift.com/pub/openshift-v4/clients/oc/latest/macosx/oc.tar.gz: dial tcp: lookup mirror.openshift.com on x.x.x.x:53: no such host
FATA Not able to download oc Download failed: Head https://mirror.openshift.com
/pub/openshift-v4/clients/oc/latest/macosx/oc.tar.gz: dial tcp: lookup mirror.openshift.com on x.x.x.x:53: no such host

Currently not possible. We will add proxy support when OpenShift has added support on cluster level.

For what it's worth, the cavaliercoder/grab module that we use for our downloads seems to be able to use proxies, so I would have expected oc/machine driver downloads to work. Needs more testing and debugging ;)

We're not able to access in  corporate environment and  getting the below issue
ERRO Download failed: Head https://mirror.openshift.com/pub/openshift-v4/clients/oc/latest/windows/oc.zip: dial tcp <IP_ADDRESS>:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
FATA Unable to download oc Download failed: Head https://mirror.openshift.com/pub/openshift-v4/clients/oc/latest/windows/oc.zip: dial tcp <IP_ADDRESS>:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

How to  set the proxy while  running
>> crc setup

@praveenbommali we still don't have proxy support for crc right now, it is on our high priority list and will be start working soon on that.

https://github.com/code-ready/crc/issues/509 would workaround these issues with downloading oc/machine-drivers  when a proxy is involved

Another issue we will have when adding proxy support is hosts -R 3 quay.io which we currently use, but will need to change to something different.

Sorry to rehash this, it does look like in your 1.2.0 bundle, some of this has been fixed.  I was able to run
crc setup

with proxies just fine (see https://github.com/code-ready/crc/issues/864)
Once I set "export NO_PROXY=.testing" I can run
crc start

no problem.
Once I set NO_PROXY to .testing inside my Firefox Connections Settings, I can get to the OpenShift console perfectly after running
crc console

Here is my current issue.
Failed to pull image "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:a16c3892ffd8ebc28677fec63db9311adfeb99693b99e10fef16573e861f6bbb": rpc error: code = Unknown desc = pinging docker registry returned: Get https://quay.io/v2/: dial tcp <IP_ADDRESS>:443: i/o timeout

I'm trying to run httpd-example project, and the build keeps getting stuck.  I've added HTTP_PROXY, HTTPS_PROXY env settings to dc (i know know that comes later, i'm a beginner), then found bc, added them there, canceled/restarted the builds, and no joy.
I haven't yet found the secret sauce yet, but I want to stop searching if this is related to this issue you guys are working on.


All DbContext classes are forced to have generic DbContextOptions in DI as long as one DbContext is added to DI with generic DbContextOptions

I read #1401.
My scenario is that I don't want to add my DbContext classes to DI because there are too many of them and I want to generate them by myself (I will add the classes that instantiate those DbContext to DI). On the other hand, I need to use Identity which need to add IdentityDbContext to DI.
In Startup.cs, I add IdentityDbContext as this:
services.AddEntityFramework()
    .AddSqlServer()
    .AddDbContext<DbPortalIdentityDbContext>(options => options.UseSqlServer(Configuration.Get("ConnectionString")));

When I need my DbContext class instantiated, I use DbContextActivator.CreateInstance<T>.
However, calling DbContextActivator.CreateInstance<T> by myself will result in InvalidOperationException, the error message is:
The DbContextOptions object registered in the service provider must be a DbContextOptions where TContext is the type of the DbContext being used.
The reason is that AddDbContext method will add DbContextOptions to DI, GetOptions method of DbContext class will get DbContextOptions from DI and if it gets an option but doesn't match the type of DbContext, it throws that exception.
Because I don't add my DbContext classes to DI, so the GetOptions method always get the last DbContextOptions added by the last AddDbContext method in Startup.cs then throw the InvalidOperationException.
I wonder whether we can ignore the mismatch instead of throwing an exception?
private DbContextOptions GetOptions(IServiceProvider serviceProvider)
{
    if (serviceProvider == null)
    {
        return new DbContextOptions<DbContext>();
    }

    var genericOptions = _optionsTypes.GetOrAdd(GetType(), t => typeof(DbContextOptions<>).MakeGenericType(t));

    var options = (DbContextOptions)serviceProvider.GetService(genericOptions)
                    ?? serviceProvider.GetService<DbContextOptions>();

    if (options == null
        || options.GetType() != genericOptions)
    {
        return new DbContextOptions<DbContext>();
    }

    return options;
}

by the way, in this method:
public virtual EntityFrameworkServicesBuilder AddDbContext<TContext>([CanBeNull] Action<DbContextOptionsBuilder> optionsAction = null)
    where TContext : DbContext
{
    _serviceCollection.AddSingleton(_ => DbContextOptionsFactory<TContext>(optionsAction));

    _serviceCollection.AddSingleton<DbContextOptions>(p => p.GetRequiredService<DbContextOptions<TContext>>());

    _serviceCollection.AddScoped(typeof(TContext), DbContextActivator.CreateInstance<TContext>);

    return this;
}

p.GetRequiredService<DbContextOptions<TContext>>() in
_serviceCollection.AddSingleton<DbContextOptions>(p => p.GetRequiredService<DbContextOptions<TContext>>()); seems not to work as it's supposed to. In my case, TContext is supposed to be my DbContext type but it's DbPortalIdentityDbContext type because it's the same TContext as AddDbContext<TContext>

Triage This is by design. We always require that the generic version be registered in DI. That is also what our helper methods do. As a convenience we do allow you to expose a constructor that takes the non-generic version... but at runtime it will be an instance of the generic version.


feat: refactor fetch middleware and header forwarding

:tada: This PR is included in version 1.8.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Change background color of maskable icons

Is there a way to change the background colour of the maskable-icon and apple-touch-icon files?
After installing the PWA app you can see a white background in the installed app's icon

Check the webmanifest theme_color , should match the same color in html head meta theme-color, check:

https://vite-pwa-org.netlify.app/guide/pwa-minimal-requirements.html#web-app-manifest
https://vite-pwa-org.netlify.app/guide/pwa-minimal-requirements.html#entry-point

If previous configuration doesn0t work, you can use @vite-pwa/assets-generator to create the icons and change the bg color for the maskable pwa assets: https://vite-pwa-org.netlify.app/assets-generator/cli.html

Thank you! That works.
I needed to change the preset in pwa-assets.config.ts to have:
    maskable: {
        resizeOptions: {
            background: '#000'
        }
    },

It would be best if it would check the index.html or the pwa config in vite.config.ts for that colour
For feature reference:
https://vite-pwa-org.netlify.app/assets-generator/cli.html#ios-ipad-splash-screens

Would be super amazing to actually include this in the documentation...


[WIP] porting tests from hand-rolled artisinal test-suite to mocha

Note: this is a squashed version of https://github.com/NodeRedis/node_redis/tree/mocha-test-suite-no-grunt, since we're getting close to completing this task.
We're on the home stretch of the work being done for #778, I would love to get some eyeballs on this.
reviewers: @erinspice, @blainsmith

I love this so much. I will review it tomorrow.

So awesome. I'll get my eyeballs on it later today.

Everything looks good to me. This will be a great addition.

LGTM, too. Ship it!


Bluetooth Client Characteristic Configuration Descriptor Persistence

Description of the problem:
The bluetooth specs require the Client Characteristic Configuration Descriptor (CCCD) be persistent across connections for bonded devices (see here).  The underlying Nordic stack manages persistence, but this is not propagated back to the CODAL layer on re-connects.
For example,

A device connects to and pairs with a micro:bit
The device enables notifications
The device disconnects
The device reconnects
The underlying CCCD value in the BLE stack is restored, but there's no update to the MicroBitBLEChar objects' internal states (their cccd's), so notifications from CODAL won't propagate due to internal state checks (like this).

Possible solution
The easiest update may be:

Changing the meaning of the cccd ivar in MicroBitBLEChar to be a boolean  that indicates a CCCD exists for the characteristic (currently it is a shadow copy of the expected meaning of the CCCD).
Update the cccdNotify() and cccdIndicate() predicates to retrieve the actual CCCD value from the stack (first check the cccd ivar to see if there is a CCCD for this characteristic).

Concerns
Existing Bluetooth apps/features would need additional testing following this change.  It's likely that all current BLE apps/services for the micro:bit are implemented to automatically reset CCCDs of interest on connection rather than rely on the specified behavior, so impact is probably (hopefully) minimal.
Justification
The micro:bit should conform to Bluetooth specifications for compatibility with non-custom services.  For example, some Android and Windows devices expect the values to persist for BLE Human Interface Devices. Failure to re-enable them correctly prevents micro:bit services from working correctly on reconnects (workarounds are possible to overcome this).

My "hack" to work around this involves using the Nordic pm_register to monitor events from the peer_manager.   Anytime an PM_EVT_PEER_DATA_UPDATE_SUCCEEDED happens, I retrieve all CCCD data from the stack and use the value to setCCCD().   Example here.
That shows what I mean by "retrieving the value from the stack" (using sd_ble_gatts_value_get() on the CCCD).

Quick thought: Checking cccd probably isn't needed. cccd itself could be eliminated and handles' cccd field could be used (if it's 0, no CCCD to check).

@bsiever I have experimented with using sd_ble_gatts_value_get() instead of caching the value after a write. On reconnection, the flags read from sd_ble_gatts_value_get() get set before the connection is ready. The member variable CCCD is not quite just a copy of the stack value. It remembers that the client has written to the CCCD since reset.
Solely using the stack value causes a problem in the Bluetooth UART service. It starts sending before the connection is ready, encounters a BLE error it doesn't expect, and gets stuck because it doesn't get the confirmation for the packet it thinks it has sent. This occurs on every reboot so it never works a second time. This is really a bug in the UART service, but confirms you're right to be cautious!
Maybe a safe way to improve the situation is to allow individual services to turn on direct access to the stack values, or perhaps add an optional mode parameter to specify checking the member variable and/or stack values. Should the characteristic base class handle waiting for the connection to be ready, or should that be left to the individual service?

@martinwork It's been a while since I looked into this.  I think the part that breaks the standard is that the cccds are not restored following a reset.  Being retained between connections is ok.
Isn't nearly any change to the values in the BLE stack mostly dependent on getConnectionHandle() already?  Things like if ( connection == BLE_CONN_HANDLE_INVALID) return false; already guard changes changes until the connection is ready.  I'd need to think about this a lot more, but maybe it's possible to just modify getConnectionHandle() so it is dependent on both the handle and that other connection initialization is done.


update: v4 - full rewrite

This update is a full re-write of the library, everything will change, so expect big breaking changes.
Things of note:

Spigot support will be dropped - Spigot has been in a stale state for a while now and I see no point in keeping supporting it as it has been more headache than it is worth.
Re-write is made with the intent to support multiple platforms other than Paper.
v3 will be put in a separate branch where it can still be kept up to date with updates but no new features will be added.

Try it out
This is very early developments so many features are missing and many bugs might be present, use only for testing purposes.
maven("https://repo.triumphteam.dev/snapshots")
implementation("dev.triumphteam:triumph-gui-paper:4.0.0-SNAPSHOT")

Goals
The main goal of the update is to modernize the library, make it more powerful and allow for more customizability.
One of the biggest issues the library had was its "update" system, updating items in the inventory was always the main support question and the most confusing for most users.
v4 - Concepts and examples
This update took a lot of inspirations from other things, such as React, Compose, and Noxcrew's interfaces.
GUI View
Differently from the previous version, the GUI itself is only a blue-print for views, the view is what the player will see and interact with. The view is limited to a single viewer, you can show two different views for 2 different players that are identical, but never have 2 players seeing the same view. The view only exists while the GUI is opened.
Component
Starting of with the most important concept, a GuiComponent. Similar to React it describes how things will be rendered, in this case rendering means adding items to the Inventory.
A component will take note of what items was added to the inventory and when re-rendering it'll replace them.
Think of a component as a container of items that can be freely changed, once a change happens all items are re-added into their location.
Simple Example:
.component(component -> {

    component.render((container, player) -> {

        container.set(Slot.of(2, 2), item);
    });
})

When this component is rendered it'll set the item onto the slot 2, 2 (10 on a normal chest inventory).
Container
Simply put, the container is a holder for the items and their slots. There are different types of containers, such as Chest, Crafting, etc. The only difference about them is the mapping of the slots.
State
A "state" will control when a component re-renders.
There are two types of state:

State - Empty, does not contain any value, all it contains is a way to manually trigger a re-render by doing state.trigger().
MutableState - Stores any value and triggers a re-render when the value changes.

A mutable state also depends on a StateMutationPolicy, this will tell the state how it handles equality. When setting a new value to the state, if the value is equal (based on the policy), it'll NOT trigger a re-render of the component. The built in policies are:

ReferenceEquality - If the updated value is the equal reference wise it'll NOT trigger a re-render. Think of it like using old == new.
StructuralEquality - If the updated value is the equal structurally wise it'll NOT trigger a re-render. Think of it like using old.equals(new). This is the default behavior.
NeverEqual - No matter the value set, it'll always trigger a new re-render.

Using a state:
.component(component -> {

    // Create a mutable state with the starting value of "0"
    // This also binds the state to this component
    final var state = component.state(0);

    component.render((container, player) -> {
        container.set(
            Slot.of(2, 2),
            // Display the state as the item's name by using `state.getValue()`
            ItemBuilder.from(Material.POTATO).name(Component.text("State -> " + state.getValue())).asGuiItem((player, context) -> {
                // Increment the state value by 1
                // This will trigger the component to re-render, meaning that this item will be re-made
                state.setValue(state.getValue() + 1);
            })
        );
    });
})

A state does not need to be made within a functional component, it can be created outside, stored, re-used, etc. If a state is shared between two components it'll cause both to re-render. A state can also be shared between views, meaning you can trigger re-renders from one view to another.
Extending
The library is built around being able to change quite a lot of behaviors. For example, a GuiComponent by itself does nothing, it is paired with a GuiComponentRenderer, which can be changed for each GUI. This allows you to have completely different implementations of components, from Kotlin's coroutine's suspending components, to Completable future components, and much more.
The same process can be applied to clicks, a click action by itself does nothing and it uses a ClickHandler to implement how a click is run, so suspending clicks, async clicks, etc, are all possible.
Re-write state
The re-write is in very early stages so A LOT can change. But the main functionality is already done.
Things that are left that are very important are:

System to update the GUI title.
System to handle event cancelling, right now all clicks are always cancelled.
System to support "storage" like components, where players can freely take and add items to the inventory.
Click information, currently all you get is the player.
History system to navigate between views. (maybe)
Built in components, such as scrolling, pagination, etc.

Feedback is very important, so feel free to comment any addition, or change you'd like to see!

Can't wait to try this rewrite out once it is released! Glad yall are also dropping Spigot support, doesn't make sense since most servers are already running Paper!

Can't wait to try this rewrite out once it is released! Glad yall are also dropping Spigot support, doesn't make sense since most servers are already running Paper!
You can already try it out and report any issues you find. There is already a public snapshot.

I see container have set function but what addItem or something like that ?
Is planned add this feature or this missing for now.

I see container have set function but what addItem or something like that ?
Is planned add this feature or this missing for now.

What usage for that? Asking because there might be a replacement feature already.

(player, context) -> {

I'll give this some thought, you can play around with Layouts as they can provide something similar.

In example you can see i use container.set(slot, item...) But what if i want only addItem without set().. I must add variable slot for get number, i think for this example is good addItem.
Now i don't know if is behaviour of asGuiItem { player, context -> } only in this snapshot. If i want simply asGuiItem() without funcion this not allow me add.
        gui.component { component ->
            component.render { container, player ->
                var slot = 0
                for (material in Material.entries) {
                    if (!config.contains("level.ores.${material.name}")) continue
                    container.set(slot, ItemBuilder.from(itemStack.create()).asGuiItem { player, context -> })
                    slot++
                }
            }
        }.build().open(player)

I'll give this some thought, you can play around with Layouts as they can provide something similar.

The pom seems to be including annotations, guava, adventure, slf4j as compile. This was leading to large jars - I had to set the dependency to isTransitive = false and manually depend on core and nova as well.
Also, loving the look of this so far, very happy that it will be multi-platform now. I am willing to add support for Sponge (I actually have a working version already).
One thing I would like to see is stuff like component.render not requiring inclusion of the player argument, I'm just naming the player variable something random as it's useless to me, but it looks a bit ugly. (I guess Java 22 improves this with unnamed variables?)

Those are set as compile only transitive, usually they wouldn't be shaded, but that was only done for testing and I'll make them not transitive in soon.
Feel free to work on the sponge support but I'd probably recommend waiting a bit longer since internal changes can happen and you might constantly need to update your implementation.
And yes that is an intended change already, and instead it'll give you the GuiView, which you can get the player instance from if needed.

I have also moved the discussion for this into #116 so feel free to continue the conversations there.

Hello, you are doing a very interesting project, but as I see it, active development has been discontinued. Perhaps in the future you will be able to finish this?

Hello, you are doing a very interesting project, but as I see it, active development has been discontinued. Perhaps in the future you will be able to finish this?

Hello, it hasn't been abandoned, just haven't had much time to work on it recently, I am hoping to resume work on it this month.


init() takes exactly 6 arguments (2 given)

Hello. Just installed this today. Had to upgrade my numpy to latest version to fix a previous error. After about 10-20minutes, I got this error.
Welcome to Poloniex Lending Bot
Started WebServer, lendingbot status available at http://<IP_ADDRESS>:8000/lendingbot.html
2017-01-11 15:29:16 Error: __init__() takes exactly 6 arguments (2 given)
Traceback (most recent call last):
  File "lendingbot.py", line 68, in <module>
    Lending.cancel_all()
  File "/usr/src/poloniexlendingbot/modules/Lending.py", line 100, in cancel_all
    loan_offers = api.return_open_loan_offers()
  File "/usr/src/poloniexlendingbot/modules/Poloniex.py", line 129, in return_open_loan_offers
    loan_offers = self.api_query('returnOpenLoanOffers')
  File "/usr/src/poloniexlendingbot/modules/Poloniex.py", line 86, in api_query
    raise type(ex), type(ex)(ex.message + ' Requesting %s' % command), sys.exc_info()[2]
TypeError: __init__() takes exactly 6 arguments (2 given)

Unhandled error, please open a Github issue so we can fix it!

Which Python version are you using?

root@gasgiant:/usr/src/poloniexlendingbot# python --version
Python 2.7.9

Thanks for the report, there seem to be an error in the actual error handling which is hiding a failed call to returnOpenLoanOffers.
In any case this shouldn't stop the bot from working, it will just retry after a delay.
Is the bot otherwise running?

Seems to be running otherwise.

This error was already noticed here
https://github.com/Mikadily/poloniexlendingbot/issues/175

Research Update:
I think the error comes from my attempt to rethrow the Exception in line 86:
raise type(ex), type(ex)(ex.message + ' Requesting %s' % command), sys.exc_info()[2]
It assumes that type(ex) is an exception type that accepts a message to initialize.

Not fixed by #174 in this state, considering removing commits dealing with error handling.

@rnevet Since you already have the exception, instead of raising a new one, you could:
ex.message = "{0} Requesting {1}".format(str(ex), command)
raise

Then change all the str(ex) in lendingbot.py to ex.message.
message will always exist for python Exceptions and you'd be creating it for any random ones that are caught that somehow might not have it. Though they always should.
Or of course, just ignore the original type and raise a new one.

@laxdog
The ex.message solution is a good idea, can you make the PR?


V0.5 alpha openbsd

For OpenBSD, current master is broken.  I made some fixes to the conditional compilation configuration in the following areas:
per-socket keepalive parameters
Ipv4 source specific multicast
RECVTOS
ipv6 only
Tested on a system derived from OpenBSD 7.1, the latest published OpenBSD version.

Thanks @niklasha


Encoding special characters

When adding paragraph with text containing special letters (ą ę ł ó ć ś ź ż and similar) text in document is encoded. There seem to be no way to put special characters in document.
example input:
document.add_paragraph('ą ę ł ó ć ś ź ż')
example output (same line in .docx file:
Ä… Ä™ Ĺ‚ Ăł Ä‡ Ĺ› Ĺş ĹĽ
Perhaps adding key word argument like special_characters :bool = True or decode :bool = True and adding some behavior associated with it would help.

Please show the code and mention the version of Python and the operating system, in particular the default encoding.
Unicode characters should appear properly. Perhaps these characters are encoded Windows-1252. python-docx assumes bytes (Python 2 str) are encoded as UTF-8.

Hello what do you think is the solution if what you stated is the case?

I am facing the same issue


This document recommends a different setting for “Turn off Microsoft Defender Antivirus.” than what other document suggest (the latter actually fixed issue for customer))

[ From RAVE case 24527130   https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/mcafee-to-microsoft-defender-setup#enable-microsoft-defender-antivirus-on-your-windows-client-devices recommends “Turn off Microsoft Defender Antivirus.” to be set to "Disabled" but https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-antivirus/use-group-policy-microsoft-defender-antivirus says it should be “Not Configured” instead to ensure any installed third-party antivirus apps work correctly, that setting is what actually fixed the problem in customer's scenario, which was Defender not going into passive mode despite being onboarded on MDE with McAfee AV installed (they provided the feedback that this should be addressed/corrected).]

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

ID: 89449bef-485d-caff-f3a5-c892b3d33056
Version Independent ID: 669feff2-5757-3c24-c803-28d6ad2f8d12
Content: McAfee to Microsoft Defender for Endpoint - Setup - Windows security
Content Source: windows/security/threat-protection/microsoft-defender-atp/mcafee-to-microsoft-defender-setup.md
Product: m365-security
Technology: mde
GitHub Login: @denisebmsft
Microsoft Alias: deniseb

@anaguile . Turn off Microsoft Defender Antivirus  set to Disabled means still Microsoft Defender runs background.
Turn off Microsoft Defender Antivirus. set to Enabled means  Microsoft Defender is turned off.

PR #9343 is  complicated , i taken care while editing this article, so i request reviewers to review changed parts must be reviewed.

@RAJU2529
i checked the document and it still shows the same statement:
3. Choose Edit policy setting, and make sure that policy is disabled. This enables Microsoft Defender Antivirus.
I understood this was changed, can you confirm this is the case?

@anaguile . changes will be visible after few days

The commit (https://github.com/MicrosoftDocs/windows-itpro-docs/commit/5118d9868ffe59c63308c1040ada40a61485bc15) changes here on GitHub have still not migrated to docs.microsoft.com as of the time of this comment:

https://docs.microsoft.com/microsoft-365/security/defender-endpoint/mcafee-to-microsoft-defender-setup?view=o365-worldwide
(still showing the document date 03/03/2021)

Looks like the target document has been moved to the following location:

https://github.com/MicrosoftDocs/microsoft-365-docs/blob/public/microsoft-365/security/defender-endpoint/mcafee-to-microsoft-defender-setup.md

Not sure if the linked PR and its resulting commit will be migrated there, but we could try asking the team members if this will be handled in the private repository MicrosoftDocs-pr (only visible for team members).

@RAJU2529 , @illfated
Just to make sure, the original suggested change does not seen to be replicated yet. I was informed that changes should be visible after a few days.
Usually, how long does this take?

Just in case:
the suggested change was from:
3. Choose Edit policy setting, and make sure that policy is disabled. This enables Microsoft Defender Antivirus.
to:
3. Choose Edit policy setting, and make sure that policy is Not Configured. This enables Microsoft Defender Antivirus.
This based on https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-antivirus/use-group-policy-microsoft-defender-antivirus as it reads:
Turn off Microsoft Defender Antivirus | Not used (This setting must be set to Not configured to ensure any installed third-party antivirus apps work correctly)
The above was also confirmed on a customer case, where changing "Turn off Microsoft Defender Antivirus" to "Not Configured" solved the problem (Defender not running in passive mode when another 3rd party A/V (McAfee) is active)

@anaguile : Please open a new issue ticket based on the new location of the document. To continue posting here will slow down any attempts we make to follow up on your comments, since this ticket references the wrong page.


Fix AgentsCount inconsistencies

This updates the AgentsCount component to be Relay-aware, and instead of alternatingly trusting the Pusher agent count and Relay agent count, instead takes a change on the Pusher end as a cue to forceFetch updated values from Relay.
This causes the component to stay pretty stable when it comes to repaints.
I also took the opportunity to switch over to using shallowCompare in shouldComponentUpdate and remove the component from the Webpack bridge in app.js
Fixes https://3.basecamp.com/3453178/buckets/1445180/todos/323608085

Does this also fix the "click the agent button and get a cached version" bug?

Yes! The reason that was happening was that when we clicked we would switch back to the version of the data the organisation graph node has, which could’ve been outdated.


Small discrepancies between locally knitted pdf and published fig 2

Hi!
I've been working on your paper as part of the Liverpool N8 CIR ReproHack. Thanks for submitting it! It's been really fun to work with.
I'm just finding small differences figure 2.
Here's the published plot

And here's what I'm getting when knitting the pdf:

Cool, thanks for reporting.
The core sarsop algorithm which underlies this (https://github.com/boettiger-lab/sarsop) is actually a stand-alone C++ program that does not integrate into R's random number generator (yes it's a form of optimization algorithm but isn't entirely deterministic).  I believe a degree of variability in sarsop  is expected.  Of course, this should impact the POMDP solution only.
I'm actually not sure of the top of my head if seed is being locked for the simulations underneath all three scenarios (recall these results are the combination of a decision rule and then simulations of the underlying process).  I may not enforced random seed at all, or perhaps appropriately across the parallel processing.  In any event, the qualitative result should be robust to seed, so that at least is good to see!


Improve callstack for LoggingThreadPool

Output items in callstack as <RunAction>b__7_0 rather than ctor>b__4_0
Before

After

Sure. Why not? 🚢

Will merge.


Possibility of adding workflow_dispatch event support?

Hey! I'm wondering if it'd be possible to add workflow_dispatch as a supported event.
Here are my reasons:

My use case is for a unity game that I'm working on. Many of the changes I put into pull requests are just for things like adding image or sound assets, or obligatory meta files for the unity engine that need to be tracked alongside game resources. That means pull requests can get to be hundreds of files big without really doing much with actual code. I really appreciate the exclusion filter and am using it, but it'd be nice to be able to opt in to an AI assisted review when I know my changes are code heavy and need extra eyes, instead of having to  opt out of an already running workflow and cancel it when it's not really needed.

Cost savings. Since OpenAI is a paid service, being able to opt in to a review would save money for the user long term.

It would also make it possible to select from multiple different models in the UI. For example:

  workflow_dispatch:
    inputs:
      model:
        description: 'Model'
        required: true
        default: 'gpt-3.5-turbo-16k'
        type: 'choice'
        options:
          - gpt-3.5-turbo
          - gpt-3.5-turbo-0301
          - gpt-3.5-turbo-16k-0613
          - gpt-3.5-turbo-16k
          - gpt-3.5-turbo-0613
          - gpt-4

would make it so if someone felt they needed GPT to have a bigger context to work with for one pull request vs another, they wouldn't have to go into their .yml files or modify their github environment entries.
I've never written an action before, but I can also take a crack at making a pull request when I get a little free time if you're up for this idea!

Or adding support for review_requested which seems like it might be simpler.

I'm fine with that if the current way can still be used as a default. If that's possible, feel free to open a PR.

Awesome! Do you have any good resources on how to get started with developing github actions? I'm used to using one but haven't made/modified one before.

Not really unfortunately :/


why training_performances.tfrecord file is so big?

I want to train a performance model from 10000 midi files, so i need to create my own training set,but i find the generated training_performance.tfrecord so big. it have been 100GB,but still havn't been to end. I am confused about this. And other model didn't appear this problem.

This is because we translate the data into its onehot representation before we save it to disk. In hindsight, we probably should have saved the onehot translation until right before the data goes into the network. If you have thoughts on how to update the code to do this, we'd be open to a pull request.


Patches generic match

What this PR does / why we need it:
We should allow users to use a wildcard selector for applying patches on resourceName and resourceType. This is a continuation of an older PR https://github.com/kubevirt/kubevirt/pull/4575
It also changes all fields of a Patch object to be required if a patch is specified.
A follow up PR to add a validationwebhook for create and update of the KubeVirt CR that does not allow for empty strings is needed.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

Change customizeComponents.patches such that '*' resourceName or resourceType matches all, all fields of a patch (type, patch, resourceName, resourceType) are now required.

/retest

/lgtm

Change customizeComponents.patches such that '*' resourceName or resourceType matches all, all fields of a patch (type, patch, resourceName, resourceType) are now required.

Just to clarify this: It does not look to me like one could have get something working if not all 4 were specified. Is that the case?

Just to clarify this: It does not look to me like one could have get something working if not all 4 were specified. Is that the case?

correct, nothing will be applied if they are not all specified currently. this PR just adds the validation to the api and allows for a wildcard. I will create a follow up PR that checks resourceName and resourceType values to not allow empty strings.

Just to clarify this: It does not look to me like one could have get something working if not all 4 were specified. Is that the case?

correct, nothing will be applied if they are not all specified currently. this PR just adds the validation to the api and allows for a wildcard. I will create a follow up PR that checks resourceName and resourceType values to not allow empty strings.

Perfect. Thanks.
/hold cancel


feat(node): add env checks to check for node install/version installed

Closes EDITOR-56

Messages

:book:

:white_check_mark: All tests are passing
Nice one! All 27 tests are passing.

  Generated by :no_entry_sign: dangerJS against 15d7aa22db742f07c120b69691d2ba661db3623b


Fix: TS types

Change Type

[ ] Feature
[ ] Chore
[x] Bug Fix

Change Level

[ ] major
[ ] minor
[x] patch

Further Information (screenshots, bug report links, etc.)
Checklist

[ ] Added tests / did not decrease code coverage
[ ] Tested in supported environments (common browsers or current and LTS Node)

commented about it here: https://github.com/zacanger/styled-reset/issues/8#issuecomment-480923879
in short "GlobalComponentStyle" does not exist in https://github.com/DefinitelyTyped/DefinitelyTyped/blob/c0485b9f002291bb4cd2f884d3d971d70ad20be9/types/styled-components/index.d.ts#L129

Yikes, thank you! I'll have to set up a TS test at some point so I can avoid these issues :flushed:

Thanks! This is published in 2.0.6.


[FIX] fix arithmetic operation between numeric and non-numeric

fix arithmetic operation between numeric and non-numeric will cause unexpected value (#2142 #2145)

@yangzhg Would better add a UT for this bug.

I test with mysql 5.7.1.
I think we should keep consistent with mysql.
We could compute the following arithmetic  expression In FE, and we should add UT in FE to cover this.
mysql> select 1 + "kks";
+-----------+
| 1 + "kks" |
+-----------+
|         1 |
+-----------+
1 row in set, 1 warning (0.00 sec)

mysql> select 1 - "kks";
+-----------+
| 1 - "kks" |
+-----------+
|         1 |
+-----------+
1 row in set, 1 warning (0.05 sec)

mysql> select 1 * "kks";
+-----------+
| 1 * "kks" |
+-----------+
|         0 |
+-----------+
1 row in set, 1 warning (0.00 sec)

mysql> select 1 /  "kks";
+------------+
| 1 /  "kks" |
+------------+
|       NULL |
+------------+
1 row in set, 1 warning (0.00 sec)

I test with mysql 5.7.1.
I think we should keep consistent with mysql.
We could compute the following arithmetic expression In FE, and we should add UT in FE to cover this.
mysql> select 1 + "kks";
+-----------+
| 1 + "kks" |
+-----------+
|         1 |
+-----------+
1 row in set, 1 warning (0.00 sec)

mysql> select 1 - "kks";
+-----------+
| 1 - "kks" |
+-----------+
|         1 |
+-----------+
1 row in set, 1 warning (0.05 sec)

mysql> select 1 * "kks";
+-----------+
| 1 * "kks" |
+-----------+
|         0 |
+-----------+
1 row in set, 1 warning (0.00 sec)

mysql> select 1 /  "kks";
+------------+
| 1 /  "kks" |
+------------+
|       NULL |
+------------+
1 row in set, 1 warning (0.00 sec)

i have done this
the current output :
mysql> select 1 +  "kks";
+-----------+
| 1 + 'kks' |
+-----------+
|         1 |
+-----------+
1 row in set (0.02 sec)

mysql> select 1 -  "kks";
+-----------+
| 1 - 'kks' |
+-----------+
|         1 |
+-----------+
1 row in set (0.01 sec)

mysql> select 1 *  "kks";
+-----------+
| 1 * 'kks' |
+-----------+
|         0 |
+-----------+
1 row in set (0.01 sec)

mysql> select 1 /  "kks";
+-----------+
| 1 / 'kks' |
+-----------+
|      NULL |
+-----------+
1 row in set (0.01 sec)


Feature/traefik ingress controller

Hi, thank you for your contribution to Mantl! Before we can accept any code into
master, we need it to meet the following criteria. If there are any you can't
satisfy yourself, go ahead and open the pull request anyway and we'll help you
test. Feel free to delete this message once you're done. Thanks again!

[ ] Installs cleanly on a fresh build of most recent master branch
[ ] Upgrades cleanly from the most recent release
[ ] Updates documentation relevant to the changes

LGTM! But i would like others to review also.


CKEditor is loading, please wait...

All I see is "CKEditor is loading, please wait..." and in the debug console I do see an error (below).  I'm running the latest DNN 9.  I noticed the installer only has DNN8 listed (which I used), but on the front page of GitHub, it did indicate DNN 9 was supported.  Am I installing correctly?
Uncaught Error: [CKEDITOR.resourceManager.load] Resource name "tableresize" was not found at "https://www.MyWebSite.com/Providers/HtmlEditorProviders/CKEditor/plugins/tableresize/plugin.js?t=H8DA".
at CKEDITOR.resourceManager. (ckeditor.js:formatted:5926)
at f (ckeditor.js:formatted:5790)
at Array.D (ckeditor.js:formatted:5798)
at w (ckeditor.js:formatted:5805)
at ckeditor.js:formatted:5826

Correct the dnn 8 package can be also used for the dnn 9 installation (as described in the readme.html)
I updated the downloads now the tableresize plugin is included
https://github.com/w8tcha/dnnckeditor/releases/tag/v02.01.09


Set all request timeouts to just over API timeout

The timeout of the API is 90s. If the request timeout is shorter, a request may error out in the client but complete successfully on the server. This is confusing and may cause problems if the client tries again.

Coverage remained the same at 83.601% when pulling 4d75b8d95a6a4c4e30aa18335348df377a6a5dd8 on bugfix/increase-client-timeout into 74556a40b11d04652dbc76327dcb3cf277e6009e on development.

Coverage remained the same at 83.601% when pulling 4d75b8d95a6a4c4e30aa18335348df377a6a5dd8 on bugfix/increase-client-timeout into 74556a40b11d04652dbc76327dcb3cf277e6009e on development.

Coverage remained the same at 83.601% when pulling 4d75b8d95a6a4c4e30aa18335348df377a6a5dd8 on bugfix/increase-client-timeout into 74556a40b11d04652dbc76327dcb3cf277e6009e on development.

Coverage remained the same at 83.601% when pulling 4d75b8d95a6a4c4e30aa18335348df377a6a5dd8 on bugfix/increase-client-timeout into 74556a40b11d04652dbc76327dcb3cf277e6009e on development.

Thanks!


Upload files only

Is there a way to ignore all default arguments (like ipa, dsym and xcarchive) and just upload files?

I know there is another plugin which is suppose to upload files but that one is old and not working.

@farshadtx have your tried the file or folder properties?

I'm already using files but I still get plist, ipa and dsyms in the bucket.
here is my script:
aws_s3(
      bucket: ????,
      region: ????,
      path: "beta/#{version_number}/build-#{build_number}/",
      files: ['build/simulator.zip']
      )

I think the reason was running gym before this call, fixed it by adding empty string to all those args:
aws_s3(
      bucket: ????,
      region: ????,
      dsym: '', <-----
      ipa: '', <-----
      xcarchive: '', <-----
      path: "beta/#{version_number}/build-#{build_number}/",
      files: ['build/simulator.zip']
      )


Enable LLVM_IAS=1 for arm32 allmodconfig on android-mainline

Android has started merging the 5.13 merges into android-mainline, meaning that we have the crypto fix that we need.

Ping :)


Build a "lucet" layer on top of "lucet-dev"

We end up with two images.
The former being just the base development environment, suitable for CI.
The later having the release builds populated in /opt/lucet.
This is the one we can upload to the Docker Hub, as people can use it to get immediately started with Lucet without having to recompile it.
Also remove the wasi debian package after installation by the way.

Is this PR ready to be reviewed? I know we talked about having an executables-only image for distribution so that the extra libraries needed for fuzzing don't inflate downloads too much; this PR might be at cross-purposes with that?

This PR is still waiting for a review.
Even with the forthcoming split into two images, this PR is a first step and is still worth merging now. Travis only builds the dev environment, but users get the precompiled binaries ready to use.


Update metric API to support usage.stats.initial_release_date using dynamoDB

If the incoming request is in the test, fetch the data for usage.stats.initial_release_date from dynamo.

Query for the latest record of the plugin

aws dynamodb query \
--table-name dev-test_plugin \
--index-name plugin-is_latest
--key-conditions 'name = :plugin_name' \
--expression-attribute-values '{
":plugin_name": {"S": "foo"}
}'
--projection 'initial_release_date'

In the above query, replace foo with the relevant plugin_name and table_name with the correct prefix.

If records exists, fetch the initial_release_date else set it to null.

Some of the data that could be useful to have logged:

Time taken for dynamo read

Blocked by #882

Currently, we retrieve this information on the frontend by directly accessing the existing plugin field first_released. Since we already load this data on the plugin page, as a part of https://github.com/chanzuckerberg/napari-hub/blob/main/frontend/src/context/plugin.tsx, I'm curious what the value would be of transitioning over a single data point without taking into consideration the others.  cc @manasaV3 @codemonkey800

Making just this data point available in metrics endpoint because the first_released date is being used in the activity dashboard to generate the time frame in x installs since publicly released over y months ago.

After discussing with @manasaV3 , this is not critical to the migration effort but a nice to have, so I will be adjusting the epic accordingly


SNARK jobs payment doesn't correctly deduct account creation fee for new accounts

It appears that the account creation fee is not being correctly deducted from the SNARK jobs payment when a new account is created. Specifically, the account with the address B62qqsMmiJPjodmXxZuvXpEYRv4sBQLFDz1aHYesVmybTqyfZzWnd2n should have a balance of 0, but it currently has a balance of 1.
https://minasearch.com/addresses/accounts/B62qqsMmiJPjodmXxZuvXpEYRv4sBQLFDz1aHYesVmybTqyfZzWnd2n

Another example:
https://minasearch.com/addresses/accounts/B62qrDLthD47ZAHviPTg1FZM5Lvmr3s9WX64q6M7qb2CsRTxs1BYWaF


Deposits on ETH block payment channel claims from being sent

They should happen in parallel rather than in queue when the channel is being topped up.
(this may be the cause of the TimeoutError when streaming on eth)

Fixed by interledgerjs/ilp-plugin-ethereum@bd3880d9d7f9d2fa08f063377205b0d01a59e5b4.


IO::ByteFormat with Big numbers

Somewhat related to #9055 I think, or at least that's the closest I could find. As things sit now BigInt and BigFloat aren't compatible with the IO::ByteFormat methods, even though they are numbers and probably should be.
Right now the only way I know of to write a BigInt to an IO is by first converting it to a hex string, then padding it, then converting it to a slice. It would be nice to have a more efficient, not to mention cleaner, way of doing so.

I'm not sure #decode can be implemented. Unlike normal ints, BigInt doesn't have a fixed bytesize. What should it do, create a BigInt from all the bytes remaining in the IO?
However if for now you want something more efficient than your solution you could do something like this:
require "big"

lib LibGMP
  fun export = __gmpz_export(rop : Void*, countp : Int32*, order : Int32, size : Int32, endian : Int32, nails : Int32, op : MPZ*) : UInt8*
end

struct BigInt
  def bytes(format = IO::ByteFormat::SystemEndian)
    e = format == IO::ByteFormat::BigEndian ? 1 : -1
    size = LibGMP.sizeinbase(self, 256)
    Bytes.new(size).tap { |s| LibGMP.export(s, nil, e, 1, 1, 0, self) }
  end
end

n =<PHONE_NUMBER>.to_big_i
n.bytes(IO::ByteFormat::LittleEndian) # => Bytes[210, 2, 150, 73]
n.bytes(IO::ByteFormat::BigEndian) # => Bytes[73, 150, 2, 210]

Yeah, the problem here is that there's no absolute standard to serialize arbitrary length integers or floats, so it easily will be application specific.

So the problem isn't in writing the bigint to the IO/Slice, but in reading it right? Because it seems like converting it to bytes is simple enough, but converting back using an IO or Slice that contains other serialized datatypes isn't possible without some kind of concensus as to what a byte serialized integer of an arbitrary length should look like?
If that's the case, I'd settle for just having the #bytes method @Exilor came up with below. Most of the time when I want BigInt serialization it's BigInt -> Bytes not the other way around, and the BIgInt -> Hex String -> Byte Slice method is really inefficient.

@watzon  The problem reading a BigInt's bytes from an IO is that there's no way to know where they end and some other thing's bytes begin because it could have any bytesize.

Right, that's what I thought. It's unfortunate, but nothing we can do about it unless we come up with a standard of our own I guess. BigInt#bytes would be nice though.

You could also simply write the BigInt as a string to the IO and then on the other side read the string and call #to_big_i on it.


Find a new meeting time

Because there is going to be ps sessions at our regular meeting time, we will find a new slot. (Especially M 15:00, T 9:00)

we can update here as well: https://doodle.com/poll/99427awpbymgfce9 created for #2

Can we add M 17:00-19:00 to the probable sections?

@isikz at that time there is another lecture that most members of our team are attending. so the answer is probably no.

@cerob Right, sorry I remember later.

Is everybody okay in M 15:00-17:00?

Is there anyone who is not OK for Monday between 15:00-17:00? We talked about this during Skype meeting for those who were not there.


Add Keycloak&Mariadb alerting, non-sla rules

Summary

Adding non-sla alerts for Keycloak and Mariadb as well as user alerting

Checklist

[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[x] Update tests.
[x] Link this PR to related issues.

@zugao I just added tests and fixed one small bug with PostgreSQL as it has different container name and namespace. Please take a look


plotly persistent error

Hi Everyone,
I am running the example provided in tutorial In which by setting the graphics to (GPy.plotting.change_plotting_library('plotly')), the plotting functions try to general graphs (e.g. display(GPy.plotting.show(fig, filename='basic_gp_regression_notebook_2d'))).
But I get a persistent error related to registration in plotly as follows:
Aw, snap! We don't have an account for ''. Want to try again? You can authenticate with your email address or username. Sign in is not case sensitive.
Don't have an account? plot.ly
Questions<EMAIL_ADDRESS>I suppose there must be a way to use off-line methods in plot.ly but not sure how this is implemented in Gpy.
Any clue to resolve this issue is much appreciated.
Thank you
Amin

Hi Amin, see #480. Try using plotly_offline instead of plotly in the argument.

Thank you. It worked perfectly.
Amin


Yes No Buttons

Thanks for making this great tool.
I am using in another project and it would be useful if the Yes/ No buttons could be assigned labels as command line arguments. Extend to include cancel button too?
Have buttons and labels passed as command line arguments.
ie -b1 "Start" etc

Hi, that's a very reasonable request, and shouldn't be too hard to implement. It could be quite a while until I get around to it though, as I'm quite busy with other things atm.


type writer effect project

🛠 Fixes Issue
Closes #419
✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📷 Screenshots

@Rayman-Sodhi @gurjeetsinghvirdee  Please review my PR

@Rayman-Sodhi @gurjeetsinghvirdee Please review my PR

you can't add the same projects in different repo, by the way, this repo for cloning website

Okay,Thank you


Extend canvasHeight option for automatic height.

What does this do?
This work of mostly styling changes helps the Viewer component support automatic height within a wrapping container element. If an implementer uses either 100% or auto as values for options.canvasHeight configuration, the viewer with be absolutely positioned, and extend to the bounds of the relative element. Internally in the Clover Viewer, a combination of flexbox flex-grow and height CSS attributes expand the canvas "painting" to fit these bounds. This will be applied to Image, Video, and Sound canvases.
This can be implemented as follows:
<div style={{ position: "relative", height: "900px", zIndex: "0" }}>
  <CloverViewer
    iiifContent="https://example.org/iiif/manifest.json"
    options={{ canvasHeight: "auto" }} // or "100%"
  />
</div>

Further documentation can be found at /docs/viewer#canvas-height.
Notes
This follows work suggested by @tpendragon in the now closed #185.

@eliotjordan @tpendragon Excllent, thank you both for the review. This has been released with v2.7.0 and is documented here https://samvera-labs.github.io/clover-iiif/docs/viewer#automatic-height.


fix sendLocation for action parameter + add sendVenue method

fix sendLocation for action parameter + add sendVenue method

can you add test for new function ?

We are closing this PR due to the reasons stated in the @GochoMugo's review.
Thank you @antonrifco for your time and effort.


Misc minor enhancement

[x] Support Propeller node
[x] Support PBRAppearence transparency
[x] Support fields for custom appearances (useful to change colors or texture transforms of appearances like MattePaint)
[x] Fix issue #1
[x] Fix issue #2
[x] Fix crash when the Material.name is not defined in the JSON file.

👍


Best practise - using Thruway within php-app to notify users

Hello, it's me again ;)
Maybe it's a dump questions or a dump topic-title, but I don't know how else to call it. I have a general question on how to use Thruway for notifing users within a "normal" php-application. It's not a browser game, no collaboration-application, just a CRUD-page. When one user inserts or updates data, the saving-procedure should publish this event via thruway to a channel so that others will be informed.
I have a working solution, but I don't know, if this is best practise.
I am running crossbar.io as router and within this router a thruway-client (running all the time) for auth- and session-handling. The user connects via autobahn. Everything fine.
But here comes the question:
On the php-app-side, I thought about a \Peer\Client-Class that connects on demand. So when an action like saving data is triggered, the Client would be instantiated, connects to the router and publishs to to specific topic. This solution works, but there are two problems. The first problem is, that the php-script is blocking when the router isn't available/down, even when I add the option that the client shouldn't reconnect (don't know option name by heart). The second "problem" is about publishing. The "publish"-method can run only once. When I try to publish ["hello1"] and lateron ["hello2"], it publishs ["hello1"] twice. So I extended the class with a function like "addToPublishQueue($topic, $args, $argsKw=NULL, $options=NULL)" and at the end of the php-script I call the client's publish with iterates through this "PublishQueue" within onSessionStart. That works great, but feels like quick and dirty.
Other workflows?

I could use the HTTP-Bridge - but I don't want to. This even feels quick and dirty and is another component in this large set of components (php, thruway, crossbar, redis, sql, nginx, etc.)
Is it possible (or great idea) to publish from the php-script to redis. The Thruway-Client (which is for auth and session-handling and running all the time) reads/subscribes to this redis-channel and on new data it sends a thruway-publish with the data read from redis(-channel)?
Does the react-loop help me? I thought, since I am using crossbar, I don't need the react-loop because crossbar doesn't listen to this loop, hence it has its own.
Or is the solution mentioned above okay?

I read a lot of topics/issues on this repository. I think, this is a general question and many developers using thruway would appreciate this discussion. Many thanks in advance!

Hello folks, hello @mbonneau,
I don't want to be nervous, but I'm begging you all for an answer. I'm dealing with websockets for many weeks, trying to learn them in my spare-time. But at this point, I can't help myself, because it's all too new to me.
Thanks and Ratchet/Thruway is a great work, really.

@TheMiller2015 ,
The "right way" to do it is the way that works for you.
In your situation, If you are trying to add some notifications that publish into your router from a traditional web application, I would use the simplest solution, the HTTP-Bridge.
It is far more complex to start adding redis publish/subscribe or other solutions which will make things more fragile and are not necessary when starting to work with websockets.

Okay, thank you for your answer. So I'll have a closer look at the HTTP-Bridge.
What about my other solution I described in the first post? I wrote a class by extending \Peer\Client which connects to the router and publishs messages while going through a while-loop (because multiple calls at "publish" result in sending the same message again and again)? This a a real quick and dirty solution, isn't it?
Bringing redis to the game is indeed more complex, but isn't it a good solution? Since I'm using redis anyway (to get the session-data within the ws-auth-script) wouldn't it a good idea to make redis work with the ws-client-script that runs all the time with crossbar? I think, I won't use it, but when I would use it, how could I implement redis in the ws-script?
The longer I think about the HTTP-Bridge, the more I like the idea. I'll test it soon.
Thanks.

Hello @mbonneau and all others,
I set up the HTTP-Bridge successfully. But since the connection from the web application to the bridge is done via curl or in my case guzzle, it also implements blocking, when the bridge or ws-router isn't available.
Because of that, could you give me a hint, how to implement redis? As said above, I have a running php-script that handles all auth and session-data for the websockets. It's loaded with crossbar and runs all the time. Is it possible, that this script subscribes to a redis-channel and the web-app publishes to that channel? This script is based on the Client-Object of thruway.
I want to eliminate that blocking from the web-app, when ws-router isn't reachable.
But despite of the possible blocking, the HTTP-Bridge works very well, easy to set up and to use!
Thank you!

@TheMiller2015 You can make async requests with guzzle:  http://docs.guzzlephp.org/en/latest/faq.html#can-guzzle-send-asynchronous-requests

Guzzle's documentation is false; it's not asynchronous.
It uses curl's sendAsync flag. curl then enters its own event loop sending its requests asynchronously but your code is blocked while it works. So in the scope, curl makes its own async requests, but at the PHP level it blocks so more accurate documentation would be "you can make parallel requests with guzzle".

Thanks, then I've another idea. What about periodically testing, if the bridge(-port) is available. If not, writing a variable in mysql oder redis or filesystem. This variable is being read at the startup of any php script which need tonpost to the bridge. If it is not available, no bridge-publish is made. The checker-script may be a cron job, running every x minute or the ws-auth/session script. Idea?


detect/bypass/v5: add unittest

Adds test for DetectBypassTestSig01
Link to redmine ticket: https://redmine.openinfosecfoundation.org/issues/4911
Previous PR: #684

Followed By: #689


Chore: Separate each builtin into a different file

Separate each builtin into a different file
Description
Issue #195

Moves the implementation of each builtin runner into its own file.
Export paths remain unchanged.
No additional tests have been added. Functionality should not be affected, it's just a reorganization chore

Checklist

[x] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Codecov Report

Merging #248 (9fbb81e) into main (15911a3) will not change coverage.
The diff coverage is 97.53%.

@@           Coverage Diff           @@
##             main     #248   +/-   ##
=======================================
  Coverage   95.46%   95.46%
=======================================
  Files          28       32    +4
  Lines        5665     5665
=======================================
  Hits         5408     5408
  Misses        257      257

Impacted Files
Coverage Δ

src/vm/runners/builtin_runner/bitwise.rs
95.83% <95.83%> (ø)

src/vm/runners/builtin_runner/output.rs
97.36% <97.36%> (ø)

src/vm/runners/builtin_runner/hash.rs
98.29% <98.29%> (ø)

src/vm/runners/builtin_runner/ec_op.rs
96.00% <100.00%> (ø)

src/vm/runners/builtin_runner/range_check.rs
100.00% <100.00%> (ø)

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 15911a3...9fbb81e. Read the comment docs.

Glancing at the failing workflow my assumption is that the permissions issue is because the PR originates outside the org/repo.
Eg for this PR it has
GITHUB_TOKEN Permissions
  Contents: read
  Deployments: read
  Metadata: read

For a PR from within the organization (ex), the same workflow gets
GITHUB_TOKEN Permissions
  Contents: write
  Deployments: write
  Metadata: read

If it was allowed to pass, a random stranger on the internet (me in this case) would be creating automated commits on gh-pages. The benchmark workflow runs and attempts to commit on all PRs, including those outside the organization or repo. It could probably be improved, but preventing external commits that have no approval or merge seems like the right result. External parties like myself shouldn't have write access.

Can we recheck this @Oppen so that we merge it at some point?

I'll try to see into this today.

Applied via a different PR.


[incubator/cassandra-operator] add repo archive notice

See #24030

Manually merging as this change is required. Failed tests are unrelated to this change.


jupyterhub 0.9 incompatible with current setup

#193 breaks the jupyterhub traefik configuration, results in "bad gateway". Going to commit a15c8742d5e73759e3752921624994cb50e228e8 and using jupyterhub/jupyterhub:0.8.1 works. We should either revert #193 and use jupyterhub 0.8.1 or resolve the proxy issue.

I can reproduce the issue on development branch 17cae25
make wipe
PLATFORM_VERSION=development make start
waiting .... [OK]
jupyterhub.renga.build results in "bad gateway"

ARG JUPYTERHUB_VERSION=master
FROM jupyterhub/jupyterhub:$JUPYTERHUB_VERSION

this variable should be set in the Makefile and a target for jupyterhub in the Makefile should use the --build-arg flag to override the default.


Bug: Maya Repair Frame Range

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior:
There is a regression of issue with running Repair Action on Validate Frame Range with model instance nested under review
Expected Behavior:
No response
Version
3.15.4-nightly.3
What platform you are running OpenPype on?
Windows
Steps To Reproduce:

Are there any labels you wish to add?

[X] I have added the relevant labels to the bug report.

Relevant log output:
plugin is: <class 'D:\REPO\OpenPype\openpype\hosts\maya\plugins\publish\validate_frame_range.py.ValidateFrameRange'>
b"Preparing <class 'openpype.pipeline.publish.publish_plugins.RepairAction'>.."
b'Action prepared.'
# # ERROR - Traceback (most recent call last):
#   File "D:\REPO\OpenPype\.venv\lib\site-packages\pyblish\plugin.py", line 522, in __explicit_process
#     runner(*args)
#   File "D:\REPO\OpenPype\openpype\pipeline\publish\publish_plugins.py", line 242, in process
#     plugin.repair(instance)
#   File "D:\REPO\OpenPype\openpype\hosts\maya\plugins\publish\validate_frame_range.py", line 138, in repair
# RuntimeError: setAttr: No object matches name: modelMain.frameStart
#
# Traceback (most recent call last):
#   File "D:\REPO\OpenPype\.venv\lib\site-packages\pyblish\plugin.py", line 522, in __explicit_process
#     runner(*args)
#   File "D:\REPO\OpenPype\openpype\pipeline\publish\publish_plugins.py", line 242, in process
#     plugin.repair(instance)
#   File "<string>", line 138, in repair
# RuntimeError: setAttr: No object matches name: modelMain.frameStart

// Error: pyblish.plugin : Traceback (most recent call last):
  File "D:\REPO\OpenPype\.venv\lib\site-packages\pyblish\plugin.py", line 522, in __explicit_process
    runner(*args)
  File "D:\REPO\OpenPype\openpype\pipeline\publish\publish_plugins.py", line 242, in process
    plugin.repair(instance)
  File "D:\REPO\OpenPype\openpype\hosts\maya\plugins\publish\validate_frame_range.py", line 138, in repair
RuntimeError: setAttr: No object matches name: modelMain.frameStart

Traceback (most recent call last):
  File "D:\REPO\OpenPype\.venv\lib\site-packages\pyblish\plugin.py", line 522, in __explicit_process
    runner(*args)
  File "D:\REPO\OpenPype\openpype\pipeline\publish\publish_plugins.py", line 242, in process
    plugin.repair(instance)
  File "<string>", line 138, in repair
RuntimeError: setAttr: No object matches name: modelMain.frameStart
 //

Additional context:
No response
[cuID:OP-5715]

It seems like this issue that was reported before https://github.com/ynput/OpenPype/issues/2562 popped up again or was never fixed to begin with? Duplicate maybe?

Being able to repair the plugin ValidateFrameRange should not happen for case of model instance nested under review. It will be excluded here. The reason why it was failing was because of this error;

Instance:
modelMain
Message:
int() argument must be a string, a bytes-like object or a number, not 'NoneType'
Line:
62
Traceback:
Traceback (most recent call last):
  File "C:\Users\tokejepsen\OpenPype\.venv\lib\site-packages\pyblish\plugin.py", line 522, in __explicit_process
    runner(*args)
  File "C:\Users\tokejepsen\OpenPype\openpype\hosts\maya\plugins\publish\validate_frame_range.py", line 62, in process
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

This is fixed with https://github.com/tokejepsen/pype/commit/38cc309d43613e78d94ee7e9bbf53b1044b713be (sorry wrong issue referenced).

Reopen if we think it needs fixing somehow.

It's passing now even though it should not?

Yeah, this is intended behaviour due to the exclusion_families in https://github.com/ynput/OpenPype/blob/develop/openpype/settings/defaults/project_settings/maya.json#L728-L732

so the parent review instance is not getting validated?

Yeah, its completely ignore by ValidateFrameRange. TBH no idea why this logic is in there. Was added here by a former Ynput employee; https://github.com/ynput/OpenPype/commit/c762fa92f6ab7f692c751fefdffe5f9c9571d582


tf.range error with certain parameters

Click to expand!
Issue Type
Bug
Source
source
Tensorflow Version
tf 2.8
Custom Code
No
OS Platform and Distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
tf.range reports errors with certain parameters when argument 'step' takes large numbers.

e.g.
tf.range(0, 137,<PHONE_NUMBER>854775672, dtype=tf.int64)
tf.range(0, 1000,<PHONE_NUMBER>854774809, dtype=tf.int64)

A closer examination finds that<PHONE_NUMBER>854775672 + 137 - 2 =<PHONE_NUMBER>854774809 + 1000 - 2 =<PHONE_NUMBER>854775807, which is the largest number int64 can represent. And if argument 'stop' takes number larger than 137 and 1000 respectively for the two above examples, the same error occurs.

Standalone code to reproduce the issue
tf.range(0, 136,<PHONE_NUMBER>854775672, dtype=tf.int64)  # this works
tf.range(0, 137,<PHONE_NUMBER>854775672, dtype=tf.int64)  # this doesn't
tf.range(0, 138,<PHONE_NUMBER>854775672, dtype=tf.int64)  # doesn't either

Relevant log output
No response

@HotzingTone
In order to expedite the trouble-shooting process, please provide a complete code snippet to reproduce the issue reported here. Thanks!

Hi @sushreebarsa , yes I can confirm it's the same issue. Thank you very much!


terminal (pwsh) cannot output ANSI color

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

Version: 1.75.0 (system setup)
OS: Windows_NT x64 10.0.22621
Sandboxed: No
Steps to Reproduce:

install PowerShell 7.3.2
write below

public class ANSIColorTest {
    public static void main(String[] args) {
        // SGR color
        System.out.println(" \u001b[38;2;255;255;0m  should output yellow  \u001b[0m ");
    }
}

execute main

expect
output yellow font
actual
output white font
screen

additional
refer https://notes.burke.libbey.me/ansi-escape-codes/#SGR

This works in plain pwsh so it's some problem between pwsh and java:


feat(nuxt): noScripts with routeRules

🔗 Linked issue
Hi :wave: this PR adds noScripts option to routeRules

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[x] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

📝 Checklist and todo

[ ] I have linked an issue or discussion.
[x] I have updated the documentation accordingly -> udpate routeRules section of the docs

In your testing, does this remove scripts for designated routes? It seems still to be injecting entry + error scripts for me, even if not the page script.

ah yes my bad, i'll add some tests to make sure this is correctly working.

We just started using this on fedoraproject.org and all its sub-pages, thank you for this feature @danielroe! Most of the pages are full-static, but one or two require actual client-side hydration, so this is the perfect feature for us. Thank you! https://gitlab.com/fedora/websites-apps/fedora-websites/fedora-websites-3.0/-/blob/develop/nuxt.config.ts#L87-92


publish to npm

To make work on alternative asciicast renderers easier this could be published to npm.

I went ahead and published a subset of asciinema.player.asciicast instead: https://github.com/marionebl/load-asciicast

Awesome :) Btw, we're also working on publishing npm package for asciicast2gif.


Es7 syntax error on static prop types

I am using babel es7 features and I've this class definition:
@DragSource(ItemTypes.STONE, stoneSource, collect)
class OkeyStone extends React.Component {
  static propTypes = {
    connectDragSource: PropTypes.func.isRequired,
    isDragging: PropTypes.bool.isRequired
  };
}

I get this error:
ERROR in ./app/components/OkeyStone/OkeyStone.js
Module build failed: SyntaxError: /home/ubuntu/webdev/learn/yuzbir-react/app/components/OkeyStone/OkeyStone.js: Unexpected token (27:19)
  25 | @DragSource(ItemTypes.STONE, stoneSource, collect)
  26 | class OkeyStone extends React.Component {
> 27 |   static propTypes = {
     |                    ^
  28 |     connectDragSource: PropTypes.func.isRequired,
  29 |     isDragging: PropTypes.bool.isRequired
  30 |   };

Even though I added stage=1 option to babel loader why do I get this error?

It needs to be stage=0 as mentioned here: http://babeljs.io/docs/usage/experimental/  Stage 0 is experimental. I've added ES7 usage examples with the commit above. Might be worth updating your code with the latest changes as i added fixes for linting ES7 (code now has to be pre-lint compiled by babel)


[Feature Request] Dynamic resolution combat/hostile area profile

Allow enabling 50% min dynamic res and 60fps targer only in combat
Go back to whatever out of combat.
Many of us love the scenery and want to maintain as nice an image as possible, as the game still looks incredible on low with textures on high/ultra,
but combat becomes a nightmare even when I've got my target at 40, at a comfortable 80% minimum res scale, which looks lovely on my machine and it lovely for sightseeing/non combat settings

Would be great.
Personally Iw ould leave texture wuality at high bc I don't see any fps imrpovment, but I would disable SSR and make the game runs at 75% res when in combat, and re-enable the great SSR that kill my framerate for gorgeous graphics while wandering in Night City


fix AGP 7 compatibility

Summary
Android Gradle Plugin 7 removed dependency configurations, and it includes compile. Below is a snipped from release notes https://developer.android.com/studio/releases/gradle-plugin
I can confirm that RN 0.65.0 app is running as expected on Android with the patch.

compile
Depending on use case, this has been replaced by api or implementation.
Also applies to *Compile variants, for example: debugCompile.

Changelog
[Android] [Changed] - Android Gradle Plugin 7 compatibility
Test Plan
Create a project with RN 0.65.0 and upgrade Android Gradle Plugin to 7.0.0, and Gradle to 7.0.2. It'll fail to sync. Then apply the change, and it'll sync as normal, and build the app.

CI is failing with unrelated error

CI is failing with unrelated error

👍  Agree. Seems like the failure is the same as main, so is definitely unrelated.


getoptions: init at 3.3.0

Description of changes

getoptions is "An elegant option parser for shell scripts".
upstream: https://github.com/ko1nksm/getoptions
Notes:

I had to disable one test, because posh does not seem to be packaged in nixpkgs
I am not sure if platforms.all is the best choice here

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1014


helm lint should allow specifying --kube-version flag

We're currently using helm lint to find deprecated API versions in our charts, failing CI on warnings. However, helm assumes that the target Kubernetes version is the one specified through the k8sVersionMajor/k8sVersionMinor vars. The only way to work around this is rebuilding helm with LDFLAGS, or using a Helm release with the proper defaults.
The command-line flag --kube-version currently exists with helm template, helm lint should replicate the behaviour:
https://github.com/helm/helm/pull/9040

@antoinedeschenes The PRs is welcome. Thanks very much.

bump, pr updated

bump.. why is this nice fix being ignored? :(

sorry. I will review the PR of this issue later.

any update on this? For our use case we are linting using --strict, currently we are getting failures because the beta version of the HPA API is deprecated in v1.23+, however we have a couple of kube clusters running v1.22 so we don't want them to fail. The autoscaling/v2 API doesn't exist in v1.22 so I can't see a solution apart from removing the --strict from the linter until we use v1.23 everywhere.
Warning:  templates/hpa.yaml: autoscaling/v2beta2 HorizontalPodAutoscaler is deprecated in v1.23+, unavailable in v1.26+; use autoscaling/v2 HorizontalPodAutoscaler

Error: Process completed with exit code 1.

@davidgwps Each helm minor version matches a k8s minor version. You can run lint with different helm versions  as a workaround.

@antoinedeschenes that does not really seem feasible to me.
Example

K8S 1.23
Helm 3.8.0

Helm lint will still respond with
batch/v1beta1 CronJob is deprecated in v1.21+, unavailable in v1.25+; use batch/v1 CronJob
Even though batch/v1beta1 cronjob will work fine in 1.23.  Any deprecation will fail.  You are not suggesting a person should run with Helm that supports 1.21 even though they are running 1.23 are you?  If so that could cause other issues and unsupported features.
Capabilities.APIVersion would certainly work though in this case.

All the bits are there to do this. It should be a fairly easy task. See https://github.com/helm/helm/pull/8608/files#diff-ff8663c8d26f14679a0274ccb7dab29b04bd17084581c573ca06d8fb82d1d154R63-R65 where I call the upstream deprecation library.

Sorry, I totally missed that there's a PR open already.

Please keep this open


Clear ignored files on cleanup

@jethrokuan Have you checked that this has no strange consequences?

Minimal testing on my side (installing and uninstalling stuff).
Not sure what kind of extensive testing can be done here.

Thanks @jethrokuan.


[WIP] Use system fonts as fallback.

Add OS function to get system fallback font from a font name, text, and language code (OS.get_system_font_path_for_text).
Automatically use system fonts as fallback (as a last resort, after all user specified fallback fonts fail), system font is selected by OS, based on the main font name and style.

Implemented on iOS, Linux (fontconfig required), macOS, and Windows.
TODO:

[ ] Benchmark system fallback loading performance. Fallback system fonts are loaded dynamically and stay loaded until the app is finished (so it might cause stutter when it is loaded).
[x] Enabling system fallback probably should be user controllable (import option).

Performance seems to be pretty reasonable, font lookup takes about 100-1500 μs (every time text with the missing glyphs is shaped, Linux version is the slowest). Loading all fonts for the sample on the screenshot (6 to 10 fonts depending on OS) takes about 15000 μs on average. So should be fine for UI apps (or as fallback anywhere).
Tested with the empty project, a Label, and no fonts configured:

Screenshots

Linux (Pop!_OS 22.04)

macOS 13.0.1

Windows 11

It's not a clean OS install, so the default font set might be different.

I'll take a look if it's possible to do it on Android (I do not think there's an official API, but should be possible to read system configs directly) and it should be good to go.

Thanks!

I believe this changes "fontconfig" from optional to required on Linux. I'm not debugging my system today.

Nice feature.
Will it back port to 3.x?

Nice feature. Will it back port to 3.x?

System font support relies on a lot of backwards-incompatible changes, so it's not possible to backport this feature without a complete rewrite.


Provide a proper example web application using msngr.js

As part of a beta, the first release that should be production ready, there needs to be a really good example application that demonstrates different use cases for msngr.js.
Since #6 and #7 are being added to the beta release this example application should:

Be a node.js application with a front-end and back-end (both being served via node.js).
Use the web socket routing to provide realtime communication between the server and client.
Use the multi window support for coordinating changes between windows.

My initial idea is a todo application that supports realtime notifications and each list can be opened in a new browser window. May need to think on this a little more however.

Dropping requirement


SystemUiOverlayStyle is not working

SystemUiOverlayStyle is not working for me. I upgrade flutter to v2.0 and i have this problem.

Hi @ziqq
Can you please provide your flutter doctor -v a minimal complete reproducible code sample and the actual vs expected results?
Thank you

i also had this problem, so lowered the version.
try this:
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
  statusBarColor: Colors.blue,
  statusBarIconBrightness: Brightness.dark, // not working
  systemNavigationBarColor: Colors.blue,
  systemNavigationBarIconBrightness: Brightness.dark, // works
))

i also had this problem, so lowered the version.
try this?
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
  statusBarColor: Colors.blue,
  statusBarIconBrightness: Brightness.dark,
  systemNavigationBarColor: Colors.blue,
  systemNavigationBarIconBrightness: Brightness.dark,
))

I need this line
statusBarIconBrightness: Brightness.dark
but it dosnt work

This seems to be a duplicate of https://github.com/flutter/flutter/issues/64001. Please follow up on that issue for updates.
Thank you

it didn't help me


Add jazzy dependency to flutter deps

In preparation to provide dependencies in the engine as configurations we need to add the different dependencies to flutter_deps moodule. Jazzy is the first dependency to be added.

CL has landed: https://flutter-review.googlesource.com/c/recipes/+/14681


delete reveal.umd.js after rhelement.umd.js build completes.

In response to #224, reveal.umd.js is only used during the build of rhelement.umd.js and should be cleaned up at the end of the build.

Closing since the need for this decreased a lot with #267


0.2.3 release

This is a whopper
This moves to a hybrid manager, allowing for everything to run within a single pod. This is especially useful for bare-metal.

I'm only pointing out things that interested me - not offering a thorough review by any means.

I'm only pointing out things that interested me - not offering a thorough review by any means.

That's fine @displague this release is a big bucket of hacks and one big change I've been wanted to do for a while. A lot will be reverted and removed in later versions once I can have an idea (or standards) for annotations to parse.


CFTimeIndex calendar in repr

[x] Closes #2416
[x] Tests added
[x] Passes isort -rc . && black . && mypy . && flake8
[x] Fully documented, including whats-new.rst for all changes and api.rst for new API

Done:

added calendar property to CFTimeIndex
rebuild repr from pandas

how should I extend the __repr__ coming from pd.Index

if you define a __repr__ method under CFTimeIndex, won't it override pd.Index.__repr__?

how should I extend the __repr__ coming from pd.Index

if you define a __repr__ method under CFTimeIndex, won't it override pd.Index.__repr__?

Yes. I will do that. My question was whether should replicate the pd.Index.repr or try to import or inherit as much as I can from pandas?

Ah now I understand your questions. Thanks for clarifying.

My question was whether should replicate the pd.Index.repr or try to import or inherit as much as I can from pandas?

Maybe start by making the smallest possible change to the pandas repr?

I was hoping to inherit from pandas like:
    def __repr__(self):
        super().__repr__()
        return self.__repr__().strip(")")+f", calendar={self.calendar}')"

But I will now try to rebuild as in pandas.

Hello @aaronspring! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/coding/cftimeindex.py:

Line 49:1: F401 'pandas.core.dtypes.common.is_object_dtype' imported but unused
Line 50:1: F401 'pandas.io.formats.printing.format_object_attrs' imported but unused
Line 50:1: F401 'pandas.io.formats.printing.format_object_summary' imported but unused

This doesnt change the html repr yet: when clicking on the data symbol, calendar is not shown in the printout. I will further try to fix this

I do understand the meaning of this last sentence @spencerkclark

My sense is that it is more important that indexes with the same date type have the same calendar attribute than that the calendar argument passed to cftime_range is propagated verbatim to the index it produces. What do you think?

Should I rather test on cftimeindex created in a different way?

Currently only the cftimeindex repr shows the calendar property. I aim to get it into the dataset/dataarray repr.
would it be a good idea to modify formatting.py.array_repr(array)? IndexVariable uses this repr. Once time is a coordinate, it becomes an IndexVariable. but the index variable doesnt have this cftime.calender property anymore. Should I try to add this calendar property to the array or would this not be desired?

I found a workaround with to_index() in formatting.short_data_repr. this is makes one test fail: xarray/tests/test_dask.py TestDataArrayAndDataset.test_dataarray_repr. is this ok or not a valid way to implement a cftimeindex.repr?

I looked a bit into pd.Index:
_format_data calls format_object_summary in https://github.com/pandas-dev/pandas/blob/bf613c14f41b624b432d0d6b9a29007e7990d460/pandas/io/formats/printing.py. seem quite a loot to rebuild. On the other hand I understand we dont want to depend on these methods. I would rather argue that we only want a string returned and _format_data and _format_attrs sound very standard, so hopefully they would remain. But I am really not an expert on this, just my naive thoughts.

I now reimplemented the visuals of pd.Index and also test against pd.Index.repr @spencerkclark

@spencerkclark I reimplemented the repr. Mostly went after the visuals. So now this looks like before but including calendar in the repr. Any more tests needed? Would you please give this a look?

now aligns to display_width:
for dw in [40,60,80,120]:
    with xr.set_options(display_width=dw):
        print(time[:2],dw,'\n')

CFTimeIndex([2000-01-01 00:00:00,
             2000-01-02 00:00:00],
            dtype='object',
            length=2,
            calendar='gregorian') 40

CFTimeIndex([2000-01-01 00:00:00, 2000-01-02 00:00:00],
            dtype='object', length=2, calendar='gregorian') 60

CFTimeIndex([2000-01-01 00:00:00, 2000-01-02 00:00:00],
            dtype='object', length=2, calendar='gregorian') 80

CFTimeIndex([2000-01-01 00:00:00, 2000-01-02 00:00:00], dtype='object', length=2, calendar='gregorian') 120

dont understand why isort fails

that's #4204. #4206 pinned the version of isort, so you should be able to get a green CI by merging master into your feature branch.

Thanks @aaronspring; this is looking very close! Just a few more minor suggestions.

I hope this is the final one. all tests pass. implemented your suggestions. took me a few commits, but I learned a lot. thanks for the guidance @spencerkclark

Thanks again @aaronspring!

Thanks @aaronspring this is a great contribution.

My pleasure. Learnt a lot


Fire native "onchange" event with date selection

Firstly, thanks for such a spectacular component, it's really useful
Secondly, most of the time we need firing the native events such as onchange for the form validations for instance, currently I'm doing something sounds a hack to achieve that:
ref.refs.input.refs.input.onchange();

I hope we will have it properly supported from the component very soon!

You can do it in onChange, don't you?

I think you are looking for onChangeRaw()

@alex-shamshurin @andrius444 Thanks for your comments, I'll try it out and see if that's what I'm looking for.

I found that onChangeRaw is getting called if the user changed the date text manually without picking it from the calendar.
But what I'm looking for here is firing the native onchange method after changing the date value, so that the form validation is getting fired automatically, I hope it's clearer now

@LeoAref Any luck with this?  I'm trying to to trigger a redux-form form onChange event when a date is selected. If I type in the input field, the event is triggered, but not when I select a date.  This doesn't work:
<DatePicker
        {..this.props.input}
        ...
        onChange={(date) => this.props.input.onChange(date)}
        ...
    />
``

@jbschrades If you use custom input, usually it's dependent upon its own state, you should call input.onChange(inputString|event). When you select date via widget you should update input's state too.
I guess you have bound the input string value to redux-form state. Instead you should use react-datepicker selected date (of type moment) in your redux-form state with format and parse options to convert moment type to string type(for readability). And when input string (maybe internal input component this.state or mobx) changes or new date selected via datepicker use input.onChange(value|event)

@jbschrades For use with redux-form, we're using this in a wrapper component
  handleChange = (date, event) => {
    if (event && event.type === 'change') {
      return this.props.onChange(event.target.value);
    }
    const strDate = date && date.isValid() ? date.format(validFormats[0]) : '';
    this.props.onChange(strDate);
  }

then rendering with
        <DatePicker
          selected={fromString(this.props.value)}
          onChange={this.handleChange}
          onChangeRaw={this.props.onChange}

Part of that is to always store a string in the form value, but also to always pass a local moment object into react-datepicker. (Because the handling of mixed timezones is still rather awkward.)

I had the same issue. What I did was just reset my validations in the onChange() (because there should be no errors if you select the date using the UI widget) while I kept my validations in the onChangeRaw().