Github Actions randomly fail with "Error: No space left on device"

Description
Github Actions randomly fail with Error: No space left on device
Area for Triage:

Bug:

Virtual environments affected

[ ] macOS 10.15
[ ] Ubuntu 16.04 LTS
[x] Ubuntu 18.04 LTS
[ ] Ubuntu 20.04 LTS
[ ] Windows Server 2016 R2
[ ] Windows Server 2019

Expected behavior
The jobs have to pass.
Actual behavior
Jobs randomly fails despite usual disk space usage.
I have added sudo df -h after pulling a docker image but before building the project.
After the project is built, the build directory is another ~2.5GB.
Filesystem      Size  Used Avail Use% Mounted on
udev            3.4G     0  3.4G   0% /dev
tmpfs           696M  680K  695M   1% /run
/dev/sda1        84G   65G   19G  78% /
tmpfs           3.4G  8.0K  3.4G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.4G     0  3.4G   0% /sys/fs/cgroup
/dev/sda15      105M  3.6M  101M   4% /boot/efi
/dev/sdb1        14G  4.1G  9.0G  32% /mnt

As you may see, the disk space usage is less than 14GB available for the runners.
Note:

Usually, after the job is re-triggered the problem does not occur.

Repro steps

The link to the failing workflow: https://github.com/vmware/concord-bft/blob/master/.github/workflows/build_and_test.yml
Unfortunately, the failing job was accidentally restarted so I don't have the logs.

Hi @f-squirrel!
As far as I can see from your snippet there is 19Gb free on /, is it not enough for your needs? Please note that /mnt used for swap therefore it has less than 14Gb.

@miketimofeev , 19GB is more than enough for me, because the only additional space I need is 2.4GB for the build artifacts.
I have tried to print the disk space usage after the problem happens but it did not work because the runner itself fails.
Could you advise how to debug this issue?
Another question is were 65GB usage comes from? I do not install anything on the machine except one docker image 1.64GB.

Thank you for your quick response.
On Oct. 20, 2020 at 08:19, Dmitry<EMAIL_ADDRESS>wrote:
@miketimofeev https://github.com/miketimofeev , 19GB is more than enough
for me, because the only additional space I need is 2.4GB for the build
artifacts.
I have tried to print the disk space usage after the problem happens but it
did not work because the runner itself fails.
Could you advise how to debug this issue?
Another question is were 65GB usage comes from? I do not install anything
on the machine except one docker image 1.64GB.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/actions/virtual-environments/issues/1860#issuecomment-712808694,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQBMBCECPK5M47W2SHTQ3KLSLV53VANCNFSM4SYBGIKA
.

@f-squirrel let me answer from the end — 65GB is used for Ubuntu itself + a huge list of preinstalled software, which can be found here https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu1804-README.md
Could you please share your workflow and failed run so we can check what else could consume all the remaining disk space?

@miketimofeev ,

The failed run: https://github.com/vmware/concord-bft/runs/1280556355?check_suite_focus=true
The workflow: https://github.com/vmware/concord-bft/blob/master/.github/workflows/build_and_test.yml

@f-squirrel actually the build consumes more than 2.5Gb, I've forked the repo and add change the step to this to output disk space every 15 seconds:
        - name: Build and test
          run: |
              (while true; do
              df -h
              sleep 15
              done) &
              script -q -e -c "make pull"
              sudo df -h
              script -q -e -c "make build \
                              ${{ matrix.compiler}} \
                              CONCORD_BFT_CMAKE_FLAGS=\"\
                              ${{ matrix.ci_build_type }} \
                              -DBUILD_TESTING=ON \
                              -DBUILD_COMM_TCP_PLAIN=FALSE \
                              -DBUILD_COMM_TCP_TLS=FALSE \
                              -DCMAKE_CXX_FLAGS_RELEASE=-O3 -g \
                              -DUSE_LOG4CPP=TRUE \
                              -DBUILD_ROCKSDB_STORAGE=TRUE \
                              ${{ matrix.use_s3_obj_store }} \
                              -DUSE_OPENTRACING=ON \
                              -DOMIT_TEST_OUTPUT=OFF\
                              -DKEEP_APOLLO_LOGS=TRUE\" "\
              && script -q -e -c "make test"

At the end of the build, I have 12Gb free.
I wonder if some core dumps were created during your failed run because I saw this step in your yaml:
        - name: Configure core dump location
          run: |
            echo '/cores/core.%e.%p' | sudo tee /proc/sys/kernel/core_pattern
            mkdir -p ${{ github.workspace }}/artifact/cores/

@miketimofeev , good point!
I'll update my workflow with some additional prints, run a few tests, and get back with the results!
Thank you!

@f-squirrel did it help?

@miketimofeev , I haven't seen the issue again.
I'll continue monitoring!

@f-squirrel I'm going to close the issue for now, but please feel free to contact us if the problem still occurs.
Thank you!


With delay > 0, Keep the line visible if the cursor stays in the same line

👋 thanks for your plugin!
I noticed that when a delay is specified in the config and the cursor moves in the same line, the blame info disappears and appears again.
Ideally, if the cursor stays in the same line the blame line shouldn't redraw.
Uploading blame-redraw.mov…

Hi!
This is a good point, I'll implement this check as soon as I get the time.


vue-apollo v4 and vue 3

Has anyone successfully managed to use Vue 3 with @vue/apollo-option ^4.0.0-alpha.13 ?
I'm struggling to find any working examples of this actually working and I really can't drop Vue down to v2.
main.js
import { createApp, h} from 'vue'
import App from './App.vue'
import VueApollo from '@vue/apollo-option'
import router from './router'
import store from './store'
import { ApolloClient, InMemoryCache } from '@apollo/client/core'

const cache = new InMemoryCache()

const apolloClient = new ApolloClient({
  cache,
  uri: process.env.VUE_APP_GRAPHQL_URL || "http://localhost:1337/graphql"
})

const apolloProvider = new VueApollo({
  defaultClient: apolloClient
})

const app = createApp({
  render: () => h(App)
})

app.use(apolloProvider)
app.use(store)
app.use(router)

I get the following error...
main.js?56d7:15 Uncaught TypeError: _vue_apollo_option__WEBPACK_IMPORTED_MODULE_6__.default is not a constructor
    at eval (main.js?56d7:15)
    at Module../src/main.js (app.js:1067)
    at __webpack_require__ (app.js:849)
    at fn (app.js:151)
    at Object.1 (app.js:1140)
    at __webpack_require__ (app.js:849)
    at checkDeferredModules (app.js:46)
    at app.js:925
    at app.js:928

Any help would be gratefully received.

@wjcarson look at the sources, it does not export any defaults https://github.com/vuejs/vue-apollo/blob/v4/packages/vue-apollo-option/src/index.js
Try to replace
import VueApollo from '@vue/apollo-option'

with
import { createApolloProvider } from '@vue/apollo-option';

and replace
const apolloProvider = new VueApollo({
  defaultClient: apolloClient
})

with
const apolloProvider = createApolloProvider({
  defaultClient: apolloClient
});

Yup I need to finish updating the docs


Propagate the no_store flag + consequences for evp_pkey_export_to_provider()

evp_pkey_export_to_provider() currently stores away the EVP_KEYMGMT that the key was exported to in the EVP_PKEY operation cache, without regards for if that EVP_KEYMGMT is allowed to be stored away or not, and since an EVP_PKEY may have a long life time (the whole life time of the running process at worst), that may be a long storage time.
With current code, this isn't strange, because there is currently no way to know this condition, as only the core fetching function has all the facts and doesn't propagate that further.
A very simple way to ensure this information is passed on is to add a flag attribute in the method structures (only shown for EVP_KEYMGMT, but you get the idea):
diff --git a/crypto/evp/evp_local.h b/crypto/evp/evp_local.h
index 0112cdca02..193ce3ff88 100644
--- a/crypto/evp/evp_local.h
+++ b/crypto/evp/evp_local.h
@@ -78,6 +78,7 @@ struct evp_keymgmt_st {
     int id;                      /* libcrypto internal */

     int name_id;
+    unsigned int no_cache:1;
     OSSL_PROVIDER *prov;
     CRYPTO_REF_COUNT refcnt;
     CRYPTO_RWLOCK *lock;

The flag should be easy to pass down to method constructors (like keymgmt_from_dispatch()) so they can set this flag, and should be easy to check by evp_pkey_export_to_provider() and any other function that need to care.
evp_pkey_export_to_provider() should check this flag, and in case it's set, should not place a copy of the resulting EVP_KEYMGMT or the provkey in the operation cache, but should otherwise remain unchanged.

Something to be careful about, though, is the treatment of an exported provkey.  If a pointer is stored away in the EVP_PKEY operation cache, then we know that it will be freed when the operation cache is cleared.  However, if it hasn't been stored in the operation cache, surrounding code needs to be aware, and to free it themselves (by calling evp_keymgmt_freedata(keymgmt, keydata)).  An added evp_keymgmt_util function that helps doing this correctly should be considered.

without regards for if that EVP_KEYMGMT is allowed to be stored away or not,

I'm confused. no-cache doesn't mean we're not allowed to store references to the keymgmt. It means we shouldn't give it out from a cache in future attempts to fetch the keymgmt. If we've already exported the key to the keymgmt then we absolutely must keep it around until the keydata is freed. If that is for the lifetime of the EVP_PKEY then so be it. If applications don't want that behaviour then don't use long living EVP_PKEYs.

@mattcaswell, I'd be onboard with this.  However, the initial concern was about a keymgmt being refetched and detected as different.  This causes something that looks like a memory leak (but cleaned up at the end of the life of the PKEY).  Either we need to not keep the keymgmt references around long term in the PKEY or detect refetches properly and join the two together.

was about a keymgmt being refetched and detected as different.

Isn't that just the name_id/prov discussion we're having in #14159? I have no problems with that.

@mattcaswell makes a good point, and as @paulidale says, this really boils down to detecting that two keymgmts are really the same, even though the keymgmt pointers differ, which we already discuss in #14159.
So OK, I can drop this one, i.e close the issue.

Hmmm, not quite ready to let this one go.  This is, after all, something that concerns exports to another keymgmt than the EVP_PKEY "origin".  In other words, when you want to sign with an EVP_SIGNATURE from another provider, and thereby export to that provider's EVP_KEYMGMT, it means that it gets stuck in the EVP_PKEY operation cache, no matter what the no_store flag for the exported to EVP_KEYMGMT is set to.
So the off-handed comment "don't use long living EVP_PKEYs" doesn't quite answer the added complexity when the "origin" EVP_KEYMGMT has no_cache == 0, but the EVP_KEYMGMT of the signing provider has no_cache == 1.
So no, this issue is still valid.

So no, this issue is still valid.

I disagree. I really see no difference between the "origin" provider and other providers we might export to later. The "origin" concept is just an internal implementation detail. As far as the providers are concerned the lifetime of the key is tied to the lifetime of the EVP_PKEY...end of story. I don't think we need to make it more complicated than that. The same problem would apply to keys created in an origin provider which sets no_cache == 1 for the key manager in any case.
In the example that you give, presumably the provider will also be setting "no_cache" on the signature operation fetch - so if the application performs another signature operation then it will be unable to fetch the operation from that provider if it is no longer available - so the key can't actually be used for anything. But the provider needs to keep the keydata around and be prepared to handle requests such as to free it at the point the EVP_PKEY dies.

But the provider needs to keep the keydata around and be prepared to handle requests such as to free it at the point the EVP_PKEY dies.

This is untrue.  The exported keydata (which is different from the "origin" keydata) is not conceptually tied to the lifetime of the EVP_PKEY, it's conceptually tied to the lifetime of the operation cache, which is not the same time (it currently is when the "origin" is a provider, but that's accidental, and certainly doesn't have to be, conceptually speaking).

The same problem would apply to keys created in an origin provider which sets no_cache == 1 for the key manager in any case.

This is untrue.  The "origin" EVP_KEYMGMT and the exported to EVP_KEYMGMT are different, and their lifetime expectancy is not the same.

This is untrue. The exported keydata (which is different from the "origin" keydata) is not conceptually tied to the lifetime of the EVP_PKEY, it's conceptually tied to the lifetime of the operation cache, which is not the same time

From a providers point-of-view this makes no difference. They have no visibility of what the origin provider is, and nor should they. They have to be prepared to handle keys that last for the lifetime of the EVP_PKEY. Yes the core could decide to cleanup early - but providers should have no expectation of this by setting "no_cache". That's just not what that setting is designed to do and we shouldn't try and make it do that.

This is untrue. The "origin" EVP_KEYMGMT and the exported to EVP_KEYMGMT are different, and their lifetime expectancy is not the same.

An individual provider has no visibility of this distinction. They have to be prepared to keep keydata around until it is freed regardless of what they set "no_cache" to.

Why do you assume that providers should have visibility of other providers' no_store flag?  How that flag is treated should be regulated entirely in libcrypto, of course.
However, I'm thinking of granularity.  Right now, we allow a provider to serve back the no_store flag on per-operation basis.  Your protest does, however, make that the granularity per provider instead.  I cannot recall what the original intention was, however.
This leads to the question, if an implementation query returns with no_store set, how should we look at previously allocated methods from the same provider?  Do we assume that they all are marked no_store?  If they weren't previously, should we promptly make them inaccessible for future fetches?  Or should the method store have a flag that makes the methods it contains inaccessible for future fetches?

Why do you assume that providers should have visibility of other providers' no_store flag?

Where did I say that?? They should not and do not. I'm not sure why it would be relevant?

Your protest does, however, make the granularity per provider instead.

Err, no??

Where did I say that?? They should not and do not. I'm not sure why it would be relevant?

We're in complete agreement, so that makes me wonder what made you think I thought anything different...
But if we agree, then I see no point discussing this point further, we can just relegate that to an odd misunderstanding.

Ok, so here's another point...  if we go for the name_id + prov "sameness" that we discuss in #14159, what happens if there is an entry in the EVP_PKEY's operation cache already that matches this "sameness", in a situation where a re-fetch is warranted?  no_store does imply that the next time we query the implementation list for an operation, the answer may be different, rendering the previous answer "invalid", but the new answer "valid".  If we look through the cache and believe that name_id + prov match means that we can use what is in that cache element, it becomes an effective re-fetch blocker.

Ok, so here's another point... if we go for the name_id + prov "sameness" that we discuss in #14159, what happens if there is an entry in the EVP_PKEY's operation cache already that matches this "sameness", in a situation where a re-fetch is warranted?

Hmmm. That could be a problem .... at least in theory. The only way I can think to get around that is that the "sameness" criteria would have to be that the all the dispatch functions for the keymgmt would have to be the same too.

The only way I can think to get around that is that the "sameness" criteria would have to be that the all the dispatch functions for the keymgmt would have to be the same too.

It might also be conditions that are hiding behind those.  The exported provkey may be the thing that needs to be re-done, because [reasons].  Point is, the reason for something becoming invalid may be invisible in the stuff libcrypto has access to.
Either way, no_store == 1 has a meaning; that libcrypto will not store the method (long term) in its internals.  Deciding to keep it in the longer term EVP_PKEY operation cache is exactly contrary to that, no matter what we may think should and shouldn't work.  In doing so, we're about to break a documented promise.

(we're already breaking that promise, but it's not quite visible since we're re-fetching out the wazoo)

Either way, no_store == 1 has a meaning; that libcrypto will not store the method (long term) in its internals.

It was never the intention that it wouldn't store things in keys etc. It was only ever meant to mean that we wouldn't cache it for fetching purposes.

I suppose with the PKCS11 provider there will be need to have an explicit is_valid call into a provider to check whether any operation cache we have is still valid.

Either way, no_store == 1 has a meaning; that libcrypto will not store the method (long term) in its internals.

It was never the intention that it wouldn't store things in keys etc. It was only ever meant to mean that we wouldn't cache it for fetching purposes.

At the time, we hadn't thought of the operation cache.  I'm pretty sure that if we had, we would have counted that as "internal storage" as well.

I suppose with the PKCS11 provider there will be need to have an explicit is_valid call into a provider to check whether any operation cache we have is still valid.

So adding another way to essentially achieve the same thing?

We'd not gone that far with PKCS#11 design.  An is_valid call is one approach, having the PKCS#11 provider detect the problem and return an error when something invalid is used is another.  Given the race conditions inherent in pluggable hardware, I think the provider is likely to need the latter regardless.
Still, that's after 3.0.

I'm not sure I see a clear path forward on this issue, @paulidale @levitte @mattcaswell Is there a consensus action to be taken here?  Is sounds from my read like the addition of an is_valid api surface for providers is being considered, but has not yet been fully fleshed out.
Can someone make a proposal here?  Or is this more of an investigation issue (such as I am proposing here  https://github.com/openssl/openssl/pull/24608).  if the latter, I am happy to mark it as such


Updated non-existing attribute of elevated button

I updated to the latest version of your dependency and faced error like "non-existing elevated button attribute". I did little changes and it works now. Thanks

@murat-ti Thank you for contribution !❤

Hello @murat-ti !
Please upgrade your flutter version to 3.3.0 !
This field is available in new flutter release version.

I got it. Thanks


Hide the "News and Events" tab

Currently we are advertising most events on Instagram. We might eventually use this page, but not at the moment. Please do not delete the page from the repo, just remove it from the header.

News and events commented, but still there if we want to update it later.


Accessing field values inside functions.php?

Hey,
Just a thought that came to mind. Is it possible to access fields inside the functions.php somehow? Imagine having a repeater field where the user can add rows for their recent projects. What I then would like is another field, let's say one with radio buttons, where the user can pick one of the rows added in the previous field to showcase. Is this possible? When trying to reach field values inside functions.php they just return NULL.
Thanks

How exactly are you trying to access the field values?
First of all, are you using options or theme_mods?
Can you please post the Kirki::add_config() you're using, as well as the configuration for that field so that I may try to replicate this?

Sorry for a late answer. My config:
Kirki::add_config( 'test', array(
    'capability'    => 'edit_theme_options',
    'option_type'   => 'option',
    'option_name'   => 'test',
) );

And the panel, section and field:
Kirki::add_panel( 'start', array(
    'priority'    => 10,
    'title'       => __( 'Start', 'theme_slug' ),
    'description' => __( 'Settings for the start.', 'theme_slug' ),
) );
Kirki::add_section( 'projects', array(
    'title'          => __( 'Projects' ),
    'description'    => __( 'Add projects that you have contributed to.' ),
    'panel'          => 'start',
    'priority'       => 160,
    'capability'     => 'edit_theme_options',
) );
Kirki::add_field( 'test', array(
    'settings' => 'projects',
    'label'    => __( 'Projects', 'theme_slug' ),
    'section'  => 'projects',
    'type'     => 'repeater',
    'priority' => 11,
    'default' => array(
        array(
            'label' => esc_attr__( 'Lorem ipsum', 'kirki-demo' ),
            'url'   => 'http://www.google.com',
        ),
    ),
    'fields' => array(
        'label' => array(
            'type'        => 'text',
            'label'       => esc_attr__( 'Label', 'kirki-demo' ),
            'default'     => esc_attr__( 'My project', 'kirki-demo' ),
        ),
        'url' => array(
            'type'        => 'text',
            'label'       => esc_attr__( 'URL', 'kirki-demo' ),
            'default'     => 'http://google.com'
        ),
    ),
) );

Okay, so far no problems. Now what I would like to do is to add another section, let's say in the same panel, that somehow can get data from the field above. What I would like is something like this. Please look at the default value. I know this won't work but it shows what I would like to achieve.
Kirki::add_section( 'showcase', array(
    'title'          => __( 'Showcase' ),
    'description'    => __( 'Add your fav projects.' ),
    'panel'          => 'start',
    'priority'       => 160,
    'capability'     => 'edit_theme_options',
) );
Kirki::add_field( 'test', array(
    'settings' => 'showcase_projects',
    'label'    => __( 'Showcase projects', 'theme_slug' ),
    'section'  => 'projects',
    'type'     => 'repeater',
    'priority' => 11,
    'default' => Kirki::get_option( 'test', 'projects' ),
    'fields' => array(
        'label' => array(
            'type'        => 'text',
            'label'       => esc_attr__( 'Label', 'kirki-demo' ),
            'default'     => esc_attr__( 'My project', 'kirki-demo' ),
        ),
        'url' => array(
            'type'        => 'text',
            'label'       => esc_attr__( 'URL', 'kirki-demo' ),
            'default'     => 'http://google.com'
        ),
    ),
) );

I hope you get where I'm going. I want values from one repeater to be default in another. Is this possible?

hmmm.... I think I understand what you mean now.
Try something like this:
// Get the repeater values
$repeater_values = get_theme_mod( 'my_repeater', array() );
// Create an array $key => $label for use with a radio control
$radio_choices = array();
foreach ( $repeater_values as $key => $row ) {
	$radio_choices[ $key ] = $row['label'];
}
// Use $radio_choices in the `choices` argument of a radio control.

// In order to get the values of the radio control
// and figure out what the corresponding repeater entry contains
// We'll have to do something like this:
$radio_value = get_theme_mod( 'my_radio', '' );
$selected_repeater_row = null;
if ( '' != $radio_value ) {
	$repeater_values = get_theme_mod( 'my_repeater', array() );
	if ( isset( $repeater_values[ $radio_value ] ) ) {
		$selected_repeater_row = $repeater_values[ $radio_value ];
	}
}
if ( null !== $selected_repeater_row ) {
	$label   = $selected_repeater_row['label'];
	$default = $selected_repeater_row['default'];
}

The top half of the code is to figure out what the choices argument of a radio control will be
The bottom half of the above code is so that in your theme you can get the value of the radio, and then figure out the repeater fields based on that radio selection.
Of course it's gonna need some tweaking, renaming keys etc, but the logic is there and works fine, I just tested it. :+1:


Add Article for Hello World in Wyvern

Just merged #239. Looking for an author.

Added link to language README: https://github.com/jrg94/sample-programs/commit/d9c6a99427483b005cf7ec970753de1ff0a29f74


Distributed Tracing docs should also include vanilla OTel instructions/sample

Describe the bug
The Yarp Distributed tracing doc assumes you are using App Insights and this hides a few necessary pieces you may not know if you are using a more vanilla OTel config. For example, you need to add HttpClientInstrumentation.
I suggest this doc augments these instructions with a more vanilla config like I have in my example sandbox repo
To Reproduce
If you follow these instructions and don't know to add the HttpClient instrumentation and configure it, you don't get client spans.
Further technical details

Triage: Sounds good, thanks for the PR!

Fixed by #2395


Add Community and Civic Engagement (CCE) minor management page

For a baseline, we need to show a list of students who are actively pursuing the minor. We should also show a list of students who potentially qualify for the minor based on their program service hours.

 Add Community and Civic Engagement (CCE) minor management page #987


Fixes the closing connection bug - #1231

Now the remoteConnectionUri is stored on the sender side to close the connection on both sides.

did not merge this PR since there are possible issues in the code (see comment)


Error when renaming a record

The below line code doesn't add anything to the functionality, but rather causes an error when trying to rename a record
https://github.com/Drakonian/data-editor-for-bc/blob/fd3b37edc3967bb9df1243b019b53eff0e20c117/Codeunits/Cod81001.DETDataEditorMgt.al#L135

Which version of BC do you use?

I use BC24 Online.
When trying to change the field Positive in the Reservation Entry table for Yes to No, the error message is:

Error details:
If requesting support, please provide the following details to help troubleshooting:
Error message:
The type NavBoolean is unknown.
Page Reservation Entry has to close.
Internal session ID:
27deaf52-812b-4ce6-a109-440b8cbc577e
Application Insights session ID:
759a4642-e795-480b-88b1-898eafd983b3
Client activity id:
e5471d86-f1cd-4b4e-b5c9-9e23563ee562
Time stamp on error:
2024-08-29T09:42:45.1937935Z
User telemetry id:
ee14ad42-5112-4a0f-9f64-ffd0f6123172
AL call stack:
"DET Data Editor Mgt."(CodeUnit 81001).RenamePKField line 30 - Data Editor Tool by Volodymyr Dvernytskyi
"DET Data Editor Buffer"(Page 81000).OnValidateField line 18 - Data Editor Tool by Volodymyr Dvernytskyi
"DET Data Editor Buffer"(Page 81000)."Text Value 3 - OnValidate"(Trigger) line 2 - Data Editor Tool by Volodymyr Dvernytskyi

@Erwin-k
Let's start by clarifying that the line you mentioned is not useless at all; in fact, it's essential, and I'll explain why.
The Table 81000 "DET Data Editor Buffer" consists of many text fields. To display data from any other table, a trick is used where all fields are converted to text format. Converting data types to text is necessary because there is no such data type as Variant in a table, and we don't know what type the fields will be. Of course, we could have created 300 fields of each type in Business Central, but that would have significantly reduced performance, as the table is already overloaded.
https://github.com/Drakonian/data-editor-for-bc/blob/607fcb2a37af1c163c47b96b5f5ae68d9bdd0d48/Tables/Tab81000.DETDataEditorBuffer.al#L1
This trick creates an additional problem: correctly transforming the text back to the appropriate data type. This is easier to do when using DrillDown (the three dots on the textbox) because, in that case, we use a type matrix, and the UI loads with the correct data type, limiting the user to that field (they cannot enter text in a number field, for example). However, it’s a bit more complicated when entering text directly into a field, as automatic transformation is required. This is just a bit of background on why things are set up this way.
Your error was related to transforming text into Boolean for Rename. This error was present in both the textbox and the UI matrix. Here, you can see the fixes:
https://github.com/Drakonian/data-editor-for-bc/commit/607fcb2a37af1c163c47b96b5f5ae68d9bdd0d48
If you're curious about the purpose of the line you asked about, it's used to transform the incoming value (which could be text) into the corresponding data type using the TempRecRef variable. By assigning the new Primary Key value to TempRecRef, we store this change in memory in the correct data type. The Rename itself doesn't happen at this point, but the values are now in the correct format.
https://github.com/Drakonian/data-editor-for-bc/blob/607fcb2a37af1c163c47b96b5f5ae68d9bdd0d48/Codeunits/Cod81001.DETDataEditorMgt.al#L135
In the next step, all the Primary Key values (including the new one) are taken from TempRecRef for the actual Rename in RecordRef.
https://github.com/Drakonian/data-editor-for-bc/blob/607fcb2a37af1c163c47b96b5f5ae68d9bdd0d48/Codeunits/Cod81001.DETDataEditorMgt.al#L137
Why? Because there never was, and still isn't, an object like "List of [Variant]" that could solve this problem more elegantly. I even wrote about this in one of my articles you can check it out:
https://vld-nav.com/work-with-rename-method
As you can see, there are many limitations in the Business Central platform that dictate, at first glance, strange and seemingly incomprehensible solutions.
In any case, the problem has been fixed.

Ah ok, I get it. Thanks for the response and the fix.
Ran into the described issue as well over a decade ago. Solved it using the code below (for your entertainment)
local procedure CheckValue(var vTxtValue: Text): Text
var
    FieldRec: Record "Field";
    RecRef: RecordRef;
    FldRef: FieldRef;
    DateFormulaVar: DateFormula;
    DateFormulaTxt: Text;
    OptionsTxt: Text[1024];
    RecID: RecordID;
    GuidVar: Guid;
    NoOfOptions: Integer;
    Counter: Integer;
    NoFieldNo: Label 'First select a field';
    WrongType: Label 'Changing a field of type %1 has not been implemented yet';
begin
    if (TableNo = 0) or (FieldNo = 0) then
        Error(NoFieldNo);
    FieldRec.Get(TableNo, FieldNo);

    RecRef.Open(TableNo);
    FldRef := RecRef.Field(FieldNo);
    case FieldRec.Type of
        FieldRec.Type::TableFilter,
      FieldRec.Type::OemText,
      FieldRec.Type::Binary,
      FieldRec.Type::BLOB,
      FieldRec.Type::OemCode,
      FieldRec.Type::BigInteger,
      FieldRec.Type::Duration:
            Error(WrongType, Format(FieldRec.Type));

        FieldRec.Type::RecordID:
            if Evaluate(RecID, vTxtValue) then
                FldRef.SetRange(RecID);

        FieldRec.Type::GUID:
            if Evaluate(GuidVar, vTxtValue) then
                FldRef.SetRange(GuidVar);

        FieldRec.Type::Date,
      FieldRec.Type::DateTime:
            FldRef.SetFilter(vTxtValue);
        FieldRec.Type::Time,
      FieldRec.Type::DateFormula,
      FieldRec.Type::Text,
      FieldRec.Type::Code:
            FldRef.SetFilter(vTxtValue);
        FieldRec.Type::Decimal,
      FieldRec.Type::Integer,
      FieldRec.Type::Boolean:
            FldRef.SetRange(vTxtValue);

        FieldRec.Type::Option:
            begin
                if Evaluate(Counter, vTxtValue) then begin
                    OptionsTxt := FldRef.OptionCaption;
                    vTxtValue := SelectStr(Counter, OptionsTxt);
                end;
                FldRef.SetFilter(vTxtValue);
            end;
    end;

    exit(FldRef.GetFilter);
end;

@Erwin-k
I have this as well 😄
https://github.com/Drakonian/data-editor-for-bc/blob/607fcb2a37af1c163c47b96b5f5ae68d9bdd0d48/Codeunits/Cod81001.DETDataEditorMgt.al#L778


Need a more reliable backup system

Continue researching script ideas and tools to automate creation of regular backups of the server files so we never have to resort to an old back up again.

By George I think we have it!


add db operation functions in yig storage backend and move cluster related functions from service layer to yig storage backend.

What this PR does / why we need it:
Because cluster info contains ceph related information and it is only used by yig storage backend, this pr moves the cluster info related functions from service layer to yig storage backend.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

Hi @hopkings2008 , does yig storage backend only use database to save and get cluster information? Is this database seperated from s3 database?

Hi @hopkings2008 , does yig storage backend only use database to save and get cluster information? Is this database seperated from s3 database?

@sfzeng yig storage backend will save the cluster info and multipart related info. and the multipart info only contains 'storage information' and it doesn't contain the upper layer information such as uid , bucketname, objectname, etc. So we need to split these two logic data model. and the backend driver needs to separate the db from the s3 db, since they are two different layers.
what do you think of it? and welcome your suggestions.

@hopkings2008 thanks for the updates, LGTM


goo.gl API error

https://yt.aergia.eu/#v=Wnsdc7cTPuU&t=30s;1m9s and 's' results with this error no JS console:

16:54:36.441 Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyDp31p-15b8Ep-Bfnjbq1EeyN1n6lRtdmU. (Reason: CORS header 'Access-Control-Allow-Origin' missing).1

I am unable to reproduce this under Firefox 49 and Chromium 53.
Which browser are you using?
Is there any proxy/addon between you and server that could filter CORS headers out?

On this machine it was Fx 43 so my bad, but can You catch this error end return on JS console or even some popup a message with update as probable solution?
This error message isn't user friendly at all.

I checked under Firefox 43 (empty profile, no addons, no proxies) and there are no issues you described.
From what I  see if anything goes wrong when communicating with shortener's API,
there is an error message already:

Closing as unreproducible, feel free to reopen if you are able to provide steps to reproduce.

Just pres F12 and U'll see.
It is not a bug, rather UX, but as a user the original message is useless for me.
I don't know what the problem might be, of if I can make it go away.
I just wont it to work, and I could with simple update, so this should be returned for me as a plausible solution.

Once again: I am unable to reproduce CORS issue under Firefox 43.

Did you try running empty firefox profile without any add-ons?
Did you try different browser?

Can't help until I am provided with step by step instructions on how to reproduce the CORS error


[flagd] Remove pinned version of transitive dep

Basically, when GRPC java releases its next version, revert this: https://github.com/open-feature/java-sdk-contrib/pull/1030

https://github.com/grpc/grpc-java/releases/tag/v1.68.1


call mj_setConst on a mjx model after changing body masses, inertias for domain randomization

Hi, I am a student using mjx in combination with brax for RL.
For implementing domain randomization I followed the example notebook which look like this:
def domain_randomize(sys, rng):
  """Randomizes the mjx.Model."""
  @jax.vmap
  def rand(rng):
    # randomize frictions ...
    return friction, gain, bias
  friction, gain, bias = rand(rng)

  in_axes = jax.tree_util.tree_map(lambda x: None, sys)
  in_axes = in_axes.tree_replace({
      'geom_friction': 0,
  })

  sys = sys.tree_replace({
      'geom_friction': friction,
  })

  return sys, in_axes

Now I also want to randomize over body masses and inertias, but according to https://github.com/google-deepmind/mujoco/issues/764#issuecomment-1464708759 this requires adapting dependent constants like dof_M0 ...
With the normal mujoco (non mjx) pipeline the solution seems to be calling mj_setConst after changing the link masses/inertias to have the dependent constant recalculated.
With mjx this is not possible since, to my understanding, there is no way of copying an mjx model back to a mujoco model (like an mjx.get_model function).
When this function would exist, the workflow could look like this:

randomizing the batched mjx model with the domain_randomize function using jax.vmap
copying the batched model to an array of mujoco models
call  mj_setConst on each mujoco model
copy back the fixed list of mujoco models to a batched mjx model

Or is there another way to call mj_setConst directly on a batched mjx model?

Bumping into the same problem. Having a solution to this issue would definitely make the domain randomisation functionality much more useful.

I guess the best solution would be to port everything in https://github.com/google-deepmind/mujoco/blob/1d181786a25da07a9ac536ae0e78291b221e27f0/src/engine/engine_setconst.c#L506C6-L506C17 to mjx/jax.
But I am not sure how much work this would be.

In the meantime, the copy model method could be used as a workaround. However, this may have significant performance disadvantages. Especially when used in an RL training loop where domain randomization is performed each reset call over many environments.

Another workaround may be to call mj_setConst(mjModel* m, mjData* d) via  jax.experimental.io_callback from within the jitted domain_randomize function, but this again requires some functionality to copy an mjx model to a normal mujoco model (mjx.get_model). At least this would provide the same simple API as (1.) (which can be called from within vmap) but without the need to fully port mj_setConst(mjModel* m, mjData* d).

Thanks for opening the bug @JeyRunner! Option 1 sounds the best to me. Feel free to open up a PR! Indeed this functionality would be really useful for randomizing mass properties (in a correct way).

Having the same question. Are there any updates on this?

@hshi74 Apologies there hasn't been movement on this issue yet.
As a workaround, I recommend creating the randomized models in MuJoCo so that fields get compiled correctly, and doing a put_model on each randomized model. You can then tree_map/concat the models in MJX. During training, avoid calling resets on the mjx.Model (for fields that need to be re-compiled). We find that many policies do fine with a large batch of reset states that get set once at the beginning of training. Let us know if there are any updates otherwise!

I'm also running into this problem and would be happy about any progress on this.

@hshi74 Apologies there hasn't been movement on this issue yet.
As a workaround, I recommend creating the randomized models in MuJoCo so that fields get compiled correctly, and doing a put_model on each randomized model. You can then tree_map/concat the models in MJX. During training, avoid calling resets on the mjx.Model (for fields that need to be re-compiled). We find that many policies do fine with a large batch of reset states that get set once at the beginning of training. Let us know if there are any updates otherwise!

One issue with this approach is that batching full models wastes resources on properties that remain untouched. The neat thing with the randomization described in the example notebook is that only mjx.Model.geom_friction receives an additional batch dimension, while mjx.Model.body_mass and other fields of Model are not copied.
import jax
import mujoco
from mujoco import mjx

xml = """
<mujoco>
  <worldbody>
    <body name="box_and_sphere" euler="0 0 -30">
      <joint name="swing" type="hinge" axis="1 -1 0" pos="-.2 -.2 -.2"/>
      <geom name="red_box" type="box" size=".2 .2 .2" rgba="1 0 0 1"/>
    </body>
  </worldbody>
</mujoco>
"""
mj_model = mujoco.MjModel.from_xml_string(xml)
mj_data = mujoco.MjData(mj_model)
mjx_model = mjx.put_model(mj_model)
mjx_data = mjx.put_data(mj_model, mj_data)

batch_data = jax.vmap(lambda _: mjx_data)(range(64))
# Batched model.geom_friction works for parallel domain randomization
fric_model = mjx_model.replace(geom_friction=jax.vmap(lambda _: mjx_model.geom_friction)(range(64)))
jit_step = jax.jit(jax.vmap(mjx.step, in_axes=(None, 0)))
batch_data = jit_step(fric_model, batch_data)
print(f"{fric_model.geom_friction.shape=}, {fric_model.body_pos.shape=}")
# Output: fric_model.geom_friction.shape=(64, 1, 3), fric_model.body_pos.shape=(2, 3)

Unfortunately, this does not work for all fields at the moment. For example, manually changing the mass (not caring for now if other attributes are set correctly as in https://github.com/google-deepmind/mujoco/issues/764#issuecomment-1464708759) will result in shape errors in fwd_position.
# Randomizing the mass in the same way does not work
mass_model = mjx_model.replace(body_mass=jax.vmap(lambda _: mjx_model.body_mass)(range(64)))
try:
    batch_data = jit_step(mass_model, batch_data)
except IndexError as e:
    print("Batching the body_mass property does not work, fails with: \n", e)

One can create full copies, change the masses, and vmap over both Data and Model in mjx.step, but this workflow is not described in the tutorial notebook and is more resource intensive. I think this should at least be documented somewhere, since the notebook in its current form suggests (though not explicitly mentioned) any field in Model can be batched and randomized.
# We can randomize the mass property by batching the full mjx_model, but this will consume a lot
# more memory and requires a change in vmap in_axes.
batch_model = jax.vmap(lambda _: mjx_model)(range(64))
jit_step = jax.jit(jax.vmap(mjx.step))  # Note the change from in_axes=(None, 0) to in_axes=0
batch_data = jit_step(batch_model, batch_data)
print(f"{batch_model.body_mass.shape=}, {batch_model.body_pos.shape=}")
# Output: batch_model.body_mass.shape=(64, 2), batch_model.body_pos.shape=(64, 2, 3)

Long term, it would be great if we could batch individual fields of Model as is currently possible with mjx.Model.geom_friction. I'm not sure how much work that would be, but I'd be happy to help out if that is something you'd be interested in @btaba .


Fix Firestore transaction_extra_test.cc on iOS and re-enable the tests

The tests were hanging indefinitely and therefore were disabled. The root cause was the call to Await() in the transaction callback thread, which eventually called ProcessEvents() in ios_app_framework.mm. The ProcessEvents() function was coded in such a way that it would only handle being called from the main thread, and, therefore, when called from a non-main thread, caused undefined behavior (in this case, a hang). I re-wrote the concurrency logic in ios_app_framework.mm and that fixed the tests.
Previously, this code would only lock g_shutdown_signal once, before calling common_main(). Let's say the thread that does this is T1. ProcessEvents() requires the calling thread to possess the lock, which is only true if it is called from T1; if ProcessEvents() is called from any other thread, it will hang (because it can never acquire the lock).

Consider expanding the rationale in the PR description

Done. I just copied your suggestion verbatim :)


requestAnimationFrame should return native handleId or cancelAF should accept TimerOption

From https://github.com/angular/angular/issues/8401
Currently, zone-patched requestAnimationFrame returns ZoneTask.
It seems breaking native rAF canceling:
let handleId = requestAnimationFrame(fn);
cancelAnimationFrame(handleId); // not canceled

To cancel rAF, we have to use data.handleId
let timerOption = requestAnimationFrame(fn);
cancelAnimationFrame(timerOption.data.handleId);

Repro (with Angular2): http://plnkr.co/edit/MmQmT8YAbOyg8kh3pnQX?p=preview

Maybe related to #359

I think zone.js should not change the signature of any native APIs. Is there a list of all patches that do not preserve the original signature?

AFAIK, set/clearInterval and  set/clearTimeout are preserved its native behavior.

@IgorMinar how do you think about this?

Fixed in latest zone.js. http://plnkr.co/edit/JJCleR?p=preview


220_white_boxes

Hello.
[x] I removed the div with the white boxes as instructed on issue #220.
[x] Then i ran the two commands for ci/cd check:
yarn lint-fix
yarn start

Let me know if you need any corrections.

Hi @angelospk! Apologies if you are in UCLA ACM TeachLA, but although this repository is public, these issues are for my team members at the moment. I was not able to directly assign this issue since we just onboarded new members, so I can see why you may have thought this was a claimable ticket. However, if you see anything that may need fixing (that are not already issues), feel free to pull request as you did.


Change in Old Code and New Files Added

List of changes made:-

Changed Sentinel.py code and implemented the logic to store images in the minio (media_lfns). Also I have ignored all the dataframes which are generated during code execution for uploading to minio. Deleted old file Sentinel.py and made new one Sentinel2.py .
Merged the old models.py file and now new file is present in app/sdk.
Need help with setting the relative path in the minio_gateway.py file as there is change in the format of the file saved. Hence commented those lines of code.
Need help with testing minio since it is related with the relative path problem.
Created docker compose file.
Edits in .env file .
Further edits which are still as a pull request (i.e. add workflows) in the main DAD repo are not implemented as of now.

No longer relevant. This needs to be adapted to the latest changes in https://github.com/dream-aim-deliver/mpi-sda-telegram-scraper


Title of README does not render correctly on crates.io

See https://crates.io/crates/rocks. Perhaps the Markdown supported by crates.io is a bit different? It seems other projects have found a solution that works for both, however.

Yes, the badge icon links are broken. I'll fix it.

Fixed and published as 0.1.1.
Looks better now, :)

Great. Might want to add a crates.io badge while you're at it... small things, I know. ;-)


fix(module:input-number): use boundary value instead of previous value

close #730
PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

Coverage increased (+0.008%) to 40.86% when pulling acc1461736a7bfeb28cf56337f42f5371d0ee710 on vthinkxie:input-number into 6b095a86a627eb0ca29200484dead23f0c03fb95 on NG-ZORRO:master.


Llama3.1 and kv_cache quantization

this PR has support for llama 3.1 and some improvements to kv_cache quantization and general peak memory performance for llama
summary of changes

add 3.1 support for llama
change quantized_kv_cache init so it doesn't create a full precision peak: see below
reorder causal mask init: see below
add option for linear causal mask: see below
add option for cache_size: the default generate.py behavior requires you do generate 32k tokens if you want to haev a size 32k kv_cache/causal_mask, the cache_size option lets you simply set the cache size but generate a smaller number of tokens to make it easier to benchmark
add option to generate memory profile: used to generate the images below

Change to quantized kv_cache init
The first change is avoiding creating of the full precision kv_cache, previously we would initialize the kv_cache and then convert it to the quantized form as seen in this memory profile:

those horizontal lines from ~16.1 GB to 16.6GB are the normal kv_cache and you can see them being deallocated on the right side of the image as the quantized kv_cache's are instantiated. This created an unnecessary increase in peak memory any time the initialization is the peak (which was the case for very long context lengths).
Change to causal mask

This is a memory profile for 32k context length without kv_cache quantization or any other changes, compare to one with kv_cache quantization

those horizontal bands that run from 16GB to 20.5 GB on the top image and 18.5 on the bottom, are the kv_cache. With quantization its 2 GB smaller which shows the technique is performing as expected, however there is a large blue (top) or (green) blob (with a spike on the left side) that appears in the memory profile, this is the causal mask.
Normally the causal mask is handled by creating a (token length x token length) tensor of ones, then creating a copy that is lower triangular and taking slices from it throughout the model runs. Notice the sharp peak right at the start, this occurs because in order to copy a tensor of ones into a lower triangular matrix requires you to hold 2 instances of this in memory for a moment, thereby doubling its impact in addition to taking up O(context_length^2) memory. The doubling issue was solved by creating the causal mask before the kv_cache, if done like that, the momentary doubling spike doesn't affect the peak memory since the kv_cache will be higher than the spike.

Although the earlier instantiation of the causal mask helps (red blob now), it is still taking up a ton of space, especially at even higher context lengths, which is eating into the gains we expect from kv_cache quantization. Why do we need to actually store the causal mask though? A slice of the causal mask is essentually just a sequence of n ones in a row and then
context_length-n zeros in a row where n is the current token being generated. Each slice differs from the next only by a single value. We can just store the slice and update it each iteration instead. Result:

tests:
see benchmarks.sh

Mostly looking good!

There's a merge conflict, @gau-nernst recently added training support for gpt-fast
The memory traces you shared seemed compelling, let's have the baseline be gpt-fast as is and the intervention kv-cache + reshuffled mask init + vector mask
cc @Jack-Khuu and @kartikayk since this is landing soon

Mostly looking good!

There's a merge conflict, @gau-nernst recently added training support for gpt-fast
The memory traces you shared seemed compelling, let's have the baseline be gpt-fast as is and the intervention kv-cache + reshuffled mask init + vector mask
cc @Jack-Khuu and @kartikayk since this is landing soon

fixed
gpt-fast errors even at 32k context length, it requires a bunch of fixes to even get it working, I don't have a good way to compare apples to apples. At the moment i'm comparing normal performance (with reordering of causal mask init) v kv_cache quantization v kv_cache quantization + linear causal mask

This feels good to merge to me, fwiw @iseeyuan and @felipemello1 have also noticed a large difference by reducing the memory requirements of logits https://github.com/pytorch/executorch/pull/4688 from O(context length) to O(1)
Also remind me if you also quantized the model? I'm trying to see if we can hit a 24GB VRAM budget or whether we need to explore int4 kv quantization
Also mind adding the top line VRAM requirements at the top, the line chart doesnt have even ranges on the y-axis (log scale?) so a bit hard to eyeball

Could the mask be generated via a broadcasting trick? Or not in this context? Otherwise, does FlexAttention allow to avoid materialization of such masks and compute the masking directly during the attention? (I thought that flash attention supported such materialization-free causal masks too...)

Great work on the memory optimizations! Have you measured any impact on model accuracy or perplexity, with this method?


Poor Presentation Diagram of the 'DDoS Network Protection Windows N-tier architecture' Diagram

Reference the following diagrams:
[(https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-protection-reference-architectures#ddos-network-protection-windows-n-tier-architecture)]
[(https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-protection-reference-architectures#ddos-ip-protection-windows-n-tier-architecture)]
When comparing the DDoS Network Protection Windows N-tier architecture diagram below it for DDoS IP Protection Windows N-tier architecture, the diagrams are almost identical.
The bottom diagram exhibits that ONLY the Azure Load Balancer is being protected with DDoS protection, which is accurate.
However, the DDoS Network Protection Windows N-tier architecture diagram has two Public IP addresses, but only ONE of those IP addresses are protected.  The lower IP associated with the Jumpbox is a single VM and - as listed in the Note callout lower in the document - is NOT supported.  The top diagram in its current format can be easily interpreted to be supported.
I suggest that you update both diagrams to show Bastion Host as well as a separate single VM (not showing it as a jumpbox)
Call out that the DDoS Network protection protects the PIP for the load balancer AND a Bastion Host, but the single VM is NOT protected.
Also, on the DDoS IP protection diagram, show that ONLY the Load Balancer PIP is protected and that the Bastion Host and Single VM are NOT protected.

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

ID: 49e97cc4-3bfc-7675-201e-89d422bea15c
Version Independent ID: 0c211439-f030-c327-4cc1-9eb3a19bf7fd
Content: Azure DDoS Protection reference architectures
Content Source: articles/ddos-protection/ddos-protection-reference-architectures.md
Service: ddos-protection
GitHub Login: @AbdullahBell
Microsoft Alias: abell

@brianlo-ms
Thanks for your feedback! We will investigate and update as appropriate.

Hello @brianlo-ms I relayed this to our internal team, and we are reviewing this issue. There is no ETA at this time, but I will update this forum as soon as new information is available. Thank you for your input in the documentation!

#please-close


[incubator/etcd] statefulset apiversion wrong

Describe the bug
Statefulset not present in "apps/v1beta2"
Version of Helm and Kubernetes:
Kubernetes: 1.17
Which chart:
etcd
What happened:
Install chart was not successfull
What you expected to happen:
Install succeeded
How to reproduce it (as minimally and precisely as possible):
Try to install incubator/etcd chart into Kubernetes 1.16 and above.
Anything else we need to know:
Since Kubernetes 1.16

"StatefulSet in the apps/v1beta1 and apps/v1beta2 API versions is no longer served. Migrate to use the apps/v1 API version, available since v1.9. Existing persisted data can be retrieved/updated via the new version."

Possible Solution
Change the apiversion in the statefulset.yaml to "apps/v1"
But this will break compatibility to Kubernetes 1.15 and below

I guess you are already aware of this, because you mentioned it in your Prerequisites Details in the Readme.


Exmaples referenced but not provided

The documentation on this page mentions that we should "see the example below" in a few places. However there appear to be no examples provided.

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

ID: 921aa920-c25f-5227-aabb-49116da38fa7
Version Independent ID: 9b5a53ad-edf8-4d89-f8e6-cde01b7866f6
Content: az ad app
Content Source: latest/docs-ref-autogen/ad/app.yml
Service: active-directory
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

@jiasli for awareness

This is indeed an inconsistency between in-tool doc and online doc.
In in-tool help, the examples appear below the argument help.
> az ad app create -h

...
JSON property Arguments
    --app-roles                    : The collection of roles assigned to the application. With app
                                     role assignments, these roles can be assigned to users, groups,
                                     or service principals associated with other applications.
                                     Should be JSON file path or in-line JSON string. See examples
                                     below for details.
...

Examples
    ...

    Create an application with a role
        az ad app create --display-name mytestapp --identifier-uris https://mytestapp.websites.net
        --app-roles @manifest.json
        ("manifest.json" contains the following content)
        [{
            "allowedMemberTypes": [
              "User"
            ],
            "description": "Approvers can mark documents as approved",
            "displayName": "Approver",
            "isEnabled": "true",
            "value": "approver"
        }]

But in the document, the examples appear above the argument help.


mgmt/osdp: cp: disallow unexpected SC responses

When CP has a secure channel active, it should never receive a REPLY_CCRYPT or REPLY_RMAC_I. Since these responses change the SC state, let's also make sure that they are accepted only when they are expected: in response to commands CMD_CHLNG and CMD_SCRYPT respectively.

cc: @jakub-uC

@carlescufi Can you please take a look at this PR, thanks.

This PR is bit rotting :) Can anyone please take a look.
cc: @carlescufi  @jakub-uC

@jakub-uC Ping

Ping.

@sidcha can you please rebase to trigger previously stuck CI jobs?

@sidcha thanks for your patience - should be merged anytime now!


Method to check if async_write() is allowed?

I have a silly protocol implemented on top of websocket::stream. It has async_write and async_read operations that for the purposes of this issue could simply prepend a 0 byte to the written/read buffer. But it also has an async_accept operation, composed of an async_read followed by an async_write (with some acceptance logic in the middle which doesn't matter here). Being a silly protocol it doesn't have any async_close(), to close it you close the next_layer stream.
Then I have the typical class ("ClassA") using this protocol which queues the messages to send, enable_shared_from_this etc. This class has a stop() method for when I want to force a session to finish. This stop() method ends up triggering an websocket::stream::async_close. It also sets an internal flag saying it's stopping, so it doesn't try to call websocket::stream::async_write any more (async_close says "No other operations except for message reading operations should be initiated on the stream after a close operation is started").
Now, the problem: what if I do async_accept() and before it finishes stop() is called? async_accept() doesn't have access to the flag in "ClassA", so it will try to websocket::stream::async_write even after websocket::stream::async_close is called and... well, the documentation says it should not.
I can obviously add an async_close() to my protocol which simply sets its own flag and calls websocket::stream::async_close. async_accept() would have access to this flag, it could skip the async_write and instead call the completion handler with operation_aborted. You could even argue it's the right thing to do. But... there is anything Beast could do to avoid this need? There is websocket::stream::is_open, but according to the documentation it will still return true after websocket::stream::async_close returns. Would it make sense to add a method to query whether the stream is "closed for writing"?

You need to always have a call to async_read pending, and simply detect the error websocket::error::closed to know that the stream is closed.


PostgreSQL-based bookshop

Runnable (mvn spring-boot:run and from the IDE) and deployable (BTP-only) bookshop with PostgreSQL as the database. I adjusted the setup, removed everything that mocked S/4 HANA and rest of the stuff.

Should we minimize the sample even further?

Minimize db CDS artifacts
Minimize srv CDS artifacts + custom code
Remove or minimize UI?

Should we minimize the sample even further?

Minimize db CDS artifacts
Minimize srv CDS artifacts + custom code
Remove or minimize UI?

I would vote to remove Vue and Swagger. If the goal is to make the sample as slim as possible, we can leave only Books/Authors and administration of books to have read and write scenario.

I would vote to remove Vue and Swagger.

+1


obj is not iterable

After updating this script from 4.1.0 to 5.0.0 without any changes of initialization code, it's now thrown error and doesn't work:
Uncaught TypeError: obj is not iterable
Initialization code:
$('.js-b').each(function () {
    console.log($(this));
    $(this).imagesLoaded().done(function () {
      ...
    });
});

console.log => Object { 0: div.all-b.vertical-b.js-b, context: div.all-b.vertical-b.js-b, length: 1 }

@Craigy-
I was having the same issue.
I made a simple test with the jquery version of images loaded with a simple container loading a number of images as immediate children and was still getting the 'obj not iterable' error.
I just went in and updated the code in the in the script to use the Object.values() method to convert to an array so that I didn't run into the iterable issue with the Object.
I updated this
if (isArrayLike) return [...obj];
To this
   if (isArrayLike) return Object.values(obj);
And all is working now,

The issue also occurs on WordPress 6.4.2.
The following combination is running there:

imagesloaded 5.0.0
masonry 4.2.2

After modifying line 138 in the imagesloaded script, the script runs without errors:
Line 138:
if ( isArrayLike ) return [ ...obj ];
Changed to:
if (isArrayLike) return Object.values(obj);
Please take a close look at the issue and fix it. All WP pages currently upgrading and using imagesloaded with masonry will encounter this problem. Furthermore, the current fix is not persistent, as the file will be overwritten with the original during the next upgrade.

We got the same problem when loading jquery 2.1.4 inside an old theme, instead of jquery 3.7.1 of wordpress 6.4.5. We've reverted to 6.3.5 that include imagesLoaded 4.1.4. We should probably upgrade the theme since jquery 2 is not supported anymore.
in jQuery 2,  [...jQuery('body')] is not iterable, but can be fix with [...Array.from(jQuery('body')] or [...jQuery('body').toArray()]
in jQuery 3.7.*, [...jQuery('body')]  works


Update Installation.md

Solus has now Hyprland in its repos. Please add installation info.

solus is so back


Rasalvi/8 khz support

Logging local and remote codec lists RTP handshake
Updated Microsoft Speech plugin to support 8KHz rate

Ignore


Consider removing empty-list view

Because the app now has a counter for the number of items, consider removing the "No Items" text where the list normally is.

Commits:

158e80fb28444821be51e1f7e8cb6c44e29dd8a4
182c48727c1808f41264a2888a0e3b88406290f1


unity + cmock iot_ble_data_transfer unit test

100% branch/line coverage for iot_ble_data_transfer.h API
cmock + unity

Checklist:

[ x] I have tested my changes. No regression in existing tests.
[ x] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks


Cannot read properties of undefined (reading 'startsWith')

I am frequently getting an error in node.utils.ts
/node.utils.ts at line 58 because (presumably) numberedMarkers is undefined.
I think this may be a consequence of an earlier (rendering/layout?) problem
@irahopkinson This is in my SPAN project in Gen 21

Fixed in #153.


Rollup should only execute DML if it would change the parent's value

Added specific tests to validate these features on both realtime and scheduled mode jobs.
Other tests updates reflect behavior differences in limit counts due to this feature.
Critical Changes
Changes
Issues Closed

Fixes #1269


Allow base url to be configurable for both the normal and graph api

Fixes #41
Ask and you shall receive (give or take 10 months).

Right now, I've tested this by hand and it works fine but I'm not really satisfied by lack of tests. If you look closely you can see that the config loading code is copied from api.ex to graph/api.ex. Sounds like a perfect target for extraction.

While extracting a Nadia.Config module to handle reading the config would be nice. I'm not sure how to test it. In order for me to test it properly I would need to set the config dynamically and I'm not sure how to do that. Does anybody have any pointers?

Looks like I could use Application.put_env/4 but the :timeout option scares me. I'm not sure what it really does. It seems like it could affect the .app file instead of changing the configuration at runtime.

I've extracted a Nadia.Config module and I've test both the base_url/0 and graph_base_url/0 methods that I've added.

Nice! I hope it gets merged soon

Cool!
I'm sorry for keeping you waiting 😭


Simple example for training configuration as well as mock data to finetune Stable Diffusion XL

Can you provide a simple config as well as a mock data so that everyone can use this framework. The current document is a bit unclear on how to train and finetune stable diffusion xl

The same question. Could you provide an example structure for the large-scale training data?

Same question. Did you solve this question?

The same question

The same question

same

same

same


Uncaught TypeError: Cannot read property 'target' of undefined

https://github.com/moroshko/react-autosuggest/blob/a759a2527ae55cf2a9bf60fea606045161af108c/src/Autosuggest.js#L126
event.detail can be undefined with weird custom events.
Happened with Trix editor when undoing with CTRL+Z while an autosuggest is present elsewhere.
Yep. Edge case.
Proposed fixes:

find a "a better way to emulate this" 😜
be more defensive 💂
act like we don't care 🙉

Thanks for raising the issue!
I went with "be more defensive 💂" for now.

This is fixed in v6.0.4 now.
Thanks again 👍


Email has disappeared from footer

It’s linked, just not underlined (as per the footer component’s design).


Populate all to avoid unused name errors

When a module imports many names from sub-modules, and does not include any code except for those imports, the module is obviously intended to hold names.
Those names should be put into __all__.
e.g. the following causes pyflakes errors, as Foo and Bar are unused:
from a.b import Foo
from a.c import Bar

To avoid this,
from a.b import Bar
from a.c import Foo

__all__ = ('Bar', 'Foo')

This should be uncontroversial for any module named __init__, as exported names are one of the primary purposes of an __init__ , especially before PEP 420.

This seems appropriate to me.


[ci] Pipeline update

Background:

The aim of the story is to make sure that the current pipeline is testing and deploying the latest elm based frontend.
For the time being we'll keep the current pipeline tasks deploying the older version.
in later iteration we'll build on that pipeline to include any needed automation process.

Acceptance Criteria:

[x] change branch to develop
[ ] set pipeline under CI
[ ] store secrets in vault
[ ] merge pipeline branch to develop
[ ] the latest elm based code is deployed to https://concourse.github.io/dutyfree/elmsite

make sure we have a dutyfree pws account to use for the hosting.

we started working on this, but the prod bosh director isn't in the best (working) state at the moment. so we kinda put this off for today, and hopefully tomorrow we can pick this back up and finish it relatively quick.


FATAL: parsing pgbouncer log from syslog is not supported.

Hello!
I have log of PostgreSQL and pgbouncer at syslog both. When I try build report I got error "FATAL: parsing pgbouncer log from syslog is not supported." Why that format of pgbouncer logs is not supported? Something is missing in the that type of log?
Thanks for your answer

Commit 64d44be adds this feature.


Identifiers benchmark

@lahma wanted to compare raw "Contains" usage. Then expanded with the current code path that uses it to parse an identifier in a loop checking each char, vs the vectorized version that won't use a loop.
From that I will try to remove the usage of the char map (for net80+) and run the higher level benchmarks

In need to gather my thought with this probably some morning coffee, but conceptually looks good. It's fast with modern runtimes but legacy not so much, I don't mind though and Parlot is plenty fast anyway.

I had this idea that languages where it could matter would include new lines in their separators (liquid) so I benchmarked it with the vectorization or not and couldn't see a difference either.


Suggest integrating AGE as a 'Graph Store' in LlamaIndex for AI/RAG applications

Since graph-based RAG frameworks have gained attention recently, I propose integrating AGE into AI development frameworks such as LangChain or LlamaIndex to increase AGE's utility in the AI industry.
Below are graph stores already registered with LlamaIndex's Graph Store.
https://docs.llamaindex.ai/en/stable/community/integrations/graph_stores/
I've already asked LlamaIndex for AGE integration and received the following response and template.
https://github.com/run-llama/llama_index/issues/12517
run-llama/llama_index/blob/main/llama-index-core/llama_index/core/graph_stores/types.py
In addition, several dedicated contributors have listed Apache AGE on LangChain.
https://python.langchain.com/docs/integrations/graphs/apache_age/
I've been conducting test for integration, but I'm worried it might take a while.
I look forward to hearing your ideas, comments and suggestions for collaboration. thanks.

Surely integrating Apache AGE with these frameworks could enhance AGE's visibility in the AI sector, which could bring more contributors.

@markgomer Thanks for you opinion. Existing graph stores included in these frameworks are commercial or difficult to use. AGE will be in high demand as a open source.

to @eyab ,
I would like to propose to create a sub-project of 'Integrate AGE with open-source projects' for this issue.
For now, me and another contributor will be working on the project.
Here's a brief project description, referencing the project template:
Description
Integrating Apache AGE as a 'Graph Store' in LlamaIndex
Required Skills

Mainly Python
Some background and experience with RAG or LLM, and an understanding of LlamaIndex.

TODO
Main required attributes:

connect to graph stores
ETL of triplet information from graph databases(get, get_rel_map, upsert, etc.)
save graph information as file(by using fsspec)
get schema of graph stores

Additional Details
https://docs.llamaindex.ai/en/stable/community/integrations/graph_stores/
run-llama/llama_index#12517
https://github.com/run-llama/llama_index/blob/main/llama-index-core/llama_index/core/graph_stores/types.py
https://python.langchain.com/docs/integrations/graphs/apache_age/

@ztor2
Thank you for proposing to integrate Apache AGE with LlamaIndex. Your suggestion sounds like a valuable addition to our project, and I am excited to see how it develops.
I have created a designated space for you to work on the project.
https://github.com/orgs/apache/projects/357

@eyab
Thank you for your response and for creating the project.
I will soon discuss and comment on the assignment for each task with the volunteer contributor.

I'm excited about this project and would love to contribute. I'm a database engineer with experience in python. Let me know which tasks I can assist with or in general how I can help.

@eyab
Please refer to previous comment, and can you assign me( @ztor2 ) to task 1 and @dsvisualized to task 2 in the project each?
https://github.com/orgs/apache/projects/357

Just commenting to prevent closure of the issue since it is one that I am also tracking!

Also just commenting to prevent closure of the issue since it is one that I am also tracking!

+1 , hope @ztor2 is still motivated to add the feature...


[BOOKINGSG-6120][JH] Add TimeRangePicker variant component

Changes

DropdownListV2: Allow enter key to select items and added an optional topScrollItem prop for automatic positioning of scrollbar

Added TimeRangePickerAlt component, which will be loaded instead of TimeRangePicker when using variant="alt" prop in Form.TimeRangePicker

This variant allows users to select a time from a dropdown list of options, or manually type in a time which is automatically parsed and converted into a valid time format (similar to google calendar)

[delete] branch

Changelog entry

Add alt variant for TimeRangePicker

Additional information

You may refer to this BOOKINGSG-6120
Figma

the components can be used standalone without the Form wrapper, so the logic for toggling between variants should sit in the main TimeRangePicker component
can I propose this structure instead?
src
  time-range-picker
    dropdown-picker
      dropdown-picker.tsx
      dropdown-picker.styles.ts
    card-picker
      card-picker.tsx
      card-picker.styles.ts
    time-range-picker.ts
    common.styles.ts
    index.ts

found an additional edge case for the focus/blur behaviour:

focus end input
press Escape to dismiss the dropdown
press Tab

the expected behaviour is for the indicator to disappear and the blur event to fire
currently the indicator remains active even after moving to another input, and onBlur did not fire


CppMod ImGui interface

CppMods should have a way to add a tab to the GUI for mod specific settings / widgets.

I think this is a good idea.
Do you have any ideas for how we could deal with exporting ImGui to each C++ mod ?
The problem is that the ImGui context isn't preserved across dll boundaries so if we call an ImGui function from a C++ mod we'll call it on a nullptr ImGui context.
At the moment, the only solution I have is to call ImGui::SetCurrentContext & ImGui::SetAllocatorFunctions from each C++ mod.
Like this for example:
ImGui::SetCurrentContext(UE4SSProgram::get_current_imgui_context());
ImGuiMemAllocFunc alloc_func{};
ImGuiMemFreeFunc free_func{};
void* user_data{};
UE4SSProgram::get_current_imgui_allocator_functions(&alloc_func, &free_func, &user_data);
ImGui::SetAllocatorFunctions(alloc_func, free_func, user_data);

It would have to be part of some initialization (like on_program_start), and executed before any ImGui functions are called.
It's rather bulky and annoying to have to include this in every C++ mod but it might be acceptable (maybe with some refactoring to reduce & simplify) but obviously an alternative to this would be better.

Ah, no I was not aware of the ImGui context issue. I imagine the bulk of it could be shoved into an #include so it's not necessary to copy and paste the same block.
So far I've been only thinking about how the actual interface would work. The most straightforward (stateless as far as UE4SS is concerned) would be to have two functions, one which returns whether the mod has a GUI (or an optional string with the GUI name) and one which is called to actually render the tab:
auto CppMod::gui_title() -> std::optional<std::wstring>; // none if no GUI; or wstring if GUI
auto CppMod::render_gui() -> void; // called by UE4SS when it's time to render the GUI

The other option would be to explicitly register GUI tabs/windows so it's possible to have many or none at all. The exact interface for this may depend on the ImGui docking branch which I've wanted to explore: https://github.com/ocornut/imgui/issues/2109

The other option would be to explicitly register GUI tabs/windows so it's possible to have many or none at all. The exact interface for this may depend on the ImGui docking branch which I've wanted to explore: ocornut/imgui#2109

We had someone else start implementing the docking branch but I don't know what the status is of that.
@narknon Do you still have contact with that person ? If so, could you ask them what the status is ?

Ah, no I was not aware of the ImGui context issue. I imagine the bulk of it could be shoved into an #include so it's not necessary to copy and paste the same block.

I think we can make a macro for the ImGui stuff that we demand is placed inside one of the init functions.
It cannot be in the constructor as that executes before the GUI has been set up by UE4SS.
The on_program_start function is safe, and I believe so is on_unreal_init.

So far I've been only thinking about how the actual interface would work. The most straightforward (stateless as far as UE4SS is concerned) would be to have two functions, one which returns whether the mod has a GUI (or an optional string with the GUI name) and one which is called to actually render the tab:
auto CppMod::gui_title() -> std::optional<std::wstring>; // none if no GUI; or wstring if GUI
auto CppMod::render_gui() -> void; // called by UE4SS when it's time to render the GUI

My current implementation is close to your second idea:
class MyTestTab : public GUI::GUITab
{
public:
    MyTestTab() : RC::GUI::GUITab()
    {
        TabName = "My Test Tab";
    }

    auto render() -> void override
    {
        ImGui::Text("This is my test tab!");
    }
};

class MyAwesomeMod : public RC::CppUserModBase
{
public:
    std::unique_ptr<MyTestTab> m_test_tab{};

    auto on_program_start() -> void override
    {
        UE4SS_ENABLE_IMGUI()
        m_test_tab = std::make_unique<MyTestTab>();
        UE4SSProgram::get_program().add_gui_tab(m_test_tab.get());
    }
};

This interface can change of course if needed.
I'm also considering whether to put these tabs in the main tab bar or whether to create a tab that has another tab bar inside it specifically for mod tabs.

My current implementation is close to your second idea:
[snip]
This interface can change of course if needed.
This looks good. :+1:

I'm also considering whether to put these tabs in the main tab bar or whether to create a tab that has another tab bar inside it specifically for mod tabs.
I think adding them to the main tab bar would be fine, at least for now. My current use case isn't for a mod per se, but closer to a plugin: a debugger for the kismet VM.

Speaking of nothing, we have a docs site here https://github.com/UE4SS-RE/docs. I mention this only because I saw your docs branch and just want to let you know to not bother with it if you intended to make it specifically as a UE4SS main docs site.
I was experimenting with moving the docs into the main repo as I believe that gives them a better chance of remaining updated and in sync with the rest of the codebase. Unfortunately moving repos means the pages URL would change without doing some other shenanigans like pushing the docs out to the docs repo with an action, so I haven't decided if it's ultimately a good idea or not.

Implemented by #111


Feature request: click on plug-in icon to download preferred file format

Adding options to preferences to allow clicking on plugin-icon to automatically download users preferred file format. (no option chosen will bring dropdown menu when clicking on icon

Or

I'm supportive of this - saves a click for each download in the common case that you always want the same format and there's exactly one puzzle on the page. I was able to prototype it and it does seem to work.
Some thoughts / things to iron out:

What should be the behavior of the popup? AFAIK we have to show it, though we can close it automatically. So I think we should show a loading spinner while the scraping is happening, but once done we can automatically start the download and close the window.
What happens if there's not exactly one puzzle on the page? I think the best thing to do in this case is to show the usual popup. With zero this is obvious; with more than one, I don't think it's 100% clear that the user would intend to download all of the puzzles on the page. (For example, they might have a blog open with older posts). Better to ask to be sure, and there's still value here in automatically downloading in the case that there's exactly one puzzle.
What happens if there's a conversion error with the selected format? Not too common, but possible, typically due to a bug in the scraper. We should render the usual list (of one element) and show the dialog we'd normally show so the user can try another format or report the issue.
Should probably provide a fallback option that forces open the menu so you don't have to turn off the setting in case you want to download something different. I think it is possible to show another option in the right-click menu which should work here.
Need to see how Firefox behaves (only tested in Chrome).

Yes, these are valid concerns. Is there a way for Scraper users to begin testing your proof of concept to find out how these issue might be tested and tweaked into place?

I've checked in an initial cut of this. Most of the above concerns are addressed; the main risks are:

If you close the window too quickly on Firefox, the download fails to start. I couldn't find a proper way of dealing with this short of waiting an arbitrary amount of time (100ms) before closing the window; this works well for me, but could obviously fail in other scenarios without something more formal to tie it to. Not sure if there's a better way, but not feeling particularly inclined to investigate too much more deeply as Chrome is working fine.
I couldn't find a way to make a fallback option work (right click menu option to force the window open). Hopefully not a big deal in practice since the window will show up if the download can't be done.

If you want to test this before the next release, you can try one of the attached snapshots depending on your browser. Instructions for testing a custom release are here: https://github.com/jpd236/CrosswordScraper/wiki/Troubleshooting#installing-a-custom-release-in-chrome
CrosswordScraper-productionChrome-1.2.16-SNAPSHOT.zip
CrosswordScraper-productionFirefox-1.2.16-SNAPSHOT.zip

Have run a few tests. So far, so good. Will continue testing.
But so far, looks great. Thanks for implementing this suggestion.

Firefox must continually check to see if all plugins are officially installed. I took your zip and renamed it to the hex plugin name in my FF profile {d481.....d74d}, then changed the extension to .xpi.
This worked fine for a while, till FF "checked" its plugins. Since now CS wasn't officially authorized, it deactivated it. :-(
I had to go back to the official version. But, I did get to test it out. Looks great and works great.

Glad to hear it's working.
I filed https://bugzilla.mozilla.org/show_bug.cgi?id=1799340 in the hopes that I can get to the bottom of why the arbitrary 100ms delay is necessary for Firefox, but will probably just release this either way in the next few weeks.

Excited for the actual release.
As mentioned, I was only able to use it until FF did its authorized-install check, after which, it turned off the plug-in with no way to reactivate.

I found this information on how to temporarily install a pre-release version of a plug-in, without FF continually disabling the plug-in as a not legitimate install.
https://extensionworkshop.com/documentation/develop/temporary-installation-in-firefox/

Thanks - updated https://github.com/jpd236/CrosswordScraper/wiki/Troubleshooting to include these instructions for Firefox.
I uploaded the new version (1.2.16) a couple of days ago and it's available on Firefox, so closing this out. For whatever reason, the Chrome update is taking a bit longer to approve, but it should hopefully go live soon there as well.


Adding Parameter() in Query creation

Currently the input values are not filter which could lead to SQL Injections. Swift-Kuery includes a Parameter class which limits SQL Injections.

Done in 0.1.0


spaced-line-comment rule not linting in Sublime

I am using the rule "spaced-line-comment" : [2, "always", {"exceptions":["-","+"]}], but Sublime Linter is not picking it up when I violate the rule.  Are there some rules that aren't linted correctly in Sublime?  Perhaps in the way it handles (ignores?) comments?

This seems to very possibly be a problem in my local config.  Closing for now until I can make sure this is really an issue.


Crash on connecting any two energy components

These crashes occur when any machine that accepts or produces energy is connected to any sort of conduit or cable from either EnderIO or another mod. After crashing, the world cannot be opened again. Log is as follows:
---- Minecraft Crash Report ----
// I blame Dinnerbone.

Time: 1/11/15 11:44 PM
Description: Exception in server tick loop

java.lang.IncompatibleClassChangeError: Class TileMultipart_cmp$$21 does not implement the requested interface cofh.api.energy.IEnergyReceiver
	at crazypants.enderio.power.EnergyReceiverPI.recieveEnergy(EnergyReceiverPI.java:66)
	at crazypants.enderio.machine.capbank.network.CapBankNetwork.sendPowerTo(CapBankNetwork.java:291)
	at crazypants.enderio.machine.capbank.network.CapBankNetwork.transmitEnergy(CapBankNetwork.java:264)
	at crazypants.enderio.machine.capbank.network.CapBankNetwork.doNetworkTick(CapBankNetwork.java:221)
	at crazypants.enderio.machine.capbank.network.CapBankNetwork.access$100(CapBankNetwork.java:32)
	at crazypants.enderio.machine.capbank.network.CapBankNetwork$TickReciever.tickEnd(CapBankNetwork.java:542)
	at crazypants.enderio.conduit.ConduitNetworkTickHandler.tickEnd(ConduitNetworkTickHandler.java:47)
	at crazypants.enderio.conduit.ConduitNetworkTickHandler.onServerTick(ConduitNetworkTickHandler.java:35)
	at cpw.mods.fml.common.eventhandler.ASMEventHandler_120_ConduitNetworkTickHandler_onServerTick_ServerTickEvent.invoke(.dynamic)
	at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
	at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:138)
	at cpw.mods.fml.common.FMLCommonHandler.onPostServerTick(FMLCommonHandler.java:247)
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:590)
	at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
	at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- System Details --
Details:
	Minecraft Version: 1.7.10
	Operating System: Windows 7 (amd64) version 6.1
	Java Version: 1.8.0_20, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory:<PHONE_NUMBER> bytes (969 MB) /<PHONE_NUMBER> bytes (2554 MB) up to<PHONE_NUMBER> bytes (3641 MB)
	JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms1024m -Xmx4096m
	AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
	IntCache: cache: 0, tcache: 0, allocated: 15, tallocated: 103
	FML: MCP v9.05 FML v<IP_ADDRESS>7 Minecraft Forge <IP_ADDRESS>7 71 mods loaded, 71 mods active

And a list of other mods that would, if included, make this page absurdly long.

Same problem over here. It was crashing at the startup so we removed any conduits and after connecting one it crashed again.

are you using the latest version  of COFH and EIO ?

It's those two :
ender io 1.7.10-<IP_ADDRESS>7
cofh Core 1.7.10-3.0.0B9-71

Updating CoFH Core (along with TF, TE, and MFR) seems to resolve the problem. You really should add version-sensitive dependencies instead of just having it crash on us.

You updated to which version? cause we did last friday and it was still crashing?

It could be ANY MOD with the CoFH API in it and outdated. Please update all mods that might use RF.

Note however, there's still an occasional crash when breaking Mekanism universal cables next to a capacitor bank.


multicursor broken

VS Code Version:
Version 1.17.2
Commit b813d12980308015bcd2b3a2f6efa5c810c33ba5
Date 2017-10-16T13:57:00.652Z
Shell 1.7.7
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64

OS Version:
Linux T460 4.10.0-37-generic #41~16.04.1-Ubuntu SMP Fri Oct 6 22:42:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Steps to Reproduce:
Example in video:
https://www.youtube.com/watch?v=Ut_QMfS2W8E
only reproduces when activating tabsanity

Yeah. I'm aware. Accepting PRs, but don't have the time.


Mount /tmp as a tmpfs volume to work around #537

This commit is a workaround for the issue #537. It allows the Content Publisher and Whitehall test suites to pass in the GOV.UK Docker development environment.
Once docker/for-linux#1015 has been fixed, this workaround will no longer be needed.

Nice work @ollietreend ⭐  - great to hear there's an alternative option to the rather grim ones I presented in: https://github.com/alphagov/govuk-docker/issues/537
I don't know too much about tmpfs to know what the trade-offs are here. Is the /tmp mount localised to an individual container? i.e. has an ephemeral lifespan that matches the container; or does it persist? does it get shared between containers at all?

@kevindew as I understand it, the tmpfs option creates a RAM-backed filesystem mount which is localised to each individual container, and isn't persisted or shared between different instances of containers. So completely isolated and ephemeral.
I've just had a quick play with some containers running in parallel and that's the behaviour I observed.

That sounds great - let's give it a go. Could you write a reply to the GitHub issue just to indicate there's a workaround?


Custom Format is not parsed?

Hello, I use the swagger-parser in https://github.com/RobWin/swagger2markup.
I have added an emailAddr with format "email" to the Swagger Petstore example:
"Order": {
            "properties": {
                "id": {
                    "type": "integer",
                    "format": "int64"
                },
                "petId": {
                    "type": "integer",
                    "format": "int64"
                },
                "quantity": {
                    "type": "integer",
                    "format": "int32"
                },
                "shipDate": {
                    "type": "string",
                    "format": "date-time"
                },
                "status": {
                    "type": "string",
                    "description": "Order Status"
                },
                "complete": {
                    "type": "boolean"
                },
                "emailAddr": {
                    "type": "string",
                    "format": "email"
                }
            }

And it seems that the official Swagger parser does not add the emailAddr to the Swagger model:

If I have a Model like:
"Order":{
 "properties": {
                "emailAddr": {
                    "type": "string",
                    "format": "email"
                }
            }
}

The properties Map is null:

The JsonNode in the parser is correct:

The PropertyDeserializer can see the field correctly

The problem is in the PropertyBuilder and there StringProperty.isType
  //TODO: implement additional formats
  public static boolean isType(String type, String format) {
    if("string".equals(type) && (format == null || "uri".equals(format) || "byte".equals(format)))
      return true;
    else return false;
  }

There should be some DefaultProperty which is used then, if it's a custom format.
Thanks in advance.
Robert

Yes, currently the swagger models in swagger-models are typed--they go through the PropertyBuilder class.  Since there is no EmailProperty type, it doesn't hang on to the format.
We can get more formats supported in swagger core.  Can you please open a ticket there?

Ok. done.
swagger-api/swagger-core#993


[GPT Request] RemGPT

look below for details
Name:
RemGPT
Description:
Rem GPT is takes the persona of the character Rem from the series Re:Zero, She'll try to answer things about the world and summerize the story  of the light novel, she'll also ofcourse roleplay with you.
Knowledge
Volume 1- 11 of the light novel (more will be added soon prob)
Chat Link
https://chat.openai.com/g/g-lQZTVSBrj-remgpt

Please raise a pull request for the same


Collect usage only when Apollo Server did resolve source

Closes #3016

The didResolveSource event is invoked after Apollo Server has determined the String-representation of the incoming operation that it will act upon. In the event that this String was not directly passed in from the client, this may be retrieved from a cache store (e.g., Automated Persisted Queries).

@Samjin to better understand this, I need to know what was the version before that you were using.

@Samjin to better understand this, I need to know what was the version before that you were using.

"@graphql-hive/client": "0.22.0",
"@envelop/types": "3.0.1",


Allow sequential testing

Currently we can use the class NormalPowerAnalysis.mde_time_line to see the evolution of MDE by the time. But I understand that this help to decide the experiment duration as a fixed period.  I would like to see this line as a sequential testing, where you decide a max duration of a test, but it can stop if you pass some threshold level in terms of alpha.
2 references:

https://www.youtube.com/watch?v=4rWOx5fOJbg
https://engineering.atspotify.com/2023/03/choosing-sequential-testing-framework-comparisons-and-discussions/

very cool, do you have an idea of how should we implement it?


Warning: In next release empty section headers will be rendered.

With latest version of React Native 0.55 this yellow box appears.

I receive this too and I am using react 0.55 as well. Previously, the timeline rendered fine.
Visually, it doesn't render at all and get the following message:
Stack strace:
Warning: In next release empty section headers will be rendered. In this release you can use 'enableEmptySections' flag to render empty section headers.

node_modules/fbjs/lib/warning.js:33:20 in printWarning
node_modules/fbjs/lib/warning.js:57:25 in warning
node_modules/react-native/Libraries/Lists/ListView/ListView.js:432:12 in ListView_render
node_modules/react-native/Libraries/Renderer/ReactNativeRenderer-dev.js:8811:23 in finishClassComponent
node_modules/react-native/Libraries/Renderer/ReactNativeRenderer-dev.js:12924:25 in performUnitOfWork
node_modules/react-native/Libraries/Renderer/ReactNativeRenderer-dev.js:12953:43 in workLoop
node_modules/react-native/Libraries/Renderer/ReactNativeRenderer-dev.js:12996:17 in renderRoot
node_modules/react-native/Libraries/Renderer/ReactNativeRenderer-dev.js:13632:34 in performWorkOnRoot
node_modules/react-native/Libraries/Renderer/ReactNativeRenderer-dev.js:13545:26 in performWork
node_modules/react-native/Libraries/Renderer/ReactNativeRenderer-dev.js:13506:16 in performSyncWork
node_modules/react-native/Libraries/Renderer/ReactNativeRenderer-dev.js:13728:8 in batchedUpdates
node_modules/react-native/Libraries/Renderer/ReactNativeRenderer-dev.js:2565:27 in batchedUpdates
node_modules/mobx/lib/mobx.module.js:3448:49 in reactionScheduler
node_modules/mobx/lib/mobx.module.js:3424:22 in runReactions
node_modules/mobx/lib/mobx.module.js:2895:8 in endBatch
node_modules/mobx/lib/mobx.module.js:64:8 in reportChanged
node_modules/mobx/lib/mobx.module.js:814:8 in setNewValue
node_modules/mobx/lib/mobx.module.js:1824:31 in setPropertyValue
node_modules/mobx/lib/mobx.module.js:1776:33 in set

artifacts/candidate/explore/job/job.component.js:76:17 in _callee$

node_modules/regenerator-runtime/runtime.js:62:44 in tryCatch
node_modules/regenerator-runtime/runtime.js:296:30 in invoke

artifacts/candidate/explore/job/job.component.js:9:62 in fulfilled

node_modules/promise/setimmediate/core.js:37:14 in tryCallOne
node_modules/promise/setimmediate/core.js:123:25 in

In your project folder find node_modules and then scroll down to find react-native-timeline-listview open that folder and find lib open that too and click on index.js
On the render() find this code and put enableEmptySections. Check documentation here React-Native ListView
        <ListView
          enableEmptySections
          ref="listView"
          style={[styles.listview, this.props.listViewStyle]}
          dataSource={this.state.dataSource}
          renderRow={this._renderRow}
          showsHorizontalScrollIndicator={false}
          showsVerticalScrollIndicator={false}
          automaticallyAdjustContentInsets={false}
          {...this.props.options}
        />

After that the yellow warning will be gone

APK 地址


[Cream] Can't test pretrained models.

When testing 14.pth.tar, error raised.
RuntimeError: Error(s) in loading state_dict for ChildNet:
        size mismatch for blocks.5.0.conv_dw.weight: copying a param with shape torch.Size([576, 1, 5, 5]) from checkpoint, the shape in current model is torch.Size([576, 1, 3, 3]).

To solved the problem,I convert test.py#L86 from ir_r1_k3_s2_e6_c192_se0.25 to ir_r1_k5_s2_e6_c192_se0.25 following microsoft/Cream/test.py#L85.
So, why this param from NNI is different from microsoft/Cream.
Thanks!

Hi,
Thank you for pointing out the definition bug of search space in the code. The solution to this problem is as you pointed out,  microsoft/cream will update slightly faster than the cream code in nni, and not merge in time, so this situation has occurred, and we will pay attention to keep updating.
Best,
Hao.