About the output of motion with 6 degrees of freedom

At which point is the output of the 6-DOF motion?
Can I change the height at which I want to output the movement in the settings?
I want to output the motion of the FOWT center of gravity position.

Dear @yk202208,
Presumably you are referring to the 6-DOF motion output by the ElastoDyn module; is that correct?  The 6-DOF motion output from ElastoDyn is expressed relative to the platform reference point defined by ElastoDyn input PtfmRefzt.
Best regards,

Dear @jjonkman
 I am doing a simulation of a 5MW OC4Semi. I would like to know if there is a way to make the platform perform single degree of freedom motion. For example only Pitch, Sway motion of the platform is performed.

Best regards,

Dear @HYFOAMm
Yes, you can enable/disable each platform DOF individually through the DEGREES OF FREEDOM flags in the ElastoDyn primary input file, e.g., setting PtfmSgDOF = FALSE disables the surge DOF.
Best regards,

Dear @jjonkman
Thank you for your reply, in fact I am using sowfa-openfast to study the mechanism of the effect of platform motion (single DOF motion) on the wake and unit load of a floating wind turbine. In order to make the effect single, I want to make the platform move in a certain degree of freedom with a certain regularity.
(1) Is there any good way to achieve this regular motion of the platform?
(2) In fact, this kind of similar research already exists, but it is not the same as the method I used. Do you have any better ideas or suggestions for my research direction?
Best regards,

Dear @jjonkman
Thank you for your reply, in fact I am using sowfa-openfast to study the mechanism of the effect of platform motion (single DOF motion) on the wake and unit load of a floating wind turbine. In order to make the effect single, I want to make the platform move in a certain degree of freedom with a certain regularity.
(1) Is there any good way to achieve this regular motion of the platform?
(2) In fact, this kind of similar research already exists, but it is not the same as the method I used. Do you have any better ideas or suggestions for my research direction?
Best regards,

Dear @HYFOAM,
Regarding (1), similar questions have been discussed both here in OpenFAST issues (e.g., see:  https://github.com/OpenFAST/openfast/issues/617) and on our forum (e.g., see: https://forums.nrel.gov/t/control-for-scaled-down-5mw-nrel/1087/14?u=jason.jonkman).
I'm not sure I understand your second question.
Best regards,

Dear @jjonkman
Thank you for your answer to the first question, I have understood how to do it.
The second question I would like to ask is, NREL has done a lot of work on the SOWFA-OpenFAST coupling calculation, what other innovations do you have for the SOWFA-OpenFAST coupling calculation of FOWT wake and load? For example, what conditions should I calculate, or what aspects should I analyze in depth.
Thank you very much for your answer!
Best regards,

Dear @jjonkman
Thank you for your answer to the first question, I have understood how to do it.
The second question I would like to ask is, NREL has done a lot of work on the SOWFA-OpenFAST coupling calculation, what other innovations do you have for the SOWFA-OpenFAST coupling calculation of FOWT wake and load? For example, what conditions should I calculate, or what aspects should I analyze in depth.
Thank you very much for your answer!
Best regards,

Dear @HYFOAM,
I would say there has certainly been some good high-fidelity modeling work done on the impact of FOWT motion on rotor aeordynamics and wakes, but there is much more to do for large flexible rotors, different floater configurations, and FOWT wind farm arrangements.  HFM results need to cover the wide space of designs and conditions, be validated against measured data, used to inform improvements to engineering models, and applied to advance the design of FOWT and wind farms,
Best regards,

Dear @jjonkman
Thank you for your reply! I will carefully consider these things you have mentioned.
Best regards,


Ciphers ignored, why?

Hi.
I am building ConnectionSpec object like that:
new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS).
tlsVersions(TlsVersion.TLS_1_2).
cipherSuites(
        CipherSuite.TLS_AES_128_GCM_SHA256,
        CipherSuite.TLS_CHACHA20_POLY1305_SHA256,
        CipherSuite.TLS_AES_256_GCM_SHA384,
        CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
        CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
        CipherSuite.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
        CipherSuite.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
        CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
        CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
        CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
        CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
        CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
        CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
        CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256,
        CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384,
        CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA,
        CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA,
        CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA
).
build();

While debugging via Charles software, i see the following:

Client Supported:
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_3DES_EDE_CBC_SHA

Question:
why some ciphers are missed?
For example, TLS_AES_128_GCM_SHA256, that is always sent by real firefox/chrome browsers.

Typically this is due to lack of support in the host TLS stack.
https://tinyurl.com/okhttp-cipher-suites

Hi!
I have code from my first message, where cipher TLS_AES_128_GCM_SHA256 used.
I have okhttp 3.14.2, that supports that cipher.
i have java 15.0.1, that also supports that cipher.
i have openssl, that also supports that cipher.
And still i do not see that cipher in list of supported ciphers in client request: https://prnt.sc/wnrbdd.
But i see it from firefox/chrome requests.
Why? :<
System.out.println(System.getProperty("java.version"));
>> 15.0.1

openssl ciphers -v | grep '^AES128-GCM-SHA256'
>> AES128-GCM-SHA256       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(128) Mac=AEAD

Hi!
I have code from my first message, where cipher TLS_AES_128_GCM_SHA256 used.
I have okhttp 3.14.2, that supports that cipher.
i have java 15.0.1, that also supports that cipher.
i have openssl, that also supports that cipher.
And still i do not see that cipher in list of supported ciphers in client request: https://prnt.sc/wnrbdd.
But i see it from firefox/chrome requests.
Why? :<
System.out.println(System.getProperty("java.version"));
>> 15.0.1

openssl ciphers -v | grep '^AES128-GCM-SHA256'
>> AES128-GCM-SHA256       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(128) Mac=AEAD

That's a TLSv1.3-only cipher suite and you're seeing a TLSv1.2 handshake.
https://square.github.io/okhttp/tls_configuration_history/#tlsv13_only

That's a TLSv1.3-only cipher suite and you're seeing a TLSv1.2 handshake.
https://square.github.io/okhttp/tls_configuration_history/#tlsv13_only


Search bar on the main screen doesn't work

Android 5.1.1 22

Do you have JavaScript enabled? The search bar on the main screen needs JavaScript enabled in order to work.
Thank you for getting in touch :)

Oh... yes, it's off... :D
Am 1. Juni 2017 12:27:44 MESZ, schrieb Vlad Todosin<EMAIL_ADDRESS>
Do you have JavaScript enabled? The search bar on the main screen needs
JavaScript enabled in order to work.
Thank you for getting in touch :)
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/VladThodo/behe-explorer/issues/37#issuecomment-305454087

--
Diese Nachricht wurde von meinem Android-Gerät mit K-9/p≡p gesendet.


ExecuteAsync

When using endpoint ExecuteAsync function then how cann you change response http status?Thanks!

I read through docs and those examples show how it's done using HandleAsync function and not how to do it with ExecuteAsync. I prefer ExecuteAsync function bec it's is easier to unit test.

@sammontakoja You can just use the regular Send*() methods like this and at the end return your response DTO.
public class Endpoint : EndpointWithoutRequest<Response>
{
    public override void Configure()
    {
        Get("test");
        AllowAnonymous();
    }

    public override async Task<Response> ExecuteAsync(CancellationToken ct)
    {
        var response = new Response
        {
            Msg = "hello!"
        };

        await SendAsync(response, 201);

        return response;
    }
}

public class Response
{
    public string Msg { get; set; }
}

However, do note, that you can only assert on the property values of the returned result DTO. You won't be able to assert on the HTTP status codes or anything else related to the HttpContext. For that you need to be doing integration tests.


row start and column start offsets are not being applied

Discovered corruption on two sides while testing the 1.44" TFT display with ST7735R.  When I tested using Arduino, no issues were seen.
Looking at the Arduino Library code (Adafruit-ST7735), _rowstart and _colstart are being set in the function Adafruit_ST7735::initR for the different displays.  These offsets are then used to adjust the start and end points when writing data in the function Adafruit_ST77xx::setAddrWindow.  This is not being done in the CircuitPython code and is causing corruption along two edges of the screen.
I assume the offsets are the same, so it should be a simple matter of adding them to the rgb and st7735 modules.

This is a little bit more complex. First of all, the CP driver doesn't set the window once and update the whole screen each time — instead it sets the window each time there is an update, only to the area that needs to be updated. So the offsets have to be added there in the window-setting functions.
But the exact offsets that need to be added depend on the particular display module and on the rotation of the display. There are different modules on the markets that differ in how the driver chip is connected to the physical display — which results in different offsets.
I think the best would be to allow specifying the offsets in the init call, but then we get quite a lot of parameters in there. Right now I'm thinking about rewriting the whole library to get rid of inheritance, and instead use a factory function to create the display object with all the correct parameters.

I ran in to this same issue and used this code to make it work.
class ST7735Rmini(ST7735R):
    def __init__(self, spi, dc, cs, rst=None, width=128, height=128, xoffset=2, yoffset=3):
        self.xoffset = xoffset
        self.yoffset = yoffset
        super().__init__(spi, dc, cs, rst, width, height)

    def _block(self, x0, y0, x1, y1, data=None):
        super()._block(x0+self.xoffset, y0+self.yoffset, x1+self.xoffset, y1+self.yoffset, data)

Until you refactor, would you mind if we added support for offsets?
I think there are two ways to add this.
The easy way is to just edit the ST7735R devices to support it. Since I don't know how the other displays work this might be preferred to keep this particular change cleaner.
Here I also updated init since it sends _CASET/_RASET just like _block does, but it makes no difference on my TFT.
class ST7735R:
    def __init__(self, spi, dc, cs, rst=None, width=128, height=160, xoffset=0, yoffset=0):
        """
        Some variations of the ST7735R require an x,y offset to display correctly.
        For example, the type that comes with a 'green tab' sticker uses xoffset=2, yoffset=3
        """
        self.xoffset = xoffset
        self.yoffset = yoffset
        super().__init__(spi, dc, cs, rst, width, height)

    def _block(self, x0, y0, x1, y1, data=None):
        super()._block(x0+self.xoffset, y0+self.yoffset, x1+self.xoffset, y1+self.yoffset, data)

    def init(self):
        super().init()
        cols = struct.pack('>HH', self.xoffset, self.width - 1 + self.xoffset)
        rows = struct.pack('>HH', self.yoffset, self.height - 1 + self.yoffset)
        for command, data in (
                (_CASET, cols),
                (_RASET, rows),
                (_NORON, None),
                (_DISPON, None),
        ):
            self.write(command, data)

The other way is add xoffset/yoffset to Display and then anything that wants to be able to set an offset can pass it in. It would be similar to this:
class Display:
    def __init__(self, width, height, xoffset=0, yoffset=0):
        #save offsets

    # update _block

class DisplaySPI
    def __init__(self, spi, dc, cs, rst=None, width=1, height=1,
baudrate=12000000, polarity=0, phase=0, xoffset=0, yoffset=0):
        # pass them to super

class <anything based on Display that cares>
    def __init__(self, spi, dc, cs, rst=None, width=128, height=128, xoffset=0, yoffset=0):
        # classes that do *not* send the offset during init can just pass them to super

class ST7735R:
    # since it sends CASET/RASET in init we might as well use the offset
    # though it also uses it when sending pixels so i don't think it matters
    def init(self):
        super().init()
        cols = struct.pack('>HH', self.xoffset, self.width - 1+self.xoffset) # add offset
        rows = struct.pack('>HH', self.yoffset, self.height - 1+self.yoffset) # add offset
        #etc

Hi @riffautae, your suggestions are both good however I believe this library is largely going to be replaced by individual drivers for each controller type using the new displayio Display object that will be available in Circuit Python 4 which is in beta right now. Now that I think of it however it may stick around to support Circuit Python 3.
I did essentially the same thing as you for a small ST7735R display however the Display object in displayio supports x and y offsets which should handle both our use cases once the ST7735 driver is complete.
Since it sounds like you already have code that works for you, you have several options:

Keep a local copy of the driver with whatever changes you want for your use case
Submit a PR to this repo with whichever version of the above you think makes the most sense (both seem fine to me) and it can be further discussed in the PR conversation
Modify the the init commands for the ST7735 to a format that can be passed to a Display object and use that directly, similar to this example for the ILI9341:
https://gist.github.com/tannewt/607dbda68d5cbd202d9d62e049c7bd16
Help out by doing the above and then wrapping it up into a driver like this displayio based driver for the ILI9341:
https://github.com/adafruit/Adafruit_CircuitPython_ILI9341/blob/master/adafruit_ili9341.py
Wait for the displayio driver; someone may already be working on this

I did some initial porting of the init code for the ST7735 however it's not working yet and needs some debugging. I'm more than happy to share it if you're interested.

I will look into making a displayio driver for it.
I'll also submit a pr for the shorter change for the ST7735R specifically. Since there is a new system I don't think its worth trying to adapt all the old code.

Fixed by #24.


Update SwiftPM package syntax in documentation

Updated to match syntax in README.md.
Maybe these were intentionally left because the package has a minimum tools version of 4.2?

Thanks!
@tbkka looks like the checks failed to run again for some reason, something get disabled again?

Thanks!
@tbkka looks like the checks failed to run again for some reason, something get disabled again?


Wallchain open issues

Open items Nest (ported from Paloma)
Nest connect issues

[ ] I can't connect to Palomaswap by importing an existing wallet https://www.loom.com/share/90dcfa4a6365447f99c0d35a120da81c

Metamask connect issues

[ ] users can connect to unsupported chains: LOOM 1 LOOM 2
[ ] I'm not getting a message to add Binance smart chain when it's not yet added to my wallet https://www.loom.com/share/7c8a353ec2bf488ba2c4a9c894cdd7fd

Other Metamask issues

[x] The wallet balance doesn't show the correct token symbol when not on ETH mainnet.

[x]  The amount is in the wallet info on the top right is correct, but it should show BNB symbol when on Binance chain, Matic symbol when on Matic chain ...
[ ] The "amount in wallet" number underneath the swap token shows 0 instead of the correct amount

Closing as won't fix.


feat(*):ignore sentinel channel

shake在同步2个mastername一样的实例的时候，由于__sentinel__:hello的信息，从源实例同步到目的实例，使得源和目的的sentinel信息实现了通讯，从而使得目的实例，跟源实例混在一起（相当于，2组sentinel进行了投票，多余的节点全部变成了slave），导致迁移失败。
所以，有必要过滤掉__sentinel__:hello频道的信息，避免源实例和目标实例混在一起。

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.zhuhuikang seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

感谢PR


gRPC client and service without Protobuf

Although solved partially with #1703, but it'd be nice if we can let our users use an alternative marshaller instead of Protobuf while still using gRPC-Java API, as demonstrated in this blog post by @carl-mastrangelo: https://grpc.io/blog/grpc-with-json/
@anuraaga told me it is already possible on the server side since we allow a user to mount any BindableServices, but client-side needs some more work like exposing ArmeriaClientCall to a user.
I'd also be nice if we provide some working example, which is similar to grpc-gateway with some twist, e.g. using Jackson's JsonNode tree as a message.
(Initially requested by @okue)

but client-side needs some more work like exposing ArmeriaClientCall to a user.

Just to make it sure that this does not bring another breaking change, right?

It shouldn't, we'd expose a new accessor using the gRPC interfaces without exposing classes.

Eventually like this:
ClientCall call = Clients.builder(...).....build(ClientCall.class);

Thanks for the confirmation!


Add ArchUnit tests to this boilerplate as well

Would it be a good idea to bake in the ArchUnit tests into this boilerplate so it comes out of the box? Should I pick that up?

@awkshwayrd this is a good idea. Please pick it up.


[Material][ChipGroup] SelectedItem does not work

Current behavior
Defining a SelectedItem (used as default or with Mode=TwoWay) does not display the selected item.
I got this by wrapping the ChipGroup in a DelayControl from Nventive.View.Controls, but that's not a proper solution. Also, this solution does not work on UWP.
Here's what I have on Wasm, following my repro steps :

My repro steps are pretty basic. This issue comes from another project, where we use ViewModels to get both the ItemsSource and SelectedItem.
Expected behavior
SelectedItem should work with a default value, highlighting the selected item at render.
How to reproduce it (as minimally and precisely as possible)

Clone this repo
Add those two lines in TestCollections (src\samples\Uno.Themes.Samples\Uno.Themes.Samples.Shared\Entities\Data\TestCollections.cs)

public static IEnumerable<SelectableData> TestArray { get; } = CreateItems();
public static SelectableData TestItem { get; } = TestArray.First();

Add this to ChipSamplePage.xaml (src\samples\Uno.Themes.Samples\Uno.Themes.Samples.Shared\Content\Controls\ChipSamplePage.xaml)

<!-- GroupChip Choice with selected item -->
<TextBlock Text="Choice with selected item"
		   Style="{StaticResource MaterialSubtitle1}" />
<smtx:XamlDisplay UniqueKey="ChipSamplePage_GroupChip_Choice_WithSelectedItem"
				  Style="{StaticResource XamlDisplayBelowStyle}">

	<ScrollViewer HorizontalScrollMode="Auto"
				  HorizontalScrollBarVisibility="Auto"
				  VerticalScrollMode="Disabled"
				  VerticalScrollBarVisibility="Hidden">

		<chips:ChipGroup ItemsSource="{Binding Data.TestArray}"
						 SelectedItem="{Binding Data.TestItem}"
						 Style="{StaticResource MaterialChipGroupStyle}"
						 ItemContainerStyle="{StaticResource MaterialPrimaryChipStyle}"
						 SelectionMode="Single"
						 Margin="8,0,8,8">

			<chips:ChipGroup.ItemTemplate>
				<DataTemplate>
					<TextBlock Style="{StaticResource MaterialBody1}">
					<Run Text="Item #" /><Run Text="{Binding Index}" />
					</TextBlock>
				</DataTemplate>
			</chips:ChipGroup.ItemTemplate>
		</chips:ChipGroup>
	</ScrollViewer>
</smtx:XamlDisplay>

Environment
Nuget Package: Uno.Material
Package Version(s): 1.0.0-dev.788
Affected platform(s):

[x] iOS
[x] Android
[x] WebAssembly
[x] UWP (chips simply don't work, check issue #611)
[x] MacOS

After pairing with @agneszitte-nventive we identified another issue related to this one .
https://github.com/unoplatform/Uno.Themes/issues/624


[AIRFLOW-1911] Rename celeryd_concurrency

There are still celeryd_concurrency occurrences left in the code this needs to be renamed to worker_concurrency to make the config with Celery consistent
Make sure you have checked all steps below.
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-XXX

Description

[x] Here are some details about my PR, including screenshots of any UI changes:

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

[ ] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

Lgtm

Maybe a test?

Codecov Report

Merging #2870 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2870   +/-   ##
=======================================
  Coverage   73.96%   73.96%
=======================================
  Files         160      160
  Lines       12157    12157
=======================================
  Hits         8992     8992
  Misses       3165     3165

Impacted Files
Coverage Δ

airflow/bin/cli.py
53.73% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c70d8f5...06fc554. Read the comment docs.

A lot of config, not so much logic, not sure if a test would add a lot of value here.

LGTM +1


VR Loses Instance  IP Address

ISSUE TYPE

Bug Report

COMPONENT NAME

VR

CLOUDSTACK VERSION

4.11.3

CONFIGURATION

OS / ENVIRONMENT

SUMMARY

After the ACS is upgraded to 4.11.3, the VM on the shared network usually loses its IP address (it cannot obtain an IP address in the guest VM).
Analysis of the cloud.log in vr, we found that sometimes restarting or deleting the A VM will cause the B VM to disappear in /etc/dhcphosts.txt.
Because /etc/dhcphosts.txt is inconsistent with the data in /var/lib/misc/dnsmasq.leases. This triggers delete_leases to remove the IP address of the B VM from the DHCP server.
This bug should come from #3351
STEPS TO REPRODUCE

EXPECTED RESULTS

ACTUAL RESULTS

@nvazquez

Can you review/test and advise @nvazquez and if it's an easy fix we can aim to get it in <IP_ADDRESS>

From which versions did you upgrade @div8cn ?

Hi @div8cn I could not reproduce this on 4.11.3. Did you hit the same issue on an prior existing network after upgrading as well as on new networks after upgrading or just the exsiting ones?

I am having problems after upgrading VR after upgrading 4.11.3.
I can't reproduce this problem in my test environment right now.
There are currently 8 share networks in my production environment, all of which have different levels of IP loss, and both occur after upgrading VR.

From which versions did you upgrade @div8cn ?

I upgraded from 4.11.2 to 4.11.3
The host is xenserver 7.1.2

Thanks @div8cn, did you hit the issue recreating the VRs using the new system VM template?

System template has been updated
Vr has also completed the upgrade

Couldn't reproduce myself...

Couldn't reproduce either

Thanks @andrijapanicsb @nvazquez I've moved it to next minor milestone, this is not a blocker for 4.13.

@andrijapanicsb @nvazquez @rhtyd We have similar bug after upgrade from 4.11.2 to 4.11.3 (kvm hosts)

We are managing a 800+ VM environment with XenServer 7.1CU2 and ACS 4.11.3.  We have hit this instance IP lose issue for multiple times which has not been seen while we stayed with ACS 4.11.2.

@DmB991  Just curious, how many running VMs in your environment which you saw this issue ?  And did you take any chance  to rebuild the VR if it solved this issue ?

@luhaijiao We use CloudStack for testing our network product, so we create and destroy huge amount of networks and VMs(more than 5000) every day and we see this issue really often. We just returned to version 4.11.2

Can you guys perhaps make a correlation with the out-of-band live migration (vSphere, DRS, XenServer,etc. - i.e. that ACS is not aware of) - and if this triggers the thing.
We are observing specific situation which seems related to DRS doing the out of band migration, then that VM's power off report is sent back to ACS, so it immediately removes it's DNS/DHCP (new in 4.11.3, to clean the garbage - it's bit complicated to explain atm) - but later ACS gets another power on report - so doesn't issue specifically an internal "Stop" command - and VM remains happily running, but it's DNS/DHCP records are gone...
We are planning some changes in the logic, i.e. wipe DNS/DHCP only when the VM is expunged, not when it's stopped etc.
But I would be happy if you can make a correlation of your to mine situation/root cause.

Thank you for your reply
Sometimes we do skip ACS and migrate VMs directly through xencenter.
We will test again, hoping to reproduce the fault.

Fixed in master @div8cn @DmB991 @luhaijiao  - we now remove DHCP config only when VM is expunged - not before - so any DRS/live migrations outside of the CloudStack - will not influence VM to lose its IP address. Please test when you have time.

@andrijapanicsb Can you link the relevant PR? I couldn't find the code fixing this in master and also in 4.11. Thanks in advance

PR #3627 (that one is work on top of #3608)
There is additional planned work to also regenerate the dnsmasq.leases file inside the new VR - and then finally everything will be stable and "how it's supposed to be"


Venue: replace members of a group when a member is added

When directly adding an email to the reviewers group, we should make sure to replace the email with the profile ID. This will help in the issue caused by PCs making assignments with email addresses.

I'm now thinking that I don't know where this process function should be stored.


Still maintained?

Hello @friedrith! 👋
I stumbled upon your node-wifi library on npm, and I must say I'm impressed with its featureset! However, I noticed that there are quite a few open issues on GitHub and the last commit was 9 months ago on a different branch. As a developer, I'm hesitant to use the library without knowing if it's still maintained.
I'm writing to ask if the project is still actively maintained? Would my PRs be accepted, or would they be stuck in PR limbo? I understand that maintaining an open-source project can be challenging, and I completely respect your decision if you're not able to continue with this project. If it's still active, I would love ❤ to contribute to it!
Thank you for your time and effort in creating this library! 🤗

@jcbhmr also interested in this. Some changes have taken place since the start of this repo. I am currently struggling with WPA3 and nmcli on linux and looking for a solution. Any fork of this, that is well maintained?


Dependent properties

It would be nice if we could configure one property based on the value of another. For instance, in an android project, we might want to alter the way a build works if it's ran from within android studio. Android studio sets android.injected.invoked.from.ide=true but we might want to map that to a more generic flag that's used from the command line called fastBuild (for example).
So, in the setup for fastBuild we might have something like this where we use something that results in a Boolean:
    bool("fastBuild") {
        description.set("Skips production logic resulting in much faster builds.")
        defaultValue.from("android.injected.invoked.from.ide" || anotherProperty)
    }

This would let us pull the default value from another variable, rather than hard coding it. I do see that we could pass in a Provider<Boolean> as the default value - could that be used to achieve this logic?
Another option could be something like this, but it feels really messy (pseudocode..). This also might just be checking to see if we have a property with the path, rather than what it's value is - it doesn't seem like you can do a "lazy" lookup and get a value.
defaultValue.set(!buildParameters.parameters.get().none { it -> it.propertyPath == "android.injected.invoked.from.ide" })

This is a topic @britter already discussed many times. My concern is that we add too much complexity and functionality into this plugin. It feels like we might end up with a whole expression language to combine values.
For me, there is a line between the "build user" (person calling the build e.g. from the command line) and the "build author" (person using the type-safe accessors to setup the build logic). While the build authoring aspect is certainly important (hence the type-safe accessors) the main focus, from my perspective, should be on the build user so that she gets a clean understanding of what parameters exist and also gets error/warning if using something wrong. "Derived parameters" are something that only concern the "author" side, but not the "user" side.
What we always ended up with in our discussions is that if you have such a "derived value", you could define your own extensions/variables for this inside your build logic.
In your example. What about you define your own extension like this:
// Values used by the build author in the build configuration; not sen from "outside"
interface DerivedParameters {
    val fastBuild: Property<Boolean>
}

val derivedParameters = extensions.create<DerivedParameters>("derivedParameters")

derivedParameters.fastBuild.set(buildParameters.ci || buildParameters.dbHost == "<IP_ADDRESS>")

To use the generated build parameter accessors inside convention plugin code, you can have one subproject for the build parameters and another one for your custom code.
Here is a full example: https://github.com/gradlex-org/build-parameters/blob/derived_parameters_example/samples/basics/gradle/plugins/java-plugins/src/main/kotlin/my-java-library.gradle.kts

That sample does work. Thank you. It's perhaps a little confusing to have two places for build variables, but with some documentation and team training I think it's maintainable.

We understand how this would be a helpful feature. However, the challenge is that the build script DSL for defining parameters is made up of meta types describing the actual types of the generated plugin. E.g. a build author describes a parameter of type Boolean, but they configure an object of type BooleanParameter. For this reason, you can't write something like defaultValue.set(thisParam || thatParam). thisParam and thatParam are not of type boolean, so the || is not applicable. It would be possible to implement a set of combinator operations for all supported parameter types, but as pointed out by @jjohannes we're afraid that we will introduce a custom expression language that we would have to maintain.
For that reason, we've decided to close this for now. If we see more people asking for this, we may reconsider our decision.


in oVirt 4.1.0, The events in VM doesn't apper

version: oVirt Engine Version: 4.1.0-0.0.master.20161120231325.gitba51756.el7.centos
The events doesn't appear in the vm Events tab, (not after sync too.. )
if i press on 'Clear Local Events', and then sync -> if o go to the events tab in the VM, the events appear.

This is caused by maximum limit of events and/or events search query. The events sync in vm, hosts, etc. fires only global event sync. So events of some vms, etc. are over the limit.
This could be fixed by fetching predetermined number (another entry in settings?) of events in VmActivity.
any other ideas?

checking this on movirt version 1.7, and the events doesn't appear even after 'Clear Local Events' and sync.


Change behavior of keyboard interupt

Right now, if the user gives the keyboard interupt Ctrl-C, it exists DESC entirely. Another option that might be more convenient for interactive use would be if it opened a small terminal menu, where the user could select options like, press c to continue, press l to exit the current loop and proceed to the next outer iteration, press e to exit all loops and go to the end of the program (but still saving and plotting data), press d to enter debugger at current position. If they really want to hard exit, they'd do Ctrl-C twice (like when exiting jupyter)

With the code being a lot faster and more robust than it has been previously, i dont think this is really necessary so closing it for now.


Package request: chef-workstation

Project description
Chef Workstation is Chef's modern developer tool kit that includes Chef Infra, InSpec and Habitat plus a host of resources, helpers and testing tools that make automating infrastructure, application and security testing easier than ever. With Chef Workstation DevOps automators can create, test and deliver codified artifacts all within their preferred developer environment.
Metadata

homepage URL: https://www.chef.io/downloads/tools/workstation
source URL: https://github.com/chef/chef-workstation
license: apache 2.0
platforms: linux, darwin

I was able to package omnibus for this, but the problem is that I am not sure how does it recognize programs specified on config/software, as I'm getting a:
I could not find a software named `pkg-name' in any of the software locations:
/build/source/omnibus/config/software

I have curl on the nativeBuildInputs (shown below), but it is not being recognized:
{ lib
, stdenv
, fetchFromGitHub
, substituteAll
, omnibus
, curl
}:

stdenv.mkDerivation rec {
  pname = "chef-workstation";
  version = "23.9.1049";

  src = fetchFromGitHub {
    owner = "chef";
    repo = "chef-workstation";
    rev = version;
    hash = "sha256-u0bDOXcJggPt+4VWAIq1xNnRofGZKXIp54aqbCgg4qk=";
  };

  nativeBuildInputs = [
    curl
    omnibus
  ];

  patches = [
    ./0001-omnibus-setup.patch
  ];

  preBuild = ''
    export HOME="$(mktemp -d)"
    cd omnibus
    substituteInPlace kitchen.yml \
      --replace "install_dir:         /opt/chef-workstation" "install_dir:         $out/opt/chef-workstation"
  '';

  buildPhase = ''
    runHook preBuild

    curl --help #Works
    omnibus build chef-workstation #Throws 'I could not find a software named `curl' in any of the software locations'

    runHook postBuild
  '';
}

Any help appreciated

Hi @WolfangAukang ,
I managed to package chef-workstation for my personal use.
You can circumvent omnibus entirely by simply using this Gemfile . This is what omnibus itself uses to create chef-workstation .
I wanted to PR this package to nixpkgs, but unfortunately due to what I think are bugs in rubyEnv I could only get the package working with this  external rubyEnv fork..
This said, here are the files I'm using to get a chef-workstation package:
https://gist.github.com/rafaelsgirao/48cbd9f9e4a71a095bb43c58dadc0188
Feel free attempt to package this on nixpkgs without relying on that external flake. And please mention me if you do :)

Thank you @rafaelsgirao. In the end, I saw you have it on your nixos-config repo, so I can simply pull it from there in case I need it.


ORCID authentication bug on Sandbox/Demo.

I'm using the DSpace 8 sandbox at https://sandbox.dspace.org/home. When clicking the Log in with ORCID button I am directed to the ORCID sandbox, which does not allow me to log in. (It states it uses only mailinator.com addresses and has a defunct "more information" link. I'm also noting the same problem on the DSpace 7 demo site. I'm using Firefox.
To Reproduce
Steps to reproduce the behavior:

Go to https://sandbox.dspace.org/
Click login in upper right corner
Click the Log in with ORCID button.

Expected behavior
I expected to be able to login with ORCID since the option was presented to me.

@librariankimberly : I wanted to briefly note here that unfortunately this isn't really a "fixable" problem.   We are purposefully using the ORCID Sandbox as this is a test server & we don't want to mess with individuals real ORCID data.
ORCID's policy for their ORCID Sandbox is that it will only accept Mailinator (@mailinator.com) email addresses.  More information from them on how to use Mailinator (which is a free service) is in their Sandbox docs at: https://info.orcid.org/documentation/integration-guide/sandbox-testing-server/  (Click on the "How do I register a test client.." link which has all the details).
I do realize this makes ORCID authentication more difficult to test (as you'd have to setup a temporary Mailinator address first).  But, DSpace doesn't have any way to change this policy, as this is ORCID's policy.
So, I appreciate that you logged this ticket because it gives the opportunity to document (in this ticket) why ORCID works this way on our https://sandbox.dspace.org (and https://demo.dspace.org) sites.  Unfortunately, though, there's no way for us to solve this issue, so I'm going to close the ticket.  That said, even while the ticket is closed, it is possible to add more questions/comments here (and I'll still be notified of them). So, if you have any, please do let me know.

Thanks for the response. This makes sense and I suspected there was a reason behind this. Should this be tested? If so, I'll adjust the test to indicate what would need to happen to test this and when I have some time, I'll follow the instructions you've indicated. @tdonohue

@librariankimberly : It's not as important to test for 8.0 as there were no significant changes between 7.x and 8.0 ( that I recall). But, that said, if someone in DCAT can find time to test it, I'm of the opinion that it'd be "nice" to have everything retested.  (Sometimes a fix in one area of the code can have unexpected consequences elsewhere)
So, it'd be nice to test if there is interest.  But, it's not the highest priority.

[like]  Chapman, Kimberly A - (kimberl... reacted to your message:

From: Tim Donohue @.>
Sent: Wednesday, April 10, 2024 4:54:58 PM
To: DSpace/dspace-angular @.>
Cc: Chapman, Kimberly A - (kimberlychapman) @.>; Mention @.>
Subject: [EXT]Re: [DSpace/dspace-angular] ORCID authentication bug on Sandbox/Demo. (Issue #2917)
External Email
@librariankimberlyhttps://github.com/librariankimberly : It's not as important to test for 8.0 as there were no significant changes between 7.x and 8.0 ( that I recall). But, that said, if someone in DCAT can find time to test it, I'm of the opinion that it'd be "nice" to have everything retested. (Sometimes a fix in one area of the code can have unexpected consequences elsewhere)
So, it'd be nice to test if there is interest. But, it's not the highest priority.
—
Reply to this email directly, view it on GitHubhttps://github.com/DSpace/dspace-angular/issues/2917#issuecomment-2048043718, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKA7RKOAYZZPFJMQJZ4IDYTY4VVGFAVCNFSM6AAAAABGAVRYKGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBYGA2DGNZRHA.
You are receiving this because you were mentioned.Message ID: @.***>


Customize the Dark Theme #72

Fixed on hover color

I will close this pull request, please resubmit in the future :)


Recommended way to offset a collider?

I have a body with the KinematicCharacterController component, I want to offset the collider on this body from the centre (since the sprite isn't centred). I tried the following but the character controller doesn't work without a collider attached directly to it:
commands
        .spawn(RigidBody::KinematicPositionBased)
        .insert(KinematicCharacterController::default())
        .insert(SpriteSheetBundle {
            sprite: TextureAtlasSprite {
                index: 0,
                ..Default::default()
            },
            texture_atlas: atlas,
            transform: Transform::from_xyz(0.0, 0.0, 1.0),
            ..Default::default()
        })
        .with_children(|children| {
            children
                .spawn(Collider::cuboid(6.5, 10.5))
                .insert(TransformBundle::from_transform(Transform::from_xyz(
                    1.0, -8.0, 0.0,
                )));
        });

Could do this with a Compound collider with a single collider:
Collider::compound(vec![(Vec3::new(1.0, -8.0, 0.0), 0.0, Collider::cuboid(6.5, 10.5))])

You can also view it the other way around, and offset the sprite through its hierarchy.

You can also consider doing it the other way around: offset the sprite through its hierarchy.

Does that work with the KinematicCharacterController now?

I might have misunderstood the issue, but rather than having:

parent with sprite + rigidbody

child with collider

I was suggesting

parent with rigidbody + collider

child with sprite, which you can specify any offset you want.

I think that would work, but I'm all ears if it's not enough!
For me the real issue is probably that it doesn't work without a collider 🤔.


iCal parsing doesn't process multiple rules

iCal parsing is only handling the last rule processed, example:
schedule = IceCube::Schedule.new
schedule.add_recurrence_rule IceCube::Rule.weekly.day(:monday, :tuesday)
schedule.add_recurrence_rule IceCube::Rule.weekly(2).day(:friday)

cal = schedule.to_ical
=> "DTSTART;TZID=CDT:20151005T195541\nRRULE:FREQ=WEEKLY;BYDAY=MO,TU\nRRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU;BYDAY=FR"

parsed = IceCube::Schedule.from_ical(cal)
parsed.recurrence_rules.size
=> 1

cal2 = parsed.to_ical
=> "DTSTART;TZID=CDT:20151005T195541\nRRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU;BYDAY=FR"

:+1: just jumped into this issue

:+1:

I have this https://github.com/seejohnrun/ice_cube/pull/308 for your consideration.


2.2.22 Release not working with TFS 2017 Update 2 on premise

The latest release 2.2.22 often fails to load the editing control with TFS 2017 Update 2.

+1
we've got the same problem

+1

+1 also not working on TFS2018U3

+1 TFS2017U3

+1 TFS2018U1

+1 TFS2018U2

+1 TFS 2018 U3

@ostreifel The commit  921085f has seemed to of broken the Multivalue control now, we are running the 2.2.22 version on TFS 2017 Update 3

@Scott-Emberson that commit is version 2.2.25 not 2.2.22. The issue you are referring to is what is patched by that commit.

@ostreifel It looks like 2.2.25 is not available still.

The update is avaliable on the marketplace
https://marketplace.visualstudio.com/items?itemName=ms-devlabs.vsts-extensions-multivalue-control
However, it could be that your on premise server has not auto updated to the new version yet.
You can manually upgrade an extension (if you have the right permissions) by uploading the new vsix.

@Scott-Emberson Try to install it from marketplace without uninstalling previous version. You'll get error, that extension already installed. But after that will be 2.2.25 version.

Thanks @insanity13 this force the update and it's now working.


fix: Scrolling causes the crypto icons to clip over the banner

The need to add /fox-farm to the url to avoid a 404 error has been added to the README.
The need to run the command rm -f ./npmrc to fix the error "Failed to replace env in config ${NPM_TOKEN}" has been added to the README.

approved, pending a check that the removal of .npmrc doesn't break CI

conditionally approved waiting for @reidrankin confirmation so we can pay out the bounty!

Unfortunately, I didn't set up the CI for this and have no Cloudflare access to check how it works. I think maybe @con5cience did? We either need to check before merge to make sure the .npmrc won't break anything -- or maybe just #sendit and be ready to revert if it does


Can't specify unlock passwords from command line

It would be really convenient to allow my scripts to unlock the certificates automatically during a build.  But since it the commands don't allow specifying the passwords, this isn't easily automated.

You can specify these as env variables:
PGB_KEY_PASSWORD # android, ios, windows
PGB_KEY_KEYSTORE_PASSWORD # android

eg.
export PGB_KEY_PASSWORD=abc
export PGB_KEYSTORE_PASSWORD=def
pgb unlock-key android 12

That is just what I needed.
Thanks
From: Brett Rudd<EMAIL_ADDRESS>Sent: Wednesday, June 13, 2018 1:04 PM
To: phonegap-build/pgb-cli<EMAIL_ADDRESS>Cc: Scott Hellewell<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [phonegap-build/pgb-cli] Can't specify unlock passwords from command line (#7)
You can specify these as env variables:
PGB_KEY_PASSWORD # android, ios, windows
PGB_KEY_KEYSTORE_PASSWORD # android
eg.
export PGB_KEY_PASSWORD=abc
export PGB_KEYSTORE_PASSWORD=def
pgb unlock-key android 12
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/phonegap-build/pgb-cli/issues/7#issuecomment-397067508, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQtVHAe0nyqkn6sTbWVzBjdQ_V-Ujg9Lks5t8XA1gaJpZM4UmdOe.


[FLINK-11696][checkpoint] Avoid to send mkdir requests to DFS from task side

What is the purpose of the change
Previously, not only checkpoint coordinator but also tasks would always send those mkdir requests out when initialization. This would actually put a lot of pressure to master of distributed file system.
This pull request avoids to call file system's mkdir when creating CheckpointStorage, but call it only once when checkpoint coordinator initializeLocationForCheckpoint.
Brief change log

Move the mkdir operations lazily to first initializeLocationForCheckpoint instead of each time when creating the CheckpointStorage.

5bdbbd9a Rebase code and introduce new method initializeBaseLocations for CheckpointStorageCoordinatorView to initialize those directories.

Verifying this change
This change added tests and can be verified as follows:

refactor testStorageLocationMkdirs to verify checkpoint directories would be created once initializeLocationForCheckpoint instead of each time creating the CheckpointStorage.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Build failed due to FLINK-12164, re-trigger again.

As some guys at user mail list already look forward for this improvement, @StefanRRichter would you please take a look at this PR again?

@flinkbot run travis

As some guy already try to adopt this PR in the JIRA, and we already include this PR in our blink branch for quite a long time. @pnowojski would you please take a look at this PR?

Since this PR has stayed for quite a long time, just rebase with latest master code to trigger CI again.

Hi @Myasuka ,
I'd like to review this PR to get it hopefully merged this week. Could you please squash your commits, so that I don't see outdated discussion with StefanRRichter ?
Thank you!

@AHeise thanks for your reply, but from my mind, you could directly review my code at Files changed tab which includes all changes. Since you don't want to see the outdated discussion, I think you could start review on the 74 lines directly as a totally new PR instead of taking account of  previous discussion.

@AHeise Thanks for your review, already address your comments.

@AHeise Thanks for your review, already address your comments and squash all commits into one commit.

@pnowojski Go it, thanks for your suggestion.


Youtube: sound is muted after a user perform drags on the progress bar

Using the plyr for Youtube, after the user performs a dragging action on the progress bar, the sound is muted
Expected behaviour
The sound should stay the same
Actual behaviour
The sound is muted and the audio progress bar or button do not reflect the sudden change on the sound system.
Environment
Production v3.3.12

Browser: Chrome
Version: 67.0.3396.79
Operating System: Mac
Version: 10.12.6

Steps to reproduce

Go to https://plyr.io/#youtube
Click to play the video, make sure that the sound is enabled
Drag the progress bar back and forth a couple of times
Play the video

Notice how the sound is muted and that the sound button are not on the muted setting

Got the same bug with using currentTimeto start videos at a specific time. The "volumechanged" event is triggered as well. Having this problem since Plyr 3.3.8, version 3.3.7 works just fine.

Thanks for the report. This has been mentioned before but I couldn't replicate it. I think I know how this got introduced.


Multiple new lines / line breaks are ignored

using following:
const copy = `
# h1 Heading 8-)
## h2 Heading 8-)
### h3 Heading 8-)

Just some randome text fto read here

\n\n\n

* one
* twoo
* threee
`;

const bodyStyles = StyleSheet.create({
  // eslint-disable-next-line react-native/no-unused-styles
   paragraph: {
     color: 'white',
     fontSize: 14,
     borderWidth: 1,
     borderColor: 'black',
     margin: 0,
     marginTop: 0,
     marginBottom: 0,
  },
  // eslint-disable-next-line react-native/no-unused-styles
  listUnorderedItemIcon: {
    color: 'white',
    fontSize: 14,
    lineHeight: 14,
    borderWidth: 1,
    borderColor: 'black',
    textAlign: 'center',
    alignSelf: 'center',
  },
  listItem: {
     borderColor: 'blue',
    borderWidth: 1,
  },
  listUnordered: {
    borderColor: 'yellow',
    borderWidth: 1,
  },
  listUnorderedItem: {
    borderColor: 'cyan',
    borderWidth: 1,
  }
});

There is no space between text and list during rendering.

I see the libarary styles having hardbreak and softbreak (https://github.com/iamacup/react-native-markdown-display/blob/master/src/lib/renderRules.js#L152)
but i think the parser options should be specify that right?
https://github.com/iamacup/react-native-markdown-display/blob/master/src/index.js#L140
vs
https://github.com/markdown-it/markdown-it/blob/master/README.md#init-with-presets-and-options

so you can specify breaks by doing something like this:
import Markdown from 'react-native-markdown-display';
import MarkdownIt from 'react-native-markdown-display/src/MarkdownIt';

...

<Markdown
  markdownit={
    MarkdownIt({
      breaks: true,
    })
  }
>
  {copy}
</Markdown>

...

but something wierd is happening...
const copy = `
first line
second line
\
\
\
\
tada
`;

should output this
but we get something like this:

however if we examine the generated tree with this
const mdi = MarkdownIt({ breaks: true });
console.log(mdi.parse(copy, {}));

we see the \ are being translated badly it would seem by markdown it.... which is strange.
I need to do some more tests

@iamacup any update on this issue ?
Input
**Hello**

_This is me_

Regards

When i am rendering this string in markdown display it ignores all the breaks and combine all the lines together like
Output
Hello_This is me_Regards
  <Markdown
    markdownit={
      MarkdownIt({ typographer: true, linkify: true,breaks: true,
      }).disable(['blockquote', 'list', 'code'])
    }
    onLinkPress={(url) => onLinkPress(url)}
    style={{ link: { color: '#007BC7' } }}
    rules={rules}
  >
    {body}
  </Markdown>

What you are asking about is an unrelated issue, this issue is specifically about multiple successive linebreaks not all linebreaks,
Can you provide a full code example for your issue? Like what have you done to the rules etc.

@iamacup Thankyou for ur response!
const rules = {
  body: (node, children, parent, styles) => children,
  heading1: (node, children, parent, styles) => (
    <Text>
      {children}
      {'\n'}
    </Text>
  ),
  heading2: (node, children, parent, styles) => (
    <Text>
      {' '}
      {children}
      {'\n'}
    </Text>
  ),
  heading3: (node, children, parent, styles) => (
    <Text>
      {' '}
      {children}
      {'\n'}
    </Text>
  ),
  paragraph: (node, children, parent, styles) => children,
};

export const MarkdownText = ({ body, onLinkPress }) => (
  <Markdown
    markdownit={
      MarkdownIt({ typographer: true, linkify: true,breaks: true,
      }).disable(['blockquote', 'list', 'code'])
    }
    onLinkPress={(url) => onLinkPress(url)}
    style={{ link: { color: '#007BC7' } }}
    rules={rules}
  >
    {body}
  </Markdown>
);

This is the code block.
I want to handle multiple successive linebreaks in this scenario. Kindly guide me how can i achieve this

So - here is the lo-down on this issue:

https://markdown-it.github.io/#md3={"source"%3A"This first line\n\\\n\\\n\\\n\\\n\\\nThis seccond line"%2C"defaults"%3A{"html"%3Afalse%2C"xhtmlOut"%3Afalse%2C"breaks"%3Atrue%2C"langPrefix"%3A"language-"%2C"linkify"%3Atrue%2C"typographer"%3Atrue%2C"_highlight"%3Afalse%2C"_strict"%3Afalse%2C"_view"%3A"debug"}} - this is an example of markdown-it apparently parsing the new lines correctly with breaks: true

This outputs the following JSON from the parser - markdownit.parse(...):
[
  {
    "type": "paragraph_open",
    "tag": "p",
    "attrs": null,
    "map": [
      0,
      7
    ],
    "nesting": 1,
    "level": 0,
    "children": null,
    "content": "",
    "markup": "",
    "info": "",
    "meta": null,
    "block": true,
    "hidden": false
  },
  {
    "type": "inline",
    "tag": "",
    "attrs": null,
    "map": [
      0,
      7
    ],
    "nesting": 0,
    "level": 1,
    "children": [
      {
        "type": "text",
        "tag": "",
        "attrs": null,
        "map": null,
        "nesting": 0,
        "level": 0,
        "children": null,
        "content": "This first line",
        "markup": "",
        "info": "",
        "meta": null,
        "block": false,
        "hidden": false
      },
      {
        "type": "softbreak",
        "tag": "br",
        "attrs": null,
        "map": null,
        "nesting": 0,
        "level": 0,
        "children": null,
        "content": "",
        "markup": "",
        "info": "",
        "meta": null,
        "block": false,
        "hidden": false
      },
      {
        "type": "hardbreak",
        "tag": "br",
        "attrs": null,
        "map": null,
        "nesting": 0,
        "level": 0,
        "children": null,
        "content": "",
        "markup": "",
        "info": "",
        "meta": null,
        "block": false,
        "hidden": false
      },
      {
        "type": "hardbreak",
        "tag": "br",
        "attrs": null,
        "map": null,
        "nesting": 0,
        "level": 0,
        "children": null,
        "content": "",
        "markup": "",
        "info": "",
        "meta": null,
        "block": false,
        "hidden": false
      },
      {
        "type": "hardbreak",
        "tag": "br",
        "attrs": null,
        "map": null,
        "nesting": 0,
        "level": 0,
        "children": null,
        "content": "",
        "markup": "",
        "info": "",
        "meta": null,
        "block": false,
        "hidden": false
      },
      {
        "type": "hardbreak",
        "tag": "br",
        "attrs": null,
        "map": null,
        "nesting": 0,
        "level": 0,
        "children": null,
        "content": "",
        "markup": "",
        "info": "",
        "meta": null,
        "block": false,
        "hidden": false
      },
      {
        "type": "hardbreak",
        "tag": "br",
        "attrs": null,
        "map": null,
        "nesting": 0,
        "level": 0,
        "children": null,
        "content": "",
        "markup": "",
        "info": "",
        "meta": null,
        "block": false,
        "hidden": false
      },
      {
        "type": "text",
        "tag": "",
        "attrs": null,
        "map": null,
        "nesting": 0,
        "level": 0,
        "children": null,
        "content": "This seccond line",
        "markup": "",
        "info": "",
        "meta": null,
        "block": false,
        "hidden": false
      }
    ],
    "content": "This first line\n\\\n\\\n\\\n\\\n\\\nThis seccond line",
    "markup": "",
    "info": "",
    "meta": null,
    "block": true,
    "hidden": false
  },
  {
    "type": "paragraph_close",
    "tag": "p",
    "attrs": null,
    "map": null,
    "nesting": -1,
    "level": 0,
    "children": null,
    "content": "",
    "markup": "",
    "info": "",
    "meta": null,
    "block": true,
    "hidden": false
  }
]

this 'exact same code' produces a different tree without the breaks:

import React from 'react';
import { SafeAreaView, ScrollView, StatusBar, Text } from 'react-native';

import Markdown, { MarkdownIt, hasParents } from 'react-native-markdown-display';

const markdownItInstance = MarkdownIt({linkify: true, typographer: true, breaks: true});

const copy = `
This first line

This seccond line
`;

const tree = markdownItInstance.parse(copy, {});

console.log(tree);
console.log(JSON.stringify(tree));

const App: () => React$Node = () => {
  return (
    <>
      <StatusBar barStyle="dark-content" />
      <SafeAreaView>
        <ScrollView
          contentInsetAdjustmentBehavior="automatic"
          style={{height: '100%'}}
        >
            <Markdown
              markdownit={markdownItInstance}
              debugPrintTree
            >
              {copy}
            </Markdown>
        </ScrollView>
      </SafeAreaView>
    </>
  );
};

export default App;

outputs the following tree from markdown-it:

[
   {
      "type":"paragraph_open",
      "tag":"p",
      "attrs":null,
      "map":[
         1,
         2
      ],
      "nesting":1,
      "level":0,
      "children":null,
      "content":"",
      "markup":"",
      "info":"",
      "meta":null,
      "block":true,
      "hidden":false
   },
   {
      "type":"inline",
      "tag":"",
      "attrs":null,
      "map":[
         1,
         2
      ],
      "nesting":0,
      "level":1,
      "children":[
         {
            "type":"text",
            "tag":"",
            "attrs":null,
            "map":null,
            "nesting":0,
            "level":0,
            "children":null,
            "content":"This first line",
            "markup":"",
            "info":"",
            "meta":null,
            "block":false,
            "hidden":false
         }
      ],
      "content":"This first line",
      "markup":"",
      "info":"",
      "meta":null,
      "block":true,
      "hidden":false
   },
   {
      "type":"paragraph_close",
      "tag":"p",
      "attrs":null,
      "map":null,
      "nesting":-1,
      "level":0,
      "children":null,
      "content":"",
      "markup":"",
      "info":"",
      "meta":null,
      "block":true,
      "hidden":false
   },
   {
      "type":"paragraph_open",
      "tag":"p",
      "attrs":null,
      "map":[
         8,
         9
      ],
      "nesting":1,
      "level":0,
      "children":null,
      "content":"",
      "markup":"",
      "info":"",
      "meta":null,
      "block":true,
      "hidden":false
   },
   {
      "type":"inline",
      "tag":"",
      "attrs":null,
      "map":[
         8,
         9
      ],
      "nesting":0,
      "level":1,
      "children":[
         {
            "type":"text",
            "tag":"",
            "attrs":null,
            "map":null,
            "nesting":0,
            "level":0,
            "children":null,
            "content":"This seccond line",
            "markup":"",
            "info":"",
            "meta":null,
            "block":false,
            "hidden":false
         }
      ],
      "content":"This seccond line",
      "markup":"",
      "info":"",
      "meta":null,
      "block":true,
      "hidden":false
   },
   {
      "type":"paragraph_close",
      "tag":"p",
      "attrs":null,
      "map":null,
      "nesting":-1,
      "level":0,
      "children":null,
      "content":"",
      "markup":"",
      "info":"",
      "meta":null,
      "block":true,
      "hidden":false
   }
]

So - this is either:

A problem with how we call / configure markdown-it
A problem with how we represent linebreaks
A problem with markdown-it itself
A problem with the markdown-it demo website

I don't think it is the first two - so as a result i am going to close this issue as a problem beyond the scope of this project.
Any help further debugging this would be appreciated - if anyone wants to investigate and raise issues on other projects thats also fine.
You can use  to make new lines - like this:

import React from 'react';
import { SafeAreaView, ScrollView, StatusBar, Text } from 'react-native';

import Markdown, { MarkdownIt, hasParents } from 'react-native-markdown-display';

const markdownItInstance = MarkdownIt({typographer: true, html: true});

const copy = `
Top one

Bottom one

 | Option | Description |
 | ------ | ----------- |
 | data   | path to data files to supply the data

that will be passed into templates.

 cool.|
`;

const rules = {
  html_inline:(node, children, parent, styles) => {
    // we check that the parent array contans a td because
 in paragraph setting will create a html_inlinde surrounded by a soft break, try removing the clause to see what happens (double spacing on the
 between 'top one' and 'bottom one')
    if(node.content.trim() === '
' && hasParents(parent, 'td')) {
      return <Text key={node.key}>{'\n'}</Text>
    }

    return null;
  }
}

const App: () => React$Node = () => {
  return (
    <>
      <StatusBar barStyle="dark-content" />
      <SafeAreaView>
        <ScrollView
          contentInsetAdjustmentBehavior="automatic"
          style={{height: '100%'}}
        >
            <Markdown
              rules={rules}
              markdownit={markdownItInstance}
              debugPrintTree
            >
              {copy}
            </Markdown>
        </ScrollView>
      </SafeAreaView>
    </>
  );
};

export default App;

Hey, I added a custom function to push  every between \n\n.
Ta-da! You no longer need to type  in your textinput, it will automatically transform to fit the library.
Now as in Iamacup's example,
`import React from 'react';
import { SafeAreaView, ScrollView, StatusBar, Text } from 'react-native';
import Markdown, { MarkdownIt, hasParents } from 'react-native-markdown-display';
const markdownItInstance = MarkdownIt({typographer: true, html: true});
//this one saved the month for me
//to push  between \n\n
const pushBr = str => {
let afterSplit = str
.split('\n')
.map(e => {
if (e === '') return '';
return e;
})
.join('\n');
return afterSplit;
};
const copy = `
Top one

Bottom one

Option
Description

data
path to data files to supply the datathat will be passed into templates.  cool.

`;

const rules = {
html_inline:(node, children, parent, styles) => {
// we check that the parent array contans a td because  in paragraph setting will create a html_inlinde surrounded by a soft break, try removing the clause to see what happens (double spacing on the  between 'top one' and 'bottom one')
if(node.content.trim() === '' && hasParents(parent, 'td')) {
return {'\n'}
}
return null;

}
}
const App: () => React$Node = () => {
return (
<>

<ScrollView
contentInsetAdjustmentBehavior="automatic"
style={{height: '100%'}}
>

{pushBr(copy)}

</>
);
};
export default App;`

@iamacup I see that you investigated this issue thoroughly and closed it, but after reading through carefully, it's still not clear to me what the best fix is.
Yes, I can pass this:
markdownit={
  MarkdownIt({
    breaks: true,
    html: true,
  })
}

And manually do:
const content = originalContent.replace(/\n\n/g, '\n
\n
\n')

But this is really not what I want to do, as this will also insert
 tags into code fences, and all kinds of other places where I don't want them.
I'd really rather not go down the rabbithole of trying to write some complex function to replace multi-line breaks in some places and not in others.
Do you have any up-to-date advice on how to support multiple line breaks, without actually modifying the source content itself?


macOS: deprecated sasl API

/Users/mike/Sources/libmemcached/src/libmemcached/sasl.cc:95:3: warning: 'sasl_done' is deprecated: first deprecated in macOS 10.11
      [-Wdeprecated-declarations]
  sasl_done();
  ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sasl/sasl.h:727:18: note: 'sasl_done' has been explicitly marked
      deprecated here
LIBSASL_API void sasl_done(void) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_11,__IPHONE_NA,__IPHONE_NA);
                 ^
/Users/mike/Sources/libmemcached/src/libmemcached/sasl.cc:102:24: warning: 'sasl_client_init' is deprecated: first deprecated in macOS
      10.11 [-Wdeprecated-declarations]
  sasl_startup_state = sasl_client_init(NULL);
                       ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sasl/sasl.h:924:17: note: 'sasl_client_init' has been explicitly
      marked deprecated here
LIBSASL_API int sasl_client_init(const sasl_callback_t *callbacks) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_11,__IPHON...
                ^
/Users/mike/Sources/libmemcached/src/libmemcached/sasl.cc:178:34: warning: 'sasl_errstring' is deprecated: first deprecated in macOS
      10.11 [-Wdeprecated-declarations]
    const char *sasl_error_msg = sasl_errstring(sasl_startup_state, NULL, NULL);
                                 ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sasl/sasl.h:757:25: note: 'sasl_errstring' has been explicitly
      marked deprecated here
LIBSASL_API const char *sasl_errstring(int saslerr,
                        ^
/Users/mike/Sources/libmemcached/src/libmemcached/sasl.cc:186:14: warning: 'sasl_client_new' is deprecated: first deprecated in macOS
      10.11 [-Wdeprecated-declarations]
  if ((ret = sasl_client_new("memcached", server->_hostname, laddr, raddr,
             ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sasl/sasl.h:947:17: note: 'sasl_client_new' has been explicitly
      marked deprecated here
LIBSASL_API int sasl_client_new(const char *service,
                ^
/Users/mike/Sources/libmemcached/src/libmemcached/sasl.cc:190:34: warning: 'sasl_errstring' is deprecated: first deprecated in macOS
      10.11 [-Wdeprecated-declarations]
    const char *sasl_error_msg = sasl_errstring(ret, NULL, NULL);
                                 ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sasl/sasl.h:757:25: note: 'sasl_errstring' has been explicitly
      marked deprecated here
LIBSASL_API const char *sasl_errstring(int saslerr,
                        ^
/Users/mike/Sources/libmemcached/src/libmemcached/sasl.cc:192:5: warning: 'sasl_dispose' is deprecated: first deprecated in macOS 10.11
      [-Wdeprecated-declarations]
    sasl_dispose(&conn);
    ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sasl/sasl.h:746:18: note: 'sasl_dispose' has been explicitly marked
      deprecated here
LIBSASL_API void sasl_dispose(sasl_conn_t **pconn) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_11,__IPHONE_NA,__IPHONE_NA);
                 ^
/Users/mike/Sources/libmemcached/src/libmemcached/sasl.cc:201:9: warning: 'sasl_client_start' is deprecated: first deprecated in macOS
      10.11 [-Wdeprecated-declarations]
  ret = sasl_client_start(conn, mech, NULL, &data, &len, &chosenmech);
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sasl/sasl.h:972:17: note: 'sasl_client_start' has been explicitly
      marked deprecated here
LIBSASL_API int sasl_client_start(sasl_conn_t *conn,
                ^
/Users/mike/Sources/libmemcached/src/libmemcached/sasl.cc:203:34: warning: 'sasl_errstring' is deprecated: first deprecated in macOS
      10.11 [-Wdeprecated-declarations]
    const char *sasl_error_msg = sasl_errstring(ret, NULL, NULL);
                                 ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sasl/sasl.h:757:25: note: 'sasl_errstring' has been explicitly
      marked deprecated here
LIBSASL_API const char *sasl_errstring(int saslerr,
                        ^
/Users/mike/Sources/libmemcached/src/libmemcached/sasl.cc:205:5: warning: 'sasl_dispose' is deprecated: first deprecated in macOS 10.11
      [-Wdeprecated-declarations]
    sasl_dispose(&conn);
    ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sasl/sasl.h:746:18: note: 'sasl_dispose' has been explicitly marked
      deprecated here
LIBSASL_API void sasl_dispose(sasl_conn_t **pconn) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_11,__IPHONE_NA,__IPHONE_NA);
                 ^
/Users/mike/Sources/libmemcached/src/libmemcached/sasl.cc:237:11: warning: 'sasl_client_step' is deprecated: first deprecated in macOS
      10.11 [-Wdeprecated-declarations]
    ret = sasl_client_step(conn, memcached_result_value(&server->root->result),
          ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sasl/sasl.h:993:17: note: 'sasl_client_step' has been explicitly
      marked deprecated here
LIBSASL_API int sasl_client_step(sasl_conn_t *conn,
                ^
/Users/mike/Sources/libmemcached/src/libmemcached/sasl.cc:251:3: warning: 'sasl_dispose' is deprecated: first deprecated in macOS 10.11
      [-Wdeprecated-declarations]
  sasl_dispose(&conn);
  ^
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sasl/sasl.h:746:18: note: 'sasl_dispose' has been explicitly marked
      deprecated here

Apparently since 10.11


Add default binary name to .gitignore

Ignoring the default binary name that gets generated when you build a project without -o

I think this is too restrictive. There are good reasons to have for example a folder with the same name as the project name in the root directory. And the name of a binary doesn't necessarily equal to the project name.
Compiled binaries are already covered in .gitignore, they just need to be placed in bin/.

I think this should be taken care of with your build pipeline/configuration (e.g. as @straight-shoota says, output the binaries somewhere elese) and not at project creation level.

Thank you for your replies, I am in agreement with the points that you have both made.


Lots of typo in the release notes found since AzureRM to Az transition

You can search with -AzureRm in the brower to find it out. for axamples:

In version 2.3.2, totoally 12 typo were found.

In version 2.1.0, one typo was found

In the latest Az module, only three cmdlets contains AzureRm in its name.
PS C:\WINDOWS\system32> Get-InstalledModule Az

Version              Name                                Repository           Description
-------              ----                                ----------           -----------
2.3.2                Az                                  PSGallery            Microsoft Azure PowerShell - Cmdlets to manage resources in Azure.

PS C:\WINDOWS\system32> Get-Command *AzureRm*

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Disable-AzureRmAlias                               1.5.3      Az.Accounts
Cmdlet          Enable-AzureRmAlias                                1.5.3      Az.Accounts
Cmdlet          Uninstall-AzureRm                                  1.5.3      Az.Accounts

I am not sure if  it's caused by the the source URL https://github.com/Azure/azure-powershell/releases

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

ID: 2d01c302-204d-a4dd-a940-bc4c31fcff12
Version Independent ID: 92f67fd1-c7b3-7afb-0009-9a2cc19187b8
Content: 2.3.2 - June 2019
Content Source: docs-conceptual/azps-2.3.2/release-notes-azureps.md
GitHub Login: @huypub

Thanks for the feedback, release notes will be fixed in the near future.

@ToMakeSense Thanks for opening the issue, we have reviewed the ChangeLog and Release Notes and fixed the occurrences of AzureRM.
The changes have just been merged minutes ago.

Checked the source URL https://github.com/Azure/azure-powershell/releases, It seems that it has not been fully fixed. see below:
Az 2.4.0 (it's fix on both AzureRM and Az module)

Az 2.3.2

2.1.0

There's no typo between Az 1.4 to Az.1.8, I will check Az 1.0~Az.1.3 and update it later.

I believe that there were some pull requests submitted which took care of this issue, but I've added a task to clean up and copyedit the existing release notes. Future release notes will be copyedited either before, or shortly after, publish.

Confirmed that the reported typos no longer exist in the specified docs.


forcing new artifact path every time bulk update runs

And actually new metadata every time.  this will make bulk update
take longer but I am more ok with that.
Note this will NOT happen for a regular metadata update.

Current coverage is 98.63%

Merging #47 into master will decrease coverage by -0.01% as of baa3dd3

@@            master     #47   diff @@
======================================
  Files           57      57
  Stmts         1618    1617     -1
  Branches         0       0
  Methods          0       0
======================================
- Hit           1596    1595     -1
  Partial          0       0
  Missed          22      22

Review entire Coverage Diff as of baa3dd3

Powered by Codecov. Updated on successful CI builds.


Simplify F.cumsum test

Simplifies test_cumsum using testing.FunctionTestCase
Refer to #6071

LGTM. Jenkins, test this please.

Jenkins CI test (for commit 9afe97dd86fe3e0df2ecb41341ef7c2593eb2407, target branch master) failed with status FAILURE.

pfnCI, please

pfnCI, please

Jenkins issue looks unrelated.


Expvar support?

Go provides a way to track and publish built-in memory metrics in the expvar package.  Since this is the official way to do it, would InfluxDB consider enabling it so visualization tools like Inspeqtor Pro can provide realtime dashboards for this data?  I'd love to see this automatically supported for InfluxDB:

Closing this since it's covered by #1936, which will be in soon.


Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals.

Check this module doesn't already exist in the module indexes

[X] I have checked for that this module doesn't already exist in the module indexes; or I'm proposing the module to be migrated from CARML/TFVM.

Bicep or Terraform?
Terraform
Module Classification?
Resource Module
Module Name
avm-res-search-searchservice
Module Details
Requested by the AZD team: https://github.com/Azure/Azure-Verified-Modules/issues/261
Needs module owner.
CC: @jongio
Do you want to be the owner of this module?
No
Module Owner's GitHub Username (handle)
No response
(Optional) Secondary Module Owner's GitHub Username (handle)
No response

hi folks, my colleague @charliekw411 has a sample implementation in the style of AVM here;
https://github.com/charliekw411/terraform-azurerm-avm-res-search-searchservice

Thank you @kewalaka, let me locate a MSFT FTE to help with the setup and work with @charliekw411

@PmeshramPM I'm happy to own this for now till we find some else so that we can work with @charliekw411

Hi @mbilalamjad ,
Thanks for confirming that you wish to own this AVM module and understand the related requirements and responsibilities!
Before starting development, please ensure ALL the following requirements are met.
Please use the following values explicitly as provided in the module index page:

For your module:

ModuleName - for naming your module
TelemetryIdPrefix - for your module's telemetry

For your module's repository:

Repo name and folder path are defined in RepoURL
Create GitHub teams for module owners and contributors and grant them permissions as outlined here.
Grant permissions for the AVM core team and PG teams on your GitHub repo as described here.

Check if this module exists in the other IaC language. If so, collaborate with the other owner for consistency. 👍
You can now start the development of this module! ✅ Happy coding! 🎉
Please respond to this comment and request a review from the AVM core team once your module is ready to be published! Please include a link pointing to your PR, once available. 🙏
Any further questions or clarifications needed, let us know!
Thanks,
The AVM Core Team

hi team, is there any update on getting a MSFTE to help with the setup for this module? TIA 😄

hi team, is there any update on getting a MSFTE to help with the setup for this module? TIA 😄

Hey @charliekw411 I'll be working with you on this, currently working on getting the repo setup, once its done, I'll update you and we can get started with this module.

hey @mbilalamjad
thanks for the update. Look forward to working with you in the near future!

@mbilalamjad - Do you have an ETA for this?

@charliekw411 @v-xuto the repo is in review once approved, will make it public for contribution

awesome, thanks for the update @mbilalamjad

Hi @mbilalamjad ,
Is there any update on the status of this repo. Would be good to get contribution to this repo underway.
TIA

Transferring ownership of this module to @seekerofsai

The initial review of this module is complete, and the module has been published to the registry. Requesting AVM team to close this module proposal and mark the module available in the module index.
Terraform Registry Link: https://registry.terraform.io/modules/Azure/avm-res-search-searchservice/azurerm/latest
GitHub Repo Link: https://github.com/Azure/terraform-azurerm-avm-res-search-searchservice


Add support for creating EBS or local SSDs and attaching to instance

It will be cool if i can run the aws-service-operator on my K8s cluster have have the capability to attach/detach EBS or local SSD disks to a node in the K8s cluster. This will be in place of using the existing K8s - PV/PVC mechanism.
PV/PVC has the limitation that one PV (a full EBS disk) will have to be associated with a Pod. I would like to partition the same EBS for multiple pods.

Labeling this operator/ebs this could be useful, I wonder if this is a better fit under the https://github.com/kubernetes/cloud-provider-aws since that is where the PV/PVC mechanisms are implemented. @nckturner would probably have some input.

@kmova why do you want to partition one EBS disk for multiple pods?  I have a feeling that's asking for trouble but you should ask the question in the issues here: https://github.com/kubernetes-sigs/aws-ebs-csi-driver as that's where the storage experts hang out these days.

@nckturner - However, I am thinking of an usecase where EBS disks as adding extra space to the K8s node - that can be used for creating hostpath based pods. (not really partitioning the disk itself). I will check on the csi-driver repo as well.
For example, it is possible for me to setup a mechanism where whenever a node is attached to the cluster, I want it to have 1 additional (or n) EBS disks already attached to it.

For example, it is possible for me to setup a mechanism where whenever a node is attached to the cluster, I want it to have 1 additional (or n) EBS disks already attached to it.

You should be able to accomplish this outside of Kubernetes itself by setting these request on the Launch Configurations for the Autoscaling group. Maybe this would be better to be contained under #109 so that we can make sure you can customize the EBS mounts via the node groups

That makes sense @christopherhein


Issue with batch sizes when performing inference

Problem
I am deploying Llama2-7b on AWS Sagemaker Endpoints with DJL-Serving as the backend, it works as expected without much issues for a batch_size of 1 but when I increase the batch_size to a value >1 I start getting a lot of errors:
ai.djl.translate.TranslateException: Batch output size mismatch, expected: 4, actual: 1

I think the current inference code does not support batch_size > 1:
import os
from typing import Optional

import deepspeed
import torch
from djl_python import Input, Output
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline

predictor = None

def get_model(properties):
    model_name = properties["model_id"]
    local_rank = int(os.getenv("LOCAL_RANK", "0"))
    model = AutoModelForCausalLM.from_pretrained(
        model_name,
        low_cpu_mem_usage=True,
        trust_remote_code=True,
        torch_dtype=torch.bfloat16,
        use_safetensors=True,
    )
    model = deepspeed.init_inference(
        model, mp_size=properties["tensor_parallel_degree"]
    )
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    generator = pipeline(
        task="text-generation", model=model, tokenizer=tokenizer, device=local_rank
    )
    return generator

def handle(inputs: Input) -> Optional[Output]:
    global predictor
    if not predictor:
        predictor = get_model(inputs.get_properties())

    if inputs.is_empty():
        # Model server makes an empty call to warm-up the model on startup
        return None
    data = inputs.get_as_json()
    text = data["text"]
    text_length = data["text_length"]
    min_length = data.get("min_length", 0)
    result = predictor(
        text, do_sample=True, min_length=min_length, max_length=text_length
    )
    return Output().add(result)

Is there an example to support both batch_size = 1 and batch_size > 1 for infrence?
I have noticed that there is an example using batch predict here, but the links to model.py and Deepspeed Handler do not work.

DJLServing support both client side batching and server side batching (also called dynamic batching)
Here is a simple example that handles server side batch: https://github.com/deepjavalibrary/djl-serving/blob/master/engines/python/src/test/resources/resnet18/model.py#L89
For text_generation tasks, you can json input with multiple queries:
{
    "inputs": [
        "The new movie that got Oscar this year",
        "The Large Language Model is"
    ],
    "parameters": {
        "max_new_tokens":256,
        "do_sample":true
    }
}

The built-in deepspeed handler do support both client and server batching

@frankfliu thanks managed to get it to work but I noticed that inference is still done sequentially when I pass in multiple inputs as per the example you used. I would expect that the inference would be done in parallel so the latency would scale in a constant manner with the number of inputs(assuming that the inputs can fit into memory) but instead it scales linearly.  I am not sure what settings I have to change as I am already altering the default values for batch_size and max_batch_delay.:
settings.properties
engine=DeepSpeed
option.tensor_parallel_degree=1
option.parallel_loading=true
option.s3url=s3://BUCKET
batch_size=8
max_batch_delay=1000

model.py
import os
from typing import Any, Dict, List, Optional, Tuple, Union

import deepspeed
import torch
from djl_python import Input, Output
from transformers import (
    AutoModelForCausalLM,
    AutoTokenizer,
    pipeline,
    Pipeline,
    PreTrainedTokenizerBase,
)

predictor = None

def get_inference_toolkit(properties: Dict[str, Any]) -> Pipeline:
    model_name = properties["model_id"]
    local_rank = int(os.getenv("LOCAL_RANK", "0"))
    model = AutoModelForCausalLM.from_pretrained(
        model_name,
        low_cpu_mem_usage=True,
        trust_remote_code=True,
        torch_dtype=torch.bfloat16,
        use_safetensors=True,
    )
    model = deepspeed.init_inference(
        model, mp_size=properties["tensor_parallel_degree"]
    )
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    generator = pipeline(
        task="text-generation", model=model, tokenizer=tokenizer, device=local_rank
    )
    return generator

def format_input_for_task(input_values: Union[List[str], str]) -> List[List[str]]:
    if not isinstance(input_values, list):
        input_values = [input_values]

    batch_inputs = []
    for values in input_values:
        batch_inputs += [values]
    return batch_inputs

def handle(inputs: Input) -> Output:
    global predictor
    if not predictor:
        predictor = get_inference_toolkit(inputs.get_properties())

    if inputs.is_empty():
        # Model server makes an empty call to warm-up the model on startup
        return None
    content_type = inputs.get_property("Content-Type")
    input_data: List[str] = []
    input_size: List[int] = []
    model_kwargs: Dict[str, Any] = {}
    batches = inputs.get_batches()
    device = int(os.getenv("LOCAL_RANK", "0"))
    if content_type is not None and content_type.startswith("application/json"):
        first = True
        for item in batches:
            json_input = item.get_as_json()
            if isinstance(json_input, dict):
                input_size.append(len(json_input.get("inputs")))
                input_data.extend(format_input_for_task(json_input.pop("inputs")))
                if first:
                    model_kwargs = json_input.pop("parameters", {})
                    first = False
                else:
                    if model_kwargs != json_input.pop("parameters", {}):
                        return Output().error(
                            "In order to enable dynamic batching, all input batches must have the same parameters"
                        )
            else:
                input_size.append(len(json_input))
                input_data.extend(json_input)
    else:
        for item in batches:
            input_size.append(1)
            input_data.extend(item.get_as_string())

    outputs = Output()
    offset = 0
    results = predictor(input_data, **model_kwargs)
    batch_size = inputs.get_batch_size()
    for i in range(batch_size):
        result = results[offset : offset + input_size[i]]
        outputs.add(result, key=inputs.get_content().key_at(i))
        offset += input_size[i]
    outputs.add_property("content-type", "application/json")
    print(f"{outputs=}")
    return outputs

Managed to fix it by specifying the batch_size in the pipeline:
results = predictor(input_data, batch_size=len(input_data), **model_kwargs)

One thing I am wondering is how does batching work when I have multiple requests coming in? Lets say I have 3 clients that make a request with 3 inputs at the same time and the batch_size of the serving.properties is set to 8.
Would 8/9 of those requests get grouped into a single prediction that is done in parallel? Then the remainder will be either batched up with other requests or done on its own if the max_batch_delay value is reached?
Another question I have is with the batch_size in the pipeline, would I need to set a value dynamically that depends on how much memory is currently left(including a buffer value) to prevent OOM issues?

@yudhiesh
For dynamic batching, DJLServing frontend has a workload manager which put all HTTP requests into a job queue. And will try to group up to batch_size requests into a batch and send to backend to execute the inference. If in giving time max_batch_delay didn't collect enough request, DJLServing just send whatever available requests to backend.


Polyline2D should be PolyLine3Ds or elevation is not being read.

Hello, I am having issues with a DXF file, the issue lines are being read as 'PolyLine2D' but they are missing their elevation or they are being read in as 2D points when they should be read in as 3D points.
The model when opened with Autocad shows the elevation (Z component)

In the file, this is the first coordinate, showing the X/Y/Z (assuming elevation = Z).

When debugging this shows the elevation = 0, while the X & Y match correctly.

These files were originally older versions saved to dxf 2018 through autocad.
Here is the file (I renamed it to .txt so i could upload it here)
sample solid - pyramid base.dxf.txt
Thanks in advance,

What your file contains is not a Polyline2D neither a Polyline3D but a Polygon Mesh. They are not implemented and since I forgot to filter them out, they default to the Polyline2D.


Create isptec.txt

The website is www.isptec.co.ao

@IsptecDev I am sorry, you requested to add a non-existent domain to this repository:
$ host isptec.edu
Host isptec.edu not found: 3(NXDOMAIN)
If you wish to add a domain of isptec.co.ao, the file name for it has to be lib/domains/ao/co/isptec.txt.
Please remname the file in the request. Thank you!

I apologize.
I was able to correct it and put it in the right directory.
Thank you!


Effect to request ANT

Hi, I see there's an effect RequestBluetooth that ensures that Bluetooth will be enabled, so an app can use Bluetooth even if Karoo OS is not using any Bluetooth connection.
Can a similar new effect be added to request that ANT is enabled in the same circumstances? Or is it assumed that ANT is always enabled and available for any app using extensions (even when Karoo is not using any ANT sensor)?
Thank you.

The nRF chip for ANT has a few other functions. On the new Karoo, the nRF chip is never turned off but on K2, if there are no ANT+ sensors in the Hammerhead sensors list and no phone is paired, the radio is optimized to shut off. Therefore, it does make sense to add RequestANT like you suggest. I'll capture this as a new effect to implement.


Scheme structure

Continuing the discussion from https://github.com/kepano/flexoki/issues/48, before we really get started on the new repo I think we decide whether we want to keep the colorgen utility or not, and if not what structure for the scheme we want to go with.
Personally I don't see any value in using colorgen, but it's not something I should be making decisions about on my own, hence this issue.

@kepano how long do you think I should wait before just going ahead and doing it on my own? Don't really wanna do that without your approval, since I am not the original author of the port.
Tagging @dinocosta in case you haven't see the repo yet.

Personally I don't have strong opinions on this. I can copy over the files from the main repo to this one, if that helps? We can start there, or you can submit a first PR here. What do you prefer?

Sounds good to me. So for now I would remove colorgen, rename the variants and get on with fixing issues. And keep any bigger changes for after all that is up and running.

@polak-jan Sounds like a plan! Do you want to open a first PR moving the code from https://github.com/kepano/flexoki/tree/main/neovim to this repo?
Afterwards we can start tackling these changes 👍

Will do. Probably early tomorrow.

Turns out that GitHub really doesn't like the repo being empty and won't even let me fork it or make a PR. So could someone with actual permissions please add an empty readme or something like that so I could post the PR?

@polak-jan Ah! Makes sense. Done.

I have also started slowly porting the theme to the same-ish structure as the rose-pine them that was linked above. Sadly this can't really be done 1 to 1 as the original dark and light themes not only had different palettes but also a few differences in how the palette mapped to the highlight groups. And we need that mapping to be the same across all variants.
Will put up a draft PR in a minute with the changes.

Hey. Sorry for the massive delay. First I was waiting for someone else to reply, @dinocosta especially since he is designated as a "collaborator" unlike me, and I didn't want to put it too much work without an opinion from him, and then I was out with covid for a few weeks.
@kepano, how do you want me to proceed, should I just continue with what I was working on and do it all my way and you will approve the merge for me, or should I wait for @dinocosta?

@polak-jan I have added you as a collaborator. Unfortunately I don't have much time at the moment to evaluate changes, and I'm also not familiar enough with Neovim. So you should go forward with your approach. The Flexoki ports for Sublime Text and VS Code should provide good reference.
I added the following code sample to the main repo
https://github.com/kepano/flexoki/blob/main/_samples/typescript.ts
You can also scroll down to the mappings for syntax highlighting
https://stephango.com/flexoki

Sorry for my rude and disturb.
I am using catppuccin/nvim, and I found that the compatibility to other plugins is great. Is it possible to fork and override the color scheme of catppuccin. That way you don't have to do repetitive work.
Maybe you can fork it and change the color lua/catppuccin/palettes
In fact, I have already done for my own config:
{
			"catppuccin/nvim",
			name = "catppuccin",
			opts = {
				background = { -- :h background
					light = "latte",
					dark = "mocha",
				},
				-- transparent_background = true,
				color_overrides = {
					all = {
						rosewater = "#CE5D97",
						flamingo = "#A02F6F",
						pink = "#8B7EC8",
						mauve = "#5E409D",
						red = "#D14D41",
						maroon = "#AF3029",
						peach = "#D0A215",
						yellow = "#AD8301",
						green = "#879A39",
						teal = "#66800B",
						sky = "#3AA99F",
						sapphire = "#24837B",
						blue = "#4385BE",
						lavender = "#205EA6",
					},
					mocha = {
						text = "#FFFCF0",
						subtext1 = "#F2F0E5",
						subtext0 = "#E6E4D9",
						overlay2 = "#DAD8CE",
						overlay1 = "#CECDC3",
						overlay0 = "#B7B5AC",
						surface2 = "#878580",
						surface1 = "#6F6E69",
						surface0 = "#575653",
						base = "#100F0F",
						mantle = "#1C1B1A",
						crust = "#282726",
					},
					latte = {
						text = "#100F0F",
						subtext1 = "#1C1B1A",
						subtext0 = "#282726",
						overlay2 = "#343331",
						overlay1 = "#403E3C",
						overlay0 = "#575653",
						surface2 = "#6F6E69",
						surface1 = "#878580",
						surface0 = "#B7B5AC",
						base = "#FFFCF0",
						mantle = "#F2F0E5",
						crust = "#E6E4D9",
					},
				},
		}


Small Correction

Description
Changed it to is near the end of the paragraph.

Fixes

Made some small changes to reflect current algorithms.

Thank you again !


Features to implement

[ ] Profiling
[ ] Flame graphs
[x] Make the collection of stats reported configurable
[x] Make reporting interval period configurable
[x] Enable reporting of active handles (must handle circular structures)
[ ] Enable reporting of active requests (must handle circular structures)
[ ] REPL (maybe)

Closing with the remaining items moved to #8, #9, #10, and #11.


Drag and Drop of Field and Table names still broken (Ubuntu Linux)

Description
Unable to drag and drop field and table names from database navigator to query editor.
DBeaver Version
Community Edition 23.0.4
Operating System
Ubuntu Linux
Database and driver
Doesnt matter - behaviour is the same some on PostgreSQL, Ignite, MySQL and Oracle connections
Steps to reproduce

Connect to whatever database
Open a new query editor
Drag a field or table name onto the query editor and attempt to drop

This has been a problem for several releases now - not 100% sure when it started cropping up......s
Additional context
No response

Oh - forgot to add: I have confirmed that the "Enable Drag and Drop of Text" option in the preferences is checked. No idea what else might be blocking this....

Hello @klaymartens
Looks like this is a duplicate of https://github.com/dbeaver/dbeaver/issues/18799
Could you please provide more info about your OS?

Sure thing:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
Please let me know if you need more details?

You are correct - it does look like a duplicate.

Thanks for the extra info. I'm closing this ticket as a duplicate.


Update MD file on new branch 2017-27-26_23-11-25

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.