[BUG][WEBJS] - Error sending text to half of Brazilian numbers (every number registered before 2012).

Describe the bug
About 5 years ago, numbers in Brazil had the format 99 9999-9999.
Due to the increasing number of numbers, a ninth digit was added and became 99 9 9999-9999.
If I use the api to send a message to a number with the new digit and the account was initially registered without the ninth digit, the message is not delivered. I send an image to exemplify.
Note in the image that if I send it to the new number with the ninth digit, the message is not delivered.
This creates a difficulty, as everyone passes the number with the ninth digit, but when sending the message using the api, it is not delivered.
It's impossible to know if the number was registered in WA with or without the 9th digit and via the current API. The mobile app (and the web version as well) translates to the correct user id automatically.
Version
{
  "version": "2023.12.1",
  "engine": "WEBJS",
  "tier": "CORE",
  "browser": "/usr/bin/chromium"
}

To Reproduce Steps to reproduce the behavior:

Just find someone with an old Brazilian account (you can use mine, sent on Patreon messages). I will love to receive test messages and will read & reply to confirm. Just send a text "testing WhatsApp"or smth and I will understand.
Try to send a message to the number with the new digit.
The message will not arrive

Expected behavior
The message should be sent. A workaround can be applied in the /api/contacts/check-exists endpoint that can return the user id
Screenshots

Additional context

Already discussed on the Patreon https://www.patreon.com/posts/89093557
Same issue on another project, that they "solved": https://github.com/pedroslopez/whatsapp-web.js/issues/1967

Hi!

A workaround can be applied in the /api/contacts/check-exists endpoint that can return the user id

I love the suggested workaround, the fix is available in 2023.12.2 PLUS version (will be available in CORE in the next release).
Checked it with provided phone number - it does add remove one 9 from the phone number.
GET /api/contacts/check-exists?phone=11231231231&session=default

{
  "numberExists": true,
  "chatId"<EMAIL_ADDRESS>}

Added a note about Brazilian phone numbers here:

https://waha.devlike.pro/docs/how-to/contacts/#check-phone-number-exists
https://waha.devlike.pro/docs/how-to/send-messages/#chatid

Note for Brazilian Phone Numbers
You should use the GET /api/contacts/check-exists endpoint before sending a message to a new phone number
to get the correct chatId because of the additional 9-digit number added after 2012.
It's fine to send the response to chatId for incoming messages, though - the payload already has the correct chatId.

<off-topic>
About a year ago I wished to have detailed issues in the repo... My dream came true, it's a New Year gift!  :laughing:
https://github.com/devlikeapro/whatsapp-http-api/issues/27#issuecomment-1322080949
Thank you @arielpts for the such detailed issue, it's pleasure to see and fix that - you've done all work yourself, so it's safe to assume you've fixed the issue :+1:
Obrigado!
</off-topic>


feat: add ignoreUndefinedProperties option

This adds an optional setting to ignore nested undefined values in all API calls that accept user data.
Fixes https://github.com/googleapis/nodejs-firestore/issues/1031

This is great. Thanks.
Pretty cool how battle tested such a minor feature is.
To be honest I’m far in love with the nodejs sdk compared to the browser sdk. The browser sdk is quite shallow and a pain to use.  I hope someday this sdk will be usable in the browser too with the same api. The api is well thought out.

Just FYI: listCollectionIds() and listDocuments() require Service Account credentials and are not callable with the Firebase user accounts that the Web SDK uses for authentication. For this reason, listCollectionIds() is not available in the Web SDK.
Thank you for your kind words.

Sorry for the delayed review!

@schmidt-sebastian Might be a silly question, but how do I enable this option? I am using firebase-admin and I cannot find a way to enable it, but I am getting:
Error: Value for argument "data" is not a valid Firestore document. Cannot use "undefined" as a Firestore value (found in field "progress.test"). If you want to ignore undefined values, enable `ignoreUndefinedProperties`.

Which means that this feature should already be working.

@kladnik See the following:
const firestore  = admin.firestore();
firestore.settings({ignoreUndefinedProperties:true});

Make sure that you have installed the latest version of @google-cloud/firestore. You may have to remove your package-lock.json and your node_modules folder.

@schmidt-sebastian Thanks! Might be good to add this example in the docs somewhere, so it will help others aswell.

@schmidt-sebastian , totally agree with @kladnik .
I was really happy that you solved this after spending two hours how to fix the problem until realizing it is not working somehow.
then took one more hour to find out that solution actually requires deletion of those two.


import android.support.design.widget.CoordinatorLayout;

Having difficulties getting my project to build on Android when using this plugin.
The forth line of the AdMob.java file has this line:
import android.support.design.widget.CoordinatorLayout;
with an error on design saying cannot resolve symbol 'design' and a build error of error: package android.support.design.widget does not exist
I've added this line to my build.gradle file and it's made no difference.
implementation 'com.android.support:design:28.0.0'
I'm having to use AndroidX due to another plugin but migrating using the migrate function in Android Studio doesn't help.
Any thoughts? Is this long term issue or just my mistake somewhere (I have a web dev and iOS Swift background so building Android projects is quite alien to me, hence using Ionic)
Thanks

I had the same issue after migrating to AndroidX. You would want to use new classes and artifacts. You can find mappings here.
That line you referred to in particular should be
import androidx.coordinatorlayout.widget.CoordinatorLayout;
And in admob gradle
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'

Thanks for this, seems to have gotten me a step closer (and also helped me find the AdMob Gradle files - shift shift if my friend!)
Now I have 5 errors in from MainActivity.java file on build:
error: cannot access AppCompatActivity
class file for androidx.appcompat.app.AppCompatActivity not found
error: method does not override or implement a method from a supertype
error: cannot find symbol variable super
error: cannot find symbol class AdMob
error: cannot find symbol variable this

Make sure you have proper dependencies in your gradle
implementation 'androidx.appcompat:appcompat:1.1.0'

Awesome, nearly there I think, now I just get the one error
error: cannot find symbol class AdMob from the line the docs say to add in the mainActivity add(AdMob.class);  // Add AdMob as a Capacitor Plugin

It also says to import it. Did you?
import app.xplatform.capacitor.plugins.AdMob;

Whoops, missed that line. it now builds but dies immediately with errors around finding: android.support.design.widget.CoordinatorLayout looks like it is still looking for the pre AndroidX package. I've tried running Migrate to AndroidX but that's doesn't seem to want to run/can't find anything.
2020-03-24 17:27:37.265 6799-6799/com.skbarker.calwod E/AndroidRuntime: FATAL EXCEPTION: main     Process: com.skbarker.calwod, PID: 6799     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.skbarker.calwod/com.skbarker.calwod.MainActivity}: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)         at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)         at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)         at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)         at android.os.Handler.dispatchMessage(Handler.java:106)         at android.os.Looper.loop(Looper.java:193)         at android.app.ActivityThread.main(ActivityThread.java:6669)         at java.lang.reflect.Method.invoke(Native Method)         at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)      Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout      Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout      Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.design.widget.CoordinatorLayout" on path: DexPathList[[zip file "/data/app/com.skbarker.calwod-GvHxGyN-CFiO0FgM1s7RGA==/base.apk"],nativeLibraryDirectories=[/data/app/com.skbarker.calwod-GvHxGyN-CFiO0FgM1s7RGA==/lib/x86, /system/lib]]         at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)         at java.lang.ClassLoader.loadClass(ClassLoader.java:379)         at java.lang.ClassLoader.loadClass(ClassLoader.java:312)         at android.view.LayoutInflater.createView(LayoutInflater.java:606)         at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)         at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)         at android.view.LayoutInflater.inflate(LayoutInflater.java:492)         at android.view.LayoutInflater.inflate(LayoutInflater.java:423)         at android.view.LayoutInflater.inflate(LayoutInflater.java:374)         at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)         at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)         at com.getcapacitor.BridgeActivity.init(BridgeActivity.java:56)         at com.skbarker.calwod.MainActivity.onCreate(MainActivity.java:17)         at android.app.Activity.performCreate(Activity.java:7136)         at android.app.Activity.performCreate(Activity.java:7127)         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)         at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)         at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)         at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)         at android.os.Handler.dispatchMessage(Handler.java:106)         at android.os.Looper.loop(Looper.java:193)         at android.app.ActivityThread.main(ActivityThread.java:6669)         at java.lang.reflect.Method.invoke(Native Method)         at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Feel like you are slowly dragging my butt to the finish line 😀

You also need to change it in your XML. CTRL+SHIFT+F can help you. This and other class mappings are here.
For the one you have, you need to change
android.support.design.widget.CoordinatorLayout
to
androidx.coordinatorlayout.widget.CoordinatorLayout

Ah man, that's got it - thank you so much. I really had no idea there would be so much work to get this to compile for Android, think I might take a crash course in Android Development to work through these kinds of issues. On iOS it could not have been simpler!
You are a super hero, is there someway I can thank you? Amazon/iTunes/Google voucher? Toilet paper? (hopefully you get that COVID-19 reference, I'm not a weirdo!)

Glad it worked, you are welcome!

Hey @rdlabo can you update the module to use AndroidX dependencies? i have to make these changes everytime I do a build and sync with android.

i did the hole process and i could exxport my app but, when i install my app fails

wow working like a charm, you are a super hero @LeXXik

@mukeshsolanki Yes. Please check this commit log: https://github.com/rdlabo/capacitor-admob/commit/6fc18b493a1704612b8e63404662bfb68837c032

implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'

where we need to add this ???

Hello, My name is Jatinder, I have implemented capacitor-adMob plugin in ionic+react app. and follow all process you have mentioned in this issues list. but i have facing a issue.please help me.
jave.lang.NullPointerException:
Attempt to invoke virtual method 'void
android.view.ViewGroup.addView(android.view.View)'  on aa null object reference at app..xplatform.capacitor.plugin.AdMob$2.run(AdMob.java:207)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler:java95)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6338)
at java.lang.reflect.method.invoke(Native Method) at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)

sincerely i am lost, i am stocked in this same issue.
where do i add implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0' ??

Open android folder in android stuido
under the gradle scripts
build.gradle(module.app)

@shinesamuel90 thanks for ur response, i have updated that, i still have the following error when i try to build.
package does not exists -  android.support.design.widget.CoordinatorLayout

change android to andridx
//import android.support.design.widget.CoordinatorLayout;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
in AdMob class

import androidx.coordinatorlayout.widget.CoordinatorLayout;
I am also getting same issue

I am facing the same problem. After do that https://github.com/rahadur/capacitor-admob/issues/35#issuecomment-603425302
before:
.../node_modules/capacitor-admob/android/src/main/java/app/xplatform/capacitor/plugins/AdMob.java:4: error: package android.support.design.widget does not exist
import android.support.design.widget.CoordinatorLayout;

after:
.../node_modules/capacitor-admob/android/src/main/java/app/xplatform/capacitor/plugins/AdMob.java:4: error: package androidx.coordinatorlayout.widget does not exist
import androidx.coordinatorlayout.widget.CoordinatorLayout;

There's a npm to help update plugins to android X  https://github.com/mikehardy/jetifier
npm install jetifier
npx jetify
npx cap sync android

I am using an Ionic bundle and and the App still crashed after following the steps above:.

Adding to build.gradle (capacitor-admob):

implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0'

Replaced the CoordinatorLayout import in AdMob.java :

android.support.design.widget.CoordinatorLayout

with
androidx.coordinatorlayout.widget.CoordinatorLayout

The App crashed on startup but this solved the issue:

npm install jetifier
npx jetify

Hope it helps.

Were you able to get it to actually show ads?  I spent quite awhile but couldn't get it working.

Were you able to get it to actually show ads? I spent quite awhile but couldn't get it working.

Yes, it works for me.

Thanks a million it works

roidx.coordinatorlayout:coordinatorlayout:1.1.0'

i already have correct configuration but not working getting same error


use sha256 instead of md5 when possible

None of these uses are being used for any form of security so an md5 works fine. It's fast and appropriate for the simple fingerprinting uses that it is used for here, to the best of my knowledge. Unless you can point to articles that show security flaws related to the specific uses here, I'll pass on this.


Filtering / Sorting doesn't work with fetchData

I'm trying to switch from using hardcoded data array to pulling this from the server with pagination, but then filter and sorting don't work.
Do filters and sorting need to be applied to the collection on the server? or should this still work as it did before with hardcoded data? #

Filters and sorting are expected to happen server side, because if you have 1000 records and only display 100 at a time, users will often expect to be searching through the other 900 to.
If you have a different use case regarding filtering or sorting, create a parent component in which you deal with the data fetching, and pass it on to the table component.


NETOBSERV-1190: use DNS latency instead of timestamps

lots of dependencies that need to be merged before we get to this PR
we need https://github.com/netobserv/network-observability-operator/pull/395and its dependencies merged then
https://github.com/netobserv/network-observability-console-plugin/pull/355

/ok-to-test

Some stuff to change, but I guess that @jpinsonneau will take over this PR anyway

we can get this in and when @jpinsonneau comes back he will take it from here and add the additional pieces

/lgtm

/approve


Unicode icon does not render properly in Windows

Unicode icons: https://github.com/dragfire/leetup/blob/master/src/icon.rs
Some ideas:
https://github.com/leetcode-tools/leetcode-cli/blob/master/icons/ascii.json
https://github.com/leetcode-tools/leetcode-cli/blob/master/icons/win7.json
Will need to have a fallback for command prompt!

@dragfire I think the icon works fine on my terminal, I am using Windows Terminal Preview + PowerShell 7 + Cascadia code:

That's good to hear. I hope no one is using Command Prompt!


Run final bootstrap benchmarking using daemon with 625,000 wallet baked image

This task is to document deploying and testing bootstrap on a testnet that uses a baked Mina image container ledger a ledger size of 625,000 accounts.

Adding note to remember to also run bootstrap iteration with external nodes that have network impairment. This can be done using the open source project "comcast": https://github.com/tylertreat/comcast

This item is completed. After a second deployment of the testnet, it is confirmed that Mina daemon becomes unstable after entering the third epoch, resulting in a crash with crashlog outputs. From this point, the testnet will be redeployed with a lower number of accounts within the networks baked ledger - to find the point at which the network begins to fail.
Because there is no plan to redeploy with the failing ledger size of 625,000 wallets, this specific work is considered complete.


Adding or subtracting a year from current one.

Hi,
I'm going to customize this library. I don't want change year after changing slider. It also feel be good way for adding and subtracting a year from current.

I added two button on top of calendar bar in Calendar class.
`<View style={{flexDirection: 'row',backgroundColor:'#d8d8d8'}}>
      <Awesome name='angle-left' onPress={()=> this._previousYear()} size={30} color='#000' style={styles.iconLeft}/>

      <TouchableHighlight
          activeOpacity={this.state.stage !== YEAR_SELECTOR ? 0.8 : 1}
          underlayColor={barStyle ? barStyle.backgroundColor : 'transparent'}
          style={[styles.barView, this.props.barView]}>
        <Text style={this.props.barText}>
          {this._stageText()}
        </Text>
      </TouchableHighlight>

      <Awesome name='angle-right' onPress={()=> this._nextYear()} size={30} color='#000'  style={styles.iconLeft}/>
    </View>`

I want when i tap on next and previous button i need to change year calendar view. I tried a lot but no luck. If you have any way please let me know.

I am having a really hard time understanding your problem. Please create a new issue with a more detailed explanation of what you would want to achieve. Also, please keep in mind that you can also patch the code and then submit a pull request.


WIP / Preview: Mesh Timeseries Output

⚠ WIP / PREVIEW - DO NOT MERGE (yet)
⚠ Target branch currently set to feature/summary-output. Change to main after #52 is merged.

Closes:

#44
#45

Adds ability to read 2D mesh timeseries data as xarray DataArray and Dataset objects

Notes

DataArray is returned if reading a single timeseries output variable, e.g., plan_hdf.mesh_timeseries_output("MeshName", "Water Surface")

Dataset is returned if reading out multiple timeseries output variables, e.g., plan_hdf.mesh_timeseries_output_cells("MeshName"), plan_hdf.mesh_timeseries_output_faces("MeshName")
Note that output variables based on mesh cells are incompatible with outputs based on mesh faces, since they are based on different array indices

If dask is installed, DataArray/Dataset objects are based on Dask arrays. If not, default to numpy arrays.

When an array is read from the HDF, rashdf will set the dask array chunk size to match the HDF chunk size. I don't know if it's optimal to let the user set the dask array chunk size upfront.

I looked into Xvec  a little bit to see if we could export geometry-aware Datasets / DataArrays. Seems possible, but with only two releases Xvec doesn't seem very mature yet. Importantly, doesn't seem like Xvec Datasets / DataArrays could be easily saved to disk.

Relevant issues with lengthy discussion:

https://github.com/xarray-contrib/xvec/issues/26
https://github.com/xarray-contrib/xvec/issues/48

Examples
Read cell water surface output as DataArray
>>> from rashdf import RasPlanHdf, TimeSeriesOutputVar
>>> plan_hdf.mesh_area_names()
['BaldEagleCr', 'Upper 2D Area']
>>> # read out a DataArray for a single timeseries output variable
>>> ws = plan_hdf.mesh_timeseries_output("BaldEagleCr", TimeSeriesOutputVar.WATER_SURFACE)
>>> ws  # note below that this is a dask-based DataArray, since dask was installed
<xarray.DataArray 'BaldEagleCr - Water Surface' (time: 37, cell_id: 3359)> Size: 497kB
dask.array<getitem, shape=(37, 3359), dtype=float32, chunksize=(12, 3359), chunktype=numpy.ndarray>
Coordinates:
  * time     (time) datetime64[ns] 296B 1999-01-01T12:00:00 ... 1999-01-04T12...
  * cell_id  (cell_id) int64 27kB 0 1 2 3 4 5 ... 3353 3354 3355 3356 3357 3358
Attributes:
    mesh_name:  BaldEagleCr
    variable:   Water Surface
    units:      ft
>>> # select the output for a single cell
>>> ws.sel(cell_id=123)
<xarray.DataArray 'BaldEagleCr - Water Surface' (time: 37)> Size: 148B
dask.array<getitem, shape=(37,), dtype=float32, chunksize=(12,), chunktype=numpy.ndarray>
Coordinates:
  * time     (time) datetime64[ns] 296B 1999-01-01T12:00:00 ... 1999-01-04T12...
    cell_id  int64 8B 123
Attributes:
    mesh_name:  BaldEagleCr
    variable:   Water Surface
    units:      ft
>>> # return the values for a single cell
>>> ws.sel(cell_id=123).values
array([537.2959 , 537.2959 , 537.2959 , 537.2959 , 537.2959 , 537.2959 ,
       537.2959 , 537.2959 , 537.2959 , 537.2959 , 537.2959 , 537.2959 ,
       537.2959 , 537.2959 , 537.2959 , 537.2959 , 537.2959 , 537.2959 ,
       537.2959 , 537.2959 , 537.2959 , 537.39996, 543.78345, 546.0193 ,
       547.2876 , 548.71246, 549.9208 , 550.59985, 550.90826, 550.9861 ,
       550.92456, 550.7785 , 550.5764 , 550.3424 , 550.0916 , 549.85077,
       549.6207 ], dtype=float32)
>>> # check out the time dimension
>>> ws.time
<xarray.DataArray 'time' (time: 37)> Size: 296B
array(['1999-01-01T12:00:00.000000000', '1999-01-01T14:00:00.000000000',
       '1999-01-01T16:00:00.000000000', '1999-01-01T18:00:00.000000000',
       '1999-01-01T20:00:00.000000000', '1999-01-01T22:00:00.000000000',
       '1999-01-02T00:00:00.000000000', '1999-01-02T02:00:00.000000000',
       '1999-01-02T04:00:00.000000000', '1999-01-02T06:00:00.000000000',
       '1999-01-02T08:00:00.000000000', '1999-01-02T10:00:00.000000000',
       '1999-01-02T12:00:00.000000000', '1999-01-02T14:00:00.000000000',
       '1999-01-02T16:00:00.000000000', '1999-01-02T18:00:00.000000000',
       '1999-01-02T20:00:00.000000000', '1999-01-02T22:00:00.000000000',
       '1999-01-03T00:00:00.000000000', '1999-01-03T02:00:00.000000000',
       '1999-01-03T04:00:00.000000000', '1999-01-03T06:00:00.000000000',
       '1999-01-03T08:00:00.000000000', '1999-01-03T10:00:00.000000000',
       '1999-01-03T12:00:00.000000000', '1999-01-03T14:00:00.000000000',
       '1999-01-03T16:00:00.000000000', '1999-01-03T18:00:00.000000000',
       '1999-01-03T20:00:00.000000000', '1999-01-03T22:00:00.000000000',
       '1999-01-04T00:00:00.000000000', '1999-01-04T02:00:00.000000000',
       '1999-01-04T04:00:00.000000000', '1999-01-04T06:00:00.000000000',
       '1999-01-04T08:00:00.000000000', '1999-01-04T10:00:00.000000000',
       '1999-01-04T12:00:00.000000000'], dtype='datetime64[ns]')
Coordinates:
  * time     (time) datetime64[ns] 296B 1999-01-01T12:00:00 ... 1999-01-04T12...

 I recently ran into this issue dealing with large raster datasets and was able to get by using rioxarray: https://corteva.github.io/rioxarray/html/rioxarray.html#rioxarray.raster_dataset.RasterDataset.to_raster.
Using the windowed parameter of the .to_raster() method writes the xarray DataArray to disc in the same size as it was chunked when first being read.

Just one comment on the mentioned topic of saving DataArrays to disc. I recently ran into this issue dealing with large raster datasets and was able to get by using rioxarray: https://corteva.github.io/rioxarray/html/rioxarray.html#rioxarray.raster_dataset.RasterDataset.to_raster.
Using the windowed parameter of the .to_raster() method writes the xarray DataArray to disc in the same size as it was chunked when first being read.

Gotcha. I've used rioxarray as well. Since this isn't raster data I think we have to write out to Zarr or another format. I hope that Xvec continues to be developed since their data model seems like it would be ideal for our use case.


Can not create multiple queries with the same name

When I try to use the same query name, with different arguments, I get a an exception
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [graphql.schema.GraphQLSchema]: Factory method 'schema' threw exception; nested exception is java.lang.IllegalStateException: Not all resolvers expect the same source types
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.3.11.RELEASE.jar:4.3.11.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.3.11.RELEASE.jar:4.3.11.RELEASE]
	... 67 common frames omitted
Caused by: java.lang.IllegalStateException: Not all resolvers expect the same source types
	at io.leangen.graphql.metadata.strategy.query.DefaultOperationBuilder.resolveContextTypes(DefaultOperationBuilder.java:77) ~[spqr-0.9.3.jar:na]
	at io.leangen.graphql.metadata.strategy.query.DefaultOperationBuilder.buildQuery(DefaultOperationBuilder.java:34) ~[spqr-0.9.3.jar:na]
	at io.leangen.graphql.generator.OperationRepository.lambda$buildQueries$39(OperationRepository.java:38) ~[spqr-0.9.3.jar:na]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_112]
	at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1691) ~[na:1.8.0_112]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_112]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_112]
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_112]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_112]
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_112]
	at io.leangen.graphql.generator.OperationRepository.buildQueries(OperationRepository.java:39) ~[spqr-0.9.3.jar:na]
	at io.leangen.graphql.generator.OperationRepository.<init>(OperationRepository.java:31) ~[spqr-0.9.3.jar:na]
	at io.leangen.graphql.GraphQLSchemaGenerator.generate(GraphQLSchemaGenerator.java:685) ~[spqr-0.9.3.jar:na]
	at io.committed.BaleenGrahpQl.schema(BaleenGrahpQl.java:43) [classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_112]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_112]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_112]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_112]
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.3.11.RELEASE.jar:4.3.11.RELEASE]
	... 68 common frames omitted

It looks like this is when mixing context and argument based queries, for example:
  @GraphQLQuery(name = "relations")
  public List<Relation> getByDocument(@GraphQLArgument(name = "documentId") @GraphQLId String id) {
    return relations.findByDocId(id);
  }

  @GraphQLQuery(name = "relations")
  public List<Relation> getRelations(@GraphQLContext Document document) {
    return getByDocument(document.getId());
  }

maybe this is not allowed?

You are right. Currently, if one of the resolver methods has a @GraphQLContext  attribute, all the resolvers must have the same.
This is actually a needless and unintuitive limitation, and I have already made the changes to fix it, but haven't yet pushed them. I'll resume the work in about 10 days.

@kaqqao Any news on this? I am being bitten by this too, but in a slightly different way:
  @GraphQLQuery(name = "children")
  public List<A> childrenOfA(@GraphQLContext A a) {
    return singletonList(new A(2));
  }

  @GraphQLQuery(name = "children")
  public List<B> childrenOfB(@GraphQLContext B b) {
    return singletonList(new B(2));
  }

Even having the same name on a field under a context fails with the same error.

Fixed in master now :) Please verify it works for you if you can. If not, I just need to fix one more issue and I'll release 0.9.4. After that I'll start the work on moving SPQR to the latest graphql-java.

I'm aiming to release v0.9.4 (containing this fix) tomorrow.


Implement http dynamic relay module

In opposite of the http_static module, the list of services should be changeable at runtime. Preferable via an REST JSON API (see the Wiki).

I've updated the spec to reflect Moe's suggestion.  The register and deregister operations now expect the same JSON request payload.
https://github.com/simia-tech/rust-delix/wiki/HTTP-API--|-Registration

I've spent more time reading the existing code. Currently ServiceMap assumes that each local service name has one and only one handler.  I think that's fine for now.
However, it means that the service name is the key for dynamic http register and deregister operations on a given node.  If you register the same service name twice, the 2nd registration will replace the first.
This also means there's no wall between static and dynamic registrations.  If I define a "UserService" in static configuration, and then dynamically register a "UserService" on the same server, the dynamic registration will replace the static one.
I don't think this is ideal behavior, but I think we should address it separately.  My short term plan is to add dynamic service registration support, which will effectively call into the same node.register() method that http_static.rs calls.
I will probably also refactor the closure in HttpStatic.add_service that does the message deliver to the target HTTP endpoint, as that behavior is the same.  It doesn't matter if the service was statically or dynamically added.
Of course all of this assumes I can figure out enough Rust!   If I get something working I'll push an in-progress branch so that I can get some help cleaning it up before we merge it.
How does this sound?

This also means there's no wall between static and dynamic registrations. If I define a "UserService" in static configuration, and then dynamically register a "UserService" on the same server, the dynamic registration will replace the static one.

My argument here was not that it's impossible, I just think it's not the best usability. If I imagine being a user of delix and set up something in the config file, I'd expect it to be there all the time. And not removed or replaced.
The other thing is the implementation. Currently, http_static works on the TCP level and does not interpret the HTTP request much. That way you can use delix as a distributed haproxy - which could be a very interesting use case. That would be different when a API is added.
I'm still open to the dynamic idea and I'll try to help if needed. I just think the concepts and goals are currently to different to put it in one module.

I understand your opinion about static vs dynamic.  When I dug into the implementation I found that the routing work is unrelated to the relay.  It's happening in node/servicemap.
So we would need to change that if we wanted to wall the static and dynamic implementations from each other right?

I don't think the routing has to changed for the dynamic module. But I could be wrong. It should be already possible to register a service on Node at runtime (and after the Node switch to the Joined state.
I suggest just copy the http_static.rs and change the bind method to set up some hyper server that handles the API endpoints. The loader.rs would have to be extended to recognise a http_dynamic relay type.

I gave it some more thoughts and might found a way to satisfy both (static and dynamic) needs. The list of local services could be stored in a JSON file which acts as a database. That way, the service list could be edited with a simple text editor and could also be changed via an API. After API calls delix could simply rewrite the JSON file. What do you think?

Ok, a simple API has been implemented. Docs will follow.


The javascript Component instance example is obtuse and difficult to understand

The component instance example do not use real world examples, where does dotNetHelper come from and how do I use it in a javascript function?
Why would I want to send static information back to a blazor function? How do I use this with dynamic data?
Should I use dotNetHelper.invokeMethodAsync(), or does that not work with component instance calls?

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

ID: 2964d558-cd6d-7421-f7b9-cb939792c2cf
Version Independent ID: a3517e56-69fc-1ec7-b55a-dbb54d68a807
Content: Call .NET methods from JavaScript functions in ASP.NET Core Blazor
Content Source: aspnetcore/blazor/javascript-interoperability/call-dotnet-from-javascript.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @bar10dr ... We feel that our C# examples (contrived to be simple, I admit) are "real world" examples. I mean devs won't call .NET methods in any other way than this topic shows for production app purposes. However, I would like to hear more feedback from you on what you mean by "real world." What did you have in mind? Whatever they might be, they would use the same approaches that you see here, but we can consider further examples or using other examples than these.

where does dotNetHelper come from

The DotNetObjectReference is created at objRef = DotNetObjectReference.Create(this); as objRef to pass via JS.InvokeAsync in the example. In the topic, it states ...

When the Trigger .NET instance method button is selected, the JS function sayHello1 is called with the DotNetObjectReference.

On the JS side, you don't need to call it "dotNetHelper" ... you can name the variable anything u wish.
I generally need to work thru these descriptions again and be a bit more careful that the example code is connected to the text's concepts. Because of a little bit of complexity in these examples, it looks like the text should be a bit more detailed. I'll work on that for this issue.

how do I use it in a javascript function?

I'm a bit confused by the question. It's just dotNetHelper.invokeMethodAsync('{METHOD}'); It's described there. Of course, I'll take another look 👁 and work on the text a bit more. Further if the object reference doesn't dispose itself, you should call dotnetHelper.dispose(); to take care of the disposal from the JS-side. There's content and examples on that, too.

Why would I want to send static information back to a blazor function?

Instead of "Blazor function," we just refer to the JS function. It's a bit confusing because these are ordinary JS functions. Anyway, that's up to you for any purpose really. Perhaps, the JS must perform some other processing ... perhaps to make another .NET method call after that ... or perhaps to log something for the console.

How do I use this with dynamic data?

You'd have to clarify the scenario.

Should I use dotNetHelper.invokeMethodAsync() ... component instance calls?

Yes, that's covered in the text+examples at ...
https://docs.microsoft.com/aspnet/core/blazor/javascript-interoperability/call-dotnet-from-javascript?view=aspnetcore-6.0#component-instance-net-method-helper-class
Leave this open, @bar10dr._ I would like to work on these descriptions a bit more. I know you probably find this hard to believe, but the topic has had perhaps two rounds of prior work to improve the text and example ... like about once a year over the past few years. They were much worse than what you see today. 🙈 However, I certainly will make another pass on this. Note that we have a lot of high priority work going on right now. It can take a while to get to an issue like this. It won't be lost ... it's on the Blazor.Docs tracking project, so it won't disappear into a black hole! 😄 Anyway ... leave this issue open ... it will close automatically later after the PR merges. Thanks for commenting on the topic.

Thank you for a great response @guardrex .
I'm misunderstanding how it works I think 😋
Specifically for the component instance examples, it seems to me like I have to trigger it from blazor by passing DotNetObjectReference<> to a js function from within blazor and bring back data; but I need the call to originate from a custom javascript so there is no DotNetObjectReference<> available.
I guess I can make a call to the script at page load, pass DotNetObjectReference<> and store it in the js for later use, or is that not recommended?
Thank you for your great work, I love Blazor.

Ah! Yes, I see what you mean now. For the instance case, any given JS function requires the DotNetObjectReference, but you want it to be available for JS functions by, for example, creating and passing it from OnAfterRenderAsync (the lifecycle method) ... noting also that you'd make sure to dispose of it, probably on the .NET side when the component is disposed. Very good. I have an idea how it would be done, but let me send my idea to the product unit and get back to you. I agree with you ... we're missing the example of how to do this ... whatever it is 😄. Let me verify either my concept or get the correct approach. I'll message you back here, then I'll work this issue forward on two counts ...

Some of the descriptions that tie text to code examples need a little more descriptive detail to clarify concepts.
We don't have an instance DotNetObjectReference-approach for JS functions that avoids passing the reference directly from a .NET method (e.g., we don't show an approach passing it via OnAfterRenderAsync). We should have an example and explanation.

Stand-by ... I'll get back to you as soon as I chat with Steve about this. Hopefully, you'll hear back from me early this week.

@bar10dr ... Great! Yes, you were correct, and here's my concept with some code updates that Steve recommended. I'll use the following as the basis for a doc update later ...
class MyHelpers {
  static dotNetObject;

  static setDotNetObjectReference(value) {
    MyHelpers.dotNetObject = value;
  }

  static async sayHello() {
    const msg = await MyHelpers.dotNetObject.invokeMethodAsync('GetHelloMessage');
    alert(`Message from .NET: "${msg}"`);
  }
}

Pages/NewJSExample.razor:
@page "/new-js-example"
@implements IDisposable
@inject IJSRuntime JS

<PageTitle>New JS Example</PageTitle>

New JS Example

        Message: <input @bind="name" />

    <button onclick="sayHello()">
        Trigger JS function
    </button>

@code {
    private string? name;
    private DotNetObjectReference<Index>? objRef;

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            objRef = DotNetObjectReference.Create(this);
            await JS.InvokeVoidAsync("MyHelpers.setDotNetObjectReference", objRef);
        }
    }

    [JSInvokable]
    public string GetHelloMessage() => $"Hello, {name}!";

    public void Dispose()
    {
        objRef?.Dispose();
    }
}

WRT calling await base.OnAfterRenderAsync(firstRender);, which I see some devs doing, he said ...

We try to avoid making people call base on ComponentBase virtual methods. They can call it if they want, but it’s a no-op.

I'll probably check and see what we say in the Lifecycle doc about that and possibly add/change text on that as part of this work.
WRT disposal ... Steve mentioned how important it is to dispose, so I think we'll want to re-iterate the importance of doing it after the new example and cross-link to the text that speaks to disposal.
WRT when I can get to this for doc work ... I'm VERY 🏃😅 at the moment, so it will likely take a little while to reach this. However, this issue is attached to the topic. Doc readers can find it via the link at the bottom of the topic to issues for the doc.
Leave this issue open. It will close automatically later when the PR merges. Thanks for your issue, @bar10dr. I'm glad that we'll cover this approach and look forward to making a general round of text updates to clarify the scenarios further.


Missing Chips Input Component

http://materializecss.com/chips.html
Chips has the ability to work as a text input tagging system with optional autocomplete.

Basic implementation of chips component finished. Bug fixes and potential API changes may need to happen after more usage.


We're sorry but Dashboard for APISIX doesn't work properly without JavaScript enabled. Please enable it to continue.

When the project runs after build, "We're sorry but Dashboard for APISIX doesn't work without JavaScript enabled. Please enable it to continue."
The browser supports script, so it is normal to run the server directly.

This issue occurred on your server side, whenever you are trying to preview the PAGE html, it will show this tip.

Please check your server configuration carefully, or I could help you by screen sharing when you have time.

@juzhiyuan I have the same issue now, How did you fixed it?

This page will always be shown whenever we preview it in the development tool, could you please some screenshot or more detailed info?

@juzhiyuan Right now I have install the dashboard follow the guide on Github,

and set the  allow_admin for ip address already, but I can not access the dashboard.

Not sure what happened but looks like the issue is related with your server configuration 🤔 Manager API issue should get help from @gxthrj


Dynamically generated argument arrays

SwiftShell uses variadic arguments all over the place, making it unfrienfly for dynamically generated commands since Swift currently doesn't support splatting arrays. The only workaround is to build up a string and use run(bash:).
It'd be nice if SwiftShell also supported array arguments for all methods that currently accept only variadic. Thanks!

But SwiftShell supports splatting arrays. This should work:
let array = ["But", "we", "are"]
try runAndPrint("echo", array, array.count + 2, "arguments")
// echo But we are 5 arguments

Ah, sorry I missed that. Thank you.


Create Schema Design

Finished Schema design, see git branch ____, waiting for @jfoskin approval to move to done column.


Fixing errors in shell.nix

Please follow this template, if applicable.
Description
Provide a short description of the changes your PR introduces.
This includes the actual feature you are adding,
as well as any other relevant additions that were necessary to implement your feature.
Usage
When adding a widget or anything else that affects the configuration,
please provide a minimal example configuration snippet showcasing how to use it and
Showcase
When adding widgets, please provide screenshots showcasing how your widget looks.
This is not strictly required, but strongly appreciated.
Additional Notes
Anything else you want to add, such as remaining questions or explanations.
Checklist
Please make sure you can check all the boxes that apply to this PR.

[x] All widgets I've added are correctly documented.
[x] I added my changes to CHANGELOG.md, if appropriate.
[x] The documentation in the docs/content/main directory has been adjusted to reflect my changes.
[x] I used cargo fmt to automatically format all code before committing

This should be obsoleted by #327


External SD Card

Hi
just saw your nice project and made some test. It is only possible to access the app directory and external storage on the internal sd storage (memory)
But it is not possible to access removable media like an external storage sd card ?
I think this is only possible with Scoped Directory Access ? I tried to figure this out but i do not have a real solution yet.
maybe you could add these features to access removable storage too ? its possible since api 24 i guess
greets
frank

External Dir (sd card ) in OS 6 and above have prob to delete files and folder.
Hope you soon add this.


[BEAM-5605] Ensure that split calls are routed to the active bundle processor for the bundle id.

Maintain a mapping from bundle id to active bundle processor.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @boyuanzz @sunjincheng121

Run Java PreCommit


feat(lane_change): separate execution and cancel safety check param

Description
Separating the parameters for safety check during lane change execution and lane change cancel.
THE FOLLOWING NEEDS TO BE MERGE FIRST: https://github.com/autowarefoundation/autoware_launch/pull/626
Tests performed

Not applicable.
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[X] I've confirmed the contribution guidelines.
[X] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

No degradation occured: 1689/1691 failed scenarios are not lane change.


"Berghin" is listed in the drop-down menu

Description:
When user writes "Berghin" the location appears in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Berghin"

Expected results
The location appears in the drop-down menu as "Berghin, Alba"


Add submitter annotations to QC report

Closes #413
This PR started as just adding a heatmap for comparing with submitter annotations to the QC, but I ended up adding submitter annotations throughout the QC report to mirror SingleR and CellAssign! The one thing I did not do the same for submitter annotations is convert any of its NA values to "Unknown cell type," since those would be cells that the submitter didn't even touch.
For developing this, I had to tweak an SCE manually to have all expected content; the SCEs we have run CellAssign on do not have submitter annotations, so we didn't have an object ready to go. Rather than running CellAssign (I mean, right?!), I used SCPCL000295 since it has SingleR and CellAssign but I directly modified the processed sce to have all the parts  as follows:

Changed UMAP names to "UMAP1" to and "UMAP2", to match what the workflow would export now
Manually added "submitter" as one of the cell type methods in the metadata
Manually added "submitter_celltype_annotations" as sample(LETTERS[1:7]), so dont interpret the submitter plots too much besides the fact that they render! The submitter UMAP, for example, is just confetti 🎨

I also fiddled a decent amount with the printed text to try and get the right logic depending on which cell type we have or not. Reviewers, please check my eval =  in the celltype report chunks!
Here's the report!
qc_report.html.zip

I've responded to reviews as follows:

Moved "Unclassified cell" sentence to above the submitter table
Updated the heatmap header as suggested (I did it myself, not with the suggestion)
For the title - the title in ComplexHeatmap() just becomes the legend title (boo), so here's how I handled this:

I added an argument to the heatmap function for where the column label should be placed. By default, it's on the bottom, but for these two plots I overrode this and placed the column label on the top. I added a bit more space with a <br> too, and I think they are clearly distinguished now!

Here's the report:
qc_report.html.zip


Drop support for PHP <7.3

Only removed the conditions that execute different code for PHP <7.3.

Meant to create in my fork, sorry.


Cannot read property 'CONTAIN' of undefined.

If I install the package and do whatever mentioned in the npm documents , then I got error  undefined Unable to resolve module @react-native-media-console/reanimated  and if I remove the line- import {useAnimations} from '@react-native-media-console/reanimated'; got error -TypeError: Cannot read property 'CONTAIN' of undefined. What could fix this issue , any idea?

@dSukanta
From the docs:

Try to use<EMAIL_ADDRESS>You can also find the GitHub Docs here: https://github.com/LunatiqueCoder/react-native-media-console/tree/master/packages/media-console

@LunatiqueCoder is there anything extra installation guide for<EMAIL_ADDRESS>Because , after installation , when I reran the app , I'm getting build error - > Task :app:checkDebugDuplicateClasses FAILED

@dSukanta
I'm not sure but here are a few suggestions:

Android only:  cd android && ./gradlew clean && cd ..
iOS only: cd ios && pod install && cd ..
Delete already installed apps before building/installing again
Delete node_modules: rm -rf node_modules

What version of React Native are you using? Also, are you using Expo?

@dSukanta Here's a link to react-native-video installation docs, might be helpful: https://react-native-video.github.io/react-native-video/installation
Keep in mind they're a work in progress!

@dSukanta Also, be sure you don't have @types/react-native-video installed.


Add support for drift scan data -- ie don't force a single RA/DEC phase center

Also add support for keeping track of LSTs over observation

This is key to HERA commissioning.

read_miriad allows reading of drift scans, it just does not set ra dec
write_uvfits should error if ra and dec are not set.

Suggested phasing rule: if alt/az is set and ra/dec  are None, then its a drift scan

Added.  Format is as follows:
If set, phase_center_ra and phase_center_dec indicate tracked scan.
Otherwise, if set, zenith_ra and zenith_dec indicate drift.  Both of these are arrays even though dec is obviously a constant.
Multisource files are not supported.


Generate Guid (UUID4) - Pre-request variable

I would like to have pre-generated uuid for every request call. Since I didn't find anything in the docs about built-in variables like {{$guid}} I tried to assign var based on JS template literal. But unsuccessfully. May I ask you, for example, how literals should be defined?

Thanks @cyrilgeorge153
I came up with a similar solution with Script usage:
const { v4: uuidv4 } = require('uuid');
bru.setVar("event_id",uuidv4());
bru.setVar("event_date", new Date().toISOString());

I'll review your solution because, with mine, I'm not comfortable defining variables in a 'global' scope.

Closing this issue as it appears to be resolved. Please don't hesitate to reopen this issue if I am wrong!


Speed up the integration tests by running them in parallel on the Databricks cluster

Separate the integration tests into two parts to speed up the testing process.
"part2" includes integration tests : "cache_test, delta_lake_test, shuffle_test and pyarrow_test"  --> 3 hours
"part1" includes all other tests except for the ones in "part1" -> 1.5 hours

Run each part in parallel on separate Databricks clusters.
Originally we run part1 and part2 consequently, and all the IT takes 4.5 hours[3hours + 1.5 hours]
To run them in parallel, and on more powerful DB nodes,  only need 1.5 hours.

build

CI failed on missing TEST_MODE parameter on Jenkins CI config, added and re-trigger CI

build


Unknown props 'onToggle' warning

Hi,
I already install the Telescope and found some warning. I can see it on my browser but i can't click the dropdown, i can't click" log in" and others that connected with dropdown.
App running at: http://localhost:3000/ I20160725-19:00:00.053(7) (percolatestudio_synced-cron.js:60) SyncedCron: Starting "checkScheduledPosts". I20160725-19:00:00.061(7) (percolatestudio_synced-cron.js:60) SyncedCron: Finished "checkScheduledPosts". W20160725-19:04:51.725(7)? (STDERR) Warning: Unknown props onToggle, componentClass, block, justified, vertical, bsClasson <div> tag. Remove these props from the element. For details, see https://fb.me/react-unknown-prop W20160725-19:04:51.731(7)? (STDERR)     in div (created by ButtonGroup) W20160725-19:04:51.732(7)? (STDERR)     in ButtonGroup (created by Dropdown) W20160725-19:04:51.732(7)? (STDERR)     in Dropdown (created by Uncontrolled(Dropdown)) W20160725-19:04:51.733(7)? (STDERR)     in Uncontrolled(Dropdown) (created by UsersAccountMenu) W20160725-19:04:51.733(7)? (STDERR)     in UsersAccountMenu (created by Header) W20160725-19:04:51.733(7)? (STDERR)     in div (created by Header) W20160725-19:04:51.733(7)? (STDERR)     in div (created by Header) W20160725-19:04:51.734(7)? (STDERR)     in header (created by Header) W20160725-19:04:51.734(7)? (STDERR)     in div (created by Header) W20160725-19:04:51.734(7)? (STDERR)     in Header (created by Layout) W20160725-19:04:51.734(7)? (STDERR)     in div (created by Layout) W20160725-19:04:51.734(7)? (STDERR)     in Layout (created by App) W20160725-19:04:51.735(7)? (STDERR)     in IntlProvider (created by App) W20160725-19:04:51.735(7)? (STDERR)     in App (created by Container(App)) W20160725-19:04:51.736(7)? (STDERR)     in Container(App) (created by RouterContext) W20160725-19:04:51.736(7)? (STDERR)     in RouterContext W20160725-19:04:51.737(7)? (STDERR) Warning: Unknown propsuseAnchor, bsRole, active, navItem, navDropdown, bsStyleon <button> tag. Remove these props from the element. For details, see https://fb.me/react-unknown-prop W20160725-19:04:51.737(7)? (STDERR)     in button (created by Button) W20160725-19:04:51.737(7)? (STDERR)     in Button (created by DropdownToggle) W20160725-19:04:51.738(7)? (STDERR)     in DropdownToggle (created by Dropdown) W20160725-19:04:51.738(7)? (STDERR)     in div (created by ButtonGroup) W20160725-19:04:51.738(7)? (STDERR)     in ButtonGroup (created by Dropdown) W20160725-19:04:51.739(7)? (STDERR)     in Dropdown (created by Uncontrolled(Dropdown)) W20160725-19:04:51.739(7)? (STDERR)     in Uncontrolled(Dropdown) (created by UsersAccountMenu) W20160725-19:04:51.739(7)? (STDERR)     in UsersAccountMenu (created by Header) W20160725-19:04:51.740(7)? (STDERR)     in div (created by Header) W20160725-19:04:51.740(7)? (STDERR)     in div (created by Header) W20160725-19:04:51.741(7)? (STDERR)     in header (created by Header) W20160725-19:04:51.741(7)? (STDERR)     in div (created by Header) W20160725-19:04:51.741(7)? (STDERR)     in Header (created by Layout) W20160725-19:04:51.741(7)? (STDERR)     in div (created by Layout) W20160725-19:04:51.742(7)? (STDERR)     in Layout (created by App) W20160725-19:04:51.742(7)? (STDERR)     in IntlProvider (created by App) W20160725-19:04:51.742(7)? (STDERR)     in App (created by Container(App)) W20160725-19:04:51.742(7)? (STDERR)     in Container(App) (created by RouterContext) W20160725-19:04:51.743(7)? (STDERR)     in RouterContext W20160725-19:04:51.848(7)? (STDERR) Warning: Unknown propslayout, validationError, validationErrors, validatePristine, addonBefore, addonAfter, buttonBefore, buttonAfteron <input> tag. Remove these props from the element. For details, see https://fb.me/react-unknown-prop W20160725-19:04:51.848(7)? (STDERR)     in input (created by Input) W20160725-19:04:51.848(7)? (STDERR)     in Input (created by Newsletter) W20160725-19:04:51.848(7)? (STDERR)     in form (created by Formsy) W20160725-19:04:51.848(7)? (STDERR)     in Formsy (created by Newsletter) W20160725-19:04:51.849(7)? (STDERR)     in div (created by Newsletter) W20160725-19:04:51.849(7)? (STDERR)     in Newsletter (created by Layout) W20160725-19:04:51.850(7)? (STDERR)     in div (created by Layout) W20160725-19:04:51.850(7)? (STDERR)     in div (created by Layout) W20160725-19:04:51.850(7)? (STDERR)     in Layout (created by App) W20160725-19:04:51.850(7)? (STDERR)     in IntlProvider (created by App) W20160725-19:04:51.850(7)? (STDERR)     in App (created by Container(App)) W20160725-19:04:51.851(7)? (STDERR)     in Container(App) (created by RouterContext) W20160725-19:04:51.851(7)? (STDERR)     in RouterContext W20160725-19:04:51.940(7)? (STDERR) Warning: There is an internal error in the React performance measurement code. We did not expect componentWillMount timer to stop while ctor timer is still in progress for another instance. Please report this as a bug in React. W20160725-19:04:51.956(7)? (STDERR) Warning: Unknown propsdropup, pullRight, bsSizeon <div> tag. Remove these props from the element. For details, see https://fb.me/react-unknown-prop W20160725-19:04:51.956(7)? (STDERR)     in div (created by ButtonGroup) W20160725-19:04:51.956(7)? (STDERR)     in ButtonGroup (created by Dropdown) W20160725-19:04:51.957(7)? (STDERR)     in Dropdown (created by Uncontrolled(Dropdown)) W20160725-19:04:51.957(7)? (STDERR)     in Uncontrolled(Dropdown) (created by DropdownButton) W20160725-19:04:51.957(7)? (STDERR)     in DropdownButton (created by CategoriesList) W20160725-19:04:51.957(7)? (STDERR)     in div (created by CategoriesList) W20160725-19:04:51.957(7)? (STDERR)     in CategoriesList (created by withRouter(CategoriesList)) W20160725-19:04:51.957(7)? (STDERR)     in withRouter(CategoriesList) (created by ListContainer) W20160725-19:04:51.957(7)? (STDERR)     in ListContainer (created by PostsListHeader) W20160725-19:04:51.957(7)? (STDERR)     in div (created by PostsListHeader) W20160725-19:04:51.958(7)? (STDERR)     in div (created by PostsListHeader) W20160725-19:04:51.958(7)? (STDERR)     in div (created by PostsListHeader) W20160725-19:04:51.958(7)? (STDERR)     in PostsListHeader (created by PostsList) W20160725-19:04:51.958(7)? (STDERR)     in div (created by PostsList) W20160725-19:04:51.958(7)? (STDERR)     in PostsList (created by ListContainer) W20160725-19:04:51.958(7)? (STDERR)     in ListContainer (created by PostsHome) W20160725-19:04:51.958(7)? (STDERR)     in PostsHome (created by RouterContext) W20160725-19:04:51.959(7)? (STDERR)     in div (created by Layout) W20160725-19:04:51.959(7)? (STDERR)     in div (created by Layout) W20160725-19:04:51.959(7)? (STDERR)     in Layout (created by App) W20160725-19:04:51.959(7)? (STDERR)     in IntlProvider (created by App) W20160725-19:04:51.959(7)? (STDERR)     in App (created by Container(App)) W20160725-19:04:51.959(7)? (STDERR)     in Container(App) (created by RouterContext) W20160725-19:04:51.959(7)? (STDERR)     in RouterContext W20160725-19:04:51.960(7)? (STDERR) Warning: Unknown propnoCareton <button> tag. Remove this prop from the element. For details, see https://fb.me/react-unknown-prop W20160725-19:04:51.960(7)? (STDERR)     in button (created by Button) W20160725-19:04:51.960(7)? (STDERR)     in Button (created by DropdownToggle) W20160725-19:04:51.960(7)? (STDERR)     in DropdownToggle (created by Dropdown) W20160725-19:04:51.960(7)? (STDERR)     in div (created by ButtonGroup) W20160725-19:04:51.960(7)? (STDERR)     in ButtonGroup (created by Dropdown) W20160725-19:04:51.961(7)? (STDERR)     in Dropdown (created by Uncontrolled(Dropdown)) W20160725-19:04:51.961(7)? (STDERR)     in Uncontrolled(Dropdown) (created by DropdownButton) W20160725-19:04:51.961(7)? (STDERR)     in DropdownButton (created by CategoriesList) W20160725-19:04:51.961(7)? (STDERR)     in div (created by CategoriesList) W20160725-19:04:51.961(7)? (STDERR)     in CategoriesList (created by withRouter(CategoriesList)) W20160725-19:04:51.961(7)? (STDERR)     in withRouter(CategoriesList) (created by ListContainer) W20160725-19:04:51.962(7)? (STDERR)     in ListContainer (created by PostsListHeader) W20160725-19:04:51.962(7)? (STDERR)     in div (created by PostsListHeader) W20160725-19:04:51.962(7)? (STDERR)     in div (created by PostsListHeader) W20160725-19:04:51.962(7)? (STDERR)     in div (created by PostsListHeader) W20160725-19:04:51.962(7)? (STDERR)     in PostsListHeader (created by PostsList) W20160725-19:04:51.963(7)? (STDERR)     in div (created by PostsList) W20160725-19:04:51.963(7)? (STDERR)     in PostsList (created by ListContainer) W20160725-19:04:51.963(7)? (STDERR)     in ListContainer (created by PostsHome) W20160725-19:04:51.963(7)? (STDERR)     in PostsHome (created by RouterContext) W20160725-19:04:51.964(7)? (STDERR)     in div (created by Layout) W20160725-19:04:51.964(7)? (STDERR)     in div (created by Layout) W20160725-19:04:51.964(7)? (STDERR)     in Layout (created by App) W20160725-19:04:51.966(7)? (STDERR)     in IntlProvider (created by App) W20160725-19:04:51.967(7)? (STDERR)     in App (created by Container(App)) W20160725-19:04:51.968(7)? (STDERR)     in Container(App) (created by RouterContext) W20160725-19:04:51.968(7)? (STDERR)     in RouterContext W20160725-19:04:51.984(7)? (STDERR) Warning: Unknown propseventKey, divider, header, activeClassNameon <a> tag. Remove these props from the element. For details, see https://fb.me/react-unknown-prop W20160725-19:04:51.984(7)? (STDERR)     in a (created by SafeAnchor) W20160725-19:04:51.985(7)? (STDERR)     in SafeAnchor (created by MenuItem) W20160725-19:04:51.985(7)? (STDERR)     in li (created by MenuItem) W20160725-19:04:51.985(7)? (STDERR)     in MenuItem (created by CategoriesList) W20160725-19:04:51.986(7)? (STDERR)     in LinkContainer (created by CategoriesList) W20160725-19:04:51.986(7)? (STDERR)     in div (created by CategoriesList) W20160725-19:04:51.986(7)? (STDERR)     in ul (created by DropdownMenu) W20160725-19:04:51.986(7)? (STDERR)     in DropdownMenu (created by Dropdown) W20160725-19:04:51.987(7)? (STDERR)     in div (created by ButtonGroup) W20160725-19:04:51.988(7)? (STDERR)     in ButtonGroup (created by Dropdown) W20160725-19:04:51.988(7)? (STDERR)     in Dropdown (created by Uncontrolled(Dropdown)) W20160725-19:04:51.990(7)? (STDERR)     in Uncontrolled(Dropdown) (created by DropdownButton) W20160725-19:04:51.990(7)? (STDERR)     in DropdownButton (created by CategoriesList) W20160725-19:04:51.991(7)? (STDERR)     in div (created by CategoriesList) W20160725-19:04:51.992(7)? (STDERR)     in CategoriesList (created by withRouter(CategoriesList)) W20160725-19:04:51.992(7)? (STDERR)     in withRouter(CategoriesList) (created by ListContainer) W20160725-19:04:51.993(7)? (STDERR)     in ListContainer (created by PostsListHeader) W20160725-19:04:51.993(7)? (STDERR)     in div (created by PostsListHeader) W20160725-19:04:51.994(7)? (STDERR)     in div (created by PostsListHeader) W20160725-19:04:51.995(7)? (STDERR)     in div (created by PostsListHeader) W20160725-19:04:51.996(7)? (STDERR)     in PostsListHeader (created by PostsList) W20160725-19:04:51.996(7)? (STDERR)     in div (created by PostsList) W20160725-19:04:51.997(7)? (STDERR)     in PostsList (created by ListContainer) W20160725-19:04:51.997(7)? (STDERR)     in ListContainer (created by PostsHome) W20160725-19:04:51.998(7)? (STDERR)     in PostsHome (created by RouterContext) W20160725-19:04:51.998(7)? (STDERR)     in div (created by Layout) W20160725-19:04:51.999(7)? (STDERR)     in div (created by Layout) W20160725-19:04:51.999(7)? (STDERR)     in Layout (created by App) W20160725-19:04:51.999(7)? (STDERR)     in IntlProvider (created by App) W20160725-19:04:52.000(7)? (STDERR)     in App (created by Container(App)) W20160725-19:04:52.000(7)? (STDERR)     in Container(App) (created by RouterContext) W20160725-19:04:52.001(7)? (STDERR)     in RouterContext W20160725-19:04:53.070(7)? (STDERR) Warning: There is an internal error in the React performance measurement code. We did not expect ctor timer to stop while componentWillMount timer is still in progress for another instance. Please report this as a bug in React. W20160725-19:04:53.070(7)? (STDERR) Mon Jul 25 2016 19:04:52 GMT+0700 (WIB) 'error while server-rendering' 'TypeError: Cannot read property \'_currentElement\' of null\n    at [object Object].ReactCompositeComponentMixin._updateRenderedComponent (/Users/rifie/Documents/marvo/tel/Telescope/node_modules/react/lib/ReactCompositeComponent.js:734:52)\n    at [object Object].ReactCompositeComponentMixin._performComponentUpdate (/Users/rifie/Documents/marvo/tel/Telescope/node_modules/react/lib/ReactCompositeComponent.js:715:10)\n    at [object Object].ReactCompositeComponentMixin.updateComponent (/Users/rifie/Documents/marvo/tel/Telescope/node_modules/react/lib/ReactCompositeComponent.js:634:12)\n    at [object Object].ReactCompositeComponentMixin.performUpdateIfNecessary (/Users/rifie/Documents/marvo/tel/Telescope/node_modules/react/lib/ReactCompositeComponent.js:548:12)\n    at Object.ReactReconciler.performUpdateIfNecessary (/Users/rifie/Documents/marvo/tel/Telescope/node_modules/react/lib/ReactReconciler.js:165:22)\n    at runBatchedUpdates (/Users/rifie/Documents/marvo/tel/Telescope/node_modules/react/lib/ReactUpdates.js:151:21)\n    at ReactReconcileTransaction.Mixin.perform (/Users/rifie/Documents/marvo/tel/Telescope/node_modules/react/lib/Transaction.js:138:20)\n    at ReactUpdatesFlushTransaction.Mixin.perform (/Users/rifie/Documents/marvo/tel/Telescope/node_modules/react/lib/Transaction.js:138:20)\n    at ReactUpdatesFlushTransaction._assign.perform (/Users/rifie/Documents/marvo/tel/Telescope/node_modules/react/lib/ReactUpdates.js:90:38)\n    at Object.flushBatchedUpdates (/Users/rifie/Documents/marvo/tel/Telescope/node_modules/react/lib/ReactUpdates.js:173:19)'
Any thoughts is much appreciated. thank you

I'm not sure why this is happening but it means you don't have the right version of React. See similar issues. Make sure you're using the version specified in package.json.

Hi Rifie, did the permission solve your problem? Am having same error and was wondering how you were able to solve it. Thanks

If you clone / pull the latest version, this bug has been fixed 👍  happy hacking!


Working with regtool generates an ERROR message

Hello,
I am trying to run regtool on my recent hjson file (with minor and irrelevant change), and get ERROR:
In the hjson file I have:
{ name: "REGWEN",
desc: "Register write enable for a bank of registers",
swaccess: "rw1c",
fields: [ { bits: "0", resval: "1" } ]
}
And it worked properly in the past. However recently I wanted to run it again and got the following ERROR message:
ERROR: REGWEN used as regwen fails requirement to be swaccess=W0C or swaccess=RO and hwaccess=HWO
Changing swaccess to W0C or swaccess=RO and hwaccess=HWO yields other ERROR message.
Please advise, thanks,
Dana

@arnon.sharlin

Hi
There was a recent project-wide change to rw0c as the convention for all REGWEN registers. This worked for me recently:
      swaccess: "rw0c",
      hwaccess: "none",
      fields: [
        { bits: "0",
          name: "regwen",
          desc: "Once cleared, the watchdog configuration will be locked until the next reset",
          resval: 1

Right, thanks, it works now.
I suggest the ERROR message will be correct.
Thanks,
Dana
@arnonsha


worker node interface MTU arbitrarily increased

MTU of the node interface hosting NSM_TUNNEL_IP raised from initial 1500 bytes when using vpp-forwarder v1.3.0-rc.1 (AF_PACKET mode).
Thus causing traffic disturbances if the "base" interface (e.g. tap) MTU is 1500 bytes on the host.
Mostly the new value ends up being 1544 bytes (but in one occasion it turned out to be 1588 bytes).
Also, in case there are multiple network interfaces on the VM, their MTU might get changed as well even though TUNNEL_IP is not hosted by them. (I guess it's because I have a DeviceSelectorFile configured as well. Although occasionally not all the devices in the file are affected by the MTU change).
Interface MTUs are left intact when running with vpp-forwarder v1.2.0.
Also, when rebuilt with the VPP version used in v1.2.0, the problem does not appear.
To reproduce:

example 'basic' or 'memory' should do (there's no need to deploy any NSC or NSE)
Kind can be used as well

IPv4 traffic impact can be verified simply with netcat (assuming the new MTU is 1544 bytes):

Create a TCP server on one of the worker nodes listening on an address that belongs to the affected interface (pick a server port of your liking)
Create TCP client connecting to the listener set up in the previous step, and try to send e.g. 1480 bytes payload. The data will never reach the server. Running tcpdump on the client side reveals the retransmits.
(Note: If TCP TX segmentation offload is enabled, then TCP payload sizes exceeding (NEW_MTU - (IPv4_header_size + TCP_overhead_including_options)) will succeed.)

k8s impact:
If kube-apiserver is running on a VM that also hosts a vpp-forwarder, then kubernetes API server requests from other nodes might randomly fail resulting in the following error:

vm-002 ~ # kubectl get pods -n nsm
E0406 17:32:54.015653   15189 request.go:1085] Unexpected error when reading response body: http2: client connection lost
unexpected error when reading response body. Please retry. Original error: http2: client connection lost

mtu.txt

Got a hint from @ljkiraly that instead of HwInterfaceSetMtu vpp API call SwInterfaceSetMtu might be more feasible.
Gave it a try and interface MTUs were left intact, and things seemed to work fine.
diff.txt

@ljkiraly Could you say more about the cases in which the mtu chain element could interfere?

@zolug OK... so it looks like the root issue here is that the VPP MTU is resulting in setting the interface MTU (and incorrectly). Is that right?

Yes, that's correct.

@edwarnicke
First of all the main issue is that the HwInterfaceSetMtu binapi RPC changed it's behavior. I do not know the reason behind this, so that's why we not tried to fix this by changing to SwInterfaceSetMtu.
At the startup of the forwarder the initialization function will set the MTU  first and add 44 bytes to the given interface (e.g the interface given by IP_TUNNEL address, with default 1500 MTU will be set to 1544). Then the ConnectionContext will try to adjust the MTU and calls the  HwInterfaceSetMtu again increasing the MTU value with 44 bytes (resulting in 1588). I suppose that will keep increasing when the forwarder restarts.

@ljkiraly Got it, so we need to simply switch from HwInterfaceSetMtu to SwInterfaceSetMtu where ever it is used.

@edwarnicke I'm not sure about the ConnectionContext, since there are two functions: setVPPL2MTU and setVPPL3MTU.

layer2 calls HwInterfaceSetMtu
layer3 calls SwInterfaceSetMtu.
I don't know the original intention behind this division.

@edwarnicke

do we anticipate needing to pass 802.1q tagged ethernet frames over VXLAN
No, we don't.

@ljkiraly @denis-tingaikin @zolug Could you have a look at these fixes:
https://github.com/networkservicemesh/cmd-forwarder-vpp/pull/569
https://github.com/networkservicemesh/sdk-vpp/pull/554

@ljkiraly I am looking at https://github.com/networkservicemesh/sdk-vpp/blob/c508e185a1f11ba6f44f7f8c5b60850a0db8d1bb/pkg/networkservice/mechanisms/vlan/mtu/common.go#L31-L51 and trying to decide what the right thing to do is.

@edwarnicke Thanks! The fixes work without any problem.
The following log msg printed on forwarder start is a bit misleading though now:

[MTU:[1500 1500 1500 1500]] [cmd:/bin/forwarder] [duration:155.192µs] [swIfIndex:1] [vppapi:HwInterfaceSetMtu]

@edwarnicke Thanks! The fixes work without any problem.
The following log msg printed on forwarder start is a bit misleading though now:

[MTU:[1500 1500 1500 1500]] [cmd:/bin/forwarder] [duration:155.192µs] [swIfIndex:1] [vppapi:HwInterfaceSetMtu]

@zolug This should be fixed in https://github.com/networkservicemesh/cmd-forwarder-vpp/pull/570 - thank you for catching it :)

@edwarnicke I propose to simply get L3 MTU since is set based on L2 link MTU and should not modified elsewhere. Check networkservicemesh/sdk-vpp#555

@ljkiraly Have you confirmed that the L3 MTU is set for the interfaces you care about (in the absence of setting it yourself?).  I ask, because for software interfaces (like af packet) its not.


Root disk size reverts to its template size after rebuild

ISSUE TYPE

Bug Report

COMPONENT NAME

Management Server

CLOUDSTACK VERSION

4.13

CONFIGURATION

CloudStack 4.13
vSphere 6.5
OS / ENVIRONMENT

SUMMARY

STEPS TO REPRODUCE

resize root disk to larger size
rebuild vm

EXPECTED RESULTS

CloudStack resize root disk to larger size after rebuild
ACTUAL RESULTS

root disk size reverts to its original template size
CloudStack reports root disk size has not been reverted

@aleskxyz what diskoffering did the VM have to begin with?

@aleskxyz what diskoffering did the VM have to begin with?
I have create VM from a template which its root disk is created from a dynamic disk offering.

More investigation results:
Scenario 1:

Create a VM with root disk same as template
Upgrade root disk
Rebuild VM
Result: root disk size reverts to template size

Scenario 2:

Create a VM with increased root disk size
Rebuild VM
Result: root disk size is ok

Scenario 3:

Create a VM with increased root disk size
Upgrade root disk
Rebuild VM
Result: root disk size is ok

Workaround:
It seems that when you increase root disk size at deployment, CloudStack initializes "rootdisksize" as a variable in "details" list with the size of root disk.
When you request for rebuild, CloudStack looks for "rootdisksize" regardless of its value, and recreates root disk according to its latest size.
So this scenario is a workaround to this bug:

Create a VM with root disk same as template
Upgrade root disk
Call "updateVirtualMachine" by adding "rootdisksize=0" to "details" list.
Rebuild VM
Result: root disk size is ok

Sounds like this can be done by :

Create a VM with root disk same as template
(under the hood) Call "updateVirtualMachine" by adding "rootdisksize=0" to "details" list.
Upgrade root disk
Rebuild VM
Result: root disk size should be ok

are you planning to fix this @aleskxyz ?

Sounds like this can be done by :

Create a VM with root disk same as template
(under the hood) Call "updateVirtualMachine" by adding "rootdisksize=0" to "details" list.
Upgrade root disk
Rebuild VM
Result: root disk size should be ok

are you planning to fix this @aleskxyz ?

@DaanHoogland
I really want to contribute on CS code but unfortunately I'm not a developer :(

ok @aleskxyz , unfortunately that means there is no guarantee it will actually be implemented. I will if i find the time but make no promises

Better workaround:
Based on this line of code we can abuse (?!) template details and inject "rootdisksize" in vm details:

By this workaround everything goes as expected.

@aleskxyz glad it works for you, but now you are tying the rootDiskSize to the template instead of the diskOffering. If this template is never used with a fixed diskOffering 👍 , is it?

I'm having second thoughts on this @aleskxyz , if you revert, you want to revert, so yuou expect the original configuration. Why else would you?
cc @andrijapanicsb @PaulAngus @alexmattioli

I'd agree with your last summary.  Revert to original deployment should do exactly that. Revert to the original 'configuration'
Obviously the DB and billing should reflect that..

I'm having second thoughts on this @aleskxyz , if you revert, you want to revert, so yuou expect the original configuration. Why else would you?
@DaanHoogland
Reverting to template size or keeping the existing root disk size is not the problem.
As I have mentioned in bug report, we see a inconsistency here. In VMware I see that the disk size is reverted but CS reports that the disk size is not changed.
@PaulAngus

I'm having second thoughts on this @aleskxyz , if you revert, you want to revert, so yuou expect the original configuration. Why else would you?

@DaanHoogland
Reverting to template size or keeping the existing root disk size is not the problem.
As I have mentioned in bug report, we see a inconsistency here. In VMware I see that the disk size is reverted but CS reports that the disk size is not changed.
@PaulAngus

Ok @aleskxyz , that I agree to. the original size should be restored and set in the DB.
So I dissagree with the "EXPECTED RESULT" form your original description; "CloudStack resize root disk to larger size after rebuild", this should read "CloudStack resizes root disk to original size after rebuild".
Being pragmatic we might let the behaviour be hypervisor specific to ease implementation, but in principle rebuild is rebuild imnsho.

On reset, I would expect the VM to return to the originally deployed state, which in case the root disk size was different than template size (originally resized while deployment) then the reset VM root disk size should be resized.

Fixed in https://github.com/apache/cloudstack/pull/4638


Bump Kubernetes to the latest v1.20.x

Right now, the latest kube version is v1.20.5: https://github.com/kubernetes/kubernetes/releases/tag/v1.20.5
We should also bump the kube to the newer version for more support.
I suggest this work can be done in release v0.5.0

PR (https://github.com/shipwright-io/build/pull/723) is merged. Thanks!


Path Of Exile CDN added

What CDN does this PR relate to
Path Of Exile
Does this require running via sniproxy
no, because http traffic is supported by the CDN.
Capture method
dns sniffer.
Testing Scenario
at home.
Testing Configuration
unbound config:
server:
  local-zone: "patchcdn.pathofexile.com" redirect
  local-data: "patchcdn.pathofexile.com 30 IN A <IP_ADDRESS>"

Sniproxy output
no output.
but here're couple nginx logs:
[patchcdn.pathofexile.com] <IP_ADDRESS> / - - patch [27/Apr/2020:12:13:37 +0100] "GET /<IP_ADDRESS>/minimap/Metadata_Terrain_Ledge_WalkableEdgeToWater_Scan.dds HTTP/1.1" 200 126979 "-" "-" "MISS" "patchcdn.pathofexile.com" "-"
[patchcdn.pathofexile.com] <IP_ADDRESS> / - - patch [27/Apr/2020:12:13:37 +0100] "GET /<IP_ADDRESS>/Art/Models/Items/Armours/Helmets/Uniques/StitchedDemonMask/StitchedDemonMaskHelmetDexInt.sm HTTP/1.1" 200 586 "-" "-" "MISS" "patchcdn.pathofexile.com" "-"
[patchcdn.pathofexile.com] <IP_ADDRESS> / - - patch [27/Apr/2020:12:13:37 +0100] "GET /<IP_ADDRESS>/Art/Textures/Doodads/Act5/Skullsns.dds HTTP/1.1" 200 80042 "-" "-" "MISS" "patchcdn.pathofexile.com" "-"
[patchcdn.pathofexile.com] <IP_ADDRESS> / - - patch [27/Apr/2020:12:13:37 +0100] "GET /<IP_ADDRESS>/Art/Microtransactions/Misc/fireworks/yellow_fw_streaks.dds HTTP/1.1" 200 64897 "-" "-" "MISS" "patchcdn.pathofexile.com" "-"

Thanks for your PR! All looks good.


Error compilation

The version patched of llvm didn't compile well:
I got this error:

Also, can I have the "sandboxing.o" file mentioned in the patch ? for now, when I compiled specifying the good linker, I missed the sandboxing.o file

The version patched of llvm didn't compile well:
I got this error:

There was an error in the patch and I fixed. Was some remnant from an earlier version

Also, can I have the "sandboxing.o" file mentioned in the patch ? for now, when I compiled specifying the good linker, I missed the sandboxing.o file

sandboxing.o should be chestnut.o and is provided in the libchestnut folder. Error during the cleanup process. The new patch now includes the correct name.


Update plugin-docs.md

Awesome!!, Do you know how to change the target branch from master to develop?


Set "open_time" "publish_time" and "cp_reveal_time" on question creation page

These should be all set, and the "approve" action would only handle the approval.
this way, setting the approval status in the admin panel works (given that the fields on the Question / Post object are set up right).

duplicates #1579 and that one is written better


Optimise facets indexation

Pull Request
What does this PR do?
Fixes #589
Notes
I added documentation for the whole module which attempts to explain the shape of the databases and their purpose. However, I realise there is already some documentation about this, so I am not sure if we want to keep it.
Benchmarks
We get a ~1.15x speed up on the geo_point benchmark.
group                                                                     indexing_main_57042355                  indexing_optimise-facets-indexation_5728619a
-----                                                                     ----------------------                  --------------------------------------------
indexing/-geo-delete-facetedNumber-facetedGeo-searchable-                 1.00  1862.7±294.45µs        ? ?/sec    1.58      2.9±1.32ms        ? ?/sec
indexing/-movies-delete-facetedString-facetedNumber-searchable-           1.11      8.9±2.44ms        ? ?/sec     1.00      8.0±1.42ms        ? ?/sec
indexing/-movies-delete-facetedString-facetedNumber-searchable-nested-    1.00     12.8±3.32ms        ? ?/sec     1.32     16.9±6.98ms        ? ?/sec
indexing/-songs-delete-facetedString-facetedNumber-searchable-            1.09     43.8±4.78ms        ? ?/sec     1.00     40.3±3.79ms        ? ?/sec
indexing/-wiki-delete-searchable-                                         1.08   287.4±28.72ms        ? ?/sec     1.00    264.9±9.46ms        ? ?/sec
indexing/Indexing geo_point                                               1.14      61.2±0.39s        ? ?/sec     1.00      53.8±0.57s        ? ?/sec
indexing/Indexing movies in three batches                                 1.00      16.6±0.12s        ? ?/sec     1.00      16.5±0.10s        ? ?/sec
indexing/Indexing movies with default settings                            1.00      14.1±0.30s        ? ?/sec     1.00      14.0±0.28s        ? ?/sec
indexing/Indexing nested movies with default settings                     1.10      10.9±0.50s        ? ?/sec     1.00      10.0±0.10s        ? ?/sec
indexing/Indexing nested movies without any facets                        1.01       9.6±0.23s        ? ?/sec     1.00       9.5±0.06s        ? ?/sec
indexing/Indexing songs in three batches with default settings            1.07      66.3±0.55s        ? ?/sec     1.00      61.8±0.63s        ? ?/sec
indexing/Indexing songs with default settings                             1.03      58.8±0.82s        ? ?/sec     1.00      57.1±1.22s        ? ?/sec
indexing/Indexing songs without any facets                                1.00      53.6±1.09s        ? ?/sec     1.01      54.0±0.58s        ? ?/sec
indexing/Indexing songs without faceted numbers                           1.02      58.0±1.29s        ? ?/sec     1.00      57.1±1.43s        ? ?/sec
indexing/Indexing wiki                                                    1.00   1064.1±21.20s        ? ?/sec     1.00   1068.0±20.49s        ? ?/sec
indexing/Indexing wiki in three batches                                   1.00    1182.5±9.62s        ? ?/sec     1.01   1191.2±10.96s        ? ?/sec
indexing/Reindexing geo_point                                             1.12      68.0±0.21s        ? ?/sec     1.00      60.5±0.82s        ? ?/sec
indexing/Reindexing movies with default settings                          1.01      14.1±0.21s        ? ?/sec     1.00      14.0±0.26s        ? ?/sec
indexing/Reindexing songs with default settings                           1.04      61.6±0.57s        ? ?/sec     1.00      59.2±0.87s        ? ?/sec
indexing/Reindexing wiki                                                  1.00   1734.0±11.38s        ? ?/sec     1.01   1746.6±22.48s        ? ?/sec

Note: I'm putting this PR back into draft status as I don't think the improvement is good enough.
The problem is that after adding just one document, we need to iterate over the whole database and perform a ton of bitmap operations, which is very slow. Ideally, the algorithm should be incremental and modify the database in-place instead of clearing it and rebuilding it from scratch. I am starting to think about what a proper solution will be and will update this PR later.

After looking a bit more into it, I realised there is a problem with the current structure of index.facet_id_string_docids. The elements of all levels > 0 have a pair of indices as key. These indices point to elements of level 0. For example:
┌───────┐   ┌───────────────────────────────────────────────────────────────────────────────┐
│  all  │   │                       [a, b, c, d, e, f, g, u, y, z]                          │
└───────┘   └───────────────────────────────────────────────────────────────────────────────┘

            ┌───────────────────────────────┬───────────────────────────────┬───────────────┐
┌───────┐   │             0 – 3             │             4 – 7             │     8 – 9     │
│Level 2│   │                               │                               │               │
└───────┘   │        [a, b, d, f, z]        │        [c, d, e, f, g]        │    [u, y]     │
            ├───────────────┬───────────────┼───────────────┬───────────────┼───────────────┤
┌───────┐   │     0 – 1     │     2 – 3     │     4 – 5     │     6 – 7     │     8 – 9     │
│Level 1│   │  "ab" – "ac"  │ "ba" – "bac"  │ "gaf" – "gal" │"form" – "wow" │ "woz" – "zz"  │
└───────┘   │ [a, b, d, z]  │   [a, b, f]   │   [c, d, g]   │    [e, f]     │    [u, y]     │
            ├───────┬───────┼───────┬───────┼───────┬───────┼───────┬───────┼───────┬───────┤
┌───────┐   │  "ab" │  "ac" │  "ba" │ "bac" │ "gaf" │ "gal" │ "form"│ "wow" │ "woz" │  "zz" │
│Level 0│   │  "AB" │ " Ac" │ "ba " │ "Bac" │ " GAF"│ "gal" │ "Form"│ " wow"│ "woz" │  "ZZ" │
└───────┘   │ [a, b]│ [d, z]│ [b, f]│ [a, f]│ [c, d]│  [g]  │  [e]  │ [e, f]│  [y]  │  [u]  │
            └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘

As a result, adding an element at level 0 automatically invalidates all its parents and its parents' successors. That means the minimum complexity of adding an element is Ω(size_level_0), which is too high.
I think this could be solved by using strings directly instead of indices as keys, like this:
┌───────┐   ┌───────────────────────────────────────────────────────────────────────────────┐
│  all  │   │                         a, b, c, d, e, f, g, u, y , z                         │
└───────┘   └───────────────────────────────────────────────────────────────────────────────┘

            ┌───────────────────────────────┬───────────────────────────────┬───────────────┐
┌───────┐   │         "ab" – "bac"          │         "gaf" – "wow"         │ "woz" – "zz"  │
│Level 2│   │                               │                               │               │
└───────┘   │         a, b, d, f, z         │         c, d, e, f, g         │     u, y      │
            ├───────────────┬───────────────┼───────────────┬───────────────┼───────────────┤
┌───────┐   │  "ab" – "ac"  │ "ba" – "bac"  │ "gaf" – "gal" │"form" – "wow" │ "woz" – "zz"  │
│Level 1│   │               │               │               │               │               │
└───────┘   │  a, b, d, z   │    a, b, f    │    c, d, g    │     e, f      │     u, y      │
            ├───────┬───────┼───────┬───────┼───────┬───────┼───────┬───────┼───────┬───────┤
┌───────┐   │  "ab" │  "ac" │  "ba" │ "bac" │ "gaf" │ "gal" │ "form"│ "wow" │ "woz" │  "zz" │
│Level 0│   │  "AB" │ " Ac" │ "ba " │ "Bac" │ " GAF"│ "gal" │ "Form"│ " wow"│ "woz" │  "ZZ" │
└───────┘   │  a, b │  d, z │  b, f │  a, f │  c, d │   g   │   e   │  e, f │   y   │   u   │
            └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘

But as explained in search/facet/facet_string.rs, this would result in very long keys, and we would need to reduce the maximum allowed size of facet strings by half, to approximately 250 bytes (the max key size of LMDB is 511 bytes).

After thinking about it more, I think this PR should be reviewed as is for now, because:

It still brings a fairly large improvement in indexing speed
Adding code to incrementally update the database will be complicated and take a long time
Even after we have the ability to incrementally update the DB, we will still need to use this bit of code to build the DB from scratch


Documentation Feedback

SharePoint 2019 is given in the section "Product that applies to" under the description of the property "-PartitionMode". As Multi Tenancy is not supported in SP2019, this should not be applied to SP2019.

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

ID: 1c7da900-06f8-efbe-49bf-ff3f5706cc94
Version Independent ID: fde41041-2591-01b8-459d-2f9642682189
Content: Register-SPWorkflowService (sharepoint-server)
Content Source: sharepoint/sharepoint-ps/sharepoint-server/Register-SPWorkflowService.md
Product: sharepoint-2016-powershell
GitHub Login: @techwriter40
Microsoft Alias: kirks

@jitsvjoseph thank you for your feedback. You are correct, and I have made the change and in the process of republishing article.  thanks


NoSuchMethodError: Transaction.exec(java.lang.String) running gradle jarmonicaUp with Exposed

Describe the bug
gradle jarmonicaUp worked well, but it's not working after Exposed is added to deps.
3 actionable tasks: 1 executed, 2 up-to-date
Exception in thread "main" java.lang.NoSuchMethodError: 'kotlin.Unit org.jetbrains.exposed.sql.Transaction.exec(java.lang.String)'
	at com.improve_future.harmonica.core.Connection.execute(Connection.kt:189)
	at com.improve_future.harmonica.core.Connection.<init>(Connection.kt:99)
	at com.improve_future.harmonica.task.JarmonicaTaskMain.createConnection(JarmonicaTaskMain.kt:41)
	at com.improve_future.harmonica.task.JarmonicaUpMain.main(JarmonicaUpMain.kt:34)

FAILURE: Build failed with an exception.

import org.springframework.boot.gradle.tasks.bundling.BootJar

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        maven("https://jitpack.io")
    }

    dependencies {
        classpath("org.jetbrains.kotlin:kotlin-script-util:1.4.30")
        classpath("com.improve_future:harmonica:1.1.26")
    }
}

apply(plugin = "org.springframework.boot")
apply(plugin = "io.spring.dependency-management")
apply(plugin = "org.jetbrains.kotlin.plugin.spring")
apply(plugin = "jarmonica")

dependencies {
    implementation(kotlin("stdlib"))

    implementation("org.springframework.boot:spring-boot-starter")
    implementation("org.springframework.boot:spring-boot-starter-jdbc")

    val exposedVersion = "0.29.1"
    implementation("org.jetbrains.exposed:exposed-core:$exposedVersion")
    implementation("org.jetbrains.exposed:exposed-dao:$exposedVersion")
    implementation("org.jetbrains.exposed:exposed-jdbc:$exposedVersion")
    implementation("org.jetbrains.exposed:exposed-java-time:$exposedVersion")

    runtimeOnly("org.postgresql:postgresql")
    implementation("com.improve_future:harmonica:1.1.26")
    implementation("org.reflections:reflections:0.9.11")
}

tasks.withType<Test> {
    useJUnitPlatform()
}

tasks.getByName<BootJar>("bootJar") {
    enabled = false
}

tasks.getByName<Jar>("jar") {
    enabled = true
}

working version:
https://github.com/nallwhy/spring_boot_rumbl/tree/cf7eb2c5ce4d473f71f6de0dc667d189b1ffa6e6
not working version:
https://github.com/nallwhy/spring_boot_rumbl/tree/feeaf1c18dc3d83a5000a5ed5f1c08fda8f005c8
To Reproduce
run gradle jarmonicaUp
Expected behavior
gradle jarmonicaUp works well.
Environment:

OS: Mac OS X 11.2 Big Sur
Database: Postgres 12.3
JDK/JRE: JDK 11.0.10.hs-adpt , Kotlin 1.4.30 [e.g. JDK 1.8, JDK 1.7, OpenJDK 8]
Version: 1.1.26

@nallwhy
Thanks i will see it

@nallwhy
This is not tested but I guess version 2.0.0 Harmonica works well.

How can I use harmonica 2.0.0?
I was failed to add that via jcenter.

@nallwhy
Oh, really?
sorry for the inconvenience.
um, ... I will investigate the reason.
https://mvnrepository.com/artifact/com.improve_future/harmonica/2.0.0

This is the error when I change the version of harmonica from 1.1.26 to 2.0.0.
> Could not find com.improve_future:harmonica:2.0.0.
     Searched in the following locations:
       - https://repo.maven.apache.org/maven2/com/improve_future/harmonica/2.0.0/harmonica-2.0.0.pom
       - https://jcenter.bintray.com/com/improve_future/harmonica/2.0.0/harmonica-2.0.0.pom
       - https://jitpack.io/com/improve_future/harmonica/2.0.0/harmonica-2.0.0.pom
       - https://plugins.gradle.org/m2/com/improve_future/harmonica/2.0.0/harmonica-2.0.0.pom

@nallwhy
i added harmonica-2.0.0.pom so could you try again?

It works! Thx :)


Concepts

Concepts are a feature in Nim which are essentially user-defined typeclasses.
The idea is that you can define a set of criteria for a generic type, almost like an interface but without explicitly defining the types as being of that interface. For example, in Nim:
type HasName = concept
  name is string

type Person = object
  name: string

proc sayName(n: HasName) =
  echo n.name

As you can see, this is a much simpler system than either composition or inheritance, and yet also easier on the compiler than duck typing and allows polymorphism without any sort of object oriented style-- no forced organization where the implementation must be inside a set of braces, etc. etc.

Actually comes from functional programming-- its not OOP, its just polymorphism. They arent the same thing. :P

Well you seem to have a grip on paradigm design, you feel like designing a paradigm from our language that builds in the impl (#26)and struct(#20) constructs. that would be nice, we are trying our best to avoid vmt's (virtual method tables)

interfaces and impls are a cool way of doing things, yea. Concepts are essentially just like that but more relaxed.
Also, if your goal is method calls without methods, have a look at the UFCS proposal.

no i mean like vmt is used for over riding

unless im not understanding how can ufcs can be used to replace overloading ?
or does one not need overloading in the first place ?

Overloading is nice to have-- I don't see what prevents implementing it? Compiler performance shouldn't be a concern; overloading isn't that costly. C++, Nim, and Rust all have overloading.

well as far as i understand it, you need to a table in memmory that stores all the methods that are overiding one another, and this is costly at runtime when you are create 100's of objects then you need to make vmt for every object(avmt is alsow know as a vtable),
like this(:
public class foo
{
 virtual void qaz() {}
}

public class bar : foo
{
overide void quz() {}
}

//...

var x = new bar();
var y = x as foo;
x.qaz(); // here  bar.qaz should fire not foo.qaz unlese the overider call bace();

to make this work we need a list of overiders at runtime

There is no technical reason we cant implement it, we are just trying to avoid the vtables part of it, becuase it slows runtime performance down.

Isn't it also avoidable though? You could simply have each compilation unit be required to extern any functions which it's going to use, either itself or in a module acting like the equivalent to a C header file-- if the compiler already knows the number and locations of all the overloaded methods, a runtime vtable is unnecessary.
The other thing is that this would encourage a compilation system in which all functions and methods are known in the language itself rather than external objects or static/dynamic libraries in an ideal case, which would allow aggressive inlining as well as reducing the amount of work needed ergonomics wise.

About inlining: I was going to propose something like that as well. make a function atrribute similar to infix which tells the compiler to inline this where ever it's used


Any question about VirtualCameraSimple project

When I use VirtualCameraSimple project, I compile according to README.md, but  I am prompted that I can't open the included file:“mfvirtualcamera.h”: No such file or directory. How do I get the mfvirtualcamera. h file?
The link of install visual studio MSI project extension in Windows-Camera-master/Samples/VirtualCamera/README.md document is invalid.
Looking forward to your reply.

When I use VirtualCameraSimple project, I compile according to README.md, but I am prompted that I can't open the included file:“mfvirtualcamera.h”: No such file or directory. How do I get the mfvirtualcamera. h file?
The link of install visual studio MSI project extension in Windows-Camera-master/Samples/VirtualCamera/README.md document is invalid.
Looking forward to your reply.

Hi, until the announcement on June 24th of Windows 11. the required SDK was not released. Please see the revised documentation and links to download the appropriate Widnows 11 preview SDK that contains mfvirtualcamera.h

When I use VirtualCameraSimple project, I compile according to README.md, but I am prompted that I can't open the included file:“mfvirtualcamera.h”: No such file or directory. How do I get the mfvirtualcamera. h file?
The link of install visual studio MSI project extension in Windows-Camera-master/Samples/VirtualCamera/README.md document is invalid.
Looking forward to your reply.

Hi, until the announcement on June 24th of Windows 11, the required SDK was not released. Please see the revised documentation and links to download the appropriate Windows 11 preview SDK that contains mfvirtualcamera.h

OK ,thanks


fix typos and punctuations

Fixed typos, punctuations, capitalizations, and spacings cover to cover.
Functionality has not changed.

Wow thanks so much! That's really some nice cleaning up of the code, labels, and thanks for catching the typo's. Very much appreciated!