Schlage ZWave Locks (BE468 and BE469) - No status updates if operated from Home Assistant

Home Assistant release with the issue:

0.83.0
Last working Home Assistant release (if known):
0.82.1
Operating environment (Hass.io/Docker/Windows/etc.):

Docker on Ubuntu Server 16.04
Component/platform:

https://www.home-assistant.io/components/lock.zwave/
Description of problem:
I have a Schlage BE468 and BE469. Both worked fine under 0.82.1. Since upgrading to 0.83.0, they do not report status when locking/unlocking via the Front End or through any other automation.  If I operate them locally (code, key, manual bolt), it updates OK.
Examples -
With door locked:
Click Unlock on front end
Lock physically unlocks
Status stays as Locked
With door locked:
Manually unlock door (via code, key, or bolt operator)
Status updates to Unlocked
In both examples, it is repeatable in the opposite status (locked vs unlocked)
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
zwave:
  usb_path: /dev/ttyACM0
  network_key: !secret zwave_key

Traceback (if applicable):
None

Additional information:
Steps I have tried to troubleshoot:

From the ZWave control panel - Refresh Node
From the ZWave control panel - Heal Node
Multiple Reboots
Disconnecting/reconnecting the battery on both locks
ZWave Heal Network

I have not unpaired/repaired as this would require a lot of work to move the locks within 3 feet of my server.

Looking through the Z wave logs after a lock/unlock from the front end, it appears that Z wave thinks the lock is unsecure?? Definitely using a security key and it has always worked OK.
2018-11-29 14:10:58.544 Info, Node043, Sending (Send) message (Callback ID=0x01, Expected Reply=0x04) - Nonce_Report - 0x01, 0x11, 0x00, 0x13, 0x2b, 0x0a, 0x98, 0x80, 0x73, 0x1b, 0x4f, 0xe7, 0xf5, 0x41, 0x20, 0xe4, 0x05, 0x01, 0x70:
2018-11-29 14:10:58.554 Detail, Node043,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2018-11-29 14:10:58.555 Detail, Node043,   ZW_SEND_DATA delivered to Z-Wave stack
2018-11-29 14:10:58.701 Detail, Node043,   Received: 0x01, 0x07, 0x00, 0x13, 0x01, 0x00, 0x00, 0x10, 0xfa
2018-11-29 14:10:58.701 Detail, Node043,   ZW_SEND_DATA Request with callback ID 0x01 received (expected 0x01)
2018-11-29 14:10:58.702 Info, Node043, Request RTT 2002 Average Request RTT 1840
2018-11-29 14:10:58.760 Detail, Node043,   Received: 0x01, 0x21, 0x00, 0x04, 0x00, 0x2b, 0x1b, 0x98, 0x81, 0xf8, 0x72, 0x1d, 0x3a, 0xf2, 0x86, 0x4c, 0x1a, 0x0a, 0x6e, 0xee, 0x70, 0x16, 0x92, 0x93, 0x88, 0x73, 0xc1, 0xeb, 0x14, 0xbd, 0x39, 0x01, 0x6c, 0x35, 0x88
2018-11-29 14:10:58.760 Info, Raw: 0x98, 0x81, 0xf8, 0x72, 0x1d, 0x3a, 0xf2, 0x86, 0x4c, 0x1a, 0x0a, 0x6e, 0xee, 0x70, 0x16, 0x92, 0x93, 0x88, 0x73, 0xc1, 0xeb, 0x14, 0xbd, 0x39, 0x01, 0x6c, 0x35, 0x88
2018-11-29 14:10:58.760 Detail, Node043, Decrypted Packet: 0x00, 0x62, 0x03, 0x00, 0x00, 0x02, 0xfe, 0xfe
2018-11-29 14:10:58.760 Detail,
2018-11-29 14:10:58.760 Info, Node043, Response RTT 2061 Average Response RTT 2043
2018-11-29 14:10:58.760 Info, Node043, Received DoorLock report: DoorLock is Unsecure
2018-11-29 14:10:58.760 Detail, Node043, Refreshed Value: old value=false, new value=false, type=bool
2018-11-29 14:10:58.761 Detail, Node043, Changes to this value are not verified
2018-11-29 14:10:58.761 Detail, Node043, Refreshed Value: old value=0, new value=0, type=list
2018-11-29 14:10:58.761 Detail, Node043, Changes to this value are not verified
2018-11-29 14:10:58.761 Detail, Node043,   Expected reply and command class was received
2018-11-29 14:10:58.761 Detail, Node043,   Message transaction complete
2018-11-29 14:10:58.761 Detail,
2018-11-29 14:10:58.761 Detail, Node043, Removing current message
2018-11-29 14:10:58.761 Detail, Node043, Notification: ValueChanged
2018-11-29 14:10:58.776 Detail, Node043, Notification: ValueChanged

What happens if you downgrade to 0.82.1? are things working again?

Its possible that the issue is related to this PR: https://github.com/home-assistant/home-assistant/pull/17386
honestly if you can control the lock via HA then it is definitely paired securely.

Ya it is definitely paired securely. That PR was my first thought as to why its acting strangely.

Try reverting that PR or running the older lock/zwave.py file before the update.  Would be a quick way to tell if its the issue.

@gregg098 I am not sure how well versed you are with home assistant or what install method you have.  So please proceed at your own risk.  Downgrading to 0.82.1 or restoring a backup is the safest method but you could try the following:

Save this file to /config/custom_components/lock/zwave.py (note your config directory may be different, every install is different) https://raw.githubusercontent.com/home-assistant/home-assistant/3b5e5cbcd60d40227c741a145dd5917bc2d17e9b/homeassistant/components/lock/zwave.py
Restart home assistant and see if the lock is behaving.  You can remove this file if you wish to revert back to what 0.83 has.

I tried this, but now the locks do not load at all. Here are the log entries:
2018-11-29 14:53:54 WARNING (MainThread) [homeassistant.loader] You are using a custom component for lock.zwave which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2018-11-29 14:53:54 ERROR (MainThread) [homeassistant.components.lock] Error while setting up platform zwave

I was afraid it may not be that easy, just delete that file and try to roll back to 0.82.1

I know you'll probably roll your eyes but have you tried a fresh pair of batteries? I've seen some very odd behavior with zwave when the batteries are low. It also depends on what other zwave devices you have as repeaters between the locks and the controller...check them for batteries too.

@gregg098 why are you using a lock custom component?

I know you'll probably roll your eyes but have you tried a fresh pair of batteries? I've seen some very odd behavior with zwave when the batteries are low. It also depends on what other zwave devices you have as repeaters between the locks and the controller...check them for batteries too.

I did check batteries and they are fine. I even power cycled the locks. Since its two separate locks (even slightly different models) acting exactly the same, I think its a Hass issue.

@gregg098 why are you using a lock custom component?

I'm not. It was a troubleshooting step suggested by dshokouhi. Please read the OP.

@gregg098 Yes I see that but reverting the file via a custom component is not going to work.  You have to revert the file in the actual location.  Thats why it failed.

@gregg098 Yes I see that but reverting the file via a custom component is not going to work. You have to revert the file in the actual location. Thats why it failed.

I have no idea how to do that.

hit me up on discord @edif30

@edif30 you can indeed run a custom component that contains reverted code.  The reason why it did not work here is because some code around config entries was mixed.  There were a couple of Zwave lock PR's in 0.83.  The revert that I provided was the last commit before that change but it was still missing things due to config entry support for locks.  Using code as custom component will override system files only if the code was correct.

@dshokouhi yes if the dir structure is correct :)

I have this exact problem, reverting to 0.82.1 worked.

Hass loaded good the first time. Ran a few tests and everything appears to be working normally. I can operate from the front end and the status is updated properly. Also tested a few local operations to make sure that was still OK.
Looks like this fixes it. Thanks.

Hi @ahayworth thanks for the swift response. Just for the information, I am having this problem on a BE469 lock.
How does it works for you in a 0.83 setting? Will exclude the lock and re-add help? I really hope I could upgrade to 0.83 as there's some homekit problem in 0.82 I am running into.

How does it works for you in a 0.83 setting? Will exclude the lock and re-add help? I really hope I could upgrade to 0.83 as there's some homekit problem in 0.82 I am running into.

BE469 locks in 0.83 do not report the correct state in HA when you unlock/lock via the HA or via automations. The patch I referenced in this comment does seem to fix it, but it has not been reviewed or accepted yet.

Same issue on 0.83 with the same lock, FWIW.

Same issue.

@ahayworth thanks for this. My BE469 stopped reporting correctly with 0.83 as well and the custom component seems to have fixed the issue for now

@mtreinish  https://github.com/home-assistant/home-assistant/pull/17386 should be reverted since this caused more issues than the previous - https://github.com/home-assistant/home-assistant/issues/14632 from May.

@edif30 no a revert is not warranted here. #17386 fixes things for other devices. The problem here is that none of these locks behave consistently and they all have quirks that we need to account for if we're doing explicit workarounds per model in the code (which is something I talked about in that PR). The proper way to to correct the behavior for those specific locks that are having trouble is something like: https://github.com/home-assistant/home-assistant/pull/18737 and/or https://github.com/home-assistant/home-assistant/pull/18996

@mtreinish while I understand that individual locks have their own quirks and inconsistencies, fixing one issue while causing another does not seem like the right approach.  That is trading issues.  Especially on devices which are in the security category.  More testing should have been done widely before merging.  Otherwise we put users at risk and it should be discussed more broadly.

fixing one issue while causing another does not seem like the right approach

Of course not, but I'd be very surprised if it was intentional. 😉
The problem with rolling back is that we un-break1 Schlage, but re-break other locks. Something is still broken afterwards. It's not like there's a clear answer as to who should be broken! 😄 And in any case, as @mtreinish said - the PR actually does fix other things, and is not entirely incorrect or anything.
Given that the overall pace of development on HA is so rapid, I agree with @mtreinish that fixing forward is the best answer. It's overall less complicated, and at this point, would take about the same amount of time to do. I hope we can get the open Z-Wave lock PRs merged in time for the holidays. I think the custom component approach is working well for those who need the fix immediately, and worst case users can roll back to an earlier version of HA.

@ahayworth

1 - just in case people forget, if we were to revert the PR in question, Schlage locks would still be broken, just in a very different way! They haven't ever really worked correctly

It would be broke in the exact same way it has been for months.  Just the same as the original issue that initiated the PR that broke Schlage locks as it has been around for 6+ months.  So again, this is trading one issue for another and unfortunately, automations are now affected by the lock state on one vs the other.  Simply asking folks to downgrade is in my opinion not a good user experience.

#18737 is merged so we can close this.

Can anyone confirm if 0.84.1 should contain this fix?
I didn’t see anything about it in the release notes and I confirm the behavior is definitely there.
The only issue for me is that downgrading to 0.82 didn’t help me: I actually had worse issues with my lock (ez: half the sensors and the lock itself don’t even show up).

I'll confirm 0.84.1 does NOT fix the issue.  To be clear, service calls for lock/unlock function correctly but the front end does not reflect correct status as described above.  I too reverted to 0.82.1 and although the locks now functioned/reported correctly, other problems existed (most notably, my input booleans did not appear on front end or seem to exist at all - weird).  Hopeful this issue gets priority since locks are physical security.

You’re right, it didn’t get merged into 0.84 - although it is in dev. I’m not sure what the cadence is exactly for merging things is as bug fixes, but I’ll ask. :(

Yup, I can also confirm with the BE469 (I have a BE468 too but I haven't bothered trying) that the status just doesn't get updated when you change the lock from within HA. But commands definitely get sent, they definitely work, and status definitely gets updated when you change the lock manually. It's sooooooo close. I can't wait for this fix :)

Fix tagged for 84.3

84.3 worked for me, however 84.6 has been very flaky.  The lock status works for a few hours, then the lock status stops working.  I think a bug got reintroduced.

Lets open a new issue - I took a look and the code for the lock itself doesn’t seem to have changed between releases. Some other portion of the system may have though. Notably, it’s still working fine for me- and has been on all of the releases in question here.
In the new issue, I think it’d be really helpful to have the zwave and HA logs for the problematic state transitions as well.

I can certainly open up a new issue.   Are the following files what you need?

home-assistant.log
OZW_Log.txt

What about my yaml files minus my secrets?

Sorry about the delay - holidays and all. :)
Yes, those would be the correct files.


compose sample in LoginFragment.kt

This PR brings compose and molecule into kaiken advanced sample. For now it is still a work in progress. Please check out LoginFragment which no has 0 dependencies on xml.
Things to notice

Presenter is injectable
compose view is pure and takes in models
presenter is uses MutableState and emits that back to the UI
Kaiken has default subcomponent scopes now (Skeleton, App, User, Screen) See LoginActivity and LoginRouter as entry point

I think this solves many issues I have personally had in android development. Would appreciate thoughts

Merging as is, ComposeBindings will need to be its own module, I will copy pasta into our code base as I try to integrate into hellosign. Once the shape makes sense I'll pull the file into its own kaiken module and add tests


[WFCORE-750] Move the requirement for socket-binding capability to th…

…e right attribute

Windows Build 1589 is now running using a merge of 08055093fa2e131af48b1266ba94b877fa968209

Linux Build 2048 is now running using a merge of 08055093fa2e131af48b1266ba94b877fa968209

Core - Full Integration Build 1183 is now running using a merge of 08055093fa2e131af48b1266ba94b877fa968209

Windows Build 1589 outcome was SUCCESS using a merge of 08055093fa2e131af48b1266ba94b877fa968209
Summary: Tests passed: 3224, ignored: 71 Build time: 0:22:34

Linux Build 2048 outcome was SUCCESS using a merge of 08055093fa2e131af48b1266ba94b877fa968209
Summary: Tests passed: 3224, ignored: 71 Build time: 0:26:14

Core - Full Integration Build 1183 outcome was SUCCESS using a merge of 08055093fa2e131af48b1266ba94b877fa968209
Summary: Tests passed: 2871, ignored: 393, muted: 1 Build time: 0:48:37


Feature/109 able to get license

@Koded - if you get a chance could I put this one in as there are patterns that spill over into the next user stories


Add ancestor_of filter to Wagtail pages API

We're using Wagtail as an headless CMS for a Vue/Nuxt site and recently had the need to find ancestors of a page to show a breadcrumb trail. Currently the API has a descendent_of filter, but not the other way around.
We've implemented a filter (heavily inspired by Wagtail's existing DescendantOfFilter) and added it to the PagesAPIViewSet, but it seems like a nice addition to API in general.
We've also found another use case for this filter. When a site has multiple index pages for a specific page type the ancestor_of filter can be combined with the type filter to find a specific type of ancestor for the current page.
Would this be accepted in Wagtail?
class AncestorOfFilter(BaseFilterBackend):
    """
    Implements the ?ancestor filter which limits the set of pages to a
    particular branch of the page tree.
    """
    def filter_queryset(self, request, queryset, view):
        if 'ancestor_of' in request.GET:
            try:
                descendant_page_id = int(request.GET['ancestor_of'])
                if descendant_page_id < 0:
                    raise ValueError()

                descendant_page = view.get_base_queryset().get(id=descendant_page_id)
            except ValueError:
                raise BadRequestError("ancestor_of must be a positive integer")
            except Page.DoesNotExist:
                raise BadRequestError("descendant page doesn't exist")

            queryset = queryset.ancestor_of(descendant_page)

        return queryset

Thanks @jaap3, yes a pull request for this would be very welcome!

I'll try to find some time soon to work on a PR with tests and docs


Touch does not trigger with SwiftUI

Hi,
I'm trying to implement a calendar in SwiftUI, I'm having an issue with the touch event.
It does not start, here is the example repo already configured for you: https://github.com/AndreaMiotto/SwiftUI-JTAppleCalendar

I have the related issue.
In my case it does this:
If I touch a day, it doesn't select it right away, but when i scroll to a different month and back to the original one.
(Touch day -> Nothing happens. Scroll back and forth, previously touched day is selected now.)
--> So it does recognize the touch, but doesn't trigger the calendar(_ calendar: JTACMonthView, didSelectDate date: Date, cell: JTACDayCell?, cellState: CellState)

yes, exactly the same of mine

Fixed!
The delegate method has a different signature from the one in the example project! The example project in the wiki should be updated at version 8.0.2
Updates the func signatures with:
func calendar(_ calendar: JTACMonthView, didSelectDate date: Date, cell: JTACDayCell?, cellState: CellState, indexPath: IndexPath) {
		configureCell(view: cell, cellState: cellState)
	}

	func calendar(_ calendar: JTACMonthView, didDeselectDate date: Date, cell: JTACDayCell?, cellState: CellState, indexPath: IndexPath) {
		configureCell(view: cell, cellState: cellState)
	}

The indexPath: IndexPath part was missing

Working for me too. Thank you!
Can be closed I think.

Everyone who is trying to use version 8+ please look at which function signatures have changed ->
https://patchthecode.com/jtapplecalendar-version-8-0-0-migration-guide/
Will close this now.


Tooltip.xml conflicts with AppCompat after upgrading to Android 26.1.0

https://stackoverflow.com/a/46014550/5984239
I guess renaming tooltip.xml to tour guide_tooltip.xml should resolve it

I get this error as well!

Experiencing the same problem.

We also have this kind of error
@worker8 🔫

It took me forever to figure out what was crashing my app. Please fix this soon.

I also just tracked down a pretty common crash in my app due to the tooltip.xml naming conflict with the newer support library versions.  It would be nice to have a fix, like akaita's, released as soon as possible.

For me, it appears this issue is resolved with support library version 27.1.0

This should be fixed by https://github.com/worker8/TourGuide/pull/130/files (version: 1.0.19-SNAPSHOT@aar)


Add support for Azure, OpenAI, Palm, Anthropic, Cohere, Replicate Models - using litellm

This PR adds support for models from all the above mentioned providers using litellm https://github.com/BerriAI/litellm
TLDR: gorilla gets:

more models out of the box, everything litellm integrates with: https://litellm.readthedocs.io/en/latest/supported/
instant integration of new models by modifying the model param (Easy to add models in the future, just change the model param)

Here's a sample of how it's used:
from litellm import completion

## set ENV variables
# ENV variables can be set in .env file, too. Example in .env.example
os.environ["OPENAI_API_KEY"] = "openai key"
os.environ["COHERE_API_KEY"] = "cohere key"

messages = [{ "content": "Hello, how are you?","role": "user"}]

# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)

# cohere call
response = completion("command-nightly", messages)

# anthropic call
response = completion(model="claude-instant-1", messages=messages)

@ShishirPatil can you please take a look at this ? Happy to add docs/tests if this initial commit looks good

Hello @ishaan-jaff, thank you for your PR! It's impressive to see a wrapper that can accommodate multiple models. However, I'm a bit concerned about introducing an additional dependency that might not be essential for standard use cases. While I see its potential value, I'm contemplating whether it's best to include it in a separate release or integrate it into the main releases. I'm flexible on this. Could you initiate a discussion thread titled "Request for Comments - LiteLLM Integration" so we can gather community feedback? Based on that I can review this appropriately. Though at a high level, it looks good, since you basically count on the user to create the message.
Thoughts?

Thanks for the feedback @ShishirPatil

started a discussion here: https://github.com/ShishirPatil/gorilla/discussions/89
as for adding additional dependencies, we can address that by only requiring dependencies when they are used

eg. only install litellm anthropic if a user is trying to use claude-2

@ShishirPatil @rajveer43 happy to help as well :)


Feature/no more subfield base

@isparks @anewbigging @rsayer - if you could review this change I'd be eternally grateful

No comments from me.


Feat/graph session scopes

Overview
Updates GraphSession  API
The API has changed so that users only has to pass an auth provider. Initially, users had to create options and auth_handler objects.
scopes = ['mail.send', 'user.read']
auth_provider = TokenCredentialAuthProvider(device_credential, scopes)

graph_session = GraphSession(auth_provider)
result = graph_session.get('/me')
print(result.json())

Closes #36

@MIchaelMainer
The following concerns have been addressed

[x] Optionally set scopes on AuthProvider
[x] Stopped passing AuthProviderOptions to AuthorizationHandler
[x] Setting default scopes

@jobala I have the remaining concerns:

[ ] Setting user.read as the default scope instead of .default. Why did you make this change?
[ ] Provide in-depth comments to files. Especially document the args, default behaviors, expected exceptions, new/foreign concepts, etc.

@MIchaelMainer I am working on this PR that builds on top of this. I will add the comments in that branch.


[efr32] no uart output on ThunderBoard Sense 2 board

There is no uart output when running latest OT build on ThunderBoard Sense 2 board, while uart input works well.
More details:

Firmware: ot-cli-ftd built bymake -f examples/Makefile-efr32 BOARD=BRD4166A
Based on some debugging, the uart input works well, the device could receive cli command correctly.
There is transmitDone callback for each UARTDRV_Transmit(), but no uart output on host side, so the issue seems in UARTDRV_Transmit() API.
No this issue on Wireless Starter Kit board.

I confirm the same issue.  It has something to do with the UART flow control.  Applying this diff fixes the problem for me.
diff --git a/examples/platforms/efr32/uart.c b/examples/platforms/efr32/uart.c
index cb00e194f..91fccd3fa 100644
--- a/examples/platforms/efr32/uart.c
+++ b/examples/platforms/efr32/uart.c
@@ -59,7 +59,7 @@ enum
             (USART_Parity_TypeDef)USART_FRAME_PARITY_NONE,    /* Parity */                       \
             (USART_OVS_TypeDef)USART_CTRL_OVS_X16,            /* Oversampling mode*/             \
             false,                                            /* Majority vote disable */        \
-            uartdrvFlowControlHwUart,                         /* Flow control */                 \
+            uartdrvFlowControlNone,                           /* Flow control */                 \
             BSP_SERIAL_APP_CTS_PORT,                          /* CTS port number */              \
             BSP_SERIAL_APP_CTS_PIN,                           /* CTS pin number */               \
             BSP_SERIAL_APP_RTS_PORT,                          /* RTS port number */              \

@jwhui , The change also works for me, thanks:+1

Hi @jwhui, @chshu Can this be closed?

This issue is present on the latest OT pull. I cannot see any cli output from the Thunderboard Sense 2. I tried to use the no-flow-control which did not fix it. Do we have any workarounds for this?

@NikhilSarnaik, I just tested on ThunderBoard Sense 2 with the latest master (ce26bff) and the workaround above worked for me.

Hi @jwhui. I can confirm that the cli app works with the workaround on Thunderboard Sense 2 for me as well now. I had to reset the EFR to see the cli output. This is what I had missed before asking the question here, Thanks for the information.

Resolved by #3922.


Cannot open lyp or lilypond on OSX 10.13.1

This is the error message I receive when I try to run lyp or lilypond.
/usr/local/Cellar/ruby/2.4.2_1/lib/ruby/2.4.0/rubygems.rb:271:in find_spec_for_exe': can't find gem lyp (>= 0.a) (Gem::GemNotFoundException) 	from /usr/local/Cellar/ruby/2.4.2_1/lib/ruby/2.4.0/rubygems.rb:299:in activate_bin_path'
from /usr/local/bin/lyp:22:in `'

It works.  Thanks.


Loot tracker Kc Count

currently the loot tracker counts the kills of npc's that drop something, if a npc drops nothing it doesnt count it as a kill.
I want the loot tracker to count the kills of npc's that drop nothing.

Duplicate of #7994


go quickstart

How about doing something like this in the Go code:
// User type
type User string

// EndsWith checks the user's email ends with a pattern
func (u User) EndsWith(pattern string) bool {
	return strings.HasSuffix(string(u), pattern)
}

Then you do User(actor) before passing to IsAllowed
And the policy is
allow(actor: String, _, _expense: Expense) if
    actor.EndsWith("example.com");

The String specializer actually works here but is maybe confusing.
(Also, we should probably have a test somewhere that type aliases work with specializers)

Then you do User(actor) before passing to IsAllowed

Okay, this works well for this example, but then doesn't work for comparing with the submitter. So you need to make SubmittedBy also a User, and implement the interface:

func (u User) Equal(other interfaces.Comparer) bool {
	if v, ok := other.(User); ok {
		return u == v
	} else {
		return false
	}
}
func (u User) Lt(other interfaces.Comparer) bool {
	return false
}

Which is a shame. I would expect the DeepEquals comparison check to work


Link not working (404 error)

The "Configuration Reference" link on this page results in a 404 Not Found error: https://ibm.github.io/spm-kubernetes/deployment/hc_preparation
It attempts to link to: https://ibm.github.io/spm-kubernetes/config-reference

Hi @podgek
That's strange, our link-checker isn't reporting any errors.
I see 4 instances of the text "Configuration Reference" on that page, and all seem to point to the correct location:
https://ibm.github.io/spm-kubernetes/deployment/config-reference
Could you try a different browser or an incognito session to make sure there isn't something in cookies preventing correct routing of those links?
Thanks

That is not what I am seeing. The two in-page links are pointing me at the broken link.

Perhaps I had an old page in my cache or something. Looks like either the links were fixed just now, or a forced refresh picked up changes from somewhere. All good now.

Fixed, or not a problem

Reopened as reproduced the problem within my Fyre VM and on my local machine, and on multiple browsers.
If I click the "Preparing Helm Charts" link in the index on the lefthand side, and then click either of those in page links, I get the 404 error. If I then go directly to that same URL that is linked to from the index, then it works. I've tried in incognito mode and multiple browsers too.
Steps to reproduce:
Go here: https://ibm.github.io/spm-kubernetes
Click "Deploying with Helm Charts"
Click "Preparing Helm Charts"
Scroll down and click either of the in page links: "Configuration Reference".
I get the 404 error.
If I go direct to "https://ibm.github.io/spm-kubernetes/deployment/hc_preparation/" those links work fine.
The only difference I see is that when I go to that link from the index it goes to: "https://ibm.github.io/spm-kubernetes/deployment/hc_preparation", so missing the last slash.

Yep, I was able to reproduce too the moment you had closed the issue. The navigation without the trailing slash seems unreliable, because I was definitely able to view the page without the trailing slash...
Thanks for bringing this to our attention.

This issue has been resolved in our April release.


commentStep plugin's comments do not get to Allure reports

What are you trying to achieve?
To see the messages I inserted in a test using commentStep plugin in Allure reports
What do you get instead?
The resulted Allure report does not have those message at all. All looks just as when commentStep plugin was not used.
Source code
Feature('Test commentStep plugin');

Scenario('Scenario to test commentStep plugin', ({ I }) => {
  __`When I am on page`;
  I.amOnPage('www.google.com');
  __`Then I don't see the text 'Something'`;
  I.dontSee('Something');
});

Console output with --verbose. It does have the comments displayed.
CodeceptJS v3.0.5
Using test root "C:\Users\Work\e2e"
Helpers: WebDriver, ChaiWrapper, FileSystem, REST, DataPrep, NotificationsHelper, AllureHelper
Plugins: screenshotOnFail, wdio, retryFailedStep, allure, autoDelay, tryTo, commentStep, finalResult

Test commentStep plugin --
 » Started SeleniumStandaloneLauncher
  Scenario to test commentStep plugin
 » [Dir] C:\Users\Work\e2e
    When I am on page
      I am on page "www.google.com"
    Then I don't see the text 'Something'
      I dont see "Something"
  √ OK in 11556ms

  OK  | 1 passed   // 15s
    started teardown hook
======= Tests finished =======
    finished teardown hook
 » Stopped SeleniumStandaloneLauncher

Process finished with exit code 0

The resulted Allure report

Details

CodeceptJS version: 3.0.5
NodeJS Version: v14.15.5
Operating System: any
WebDriver
Configuration file:

  ...
  plugins: {
    ...
    commentStep: {
      enabled: true,
      registerGlobal: true,
    },
    ...
  },
  ...

I checked the version v2.6.0 where commentStep pluging was introduced and the bug was present there from the very beginning.

It turned out the order of inclusion of plugins in the main config matters. I have reordered them so that commentStep plugin precedes allure one and comments from commentStep plugin got into the resulted Allure reports


triggerEvent header.post doesn't work (ZF3/Php7)

hi,
I use your compat v3 source in my ZF3 project, and I discover a bug : according my config file, my messages must be coding in charset : UTF-8, but at least I recieve with charset ASCII (default enconding value).
I try to trace it in PhpStorm/xdebug, but in Compose class, method compose when it execute :
        $event->setName(ComposerEvent::EVENT_COMPOSE_PRE);         $em->triggerEvent($event);
it doesn't execute MessageEncoding, method setMessageEncoding (I had set a breakpoint before).
I notice in the same time, that message attribute of event object is NULL, and will be initialize with the first add in the header of the message.
Is it normal in that case, that the message attribute doesn't be initialize ?
Why when the application notices an empty message, does not initialize it by reibnject the encoding (by method setMessageEncoding) ?

if possible can you send us a test case in phpunit reproducing the issue?

the test case :
-> config file : set encoding message to UTF8, use MessageEncoding, PlainTextMessage composer plugins
-> build an message and try to send it
Remarks :
1/ I'll use the last ZF3 version in Ubuntu 16.04 environment, Php 7.0.13, Apache 2.4.18
2/ I'll install MtMail compat V3 source in my project,
3/ event I'll activate any composer plugins (PlainTextMessage, MessageEncoding) i"ll have no effect in the final message that I'll receive in my mail box (problems of eventManager, triggerEvent ? that's my first idea about this problem)
Gilbert ARMENGAUD
(celtic34fr)
'Béziers / Occitanie / France)


[BACKPORT-v1.2.5][BUG] Instance Manager Memory Leak

Backport #3545

Validation - PASSED
Tested with longhorn-manager:v1.2.x-head and longhorn-engine:v1.2.x-head image,
no unusual memory usage found.
Snapshot of instance pods usage for reference:(after 100mb written and backup created)
NAME                          CPU(cores)   MEMORY(bytes)
instance-manager-e-3592e9a0   9m           39Mi
instance-manager-e-49eb1011   9m           36Mi
instance-manager-e-9502304f   24m          56Mi
instance-manager-r-3c25296a   19m          104Mi
instance-manager-r-861346de   19m          152Mi
instance-manager-r-e4d083fb   19m          146Mi


cannot find module providing package google.golang.org/api/photoslibrary/v1

When I try to install this with go get -u github.com/trinhdrew1418/gphotos-cli I get this error:
github.com/trinhdrew1418/gphotos-cli imports
	github.com/trinhdrew1418/gphotos-cli/cmd imports
	google.golang.org/api/photoslibrary/v1: cannot find module providing package google.golang.org/api/photoslibrary/v1

I also get the same error

Golang photoslibrary has been deprecated, Java version is still available: https://github.com/google/java-photoslibrary


background color of panels too dark in tokyonight-day

Introduced by this commit 9bc8f4e8f0033b0ea577f20a787afd6d0626eccc, please bring back the old colors for light theme if possible. You can test this with Trouble or Telescope panels
old

new

Fixed by #231


There is no "parent folder" button in project manager browser

Godot 3.0 master
There is no way to go to the parent folder when browsing for a folder to create a project. The only way I found is to edit the path. There should be a button like any other filesystem dialog. (the circle arrow button doesn't do this)

Scroll up, there's ../.

Oh... well I still think there should be a button for that^^

Something like this?
Maybe add the "Path:" Label to the same row like the (Editor)Filedialog has?

:+1:

2.:-1:

This is fixed in 3.0.


Add CI, audit, and release workflows

Clippy check currently fails because of the new_world code. Soon that should get cleaned up!


Max_Sum_Rectangle-matrix Code in C

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
#937
C code to find the maximum sum subarray in the 2-D matrix using Kadane’s algorithm to reduce the time complexity to O(n^3).
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#937

Kindly review this. @SKAUL05  @iamrajiv  @Kajol-Kumari

@nutanaarohi123 Update time complexity O(n^3) to O(cols^2 * rows) and space complexity O(n) to O(rows).

Updated the changes. Kindly review @iamrajiv.


[utfcpp] Update to 3.2.4

Updates utfcpp port from 3.2.3 to 3.2.4 : https://github.com/nemtrif/utfcpp/releases/tag/v3.2.4

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[ ] The "supports" clause reflects platforms that may be fixed by this new version
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

The usage test passed on x64-windows (header files found):
utfcpp provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(utf8cpp CONFIG REQUIRED)
    target_link_libraries(main PRIVATE utf8::cpp)


AMP-68179 add legacy android configuration section

Amplitude Developer Docs PR
Description

Add configuration section for legacy Android SDK
We could discuss further how we prefer this section to be aligned.

Deadline
Change type

[ ] Doc bug fix. Fixes #AMP-68179. Amplitude contributors include Jira issue number.
[x] Doc update.
[ ] New documentation.
[ ] Non-documentation related fix or update.

PR checklist:

[x] My documentation follows the style guidelines of this project.
[x] I previewed my documentation on a local server using mkdocs serve.
[x] Running mkdocs serve didn't generate any failures.
[x] I have performed a self-review of my own documentation.

@amplitude-dev-docs

@qingzhuozhen this should really help customers understand the default settings and hopefully avoid configuration issues. Thank you!


upgrade to 0.13.0

towards https://github.com/giantswarm/giantswarm/issues/25410
:warning: DO NOT MERGE : still need to be tested :warning:

Tested on gremlin's MC and WC


0.2.2 Version not working

https://jitpack.io/com/github/jlhonora/multistatetogglebutton/0.2.2/build.log

Seems like a Jitpack issue, since I do declare the distributionUrl for gradle 2.13. I'd gladly take a second look if you can replicate it with a gradle command.


[BUG] script hangs and WebDriverException when running without -v flag

When running in headless mode (i.e. not using -v flag), the script often hangs when trying to complete daily set or other tasks. It stays stuck until around 10 minutes when an error is thrown: [ERROR] WebDriverException: Message: disconnected: not connected to DevTools (failed to check if window was closed: disconnected: not connected to DevTools)
Possible Fix
A similar problem happened once using the -v flag, and the webpage would not load because of ERR_HTTP2_PROTOCOL_ERROR. Not sure if that had anything to do with this bug though.
Your Environment

Version used: latest
Environment name and version (e.g. Chrome ver): Chrome Version 119.0.6045.199 (Official Build) (arm64)
Operating System and version: macOS Sonoma 14.1.1

same

I have confirmed that this issue is not related to any issues with network or IP banning. If I run the script with -v flag, after successful login I am able to manually complete the daily set. Now it seems that the problem is most likely something to do with the webscraping.

From what I understand and checking with others - this can be caused by any of the following things..

Outdated Software (Browser)
Corrupted browser cache (Sessions folder)
A/V or FIrewall
Low Disk Space


Add SafeDeref/SafeDerefMut

Rendered
I'm not a fanatic of this change, but I think it is necessary. I'd understand if it was closed, but in my opinion this is the least bad thing to do.

Types that implement this trait are guaranteed to always return the same object

What does "same" mean? Does it mean that the returned reference, if coerced to a pointer, stays at the same address? Is it the same as https://docs.rs/owning_ref/*/owning_ref/trait.StableAddress.html ?

cc @arielb1 @ubsan @nikomatsakis

Is this an issue for AsRef/AsMut and Borrow/BorrowMut too?  Is there no way to express this with an inline directive on <&T as Deref>::Deref::deref?

Is this an issue for AsRef/AsMut and Borrow/BorrowMut too?

The issue that this RFC is trying to fix arises only in the situation described in the "motivation" example, and I think that in this situation Deref/DerefMut is the appropriate trait.
Therefore I'd say no.

I would rather call it DerefPure, and have it be used for box, &, and &mut patterns (see #1646). This seems like a nice extension property, but not the core reason I'd want this.

Could we potentially have a general mechanism for this "trusted trait" thing (which has come up for other traits before, like Iterator and Hash and Ord)? E.g., as a strawman: if MyTrait is a trait, then unsafe MyTrait is also a trait - an unsafe trait which requires an unsafe impl? With the general meaning that "if the impl violates the contract set out in the documentation of MyTrait, it is undefined behavior".
I don't really want to encourage the use of these - as (I think it was @nikomatsakis?) put it back when "trusted Eq/Ord" traits were being discussed, the actual goal of Rust is to minimize the number of security vulnerabilities, not just to be able to say "well it's your fault you used unsafe" when they happen - but on the other hand, if we're going to have multiple specific instances of the pattern, we might as well have a general mechanism for it. (The situation is kind similar to "OIBITs" in this respect.)

There is always a contract that an impl satisfies the requirements specified by the trait.  An unsafe trait indicates that not satisfying them might result in undefined behavior.  I believe your unsafe MyTrait have different requirements from MyTrait, so using the same name sounds problematic.
There is still no answer to whether this can be fixed with an inline directive, like :
impl<'a, T: ?Sized> Deref for &'a T {
    type Target = T;

    #[inline(always)]
    fn deref(&self) -> &T { *self }
}

In any case, I think one should not necessarily expect to solve optimization problems like this in the type system.  We write #[inline] fn not inline fn because we do not want inlining decisions to me made in the type system.  Just imagine if we needed specialization before inlining worked right!  ;)
If a judicious #[inline] cannot solve this, then would an attribute #[stable] to express that a function depends only upon its arguments work?
impl<'a, T: ?Sized> Deref for &'a T {
    type Target = T;

    #[stable]
    fn deref(&self) -> &T { *self }
}

In this case, I think *self merely turns an &&T into a &T so all should be well.
Now if *self invoked deref coercions then this hypothetical #[stable] attribute might invoke some non-#[stable] Deref::deref, which makes no sense.  If that is the case, or something similar, then maybe that should be explained as the reason to do this in the type system as opposed to with more ad hoc optimization tricks, attributes, etc.

Just to be clear, one could imagine a stable fn which puts the issue back into the type system, but #[stable] fn could work similarly to #[inline] in that it itself should be stable, but actual stability gets pushed onto the method of its types parameters.
If I understand correctly, it sounds like this RFC actually hangs on these two impls :
unsafe impl<'a, T: ?Sized> SafeDeref for &'a T { }
unsafe impl<'a, T: ?Sized> SafeDerefMut for &'a T { }

And I think their correctness actually hangs on the same issue of deref coercions not occurring inside Deref::deref anyways.

There is always a contract that an impl satisfies the requirements specified by the trait.

Yes, but the stakes are 'merely correctness', not safety (UB), so unsafe code can't rely on them being satisfied. I think we both know this.

An unsafe trait indicates that not satisfying them might result in undefined behavior.

Yes.

I believe your unsafe MyTrait have different requirements from MyTrait

No, it just raises the stakes of not satisfying them from incorrect behavior to UB. The idea is just that instead of introducing new TrustedEq and TrustedOrd and SafeDeref traits and so on, we would simply use unsafe Eq and unsafe Ord and unsafe Deref to mean the same thing. (N.B.: This is still strawman syntax for the purpose of discussion.)
You're right (if that's what you meant to say) that this wouldn't by itself be sufficient for the SafeDeref use case in this RFC: because (as far as I can tell) right now Deref has no contracts at all!
So it would be a two-part solution:

Add to Deref's documentation that impls should always return the same object. I think doing this is completely justified on its own merits: most people probably intuitively expect this to be the case, and the possibility that it's not guaranteed might not even occur to them. So impls which don't satisfy this can't really be considered "well-behaved" IMHO. (Adding this requirement might be considered a breaking change in some abstract sense, but we've already done something vaguely similar with https://github.com/rust-lang/rfcs/pull/1521.)

Use unsafe Deref where the safety of unsafe code depends on the given impl being well-behaved. (Note that like any unsafe trait, implementors of unsafe Deref would have to use unsafe impl to opt in to it.)

by itself is not enough because it doesn't let unsafe code rely on the guarantee, and 2. by itself would not be enough because Deref doesn't currently specify any guarantee it could rely on, but together they would be sufficient.

You mean the compiler should know that unsafe Deref means the deref method should always return the same object when called with the same arguments.  If we look as say std::net::TcpListener then I'd think say local_addr might benefit from this optimization too, but bind should never be considered "stable" in that sense, so I take it that interpretation would be special to Deref.
What do you mean by "raises the stakes" in general though?  Could one write a bound where T: unsafe Trait to call dangerously optimized methods?  Could unsafe Trait overload methods of Trait with dangerously optimized variants?  All these options sound complicated.  I'd worry that if you must deploy them for a function as simple as <&T as Deref>::deref then you're missing more directly optimization oriented approaches like improving inlining, expressing that functions lack side effects, etc.

Maybe I've been misunderstanding, but I think this RFC isn't about what the compiler/optimizer may assume, but about what someone writing unsafe code may assume?

You're right.  I missunderstood the RFC.  Oops!  The RFC wants a bound P: SafeDeref.
Could this be done without any unsafety by combining trait fields with specialization?
pub trait DerefField : Deref {
    type 'ref;  // must bound the lifetime somewhere
    _deref: &'ref Self::Target
}

impl<'a, T: ?Sized> DerefField for &'a T {
    type 'ref = 'a;
    _deref: self
}
impl<'a, T: ?Sized> DerefField for &'a mut T {
    type 'ref = 'a;
    _deref: self
}

// Use DerefField for Deref it exists
impl<P: ?Sized+DerefField+P::'ref> Deref for P {
    // We cannot define P::Target here, but it must exist since DerefField: Deref
    default(std) fn deref(&self) -> &'ref P::Target { self._deref }  // Disallow overloading outside std
}
impl<P: ?Sized+DerefField+P::'ref> DerefMut for P {
    default(std) fn deref_mut(&self) -> &'ref P::Target { self._deref }
}

// Finalize Deref/DerefMut to use DerefField
impl<'a, T: ?Sized> Deref for &'a T {  type Target = T;  }
impl<'a, T: ?Sized> Deref for &'a mut T {  type Target = T;  }
impl<'a, T: ?Sized> DerefMut for &'a mut T {  type Target = T;  }

You might try giving _deref the type of T instead of &T or similar, but the goal is that those default(std) fns should prohibit further specialization outside std.  Almost a "reverse" usage of specialization.
Ain't clear if there is even a breaking change here.  It'd makes implementing Deref require three traits instead of two, but reduces the boilerplate inside those two.

@burdges  @tomaka Here is a crate which defines its own unsafe version of AsMut because it wants the analogous guarantees: https://docs.rs/atomic_ring_buffer/*/atomic_ring_buffer/trait.InvariantAsMut.html (cc @whitequark)

There are likely drop methods calling the remove<Q>, contains<Q>, etc. method of HashMap<K,V> with Q: Borrow<K> and K generic too.  And Hash<T> requires more subtle invariants.
I wonder if all these traits should just be more explicit about the invariants that they require, while if you violate them then we judge that undefined behavior to be acceptable, or even intentional, as if you use a random number generator.

So should I close this PR as a duplicate of https://github.com/rust-lang/rfcs/pull/1646?

I'll post a partial summary over there in case you do.
Cow is potentially a counter example for my idea of a DerefField trait being a safe substitute for DerefPure or SafeDeref.  I think DerefField could work for Cow if trait fields worked for enums and *Field variants of ToOwned and Borrow were added, but we'd wind up adding 7+ traits to std.
I'm sympathetic to @glaebhoerl idea that any trait could've an unsafe variant, but it'd kinda make grep unsafe *.rs less useful.  I wonder if the logic could not be reversed where a typical impl Deref meant that Deref was stable, but you could do an unsafe impl<..> Deref for .. when you wanted to violate that rule.  Assuming pure fn returned, and that deref can be made pure, this could become something like :
trait Deref {
    type Target;

    #[allow_unsafe_impure_as_pure]
    pure fn deref(&self) -> &Target;
}

impl Deref for MyFancyArc {
    type Target = Connection;
    unsafe fn dereff(&self) -> &Connection { .. }
}

I do love that DerefField does not require unsafe and might not require any breaking changes though. :)

I appreciate the minimal nature of this RFC -- when I first opened it to read it, I was expecting something quite different. But I think overall I would be inclined to postpone it for now -- it seems like something that we can evolve a bit "in library land" (as, indeed, has already happened), perhaps as a crates.io crate that offers an unsafe trait DerefPure that others can opt into (and which is implemented for &T and Arc<T>). In particular I don't think that (a) we have enough experience with the precise guarnatees that we will want and (b) I would want to consider integrating any such notion deeper into the language, so that we gain advantages for optimization, perhaps pattern matching (though I don't personally feel it's necessarily needed there), and so forth.
I find @glaebhoerl's idea of a generalized concept of "unsafe trait" interesting, but it seems... well, let's just say it'd require a bit more elaboration too. In particular, it's not like the "unsafe contract" for a given trait is clear a priori, so I think I would not want to allow unsafe impl of a trait unless the trait opted into it and spelled out the unsafe contract (at minimum). And it's not clear why doing this via a unsafe impl of the existing trait is better than having a subtrait, in that case, since that seems to be the 'less machinery' way of achieving precisely the same thing, right?

Thanks, @tomaka, for this RFC.
FWIW, I agree entirely with @nikomatsakis's synopsis. I believe that DerefPure is already building up steam in the ecosystem; let's move it into std when the need feels more clear. For the time being:
@rfcbot fcp postpone

There is now a crate on crates.io that provides SafeDeref, using the name StableDeref: stable_deref_trait. Crate authors can use that crate for now, and when this trait gets moved into std, implement the new std:: trait while keeping stable_deref_trait::StableDeref for backward compatibility.

Looks like not much new came up during the FCP, so closing. Thanks again though for the RFC @tomaka!


Custom scope object dispose guard

if the user forgot to dispose custom scope object, we need to invoke dispose in finalization method. so custom scope object should implement full-blown dispose pattern with finalization machnery on.
after implementing, you need to update readme.md (section custom scope).

the first action should be to create unit test, may be with GC.Collect

after the digging into the code, I decided not to invoke Dispose in finalizers, due to it's a bad practice. may be some warning might be useful, but what the place it write to? Debug.WriteLine? who reads it? :)


Ubuntu .deb packages missing from releases

The install.sh assumes that a hoard DEB is available to use but that's not present in any releases.

Thanks for the info, I used to have a script to create the DEB package for each release, seems like it's not running anymore. Will fix! :)

Added amd64 deb package for the latest release. Looking into building one for x86_64 if you need that

Thanks, the package installed correctly.


[Do not merge] fixes #59 / adds update function with INDArray

This adds following syntax.
scala> val m = Nd4j.create(2,2)
m: org.nd4j.linalg.api.ndarray.INDArray =
[[0.00,0.00]
 [0.00,0.00]]

scala> m(0, ->) = Array(1.0,2.0).toNDArray
res0: org.nd4j.linalg.api.ndarray.INDArray =
[[1.00,2.00]
 [0.00,0.00]]

Of note, currently DL4S test fails due to the following bug in ND4J.
So this should not be merged until it's fixed.
scala>   val ndArray =
     |       Array(
     |         Array(1, 2, 3),
     |         Array(4, 5, 6),
     |         Array(7, 8, 9)
     |       ).toNDArray
ndArray: org.nd4j.linalg.api.ndarray.INDArray =
[[1.00,2.00,3.00]
 [4.00,5.00,6.00]
 [7.00,8.00,9.00]]

//this should return [[0.00,0.00,0.00] [0.00,0.00,0.00]] instead.
scala> ndArray.put(Array(NDArrayIndex.interval(0,2,3,false),NDArrayIndex.all),0)
res6: org.nd4j.linalg.api.ndarray.INDArray =
[[0.00,2.00,3.00]
 [7.00,8.00,9.00]]

I've filed an issue at nd4j.
https://github.com/deeplearning4j/nd4j/issues/360


cssnext users

Maybe you know some big teams, that uses cssnext and PostCSS. It will be helpful in PostCSS promotion. For example in threads like this.

/cc @MoOx

I think Twitter use PostCSS now (poke @necolas) ? Not sure if they use cssnext or directly postcss with plugins.
I am pretty sure that play.tv and overblog use cssnext (poke @_kud @Nyalab).
No idea for others.

@ai: You don't need to cc me for cssnext & postcss, I get all issue notifications by email since I watch those projects ;)

@MoOx sorry :). I receive emails only after first mention.

WordPress uses RTLCSS

It seems for now, people don't want to share this kind of info :)


Update set-password-expiration-policy.md

@kwekuako As per Tim Ball ADO task 5594505. Please review changes and merge.
FREELANCERS: Please do NOT merge.


Allow specification of gem source

This will let folks use this gem with private repos!  Hooray!

🎉 👍


Problem with code completion

I'm having an intermittent problem with code completion in Sublime 2.  When I first fire up Sublime, everything works as expected after I save the script once (The message in the status bar says the Linter needs to be run once. After I save the script, even without making changes, autocomplete begins to work). However, I find that it may stop working if I make changes to my code that temporarily cause a number of lines to be invalid. As an example, with code like this:
1 Event myevent()
2     dosomething()
3 EndEvent
4
5 Function dosomething()
6
7 EndFunction
I changed Event myevent() to Function mynewfunction(), and neglected to change the EndEvent keyword until some point later, probably following a save. I noticed that the status bar had a message that dosomething() on line 2 wasn't valid in this scope, and that this message persisted even after I made the correction and even if I commented out line 2. At this point the code would compile just fine, but the code completion feature would not work EXCEPT for basic keywords, as well as functions and variables I had defined in that specific file. That is to say, it would not complete for any inherited functions or properties, or for any of the functions defined in Skyrim's source scripts. The only solution I've found so far is to restart Sublime, after which everything works again as expected.
This is just one example, but I've experienced the code completion failing several times recently in various similar circumstances. I should mention that I'm working with multiple files that extend each other, and the changes I'm making would effect more than one script at a time, but that even when any errors are corrected the code completion continues to fail for all of the open scripts until I restart Sublime. If it would help, I can attach several files I'm working on with specific instruction on how I can reliably reproduce the problem.

I would greatly appreciate having the source code and step by step instructions. A quick replication attempt based on what you've already posted did not yield any issues on my end. Could you also have a look at the Sublime Text console (View > Show Console in the toolbar) on your end when this issue arises?

Alright, I've written a fairly simple set of files, and I can consistently cause the code completion to break on them. I'm attaching both files here. The one does extend the other, and I am updating a function definition on both when the problem arises. I attempt to build the files while there is an error, fix the error, attempt to build again, and then notice that code completion no longer works. I also notice that the status bar is stuck showing an error message even though I have fixed it and successfully built the scripts. I have attached both files here, and included in the files the precise steps I follow to replicate the issue. I also looked at the console and found the following error:
Traceback (most recent call last):
File ".\sublime_plugin.py", line 190, in on_post_save
File ".\sublime_plugin.py", line 154, in run_timed_function
File ".\sublime_plugin.py", line 189, in
File ".\Plugin.py", line 174, in on_post_save
File ".\Plugin.py", line 478, in Linter
AttributeError: 'NoneType' object has no attribute 'show_quick_panel'
Also, as I post the error message I am reminded that I have the plugin setting linter_panel_error_messages set to true. This is the only plugin setting I have changed from the default currently.
UPDATE: In fact, as I typed up this post I tried changing the setting linter_panel_error_messages to false and I could no longer reproduce the issue, even though I could reliably do so before. I tend to recall that I still experienced the problem before turning that setting on initially, although at this point I am not certain and could be mistaken on that point.
CodeCompletionTest.zip

Thanks. I was now able to replicate the results and as you noted the linter_panel_error_messages setting has to be true for the problem to show up. A function in Sublime Text 2's API returns None in this specific situation (and I'm still trying to figure out exactly why) whereas Sublime Text 3 fails safely ("Quick panel unavailable" is printed in the console and everything continues working just fine). I'll continue to look into this issue. The worst case scenario will involve just adding an if-condition to check what the function in question returns prior to trying to call another function on that return value. In the best case scenario I can figure out exactly what is causing None to be returned.

I think I've figured out the cause of the problem and it seems like it might be a bug in or a characteristic of ST2's API. Only the active view can return a reference to the window containing said view in ST2, but in this case two views are being processed and only one of them can be the active view. ST3 does not have this issue because any view can return a reference to the window containing it. The function for showing the quick panel also fails safely in ST3 when an instance of that panel is already being shown.
Looks like I won't be able to fix the actual cause of the problem in ST2, but I can at least avoid the problem in SublimePapyrus by adding an extra if-statement.

Version 2.6.4 should fix the issue.

Great news! Thanks!


CPI ran in a dead loop at setUserMetadata in some case

Got report that CPI is running in a dead loop in some cases:
[614681351:softlayerGo] 2019/02/22 22:27:55 [DEBUG] Request URL:  POST https://api.service.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/xxxxxxxx/setUserMetadata.json
[614681351:softlayerGo] 2019/02/22 22:27:55 [DEBUG] Parameters:  {"parameters":[["xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]]}
[614681351:softlayerGo] 2019/02/22 22:27:56 [DEBUG] Status Code:  500
[614681351:softlayerGo] 2019/02/22 22:27:56 [DEBUG] Response:  {"error":"SoftLayer_Virtual_Guest_Strategy_Behavior_Standard::setUserMetadata is not implemented.","code":"SoftLayer_Exception_NotImplemented"}

The problematic part of code is in client.go:
https://github.com/cloudfoundry/bosh-softlayer-cpi-release/blob/master/src/bosh-softlayer-cpi/softlayer/client/client.go#L1791-L1809
May need to change to retry 5 times and make it failed if it's still in a bad condition.

@xuliya Please work on this task as the primary, will assign to you once Max adds you in this repo.

@xuliya Any update on this issue? Or can it be closed?

@donacarr Do you have any context on this issue?


chore: runtime upgrade to v18.15.0

The type of this PR is: Chore

This PR solves PLATFORM-5064
Description

This upgrades the project to run on v18.15.0.
Other notable changes:

remove pyton from docker image
upgrade babel-loader
upgrade jest and set worker limit to 500MB to workaround heap leak affecting Node JS 16.11.0+
fix various test failures following runtime and jest upgrades

Note that CI test job run appears to have increased by ~30s.
More details in comments.

The commit fix: snapshot failed errors addresses the many snapshot related failures that came up after jest upgrade.
expect(received).toMatchInlineSnapshot(snapshot)
...
    - Array [
    -   Object {
    + [
    +   {

There were a number of snapshot related changes in v29 and alpha releases. I wasn't able to pin point which one introduced the breaking change.
Re-recording the failing snapshots using --updateSnapshot flag seems to have fixed the issue.

Jest v29.4.3 fixed/changed how restoreAllMocks() and resetAllMocks() behave. There are a number of tests that use these methods. I noticed that a few tests were generating a lot of console.error noise, resulting in a 400000 character output during test runs.
example error from this run
console.error
      Warning: Relay: Relay Container for fragment `SaveButton_artwork` has missing data and would suspend. When using features such as @defer or @module, use `useFragment` instead of a Relay Container.

This issue was addressed in https://github.com/artsy/force/pull/12243/commits/4aa7c72e9db14dc4da90bb7cac515991b942185a. Most noise came from src/Components/ArtworkFilter/__tests__/ArtworkFilter.jest.tsx.

cc @artsy/grow-devs

Added review app: https://runtime-upgrade.artsy.net/


(ci)Add npm script to run linter

Image(s) or GIFs (if applicable)
This branch adds the ability to check linting by running npm run lint.
The configuration is present at .eslintrc and focuses on the
directories: src/ and test/
Pull Request Guidelines

[x] I have added pull requests labels which describe my contribution.
[x] All existing tests passed.

[x] I have added tests to cover my changes, of which pass.

[x] I have compared the render output of my branch to master.
[x] My code has passed the ESLint configuration for this project.
[x] My change requires modifications to the documentation.

[x] I have updated the documentation accordingly.

What do you think about limiting the auto lint to files that are currently tracked by git?

Did a quick Google search and didn't find anything about this. Have you tried this before @lyonsno ?
I don't really keep around untracked files so haven't faced before.

Did a quick Google search and didn't find anything about this. Have you tried this before @lyonsno ?

Machete's linting seems to be working this way. It looks like machete does it via webpack, by only exporting the src/ test/ and examples/ directories? So not actually checking which files are checked in, more like an allowlist.

I don't really keep around untracked files so haven't faced before.

I've found it to be helpful for development at times, especially when experimenting with examples and assets. I'd say it would be helpful for my workflow If I didn't need to purge or fix untracked files and folders in the repo root directory, what do you think about changing the blocklist to an allowlist?

what do you think about changing the blocklist to an allowlist?

That's a good idea @lyonsno . Take a look at this commit. What do you think?

what do you think about changing the blocklist to an allowlist?

That's a good idea @lyonsno . Take a look at this commit. What do you think?

I think that's a great solution. I'll approve.


maxDistance problem

Do you want to request a feature or report a bug?
Probably my missing experience

What is the current behavior?
I am using
gps-camera='maxDistance: 25;'
As far as i know this will result in only seeing an object when I am 25 meters away from it? I dont want to display image if it is 25+ meters far from user. However i can see these images too although they are very small.
On the other hand i use near="0.1" far="50000" fov="80" for a-camera and scene, honestly i dont know what are they exactly. Please see attached image.

If the current behavior is a bug, please provide the steps to reproduce.

Please mention other relevant information such as the browser version, Operating System and Device Name
What is the expected behavior?
If this is a feature request, what is motivation or use case for changing the behavior?

I reported this a while back and I think it disappeared. I have exactly the same issue.
Could you share a bit of code that only shows objects within 20m of the user please?


Feature-Add: Add a perplexity clone

Everyone's gotta have an LLM-powered search engine feature right?
https://github.com/developersdigest/llm-answer-engine

https://github.com/YassKhazzan/openperplex_backend_os

https://github.com/langchain-ai/langchain/blob/master/libs/community/langchain_community/document_loaders/brave_search.py
Could instantiate a browser, perform a search with X engine, and then parse the results.

https://www.ignorance.ai/p/how-to-build-an-ai-search-engine-83b?publication_id=1407539
https://www.ignorance.ai/p/how-to-build-an-ai-search-engine

https://cookbook.openai.com/examples/third_party/web_search_with_google_api_bring_your_own_browser_tool
https://developers.google.com/custom-search/v1/overview

https://github.com/pengfeng/ask.py

https://github.com/TheBlewish/Web-LLM-Assistant-Llamacpp-Ollama

https://github.com/felladrin/MiniSearch

https://github.com/appvoid/search

Add option during checkpoints to edit or rewrite results/prompt as config option

Add support for:
Serper
Tavily

Add unit tests for each search engine.


Fix xml tests that broke with mime update

Looks like mime 1.3.4 had xml as application/xml and by 1.3.6 it switched to text/xml. I don't know the backstory behind that nor am I sure of what the semver/breakage implication is for end users of superagent.

@pornel Thoughts on this?
I confirmed it was mime 1.3.6 that introduced this change.
/tmp/20170524-100433 -> npm i<EMAIL_ADDRESS><EMAIL_ADDRESS>node_modules/mime
/tmp/20170524-100433 -> node
> require('mime').types.xml
'application/xml'

/tmp/20170524-100433 -> npm i<EMAIL_ADDRESS><EMAIL_ADDRESS>node_modules/mime
/tmp/20170524-100433 -> node
> require('mime').types.xml
'text/xml'

I did some github research trying to understand the back story for this change but the rabbit hole got the best of me.

Also FYI I asked for help here: https://github.com/broofa/node-mime/issues/158
I see no mention of this change in the mime-db history file: https://github.com/jshttp/mime-db/blob/master/HISTORY.md
I'm a bit perplexed at this point. Hopefully someone closer to the issue might shed some light so we can merge this and get the tests passing again.


Best way to migrate a Nginx ingress to cert-manager without downtime

The original ingress has its cert manually created and saved in secret example-tls
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  ...
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  tls:
  - hosts:
    - example.example.com
    secretName: example-tls

What would happen if annotation cert-manager.io/cluster-issuer: "letsencrypt" is added, assuming cert-manager is installed and letencrypt ClusterIssuer is configured to issue certs?
Best case scenario for us is that cert-manager requests a new cert for this ingress from letsencrypt and update secret example-tls. This way. the migration into cert-manager will be seamlessly with zero downtime. But I could not find any official doc or data point to validate my guess.

If there is a cert.spec.secretName Secret in Certificate's namespace it will be picked up and we have documented in which cases a TLS certificate stored in a Secret gets re-issued https://cert-manager.io/docs/faq/#when-do-certs-get-re-issued. Do feel free to update documentation if you think that additional docs would be valuable 😄 https://github.com/cert-manager/website


Wrapping transport

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

Verification

This was for mentoring right, can we close?


SHACL Implementation

I am hearing more and more about SHACL, rather than ShEx to validate the shape of RDF graphs.  Here is one of several comparisons.
I noticed that this same request/issue was raised in issue 268.  Any talks or plans for a SHACL implementation?

I haven’t even had time to keep up with ShEx. It would be great to have a SHACL implementation, but not sure when I might have the time to get to it. Contributors welcome.

This is still a high priority for me.  SHACL is picking up more and more.  If I can find contributors I will point them here
;-)

Thanks, that would be great! I don’t have the bandwidth to start another big project right now.

I've begun a project template, and will likely do some more setup for the basic project infrastructure and layout design considerations to fit in with the general RDF.rb architecture.
Please move any further discussion to https://github.com/ruby-rdf/shacl/issues.


Removing error prone undefined late binding for Darwin builds

This flag causes the linker to succeed and insert dlsym for undefined values which will cause numerious run time issues that are compile time issues with ext modules
Summary of changes
Do not request darwin (macOS) linker to ignore undefined symbols
Closes
Pull Request Checklist

[NA] Changes have tests - Existing tests pass
[NA] News fragment added in changelog.d/.
(See documentation for details)

Additionally I think setuptools may have to be modernized for clang on Apple platforms, including using -bundle instead of dynamiclib.
The additional linker stripping statement might also only be for when compiling as debug


Behave-like test log

Description
Python's behave package has a feature to print behavior test logs on the terminal when it runs.  We can do the same.  Good for demoing to product people.

Do you think the BDD-style test cases and subcases are sufficient? Here is a really old ticket that requests the BDD-style macros to be extended...

I'm not asking for more BDD-style test cases.  This ticket says that we miss a log on terminal for demo purpose.  I think we need a feature to print the log while tests are running.

In that case would the --success option do the trick? It would print any successful assert along with the current subcase stack.

It's close, but -- the idea is that BDD is a story.  It is designed to tell a story by concatenation the keywords and their title.  I want a feature to show the story by running the unit tests.  --success tells me which assertions succeeded, but this is way too detailed / developer-oriented.  I need the BDD titles printed as shown in the screenshot.

Or called a BDD specification.  Something like this https://en.wikipedia.org/wiki/Behavior-driven_development#Behavioral_specifications , printed on the terminal, when the tests are running, plus a few metric information such as file name, time elapsed, around.

Ok, I think I got it. But I can't promise when this would be implemented.

@zhihaoy  This issue needs clarification if this is to be implemented.
How should a given test case map to a certain output?
If you are still interested in this feature, please provide some C++ code and an example of how the output should look like.


test(e2e): rework to facilitate adding more tests

I wanted to write e2e-tests for the fix in https://github.com/cert-manager/approver-policy/pull/523, and I find the single e2e-test not well prepared for adding additional tests without considerable duplication. In this PR I am suggesting using more of the Ginkgo features available to get DRY tests.
Also removing the ineffective and wrong (the role binding refers to a non-existing cluster role) RBAC from the tests. To do e2e-tests of the RBAC features in approver-policy we need to bootstrap kind with multiple users, and I don't know how to do that. No point in trying to test RBAC with a cluster-admin user. 😉

/test pull-cert-manager-approver-policy-smoke

/test pull-cert-manager-approver-policy-smoke

/cc @wallrj

Thanks for the review @wallrj. I think this PR can be merged as is now. I am eager to continue with the bugfix motivating me to do this.
/unhold


Initiate a Forkless Runtime Upgrade error impl pallet_scheduler::Config for Runtime  missing PreimageProvider, NoPreimagePostponement in implementation

Is there an existing issue?

[X] I have searched the existing issues

Experiencing problems? Have you tried our Stack Exchange first?

[X] This is not a support question.

Bug report for compiling, code snippets, templates, etc.
When bulid the upgraded runtime, occur error
cargo build --release -p node-template-runtime
error:
impl pallet_scheduler::Config for Runtime { missing PreimageProvider, NoPreimagePostponement in implementation
help: implement the missing item: type PreimageProvider = Type;
= help: implement the missing item: type NoPreimagePostponement = Type;
Steps to reproduce the problem
Learn the official tutorial：Initiate a Forkless Runtime Upgrade
bulid the upgraded runtime
cargo build --release -p node-template-runtime
error

https://substrate.stackexchange.com/questions/2663/substrate-forkless-upgrade-tutorial-pallet-scheduler-has-breaking-changes


React Native : after installed 5.4.0 , 8.1.0 version examples throws error

Are you submitting a bug report or a feature request?
new version installed, 8.10 version examples not working throws  error (fields must be passed when ), even not working in ur official site
https://redux-form.com/8.1.0/examples/initializefromstate/
how to upgrade the form to new version, cant find new link or documentation
Pls reply ASAP

same to me
when connect component with redux-form
get the error 'Fields must be passed when initializing state'
I don`t know why get this error

some to me, i get the error 'Fields must be passed when initializing state' too
i'm try use in web application

I messed this up. Sorry.

Thanks for the reply


k3s: enable enableUnifiedCgroupHierarchy

Motivation for this change
Remove workaround.
With https://github.com/k3s-io/k3s/pull/2844, it appears disabling v2 cgroups isn't necessary anymore.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

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

[ ] Fits CONTRIBUTING.md.

I would need to dig up the kubeadm docs but I think this is also needed for containerd.

As of today cgroupsv2 is required by default. Can anyone take a look at this PR?
See the output from k3s check-config
sudo k3s check-config
~/nix$ sudo k3s check-config
Verifying binaries in /var/lib/rancher/k3s/data/d2d6e6834a04e9645645fca71bb77fa4fd53871c106319090c7fe57aadca0222/bin:

sha256sum: good
links: good

System:

/nix/store/z89gy9q97mxjjic28vprjpbwq7439kcq-iptables-1.8.7/bin iptables v1.8.7 (nf_tables): ok
swap: should be disabled
routes: ok

Limits:

/proc/sys/kernel/keys/root_maxkeys: 1000000

info: reading kernel config from /proc/config.gz ...
Generally Necessary:

cgroup hierarchy: cgroups V2 mounted, cpu|cpuset|memory controllers status: bad (fail)
(for cgroups V1/Hybrid on non-Systemd init see https://github.com/tianon/cgroupfs-mount)
CONFIG_NAMESPACES: enabled
CONFIG_NET_NS: enabled
CONFIG_PID_NS: enabled
CONFIG_IPC_NS: enabled
CONFIG_UTS_NS: enabled
CONFIG_CGROUPS: enabled
CONFIG_CGROUP_CPUACCT: enabled
CONFIG_CGROUP_DEVICE: enabled
CONFIG_CGROUP_FREEZER: enabled
CONFIG_CGROUP_SCHED: missing (fail)
CONFIG_CPUSETS: enabled
CONFIG_MEMCG: enabled
CONFIG_KEYS: enabled
CONFIG_VETH: enabled (as module)
CONFIG_BRIDGE: enabled (as module)
CONFIG_BRIDGE_NETFILTER: enabled (as module)
CONFIG_IP_NF_FILTER: enabled (as module)
CONFIG_IP_NF_TARGET_MASQUERADE: enabled (as module)
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled (as module)
CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled (as module)
CONFIG_NETFILTER_XT_MATCH_IPVS: enabled (as module)
CONFIG_IP_NF_NAT: enabled (as module)
CONFIG_NF_NAT: enabled (as module)
CONFIG_POSIX_MQUEUE: enabled

Optional Features:

CONFIG_USER_NS: enabled
CONFIG_SECCOMP: enabled
CONFIG_CGROUP_PIDS: enabled
CONFIG_BLK_CGROUP: enabled
CONFIG_BLK_DEV_THROTTLING: enabled
CONFIG_CGROUP_PERF: enabled
CONFIG_CGROUP_HUGETLB: enabled
CONFIG_NET_CLS_CGROUP: enabled (as module)
CONFIG_CGROUP_NET_PRIO: enabled
CONFIG_CFS_BANDWIDTH: missing
CONFIG_FAIR_GROUP_SCHED: missing
CONFIG_RT_GROUP_SCHED: missing
CONFIG_IP_NF_TARGET_REDIRECT: enabled (as module)
CONFIG_IP_SET: enabled (as module)
CONFIG_IP_VS: enabled (as module)
CONFIG_IP_VS_NFCT: enabled
CONFIG_IP_VS_PROTO_TCP: enabled
CONFIG_IP_VS_PROTO_UDP: enabled
CONFIG_IP_VS_RR: enabled (as module)
CONFIG_EXT4_FS: enabled (as module)
CONFIG_EXT4_FS_POSIX_ACL: enabled
CONFIG_EXT4_FS_SECURITY: enabled
Network Drivers:

"overlay":

CONFIG_VXLAN: enabled (as module)
Optional (for encrypted networks):

CONFIG_CRYPTO: enabled
CONFIG_CRYPTO_AEAD: enabled (as module)
CONFIG_CRYPTO_GCM: enabled (as module)
CONFIG_CRYPTO_SEQIV: enabled (as module)
CONFIG_CRYPTO_GHASH: enabled (as module)
CONFIG_XFRM: enabled
CONFIG_XFRM_USER: enabled (as module)
CONFIG_XFRM_ALGO: enabled (as module)
CONFIG_INET_ESP: enabled (as module)
CONFIG_INET_XFRM_MODE_TRANSPORT: missing

Storage Drivers:

"overlay":

CONFIG_OVERLAY_FS: enabled (as module)

STATUS: 2 (fail)

Apologies for letting this stall out so hard. We definitely should be switching to cgroupsv2 for k3s too.
That said, this PR as it is fails tests (i.e. rebasing this on master + running nix-build -A nixosTests.k3s-single-node-docker fails).
I'll make a followup PR which passes that test, and adds a release note. that seems like the right path forward to me.

As of today cgroupsv2 is required by default. Can anyone take a look at this PR?

I'm curious, is this failing more than the check-config script? Since the nixos tests (exercising the containerd + docker runtimes with enableUnifiedCgroupHierarchy = false), I assumed that still mostly worked?
If our tests are missing something important, that'd be good to know!

I've rebased this change, added the above-suggested flag change to get the docker test passing, and added a release note. That PR's over here: https://github.com/NixOS/nixpkgs/pull/162866

Closed by #162866

Thank you for your attention.

I'm curious, is this failing more than the check-config script? Since the nixos tests (exercising the containerd + docker runtimes with enableUnifiedCgroupHierarchy = false), I assumed that still mostly worked? If our tests are missing something important, that'd be good to know!

Right now in 21.11, a plain servies.k3s.enable = true causes the check-config complaint above. If I set systemd.enableUnifiedCgroupHierarchy = true;, nixos-rebuild won't work due to a conflicting definition of it.


ES - Memory Pool Size No Longer Requires 32-bit Alignment

The CCB approved commit under Trac #230 redesigned the ES memory pool to perform alignment in accordance with the base address vs. the size of the data pool.  This change affects ES requirement cES1321.1 which is no longer needed.  Instead a new error check is performed to ensure the size of the pool is not less than the minimum block size.  The affected requirement, along with its parent, is pasted below for reference.
cES1321:
"cES1321 Upon receipt of a Request the cFE shall allocate a block of memory of the specified size from the specified Memory Pool."
cES1321.1:
"cES1321.1 If the specified size is not an integral multiple of 32 bit words, the size shall be rounded up to an integral of 32 bit words."

Imported from trac issue 219.  Created by sstrege on 2017-11-06T19:55:05, last modified: 2019-03-05T14:58:28

Trac comment by glimes on 2017-11-14 13:48:57:
The corresponding update can be found in commit [changeset:bfa1e46] associated with ticket #251.

Trac comment by sstrege on 2017-11-06 19:58:11:
Also, cES1320.1 is affected by Trac #230:
cES1320:
"cES1320 Upon receipt of a Request, the cFE shall prepare a Memory Pool for runtime memory
allocation/de-allocation."
cES1320.1:
"cES1320.1 If the specified size is not an integral multiple of 32 bit words, the size shall be rounded
down to an integral number of 32 bit words."

Trac comment by glimes on 2017-11-16 13:28:28:
Integrated via the ic-2017-11-14 integration branch.

Trac comment by jhageman on 2019-03-05 14:58:28:
Milestone renamed


Add site-examples: [ECR-4256]

Overview
Add a module for code snippets included in the documentation
on exonum.com/doc.
Move all snippets from the section on service testing to
this module.
Move @Integration annotation to testing module.

The PR to exonum-doc will be submitted shortly.

See:

https://jira.bf.local/browse/ECR-4256
https://www.testcontainers.org/contributing_docs/#codeincludes on the plugin syntax

Definition of Done

[ ] There are no TODOs left in the code
[ ] Change is covered by automated tests
[ ] The coding guidelines are followed
[ ] Public API has Javadoc
[ ] Method preconditions are checked and documented in the Javadoc of the method
[ ] Changelog is updated if needed (in case of notable or breaking changes)
[ ] The continuous integration build passes

The docs render perfectly 🙃

Coverage remained the same at 85.114% when pulling 99229b0c7c4e4afac9b9ced4cad16fd4f851fbb4 on add-site-examples into 62cf36e4ecbd9e40be220cfcdf4fc4234970f9d8 on master.


Add missing roundtrip serialization tests.

This includes adding missing proptest strategies.
Closes https://github.com/casper-network/casper-node/issues/2382.

@Fraser999 , merging this but if you have any comments I will follow-up. It's a test code only so is not breaking anything that already exists.

bors merge


Publish should not wait for confirmation

The publish() method forces the user to wait for the message to be published. It is perfectly reasonable to publish a message with QOS > 0 when the client is disconnected. For example, on unreliable links, a loop in a thread/task is used to reconnect when the connection goes down. The publisher can continue on publishing at QOS > 0 without knowing anything about the status of the connection. This is not possible with the current publish() implementation and puts a bigger implementation burden on the user of this library.

Thanks for opening this issue. Let me have a look. :)

It is perfectly reasonable to publish a message with QOS > 0 when the client is disconnected. For example, on unreliable links, a loop in a thread/task is used to reconnect when the connection goes down. The publisher can continue on publishing at QOS > 0 without knowing anything about the status of the connection.

I never considered that use case. Thanks for bringing it to my attention. :+1: Your question in #46 makes a lot more sense to me now.
To support this, we need to make some API-breaking changes. I'm up for it, though.
Make Client work in "offline" mode
Old behaviour:

Client.publish only works while online (connected to the server)
Client can only connect once and only disconnect once. You have to create a new Client instance if you want to, e.g., reconnect to the server.

New behaviour:

Client.publish works while offline (not connected to the server)
Client can connect to/disconnect from the server multiple times. We use the existing paho.client.reconnect logic to support this.

An example of the new API that these changes bring with them (based on the "Advanced example"):
async def ensure_connection(client):
    reconnect_interval = 3  # [seconds]
    while True:
        try:
            # Connect to the server
            async with client:
                # We pass the (connected) client to the advanced example
                await advanced_example(client)
        except MqttError as error:
            print(f'Error "{error}". Reconnecting in {reconnect_interval} seconds.')
        finally:
            await asyncio.sleep(reconnect_interval)

async def post_to_topics(client, topics):
    while True:
        for topic in topics:
            message = randrange(100)
            print(f'[topic="{topic}"] Publishing message={message}')
            # Note that we no longer use await here! If the client isn't connected, paho-mqtt queues the messages
            # up internally.
            client.publish(topic, message, qos=1)
            await asyncio.sleep(2)

# There is only a single client instance. We reuse it again and again.
client = Client("test.mosquitto.org")

# Keep the client connected indefinitely
task = asyncio.create_task(ensure_connection(client))
tasks.add(task)

# Publish a random value to each of these topics
topics = (
    "floors/basement/humidity",
    "floors/rooftop/humidity",
    "floors/rooftop/illuminance",
    # 👉 Try to add more topics!
)
task = asyncio.create_task(post_to_topics(client, topics))
tasks.add(task)

Would something like the above example work for you?

As long as the publish can still be done outside of the context manager, i.e. the async with client, I think this design will work.

This is part of the experimental anyio-based branch. See #44.

Regarding this statement,

Client can only connect once and only disconnect once. You have to create a new Client instance if you want to, e.g., reconnect to the server.

Has anything changed in asyncio-mqtt ?
I have no problem with the following code, where I re-use the same client and connect/disconnect every second.
class Publisher:

    def __init__(
        self,
        url,
        topics
    ) -> None:
        self.url = url
        if isinstance(topics, str):
            topics = [topics]
        self.topics = topics

    async def run(self):
        i = 0
        client = Client(self.url)
        while True:
            message = f"Message n{i}"
            async with client:
                for topic in self.topics:
                    await client.publish(topic, message.encode())
            print(client._disconnected.done())  # Returns True
            await asyncio.sleep(1)
            i += 1

if __name__ == "__main__":
    publisher = Publisher(MQTT_BROKER_ADDRESS, "some_topic")

    asyncio.get_event_loop().run_until_complete(publisher.run())

Hi Robin, thanks for the comment here. :)

I have no problem with the following code, where I re-use the same client and connect/disconnect every second.

For now, asyncio_mqtt.Client is officially a single-use context manager.
We (the asyncio-mqtt maintainers) may at some point announce that asyncio_mqtt.Client is a reusable (but not reentrant) context manager.
It may be that asyncio_mqtt.Client already is a reusable context manager. We (the asyncio-mqtt maintainers) just don't guarantee it yet.
Robin, if you want to, you can make a PR with a suite of tests that proves that asyncio_mqtt.Client is reusable. With those tests in place, we can guarantee this property.

I don't think this is correct, QoS1 means could make sure that message sent.It's not reliable to store message in memory, the only way to make sure messages sent is to store it in disk(which is too much work for a mqtt client), and send them one by one, or you MUST accept some message sending may be failed.

Making publish() work outside the client context is very unexpected.
If the goal is to provide more convenience then e.g. a new function publish_with_buffer() would imho make way more sense.

Curiously asking, why is making it work outside the client context so unexpected, shouldn't a client work like that being connected to the broker, publishes and reads messages when they come, but shouldn't the connection be persistent?

I might have misphrased, the unexpected part is the suggested behavior.:
E.g. I call publish on a disconnected client and after the client connects the queued up publish call goes through. It's not clear at all that publish will behave like that and I even think it's reasonable to expect that this behavior is (sometimes) even undesired.

Yes @spacemanspiff2007, got your point, makes good sense to me now what you say.
PS: It was misinterpretation on my end, thanks for taking out the time to re-explain.


modal basestyle overriding is not working

Description
modal basestyle overriding is not working
CodeSandbox/Snack link
none
Steps to reproduce
const THEME = extendTheme({
  components: {
    Modal: {
      baseStyle: {
        _backdropFade: {
          exitDuration: 10,
          entryDuration: 10,
        },
      },
    },
});

modal _backdropFade overriding is not working
NativeBase Version
3.4.6
Platform

[ ] Android
[ ] CRA
[ ] Expo
[X] iOS
[ ] Next

Other Platform
No response
Additional Information
No response

Thank you @hoondeveloper for reporting. We will look into it.

This issue has been fixed in v3.4.8.


chore: update dependencies

This PR is a biggy but resolves a few issues.

Migrates projects to VS2017 styling which is modern and cleaner. (Required for 2)
Migrate from ILMerge to ILRepack since the former is deprecated. (Required for 3)
Updates all dependencies to their latest version for security, and to utilise the new features available in XrmToolBox.
Removes old dependencies.
Apply code styling format.

There are no new features in this, although this is an excellent foundation after the large code refactor just merged.

Please only approve this after manual testing in XrmToolBox. 😄

@tdashworth  - I've launched from Visual Studio and everything working normally


New Car Compile

Can you upload the compilation of the code of the new model vehicles for Windows?

I made some tweaks:
The keyboard WASD, and arrow keys act like 2 separate control devices
I updated the toolchain to Qt_6_5_3_MSVC2019
https://drive.google.com/file/d/16c5UyQQHvu-Hr1ywa6I8n9Ah5otda881/view?usp=sharing


Warning status for the Progress Linear component

Feature
Requesting a warning status for the Progress Linear component.
Examples
Example:

I spoke with the UX team and the UX members assigned to this project have decided to go a different direction, therefore we will not be adding a warning progress indicator status.

Ok, but then how we should implement this mockup made by Chrissy?

@FlyersPh9 Not sure if this the right place as I'm commenting on this very old issue, but are there still no considerations for adding this status? At least imo a good use case for this is to indicate "succeeded with warnings" kind of status - neither happy green that indicates 0 failure, nor angry red that means a process completely failed.

@Juliakas We've added the warning status in 3.4.0 🎉


EDNS unknown version: query not in response

Hi,
I am currently testing the response of NSD (v4.1.26) to EDNS OPT confirmability (http://ednscomp.isc.org/ednscomp/). I am looking in particular at the confirmation of a request with a bad EDNS version like:
dig +edns=1 soa zone @server
If I look at the network response, I observe that in this case, the response from NSD does not contain the initial request. I just get a response containing an additional OPT records.
If I make the request by specifying edns=0, then NSD responds correctly by copying the initial request well in its response.
I tested with Bind and Unbound, they behave well with edns=1, they respond well by copying the initial request in their response.
In what I observe, only NSD does not copy the initial request in its response when edns=1.
This is problematic for me because my NSD is behind a dnsdist and it considers that the answer is "non compliant" and therefore does not transmit it to the client who made the request.
I do not know if dnsdist is right to consider the response as "not compliant" because it does not contain the initial request but since NSD is the only one in my tests to behave like this, I wonder if there is is not a problem.
Thanks

Thanks for the report!  The fix is committed that should include the query name in BADVERS responses.

Hi @wcawijngaards,
I'm experimenting the same issue in a similar configuration scenario described by @ArnGa (dnsdist 1.7.0 in front of nsd 4.2.4 epel package). When I try to exectute dnsflag day 2020 auth nameserver validation I receive minor warning on the query:
dig +edns=1 soa zone @server
Capturing the network traffic i noticed that in the query response is missing the initial request.
Does this nsd version is fixable?
Thanks in advance for your support
Angelo


About the the comparison method LGL in your article.

Hello, the MMGL model you proposed is very enlightening. I would like to ask you some detailed questions about the comparative experiment in your article. When I used the LGL model to classify the ABIDE dataset, the average accuracy of the classification results obtained was close to the 86.40 marked in your article, but the variance of the results was large, nearly 7, far greater than the 1.63 marked in your article. Because the author of the original LGL model did not conduct classification experiments on ABIDE, I would like to seek your help. May I ask if it is convenient for you to provide some implementation details about the LGL model for ABIDE classification, such as the need to use recursive feature elimination to reduce the dimensionality of input features? How many graph convolutional layers were used? What is the final MLP dimension size?

I'm sorry I haven't saved the hyperparameters because the baselines were run two years ago

My LGL’s results accuracy is only about 80%.Did you make the feature selection before the data split?


[WIP] Fix trailing whitespace

Note: this is not working, putting this pull request to figure out why.
echo 'export type Result<T, V> = | { kind: "not-test-editor1" } | { kind: "not-test-editor2" }; export type Result2<T, V> = { kind: "not-test-editor"};' | ./bin/prettier.js --stdin | cat -e
export type Result<T, V> =$
  | { kind: "not-test-editor1" }$
  | { kind: "not-test-editor2" };$
export type Result2<T, V> ={ kind: "not-test-editor" };$
$

As you can see, the space is not showing up when it fits in one line.
Fixed #222

#300 is a more robust solution


Implement "Rename" operation (e.g. for fields, models, ...) that automatically apply @map

WIP
Notes:

Might require a DB schema information file
F2

Duplicate of #245


Add support for onlyDirectories for top-level docs

turns out the behavior is broken even for groups.


[release-1.6] remove istio-validation container when running istioctl rm

This is an automated cherry-pick of #26151

@googlebot I consent.

@jacob-delgado requesting your approval here

@jwendell

Nice!


Sum of 1st and 2nd vaccination > administered vaccination

In the API description for it says:
administeredVaccinations The total number of administered vaccine doses (sum of first and second vaccination)
But when you add up the numbers for first and second vaccination this sum is bigger than this value. IS this a miscalculation or do I miss something here?
Example from Sunday 08.08.2021:
"administeredVaccinations": 94272474
"vaccinated": 51750882
"secondVaccination": {
"vaccinated": 44999521,
51750882 + 44999521 = 96750403

See the remark in describtion
ATTENTION vaccinations with Janssen are counted as both firstVaccination and secondVaccination but are only counted once in administeredVaccinations!
51750882 + 44999521 = 96750403
minus 94272474 = 2477929 = Janssen

so the documentation is not exactly right ................ should be (sum of first und second vaccination minus 1 time janssen) or similar ....

i think this issue can be closed!


After the lock screen wakes up again, the Windows related combination shortcut keys configured in the keyboard manager will become invalid

Microsoft PowerToys version
0.73.0
Installation method
WinGet
Running as admin
None
Area(s) with issue?
Keyboard Manager
Steps to reproduce
After the lock screen wakes up again, the Windows related combination shortcut keys configured in the keyboard manager will become invalid
✔ Expected Behavior
press Windows+ Tab
❌ Actual Behavior
Failure to execute behavior according to the predetermined combination preset
Other Software
No response

Not able to repro this, going to close. Let us know if you see this again!


Questions about Notary

Hi,
May i know Notary can work without Docker registry ? I saw a lot of example Notary with Docker registry.
How about other file formats like jar file?
My requirement need file integrity check system hosted behind my company firewall. We generate private/public key pair for jar file and pass public key and jar file to client. Client connects to our integrity check system using the public key to check jar file integrity.
May i know Notary is what i want base on above requirement ? If yes, any examples ?
Appreciate for any advice
Jason

May i know Notary can work without Docker registry ? I saw a lot of example Notary with Docker registry.

Yes, absolutely.

Hi HuKeping
May I know what is the command for client to check the jar file integrity ? I cant find example for this.
May you direct me to the API page ?
Appreciate for any advice
Thank You
Jason

First you need to run an service of notary server and notary signerwhich will provide you the functionalities of Notary. I think there is already a docker image for it, but it's fine if you do not want to running the service in docker container.
After that, using Notary CLI to do everything you want( sign , verify, etc)

Thanks for reply. btw, i able to run an service of notary server and notary signer using docker-compose but i cannot initialize collection :
notary init example.com/collection
where should i issue command above ?
Thanks for any advice!
Jason

What's the error

Hi HuKeping,
What is the necessary change for me to run docker-compose in docker for windows version ?
I hit below error :+1:
sh: ./migrations/migrate.sh: not found
in both server and signer container.
Appreciate for any advice
Thank You
Jason


SecurityError: localStorage is not available for opaque origins

I encountered this error when running yarn test in https://serverless-stack.com/chapters/unit-tests-in-serverless.html
Solved it by changing the script in package.json to
"scripts": {
    "test": "jest --env=node"
  },

Oh which version of Jest were you using?


is there a way to have a global search for anything on the toolkit?

I am wondering if this version of the repo has the global search capability built it?

@lukeaskew is this something that the New version will include ?

The plan is to have a plugin system that should accommodate for this type of thing.
Unfortunately for Fabricator, I just moved and started a new job this summer, so I've been in a bit of a hiatus. Hoping I can put more time toward this project in the future.

@danmv I’ve built a search for a toolkit using Fabricator. It’s not perfect, it respond only to titles, but it works. You can see it live here and most of the code here.