Fitbit stops updating

Make sure you run the latest version before reporting an issue. Feature requests should go in the forum: https://community.home-assistant.io/c/feature-requests
Home Assistant release (hass --version):
0.20.dev0
Python release (python3 --version):
Component/platform:
fitbit
Description of problem:
Fitbit sensor stops updating 2 hours after hass has started.
Two different tracebacks provided.
Expected:
Fitbit updating sensors.
Problem-relevant configuration.yaml entries and steps to reproduce:

Traceback (if applicable):
Traceback (most recent call last):
  File "/srv/hass/src/home-assistant/homeassistant/core.py", line 801, in job_handler
    func(arg)
  File "/srv/hass/src/home-assistant/homeassistant/helpers/event.py", line 179, in pattern_time_change_listener
    action(now)
  File "/srv/hass/src/home-assistant/homeassistant/helpers/entity_component.py", line 191, in _update_entity_states
    entity.update_ha_state(True)
  File "/srv/hass/src/home-assistant/homeassistant/helpers/entity.py", line 145, in update_ha_state
    self.update()
  File "/srv/hass/src/home-assistant/homeassistant/util/__init__.py", line 289, in wrapper
    result = method(*args, **kwargs)
  File "/srv/hass/src/home-assistant/homeassistant/components/sensor/fitbit.py", line 365, in update
    @Throttle(MIN_TIME_BETWEEN_UPDATES)
  File "/media/Server/HomeAssistant/deps/fitbit/api.py", line 515, in time_series
    return self.make_request(url)
  File "/media/Server/HomeAssistant/deps/fitbit/api.py", line 227, in make_request
    response = self.client.make_request(*args, **kwargs)
  File "/media/Server/HomeAssistant/deps/fitbit/api.py", line 68, in make_request
    response = self._request(method, url, data=data, auth=auth, **kwargs)
  File "/media/Server/HomeAssistant/deps/fitbit/api.py", line 55, in _request
    return self.session.request(method, url, **kwargs)
  File "/srv/hass/lib/python3.5/site-packages/requests/sessions.py", line 461, in request
    prep = self.prepare_request(req)
  File "/srv/hass/lib/python3.5/site-packages/requests/sessions.py", line 394, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/srv/hass/lib/python3.5/site-packages/requests/models.py", line 299, in prepare
    self.prepare_auth(auth, url)
  File "/srv/hass/lib/python3.5/site-packages/requests/models.py", line 494, in prepare_auth
    r = auth(self)
  File "/media/Server/HomeAssistant/deps/requests_oauthlib/oauth2_auth.py", line 35, in __call__
    http_method=r.method, body=r.body, headers=r.headers)
  File "/media/Server/HomeAssistant/deps/oauthlib/oauth2/rfc6749/clients/base.py", line 194, in add_token
    raise TokenExpiredError()
oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)

Traceback (most recent call last):
  File "/srv/hass/src/home-assistant/homeassistant/core.py", line 801, in job_handler
    func(arg)
  File "/srv/hass/src/home-assistant/homeassistant/helpers/event.py", line 179, in pattern_time_change_listener
    action(now)
  File "/srv/hass/src/home-assistant/homeassistant/helpers/entity_component.py", line 191, in _update_entity_states
    entity.update_ha_state(True)
  File "/srv/hass/src/home-assistant/homeassistant/helpers/entity.py", line 145, in update_ha_state
    self.update()
  File "/srv/hass/src/home-assistant/homeassistant/util/__init__.py", line 289, in wrapper
    result = method(*args, **kwargs)
  File "/srv/hass/src/home-assistant/homeassistant/components/sensor/fitbit.py", line 365, in update
    response = self.client.time_series(self.resource_type, period="7d")
  File "/media/Server/HomeAssistant/deps/fitbit/api.py", line 515, in time_series
    return self.make_request(url)
  File "/media/Server/HomeAssistant/deps/fitbit/api.py", line 227, in make_request
    response = self.client.make_request(*args, **kwargs)
  File "/media/Server/HomeAssistant/deps/fitbit/api.py", line 68, in make_request
    response = self._request(method, url, data=data, auth=auth, **kwargs)
  File "/media/Server/HomeAssistant/deps/fitbit/api.py", line 55, in _request
    return self.session.request(method, url, **kwargs)
  File "/srv/hass/lib/python3.5/site-packages/requests/sessions.py", line 461, in request
    prep = self.prepare_request(req)
  File "/srv/hass/lib/python3.5/site-packages/requests/sessions.py", line 394, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/srv/hass/lib/python3.5/site-packages/requests/models.py", line 299, in prepare
    self.prepare_auth(auth, url)
  File "/srv/hass/lib/python3.5/site-packages/requests/models.py", line 494, in prepare_auth
    r = auth(self)
  File "/media/Server/HomeAssistant/deps/requests_oauthlib/oauth2_auth.py", line 35, in __call__
    http_method=r.method, body=r.body, headers=r.headers)
  File "/media/Server/HomeAssistant/deps/oauthlib/oauth2/rfc6749/clients/base.py", line 194, in add_token
    raise TokenExpiredError()
oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)

Additional info:

The fitbit package should be taking care of auto updating the token, but it doesn't appear it is. Will look into it soon-ish.

I also have this problem.
16-06-20 18:58:30 ERROR (ThreadPool Worker 5) [homeassistant.core] BusHandler:Exception doing job
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/core.py", line 809, in job_handler
    func(arg)
  File "/usr/src/app/homeassistant/helpers/event.py", line 179, in pattern_time_change_listener
    action(now)
  File "/usr/src/app/homeassistant/helpers/entity_component.py", line 191, in _update_entity_states
    entity.update_ha_state(True)
  File "/usr/src/app/homeassistant/helpers/entity.py", line 145, in update_ha_state
    self.update()
  File "/usr/src/app/homeassistant/util/__init__.py", line 289, in wrapper
    result = method(*args, **kwargs)
  File "/usr/src/app/homeassistant/components/sensor/fitbit.py", line 384, in update
    response = self.client.time_series(self.resource_type, period="7d")
  File "/usr/local/lib/python3.4/site-packages/fitbit/api.py", line 515, in time_series
    return self.make_request(url)
  File "/usr/local/lib/python3.4/site-packages/fitbit/api.py", line 227, in make_request
    response = self.client.make_request(*args, **kwargs)
  File "/usr/local/lib/python3.4/site-packages/fitbit/api.py", line 68, in make_request
    response = self._request(method, url, data=data, auth=auth, **kwargs)
  File "/usr/local/lib/python3.4/site-packages/fitbit/api.py", line 55, in _request
    return self.session.request(method, url, **kwargs)
  File "/usr/local/lib/python3.4/site-packages/requests/sessions.py", line 461, in request
    prep = self.prepare_request(req)
  File "/usr/local/lib/python3.4/site-packages/requests/sessions.py", line 394, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/usr/local/lib/python3.4/site-packages/requests/models.py", line 299, in prepare
    self.prepare_auth(auth, url)
  File "/usr/local/lib/python3.4/site-packages/requests/models.py", line 494, in prepare_auth
    r = auth(self)
  File "/usr/local/lib/python3.4/site-packages/requests_oauthlib/oauth2_auth.py", line 35, in __call__
    http_method=r.method, body=r.body, headers=r.headers)
  File "/usr/local/lib/python3.4/site-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 194, in add_token
    raise TokenExpiredError()
oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)

Hello folks,
I'm also hitting the same problem over here.
Traceback (most recent call last):
  File "/home/hass/.virtualenvs/home_assistant/lib/python3.4/site-packages/homeassistant/core.py", line 835, in job_handler
    func(arg)
  File "/home/hass/.virtualenvs/home_assistant/lib/python3.4/site-packages/homeassistant/helpers/event.py", line 179, in pattern_time_change_listener
    action(now)
  File "/home/hass/.virtualenvs/home_assistant/lib/python3.4/site-packages/homeassistant/helpers/entity_component.py", line 180, in _update_entity_states
    entity.update_ha_state(True)
  File "/home/hass/.virtualenvs/home_assistant/lib/python3.4/site-packages/homeassistant/helpers/entity.py", line 163, in update_ha_state
    self.update()
  File "/home/hass/.virtualenvs/home_assistant/lib/python3.4/site-packages/homeassistant/util/__init__.py", line 289, in wrapper
    result = method(*args, **kwargs)
  File "/home/hass/.virtualenvs/home_assistant/lib/python3.4/site-packages/homeassistant/components/sensor/fitbit.py", line 384, in update
    response = self.client.time_series(self.resource_type, period="7d")
  File "/home/hass/.homeassistant/deps/fitbit/api.py", line 515, in time_series
    return self.make_request(url)
  File "/home/hass/.homeassistant/deps/fitbit/api.py", line 227, in make_request
    response = self.client.make_request(*args, **kwargs)
  File "/home/hass/.homeassistant/deps/fitbit/api.py", line 68, in make_request
    response = self._request(method, url, data=data, auth=auth, **kwargs)
  File "/home/hass/.homeassistant/deps/fitbit/api.py", line 55, in _request
    return self.session.request(method, url, **kwargs)
  File "/home/hass/.virtualenvs/home_assistant/lib/python3.4/site-packages/requests/sessions.py", line 461, in request
    prep = self.prepare_request(req)
  File "/home/hass/.virtualenvs/home_assistant/lib/python3.4/site-packages/requests/sessions.py", line 394, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/home/hass/.virtualenvs/home_assistant/lib/python3.4/site-packages/requests/models.py", line 299, in prepare
    self.prepare_auth(auth, url)
  File "/home/hass/.virtualenvs/home_assistant/lib/python3.4/site-packages/requests/models.py", line 494, in prepare_auth
    r = auth(self)
  File "/home/hass/.homeassistant/deps/requests_oauthlib/oauth2_auth.py", line 35, in __call__
    http_method=r.method, body=r.body, headers=r.headers)
  File "/home/hass/.homeassistant/deps/oauthlib/oauth2/rfc6749/clients/base.py", line 194, in add_token
    raise TokenExpiredError()

However when restarting the HASS, the fitbit component is able to get a new token and then it works as expected.
Looking at https://community.home-assistant.io/t/fitbit-error/1087/17 we can see a patch that seemed to fix this issue, however I checked the python-fitbit code https://github.com/orcasgit/python-fitbit and the PR (https://github.com/orcasgit/python-fitbit/pull/92) is not implemented on my local library.  We can see the patch on shimeez branch at https://github.com/shimeez/python-fitbit/commit/762b7c6175f7efaaa06055eff5b63a009f9131e8
I've updated my local fitbit/api.py code on my devel box with shimeez's patch and I'll report the results on the next 2 days.
  -- installed the global
    $ pip install --upgrade  git+git://github.com/shimeez/python-fitbit.git@master

  -- for double check, I've modified the local deps too
    $ diff -ruN ~/.homeassistant/deps/fitbit/api.py.orig ~/.homeassistant/deps/fitbit/api.py
    --- /home/hass/.homeassistant/deps/fitbit/api.py.orig	2016-07-12 00:04:24.111905150 -0400
    +++ /home/hass/.homeassistant/deps/fitbit/api.py	2016-07-12 00:05:04.551618310 -0400
    @@ -10,6 +10,7 @@
         from urllib import urlencode

     from requests_oauthlib import OAuth2, OAuth2Session
    +from oauthlib.oauth2 import TokenExpiredError
     from fitbit.exceptions import (BadResponse, DeleteError, HTTPBadRequest,
                                    HTTPUnauthorized, HTTPForbidden,
                                    HTTPServerError, HTTPConflict, HTTPNotFound,
    @@ -66,7 +67,7 @@
             try:
                 auth = OAuth2(client_id=self.client_id, token=self.token)
                 response = self._request(method, url, data=data, auth=auth, **kwargs)
    -        except HTTPUnauthorized as e:
    +        except (HTTPUnauthorized, TokenExpiredError) as e:
                 self.refresh_token()
                 auth = OAuth2(client_id=self.client_id, token=self.token)
                 response = self._request(method, url, data=data, auth=auth, **kwargs)

  -- looking the same
    $ diff /home/hass/.virtualenvs/home_assistant/lib/python3.4/site-packages/fitbit/api.py  /home/hass/.homeassistant/deps/fitbit/api.py | wc -l
    0

If that works, we might need to cherrypick the patch as well.
Best Regards,
mmello

@tchellomello Thanks for your research on this. Let me know what you find and if you come back with positive news i'll get the patch in.

@robbiet480 You are very welcome teamwork++.
The good news is that it's been running for almost a day and the fitbit.conf file and the token got refreshed as expected.  I had no tracebacks and the frontend is reporting the data as expected.
Yes, let's backport/import the fix  and we should be fine.  Thanks @turbokongen  and @roflmao for reporting the issue.
@robbiet480  Please let me know if you need help.  Are you planning to create a local branch for that or re-open a change request for @orcasgit ?
Thanks guys.
~ mmello

I spoke with @robbiet480  and I'll work to submit a patch to the official project and I'll paste the information here.

PR submitted to python-fitbit
https://github.com/orcasgit/python-fitbit/pull/97

PR #3244 created since upstream patches for python-fitbit were merged
https://github.com/orcasgit/python-fitbit/pull/97
https://github.com/orcasgit/python-fitbit/pull/99


Verification of parameterized structs

Our approach to parameterized struct declarations are a good way to allow variable size structs and ports.  However, having separate definitions for width and declare_s is error prone and could lead to width mismatch bugs.  We would like to have a module for each package which contains parameterized structs.   This module would be instantiated at the top level and it's entire purpose would be to assert $bits(my_super_cool_struct_s) = my_super_cool_struct_width` for all structs in a package.

Another idea would be to generate the struct widths from a Python script run over the struct definitions

#Solved_by_Shylock
A related idea solving a slightly different problem is to fold these width
definitions into the config infrastructure -- we just store the widths in
that package. This would probably make the code much shorter and more
readable.
On Sat, May 25, 2019 at 10:54 PM Dan Petrisko<EMAIL_ADDRESS>wrote:

Another idea would be to generate the struct widths from a Python script
run over the struct definitions
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/black-parrot/pre-alpha-release/issues/84?email_source=notifications&email_token=AEFG5ADJZVS72DKIJVTNDATPXIQ3DA5CNFSM4G45GVW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWH64XI#issuecomment-495971933,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEFG5ACRWORRDBYT73JYI23PXIQ3DANCNFSM4G45GVWQ
.

Ooh, I like that. At that point, we’d probably want to generate the configs, though, because they’d get huge

Partially solved by printing bits(struct) and struct_width_lp for bp_tile.  We can expand this solution to other modules, or do something fancier to parse them all at once


Fix non-functional nondeterministic_system_order example

Objective
The nondeterministic_system_order example doesn't actually detect and log its deliberate order ambiguities! It should, tho.
Solution
Update the schedule label, and explain in a comment that you can't turn it on for the whole Main schedule in one go (alas, that would be nice, but it makes sense that it doesn't work that way).

OK, that red mark looks like unrelated trailing whitespace in the cargo.toml. Happy to fix it in this PR, but only if someone asks me to, since I assume it's going to jump out at everyone else's PRs too.

Merging as trivial; thanks for catching this :)

OK, that red mark looks like unrelated trailing whitespace in the cargo.toml. Happy to fix it in this PR, but only if someone asks me to, since I assume it's going to jump out at everyone else's PRs too.

There was already a fix (I don't know if that fixed all the issues), but you should be good to go when you rebase

Righto, rebased


Add additional debug information for libcurl on m1 mac in readme

When building latest master on my m1 mac, I needed to run brew unlink openssl for it to build correctly.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Mac GCC and Windows MSVC CI build errors were fixed in this merge. You can rebase to include those changes.


BSEC BME680 should be updated

The BSEC BME 680 has a new version dated Jan 2020, suggest that the version wrapped up within this code should be updated to allow BSEC bugs/fixes/changes to be corrected
File		bme680.c

@date	23 Jan 2020
@version	3.5.10

Yes please. And it doesn(t work with ESP32S3.


Limit tab operation to supported sites

Currently, Tsuhiki runs on every page, and sends the URL to be searched. From both a privacy and efficiency point of view, this should be limited to only run on pages the plugins support. This could either be baked directly into the manifest, or as an optional list of sites in the settings. Given 99% of users aren't going to be running custom downloader scripts, I think the former is a better option, as they can build their own extension or mainline their plugin while security is better controlled at the browser level.

Clone of #3, see my comment there 👍


spello?

firstly, I am NOT a programmer.
In the page (warp/examples/ERC20/ERC20.sol), was this string - "Warrpped - meant to be spelt that way, or is this a typo/mistake?
string public name        = "Warrpped Ether";

cheers

Hey, It's meant to be like that to have emphasis on the rr.


Reset value

Hi, first of all thanks for this plugin!
I have a problem, how can i reset to 0  all the values?
I use the  .reset() function to reset all the form fields and the value of the duration picker input field go to 0, but is not update the #bdp-hours value...

Hi @Nittarab , you can use setValue method like this:
$('#your-selector').data('durationPicker').setValue(0);

Make sure that you have the lastest version, I added that method in v.2.1.1


fix: ignore value with quotations for jsonb

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 57.457%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4658

Relevant Lines:
8107

💛  - Coveralls


WIDGPT-58 fix typo "wrords" in subtitle template.

Trivial.  WIDGPT-58.
Corrects typo in template for launcher subtitle.

FWIW I don't think we need PRs or Jira issues for documentation and comment improvements.  I think this just clutters things up so it's harder to track the important things (actual functional changes) and adds work.


Bot can't start a new thread (or even reply to an existing thread) if your DM are closed

Recently, my Discord DM were closed and my support team couldn't start a new thread. I think that it's the same issue to reply to an existing thread.

This isn't something that the bot has any control over but rather a limitation of the privacy & security settings - bots can't send friend requests to circumvent this like normal users can.
If your dms are closed, they're closed. It works the same with regular users.

oh okay thanks for your reply


Refactor GoToDefinitionFilter

getDocumentState/gotoDefinition with more appropriate separation of logic to identify definition type and how to handle it
Tried it on paket solution, go to script, go to symbol in same file and go to symbol in FSharp.Core all worked.

This is a good idea. I had a few comments above.


Removing Some Shapes

Removing some shapes of classes which clearly should not be abstract. These classes are instantiated by our own model. Note that we might need to write new shapes for them.
@HaydarAk The diff of these commits might be interesting for you to have a list of violating classes

@sebbader For reference - we discussed this just now. While talking to Haydar, we also came up with the fact that the "idsm:abstract" property would (in the RDF world) be inherited down to subclasses, making them abstract as well. It appears our Java classes know this is not the case, but that's a bit in contrast to the RDF standard, right?


Remove environment pipeline

Description
Adds a pipeline that cleans up an environment in a bad state. This removes the need to manually delete the resource group or container if they get into a bad state.
Related issues
Testing
Run against another PR environment and it deleted both environments.

Yes

I wonder if we can trigger this from Github when a PR is closed

In theory we shouldn't have to. All this is doing is running the clean up steps which run when a PR build fully passes. The reason I needed it as a separate build is in case we can't get a build to pass we have a way of easily resetting the environment.


VBA - Validation disables after first amount submission

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.59-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:
Precondition: User with regular account Connect Manually bank account and proceed to 'Validation your bank account' page

Submit 3 random amounts

Expected Result:
User see an error 'The validate code you entered is incorrect, please try again'
User can submit amounts 7 more times and then the message appears 'Validation for this bank account has been disabled due to too many incorrect attempts. Please contact us.'
Actual Result:
'Validation for this bank account has been disabled due to too many incorrect attempts. Please contact us.' after first submission, not after 7 more times.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/5248d1b6-8dc9-4cf6-87f9-22d7acab551a
View all open jobs on GitHub

@anmurali  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

@GandalfGwaihir did you test this specifically on the desktop app?

@GandalfGwaihir did you retry on desktop?

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989


chore(deps): bump https://github.com/jenkins-x/jx-cli to 3.0.334

Update jenkins-x/jx-cli to 3.0.334
Command run was ./promote/main

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign ccojocar
You can assign the PR to them by writing /assign @ccojocar in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: rawlingsj
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [rawlingsj]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Exporting as a skill is broken

Describe the bug
The export as a skill is currently broken despite it looking like it works.
Version
Version:  2.0.0-nightly.242720.c3b8105
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0
Browser

[x] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Create an empty web app dotnet echo skill
add a echo dialog, and an intent trigger to wire up the dialog
create and publish the skill
export the bot as a skill
Create an empty web app dotnet parent bot
Add -> remote skill
enter the manifest url

Expected behavior
The manifest should populate the skill data, but it throws an error.
Screenshots

Additional context
It's unclear if the flow works if you create the bot, export as a skill, then create a provisioning profile vs creating the bot, creating the provisioning profile, then exporting as a skill.
Here's the manifest url:
https://NWAEcho55.azurewebsites.net/manifests/NWAEcho55-2-1-manifest.json

I believe this particular issue was related to the manifest URL above actually being a 404.
A valid manifest should work.

I experienced failed skill publishes as well.
https://www.loom.com/share/88d081c5806c4f169700a8d1da042772
It seems that when using he "Export skill" flow, it does not always successfully create the manifest or complete the full process.

Here is another video demonstrating strange behavior during the "Export as skill" flow when no publishing profile exists:
https://www.loom.com/share/2d7cb1a5bfee444faac3bc3f00c93491
This seems to fail in several ways:

the skill manifest is never stored in the project
at the end of the provisioning process, an error appeared that the publish failed
however, the publish was still underway
when the publish completed, the skill manifest was absent

This DOES appear to work if the publishing profile already exists:
see here:
https://www.loom.com/share/6adfb808cbc740759ecf0a76d9ca2a5d

Shiproom - the sequencing here matters.  If you create a publishing profile first, which causes a publish, then the share as a skill works as expected.  if on the other hand you don't create a pub profile first, but instead attempt to share as a skill, then we're broken

Shiproom - also, if you share as a skill before publishing, you'll get this failure.  however, if you share the bot again, the flow will succeed

I suspect that the change taken earlier this week to remove the odd blocking behaviour (whilst provisioning works) has created a side-affect in that the UX just goes away meaning you don't get the manifest URL.

When the Create Skill Modal redirects the user to provision a new profile, it fails to save the manifest first. I think we just need to update the redirect to save the manifest first.

It looks like we are publishing the bot immediately after creating the publishing profile instead of returning to the create skill manifest modal to let the user add the endpoints to the manifest before publishing. Is there a way to defer deploying after creating the publishing profile?

Shiproom - @benbrown can you look at the PR and then let's assess


Create documentation

I recorded a video but never cut it. People are fine by their own but it's not very user-friendly.

Unable to open settings unless I'm in play mode. The transport player doesn't work unless its in playmode, and then spawn points aren't saved..

Okay that's definitely not normal. Can you please specify what script you were using?


Keep the leading slash when filtering apis

We have two APIs in our "frontend" project: frtapi for AJAX calls and api for REST calls. Since django-rest-swagger filters without the leading slash, "api" in "frtapi/endpoint" returns True. Our name choices may be questionable, but I believe using the leading slash can only be better. Please correct me if I'm wrong.

looks like #234 fixes this and then some


add encoding parameter to add_keyword_from_file()

Coverage remained the same at 99.298% when pulling 0d9a2965ba677b43b19914a6a997b81a8e5b3db5 on liacoponi:patch-1 into 1c970b5d64b506383cd14c5819eb4061bd146ea2 on vi3k6i5:master.

Coverage remained the same at 99.298% when pulling 0d9a2965ba677b43b19914a6a997b81a8e5b3db5 on liacoponi:patch-1 into 1c970b5d64b506383cd14c5819eb4061bd146ea2 on vi3k6i5:master.


Add goodreads link

It would be great to have this option for the author profile too.
Thanks everything mmistakes!

Theme supports adding your own "author" links now.


[proposal]make default registry more standard

Ⅰ. Issue Description
flagSet.StringVar(&cfg.DefaultRegistry, "default-registry", "registry.hub.docker.com/library/", "Default Image Registry")

library determine which namespace you want to pull image in a defined registry, it should not  in default-registry.
What do you think.
Ⅱ. Describe what happened
Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

pouch version (use pouch version):
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

Yes, I totally agree with you. @Ace-Tang

@allencloud , do you have plan to update this.


fea/initial_release

this PR is mainly cleanup and documentation before making the first stable release version
it's easier to go commit by commit when reading

note: im waiting for all people to have a look, then i'll address all of the feedback


grafana: update backup & import CPU to Thread CPU panels.

Signed-off-by: 3pointer<EMAIL_ADDRESS>
What problem does this PR solve?
Issue Number: close #10003
Problem Summary: Fix the lack of backup & import CPU in Thread CPU.
What is changed and how it works?
What's Changed:
copy backup & import CPU panels to Thread CPU.
Related changes

Need to cherry-pick to the release branch

Check List
Tests

Manual test (add detailed scripts or steps below)

Release note

No release note.

Could you add CDC thread CPU usage too?

Could you add CDC thread CPU usage too?

Sure，let me test it.

updated @overvenus

/lgtm

/run-all-tests

/lgtm

/run-all-tests

/merge


Event handlers keep going missing when using the editor

When loading or saving a story, sometimes the event handlers get all messed up. Code has been added to reinitialise them after file operations, but the problem persists to the point where I am developing a separate python editor.

new editor is being developed in Python


Why Scraping the Website?

Why aren't you using the shell or the api

Hey @elacy, thanks for your interest in my side project.

Why Scraping the Website?

Fair question. I partially started this project to tinker with golang and HTML scraping, as reckless as that might seem. A lot can be learned from diving into how the pfSense UI works and solving problems presented when dealing with scraping and strange form submission behavior.

shell

I was originally concerned about skipping over server validation that is circumvented when directly modifying the $config, but to your point its simplicity when combined with built-in JSON PHP functions shouldn't be overlooked. I am considering rewriting the various Get functions to perform at least the read operations using the shell. Thoughts?

api

I chose not to target the unofficial API because I didn't want the provider to have a third party dependency, nor was I excited about troubleshooting the intersection of pfSense, an extra pkg, and the Terraform plugin framework. That said, who knows -- maybe I'll change my mind as I roll out new features.

Fair question. I partially started this project to tinker with golang and HTML scraping, as reckless as that might seem. A lot can be learned from diving into how the pfSense UI works and solving problems presented when dealing with scraping and strange form submission behavior.

That's fair, hope you are having fun with it :D

I was originally concerned about skipping over server validation that is circumvented when directly modifying the $config, but to your point its simplicity when combined with built-in JSON PHP functions shouldn't be overlooked. I am considering rewriting the various Get functions to perform at least the read operations using the shell. Thoughts?
I chose not to target the unofficial API because I didn't want the provider to have a third party dependency, nor was I excited about troubleshooting the intersection of pfSense, an extra pkg, and the Terraform plugin framework. That said, who knows -- maybe I'll change my mind as I roll out new features.

I suppose there are a few important things to consider:

Any solution to this problem adds to the value proposition offered by pfsense
It is not possible for Netgate to maintain the pfsense UI such that they do not break your code
PFSense was not written with API calls in mind
It is in the interest of netgate to make sure that anything that lives in the PFsense eco system is supported
The PHP shell is supported by Netgate
PHP itself can be updated breaking any of the scripts even if Netgate has the best intentions
As you pointed out the PHP Shell has no validations
There are issues with the API like it doesn't currently run on Netgate hardware without forcing the install to ignore the architecture
Anyone who is building or working on the API will be incentivized to make sure that the API continues to work post upgrade, it's also open source

I'm leaning toward the API as the best mechanism at the moment.

Hey @elacy, based on your comment around using the PHP shell I have refactor the various get functions to use the php variable $config instead of scraping HTML tables. Feel free to review or provide additional suggestions. Thanks!
https://github.com/marshallford/terraform-provider-pfsense/releases/tag/v0.4.0

appreciate the work here.  Been playing with  terraform to spin up k3s on proxmox on my home lab.   like the idea of integrating local DNS changes with terraform on my CE pfSense as well.  Proper, secure Networking is hard.  Getting there.

Hey @elacy, based on your comment around using the PHP shell I have refactored the various get functions to use the php variable $config instead of scraping HTML tables. Feel free to review or provide additional suggestions. Thanks!
https://github.com/marshallford/terraform-provider-pfsense/releases/tag/v0.4.0

Nice, I fixed the problem where the API only works on x86, and have written a proof of concept that works against it https://github.com/elacy/terraform-provider-pfsense. I reckon that's probably going to be the best possible solution and they seemed game for pull requests so I'll probably invest there.

Oh and one other question/point of interest, have you seen this now 3 year old blog post by Netgate engineering revealing a move to golang for the pfsense UI? I just stumbled upon it recently here -- do you think relying on the PHP shell still makes sense with this info in mind? At a minimum I will document that this provider is only tested with CE versions of pfSense.

I have not but 3 years is quite a long time to rewrite UI etc, I imagine it got canned because of all the work they are putting into TNSR. I hope they reinvest back into a pfsense api but I'll not hold my breath.

appreciate the work here. Been playing with terraform to spin up k3s on proxmox on my home lab. like the idea of integrating local DNS changes with terraform on my CE pfSense as well. Proper, secure Networking is hard. Getting there.

Yeah same I'm hoping to build my entire homelab using only terraform, doesn't really work if you can't add the required firewall rules with just pfsense. Hard to make your network secure if it's hard to manage the configuration.
My plan is to define each device mac address, IP address, friendly name and what firewall access it will need. Then the terraform will generate the unifi and pfsense configuration that needs to exist to make that happen.
 I've noticed that accessing FreeRadius configuration is not something that's available by default, I suspect this will be challenging


Booleans & Options are exported in the local format and therefore not understoo…

…d by the consolidation pipeline.

@DuttaSoumya I have tested is and now it is working perfectly.
Also when the language in the UI it not english.


Missing blog post

The blog post referenced is no longer available: https://aws.amazon.com/blogs/devops/simplify-your-jenkins-builds-with-aws-codebuild/
Please correct the URL, or pull the relevant information into the readme file.
Thanks,
Strohm

Updated README in ff366e893e9d3e7ff2b065198f990da5749ca466.


Problem while adding device certificate

I added the CA and intermediate CA certificates on the Watson IoT platform, but i cannot seem to add the device certificate on node-red. The error in the image is due to the absence of a field related to the passphrase for the certificate. Anyone has an idea how to solve it? thanks in advance

What happens if you remove the passphrase from the private key with openssl?
Instructions here:
https://www.sslshopper.com/article-most-common-openssl-commands.html

okay so i removed the passphrase using openssl command, the error is gone but the device is disconnected from the watson iot platform. It is the device private key that i should add here right? other than that i don't know what i should do more to make it work...

Just to note that i enable TLS and changed the port from 1883 to 8883.
Here i added the intermediate CA cert since i used intermediate CA to sign the device cert, and the new device private key which i deleted the passphrase.


Add sha256sum to the released files

Describe the proposal
Even if we decide to not sign Dapr binaries(#572), we need to provide the checksum which can validate the integrity of the released files at a minimum. The other project (e.g. helm and istio) provides sha256sum with the binaries.
Reference: https://help.ubuntu.com/community/HowToSHA256SUM

@lukekim @msfussell We need to provide sha256sum to check the integrity of the released files at a minimum like Helm and Istio projects.
cc/ @yaron2 @amanbha


Upgrade node version to 17.8.0

Signed-off-by: Miroslav Kovar<EMAIL_ADDRESS>

Codecov Report

Merging #464 (b0e3332) into main (9a7f041) will decrease coverage by 12.61%.
The diff coverage is n/a.

:exclamation: Current head b0e3332 differs from pull request most recent head cc1cf91. Consider uploading reports for the commit cc1cf91 to get more accurate results

@@             Coverage Diff             @@
##             main     #464       +/-   ##
===========================================
- Coverage   60.29%   47.68%   -12.62%
===========================================
  Files         154      153        -1
  Lines       14533    12205     -2328
  Branches     3584     2521     -1063
===========================================
- Hits         8763     5820     -2943
- Misses       2372     4457     +2085
+ Partials     3398     1928     -1470

Flag
Coverage Δ

integration-aries-vcx
?

unittests-agency-client
26.08% <ø> (ø)

unittests-aries-vcx
49.42% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...tocols/proof_presentation/prover/states/initial.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

...es_vcx/src/messages/out_of_band/handshake_reuse.rs
0.00% <0.00%> (-75.00%)
:arrow_down:

...c/messages/out_of_band/handshake_reuse_accepted.rs
0.00% <0.00%> (-75.00%)
:arrow_down:

.../src/libindy/credential_def/revocation_registry.rs
0.00% <0.00%> (-63.64%)
:arrow_down:

aries_vcx/src/libindy/utils/anoncreds.rs
8.78% <0.00%> (-63.42%)
:arrow_down:

aries_vcx/tests/utils/devsetup_agent.rs
0.00% <0.00%> (-60.00%)
:arrow_down:

aries_vcx/src/libindy/utils/signus.rs
33.33% <0.00%> (-55.56%)
:arrow_down:

aries_vcx/src/libindy/utils/pool.rs
9.27% <0.00%> (-52.49%)
:arrow_down:

...ries_vcx/src/handlers/proof_presentation/prover.rs
18.57% <0.00%> (-50.10%)
:arrow_down:

aries_vcx/src/libindy/utils/cache.rs
0.00% <0.00%> (-50.00%)
:arrow_down:

... and 84 more

Continue to review full report at Codecov.

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

IMHO. It is safer to use lts version (16.14.2) if possible unless there is a specific reason.

Postponing update due to significant slowdown on node 17.

Closing in favor of recently merged
https://github.com/hyperledger/aries-vcx/pull/643
which enables upgrade to recent versions of node, however that comes with significant perf cost compared to nodejs 12.


#86 Replace several the same placeholders.

https://github.com/skaterdav85/validatorjs/issues/86

thanks!


test_float be killed

Thanks for your excellent work on boundary refinement. When I'm reproducing your experiment based on your codebase & data, I encounter some problem during inference. I execute the inference.sh script as your instruction in README, and the dist_test_float.sh is always be killed after inference without saving refined patch. Could you please give some suggestions? Thanks a lot.
# yangdinghao @ dev-yangdinghao in /sensebee2/yangdinghao/BPR on git:main x [23:21:06] C:130
$ IOU_THRESH=0.55 \
IMG_DIR=/sensebee2/data/segmentation/mattingseg/cityscapes/leftImg8bit/val \
GT_JSON=/sensebee2/data/segmentation/mattingseg/cityscapes/annotations/instancesonly_filtered_gtFine_val.json \
BPR_ROOT=. \
GPUS=1 \
sh tools/inference.sh configs/bpr/hrnet18s_128.py ckpts/hrnet18s_128-24055c80.pth data/maskrcnn_val maskrcnn_val_refined
+ GREEN='\033[0;32m'
+ END='\033[0m\n'
+ printf '\033[0;32minference the network ...\033[0m\n'
inference the network ...
+ DATA_ROOT=maskrcnn_val_refined/patches
+ bash ./tools/dist_test_float.sh configs/bpr/hrnet18s_128.py ckpts/hrnet18s_128-24055c80.pth 1 --out maskrcnn_val_refined/refined.pkl
2021-06-23 23:21:23,985 - mmseg - INFO - Loaded 172518 images
libibverbs: Warning: couldn't open config directory '/etc/libibverbs.d'.
libibverbs: Warning: no userspace device-specific driver found for /sys/class/infiniband_verbs/uverbs0
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 172518/172518, 36.9 task/s, elapsed: 4679s, ETA:     0s./tools/dist_test_float.sh: line 9: 29810 Killed                  PYTHONPATH="$(dirname $0)/..":$PYTHONPATH python -m torch.distributed.launch --nproc_per_node=$GPUS --master_port=$PORT $(dirname "$0")/test_float.py $CONFIG $CHECKPOINT --launcher pytorch ${@:4}+ printf '\033[0;32mreassemble ...\033[0m\n'
reassemble ...
+ python ./tools/merge_patches.py maskrcnn_val_refined/coarse.json /sensebee2/data/segmentation/mattingseg/cityscapes/annotations/instancesonly_filtered_gtFine_val.json maskrcnn_val_refined/refined.pkl maskrcnn_val_refined/patches/detail_dir/val maskrcnn_val_refined/refined.json
loading annotations into memory...
Done (t=0.06s)
creating index...
index created!
Traceback (most recent call last):
  File "./tools/merge_patches.py", line 104, in <module>
    start()
  File "./tools/merge_patches.py", line 63, in start
    with open(args.res_pkl, 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'maskrcnn_val_refined/refined.pkl'
+ printf '\033[0;32mconvert to cityscape format ...\033[0m\n'
convert to cityscape format ...
+ python ./tools/json2cityscapes.py maskrcnn_val_refined/refined.json /sensebee2/data/segmentation/mattingseg/cityscapes/annotations/instancesonly_filtered_gtFine_val.json maskrcnn_val_refined/refined
Traceback (most recent call last):
  File "./tools/json2cityscapes.py", line 67, in <module>
    Fire(main)
  File "/sensebee2/yangdinghao/anaconda3/envs/mmseg/lib/python3.7/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/sensebee2/yangdinghao/anaconda3/envs/mmseg/lib/python3.7/site-packages/fire/core.py", line 471, in _Fire
    target=component.__name__)
  File "/sensebee2/yangdinghao/anaconda3/envs/mmseg/lib/python3.7/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "./tools/json2cityscapes.py", line 53, in main
    imgid2dt = load_dt(dt_json)
  File "./tools/json2cityscapes.py", line 28, in load_dt
    dt = json.load(open(dt_json))
FileNotFoundError: [Errno 2] No such file or directory: 'maskrcnn_val_refined/refined.json'

This seems to be due to (CPU) memory overflow, can you try a larger memory?

We tested these codes on a machine with 188G memory

We tested these codes on a machine with 188G memory

Thanks! The problem is due to mmcv.dump need a huge memory quota since the size of data is large, and I solved it by using a compute pod with 120g mem.

We tested these codes on a machine with 188G memory

Thanks! The problem is due to mmcv.dump need a huge memory quota since the size of data is large, and I solved it by using a compute pod with 120g mem.

So many images generated. I tried to test results on coco Val-2017 data, and it generates about 2309455 images/patches, and my server cannot deal with it.


[PartitionEditor] GUI Editor for .part file

This issue is to share/discuss about PartitionEditor extension that will

provide a GUI editor for *.part file defined in ONE repo

Features for this editor as inital version

define available partition backends (key for making partioned models)
set default backend
select how to partition (this is comply key, by operator code (OPCODE) or by oeprator name (OPNAME)

by operator index (actually tensor index) will be added later

select nodes for one of the backend

Things uncertain as of now

which model is input the input of one-partiton ?

GUI components

a single selection list for partition backends; add, edit, delete
a radio buttons to select comply
read only list

for opcode: a list to reflect operator codes for selected backend
for opname: a list to reflect operator nodes to reflect selected backend

a button(s) to edit list

for opcode: to add OPCODE, to remove OPCODE
for opname: to edit selected nodes by CircleGraph

a SAVE button

As initial version of PartitionEditor user scenario will be like this

user adds a backend (we will assume this as default backend)
initial comply will show OPCODE
as there is only one backend, operator codes list, add/remove buttons are disabled
user adds another backend
operator codes list is enabled
user clicks add button

available OPCODE list is shown, user selects one and then OK button
opcode is added to operator codes list

user clicks del button

selectd opcode item is removed

user clicks SAVE button

stores to .part file

For OPNAME

user selects OPNAME for comply button
if there was only one backend, operator name list, add/remove buttons are disabled
user clicks on any backend list item
operator name list reflects the backend

(default) for defaut backend, edit button is disabled
operator names for other backends, edit button is enabled

user clicks edit button

jump to CircleGraph extension
there should be Return to PartitonEditor(?) menu item to return
Close CircleGraph in the middle of editing?

ask save?

NOTE

OPCODE list and OPNAME list are stored separately
Showing PartitionEditor and CircleGraph may confuse the user and the operation itself

while editing selection with CircleGraph user can close PartitionEditor
CircleGraph cannot continue the operator as caller is closed

Something like https://docs.microsoft.com/en-us/cpp/mfc/dialog-data-exchange?view=msvc-170 can help building UI...

Need to check PartitionEditor can invoke CircleGraph, act like a modal dialog

[ ] prepare dummy PartitionEditor with a button
[ ] show CircleGraph with the button

Name: PartitionEditor or PartEditor?

file extension is .part so go with PartEditor ?

Experiment

Use customEditors and CustomTextEditorProvider
open .part file as custom editor with webView; for partition editing
open .part file as custom editor with CircleGraph webView

creating and showing windows seems to work
Next

load .part file and ..

To assign which operator to which backend, we need the operators list from the circle model.
How to enable this?

How to enable this?

(1) make a tool or revise existing tool(circle-tensordump ?) to produce list of tensors
(2) utilize existing codes from netron
for (2),

we have to pick necessary codes into src folder -> tried this but not a simple task
these are .js files which I have little experience binding with Typescript
don't want to tackle with license issues

(3) build from scratch processing .circle model in Typescript.

this I've little knowledge to build up in short time as of now

.part document handling

file at storage <--> document at extension <--> editor at html view
for each UI action, update document
if the document is changed (maybe by text editor view in another TAB), apply to UI

Save: document --> file
Load: file --> document --> view
UI change: view --> document

About PartEditor <--> PartGraphSelector

when invoke PartGraphSelector, PartGraphSelector will provide node selections of current backend in PartEditor Backend combobox.
for this, PartEditor needs to send backend name to PartGraphSelector
how ?

Another thought with this

let PartGraphSelector be also another .part file editor
view is build with CircleGraphCtrl
provide a comobobox to change Backend
if node is selected, then it's assigned to current Backend

Case of thinkgs todo
PartEditor -> PartGraphSelector at invoke time

exectute PartGraphSelector
PartGraphSelector needs .circle model to show graph
need to send current node names

PartEditor -> PartGraphSelector when PartEditor changed the document

when changed backend combobox
when changed node backend
...

PartEditor -> PartGraphSelector when another editor changed the document

...

PartGraphSelector -> PartEditorwhen PartGraphSelector changed selection

...

PartEditor when PartEditor is closed


dynamically use latest major version on init

in the past we had latest tag for both, compiler & node. this recently lead us to a problem with SDK incompatibility to latest compiler version v7.0.1
I think it makes sense to fetch latest (major) release on project initialization. if e.g. aeproject would define 6 for node  and 6 for the compiler it should replace the tags accordingly in docker-compose.yml (which we recently introduced here: https://github.com/aeternity/aeproject/pull/432)
aeproject would then use the version defined in docker-compose.yaml by default to start the environment. only if options nodeVersion or compilerVersion is provided a custom version should be used.
this way we would ensure that a user doesn't run into unforeseen problems.
@thepiwo what do you think?

I would like it as discussed in the other issue, but there is no such tag yet as far as I know

I think we won't get the tag as we discussed 😅
also I see one small issue with the other approach. in case of new releases docker wouldn't automatically download the new node version if not explicitly forced by the user.

yes it would, as we use pull in the env command

yes it would, as we use pull in the env command

ok, that's good to know. anyway, I doubt we will see tags like 6 or 7 on dockerhub based on recent discussion.
using the proposed approach here we would definitely avoid unexpected results based on implicit infrastructure changes. we'd always select the version when the project is initialized and then leave it up to the devs to update node/compiler. I actually like that


Correct C code to prevent compiler warnings.

As title.

Codecov Report

Merging #2864 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #2864      +/-   ##
=========================================
- Coverage   86.11%   86.1%   -0.01%
=========================================
  Files         324     324
  Lines       67630   67631       +1
  Branches     7597    7597
=========================================
- Hits        58238   58235       -3
- Misses       8178    8181       +3
- Partials     1214    1215       +1

I'll miss those C warnings (not really).  :)


Improve Docker Hacking / Documentation

Summary
Add some better / more detailed docs in certain areas
Details

Motivation and Context
Try teach new(er), contributors how / why the certain things work the way they do
How Has This Been Tested?
N/A
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).

Checklist:

[ ] The change has been ported to Java.
[ ] The change has been ported to Ruby.
[ ] The change has been ported to JavaScript.
[ ] The change has been ported to Go.
[ ] The change has been ported to .NET.
[ ] I've added tests for my code.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Can I get some eyes on this @aslakhellesoy / @mlvandijk
Maybe @vincent-psarga ?

@luke-hill Some comments from looking at the changes only. Haven't tried it out myself yet.

@aslakhellesoy any thoughts? I can rebase this and merge it in if you're happy.


GDScript: Allow string keys on Lua-style dictionaries

Which is useful when the key isn't a valid identifier, such as keys with spaces or numeric keys.
Fix #44977

Thanks!


Add more robust NBANDS handling for f block elements

https://www.vasp.at/wiki/index.php/NBANDS

This is automatically addressed in Custodian.


Upload NER Corpus to GitHub repository

AS a Data Scientist
I WANT TO upload new ner corpus
IN ORDER TO make it available for public usage
Acceptance Criteria:

[ ]  New corpus is uploaded

@kunnark

User story is missing completely;
ACs are missing completely;
Regardless of the above, this issue is already marked as "Ready".

@turnerrainer my bad I took it from https://github.com/buerokratt/Data-Anonymizer/issues/26 and it's obsolete marked by you.

Closing this issue as we ended up using https://huggingface.co/buerokratt


pause ansys until file is created

I am trying to pause ansys until a file with element loads is created. I am basically using sth like the following code
volume_data_path = os.path.join(os.getcwd(), 'volume_data.txt')
while True:
ansys.Wait(1)
if(os.path.isfile(volume_data_path) and os.access(volume_data_path, os.R_OK)):
break
The problem is that it waits 1 second and then enters the solution processor without waiting for the file to be created as if the while loop never existed. Is there a way to do this? I don't want to make it wait a preset amount of time, as I'll do this iteratively and don't want to lose time.

I'd use this:
volume_data_path = os.path.join(os.getcwd(), 'volume_data.txt')
import time

while not (os.path.isfile(volume_data_path) and os.access(volume_data_path, os.R_OK)):
    time.sleep(0.1)

No sense in using ansys wait since time is available and is standard python.

It still enters the ansys solution routine without waiting for the file to be properly created and exit the loop. It doesn't make any sense why, but it behaves like that.

Is there a timeout max, so that if the program waits longer it just continues with the execution?

There's several reasons why this might be happening.  Is the file there from a previous run?  Is the file created but not finished writing to?
Are you waiting for an external application to finish writing to file?  If so, you can always send an os.system command and wait for it to complete rather than waiting for the file to be written.

Is there a timeout max, so that if the program waits longer it just continues with the execution?

Is this for pyansys or python in general?

Is there a timeout max, so that if the program waits longer it just continues with the execution?

Is this for pyansys or python in general?

For pyansys

There's several reasons why this might be happening. Is the file there from a previous run? Is the file created but not finished writing to?
Are you waiting for an external application to finish writing to file? If so, you can always send an os.system command and wait for it to complete rather than waiting for the file to be written.

Actually, it's not exactly external app, but some python code than creates a dde link to some software, but as a unit it works fine. And it is about time I think, because when I call this piece of code before the pyansys model, the system works fine. But I want to do this interactively, so I need to call it from the solution processor or before it.
The file is being created that moment that's why I have both os.path.isfile(volume_data_path) and os.access(volume_data_path, os.R_OK)

I even wrote it to a separate file and call it with subprocess.Popen([sys.executable. "some_name.py"]) and it still doesn't work although the file is being created correctly, just not in time to be read by the solution processor

Ok, I've tried a lot of things to understand where the problem is. The strangest thing is that if I use an already created file, no waiting time to be created, it won't be read, if I make the program wait more than 2 seconds.
I just used an ansys.Wait(2), for more than 2 the file is not read on time

I don't think this is a pyansys problem.  Closing issue...

It's not a pyansys problem that when you read a load from a file, no other program involved in this case, just have a ready to use file - already written and readable- and have an ansys.Wait() for more than 2 seconds one line above, the file will not be read?


[E3002] CommaDelimitedList parameter value is not considered a list

cfn-lint version: 0.61.4
I am receiving the following error:
E3002: Property Subnets should be of type List or Parameter should be a list for resource LoadTestRule

This occurs when using a CloudFormation SSM Parameter with the type AWS::SSM::Parameter::Value<CommaDelimitedList>, where the parameter value is assigned to a Property that expects a list of Strings. However, this error does not occur when the parameter's type is changed to AWS::SSM::Parameter::Value<List<String>>. According to the CloudFormation Parameters documentation, these two types appear to be interchangeable.
This issue persists after updating both cfn-lint and the spec files.
This example produces the error on the Subnets property. Changing the parameter's type to AWS::SSM::Parameter::Value<List<String>> does not.
LoadTestContainerSubnetParameter:
  Type: AWS::SSM::Parameter::Value<CommaDelimitedList>
  Description: location of SSM parameter value, containing list of public subnets

# ...

LoadTestRule:
  Type: AWS::Events::Rule
  Properties:
    Description: Invoke nightly
    Name: !Sub '${ApplicationName}-load-test'
    ScheduleExpression: cron(0 3 ? * MON-FRI *)
    State: ENABLED
    Targets:
      - Arn: !GetAtt LoadTestEcsCluster.Arn
        RoleArn: !GetAtt LoadTestSchedulerRole.Arn
        Id: !Sub '${ApplicationName}-load-test'
        EcsParameters:
          EnableExecuteCommand: false
          LaunchType: FARGATE
          NetworkConfiguration:
            AwsVpcConfiguration:
              AssignPublicIp: ENABLED
              SecurityGroups:
                - !GetAtt ClusterSecurityGroup.GroupId
              Subnets: !Ref LoadTestContainerSubnetParameter
          TaskCount: 1
          TaskDefinitionArn: !Ref LoadTestTaskDefinition

I'm having issues replicating this issue with the template you provided?  Are you able to replicate this error with that code?

Here is a full template, with some placeholder values. It has the essentials to produce the error. I've double-checked that cfn-lint and the spec files are all updated.
AWSTemplateFormatVersion: 2010-09-09

Parameters:
  LoadTestContainerSubnetParameter:
    Type: AWS::SSM::Parameter::Value<CommaDelimitedList>
    Description: location of SSM parameter value, containing list of public subnets

Resources:
  LoadTestRule:
    Type: AWS::Events::Rule
    Properties:
      Description: Invoke nightly
      Name: name
      ScheduleExpression: cron(0 3 ? * MON-FRI *)
      State: ENABLED
      Targets:
        - Arn: cluster_arn
          RoleArn: role_arn
          Id: id
          EcsParameters:
            EnableExecuteCommand: false
            LaunchType: FARGATE
            NetworkConfiguration:
              AwsVpcConfiguration:
                AssignPublicIp: ENABLED
                SecurityGroups:
                  - sg-id123
                Subnets: !Ref LoadTestContainerSubnetParameter
            TaskCount: 1
            TaskDefinitionArn: task_def_arn

Merged with #2320 released with v0.61.5

Did this commit clash with AWS at all? Immediately after this commit was pushed, we began failing E3002 with the error message "Unknown Exception while processing rule E3002: 'AWS:DynamoDB::Table.Json' in our template.yml for CloudFormations, despite passing the linter in GitHub Actions. Removing cfn-lint --update-specs fixed the problem, but today we brought back in updating the specs and it worked. Did commit #2316 address this issue, or perhaps it is solely an Amazon problem? Thanks for any help!

AWS:DynamoDB::Table I've been trying to keep an eye on this one.  It seems like some things are changing with the resource that has resulted in this.  It was coming from the resource spec itself and how it was defined which is why you could see an issue if you were running cfn-lint --update-specs.  I was about to patch the issue when I noticed that the .Json property type no longer existed.  I am continuing to monitor this.

Thanks for the quick response, looking forward to any possible updates. Good luck!


fix: Stabilize BackupRestore integration test

Signed-off-by: odubajDT<EMAIL_ADDRESS>

This PR

fixes flaky errors of backup-restore integration test

Related Issues

Fixes #6342

Integration tests run: https://github.com/keptn/keptn/actions/runs/1591643578


Second Windows screen flickers/black screen

I have a duel screen set-up
I find using Vinilla (Either versions) cause the window second screen to go black and then re-initialise after a while each time I switch my focus (click) on the second screen and again switching back to the Maxed-Windowed client.
I use the second screen for QOL such as wiki etc.

This sounds like a duplicate of #36. Try removing DXVK (d3d9.dll) and see if that changes anything.

This sounds like a duplicate of #36. Try removing DXVK (d3d9.dll) and see if that changes anything.

Fixed Thanx for the tip


Support recurring time window filter for TimeWindowFilter

Implemented the CrontabField and CrontabExpression classes and wrote some unit tests

Update:
We will re-think the design. Current design will inevitably result in the portal UI becoming complex.

We spoke about requiring the start to be within the recurring range.start to range.end window.
If we do that, range.start is not needed. Unless the primary start and end aren't required to be the first one...?

My thought is that the "Start" and "End" define a time window, which is also the first ocurrence.
This primary time window will provide two information for the recurrence:
The start time of the time window and the duration of the time window.
The "Recurrence" specifies the date/day when the recurrence of the time window will happen.
For me, I think the primary time window is unnecessary to follow the recurrence pattern and range.
For example, we have set a time window on 9.22 Friday 18:00-20:00 and let it repeat on every Monday start from 2023-9-31.
My impletation for the validation of the parameter "Recurrence.Range.StartDate" will be like
`private static bool TryValidateStartDate(TimeWindowFilterSettings settings, out string paramName, out string reason)
{
Recurrence recurrence = settings.Recurrence;
paramName = $"{nameof(settings.Recurrence)}.{nameof(recurrence.Range)}.{nameof(recurrence.Range.StartDate)}";

reason = null;

if (recurrence.Range.StartDate == null)
{
    reason = RequiredParameter;

    return false;
}

if (recurrence.Range.StartDate < settings.Start)
{
    reason = OutOfRange;

    return false;
}

return true;

}`

For example, we have set a time window on 9.22 Friday 18:00-20:00 and let it repeat on every Monday start from 2023-9-31。

For the discussion, in this example (sorry, there is no 9/31 :) so I change it to 9/25)
settings.Start = 9/22 Friday 18:00
settings.End = 9/22 Friday 20:00
recurrence.Range.StartDate = 9/25 Monday 12:00am
recurrence.Range.EndDate = null
recurrence.type = weekly, Monday

IMO, we have two options

We use settings.Start/End to calculate the start time and duration and throw away the date part afterwards, so the first occurrence is 9/25 Monday 18:00-20:00
The settings.Start/End must be the first occurrence that matches the pattern, so this is treated as invalid input. Portal will show error; runtime will either throw or treat it as disabled.

I don't like treating settings.Start/End as the first occurrence regardless and then calculating the following occurrences (likely still based on option 1 above).

@zhenlan
date ends up being important if you have an event that spans across midnight.

date ends up being important if you have an event that spans across midnight.

It's important to be defined on the field. But if you're extracting duration from it as Zhenlan suggested, you don't need date anymore, as start + duration tells you everything.
But regardless, I think @zhiyuanliang-ms 's version makes the most sense.

TimeWindow start and end defines a time when we will return true. (Already the state of things)
Completely separately, here's a way to setup recurrence. We will use the start time and end time of the time window.

If we really want to support hourly recurrance then bullet 2 would need to change. But without that, I think that's the cleanest way to do it.

@rossgrambo that's how I imagine it working.

Users shouldn't have a recurring time window that has any occurrence outside the range.

@zhiyuanliang-ms
Zhenlan, Ross, and I discussed this. We came up with the following points.

We don't need recurrence.range.startDate
It's already covered by our time window start field. We just mandate that the start date represents the first occurrence.

start has to be a valid occurrence within the recurrence pattern. After all, it marks the first occurrence.

Some extra validation we discussed -- The date part of start has to be strictly less than endDate

@jimmyca15 Got it.

@rossgrambo @zhenlan @jimmyca15 Since we have decided to remove "Recurrence.Range.StartDate", I am wondering whether we still need "Recurrence.Range.RecurrenceTimeZone". We can mandate that the time zone of "Start" will be applied to the recurrence.

I noticed that the current behavior of Portal is that the "Start" and "End" will be converted into GMT format string rather than using the time zone selected by the user. The time zone information will not be provided in "Start" or "End".
It doesn't matter for the fixed time window. But for the recurring time window,  time zone matters. So I guess we may still need the "RecurrenceTimeZone".
If the "RecurrenceTimeZone" is specified, it will be applied to the "Start" and then we will check whether the "Start" timestamp is valid for the Recurrence.Pattern under the "RecurrenceTimeZone".
If the "RecurrenceTimeZone" is not specified, the UTC time offset of "Start" will be applied to the recurrence.
Besides, I believe Portal should provide the time zone information in the datetime string by using format like"2023-09-23T08:00+08:00" rather than "Sat, 23 Sep 2023 00:00:00 GMT", since we allow user to select the timezone on the Portal.

I noticed that the current behavior of Portal is that the "Start" and "End" will be converted into GMT format string rather than using the time zone selected by the user. The time zone information will not be provided in "Start" or "End".

I think the current behavior of Portal will break the recurrence pattern.
The recurrence pattern only defines on which day/date the recurrrence will occur, the start time information is provided by the "Start".
If user selects 2023-9-24 6:00-8:00 and time zone +08:00, this time zone will be converted into "Sat, 23 Sep 2023 22:00:00 GMT to "Sun, 24 Sep 2023 00:00:00 GMT".
In this case, the "RecurrenceTimeZone" should be a required parameter instead of an optional one.

The parameter "FirstDayOfWeek" looks redundant for me. I cannot figure out what it is used for.

Any idea about this?
I plan to remove this parameter.

The parameter "FirstDayOfWeek" looks redundant for me

It allows you to pick what day is the first day of the week. If you pass sunday, nothing changes (at least that's what i'm used to). If you pass monday, then the value in index might be affected. For example:
// Lets say the date is Sun, Oct 1st.

DaysOfWeek: "Sunday", "Wednesday"
FirstDayOfWeek: "Monday",
Index: "First"

With this, the "first" week is considered ending on Sun, Oct 1st. Mon, Oct 2nd would be the "second" week. Europe generally starts weeks on Monday while the US starts weeks on Sunday.
I think we should include it.

In this case, the "RecurrenceTimeZone" should be a required parameter instead of an optional one.

I'm a little lost here. If we use the Start time zone and Sept 23rd would be "converted" to Sept 24th, that's fine. There's no actual conversion. If they use UTC and sept 23rd, that's the start. If they use +08:00, and pick sept 23rd, then that's the start instead. These are different times in UTC.
This means:
"Start": "2023-9-24 6:00 +8:00",
"Recurrance": {
  "dayOfMonth": "25"
}

Would repeat at "Sat, 25 Sep 2023 06:00:00 GMT+0800" / "Sun, 24 Sep 2023 22:00:00 GMT"
Let me know if I'm missing something

@rossgrambo

// Lets say the date is Sun, Oct 1st.
DaysOfWeek: "Sunday", "Wednesday"
FirstDayOfWeek: "Monday",
Index: "First"
This will be translated to the first Sunday or Wednesday of the month. From the above example, I guess the "Index" describes the day of week directly instead of the week. And "FirstDayOfWeek" is only required for type "Weekly, not for "RelativeMonthly" or "RelativeYearly".

I'm a little lost here. If we use the Start time zone and Sept 23rd would be "converted" to Sept 24th, that's fine. There's no actual conversion. If they use UTC and sept 23rd, that's the start. If they use +08:00, and pick sept 23rd, then that's the start instead. These are different times in UTC.

Would repeat at "Sat, 25 Sep 2023 06:00:00 GMT+0800" / "Sun, 24 Sep 2023 22:00:00 GMT"
Let me know if I'm missing something

"Sat, 25 Sep 2023 06:00:00 GMT+0800" and "Sun, 24 Sep 2023 22:00:00 GMT" are the same timestamp, they are representing the same physical time.
Currently, no matter what time zone you choose on the Portal, the timestamp will be converted into GMT time(which is under UTC+0:00)
For the fixed time window, the current behavior of Portal will not affect how the filter works. The fixed time window is still the same.
For the recurrence, according to Jimmy's comment, we should add this check for the "Start".

start has to be a valid occurrence within the recurrence pattern. After all, it marks the first occurrence.
It is possible that under UTC+08:00 the "Start" is on Monday and ,when it is converted to GMT time, it becomes Sunday.
The user sets the recurrence Pattern as "Weekly on Monday" The "Start" will not be a valid first occurrence.
The feature management library cannot know the time zone information from the GMT format "Start" and "End" if the "RecurrenceTImeZone" is missing.

I see, so it's a concern for the portal, as it's already doing the conversion, but you're worried the rest of the settings won't be accurate anymore.
I think there's 3 options:

Stop the portal from converting to GMT, as we now care more about the timezone
Convert the other settings as well. If the GMT conversion changes the date, in the settings, -1/+1 from the daysOfMonth & daysOfWeeks.

We'd have to support "-1" for days like cron
I think there'd be some weirdness on Feb 29th, but haven't thought it through.

Add the recurrence time zone. This would be applied to the date and then checked for matching the recurrence.

I'd prefer 1, but we can go with 3 if we're scared of the impact of 1.

I like the option 1. But we need to investigate whether there is a format with the time zone info which can be parsed by spring, dotnet and javascript.

Closing this PR for now in favor of https://github.com/microsoft/FeatureManagement-Dotnet/pull/266


Commit tests

Remove /tests/ from .gitignore and commit, would be easier to contribute.

I agree, if you've got some tests that aren't in the repo. Being able to see them would help getting started

/tests folder is available in version 0.9.0+


Warning for Large DSC Configuration

Very often, when dealing with large DSC configuration scripts (3,000+ lines), when deploying to server node, WSMan will complain that the MaxEnvelopeSizeKb was reached. This value can be increased to allow for larger configurations to be passed in memory. The default value is 500 kb. We should look at a way of detecting if the extracted configuration will likely bust this limit and print a warning on screen for the user to be aware of the steps to take to allow WSMan to process the configuration.

With the latest -Lite switch and given that I had the chance to think about this a bit more, I don't believe it should be SharePointDSC.Reverse's role to warn the users about the potential risks of running large DSC scripts. Therefore closing this issue


Plugin uses absolute path instead of relative one

If vite is executed in a nested path, let's say /Users/me/development/project/
Then the plugin is uploading the files under that namespace to S3. This is also happening when setting the basePath. It will append the base path at the beginning of the vite __dirname. In this case it would be ${basePath}/Users/me/development/project/
Am I doing something wrong, or is this a bug?

It seems that if outDir has a leading dot, then it breaks. For instance, try setting outDir to ./dist/, instead of dist.

@2snEM6 is this still an issue for you?  I apologize for the delay in replying, we developed this package primarily for our team's use and are still in the process of backfilling tests and transitioning to typescript for better open source maintainability
:)

I changed the way I set the outDir and it works! It seems the plugin doesn't handle absolute paths well, but for me that's ok for now


[Suggestion] - Use websockets

I would recommend using websockets instead of scraping the chat every time (Much faster and no ip bans)

I 100% agree, I need to find the time to rewrite the program.

wss://ws.bloxflip.com/socket.io/?EIO=3&transport=websocket
U gotta send:
0{"sid":"UrSid","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}
or else it wont work (The only issue of this is that it will require a sid)

NixV37
can u help me?
async def connect_websocket():
url = "wss://ws.bloxflip.com/socket.io/?EIO=3&transport=websocket"
headers = {
"GET": url + " HTTP/1.1",
"Host": "ws.bloxflip.com",
"Connection": "Upgrade",
"Pragma": "no-cache",
"Cache-Control": "no-cache",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36",
"Upgrade": "websocket",
"Origin": "https://bloxflip.com",
"Sec-WebSocket-Version": "13",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9,id;q=0.8",
"Sec-WebSocket-Key": "ojsl8EQkXdxwkLRsywOE9A==",
"Sec-WebSocket-Extensions": "permessage-deflate; client_max_window_bits"
}
async with websockets.connect(url, extra_headers=headers) as websocket:
    # Send payload
    payload = {
        "EIO": "3",
        "transport": "websocket"
    }
    await websocket.send(str(payload))
    await websocket.send('40/chat,')
    print("hi")
    await websocket.send(f'42/chat,["auth","myauthtoken"]')
    print("gg")
    await websocket.send('42/chat,["send-chat-message","sa"]')

    # Receive and handle messages
    while True:
        message = await websocket.recv()
        print("Received message:", message)

Run the WebSocket connection
asyncio.get_event_loop().run_until_complete(connect_websocket())
i got the websocket message that said the message is send, but when i check rblxwild chat there none

await websocket.send(f'42/chat,["auth","myauthtoken"]') - Hope you did send ur actual auth token because I dont find any other issue to be honest 😢

yep i already did
here few response
hi
gg
Received message: 0{"sid":"a4d867dc-ae6d-4dfd-9805-3b39fecb7bf8","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}
Received message: 40
Received message: 42/chat,["users-online",1916]
Received message: 40/chat
Received message: 42/chat,["challenge-request","https://cdn-bf.blox.land/botfail/botfail-challenge2.html"]
Received message: 42/chat,["new-chat-message",{"content":"sa","created":1687475373374,"msgId":"61d9ebc8-b859-4b0e-8d39-ba1b55f3bc1d","bloxFlipUser":{"robloxId":1861005073,"robloxUsername":"ZerolySimin","gamesLost":0,"gamesPlayed":0,"gamesWon":0,"lastSeenAt":1687475334940,"lastDepositAt":0,"wallet":-1.0,"wager":13456.990000000005,"rakebackBalance":-1.0,"totalDeposited":300.0,"totalWithdrawn":319.0,"targetBalance":-1,"rank":1,"liquidityRemaining":0,"withdrawalRemaining":-1,"banExpires":0,"muteExpires":0,"affiliateCode":"rblxwildbest","affiliateMoney":-1.0,"affiliateMoneyCollected":-1.0,"currentlySupporting":-1,"reimburseClaimOne":false,"created":-1,"tradeFrictionLastUnlock":0,"lastTradeFailure":0,"lastAuthCheck":-1,"withdrawEnabled":true,"sponsoredSlotsEnabled":false,"manualReviewNeeded":false,"gameAuth":false,"instantAuth":false,"sessionReset":-1,"rainsLimit":0,"tippingLimit":0,"triviaLimit":0,"altLimit":3,"loyalExpires":0,"creatorEarnings":0.0,"cardLimit":100000,"_fromGameAuth":false,"_fromInstant":false,"intenseCheck":false,"privacyEnabled":false,"balanceNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":-1,"minimumBalance":0.0},"dailyCaseNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":true,"phoneEnabled":false,"lastSentAt":-1},"liquidationNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":-1},"rainNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":-1,"rainMinimum":0},"rakebackNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":-1,"rakebackMinimum":10},"timezoneId":"Asia/Bangkok","_isMock":false,"admin":false,"_id":1861005073}}]
Received message: 42/chat,["new-chat-message",{"content":"hi","created":1687475373433,"msgId":"57f07b30-42f5-4118-a724-ca200896809f","bloxFlipUser":{"robloxId":417788385,"robloxUsername":"jgzo","gamesLost":0,"gamesPlayed":0,"gamesWon":0,"lastSeenAt":1687474697352,"lastDepositAt":1687470707026,"wallet":-1.0,"wager":930223.8785714281,"rakebackBalance":-1.0,"totalDeposited":34407.23428571428,"totalWithdrawn":942.0,"targetBalance":-1,"rank":1,"liquidityRemaining":0,"withdrawalRemaining":-1,"banExpires":0,"muteExpires":0,"affiliateMoney":-1.0,"affiliateMoneyCollected":-1.0,"currentlySupporting":-1,"reimburseClaimOne":false,"created":-1,"tradeFrictionLastUnlock":0,"lastTradeFailure":0,"lastAuthCheck":-1,"withdrawEnabled":true,"sponsoredSlotsEnabled":false,"manualReviewNeeded":false,"gameAuth":false,"instantAuth":false,"sessionReset":-1,"rainsLimit":0,"tippingLimit":0,"triviaLimit":0,"altLimit":3,"loyalExpires":0,"creatorEarnings":0.0,"cardLimit":100000,"_fromGameAuth":false,"_fromInstant":false,"intenseCheck":true,"privacyEnabled":false,"uniqueDeviceId":"a64d40cb-f170-4ba3-960e-97da7892c1ea","balanceNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":-1,"minimumBalance":0.0},"dailyCaseNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":true,"phoneEnabled":false,"lastSentAt":-1},"liquidationNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":-1},"rainNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":-1,"rainMinimum":0},"rakebackNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":1673667754623,"rakebackMinimum":10},"timezoneId":"America/Edmonton","_isMock":false,"admin":false,"_id":417788385}}]
Received message: 42/chat,["users-online",1914]
Received message: 42/chat,["new-chat-message",{"content":"hello","created":1687475376682,"msgId":"3761657b-7929-46bb-8c92-b720963c3443","bloxFlipUser":{"robloxId":1376044226,"robloxUsername":"MaxTheGrinderr","gamesLost":0,"gamesPlayed":0,"gamesWon":0,"lastSeenAt":1687474660142,"lastDepositAt":1687227560165,"wallet":-1.0,"wager":499234.12428571034,"rakebackBalance":-1.0,"totalDeposited":18496.057857142856,"totalWithdrawn":0.0,"targetBalance":-1,"rank":1,"liquidityRemaining":0,"withdrawalRemaining":-1,"banExpires":0,"muteExpires":0,"affiliateMoney":-1.0,"affiliateMoneyCollected":-1.0,"currentlySupporting":-1,"reimburseClaimOne":false,"created":-1,"tradeFrictionLastUnlock":0,"lastTradeFailure":0,"lastAuthCheck":-1,"withdrawEnabled":true,"sponsoredSlotsEnabled":false,"manualReviewNeeded":false,"gameAuth":false,"instantAuth":false,"sessionReset":-1,"rainsLimit":0,"tippingLimit":0,"triviaLimit":0,"altLimit":3,"loyalExpires":0,"creatorEarnings":0.0,"cardLimit":100000,"_fromGameAuth":false,"_fromInstant":false,"intenseCheck":false,"privacyEnabled":false,"uniqueDeviceId":"e8958efe-6845-49eb-8546-20a2f84c95a2","balanceNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":-1,"minimumBalance":0.0},"dailyCaseNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":true,"phoneEnabled":false,"lastSentAt":-1},"liquidationNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":-1},"rainNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":-1,"rainMinimum":0},"rakebackNotificationSettings":{"enabled":true,"chatEnabled":true,"webNotificationEnabled":true,"emailEnabled":false,"phoneEnabled":false,"lastSentAt":-1,"rakebackMinimum":10},"timezoneId":"America/Chicago","_isMock":false,"admin":false,"_id":1376044226}}]
zerolysimin is me, i might need send something more before sending chat message? this used to work, bloxflip changed something, i can't figuring it out, if i can't send a chat message through websocket, thats mean i can't join rain through websocket, i already know the message to join rain with websocket, but didnt work, i have my own hcaptchasolver to generate the captchatoken using someone model

hopefully someone experienced relied

i could make this notifier using websocket instead request

I dont know, also tried sending a message using websocket but it wont even work lol

Hey sorry for not updating this situation.
About a week ago I had some free time and I managed to get websockets working, the only issue I encountered was keeping the connection alive meaning the websocket connection would die after 30 seconds, even after pinging the websocket. This is probably an easy fix. Apart from that everything works and it is kind of functional as you can easily reconnect, it's just not ideal to be reconnecting that often.
I will post the code I currently have when I get back which will be Monday at latest. Hopefully someone will be able to tinker with it and submit a pull request with the pinging issue fixed.

fixed can't sent chat in the websocket by adding something that missing, ayy

it seem this normal rain notifier by using requests works better for me than using websocket, my websocket rain notifier often didnt notifying even thought it was not closed
atfer autojoining for 1.5 days, it missed 20% of the rains, while none using normal, not sure why
my current websocket rain notifier
def keep_alive(ws):
try:
while True:
time.sleep(30)
ws.send("2")
except Exception as e:
print(e)
def on_message(ws,msg):
if "pingInterval" in msg:
threading.Thread(target=keep_alive,args=(ws,)).start()
ws.send("40/chat,")
elif 'rain-state-changed' in msg:
data = json.loads(msg.replace("42/chat,",""))[1]
if data.get("active"):
if data["active"] == True:
print("Rain detected!",f"Robux: {data['prize']} | Host: {data['host']}")
try:
with open("config.json", "r+") as data:
config = json.load(data)
secret = config["authorization"]
prozzzy = config["proxy"]
threads = []
for ip, token in zip(prozzzy, secret):
t = threading.Thread(target=connect_websocket, args=(ip, token))
t.start()
threads.append(t)
for t in threads:
t.join()
except Exception as e:
print(f'some error when connecting to websocket2 {e}')
elif data == False:
print("($) Rain ended.")
else:
print("how")
def on_open(_):
print(f"Connected to websocket!")
def on_err(_, err):
print("Catched websocket error",err)
headers = {
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US',
'Cache-Control': 'no-cache',
'Connection': 'Upgrade',
'Pragma': 'no-cache',
'Upgrade': 'websocket',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36'
}
wsa = WebSocketApp("wss://ws.bloxflip.com/socket.io/?EIO=3&transport=websocket",header=headers,on_open=on_open,on_message=on_message,on_error=on_err)
wsa.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE},origin="https://bloxflip.com",host="ws.bloxflip.com",reconnect=True, suppress_origin=True)

not only that, at random time it could give error EOF occurred in violation of protocol (_ssl.c:2393)

i might do something wrong

@NixV37 @subandi123
https://github.com/amprocode/Bloxflip-rain-notifier/pull/25
here is what i have so far, obviously a lot more is needed but I'm hoping you guys or someone else can fix a few issues and add a ping interval so we can get this into production!

do you think it is possible that i can repurpose this for another site?

@NixV37 @subandi123 #25 here is what i have so far, obviously a lot more is needed but I'm hoping you guys or someone else can fix a few issues and add a ping interval so we can get this into production!

i did use websockets but it disconnects if internet goes out and you are free to check it out


[BUG] - Link component reloads page when already on page.

Describe the bug
When using the Link component from Next UI if you click a link that is your current route it will reload the page. I would expect this component to work similar to the NextJS Link component where this doesn't happen.
Your Example Website or App
https://codesandbox.io/s/great-dawn-3reh63
Steps to Reproduce the Bug or Issue

Visit provided code sandbox.
Click Next Home Link and notice no reload.
Click Next UI Home Link and notice full reload.

Expected behavior
As a user I expected the link to not cause a full reload if I am on the page. Instead the full page reloaded.
Screenshots or Videos
No response
Operating System Version
macOS Monterey v12.4
Browser
Chrome

Still not fixed?


Switch to Alpine Linux

Switching to Alpine Linux as a base image.

[x] PHP 7 support #168
[x] Image size reduced by about half (debian = ~450MB, alpine = ~250MB)
[x] Fix fpm pid name / location
[x] Using newer NGINX base image

This is a pretty big change, moving from debian to alpine. The smaller image size, and ability to go to PHP 7 quickly are the biggest benefits.

When will they get php 7.1? I think they have 7.0, right?

@GrahamCampbell I think there is a 7.1 package out there, I will see if I can update to that.


Support for user First Name, and Last Name

It was initially decide that since we wouldn't populate user's last name:

We can't get last name from BCeID in the SAML response
We wanted to avoid apps mistakenly using keycloak first name and last name as legal name
Applications would only need to know user display name as an information on who is currently logged on.

There has been ongoing requests for proper retrieving user's first name and last name

I've reached out to IDIM with the following:

Hello IDIM technical team,

We have an issue related to the SAML payload provided in the BCDevExchange Keycloak instance:
•	The BCeID last name attribute seems to only be available when a user logs in with a Business BCeID
•	In the Basic case, the SAML payload does not have the last name attribute
•	However, the user’s last name is visible in the display name field
•	This issue has been confirmed in the DEV & TEST Keycloak environments
•	We have not confirmed Personal BCeIDs but ideally the last name would also be available in that case as well
Can you please advise if it’s possible to return the last name attribute in the Basic BCeID SAML payload? Several teams have expressed desire to use this attribute.
Thanks!

@arcshiftsolutions any update on this request?

Hi @ShellyXueHan - I believe it's a policy issue at this time. Nick Mailhot may have more info.

Update:
Result from BCeID team discussion: first name and last name in BCeID are not legal names, team should be using display name for user information when needed.


Fix durable name cannot contain . error

If subject has more than one dot (eg. time.us.east.atlanta) will cause durable name canoot contains . error.
use String.replaceAll will actually replace all . to _.

Thanks for your pull request.
Just one minor thing, replaceAll is not available in es2017. Setting the target to es2021 fixed it.
Anyway, thanks for your pr 🙂


Typos: feature_request.md needs some typos correcting

The following issues have been observed within .github/ISSUE_TEMPLATE/feature_request.md and need fixing:

"(e.g. Adding a new OpenJDK distribution)" should have a space after it.
"are made over at the [adoptium]" should be "are made over at the [adoptium repository]".
"Otherwise, please describe..." Should all be on a single line.

Hello @adamfarley , could you assign me to do it?

ah, ok
you need to make a PR from your repo and branch to original's master.
to merge to your repo's master, wont make it landed to adoptium/temurin-build


[react-query] Support queryOptions when reactQueryVersion 5 or above is used

Is your feature request related to a problem? Please describe.
react-query v5 introduced the query options API, and currently there is no way to have graphql codegen generate those options for us
Describe the solution you'd like
In a similar way that we currently have exposeQueryKeys and exposeFetcher, I think we should have an exposeQueryOptions config. This should only be valid if we are on reactQueryVersion 5 or higher.
This could generate something like the following:
import { queryOptions, ... } from '@tanstack/react-query'

useDemoQuery.options = (variables: DemoQueryVariables) => queryOptions({
  queryKey: ['Demo', variables],
  queryFn: someFetcher<DemoQuery, DemoQueryVariables>(DemoDocument, variables)
})

If you are just using the generated hook to get data, e.g. const { data, ... } = useDemoQuery(...), nothing has changed. This does greatly simplify other react-query APIs:
useQueries({
  queries: [useDemoQuery.options(...), ...]
})
queryClient.prefetchQuery(useDemoQuery.options(...))
queryClient.setQueryData(useDemoQuery.options(...).queryKey, ...)
const cachedData = queryClient.getQueryData(...).queryKey)

NOTE: It may seem unnecessary to get the .queryKey from these options, when you could enable exposeQueryKeys and get the keys from there. The main difference is that internally, react-query adds a TypeScript DataTag to the key when it's generated from queryOptions, which gives the key type knowledge about the data it represents. So in the above example, both the setQueryData and getQueryData calls have automatic type safety, without having to explicitly pull in the generated DemoQuery type and passing it to a generic.
Describe alternatives you've considered
It is technically possible to use the DataTag type from react-query directly, and use that with the existing .getKey option to get the same affect. The only potential concern is that, although exported from the react-query package, I cannot find any documentation on the react-query site that mentions it. So it might be considered part of a private API and might change in the future.
We could also use queryOptions ourselves, but this is tedious if we want to enable it for all of our queries.
Although I haven't explored it, there is also infiniteQueryOptions which may be used when addInfiniteQuery is used

I totally agree that it would be great if queryOptions would be in place being used. This would definitely optimise the generated code. Also currently useQuery and useSuspenseQuery are generating two different queryKeys which I think is not necessary.

Does this breake the cache ?
Like If i call useUsers and useSuspenseUsers, i'm not sure if RQ use the same cache because the keys are differents :(

Not sure but in my opinion this might be the same data anyway so I guess the cache could be shared. I also wouldnt mind two different keys, the query key could simply get a suffix of [name]Suspense


support command LATENCY DOCTOR

Description

Describe your pull request here

Issue - #1953
I have added the implementation of the following command to the project LATENCY DOCTOR.

Checklist

[ ] Does npm test pass with this change (including linting)?
[ ] Is the new or changed code fully tested?
[ ] Is a documentation update included (if this change modifies existing APIs, or introduces new ones)?

@QuentinRK Thanks! :)

@leibale No problem happy to contribute!


Highway type

I think that in the class Itinero.Osm.Vehicles.MotorVehicle in the ctor should be added:
AccessibleTags.Add("service", string.Empty);
Alessandro

You can add this by using the constructor of your own class. Not sure this should be added by default. Some OSM-based routers do this, other don't.
I'll reconsider and check again to see if this is a good idea.


add optional parameter fromNote to note.build

Codecov Report

Merging #47 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #47      +/-   ##
==========================================
+ Coverage   99.38%   99.39%   +<.01%
==========================================
  Files          13       13
  Lines         490      492       +2
  Branches      142      143       +1
==========================================
+ Hits          487      489       +2
  Misses          3        3

Impacted Files
Coverage Δ

packages/note/index.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Great! It looks good. I'm outside the weekend. I'll take a deep look on monday and merge. Thanks

I've added a comment to your PR. Tell me what do you think about it.
Also, with this functionality I think build is not a great name. But I think that set is also not valid since you can pass only an object. I would love to find a better name. Ideas?

Let me think of a better name. Thanks for the feedback!

Hey @danigb made some changes on the PR. I've added your suggestion to make the code cleaner, and also tried renaming from build to from, which was the name that felt better to me (you are creating a note "from" a set of props, and optionally another note).
If that does not sound like a good name, just in case I was also thinking withProps or maybe fromProps.
I've kept build on the API as a deprecated method to avoid introducing a breaking change

:tada: Great! I like the new (old) name. Thanks for taking time to build this PR :+1: And +1 to the deprecation (instead of breaking change)

You're welcome. Happy to contribute on this amazing lib


Fix TensorFlow Build on Windows

This pull request addresses the issue of TensorFlow builds failing on the Windows platform. The specific error encountered was related to the incorrect path being used to detect the Clang installation, resulting in the following error message: "no such target '//:FilesLLVMbinclang.exe': target 'FilesLLVMbinclang.exe' not declared in package ''".
To resolve this issue, the PR fixes the problem by ensuring that spaces are properly escaped in the "Program Files" path. This adjustment allows the build process to accurately detect the Clang installation path

Hi @mihaimaruseac, I changed the code and switched to F-Strings which are supported since Python 3.6


Islandwood House no longer starts in Demo mode.

After completing the application's demo mode the next time the application is started it no longer starts in demo mode; but appears to be unlocked.

This is same issue as #2404


Generate a PNG version of the leaderboard instead of using stock discord embed

Describe the new feature
Convert the leaderboard output code to generate a nice looking version of the leaderboard instead of using embed fields, and code blocks.
Describe alternatives you've considered
@Wissididom also considered using Canvas to generate the leaderboard. This should be compared against the html & svg examples here to see the pros/cons and select the most suitable method.
Design
The design needs to be work shopped. Currently, I'm imagining keeping the Champion, Elite Four, and Runnerups, but generating a beautiful looking leaderboard while maintaining these separate groups. Instead of only generating an image of the runnerups table, it would make more sense to do this for the whole leaderboard.
The theme could use pokemon colors, a minimalist aesthetic, and a hierarchical arrangement.
Useful links

Blog post showing html/svg generation methods for embeds
Embed visualization tool

I think a good starting point for the design "work shop" would be a simple prototype.

See the fork https://github.com/NiceWaffel/poke-guesser-bot for a basic implemetation in js (generate_leaderboard.js).
That implementation was also used to generate the image above.

This looks really good. The only suggestion I have for this is to add some visual theming. Maybe a vector image of pokeballs, or something else pokemon themed.
Either way, it is only a suggestion so I'll leave it up to you!