Don't break out of frames when frame missing

This changes the default behaviour when a frame response is missing its expected <turbo-frame> element.
Previously, when the response was missing its frame, we would trigger a turbo:frame-missing event, and then (provided that event wasn't cancelled) perform a full page visit to the requested URL.
However there are cases where the full reload makes things worse:

If the frame contents were non-critical, reloading the page can turn a minor bug into a major one.
It can mask some bugs where frames were intend to explicitly navigate out of the frame (target="_top"), by incurring a second request that loads the page that makes it seem as if it's working corrects.
It leaves the user at a URL that may never be capable of rendering a valid response (since that URL was only intended to serve a particular frame). That means refreshing the page is no help in getting back to a working state.
It can lose other temporary state on a page, like form values.

With this change, we no longer perform the full page visit. Instead, we handle a missing frame by doing two things:

Write a short error message into the frame, so that the problem is visible on the page.
Throw an exception, which should make the problem quite obvious in development, and which allows it to be easily gathered by exception monitoring tools in production.

We keep the turbo:frame-missing event exactly as before, so applications can still hook in to perform alternative behaviour if they want.

We need the allowlist concept to go along with this, so you can deal with "session expired" cases without having to write a custom turbo:frame-missing handler.

I've upgraded gem "turbo-rails" to 1.4 and "@hotwired/turbo-rails" to  7.3.0 and still get the old behavior of "second request that loads the page". No exception.
Am I missing something?

Hi @jonathanloos, yeah, I totally understand! Thanks for bringing this up.
It's hard to make this change without some disruption because the behaviour we want is a bit stricter than what we had in 7.2. (Prior to 7.2 it was stricter too). In 7.2. we have been emitting console warnings to try to highlight where the requests were missing their frames. But it's very easy to miss those, so it's totally understandable that you could end up with links missing frames/targets without noticing. (This situation was a big part of the motivation for the change.)
One idea that might help would be to use a global handler to catch any turbo:frame-missing events, and perform a visit in place of the default handling. That would give you effectively the same behaviour as was in 7.2. If you use an error monitoring service (like Sentry or similar) you could report these occurrences as they happen.
That should keep your app working as it did before, but now you can also see what's coming in to the error monitoring to find any links/frames that need to be updated, and you can make those changes gradually instead of all at once.
Something along these lines should work for that:
document.addEventListener("turbo:frame-missing", function(event) {
  // TODO: Report this event somewhere...

  // Visit the response
  event.preventDefault()
  event.detail.visit(event.detail.response)
})

Hope that helps!

@kevinmcconnell we'll be taking a look into that! We appreciate the quick response as well 🙏

Hey @kevinmcconnell !
Once again thank you for the idea behind mitigating the issues. Our team has successfully implemented the patch and are tracking the offending DOM elements using Ahoy. That way we can gather info on which turbo frames are offending and use it as a todo list in the future.
For reference and anyone also looking to track, here's the basis of our implementation.
import { Controller } from '@hotwired/stimulus'
import ahoy from 'ahoy.js'
import debounce from 'lodash/debounce'

export default class extends Controller {
  connect () {
    document.addEventListener('turbo:frame-missing', this.handleMissingFrame)
  }

  handleMissingFrame (event) {
    this.trackAhoy(event)

    // Visit the response
    event.preventDefault()
    event.detail.visit(event.detail.response)
  }

  trackAhoy (event) {
    ahoy.track('turbo_frame_missing', event.target.id)
  }
}

Note we had to do some solid debouncing and event listener disconnecting in a stimulus controller to make sure we didn't get duplicates all over the place.
Hope that helps! Thanks again.

@jonathanloos great! I'm glad to hear this worked out. Thanks for letting me know! 🙏

Howdy! Just spent a couple hours integrating this (and its companion) (and/with the Turbo-Rails companion, https://github.com/hotwired/turbo-rails/pull/428) into an app with a partner of mine and we had one particularly subtle hiccup I wanted to note for others / consideration.
In 7.2 (or at least in RC3, which we were running previously), if a frame requests something and the response didn't contain the matching frame, that same response ended up being painted. It wasn't requested again.
I believe the idea with the new API is, "use turbo_page_requires_reload / the raw meta tag equivalent in the <head>" but turbo-visit-control="reload" is made to force a full page load AFAIK — so in that case it's another request but it's actually a heavier request (all assets and resources in the head will be reloaded).
There's this 'escape hatch':
document.addEventListener("turbo:frame-missing", function(event) {
  event.preventDefault()
  event.detail.visit(event.detail.response)
})

Which, based on the way visit is written under the hood, should actually paint that same response's content (nice API btw, this is clean), but a full page load does end up happening.
As we found after a couple hours of digging and experimenting is that this .visit call does do what it was written to: paint that response as-is and not re-request the page... but the problem is that that response was constructed with a minimal layout — one with a <head> that will not match the <head> of the current page and thus will cause Turbo Drive to do its own full-page-reload if you have any turbo-track="reload"s in your view.
In short, the solution we found for a frame 'breaking out' to a full page load, but using the singular response it already received as the content for that new page load (e.g. not requesting again) is to use the escape hatch above plus forcing the layout to be our application layout (which will have a matching head block):
class ApplicationController < ActionController::Base
  # ...
  layout -> { "application" if turbo_frame_request? }
  # ...
end

which should override the custom layout introduced and used by default for frame responses via https://github.com/hotwired/turbo-rails/pull/428.
This is sort of a half Turbo and half Turbo-Rails concern so hopefully this is an okay place to post it, just wanted to put forth this use case for consideration and thoughts as it seemed like the event.detail.visit API was wired up carefully to re-use the same Response object (e.g. not request again) but the Turbo-rails 'minimal-layout' setup is a recipe for having a forced reload no matter what.


enable execution of test cases for openebs/cstor arm image in travis

We have enabled arm builds for openebs/cstor (https://github.com/openebs/cstor/pull/296)
Due to some limitation in travis we have disabled the test case execution for arm images in travis.

@mynktl the limitations still exists ? can we put some infomation about the issues we have with travis.

For openebs/cstor repo, we are validating code changes through script https://github.com/openebs/libcstor/blob/master/tests/cstor/script/test_uzfs.sh in Travis build.
In this script, test function test_dup_zrepl requires privileged access during execution. But in Travis, ARM containers are not having privileged access.  Due to this, Travis test will result into failure. To resolve this issue, test_dup_zrepl execution can be skipped in travis build for ARM architecture.


After error win32 runtime does not close the 5086 port

After get some error with this piece of code
if (cc.sys.isNative)
  cc.KEY.space = 59

The Cocos IDE says when i try to restart Port 5086 being used by PrebuiltRuntimeJs.exe ...
using netstat -a says that <IP_ADDRESS>:5086 is being used (state LISTENING).
My guess is after the error when i try to change some native variable the runtime does not close the port.

I get the same kind of error by just close the prebulild.
Best way close the port is by TCPView, just end the process. It's funny that the process don't show up in task manager.

@HujiangDeia Do you know why this is happening ?

This is actually a IDE issue, you should be able to get some help in our forum: http://discuss.cocos2d-x.org/c/editors-and-tools/code-ide

I already solved and this bug only happend once, my gess is there is some thing wrong in my computer after restart all works fine once again, ty any way.


Access Denied starting ComObject

Hello Simon,
Thanks for this great work !
Exactly what I was looking for right now :)
I was not able to use regsvr32 as you said:
regsvr32 VCamNetSampleSource.dll
(that was raising an error "DllRegisterServer not found")
Had to call it on the ComHost file:
regsvr32 VCamNetSampleSource.comhost.dll
But, I now get an "access denied" when instantiating camera in Main.cs of client app.
hr = _camera.Object.Start(null);
Any idea ?
I'm on Windows 11
Thanks

Hi,
Aw... of course you need to register the comhost.dll (this was an incorrect copy paste from the native version https://github.com/smourier/VCamSample)
As for the access denied, it's probably the same issue as for the native version https://github.com/smourier/VCamSample/issues/1
Here is a summary:

The COM object that serves as a Virtual Camera Source (here VCamNetSampleSource.comhost.dll) must be accessible by the two Windows 11 services Frame Server & Frame Server Monitor (running as svchost.exe).
These two services usually run as Local Service & Local System credentials respectively.
If you compile or build in a directory under your compiling user's root, for example something like C:\Users\<your login>\source\repos\VCamNetSample\VCamNetSampleSource\bin\Debug\net8.0-windows10.0.22621.0 or somewhere restricted in some way, it won't work since these two services will need to access that.

=> So the solution is just to either copy the output directory once built (or downloaded) somewhere where everyone has access and register  VCamNetSampleSource.comhost.dll from there, or copy/checkout the whole repo where everyone has access and build and register there.

Crystal clear :)
It's working now. Thanks for your prompt reply !


MB-3237 Add unit tests for parsers.py

Description
This PR establishes the pattern for adding tests to this project, and adds initial tests for the APIParser class in utils/parsers.py.
Setup
To run the tests, you will need to run through the setup instructions for the project that involve installing pyenv and creating a virtual environment. You can read these instructions here: https://github.com/transcom/milmove_load_testing#setup-pyenv
After that process has completed and you have activated your virtual environment, you may run the tests with:
pytest -v

Code Review Verification Steps

[x] Request review from a member of a different team.
[x] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change.

The command pytest -v did not work for me, but when I wrote python3 -m  pytest -v I was able to run the tests and see that they are all passing.

The command pytest -v did not work for me, but when I wrote python3 -m pytest -v I was able to run the tests and see that they are all passing.

Thanks for noting this! I think this actually was the same issue Donald was running into - I think if you have an existing install of pytest that isn't in the virtual env, you need to use this command. I'll make a note to update the README to include this!


Added some text size options people asked for

https://github.com/wassy92x/lovelace-digital-clock/issues/23
People wanted some options to size the text on the clock, I ended up forking and implementing, here's (I hope, first time github pulling n stuff) a pull request to merge into your project, should you approve.

Sorry, but how do i install your version?  thx a lot!

Sorry, but how do i install your version? thx a lot!

Tbh I wouldn't know, just created this for a pull request, unfortunately the owner didn't want it. You could google for manually installing HACS mods, or you can use a different solution I did using cardmod:
https://github.com/wassy92x/lovelace-digital-clock/issues/23


MSID: 96908 Version: 1 DOI: 10.1101/2<IP_ADDRESS>1332

MSID: 96908
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>1332
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=96908
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>1332

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/96908v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>1332
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/96908/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

This needs resolving:

along with related structural issues.
Affiliations also include author initials for some reason


Add a test for $torrent->getDownloadDir()

This patch adds a test for the code in Pull Request #40 "Torrent downloadDir"

The automated build is currently failing because Patch #40 needs to be merged for this code to work.

I think it's a good idea if you add all the patches together into one PR. That'd be great!


Harmony Press Button http commands

Is it possible to send http commands to ha-bridge to send a "press button" command to harmony like with restful-harmony, or is it necessary to install both parallel?

Yes, that is the harmony device tab

So, did you put in your harmony hub address in the Bridge Control tab? And do you see the devices now?

Thank you for asking, my harmony is integrated into the ha-bridge and i can send command via echo, etc. to my harmony.
My actual question was, if it is possible to send "push button" commands via http like the restful Put-command "PUT http://host:8081/harmony/press" to ha-bridge.
The "/api/devices/harmony/devices" command to ha-bridge gives me the same list like the ":8081/harmony/list/devices" to restful-hamony. So i thought that maybe a command like "/api/devices/harmony/press{..." could work so i don't need to run ha-bridge and restful-hamony.
I hope i explained my question properly.

Sorry, the ha-bridge does not expose the restful-harmony api. You could make button press in the ha-bridge and then call it's api for that device using the emulated hue api.

Then i'll stay with the 2 apps with different ports. Thank you for the reply, the support and the good apps. Donationtime.


"ODK Tables Syncronization Functionality" (sic) *Synchronization

Migrated to opendatakit/aggregate#72 by spacetelescope/github-issues-import
Originally reported on Google Code with ID 1148
Synchronization is misspelled in /Aggregate.html#admin/preferences///

Reported by dgessel on 2015-06-06 15:25:38

This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a temporary error. The following address(es) deferred:
<EMAIL_ADDRESS>Domain beorse.net has exceeded the max emails per hour (254/250 (101%)) allowed.  Message will be reattempted later
------- This is a copy of the message, including all the headers. ------
Received: from github-smtp2-ext4.iad.github.net ([<IP_ADDRESS>]:33608 helo=github-smtp2a-ext-cp1-prd.iad.github.net)
by hp159.hostpapa.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
(Exim 4.89)
(envelope-from<EMAIL_ADDRESS>id 1dgMCA-000eKQ-MZ
for<EMAIL_ADDRESS>Fri, 11 Aug 2017 22:30:34 -0400
Date: Fri, 11 Aug 2017 19:29:55 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com;
s=pf2014; t=1502504995;
bh=eDA+EqsB2isgdLHzakHG0zXeudhtMGomNEDj2qKtW1U=;
h=From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID:
List-Archive:List-Post:List-Unsubscribe:From;
b=VwV/D+GGf0nT0iTeQYsrSHVFiKOg1EZIv2B8ncpWOvwbxyg2uinfZGKz68A1IszyZ
TYZiMUKIyg0tT8eqbnZYItHJZHDtOVFXE+bgyG3fRIWgRtdsUXkIdZuUp+/YBRvIhl
f3qJ26WgsJXN6lQl+gK5jTCwF2EelVjpzAtBu/F8=
From: Open Data Kit<EMAIL_ADDRESS>Reply-To: opendatakit/opendatakit<EMAIL_ADDRESS>To: opendatakit/opendatakit<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>In-Reply-To<EMAIL_ADDRESS>References<EMAIL_ADDRESS>Subject: Re: [opendatakit/opendatakit] "ODK Tables Syncronization
Functionality" (sic) *Synchronization (#1149)
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="--==_mimepart_598e682320079_62803f88a8ed7c341079d";
charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: opendatakit-bot
X-GitHub-Recipient: jbeorse
X-GitHub-Reason: subscribed
List-ID: opendatakit/opendatakit <opendatakit.opendatakit.github.com>
List-Archive: https://github.com/opendatakit/opendatakit
List-Post<EMAIL_ADDRESS>List-Unsubscribe<EMAIL_ADDRESS>https://github.com/notifications/unsubscribe/AAUZrzToRJU_c9pUAu8DU3nGW7VLXv_Iks5sXQ4jgaJpZM4O1SQO
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address<EMAIL_ADDRESS>----==_mimepart_598e682320079_62803f88a8ed7c341079d
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Closed #1149.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/opendatakit/opendatakit/issues/1149#event-1203484158
----==_mimepart_598e682320079_62803f88a8ed7c341079d
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Closed #1149.
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or mute the thread.

----==_mimepart_598e682320079_62803f88a8ed7c341079d--


Add new TS API TSSyncStatFindName()

Update header-rewrite plugin to use the new API
Email to dev/users@
New TS API TSSyncStatFindName()
Yahoo
/
Sent

Sudheer Vinukonda<EMAIL_ADDRESS>To:
Dev
,
Users

Tue, Apr 14 at 12:23 PM

The existing TS API `TSStaFindName()` returns success if it's able to find the stat in the stats hash table. This automatically becomes true for persistent stats that get loaded from the stats snapshot, even when a `TSStatCreate()` hasn't been called yet on that stat after a server restart.

There are certain use cases, which check if `TSStatFindName()` returns not found and only then create the stat (call `TSStatCreate()`)  - for example, header-rewrite plugin. The intention there is to not call `TSStatCreate` duplicate on a given counter that's potentially created via multiple rules.

However, this results in not setting the Sync CB for the counter while also not updating the api_rsb_index. This can potentially affect subsequent API stats as they end up getting stat ids that are already in use by previously used stats that did not end up calling `TSStatCreate`

To address this, I'm proposing to add a new TS API `TSSyncStatFindName()` which returns found only if the stat is in the hash table and it's sync_cb is set. This API will replace the usage of `TSStatFindName` in header-rewrite and other plugins that we internally have which have similar use cases.

Let me know any concerns/comments/feedback.

Thanks,

Sudheer

Changing this to draft per Leif's suggestion to explore updating/fixing existing API than overloading more confusing/new API (which I agree with and is totally reasonable!)

Do we still need this one ?

Do we still need this one ?

Hopefully not - Just wanted to give some window, to see if anyone from the community replies to the question/change announced in the email asking to preserve the old behavior. If no one responds in a day or two, we can close this.

Remember to remove Projects and Milestone when closing a PR without merging.


Unable to login (Windows WSL)

turso auth signup --headless
Visit the following URL to login:
https://api.turso.tech/signup?redirect=false
Error fetching latest version: Get "https://api.turso.tech/releases/latest": dial tcp: lookup api.turso.tech on <IP_ADDRESS>:53: no such host

Hey @denisdpc, could you check any firewalls or proxies?

Hi,
I don't use any firewall or proxies in my personal computer (Windows 11).
I tried do the same procedure in another computer with windows and I have the same issue.
Trying that from a bootable pendrive ubuntu distribution in my computer, its works perfectly.


TypeScript support

@coryhouse, this isn't an issue to add TypeScript support as your boilerplate is Babel, but it's just to mention that I have a fork with TypeScript support if that floats people's boats. You can check it out here, https://github.com/typescriptcrew/ts-react-slingshot . I still have some tweaking to do with the typings for stateless components, but aside from that it's all running.

Cool, thanks for sharing!


Is it possible to hide content?

When I just want to say in title without content: "Issue has been successfully created". Thx.

No, current there is no feature to add the content.
I can think about it to add it in the future,
Thanks..


Job execution without ORM access

As ...
Patti - Platform Admin
I want ...
A Job type which allows for execution on a worker node that does not have access to the DB (i.e. no ORM)
So that ...
I can simplify the deployment and infrastructure requirements for distributed workers.
I know this is done when...

I can deploy a job worker which does not require me to provide that worker with a direct connection to the Nautobot DB.
I can write a job to be executed on such a worker that allows me to retrieve, create, and manipulate data in Nautobot.

Optional - Feature groups this request pertains to.

Automation

Database Changes
No response
External Dependencies
No response

Also, I am not suggesting we change the way that all jobs work all of the time. There are any valid use cases for Jobs that perform complex business logic using the ORM that are either impossible or very hard to do via the REST API. Instead, I propose a type of jobs which supports an alternative operational method, which has use-case limitations, but offers a simpler infrastructure architecture.

Not exactly the same, but in line with simplification of jobs I will point out this comment to remove/limit logging when it doesn't matter. https://github.com/nautobot/nautobot/issues/765#issuecomment-1272388605

Such jobs should still be able to run on "traditional" celery workers.

Design meeting notes
We would need to determine how to securely transfer the API key. Without access to the database, the worker will only be able to communicate with the server through the message broker (redis) until the API connection is established. Redis by default probably isn't suitable for transferring API keys. One option as a temporary stopgap would be to require the API key to be created in advance and loaded on the worker as an environment variable.
We may also need to set an environment variable on the worker for the REST API url because 1) django doesn't give a good api for retrieving your full url path and 2) remote workers may need to access the nautobot server from a different url than the rest of the users, for example if you need to hit a natted IP address.
In order to manage the state of job results we need to:

Pass an API key that can be used to change the job result (probably a requirement in general for this issue)
Hook into a celery signal or one of the special task methods (possibly BaseJob.before_start) to know when to progress the status from Pending to Started
Use the BaseJob.on_failure method to progress the JobResult status to Failure
Use the BaseJob.on_success method to progress the JobResult status to Success

JobLogEntry will need PATCH, POST, PUT, and DELETE REST API endpoints.
JobResult will need PATCH, POST, and PUT REST API endpoints.
Worker startup
Current worker gets its settings from the nautobot config. We'll need to supply those to the standalone worker somehow. The default is a celeryconfig.py in the PYTHONPATH. We tested creating a worker using just celery worker on a server with a celeryconfig.py with broker_url = "redis://:password@redis:6379/0" and it was able to load and join the queue but when we tried a nautobot-server celery inspect report from the nautobot web server we got the following error, indicating we need some more of the nautobot celery config to be bootstrapped on the worker (specifically the serializer in this case):
[2024-03-26 16:38:06,348: CRITICAL/MainProcess] Can't decode message body: ContentDisallowed('Refusing to deserialize untrusted content of type application/x-nautobot-json (application/x-nautobot-json)') [type:'application/x-nautobot-json' encoding:'utf-8' headers:{'clock': 1, 'expires':<PHONE_NUMBER>.3451312}]

body: b'{"method": "ping", "arguments": {}, "destination": ["celery@"], "pattern": null, "matcher": null, "ticket": "3d4f4527-e815-46ad-86d1-f0a07dfe0fbe", "reply_to": {"exchange": "reply.celery.pidbox", "routing_key": "0db76f82-8c3b-39e0-a1f4-b0f8b1bc5741"}}' (251b)
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/kombu/messaging.py", line 650, in _receive_callback
    decoded = None if on_m else message.decode()
                                ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/kombu/message.py", line 201, in decode
    self._decoded_cache = self._decode()
                          ^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/kombu/message.py", line 205, in _decode
    return loads(self.body, self.content_type,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/kombu/serialization.py", line 255, in loads
    raise self._for_untrusted_content(content_type, 'untrusted')
kombu.exceptions.ContentDisallowed: Refusing to deserialize untrusted content of type application/x-nautobot-json (application/x-nautobot-json)
[2024-03-26 16:39:12,061: CRITICAL/MainProcess] Can't decode message body: ContentDisallowed('Refusing to deserialize untrusted content of type application/x-nautobot-json (application/x-nautobot-json)') [type:'application/x-nautobot-json' encoding:'utf-8' headers:{'clock': 1, 'expires':<PHONE_NUMBER>.0572736}]

body: b'{"method": "ping", "arguments": {}, "destination": ["celery@"], "pattern": null, "matcher": null, "ticket": "0adaadb2-8431-4e88-b9c2-a17fbfb6d44f", "reply_to": {"exchange": "reply.celery.pidbox", "routing_key": "65b1b646-d4b8-33ea-a409-a09b4524ab79"}}' (251b)
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/kombu/messaging.py", line 650, in _receive_callback
    decoded = None if on_m else message.decode()
                                ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/kombu/message.py", line 201, in decode
    self._decoded_cache = self._decode()
                          ^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/kombu/message.py", line 205, in _decode
    return loads(self.body, self.content_type,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/kombu/serialization.py", line 255, in loads
    raise self._for_untrusted_content(content_type, 'untrusted')
kombu.exceptions.ContentDisallowed: Refusing to deserialize untrusted content of type application/x-nautobot-json (application/x-nautobot-json)
[2024-03-26 16:39:18,391: CRITICAL/MainProcess] Can't decode message body: ContentDisallowed('Refusing to deserialize untrusted content of type application/x-nautobot-json (application/x-nautobot-json)') [type:'application/x-nautobot-json' encoding:'utf-8' headers:{'clock': 1, 'expires':<PHONE_NUMBER>.3880951}]

body: b'{"method": "report", "arguments": {}, "destination": null, "pattern": null, "matcher": null, "ticket": "06da73c3-aaa2-427f-a1e2-fdab3826a9ae", "reply_to": {"exchange": "reply.celery.pidbox", "routing_key": "d1395a66-2c13-3042-ab2d-6b0171b3c0a8"}}' (246b)
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/kombu/messaging.py", line 650, in _receive_callback
    decoded = None if on_m else message.decode()
                                ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/kombu/message.py", line 201, in decode
    self._decoded_cache = self._decode()
                          ^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/kombu/message.py", line 205, in _decode
    return loads(self.body, self.content_type,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/kombu/serialization.py", line 255, in loads
    raise self._for_untrusted_content(content_type, 'untrusted')
kombu.exceptions.ContentDisallowed: Refusing to deserialize untrusted content of type application/x-nautobot-json (application/x-nautobot-json)

TODO

Create settings/env vars for the worker's API key and the Nautobot REST API url
Create a cli command to load the nautobot custom celery serializer and any other required nautobot bootstrap code (probably the full nautobot config and the env vars above) before continuing to load the default celery worker
Add PATCH, POST, PUT, and DELETE REST API endpoints to JobLogEntry
Add PATCH, POST, and PUT REST API endpoints to JobResult
Update BaseJob methods with the state management code proposed earlier in this comment
See if it works?

I would advocate to not spend time on this. This misses the root of the challenges that we have. Our challenges are in managing the remote infrastructure, while it's true you should have to manage it less, it is not clear if that is a good thing. At least while everything has to be the same, it will fail early and fail often.
No matter what, we still need to manage the remote infrastructure, and this does not solve that problem, and potentially exacerbates the underlying remote worker challenge.


Outdoor localization

We propose the double EKF setup for estimating the position including the gps measurements.
We modified the covariances provided by wheel_encoder_reader.py and actuation_to_twist.py to fix the lateral shift in between GPS measurements.
In order to run everything on SVEA, simply plug the RTK to the SVEA and run the following command:
roslaunch svea_sensors localize.launch map_file:=/svea_rtk_navsat/src/svea_core/maps/sml.yaml use_wheel_encoders:=true is_indoors:=false device:=/dev/ttyACMXXX start_serial:=true initial_pose_x:=xxx initial_pose_y:=yyy initial_pose_a:=aaa

For this one I would suggest that @mich-pest apply the changes so that he shows up as a contributor as well.


[BUG] RKE1 vSphere external (out-of-tree) cloud provider description, has a docs link which leads to 404 Not Found

Setup

Rancher version: v2.8.3
Browser type & version: Chrome

Describe the bug
RKE1 vSphere external (out-of-tree) cloud provider description, has a docs link which leads to 404 Not Found
To Reproduce

Fresh install of Rancher v2.8.3
Navigate to Cluster Management > RKE1 > vmware vSphere Node driver
Select cluster options > cloud provider > external (out-of-tree), and once selected, there will be a description with a docs link
Visit docs link
Reproduced

Result

Expected Result
User is brought to Rancher Docs
Screenshots

Click docs link at bottom of screenshot

For reference, the URL being linked to is rancher.com/docs/rancher/v2.8/en/cluster-provisioning/rke-clusters/cloud-providers/vsphere/out-of-tree
Not sure if it's a prefix issue: https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/set-up-cloud-providers/configure-out-of-tree-vsphere

@gaktive this likely needs to be addressed by the Docs team. They have already implemented support for redirecting the old docs URLs to the new ones when the version is 2.6 or lower(e.g. 2.6 link). Currently we have a relatively complex logic to generate the docs link which may require time to migrate to the new docs base link and test it.


Add CHANGES.md entry for queue pause behavior fix

Checklist

[ ] Tick to sign-off your agreement to the Developer Certificate of Origin (DCO) 1.1
[ ] Added tests for code changes or test/build only changes
[x] Updated the change log file (CHANGES.md|CHANGELOG.md) or test/build only changes
[ ] Completed the PR template below:

Description
This PR adds the CHANGES.md entry for #353 .
PR co-authored by @ricellis

Approach

Schema & API Changes

Security and Privacy

Testing

Monitoring and Logging

Thank you for the review, @eiri . I'm about to merge this.


Add support for parallel querying

When the number of unlabelled points is very large it may be beneficial to copy the classifier into a number of threads/processes and query chunks of the data separately, then recombine and rank them.
Query methods should take an n_jobs parameter which controls this behaviour.

Just adding a simple reference if that helps anyone
dask_ml has a ParallelPostFit that does exactly this


test that futexes induce appropriate synchronization

This fails when I remove the validate_lock_acquire or validate_lock_release from futex_wake. So finally we got those code paths actually covered in tests. :)

@bors r+

:pushpin: Commit c0121de01895b1c57266714615dfd91984363961 has been approved by RalfJung

@bors r+

:pushpin: Commit e667ccb4594b5415626f18dbe34c1713b59e3941 has been approved by RalfJung

:hourglass: Testing commit e667ccb4594b5415626f18dbe34c1713b59e3941 with merge ab88ba42999ab820b4d15c842517f09b9719fb8b...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing ab88ba42999ab820b4d15c842517f09b9719fb8b to master...


Issue with deleting index with wildcards

Search Guard Version 5.2.2
Elasticsearch Version 5.2.2
JVM 1.8.0_121
OS Windows Server 2016
User have sgamin_all_access:
sg_all_access:
cluster:

""
indices:
'':
'*':

"*"

When I tried to delete indices using wildcards, etc. https://hostname:9200/test*:

if there are matching indices, the operation goes through
if there are no matching indices, search guard throws the error:
Type: security_exception
Reason: "no permissions for indices:admin/delete"

This is very misleading. On the other hand, if you look at behavior in Elasticsearch without search guard, the delete operation goes through whether there are matching indices or not.

We consider this for the next release, thy for reporting


[webpack 5] Unmet peer dependency

I have a strange problem with installing webpack@5, macOS 10.15.6, node 10.22.0, npm 6.14.6.
Webpack package is installed (i see it in node_modules folder), i can import in node interpreter, but npm is seems failed to find it.
% mkdir webpack-5-test && cd $_
% npm init -y
% npm i -D webpack@next webpack-cli@next
npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated

><EMAIL_ADDRESS>postinstall /Users/user/Projects/webpack-5-test/node_modules/ejs
> node ./postinstall.js

Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| 5.x.x but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| 4.x.x but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| 5.x.x but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| 5.x.x but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.

+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>added 696 packages from 376 contributors and audited 696 packages in 19.857s

47 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
% npm ls --depth=0
<EMAIL_ADDRESS>/Users/user/Projects/webpack-5-test
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
npm ERR! peer dep missing<EMAIL_ADDRESS>|| 5.x.x, required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>|| 4.x.x, required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>|| 5.x.x, required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>|| 5.x.x, required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>|| 5.x.x, required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>|| 5.x.x, required by<EMAIL_ADDRESS>

It is expected, because webpack@5 still not released, we do not use alpha/beta/rc releases in peer deps because we don't want support non stable releases


django-code

 Environment data

Language Server version: 2021.6.0
OS and version: win32 x64
Python version (and distribution if applicable, e.g. Anaconda):
python.analysis.indexing: undefined
python.analysis.typeCheckingMode: off

 Expected behaviour
XXX
 Actual behaviour
XXX
 Logs

Python Language Server Log
XXX 'Please paste the output from your clipboard'

 Code Snippet / Additional information

XXX

You haven't filled out the template, so there isn't enough information to help you. If you can fill out the template, we can reopen this, but without info we can't really look into anything.


Fire TV - Not smooth video if frame matching enabled.

Bug report
Your Environment

Netflix add-on version: 15.2
Operating system version/name: Fire OS <IP_ADDRESS>
Device model:  Fire TV Stick 4K

Used Operating system:

[x ] Android
[ ] iOS
[ ] Linux
[ ] OSX
[ ] Raspberry-Pi
[ ] Windows

Describe the bug

When I enable match framing in Kodi player option, I am able to automatically switch the TV frequency to 24 fps when a Netflix movie or series is originally encoded in 24fps, but video is not smooth, it is like some frame are dropped and some duplicated.
I tested the Netflix plugin-in also on raspberry and windows, on these system it works perfectly.
Expected behavior

When Fire stick TV 4K switch to 24fps automatically, 24 fps netflix videos should be extremely smooth at played at native fps.
Actual behavior

24 fps videos are not played smooth, even though fire stick kodi set TV on 24fps. The funny thing is that if I try to change a video or audio settings while I am watching the movie and part of kodi gui appears on top of the movie to show player options, than the movie plays wonderfully smooth for all the time the gui is on. If I do nothing and I go back to "full screen" than video starts chopping again.
Steps to reproduce the behavior

Possible fix

Debug log

The debug log can be found here:
Additional context or screenshots (if appropriate)
Installation

[ ] I'm using other Netflix Repo
[ ] I'm using a different source

Other information

Screenshots

I am seeing the exact same thing on my firestick 4k.

Is mindhunders available at 24fps? I have this issue only with Netflix videos with 24fps.
So strange that videos become smooth as soon as and as long as the kodi GUI appears when you want for example pause the video or access the player settings to choose for example a different audio language.

If I'm correct, this is handeled by InputStream. @peak3d I am right?

It's kodi kernel, frame timing is handled using Android Choreographer. There is not much room for further improvements.

The first pic is the info on the juddering 1080p London has fallen. Second picture is on 4k hdr mindhunters with no stuttering or judder whatsoever? Is this isue firestick related or on
All android boxes?

I noticed that Mindhunter is encoded in h265, while London has fallen in h264, but not sure if this could be a reason (maybe h265 is better handled by fire stick because hardware acceleration is supported?)

Regarding @peak3d answer, it a Kodi/Android bug, so unfortunately nothing we can do.

Ok just tested h265 Netflix plays great h264 Netflix stutters. So this is a Kodi android bug? Or a firestick 4k bug? If yes only solution for 264 hdr Atmos is appletv?

It is most likely a driver bug / feature. for example if decoder does not provide proper PTS values, or has tunneld playback mode fixed. From my investigation palyback is much better if you play this on 59,94 TV refreh rate

Is there anything we could mention to KODI team to fix it in the next Android Kodi release?

I'm sorry but i have to close this PR it is not related to the addon,
for this problem you have to request assistance in Kodi forum

So strange that videos become smooth as soon as and as long as the kodi GUI appears

@nicosea: that gave me an idea because it also happens with playerdebuginfo enabled (ctrl+shift+o), so I modified the source code to always display playerdebug info but with an empty string.
Comment out these lines:
https://github.com/xbmc/xbmc/blob/53484b6a92f63df6d4faa46d0b5f38e15327cb3d/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp#L725
and
https://github.com/xbmc/xbmc/blob/53484b6a92f63df6d4faa46d0b5f38e15327cb3d/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp#L742
It's a nasty hack but it works :)
The problem can be easily checked with the first episode of Cannon Busters where at the start there is a panning that is very choppy on the Fire TV 4K.

So strange that videos become smooth as soon as and as long as the kodi GUI appears

@nicosea: that gave me an idea because it also happens with playerdebuginfo enabled (ctrl+shift+o), so I modified the source code to always display playerdebug info but with an empty string...

Do you mean like below?
// if (m_renderDebug)
// m_debugRenderer.SetInfo(audio, video, player, vsync);
How can I edit this file directly on FireTV?
Or should I upload an edited RenderManager.cpp via FTP or SSH?

You have to compile the source code.

I can confirm using an overlay like CTRL+SHIFT+O completely fixes the stutters with 1080p streams on my fire TV 4k. What does Kod do differently with an overlay on screen?


Improve language for case number question

Question ID
docket number

language
We may want to add text around the do you know your case # checkbox. This should be known/findable unless the user is creating the fee waiver to accompany an initial filing. Also, this is probably required if they are e-filing, right? Let's discuss.

Other information

Variable being sought
docket_number

Package version
1.1.4

Maturity target
Level 4 - this is purely an enhancement to improve user experience

Tester contact info
mnewsted

i added a subquestion (and a field label for case number)


Embed shell integration scripts in fzf binary (--bash / --zsh / --fish)

This simplifies the distribution, and the users are less likely to have problems caused by using incompatible scripts and binaries.

bash# Set up fzf key bindings and fuzzy completion
eval "$(fzf --bash)"

zsh# Set up fzf key bindings and fuzzy completion
eval "$(fzf --zsh)"

fish# Set up fzf key bindings
fzf --fish | source

In Bash 3.2, the source builtin doesn't support reading from a pipe, so source <(...) fails (silently). What is the minimal Bash version that fzf supports? As far as I see key-bindings.bash, fzf intends to cover Bash 3. If that is the case, source "$(fzf --bash)" could be used.

Is there a way to turn on either key-bindings.bash or completion.bash while the other is turned off? I'm not sure about a good interface, but for example,
fzf --bash=[key-bindings | completion | all]

defaulted to all.

In Bash 3.2, the source builtin doesn't support reading from a pipe

Ah, that's unfortunate. I wasn't aware of it. I liked source <(...) better than eval "$(...)" because it looked better (no quotes). It's a superficial cosmetic reason that doesn't justify dropping support for bash 3 (which is the built-in version of bash in macOS), so I'm going to suggest eval instead.

Is there a way to turn on either key-bindings.bash or completion.bash while the other is turned off?

I thought about it, but I decided to keep it simple. We could add a magic comment at the top of each section so that advanced users can sed away the unwanted part.

Thanks for your reply!

@junegunn I suggested evaluating the integration shell scripts by eval (for the Bash compatibility), but I noticed there is a problem with the current content of the integration scripts. [[ $- =~ i ]] || return 0 at the beginning of the integration scripts, when executed in non-interactive shells, terminates the execution of .bashrc, .zshrc, etc. in the middle because eval runs the commands in the context where eval is called.
One solution is to avoid using return 0 and enclose the entire content of the integration scripts with a big if statement as if [[ $- =~ i ]]; then <all the script contents>; fi. Another solution is to enclose the script contents within a temporary function when embedding them in stdout. For example, this function
https://github.com/junegunn/fzf/blob/4cd37fc02b4491d4c9a5f6a27ad41895ad1a62cc/main.go#L30-L34
can be modified to additionally print

__fzf_initialize() { and unset -f __fzf_initialize }; __fzf_initialize for Bash,
print () { and } for Zsh
and something equivalent for Fish.

@akinomyoga Thanks, I'll update the script files. We used to wrap the whole thing before https://github.com/junegunn/fzf/commit/f103aa4753b435f8f45c5130323effeb75583c15.

Thank you for fixing it! I think the fish integration script also needs to be adjusted.
https://github.com/junegunn/fzf/blob/4cd37fc02b4491d4c9a5f6a27ad41895ad1a62cc/shell/key-bindings.fish#L14

We instruct fish users to use source via pipe.
https://github.com/junegunn/fzf?tab=readme-ov-file#setting-up-shell-integration
And as far as I can tell, it doesn't have the same issue.

Ah, OK! I missed it. Sorry for the noise, and thank you for the clarification. I think now everything should be fine.
Thank you for your quick responses and actions.


Create method for dumping and restoring the entire production database

Before we ask people to deploy a version of CiviForm that includes a PostgreSQL database migration, we need a prescribed (and preferrably automated) way for dumping the entire contents of the production database in case something goes wrong.  We then need a way to restore that dump to a running CiviForm instance.
Utilizing pgadmin for this task works, and we already have a command in our deployment system to temporarily stand up pgadmin connected to the database, and then tear it down when finished.  However, this requires manual steps to dump the database and restore it, and does not allow for automation to back up the database regularly.
We should create another command in our deployment system that opens access to the database to your particular IP (like the pgadmin command does), performs the pg_dump command, saves it locally, and then tears down the resources. And another command to run pg_restore for a given dump file.  This will probably look something like the procedure here, translated into a Terraform module to set up the temporary EC2 host, and then the deployment tooling manages SSHing in, running pg_dump, SCPing the file locally and tearing everything back down.

Closed https://github.com/civiform/cloud-deploy-infra/pull/280 as well since that was related


feat(RHINENG-13856): Create progress stepper

As part of registration assistant refresh, this PR implements the ProgressStepper and some individual step features.
It does not include actual activation key data or content for the selected OS; but it does include the data necessary to step through the stepper.
To test, replace <Register /> in Routes.js with <NewRegister /> and uncomment the lazy loaded NewRegister component in the same file. Run the app and you should see the new content.
Refer to the mocks in the Jira card for specific design.

/retest

/retest


[audit functionality] Handle Unicode better

Someone reported to us the following redacted stacktrace:
...detect_secrets/core/audit.py", line 347, in _highlight_secret
    secret_line[index_of_secret + len(raw_secret):],
UnicodeEncodeError: 'ascii' codec can't encode character u'\xef' in position 51: ordinal not in range(128)

This should have been fixed by @killuazhu's wonderful linked #129 PR :D 🎉 🎂 🎈


[Bug] List widget: Does not accept Array

Description
After the new validation changes the list widget has stopped accepting Array of arrays. One of my apps broke because of this. Now the widget is only accepting Array or Objects. Since the earlier is a common use case, we might have to re evaluate this
Steps to reproduce the behaviour:
Add steps to reproduce this behaviour, include console / network logs & screenshots

Drag and Drop a list widget
Add array or arrays to the list data
check the error out

Important Details

Version: [Cloud / Self-Hosted vx.x]
OS: [MacOSX]
Browser [chrome, safari]
Environment [production]

Commenting here to watch the issue. Eagerly waiting for the fix 🤞

Is this fix available on https://release.app.appsmith.com or https://app.appsmith.com ?

Hey @tomjose92 this is now available at the release env, As soon as the QA has verified this we will promote it to the prod

hey @somangshu, I tested the same in release.app.appsmith.com
Still facing the issue. Uploaded the image here.

@tomjose92 how did you add the table inside the list? we disallow that operation

@tomjose92 the fix is for the list widget and you are doing the binding in table widget in list widget. that won't work.

@jsartisan, I made the table really small and was able to put the table inside the list [first row], and it was replicated across all list rows.
So your saying I wouldnt be able to add a table or even a select button inside the list?

We dont support the following
WidgetTypes.TABLE_WIDGET,
WidgetTypes.LIST_WIDGET,
WidgetTypes.TABS_WIDGET,
WidgetTypes.FORM_WIDGET,
WidgetTypes.CONTAINER_WIDGET,

@jsartisan Tested the fix on the release and working fine. Now we are accepting Array of arrays in List widget.


curseofwar 1.2.0 (new formula)

Curse of War is a strategy game that can be running on the terminal.

Ping re @dunn’s comment?


Make Bearer the default scheme

Leaving a comment for future reference: this change is so that callers do not have to explicitly set the Bearer scheme if one is not provided (say, as in broker).

Leaving a comment for future reference: this change is so that callers do not have to explicitly set the Bearer scheme if one is not provided (say, as in broker).

Just posting our offline thoughts here /cc @rpdome -- we don't want to inadvertantly downgrade the security posture of a request by falling on Bearer when we don't mean to. This is the API tradeoff between resiliency (if we forget to specify a scheme) and explicitness (validation throws if not provided).
We can discuss in scrum to determine which approach team feels is best

We decided to make this scheme explicit. Any crashes/errors should be caught in bug bash.


sentry: use asio grpc

It is nice that I can pass ServiceState to calls now and avoid a global variable.
I was confused by how request_ type is inferred now from the template argument. In theory we can pass it as an operator() parameter to make its type explicit like before.

I was confused by how request_ type is inferred now from the template argument. In theory we can pass it as an operator() parameter to make its type explicit like before.

This is a good point for UnaryCall and ServerStreamingCall, I suggest to do this in a separate PR.


New & improved GitHub follow bot

I've developed a new follow/unfollow bot for GitHub with plenty more features.
Check it out

Please fix the unfollow feature @Correia-jpv


Wrong key name for SQLite database path

In the app/config/config.yaml file the key name for the SQLite database path looks like this:
# e.g. database_path: '%kernel.project_dir%/var/data/data.sqlite'

But the correct name is:
# e.g. path: '%kernel.project_dir%/var/data/data.sqlite'

I guess you are referring to https://github.com/symfony/symfony-standard/blob/3.3/app/config/config.yml.
In fact, it does tell to use database_path as key, but recommends to set a database_path parameter to use as path: %database_path%.

Thank you,
You are right.
I have not noticed that the database_path key is only used in the parameters.yml file.
It's all right. Sorry.


Nothing happens after I authorize in browser

Hi.  I'm trying to give your app a spin.  I have a project set up a Google and am able to get through the OAuth bit where I am asked to authorize with my project.
Your app though just sits at:
Opening in existing browser session.

after I have authorized and closed my browser tab.  Eventually it stops with:
Traceback (most recent call last):
  File "/net/server/src/gpx2fit/fitexport/main.py", line 87, in <module>
    main()
  File "/net/server/src/gpx2fit/fitexport/main.py", line 61, in main
    execute()
  File "/usr/lib/python3.10/site-packages/googleapiclient/_helpers.py", line 131, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/usr/lib/python3.10/site-packages/googleapiclient/http.py", line 922, in execute
    resp, content = _retry_request(
  File "/usr/lib/python3.10/site-packages/googleapiclient/http.py", line 221, in _retry_request
    raise exception
  File "/usr/lib/python3.10/site-packages/googleapiclient/http.py", line 190, in _retry_request
    resp, content = http.request(uri, method, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/google_auth_httplib2.py", line 218, in request
    response, content = self.http.request(
  File "/usr/lib/python3.10/site-packages/httplib2/__init__.py", line 1725, in request
    (response, content) = self._request(
  File "/usr/lib/python3.10/site-packages/httplib2/__init__.py", line 1441, in _request
    (response, content) = self._conn_request(conn, request_uri, method, body, headers)
  File "/usr/lib/python3.10/site-packages/httplib2/__init__.py", line 1363, in _conn_request
    conn.connect()
  File "/usr/lib/python3.10/site-packages/httplib2/__init__.py", line 1153, in connect
    sock.connect((self.host, self.port))
TimeoutError: timed out

Any ideas?

NVM.  Seemed to be a local networking issue.


amp cluster create error (issue with secret)

While attempting to create a new cluster, amplifier fails to start:
uyodtp5a9k92        amp_amplifier           global              0/1                 appcelerator/amplifier:local             *:50101->50101/tcp

Inspecting the log shows:
amp_amplifier.0.lrvhyq6uhc9p@moby    | 2017/06/06 21:29:01 JWTSecret key cannot be empty. Please check amplifier configuration.

Running the following commands does not solve the issue:
docker secret rm amplifier_yml
docker volume rm amp-secrets

This is a bug because creating a new cluster should not fail for this reason. Either we should generate new secrets or else provide a warning if we are attempting to reuse an older secret (if using an existing swarm manager for a local cluster), or somehow more accurately indicate what the problem is and how to resolve it.

@subfuzion I think this issue can be closed, it was related to an old file in your repo


Scope out which AWS terraform resource we want to create

Do we want to create AWS configuration exactly matching Seattle or would we want to create an https://aws.amazon.com/apprunner/ (more similar to what we do with Roc's deployment)

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/apprunner_service

pricing info here https://aws.amazon.com/apprunner/pricing/
if we get very lil usage it could be <$50 per month

we could also use https://aws.amazon.com/elasticbeanstalk/ which does similar things

for app runner cannot use docker hub (but can put the code up on the AWS container service) and https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/docker.html is maybe the way to do this with elastic beanstalk

A few thoughts:

Whatever we can do to reduce the configuration/complexity burden for a deployment is good, all things being equal. Which definitely suggests going for something like AR or EB.
We also need to keep costs down, but that's less of an issue so long as these services are more of a marginal increase in price vs like doubling the cost of hosting.
Whatever solution we go with, we need to be able to ensure that our security posture isn't degraded relative to the existing AWS and Azure deployments. i.e. we need to ensure

The app servers are only accessible via HTTP and only accepting traffic from the load balancer and nowhere else
The app servers and database are in a private subnet
The database is only accessible from within that private subnet

For AppRunner available config is  2 vCPU | 4GB, but our requirements say we need 2 vCPU 8GB. Do we really need 8GB or will it work with 4?

Pricing with some big assumptions for EB: https://calculator.aws/#/estimate?id=d868d10768d15d7ab6ff24e7e1f34a8dd1c2f700

okay we have decided to use app runer closing this


getType() and toggleMute() not working

getType() returns undefined, toggleMute() does not work.

I'll take a look, thanks for letting me know ;)

Sure thing :)


Events and indexing

Emit events so that an indexer can calculate sum total of all attack or shield amounts, and other metrics for display

Closing this now, let's move all discussion to indexer repo


Can't open ModelEditor by Release over 19.1.503

Hello,
i'm testing with 19.1.60x and with 19.2.701  i can build an start the application without issues.
but its not possible to open Model Editor
I got everytime issue :
Type:       InvalidOperationException
Message:    The method can be called only for an instance that was created with the XpoTypeInfoSource(TypesInfo typesInfo) constructor.
Data:       0 entries
Stack trace:
bei DevExpress.ExpressApp.DC.Xpo.XpoTypeInfoSource.CheckDictionary()
bei DevExpress.ExpressApp.DC.Xpo.XpoTypeInfoSource.Reset()
bei DevExpress.ExpressApp.DC.TypesInfo.Reset()
bei DevExpress.ExpressApp.DC.TypesInfo.HardReset()
bei DevExpress.ExpressApp.Design.ModelEditor.EditorPane.CreateModelEditorController()
bei DevExpress.ExpressApp.Design.ModelEditor.EditorPane.PrivateInit(String fileName, ProjectItem currentProjectItem, IVsHierarchy pvHier)
InnerException is null
with 19.1.503 it works, i've Just update Xpand and Devexpress
one time issue was Rective or depency can'T found, but i've checked and after next restart of VS XPOTypeInfoSource issue comes again

is there a log next to the model?

This Description is out of Model log.
Sorry, but this is my problem. I find nothing

from this description I can only tell the is a mix in XPO Dictionaries, who create or use them is not known.

after upgrade to 19.2.301 i can open model editor successfully in Module, in Module.Win and Win i get
issue #609 in ModelEditor and on starting too

After i'm now succesfully can create new Project #614 i've got error by trying to open Model Editor.
What i've done.
Create new Expand based Projekt
Solution2.zip
I selected all Modules in XAF, same in Expand. Change Target net-Framework from 4.5 to 4.6.1 and
build Project.
Now i trying to open Model Editor and get following issue

When i try to open it with Devexpress Standalone ModellEditor i got following Message
Der Typeninitialisierer für "Xpand.Persistent.Base.General.XpandModuleBase" hat eine Ausnahme verursacht.
bei Xpand.Persistent.Base.General.XpandModuleBase..ctor()
bei Xpand.ExpressApp.Security.XpandSecurityModule..ctor()
bei Solution2.Win.Solution2WindowsFormsApplication.InitializeComponent() in C:\Workspaces\Testbereich\Solution2\Solution2\Solution2.Win\WinApplication.Designer.cs:Zeile 66.
bei Solution2.Win.Solution2WindowsFormsApplication..ctor() in C:\Workspaces\Testbereich\Solution2\Solution2\Solution2.Win\WinApplication.cs:Zeile 30.
bei Create_Solution2WindowsFormsApplication()
bei DevExpress.ExpressApp.Utils.Reflection.TypeData.CreateInstance(Object[] args)

I can open the models in your solution with both ModelEditors with no error although I am not sure we are on the same version as I had to set the Specific Version to False in order to compile.
Is there any log in path (both model,bin)

Model.log
eXpressAppFramework.log

Closing issue for age. Feel free to reopen it at any time.
.Thank you for your contribution.


after delete items in the last page of StatefulTable, show empty

we are using
<EMAIL_ADDRESS>deduped
| +--<EMAIL_ADDRESS>StatefulTable
There are 2 pages of data, I enter page2, and click all the items on page2 one by one, use toolbar action to delete the selected items, after that, the table show empty, but it is not really, it is just page2 has no data.
The expected behavior is either show previous page, or show current page has no data, and show the pagination.

Hi @yanzhe2017. From  the issue description is sounds like you are pulling in the carbon packages in addition to the carbon-addons-iot-react package. This may have unintended consequences. I would suggest removing those packages from your project.

Hi @yanzhe2017. From  the issue description is sounds like you are pulling in the carbon packages in addition to the carbon-addons-iot-react package. This may have unintended consequences. I would suggest removing those packages from your project.

I have removed carbon-components, only use carbon-addons-iot-react, same behavior, I have 3 pages of data, after I remove the items on the page3, the table show empty message, but it should mean No data in current page, instead of No data for all the table.

I have removed carbon-components, only use carbon-addons-iot-react, same behavior, I have 3 pages of data, after I remove the items on the page3, the table show empty message, but it should mean No data in current page, instead of No data for all the table.

The expected behavior is either show previous page

This can be achieved by placing a unique key on the Table and changing it when items are deleted. This will regenerate/recreate the component.
Alternatively you can change the pagination props yourself (to go to the previous page) in the callback that is called when delete is clicked. I believe the callback would be onApplyBatchAction.

The expected behavior is either show previous page

This can be achieved by placing a unique key on the Table and changing it when items are deleted. This will regenerate/recreate the component.
Alternatively you can change the pagination props yourself (to go to the previous page) in the callback that is called when delete is clicked. I believe the callback would be onApplyBatchAction.

I revisit this issue, I think this is a defect, in table implementation, if you find data is not empty, but current page is empty, you can just set page number as the first page.
In my application side, it is hard to track the current page number, the total page number, whether this is delete operation/add operation.

@yanzhe2017 Is this issue still valid? I believe this placeholder state has been updated recently.

I use latest version 2.146.0-next.69 and retry, still get the same error, when remove the last item in page2, there are no pagination bar, cannot change page to page1.

@davidicus @dianatran18 What should the expected behavior be here? It's simple to fix it by just keeping the pagination bar visible and staying on the empty page, but then it gets weird because the totals no longer match; however, that could be out of our control if they're passing in props and update pagination props and move back to the previous page may not be clear either...

If I'm on the last page, and delete the last 10 items, then shouldn't it update to the last 10 items available in the data set — which would be 81-90 of 90 items and only 9 pages of data? The pagination bar should update and reflect the total number of rows when things are added or removed.

If I'm on the last page, and delete the last 10 items, then shouldn't it update to the last 10 items available in the data set — which would be 81-90 of 90 items and only 9 pages of data? The pagination bar should update and reflect the total number of rows when things are added or removed.

@kevinsperrine Maybe we should just refresh the entire element on delete to get this result.


Add option to use custom transitions for backgrounds

This PR implements: https://github.com/coppolaemilio/dialogic/issues/1826
It will allow for the background event to use custom transitions using a custom wipe texture or shader.
In order to allow overriding of shader parameters, i think that https://github.com/coppolaemilio/dialogic/issues/1882 is a blocking issue. Once that issue has been resolved, it should be feasible to use it to add override values for shaders fairly easily.

closed in favor of https://github.com/coppolaemilio/dialogic/pull/1942


CB-14213: Removed master group check in RDS config for ProfilerAdmin and ProfilerMetrics.

As Data catalog team is planning to add the Profiler Manager service into SDX blueprint. And it can be possible that the service can be part of GATEWAY/MASTER instance. We don't want to restrict it to the master node only.
Testing:

I have done the testing by adding the profiler manager service into the GATEWAY instance of Medium DUTY SDX cluster, it worked.

unit test!

unit test!

@doktoric, ProfilerAdminRoleConfigProviderTest.java and ProfilerMetricsRoleConfigProviderTest.java are already there for master group itself. So didn't add any unit test specifically for this change.
If you still recommend to add, is it fine to add another sample blueprint with a different instance group and add the unit test?

unit test!

@doktoric, ProfilerAdminRoleConfigProviderTest.java and ProfilerMetricsRoleConfigProviderTest.java are already there for master group itself. So didn't add any unit test specifically for this change.
If you still recommend to add, is it fine to add another sample blueprint specific to profiler only with a different instance group and add the unit test?

please add a specifc example where this service is not presented on the master group

can you please squash together the two commit into one ?


opencontrail: add routing table in Contrail metadatas

This commit adds the Contrail routing table in the Contrail metadata
of a node. It relies on the Contrail binary rt to be notified on
route updates.

cc @eonpatapon

run skydive-cdd-overview-tests

run opencontrail-tests

All of your comments have been fixed.

run opencontrail-tests

run opencontrail-tests
skydive-compile-tests failure is not related to this PR. It seems to be also the case of the skydive-cdd-overview-tests failure.

run skydive-cdd-overview-tests

run skydive-compile-tests

run skydive-opencontrail-tests


For Final demo

Demo Use case

data set registration ( Just explanation,  not implement UI)

User can register a dataset name and a list of CIDs
User is granted DataRegisterNFT
The system checks the validity of CIDs in the backend and generates a list of only those CIDs that can be DLed.

data reference

Users can DL and check the data they are interested in
users can refer to the results of other people's reviews as well

review submission

Users can write and save reviews on datasets

Users are assigned a DataReviewerNFT

remaining TODO

Data registration

[ ] prepare DataRegisterNFT  (Proto)

data reference

[ ] integrate Front/Backend (Proto/william)
[ ]  view data and NFT UI (Proto)
[ ] view review result UI (Proto)
[ ] review response API  (william)
[ ] create CID DL  data-proxy  instance (kozayupapa)
[ ]  provide data-proxy url  on dataset API call  (kozayupapa)
[ ]  show DataDL button on UI (Proto)

review submission

[ ]  review store API  and write to Mongo  (william)
[ ] prepare DataReviewerNFT (Proto)
[ ] mint NFT to reviewer    (william or kozayupapa)
[ ]  review Edit/Post UI (Proto)
[ ]  show reviewer NFT on UI  (Proto)

data set registration ( Just explanation, not implement UI)
There are 3 stakeholders.
Users(data downloaders),
Verifiers(institutions verifying the data),
Uploaders(Data uploaders)
Us(An entity issuing the NFTs, we can say it'll be permissionless in the future)

We mint NFTs for Verifiers
We mint identities for datasets uploaded by Uploaders

data reference
We give Users reports and CIDs by Verifiers and Uploaders respectively.

Review submission
Verifiers can write and save reviews on datasets

Data registration

[ ] prepare DataRegisterNFT (Proto)

data reference

[ ]  integrate Front/Backend (william)
[ ]  view data and NFT UI (Proto)
[ ]  view review result UI (Proto)
[ ]  review response API (william)
[ ]  create CID DL data-proxy instance (kozayupapa)
[ ]  provide data-proxy url on dataset API call (kozayupapa)
[ ]  show DataDL button on UI (william)
review submission
[ ]  ~ review store API and write to Mongo (william) ~
[ ]  prepare DataReviewerNFT (Proto)
[ ]  mint NFT to reviewer (william or kozayupapa)
[ ]  show reviewer NFT on UI (Proto)

Proto

[ ] Work on the all 3 NFTs and give the contract address to William
Verifiers NFT - We manually issue these NFTs to verifiers like University of Tokyo.
Dataset NFTs - NFTs that point to individual data sets
Report NFTs - NFTs that can be only minted by Verifiers NFT holders and will need to have Dataset NFTs in them as a mandotory field.
[ ] Design the Verifiers UI on Figma and give it to William

William

[ ] Implement the frontend to fetch data from FVM testnet Calibration
[ ] Implement Saturn download link on the frontend

Kozayu

[ ] Finish the work on Saturn and provide the download links to William


Add async BLS execution

[X] Use message queue for communication between the stub process and the main process
[X] Add bls async exec
[X] Fix automatic restart of the Python backend stub
[X] Fix multiprocess sync request execution.

Had to rebase to fix an intermittent segfault.


ARROW-16804: [CI][Conan] Merge upstream changes

We can automate this by ci/conan/merge_upstream.sh.

@github-actions crossbow submit -g conan


The latest deployment version does not support the two parameters of "presence_penalty"&"frequency_penalty" for the model "gemini-exp-1206"

A 400 error will be returned specifically for the model "gemini-exp-1206".
The flash model "gemini-2.0-flash-exp" is functioning correctly.

Therefore, *penalty arguments are not supported for that model.
Unfortunately this is beyond our control.


Add support for sysprep customization templates

This adds support for sysprep customization templates.
Attempts to address https://github.com/ManageIQ/manageiq/issues/17288
This is a WIP for now because I'm not sure if we want to support this by default, or if individual providers should have to opt-in. And also because it needs more specs and UAT.

@gmccullough Please review

@gmcculloug I'm basically mimicking the cloud init code. I was hoping to use the cloud init specs to base my own specs off of, but there don't appear to be any. I've got a couple basic specs, though.
In any case, it appears to work. I was able to select the sysprep script I had created on the infra side, and the machine provisioned successfully.

@djberg96 The way this is currently coded you are enabling sysprep support for all cloud providers.  You mention testing but can you clarify what providers you tested this on.  I'm concerned about enabling on all providers, including any potential future providers.
Definitely would be good to add tests around allowed_sysprep_customization_templates.

@gmcculloug the individual providers can disable it in their ProviderWorkflow subclass. Also, I would assume most users know what they're doing and aren't going to accidentally sysprep something that can't be sysprep'ed.

I understand what you are saying, but we should, to the best of our abilities, only provide viable options to the end user.  For example, we know the OS of the image from either the provider inventory data or from Smate-State data.  Therefore we should only show Sysprep items to Windows Images.  The CloudInit logic you built this from did not have to filtering them out since it is available on both Linux and Windows.
Also, still curious where the testing was performed?  If you want to enabled Sysprep at this level will you be making followup PRs to the providers were we do not currently support passing sysprep?  It would be good to link those PRs to this one.
cc @bronaghs

@gmcculloug I would be surprised if cloud-init worked on Windows. It would require 3rd party software wouldn't it? Perhaps it would depend on the provider. Maybe I'm missing something.
I definitely need help with the testing because I'm just not sure how other than to successfully provision an instance from a sysprep'ed image. Once you sysprep an image, it's essentially "generalized" so you can't log into it any more to check it. Not as far as I know anyway.
As for the other providers, I wasn't planning on going through them all explicitly, as I guess I figured for most of them it would "just work" for Windows VM's, and we could disable on an as-needed basis.
I'll look at filtering to see if we can restrict based on image type.

We can definitely help with specs for this, I can work with @syncrou on getting something in place for the existing CloudInit that you can work off of.  For this code change we would want to validate the workflow code, no need to go to the depth of validating a provisioned instance.  That is way out of scope of these changes.  Think unit testing, not integration testing.

As for the other providers, I wasn't planning on going through them all explicitly, as I guess I figured for most of them it would "just work" for Windows VM's, and we could disable on an as-needed basis.

This gets to the core of my concern.
@blomquisg Who from the providers team is best to address the question about what providers even support passing Sysprep data?  Then we would need to evaluate if we have actually enabled passing it to the provider.  My guess is that it is no just going to be functional without additional code changes to the provider repos.  Based on that feedback we should be able to make an informed decision on this being enabled by default at the code workflow or per-provider.

@bronaghs Well, based on https://access.redhat.com/documentation/en-us/red_hat_cloudforms/4.6/ it's supposed to be supported for Amazon, Azure, VMWare, RHOS and RHV.

This change is widespread across cloud providers, so that is the scope my comment pertains to, so my suggestion is to add support fo Azure first and then Amazon as a separate effort.

@djberg96 Specs for allowed_customization_templates were added in PR https://github.com/ManageIQ/manageiq/pull/17477 which you can use as a reference here.

@djberg96 Looks like the only travis failure now is due to the use of casecmp? in the mixin which is not in Ruby 2.3.

@gmcculloug Yep, forgot about the windows check originally, then forgot that casecmp? isn't supported in Ruby 2.3.x.

@gmcculloug @bronaghs I've modified the code so that sysprep support is disabled by default. It would be up to the individual provider subclasses to enable it. So, that will be a separate, small PR for Azure.

@gmcculloug @Fryguy Do we want this backported at all or not?

As an enhancement it typically would not be back-ported.


Missing python model script in train.sh

Command: singularity run /software/improve/images/IGTD.sif train.sh 0 /tmp --help
Output: No such file “/usr/local/bin/train.py
Pointing to a non-existent train.py in train.sh.

I assume the correct name is IGTD_train_improve.py
@adpartin @zhuyitan Will change the name.

@wilke I think you're right. @zhuyitan can you confirm?


iOS - SORA Card Referral Program

As a SORA Card user I want to invite people to order and use SORA Card so that I can help grow the ecosystem and get rewarded for helping grow the ecosystem.

Requirements from BO:
Referral link needs to stick to a certain accountReferee and referral each receive EUR 40 worth of XOR when:- referee passes KYC AND- referee does at least EUR 1000 volume XOR <> EURWhen the criteria are fulfilled, both the referree´s balance and the referrals balance should automatically receive EUR 40 worth of XOR from a SORA wallet.
Design:- can we have a Twitter campaign where users can share their referral link in a standard template with or without design?
Aha! Link: https://soramitsucoltd.aha.io/features/SORANEO-695

hey is this still relevant or not and when are we planning such implementation?
let's move the task status as a feature

@Trezeguet1 assigned to @bgodlin . This needs to be included in a release to determine prioritisation.


Remove the need to build Kani with --workspace

Description of changes:

This depends on a feature?/bug fix? that will land in stable Rust in 1.64 (released in a month on Sept 22). It works for us now because we're pinned against a nightly Rust that now includes the patch.
This might slightly reduce the over all "load" in CI, but I doubt it will decrease CI times by very much. The current critical path is macos-11 regression, and I believe that there we only save the build time of "bookrunner" and "make-kani-release" and nothing else. Hmm, maybe saving a "rebuild" of library/kani as well maybe.

Resolved issues:
Call-outs:

Testing:

How is this change tested? ci

Is this a refactor change? sorta

Checklist

[ ] Each commit message has a non-empty body, explaining why the change was made
[ ] Methods or procedures are documented
[ ] Regression or unit tests are included, or existing tests cover the modified code
[ ] My PR is restricted to a single feature or bugfix

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

If that feature lands, shall we also deprecate --workspace from cargo kani?

If that feature lands, shall we also deprecate --workspace from cargo kani?

I don't think we should, because users may still want to compile their entire workspace (and not just the default members) with Kani. Note that this PR is only concerned with how Kani itself is built, and not how it is used to compile packages.


zoom in/out doesn't work for both Ctr -/+ keys

Short keys used for zoom in/out are
Linux/Windows - CTRL+ for zoom in, CTRL- for zoom out
zoom in/out should work for both -/+ keys of keyboard(in case keyboard have two keys for -/+).
They have different key code as they are different keys(ex. for - 109 and 189), so we have to set event for both key codes.
More discussion about this issue here.

Look at the code for zoom functionality - here. Electron doesn't support numpad hotkeys -
https://github.com/electron/electron/issues/3332. Ideally, this should be fixed in electron. Can you submit the same issue there?

To fix this here, we need to listen for keydown event in preload.js. I have a macOS keyboard so can't work on this.

So now the shortcuts in Linux/Windows are:
Ctrl + +/=  for zoom in
Ctrl + -/_ is for zoom out and
Ctrl + )/0 is for zoom reset


Feature/abiotic monthly dummy

After we decided as a group to focus on a monthly time step for all modules, here a draft of the abiotic_simle_model that omits any process-based functions but is purely based in simple regression from field data.
I would appreciate comments on the simple_regression.py submodule and corresponding tests (they passed until the new grid config was implemented, so this will need updating in the next iteration). Tests are very simple, initially to check that the new coordinate system works correctly, but not much is tested for exceptions. I intend to add that, comments and suggestions are very welcome.
Due to ongoing changes in the core, especially the new time update and the configuration of the grid, the AbioticSimpleModel and associated tests and files are incomplete and inconsistent, so please ignore for now.
I assigned you all as reviewers so you can see how I envisaged the vertical structure and how you could access certain info (like soil temperature etc). Don't feel like you have to comment with lots of detail.
Type of change

[x] New feature (non-breaking change which adds functionality)
[ ] Optimization (back-end change that speeds up the code)
[ ] Bug fix (non-breaking change which fixes an issue)

Key checklist

[ ] Make sure you've run the pre-commit checks: $ pre-commit run -a
[ ] All tests pass: $ poetry run pytest

Further checks

[x] Code is commented, particularly in hard-to-understand areas
[ ] Tests added that prove fix is effective or that feature works

I've only reviewed the simple_regresion module, mostly focused on suggestion to make the code much shorter, concise and to exploit better existing numpy and xarray functionality. None of my suggestions (I think) change the logic of what the code does.
Also I think this PR should be split in two (at least) one for the simple regression related code and another for the modifications to the adiabatic model. Otherwise, it is huge and hard to review.

Thank you for your detailed review, the comments are really helpful. A lot of the long and windy parts are results of how the code evolved and this will help to get rid of the old baggage.
I knew that it was too much for one PR which is why I only created it as a draft and added the comment to ignore the model part, I didn't expect so much feedback on it to be honest.
I now created a new branch for the simple regression which empty dummies for the files that are referenced, I will create a proper PR for this once it's ready and link to the conversation here. The model will follow once the changes to the basemodel are in develop.


No mouse horizontal scroll for the top panel

While having too many Primary Navigation Pages in the top panel (the one with a black background  that appears on Posts/pages and on the main index page while reaching a certain ScrollY value) the last ones just fades and are impossible to access.
Same behavior on Chromium and Firefox but it's working fine on mobile ( tested on Brave on Android ). where you can still scroll.

Edit : I'm able to make it scroll when it has focus with the arrow keys, or by selecting the texts and continuing the motion to the right ( and left to go back ) but I don't think that's the intended way to do it.

@StitiFatah: This repo uses the original Ghost style sheets, and this also doesn't work in the original Ghost theme as far as I remember. Thus it works "as designed". You can make your own fork of the repo and change whatever you like, but I don't want to deviate from the original here.

That's probably what I'll end up doing since I also want to add some features. For the theme it makes sens, I just thought you rebuilt it from scratch.


add clipping k

as definition of k_t from original BEGAN paper,

k should be clipped.
Or is there any reason for not clipping k value?

Hi.
You are rights.  I missed clipping part.
Thank you for your contribution.


[Snyk] Upgrade eslint-plugin-import from 2.27.5 to 2.28.1

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade eslint-plugin-import from 2.27.5 to 2.28.1.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 2 versions ahead of your current version.
The recommended version was released 21 days ago, on 2023-08-18.

Release notes

Package name: eslint-plugin-import

2.28.1 - 2023-08-18v2.28.1

2.28.0 - 2023-07-28v2.28.0

2.27.5 - 2023-01-16

    from eslint-plugin-import GitHub release notes

Commit messages

Package name: eslint-plugin-import

cd95728 Bump to 2.28.1
0847443 Revert 1fa2971 (breaking group change in `order`)
e9de30a [resolvers/webpack] v0.13.6
cd1dff7 Revert "[resolvers/webpack] [refactor] replace `lodash/isEqual` usage with `deep-equal`"
da71746 [resolvers/webpack] v0.13.5
22a0802 [resolvers/webpack] [deps] update `resolve`
1e81734 [resolvers/webpack] [refactor] replace `lodash/isEqual` usage with `deep-equal`
2c18c29 [resolvers/webpack] [refactor] remove `lodash/get` usage
b9b9c86 [resolvers/webpack] [refactor] switch to a maintained array.prototype.find package
2e7612f [Dev Deps] pin `jackspeak` since 2.1.2+ depends on npm aliases, which kill the install process in npm < 6
26ea4f8 [Docs] Add markdownlint
c704253 [resolvers/node] v0.3.9
559480d [resolvers/webpack] v0.13.4
10913e7 [resolvers] [*] [fix] restore node 6 compatibility
69fce5c [Tests] actually test non-babel’d packages without babel
0501367 [Docs] remove duplicate fixable notices in docs
7f7a9a6 [resolvers/node] v0.3.8
6f6f414 [resolvers/webpack] v0.13.3
95f9f00 [resolvers/webpack] [deps] update `semver`
4a75aaf [Deps] remove unused root dep
5209a43 [resolvers] [*] [deps] update `is-core-module`, `resolve`
132a433 [Deps] update `is-core-module`, `resolve`
a257df9 Bump to 2.28.0
600fcc1 [Refactor] `order`: use `object.groupby`

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

coverage: 98.802%. remained the same when pulling e1c052b999c64e23156780851cdcc5e6e8ba34ce on snyk-upgrade-9a51f32afb334c751f94c15440438f38 into f01633a2ec5c826ea6b221bbcad7d4cf2cf76de7 on main.


chore(RHTAPWATCH-1237): Reorganize functional and unit tests

Since functional tests BeforeSuite running all the tests separating the unit tests and functional tests in different packages.
Jira-Url: https://issues.redhat.com/browse/RHTAPWATCH-1237

@hmariset I've created another PR that can be also useful for your PR. Can you please rebase you PR on https://github.com/konflux-ci/workspace-manager/pull/73 and move the functional test for main to pkg/test/main-test ?


10.7 is considered "no browser" on O3DS but "browser" on 3DS

The page https://plailect.github.io/Guide/get-started-(old-3ds-usa) lists 10.7/Browser as using "Homebrew Launcher (No Browser)".
The similar New 3DS page at https://plailect.github.io/Guide/get-started-(new-3ds-usa) lists 10.7/Browser as being "Homebrew Launcher (Browser)".
I can argue that they should both say "Browser".  (Because the browser does work.)  I can also argue that they should both say "No Browser" (because if the browser ever connects to Nintendo the browser stops working and it is unlikely that this has not yet happened).  But it doesn't make sense that one says "Browser" and one says "No Browser".

because there is a New 3DS-only update bypass for 10.7+ I think.

Correct.


Replica choice bug fix

Replica choice bug fix
Changes
This PR fixes how we select replicas for token aware routing. The current implementation has a bug where it will choose a random host id from the replicas and then return that if it's up. We also should be prioritising the replicas in the same rack as Shotover which the current implementation doesn't do. This PR changes that by:

Finding all replicas that are up
Splitting into local (same rack) and remote (same datacenter). Shotover will not attempt to access nodes outside it's datacenter so we do not handle a case where a replica is in another datacenter.
Then we choose a random replica in the same rack, if exists. Otherwise choose one in the datacenter, if exists. Otherwise just perform round robin routing.

Testing
To test this I decided to accurately model a Cassandra cluster with 3 racks and a replication factor of 3. The data for that is in the new JSON file. I created it by:

Run the following docker-compose:

version: "3.3"
networks:
  cluster_subnet:
    name: cluster_subnet
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: <IP_ADDRESS>/24
          gateway: <IP_ADDRESS>

services:
  rack1-one:
    image: &image shotover-int-tests/cassandra:3.11.13
    networks:
      cluster_subnet:
        ipv4_address: <IP_ADDRESS>
    healthcheck:
      &healthcheck
      test: [ "CMD", "cqlsh", "-e", "describe keyspaces" ]
      interval: 5s
      timeout: 5s
      retries: 60
    environment:
      &environment
      CASSANDRA_SEEDS: "rack1-one, rack1-two, rack1-three, rack2-one, rack2-two, rack2-three, rack3-one, rack3-two, rack3-three"
      CASSANDRA_CLUSTER_NAME: TestCluster
      CASSANDRA_DC: dc1
      CASSANDRA_RACK: rack1
      CASSANDRA_ENDPOINT_SNITCH: GossipingPropertyFileSnitch
      MAX_HEAP_SIZE: "400M"
      MIN_HEAP_SIZE: "400M"
      HEAP_NEWSIZE: "48M"
    volumes:
      &volumes
      - type: tmpfs
        target: /var/lib/cassandra

  rack1-two:
    image: *image
    networks:
      cluster_subnet:
        ipv4_address: <IP_ADDRESS>
    healthcheck: *healthcheck
    environment:
      <<: *environment
      CASSANDRA_DC: dc1
      CASSANDRA_RACK: rack1
    volumes: *volumes

  rack1-three:
    image: *image
    networks:
      cluster_subnet:
        ipv4_address: <IP_ADDRESS>
    healthcheck: *healthcheck
    environment:
      <<: *environment
      CASSANDRA_DC: dc1
      CASSANDRA_RACK: rack1
    volumes: *volumes

  rack2-one:
    image: *image
    networks:
      cluster_subnet:
        ipv4_address: <IP_ADDRESS>
    healthcheck: *healthcheck
    environment:
      <<: *environment
      CASSANDRA_DC: dc1
      CASSANDRA_RACK: rack2
    volumes: *volumes

  rack2-two:
    image: *image
    networks:
      cluster_subnet:
        ipv4_address: <IP_ADDRESS>
    healthcheck: *healthcheck
    environment:
      <<: *environment
      CASSANDRA_DC: dc1
      CASSANDRA_RACK: rack2
    volumes: *volumes

  rack2-three:
    image: *image
    networks:
      cluster_subnet:
        ipv4_address: <IP_ADDRESS>
    healthcheck: *healthcheck
    environment:
      <<: *environment
      CASSANDRA_DC: dc1
      CASSANDRA_RACK: rack2
    volumes: *volumes

  rack3-one:
    image: *image
    networks:
      cluster_subnet:
        ipv4_address: <IP_ADDRESS>
    healthcheck: *healthcheck
    environment:
      <<: *environment
      CASSANDRA_DC: dc1
      CASSANDRA_RACK: rack3
    volumes: *volumes

  rack3-two:
    image: *image
    networks:
      cluster_subnet:
        ipv4_address: <IP_ADDRESS>
    healthcheck: *healthcheck
    environment:
      <<: *environment
      CASSANDRA_DC: dc1
      CASSANDRA_RACK: rack3
    volumes: *volumes

  rack3-three:
    image: *image
    networks:
      cluster_subnet:
        ipv4_address: <IP_ADDRESS>
    healthcheck: *healthcheck
    environment:
      <<: *environment
      CASSANDRA_DC: dc1
      CASSANDRA_RACK: rack3
    volumes: *volumes

Used the following Rust program to populate Cassandra and show me the tokens for each partition key:

use scylla::{Session, SessionBuilder};

async fn scylla_session() -> Session {
    let session = SessionBuilder::new()
        .known_node("<IP_ADDRESS>:9042")
        .known_node("<IP_ADDRESS>:9042")
        .known_node("<IP_ADDRESS>:9042")
        .known_node("<IP_ADDRESS>:9042")
        .known_node("<IP_ADDRESS>:9042")
        .known_node("<IP_ADDRESS>:9042")
        .known_node("<IP_ADDRESS>:9042")
        .known_node("<IP_ADDRESS>:9042")
        .known_node("<IP_ADDRESS>:9042")
        .user("cassandra", "cassandra")
        .build()
        .await
        .unwrap();
    session
}

#[tokio::main]
async fn main() {
    let scylla = scylla_session().await;

    let ks_query = "CREATE KEYSPACE IF NOT EXISTS demo_ks WITH replication = {'class':'SimpleStrategy', 'replication_factor': 3};";
    let table_query = "CREATE TABLE IF NOT EXISTS demo_ks.books_by_author (author text, title text, isbn text, published_year int, publisher text, category text, PRIMARY KEY((author), title, isbn));";

    let queries = vec![
        "insert into demo_ks.books_by_author(isbn, title, author, published_year, publisher, category) values ('978-8175993426', 'Anna Karenina', 'LeoTolstoy', 2015, 'Fingerprint Publishing', 'History & Criticism');",
        "insert into demo_ks.books_by_author(isbn, title, author, published_year, publisher, category) values ('978-1408855669', 'Harry Porter and the Chamber of Secrets', 'J.K.Rowling', 2014, 'Bloomsbury', 'Fantasy');",
        "insert into demo_ks.books_by_author(isbn, title, author, published_year, publisher, category) values ('978-1408855652', 'Harry Porter and the Philosoper''s Stone', 'J.K.Rowling', 2014, 'Bloomsbury','Fantasy');",
        "insert into demo_ks.books_by_author(isbn, title, author, published_year, publisher, category) values ('978-0007488308', 'Lord of the Rings: The Fellowship of the Ring', 'J.R.R.Tolkien', 2012, 'Harpercollins', 'Classic Fiction');",
        "insert into demo_ks.books_by_author(isbn, title, author, published_year, publisher, category) values ('978-1408855676', 'Harry Porter and the Prisoner of Azkaban', 'J.K.Rowling', 2014, 'Bloomsbury','Fantasy');",
        "insert into demo_ks.books_by_author(isbn, title, author, published_year, publisher, category) values ('978-0007488346', 'Lord of the Rings: The Return of the King', 'J.R.R.Tolkien', 2012, 'Harpercollins', 'Classic Fiction');",
        "insert into demo_ks.books_by_author(isbn, title, author, published_year, publisher, category) values ('978-0007488322', 'Lord of the Rings: The Two Towers', 'J.R.R.Tolkien', 2013, 'Harpercollins', 'Classic Fiction');",
        "insert into demo_ks.books_by_author(isbn, title, author, published_year, publisher, category) values ('978-1977066053', 'The Adventures of Tom Sawyer', 'MarkTwain', 2012, 'Amazon', 'Drama & Plays');",
        "insert into demo_ks.books_by_author(isbn, title, author, published_year, publisher, category) values ('978-1544712048', 'The Mysterious Stranger', 'MarkTwain', 2012, 'Amazon', 'Drama & Plays');",
        "insert into demo_ks.books_by_author(isbn, title, author, published_year, publisher, category) values ('978-8175992832', 'War and Peace', 'LeoTolstoy', 2014, 'Fingerprint Publishing', 'Classic Fiction');"
    ];

    scylla.query(ks_query, ()).await.unwrap();
    scylla.query(table_query, ()).await.unwrap();

    for query in queries {
        scylla.query(query, ()).await.unwrap();
    }

    let rows = scylla
        .query(
            "select author, token(author), title from demo_ks.books_by_author;",
            (),
        )
        .await
        .unwrap()
        .rows
        .unwrap();

    for row in rows {
        println!("{:?}", row);
    }
}

Find out which node got the tokens with the following command:

docker exec rack1-one nodetool getendpoints 'demo_ks' 'books_by_author' 'J.K.Rowling'

Follow-up
This PR doesn't add support for getting the replication factor from the keyspace schema, it's still manually specified as 3 for the tests and 1 outside of the tests. The followup PR (#895) implements that.

The implementation seems reasonable.
The test seems like its very close to being an integration test considering we generate all this data from an actual cluster but then hardcode it.
Can we turn it into an integration test or add a separate integration test?


error saving stellar client on mac

Operation not permitted on /Users/rob/.config/jumpscale...

new issue to track the saving stellar client on mac. that happened with @robvanmieghem

@waleedhammam probably fixable by chown on /Users/rob/.config/jumpscale

I checked the entire path and it was rob:staff

should be fixed by https://github.com/threefoldtech/js-ng/issues/182

works like a charm now