ActionMenu overflow when there are too many ActionList items

Description
Summary
As shown in the following screen recording, ActionMenu overflows when there are too many ActionList items and blocks users from selecting items in the hidden part of the list.
https://github.com/primer/react/assets/18643/b9dc539d-5afe-43d5-bcb3-2ac334f43425
In the regular HTML select element this doesn't happen because the menu renders over the browser window. ActionMenu is, OTOH, a React component which cannot be rendered over the browser window. To mitigate this issue, there should be a scroll bar on the right side of the list so users can view and select all items regardless of the number of the items in the list.
This was originally reported in https://github.com/github/helphub/issues/4215.
Steps to reproduce
See https://ghe.io/lowply/action-menu-example/blob/main/src/ActionMenuComponent.tsx
Version
v35.26.0
Browser
Safari

I would like to work upon this issue

@lowply The steps to reproduce is redirecting to github enterprise, can we have to available with out redirecting to github enterprise

Hi @lowply, How do you feel about using SelectPanel instead? It has better UX (like search) for long lists

@amareshvarma Can you see this? https://lowply-org.github.io/action-menu/
@siddharthkp Thanks for the idea! TIL about SelectPanel and I like its scroll UI and filtering functionality. However in our use-case we can't have the selectable items - we need out users to jump to a certain URL when they click an item in the pull-down menu.

@lowply can you share any more information about how you're using the ActionMenu, and what you would expect for this experience to be for a user utilizing assistive technology like a screenreader?
If it's a long list of items, we were wondering how you were thinking about making sure the UX of selecting an item was not too much trouble.

@lesliecdubs Hi 👋🏻 Please see https://github.com/github/helphub/issues/4215 for more context about this issue. Feel free to ping me on Slack if you have any other questions!

I'm wondering if a SelectPanel would make more sense for this use-case. The filtering behavior would make it easier to select from a long list of options.
Either way, I think that the height of our overlays should max out at the height of the viewport and then scroll vertically within the overlay. @lesliecdubs - should we create a Primer React issue to support that behavior?

Thanks for jumping in @mperrotti. SelectPanel was also Sid's initial suggestion, but it doesn't currently support the desired functionality (https://github.com/primer/react/issues/3486#issuecomment-1668702967) which was having SelectPanel items direct to a URL upon selection; is that something we might want to explore supporting?
Regardless, the suggestion of maxing out overlays at the height of the viewport makes sense to me as a general optimization to guard against this type of overflow behavior. I created an issue here: https://github.com/primer/react/issues/3648, feel free to edit and add more details.

@lesliecdubs - should we close this in favor of https://github.com/primer/react/issues/3648?

@mperrotti good call, closing in favor of #3648. Feel free to follow along with progress there!

Reopening as @strackoverflow has taken a look at this but we may need more work to address #3648 overall. More to come.


fail to transfer HBAR to new evm address and latest gas price does not work

Description
I tried to do an HBAR transfer(sendTransaction) in Metamask to a new EOA i.e. an Ethereum(ECDSA) account that has not yet been instantiated on Hedera, but that transaction failed with INVALID_CONTRACT_ID.
I wrote a simple test script to demo the issue and noticed another issue with the gasPrice. Using the latest gasPrice from eth_gasPrice is insufficient but 100x of the gasPrice works.
Steps to reproduce

Checkout to the branch in this PR
Run the test:th:testnet script: npm run test:th:testnet
Observe that only 1/4 test cases succeeds specifically:

CAN transfer to existing account at 100x gas price

All other test cases fail:

CANNOT transfer(but should) to existing account at current gas price
CANNOT transfer(but should) to new account at current gas price
CANNOT transfer(but should) to new account at 100x gas price

Additional context
No response
Hedera network
testnet
Version
relay/0.17.0-rc1
Operating system
None

Hi @georgi-l95 thanks, I've been able to confirm that sendTransaction to new accounts works on previewnet, however the gasPrice issue also exists on previewnet.

@mshakeg Okay thank you, we'll take a look at the gasPrice issue.

@mshakeg In the example, you've provided, you're loading the provider via ethers.getDefaultProvider() which returns a FallbackProvider. The FallbackProvider.getGasPrice() method returns Ethereum's main net gas price. In order to make the example workable, you can initialize an ethers json-rpc provider instead.
export async function getGasPrice(): Promise<BigNumber> {
  // const defaultProvider = ethers.getDefaultProvider();
  const defaultProvider = new ethers.providers.JsonRpcProvider(process.env.RELAY_ENDPOINT);
  return defaultProvider.getGasPrice();
}

@natanasow you're right, alternatively you can also get the provider for the active hardhat network without having to explicitly load the relay URL(other than in your hardhat config) using:
const activeNetworkProvider = ethers.provider;


Enable passing of additional arguments to UglifyJS

Hi! This simple patch adds support for passing command-line options to the uglifyjs binary, via a new UGLIFY_EXTRA_ARGS setting. I tried to code this consistently with the way arguments are handled in other filters.

Thanks!

Thank you for accepting this, and for all your excellent work on webassets! I really appreciate it.


Image generation improvements

Once again, a mix of various changes in this pull request. The main goal was to be able to generate the image without any input from the user, which is mostly done after this series. The pull secret is passed through an environment variable. This also changes the name of the generated VMs  from 'test1' to 'crc', and even makes it configurable.

/hold (need extra testing)


ledger-tool: Set initial last full snapshot slot

Problem
ledger-tool does not set the initial last full snapshot slot for AccountBackgroundService. This could produce invalid incremental snapshots. Ones that are missing zero lamport accounts. In the full snapshot these accounts would still have non-zero lamports, and thus would be resurrected on startup. This is bad.
Summary of Changes
Set the initial last full snapshot slot.

we have to revisit this idea when clean/shrink can get rid of single ref zero lamport accounts.


Add the splitWith operation to SeqDecorator

Relates to #241. This pull request adds the first of the two proposed methods.
There is still some bikeshedding to do before merging, I will comment when it's ready, but please comment!
Greetings from the Scala Center FLOSS Spree at Scala.io 2017!

Okay I updated the pr, ready for comments.  The things I don't like:

we have to duplicate the Generators in the test because the scalacheck subproject does not cross-compile

splitWith currently works only for Seq types, it would be nice if for example String would be supported as well

Thanks @markus1189! I’ll try to find some time to address the issues you raised.

@julienrf I'm happy to do more work as well, If you could give me some pointers

The decorator doesn’t work on String values for two reasons:

String is not a collection, it needs to be implicitly converted to a StringView to become a collection, but since our decorators also require an implicit conversion to be applied, we have to apply two implicit conversions in a row, which is disallowed by the type system. We could circumvent this issue by taking the implicit conversion to a collection as an implicit parameter of the implicit conversion to the decorator.
StringView doesn’t conform to the upper bound of the SeqDecorator implicit conversion parameter type: CC[X] <: SeqOps[A, CC, _]. StringView is an IndexedView[Char], which is a SeqOps[Char, View, _] (whereas we need it to be a SeqOps[Char, IndexedView, _]).


Bump LLVM to v11 in Brewfile

Followup to #9829.
Btw, there's no llvm@10 (right now).

It's better to use llvm@9 and enable the circleci test_darwin again. Ref: #10220

It's better to use llvm@9 and enable the circleci test_darwin again. Ref: #10220


Dose  infe  support objective-c  quandary

I  am analyzing  some   ios  projects，I  hope    find  some   taint flow  from  the  source code，Is  quandary    available  for   quandary ？

You should be able to run Quandary on Objective C code but there are very few source/sink models for iOS mobile code at the moment. If you know about common source and sinks for iOS, we can investigate adding them to the list of models.

Please discuss quandary for iOS on #965, which sounds like the same question.

@jeremydubreil
Thanks  for your reply. I read question on
https://github.com/facebook/infer/issues/965 ,my question is roughly the same as him. If you customize the rules, is it the same as Cpp's name in the .inferconfig configuration file ?  How to name the procedure property  of ios surce and sink in .inferconfig?Is it available ?

@grip3, yes this is an example in C++, but it should also work for Objective C: https://github.com/facebook/infer/blob/9e048c11f86a844f6b0505681e3b614132de3568/infer/tests/codetoanalyze/cpp/quandary/.inferconfig#L34

@jeremydubreil
Hi,According to what you said, I have a simple class and defined the source and sink
t, but like the problem 965, I did not analyze the result. This is the class and inferconfig that I simply constructed. Is it wrong?
@interface Test : NSObject
+(int)source:(int)a;
+(void)sink:(int)param;
@end
@implementation Test
+(int)source:(int)a{
return a;
}
+(void)sink:(int)param{
}
@end
void call() {
int  source = [Test source:10];
[Test sink:source];
}
The.taint config is:
"quandary-sources": [
{
"procedure": "Test::source",
"kind": "Other"
}
],
"quandary-sinks": [
{
"procedure": "Test::sink",
"kind": "Other",
"index": "1"
}
]
When I execute the command line"infer  -- clang -c test.m
the out is:egend:
"F" analyzing a file
"." analyzing a procedure
"C" analyzer crashed
"T" timeout: procedure analysis took too much time
"S" timeout: procedure analysis took too many symbolic execution steps
"R" timeout: procedure analysis took too many recursive iterations
F...
No issues found
Why? there is path bewween source and sink


Crash server

Sometimes server crash. I let server crash log here if it can help, but i think that i happend when throw an item into lava.
http://pastebin.com/xfPXBsKi

I can't replicate it, are you not using SportBukkit?

#511 Download this version of sportbukkit: https://repo.oc.tc/content/repositories/snapshots/tc/oc/sportbukkit/1.8-R0.1-SNAPSHOT/sportbukkit-1.8-R0.1-20150414.070927-20.jar
You are using an old version of Sportbukkit


Bump tendermint-rs dependencies to 0.23.8

Closes: #2455
Related: #2444
Description
Bump tendermint-rs dependencies to 0.23.8

PR author checklist:

[x] Added changelog entry, using unclog.
[ ] Added tests: integration (for Hermes) or unit/mock tests (for modules).
[x] Linked to GitHub issue.
[ ] Updated code comments and documentation (e.g., docs/).

Reviewer checklist:

[ ] Reviewed Files changed in the GitHub PR explorer.
[ ] Manually tested (in case integration/unit/mock tests are absent).

The e2e jobs are failing while building the Docker image for the relayer because it appears that the Ubuntu repository cannot be reached at the moment. Integration tests are working fine, so let's disregard these failures for now.


Copy/Pasted Express Route Configuration Doesn't Work as Documented

Bug Report
Current Behavior
I am trying to add a simple express route for a health check on my probot app. I was getting a 404 on my custom configuration, so I revisited the docs to see how to add the express route for this. Even when I overwrite my exported function with the example code from the documentation below, I still get a 404. How is this supposed to work? Are express routes supported?
module.exports = app => {
  // Get an express router to expose new HTTP endpoints
  const router = app.route('/my-app')

  // Use any middleware
  router.use(require('express').static('public'))

  // Add a new route
  router.get('/hello-world', (req, res) => {
    res.send('Hello World')
  })
}

  Welcome to Probot! Go to http://localhost:3000 to get started.

22:44:08.663Z  INFO probot: Forwarding https://smee.io/2xurzllqp8L84xa to http://localhost:3000/
22:44:08.664Z  INFO probot: Listening on http://localhost:3000
22:44:08.742Z  INFO probot: Connected https://smee.io/2xurzllqp8L84xa
22:44:09.424Z  INFO http: GET /probot/my-app/hello-world 404 - 4.36 ms (id=8b2c2cbd-bad5-4fce-bc49-7e604944a6ce)
22:44:11.912Z  INFO http: GET /my-app/hello-world 404 - 0.98 ms (id=fb8c57dc-a01f-49a0-85db-ce48369696e8)

Expected behavior/code
I would expect to get a 200 back in this case.
Environment

Probot version(s): tested 9.9.4 & 9.11.3
Node/npm version: tested v12.14.1 (npm v6.13.4) & v14.0.0 (npm v6.14.4)
OS: OSX 10.14.6

Possible Solution
N/A
Additional context/Screenshots
None

https://github.com/probot/probot/issues/1069
^ Seems like someone else was previously having the same problem. When I do an app.log within the block, it seems like it's ignored
$ cat ./lib/src/index.js
"use strict";
module.exports = (app) => {
    // Get an express router to expose new HTTP endpoints
    const router = app.route('/my-app');
    // Use any middleware
    router.use(require('express').static('public'));
    app.log('is this code running?');
    // Add a new route
    router.get('/my-app/hello-world', async (_req, res) => {
        res.send('Hello Worllkjkd');
    });
};
$ npx probot run ./lib/src/index.js &
23:14:47.463Z  INFO probot:

  Welcome to Probot! Go to http://localhost:3000 to get started.

23:14:47.513Z  INFO probot: Forwarding https://smee.io/2xurzllqp8L84xa to http://localhost:3000/
23:14:47.514Z  INFO probot: Listening on http://localhost:3000
23:14:47.607Z  INFO probot: Connected https://smee.io/2xurzllqp8L84xa

$ curl -I http://localhost:3000/my-app/hello-world
HTTP/1.1 404 Not Found
X-Powered-By: Express
x-request-id: a7737bd5-a1e4-46a2-a6a3-08b29d548b5a
Content-Security-Policy: default-src 'none'
X-Content-Type-Options: nosniff
Content-Type: text/html; charset=utf-8
Content-Length: 158
Date: Wed, 29 Apr 2020 23:15:12 GMT
Connection: keep-alive

Looks like the entire exported ApplicationFuntion is not executed until the bot has been set up and restarted. After that it works like intended.

I'm sure this creates confusion when you download the boilerplate, copy and paste the code and expect things to work without registering a Github App first, but that's not how it is intended to be used.

Is this documented somewhere? I already have QA and production versions of my github app that I created while being a superuser in my org, and I was trying to circle back and create a sane development environment for our other devs, so they can build and test any additions to our app. They won't be able to update the app configuration (e.g. the event endpoint) or install any github apps to our org. Thus I didn't want to share any configuration with the existing deployed environments. Is there an easy workaround or recommended setup for this?
It was frustrating to try add simple code like a health check endpoint and logging only to see them not run locally. I wasn't able to figure out how to test these without deploying, and there were no error messages telling me why my code wasn't running.

Is this documented somewhere?

No, but kind of implied in the way the Getting Started guide is written:

New project
visit localhost:3000 and do the setup
start developing

When it's not set up, you can't expect things to work imo. But feel free to open an issue if you think otherwise.

Is there an easy workaround or recommended setup for this?

Every dev can register a private app on their account (and install it on a dummy repo of theirs) when they do experiments and remove it when they are done.

Ok, so if I have a developer base within our org that is unfamiliar with
github apps and will only make minor changes occasionally (like once every
six months), they will likely have too high onboarding costs for the
workflow you recommended (i.e. having to register apps on their personal
account and going through the setup themselves). It would be more efficient
for them to just make the changes and deploy it to staging to test rather
than testing locally. Is there a way to improve the local development
paradigm for this use-case without much effort, even if it involves me
making a PR?
On Sun, Jul 5, 2020, 1:24 PM FoseFx<EMAIL_ADDRESS>wrote:

Is this documented somewhere?
No, but kind of implied in the way the Getting Started guide
https://probot.github.io/docs/development/ is written:

New project
visit localhost:3000 and do the setup
start developing

When it's not set up, you can't expect things to work imo. But feel free
to open an issue if you think otherwise.
Is there an easy workaround or recommended setup for this?
Every dev can register a private app on their account (and install it on a
dummy repo of theirs) when they do experiments and remove it when they are
done.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/probot/probot/issues/1197#issuecomment-653922037, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHSO6HWHLBFBD4XLGQ3TA3R2DAPBANCNFSM4MUJOVJQ
.

@hardboiled I am facing the same pain, trying to setup simple endpoints like health-check and the sample code does not work :(. I wish the error message would be thrown atleast.

This is really a gotcha because you don't even know that this is happening until you find this issue.

I agree that the console output should be much more clear that the app is in "setup mode" and that nothing will work until APP_ID and PRIVATE_KEY are configured.
The current message is easily overlooked:

Welcome to Probot! Go to http://localhost:3000 to get started.

And the logs about smee.io shouldn't be logged at all, we don't need to connect to smee in setup mode

22:44:08.663Z  INFO probot: Forwarding https://smee.io/2xurzllqp8L84xa to http://localhost:3000/
22:44:08.664Z  INFO probot: Listening on http://localhost:3000
22:44:08.742Z  INFO probot: Connected https://smee.io/2xurzllqp8L84xa

If anyone would like to start a PR, I'd be happy to review and give pointers. Otherwise I'll get to this, eventually

I agree that the console output should be much more clear that the app is in "setup mode" and that nothing will work until APP_ID and PRIVATE_KEY are configured.
The current message is easily overlooked

What should it say instead?

And the logs about smee.io shouldn't be logged at all, we don't need to connect to smee in setup mode
Is the (easier) solution to suppress the logs or not to connect to smee at all?

I'll be happy to work on it, where is the best place to start?

Instead of

Welcome to Probot! Go to http://localhost:3000 to get started.

How about it would say something like this

Welcome to Probot!
Probot is in setup mode, webhooks cannot be received and custom routes will not work until APP_ID and PRIVATE_KEY are configured in .env.
Please follow the instructions at http://localhost:3000 to configure .env. Once you are done, restart the server.


Feature Request: Access Recordings on SD

First of all, thanks a lot for the great work. I have a C200 running in HA very well.
Is there a way to access, download the recordings on the SD card of the Tapo C200? (right after motion is/was detected)
Or alternatively and maybe better to start a recording on HA side if motion is detected?
Currently there is the lack of feature in C200 firmware to directly record to ftp, cloud, ... instead if only to the SD card. So the SD card can be stolen and every record is away :-(
I know this request is normally more a todo for TP-Link to add the possibility in their C200 firmware, but maybe there is also a way within your HA-Tapo-Control. There are lot's of requests in the TP-Link forum but no progress so far...

Hello,
I would also love a way to get the videos out of SD card. It is possible to watch the videos via app so should be possible to do via API.
When someone discovers a way to download the videos by RE I will add it to Tapo library and then maybe also here when I figure a Home Assistant friendly implementation.
I am not doing RE myself to not break the TOS of Tapo.
Pytapo, library which I am using for this integration has a Feature Request opened here: https://github.com/JurajNyiri/pytapo/issues/4

In the mean time, you could record via Home Assistant instead, by using https://www.home-assistant.io/integrations/camera/ record service. Using automation trigger binary sensor, initiate recording.

In the mean time, you could record via Home Assistant instead, by using https://www.home-assistant.io/integrations/camera/ record service. Using automation trigger binary sensor, initiate recording.

Using the motion trigger and automation myself.
Tip that worked for me is to enable  Preload stream on the camera
and define lookback in the recording. This will start the record xx seconds before the motion event started
data:
  filename: '/media/movement_{{ now().strftime("%Y%m%d-%H%M%S") }}.mp4'
  duration: 10
  lookback: 10
entity_id: camera.camgar_mainstream

We are almost there and need help! More information at pytapo feature request.

This question is not about this topic, I wonder if this custom package works for the Tapo C100 cameras?, my doubt comes cuz in the description of this package don't said nothing about any exclusive Model type of Tapo cameras, and I like to know if someone have any experience with this Tapo model camera.
Thanks & I hope you can help me with this doubt

In the mean time, you could record via Home Assistant instead, by using https://www.home-assistant.io/integrations/camera/ record service. Using automation trigger binary sensor, initiate recording.

It do not work. Not it works, but the it freezes and give and continious error till HA restated. So this function us unuseful

Hello!
First, big thank you to @JurajNyiri for this awesome integration!
it works with the sd or hd stream provide with the TAPO integration camera.yourcam_hd, with the servoce camera.record of HA, i have video in .mp4 done, but i get this error in the log :
Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 2304x1296): unspecified pixel format Consider increasing the value for the 'analyzeduration' (10000000) and 'probesize' (5000000) options
Any idea please to solve this?
Thanks

@Electronlibre2012 there is an issue opened about this and its not this one. Please keep discussion on topic.

i'm checking the ts files in order to see if we can fix this... it seems that there are two streams, video and i suposse an audio stream, but my ffmpeg doesn't recognice the second stream codec...
[mpegts @ 0x5623237e0600] probed stream 1 failed
[mpegts @ 0x5623237e0600] Could not find codec parameters for stream 1 (Unknown: none ([144][0][0][0] / 0x0090)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from '2021-12-10 13_21_05.ts':
  Duration: 00:00:41.66, start: 1.934333, bitrate: 809 kb/s
  Program 1
    Stream #0:0[0x44]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuvj420p(pc, bt709, progressive), 1920x1080, 15 fps, 15 tbr, 90k tbn, 30 tbc
    Stream #0:1[0x45]: Unknown: none ([144][0][0][0] / 0x0090)

Chucking my thoughts on this in as well.  If this could open up recordings to be accessible via the "Media" interface in HA, similar to say how the reolink plugin works, that would be awesome!

I recently buy a tapo c200 cam and i would like to write a python script that download the local SD recorded videos after the alarm was triggered. I see that the function getMediaSession use the cloud password that involve that i need a paid plan.
So i just wanna ask you if there's any https request that for access to that local files and if there's any sort of webhook for trigger the event ?

I see that the function getMediaSession use the cloud password that involve that i need a paid plan.
That is an incorrect assumption. Cloud password is not used for cloud, just a different type of account (fully local).

So i just wanna ask you if there's any https request that for access to that local files and if there's any sort of webhook for trigger the event ?

No, check this thread and connected https://github.com/JurajNyiri/pytapo/issues/4 for more info.

This is now possible super easily via a script.
https://github.com/JurajNyiri/pytapo#downloading-recordings
Home Assistant way coming in the future.

This is now available in beta releases.

Awesome 👍 is there a way to download/synchronize those recording to local storage (on hassOs) ?

Not currently, you can play recordings on demand on the latest version 5.0.0. It will stay cached for 24 hours.

ok thanks @JurajNyiri , do you think this will be something doable in the future?

Hi @JurajNyiri! Thank you and your team for making Tapo cameras integrated very well in Hass.
May I know how I can use the Media Browser in Hass? I already tried re-adding my tapo cameras but I cannot fihure out how to access the media browser.

Hi, thanks for making this available for everyone. Just wondering if it is possible to run this on a NAS. I have an Asustor AS5202T and hope to run this script on my NAS for retrieving recordings stored locally on my Tapo C110 and C320WS.

https://github.com/JurajNyiri/pytapo#downloading-recordings might be better for your use case @pikajuicy especially if you are not already running HA.

Yes I plan to implement it.

Hello, I come to the news, to know if you still think that it will be possible?

Hi, I've been busy and haven't gotten to it yet. I will try to find some time soon, or if anyone else wants to open pr it is welcomed.

Media Sync is now available in https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/releases/tag/5.3.0.beta.1 .


Update setup.py

Needed to explicitly declare encoding on windows python 3.4.2.

Hi Justin,
Thanks for the fix! Would you mind adding
from io import open

to setup.py for python2 compatibility to this pull request?

Apparently this isn't enough for the module to work with python 3.4.2 yet, I'll need to work on the module itself. its complaining about xrange().
Expect more pull requests.

Thanks Justin.
xrange has become range in Python 3. One simple solution I could think of is something like
import sys
if sys.version_info.major >= 3:
    xrange = range

See my other pull request.


createComment function is not running

Hello,
I have a problem last at week. my users do not created new comment.
$youtrack->createComment($issue->id, $_POST['message']);
"Error for 'https://.myjetbrains.com/youtrack/rest/issue/-3/execute': 400: Command [] is invalid:Unknown command: Unknown command"

This will be fixed with the next release.

It's released now. Feel free to report any other bugs or changes.


Fix typos TROUBLESHOOTING.md

Please open another PR following our guidelines for contributing. The branch name is incorrect.


Add PPP LCP Extension support

https://en.wikipedia.org/wiki/Link_Control_Protocol
https://tools.ietf.org/html/rfc1570

Found an implementation of LCP parser written in go: https://github.com/hujun-open/zouppp/tree/master/lcp


Should be able to pass API keys as params rather than requiring them to be in the environment

It's just a bit annoying, I want to use this library in production and I currently store credentials not in the environment.
I think the ideal API is like all the AWS SDKs where you can either stick them in the environment OR pass them as params to the llm constructor.
I can do a PR for this if you're accepting PRs?

great idea. prs are def being accepted! will keep an eye out for it. at the same time, this is such a good idea im more than happy to work on myself if you dont have the time - lmk

Hmm so I just cloned the repo and I think the way you have it set up is that all of the executables (black, isort, mypy, etc) have to be installed in the system rather than any virtual environment. Would it be okay if I also switched to using poetry (https://python-poetry.org/) for dependency management? It's not perfect either, but it automatically sets up isolated venvs for you and the only difference is instead of running pip install foo you write poetry add foo etc and your global namespace doesn't get polluted.
No stress if not, realise this is quite bikesheddy!

merged in! thanks


[iOS] Fix getting Unicode executable path, fix error spam on start.

Fixes https://github.com/godotengine/godot/issues/68723
Fixes !configured and !classes.has(ti.inherits) error spam due to Ref<DirAccess> created before core type initialization.

Fixes !configured and !classes.has(ti.inherits) error spam due to Ref<DirAccess> created before core type initialization.

Does this fix #65772, or just some error spam but not the underlying issue?

Does this fix https://github.com/godotengine/godot/issues/65772, or just some error spam but not the underlying issue?

Probably not, it seems to be some side effect of attaching Xcode debugger, probably caused by the large number of warnings in the shaders.

Thanks!

Doesn't seem cherry-pickable easily for 3.x, the init code is somewhat different.
Could you make a dedicated PR so we can still fix #68723 in 3.6? Maybe together with #69334.


Improving tornado alerts with visuals

Visuals would help.  @fishcharlie in https://github.com/fishcharlie/AirportStatusBot has shown a way to get near-real-time weather radar dropped atop a features map. That might be worth pursuing, with the additional layer of the warning itself from the NWS geo field, which may not always be present. Need to figure out easy, FAST, low-memory ways to calculate centroids or bounding boxes or whatever to properly focus on the correct area. This could require async efforts and and multithreading on the existing server is probably not going to work well.
As with the nwstornado feed on Twitter, could include some text with hail, how it was detected, etc. Sometimes there's a community list that could be more helpful.
Also need to build alt text.

Let me know if you have any questions about how I did this!

Also need to build alt text

Really curious what you come up with here. Or even just what you are thinking about.
I was working on this recently. It's not an easy problem to solve (at least if you want the alt text to be high quality and descriptive).
I basically took an image of just the weather radar layer, and for each pixel took the color and converted that into the intensity at that point. Then I grouped the intensities together into different categories (extremely light, very light, light, moderate, heavy & extremely heavy). From there, I grouped them into directions from the center point (north, south, east, west). Then if the direction has > 95% of the pixels being transparent (ie. no reflectivity), I discard it. The remaining directions I get the highest intensity category from earlier, and build the alt text based on that. It doesn't really work the best tho.
I restarted the bot since the last image was posted. But once another image is posted I can show you an example of what alt text is generated. Right now it's only getting logged out on my server and not posted since I don't think alt text is very high quality.
I'm kinda considering trying to convert the pixel data into a GeoJSON object with polygons, and trying to analyze regions or entire storm cells as opposed to just doing it based on direction.
I think also I might need to write some alt text manually for some of these images and try to work backwards from there.

Alt-text wise, I'm not sure. The Twitter presentation (tornado indicated by radar, no hail expected) has text beside the map that should definitely go in the alt-text; hail and method of detection both seem likely to be present most or all of the time in a structured format.
There are some things in the bodies of at least some of the alerts that I might be able to split off with some reliability that should probably go in the alt text as sort of a map description by proxy, e.g. at least some of the time there's text like this included within a larger blob:

Locations impacted include...\nHilton Head Island, Bluffton, Rose Hill, Pritchardville, Sun City,\nCalawassie Island, Palmetto Bluff, Myrtle Island and Brighton\nBeach.

I can probably make a decent run at sampling that and now have a corpus of about 200 tornado warnings to work against, at least. That seems like an ideal description of the map itself, if I can pull it off.
////
On your airport stuff -- do you have any data showing the general path of the storm, and to what extent would that be relevant? Like, if the storm is headed northeast than it seems like you might want to focus on the weather pattern to the southwest because it's approaching. Or maybe you don't, because low-level stuff might be off-axis but still affecting flight operations. I don't know.

On your airport stuff -- do you have any data showing the general path of the storm, and to what extent would that be relevant?

I don't. I'm not getting any direct weather data beyond png tile images. I mean I could try to get them overtime and do some type of difference algorithm. Or use some other weather service. But not doing that now.

Maybe see if you can extract some basic stuff off the METAR? Just say, hey, thunderstorm reported, 3 mile visibility, clouds at 5,000 feet, winds at 23mph? It wouldn't quite describe the image, but it's trying to describe the reality the image is trying to describe, if that makes any sense ...
Not sure if there's an official API, but appending the airport abbreviation here seems to work:
https://aviationweather.gov/cgi-bin/data/metar.php?hours=0&order=id%2C-obs&sep=true&ids=
e.g.,
https://aviationweather.gov/cgi-bin/data/metar.php?hours=0&order=id%2C-obs&sep=true&ids=KDEN


[HOLD for payment 2023-06-07] [Group 1][Accessible Pressable] Migrate BaseTextInput

HOLD on https://github.com/Expensify/App/issues/16988
Description
Migrate BaseTextInput to use PressableWithoutFeedback

Triggered auto assignment to @MitchExpensify (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero process steps for feature requests for more details.

Can you assign me to this one?

I'm confused on who is owed payment here @aimane-chnaif, mind pointing me in the right direction?

Actually Software Mansion 😄  , but yeah I'm agency member, so only compensation for internal PR review here @MitchExpensify

Thanks for pointing me in the right direction everyone! I've invited you to this job for payment @aimane-chnaif https://www.upwork.com/jobs/~01036d4f6398bb1d52
Thanks for you patience 👍

Paid! Closing. Thanks again!


Use Muti-Thread to update the link

When rename or move a folder，if the folder has too many files，the process of fixing consistent is very slow，and CPU utilization is slow too
Can this plugin use muti-thread to accelerate the work？
By the way，this plugin is very useful，thank you for your work

async/await is already used for those operations, I don't think we can do much more


Homework/Assignment/Assessment 2

Homework 2

Metric
Value

alert_status
:white_check_mark: OK

bugs
0

code_smells
17

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0


How to evaluate the algorithm after training?

Hi,
I can't find the evaluate.py file to evaluate the algorithm after training!  in Appendix D1: "At test time, to specify a goal g for the policy, we set the first two state dimensions (which correspond to the x-y coordinates) to the target goal given by the environment and the remaining proprioceptive state dimensions to those of the first observation in the dataset. "

Hi 007lbx, here is the evaluation file.


Not working anymore?

This is my favourite extension that I cannot live without, as it allows me to find which song is the original by the released year, and know which songs are likely to be sad/happy. I just noticed today that it isn't displaying any new songs. haven't updated spotify or spiceify. Not sure if it's only just me or if the spotify scraping stuff has changed?

nevermind!! It's working again (so happy)

Actually, it's stopped working again... has anyone else experienced this?

Still works for me, it could be possible that spotify has a rate limit for the used endpoint, so when you load many songs in a short time, the tool may be not working for a few minutes. If it is completely not working anymore for you, please start spotify with developer options and send me the logs from this extension


Manager API - Edit Menu

Done when data for a specified meal item can be changed

1hr: wrote methods to do this

1 hr: Pair programming with peter


Indexing strings uses code points rather than grapheme clusters

Example code:
i = '👨👨👦👦c'.indexChar('c')
print 'Found char at {i}.' -- Found char at 7.

Indexing strings based on codepoint doesn't really make sense with regards to how unicode is actually rendered and I think it would be a shame to bake these semantics into the language. Yes this is how Python and many other languages have built their string APIs, however some languages such as Swift seem to have taken a somewhat different approach that makes doing the wrong thing in the presence of unicode a lot harder. See this blog post for an overview: https://www.mikeash.com/pyblog/friday-qa-2015-11-06-why-is-swifts-string-api-so-hard.html
I'm not trying to tell you how best to design your language or anything like that, I just want ensure you are aware of the tradeoff here.

I agree, strings needs to be redesigned. First of all, it doesn't make sense to call each codepoint a character when there is a grapheme cluster. Second, making it too easy to do strings ops can have a large impact on performance without the user knowing what is happening. So a tradeoff needs to be made.
One idea is that internally the strings types still have this ascii and non ascii distinction. In the case of the ascii, you get all these fast ops. And for the non-ascii, it behaves more like swift where only basic ops are allowed. For additional ops you would need to create a new view over it.


Nginx ingress with https

The nginx ingress don't accept the same tls format as the GCE.
For nginx the host must be every time specified min the tls definition:
spec:
  tls:
  - hosts:
    - foo.bar.com
    secretName: foo-secret

this ingress don't serve https on nginx:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: no-rules-map
spec:
  tls:
    - secretName: testsecret
  backend:
    serviceName: s1
    servicePort: 80

but it work for GKE and also mention here http://kubernetes.io/docs/user-guide/ingress/

@scheeles you are right, currently the nginx ingress controller do not supports the backend definition. This means that in absence of rules the service specified in backend is used to route the traffic.
The reason why this is not currently present is because how nginx works: only is possible to have 1 server as "catch all".
If you define 2 or more ingress with just backend and not rules (there's no hosts defined) which service should be used to serve traffic?


gcc 14.2

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

The 14.2 build failed due to tzdb parsing failure with tzdata 2024b. There are two possible solutions

pinning tzdata to <= 2024a
applying https://gcc.gnu.org/pipermail/gcc-patches/2024-June/655756.html patch to gcc 14 (I'd definitely prefer this)

@conda-forge-admin, please rerender

GCC 14.2 fixes a compatibility issue with clang - how far off is this from being mergeable?  Any way I can help?

Thanks


Cubit plugin in a Dockerfile glibc version error

Let me know if this should be opened on the MOAB repo but I've stumbled across an error when installing the plugin within a few Dockerfiles
It appears that GLIBC_2.29 is required by MOAB but this is not always available in the OS
continuumio/miniconda3:4.10.3 was published 12 days ago and comes with GLIBC_2.28 and continuumio/miniconda3:4.9.2 which is the previous release also has GLIBC_2.28
FROM continuumio/miniconda3:4.9.2

FROM continuumio/miniconda3:4.10.3 with a python 3.8 environment created as Cubit appears to not support python 3.9

ubuntu:21.04 docker image also fails as it has glibc version 2.28-10
Wondering if anyone knows a work around for this

The problem might be related to your LD_LIBRARY_PATH, when running from command line I have to unset it....

Had a quick go with setting the LD_LIBRARY_PATH to nothing. Looks like the same error occurs
this is with ubuntu 21.04 base image

I'm thinking of adding a matrix to the build for different images as we have a few different glic versions
ubuntu 20.04 makes use of glibc 2.31
ubuntu 21.04 makes use of glibc 2.33
debian 10.10 makes use of glibc 2.28

I'm managed to get the Cubit plugin building for Debian 10.10
https://github.com/Shimwell/Cubit-plugin/runs/3279990398?check_suite_focus=true

PR #115 should solve this issue

Thanks everyone for helping with the PR #115 that solved this problem I was having.


test: fixes integ tests

This fixes integration tests. But needs #75 to be merged first. Then rebase master and fix the tests.
Had to remove some tests, because API was throttling the requests, as we were hitting the same endpoint many times.

@nguyentoanit After rebasing and fixing everything, please do a squash merge.

Codecov Report

Merging #77 (1732c05) into master (e1744a4) will decrease coverage by 4.67%.
The diff coverage is 55.55%.

@@            Coverage Diff             @@
##           master      #77      +/-   ##
==========================================
- Coverage   63.06%   58.38%   -4.68%
==========================================
  Files          13       38      +25
  Lines         111      322     +211
  Branches       17       17
==========================================
+ Hits           70      188     +118
- Misses         41      134      +93

Impacted Files
Coverage Δ

src/api-clients/tokens-api-client.ts
50.00% <50.00%> (ø)

src/api-clients/index.ts
100.00% <100.00%> (ø)

src/helpers/api-client-helpers.ts
61.76% <0.00%> (-14.71%)
:arrow_down:

src/api-clients/catalog-api-client.ts
50.00% <0.00%> (ø)

src/api-clients/orders-api-client.ts
50.00% <0.00%> (ø)

src/api-clients/merchant-fulfillment-api-client.ts
50.00% <0.00%> (ø)

src/api-clients/fba-inbound-api-client.ts
50.00% <0.00%> (ø)

src/api-clients/feeds-api-client.ts
50.00% <0.00%> (ø)

src/api-clients/solicitations-api-client.ts
50.00% <0.00%> (ø)

... and 18 more

Continue to review full report at Codecov.

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


Tag release v0.1.0

Once we are satisfied with the QC report & seed setting options, we should be ready to tag a release of the scpcaTools package. This should also prompt the docker image to build, so we can use the tagged version in a similarly versioned release of the scpca-nf workflow.

Done!


Send wrapper SKU and version on telemetry headers

Adds an initializeWrapperLibrary API to msal-browser to be called by msal-react, msal-angular and future wrappers. Accepts the SKU and version and passes it down to the ServerTelemetryManager on each request.
The x-client-current-telemetry header will add the sku and version to the "platform fields" at the end like so:
x-client-current-telemetry: 2|865,0|@azure/msal-react,1.0.0-alpha.1
TODO:

[ ] Add unit tests
[ ] Update msal-angular to call this new API

Coverage decreased (-0.1%) to 81.849% when pulling 6dbf0f0d0eb2f382f56ff91e3ebdf40f5093dc94 on wrapper-telemetry into 5cf57799db2c16dccd825b2974e4c9e3668711b4 on dev.

Coverage decreased (-0.1%) to 81.849% when pulling 6dbf0f0d0eb2f382f56ff91e3ebdf40f5093dc94 on wrapper-telemetry into 5cf57799db2c16dccd825b2974e4c9e3668711b4 on dev.


Add in Treatment Class

Treatment class should store
String name (name of treatment)
double cost (cost of treatment)
Time (time of treatment)

Add treatment pr merged.


IMP: Save plots from qiime diversity alpha-rarefaction

Improvement Description
Save the shown plots e.g. from qiime diversity alpha-rarefaction additional as SVG/PNG/whatever as it is possible in qiime taxa barplot
Current Behavior
One can download CSV data only and build the plots in R or somewhere else or screenshot the plots manual
Comment
In my case me and my partners are not allowed to use online tools like https://view.qiime2.org/ to view the qzv and some are challenged by unpacking qzv/zip-files and use/click the html-file to view.

In my case me and my partners are not allowed to use online tools like https://view.qiime2.org/ to view the qzv

Why not?
I agree though, this would be a really useful improvement to this visualization?

Why not?

Confidentiality policy :/

https://view.qiime2.org actually doesn't send any data out to a server - it all runs locally on your computer - we never see any data (there are no uploads). You actually don't even need to be on the internet to use https://view.qiime2.org. This allows https://view.qiime2.org to be compatible with many/most/all?() confidentiality policies, since no data leaves your computer.
https://view.qiime2.org/about

QIIME 2 View (or q2view for short) is an entirely client-side interface for viewing QIIME 2 artifacts and visualizations (.qza/.qzv files respectively). This means that you do not need to have a working QIIME 2 installation to inspect QIIME 2 results. It also means that the files you provide are not sent beyond your browser. In other words, this entire site functions without a server (which makes it very inexpensive to operate).


Enable script execution via command line

for automation scenarios, add the following parameters:

--file <FILE>: read source code from FILE, interpret it and quit
--eval <SOURCE>: interpret source code SOURCE and quit
--noexit: don't quit after interpreting source code passed in through command line

--out <FILE> should not be necessary because of the function save(). also output redirection should work.

resolved with e65e50d


watch property true not triggering src watching

Hi all:
Despite setting watch: true, the build process occurs only once on task-run, and proceeds to complete the task.  It does not perform subsequent builds as src files change.
Perhaps it's a config thing, for which I have provided below.

Run the task:

 % grunt browserify
Running "browserify:ampersand" (browserify) task

Done, without errors.
 %

Task config

...
"browserify": {
    ampersand: {
        files: {
            'build/js/browser/amp.bundle.min.js': [
                "js/browserApp/**/*.js",
                "js/dataType/Error.js"
            ]
        },
        options: {
            // debug: true,
            watch: true,
            noParse: ["jQuery*js", "jquery*js"] // large libs that have no require()s in them
        }
    }
},
...

I have discovered that keepAlive must also be set to true.  We should probably specify as such in the docs.


Can't download files with accented characters

Hi,
thank you for this awesome project, I love it!
I'm an Italian user and I'm not able to download files with accented characters like àùòèéì. Is it possible that Droppy does not support UTF-8/16?
I found a very old but similar issue #9 marked as resolved, but I still notice this problem.
It's interesting that when uploading the file it is correctly uploaded and named with the accented letters as in the original file, only the download is affected. Moreover, I can download the folder containing the affected file without running into the bug.

I'm having the same problem. It turns on that on my Mac accented characters are encoded with Unicode combining characters so that ä (U+00E4) becomes two characters ä (a + ¨, or more specifically U+0061 U+0308, or in UTF-8 61 CC 88). When uploading the file to Droppy, the same encoding is preserved on the Linux server, but in Droppy web UI it gets normalised to U+00E4, and trying to open the file by clicking it gives
2020-07-08 12:23:38 [ERROR] ENOENT: no such file or directory, stat '/srv/droppy/files/Meritähti.pdf'

By manually forming a URL like http://localhost/!/dl/Meritähti.pdf the file can still be downloaded without errors.
Suggested fix: ensure that no Unicode normalisation occurs in URLs displayed in web UI, possibly by %-encoding any non-ASCII bytes early in the server code, prior to passing it to any other NodeJS frameworks.
Workaround for the end-user: You may convert filenames on Mac or Linux by the use of convmv tool. NFC is that shorter form that avoids combining characters and that should work with Droppy. Note that most Mac apps prefer the NFD form instead!
convmv -f UTF-8 -t UTF-8 --nfc -r /path/to/files


migrate cards from Balanced to Braintree

To: Balanced, Braintree

Greetings, teams. What's our process for migrating Gratipay's card vault from Balanced to Braintree?

From: Braintree

The process is pretty simple. Just reach out to<EMAIL_ADDRESS>and let them know you’d like to export to us. We’ll receive a file from them and run the import on our side. The process takes about a week from beginning to end. We cannot process ACH transactions so unfortunately those customers will not be imported. Let me know if there are any questions.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/13754749-migrate-cards-from-balanced-to-braintree?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github).

From: Balanced:

Send this encrypted blob to your guys at Braintree.

-----BEGIN PGP MESSAGE-----
[...]
-----END PGP MESSAGE-----

It contains the data they need to import all your credit cards and bank accounts into Braintree. It's encrypted with their public key.

Please note that the URL within expires in 24 hours so if they don't get to this today they'll likely need to reach out for a new URL. They can email the support team directly and we'll assist them.
Forwarded to Braintree!

Okay, we've initiated the migration, though we may need to reinitiate it (though Braintree might take that initiative themselves per Marshall's email?).
That means that anyone who updates their card between now and when we start vaulting on Braintree will not have their new info saved on Braintree, unless we make another export. However, anyone who changes their card on Braintree before the second export lands could potentially have their change clobbered.
One option would be to simply disable the credit card form until cards are migrated.

From: Braintree
To: Balanced
CC: me

Hi Balanced Support,

Unfortunately I missed the window for this export. May I request it get run again? Thank you.

From: Balanced
To: Braintree
CC: Me

No worries, []. Here's a new link.

From: Braintree
To: Balanced
Cc: Me

Thanks for resending Marshall, we were able to pull down the file successfully. Chad, I have scheduled Gratispay for the first available opening on our import calendar, which is this Thursday (5/14). Let me know if you have any questions!

To: Balanced
Cc (I think?): Braintree

Awesome, thank you! :D

https://gratipay.freshdesk.com/helpdesk/tickets/2121

Thanks for your patience. We are on track for Thursday. We’ll let you know if there are any last-minute issues.

https://gratipay.freshdesk.com/helpdesk/tickets/2129

Please see attached for the logs. The import log and the error log should be clear but you had around 300 tokens with a customer ID of none. We imported those as well and had our gateway generate the tokens for them. Please take a look and let us know if there are any questions.

https://gratipay.freshdesk.com/helpdesk/tickets/2145

Import logs uploaded in https://github.com/gratipay/logs/commit/61bc4117f76b7e269d9937ea3c19ef41dea8f2b9.

Picking up from https://github.com/gratipay/gratipay.com/pull/3470#issuecomment-104356169 ...

you had around 300 tokens with a customer ID of none.

Hrm ... old records on Balanced, from before they introduced customers? Hunch it relates to the problems we've had in the past with Balanced URLs (#2085).

So the work here is to write a script to populate the Participant ID custom field for all of the new records from Balanced.

Vault search in the web UI doesn't support custom fields. :-/

Looking at the logs, I count 26 names of customers in the bad import log that aren't present in the successful import log.

Do we just let those people go? What's our option? Contact Balanced and ask for a re-export?

I count 328 customers in the none_customer log and 4,567 in the good log, so that's about 7% of records affected.

To: Balanced

Braintree reports that 328 out of 4,895 customer records (7%) in the import file they received have no customer id. Any idea what that's about?

I count 3,061 unique names in the good import (not counting Nil and None). 26 out of 3,061 ain't bad.

How does the set of customer ids that Braintree now has compare with what we have for balanced_customer_href?

And how does the set of customer ids in the CSV logs compare with what's actually in Braintree?

We have 5,309 participants with a balanced_customer_id.

Alright, I exported customers from Braintree, and confirmed that the set of Balanced ids in the import log is identical to the set in Braintree.

From: Balanced

Please pass along a list of the customers in question and I'll have engineering take a look at this for you!

To: Balanced

In working on an answer to your question, I've discovered that the Card ID may suffice to make the connection between our user and the customer record at Balanced/Braintree. I'll proceed with that and let you know if I get stuck again. Thanks! :-)

Source
Balanced IDs
Not in Balanced
Not in Gratipay
Not in Braintree

Balanced
5,310
-
13
743

Gratipay
5,309
12
-
749

Braintree
4,567
0
7
-

Balanced Card IDs

Source
IDs
Not in Balanced
Not in Gratipay
Not in Braintree

Balanced
5,310
-
329
5

Gratipay
4,013
114
-
5

Braintree
5,865
1,643
1,858
-

I can't say that I'm entirely surprised that the numbers don't seem to quite line up. :-/

The task is to link up Gratipay participants with Braintree customers, by setting braintree_customer_id in the Gratipay database, and participant_id in Braintree. A false match means that we end up charging one person for another's subscriptions: bad!

I'm surprised that there are so many card IDs in Braintree that aren't in Balanced or Gratipay. I only looked at card IDs matching the CC... format that Balanced used.

There are only 15 "payment method tokens" in this Braintree export that don't match the CC___ pattern.

Maybe Balanced included invalidated cards in the export to Braintree, but not in the export to us?

We should also create new exchange_routes for the Braintree cards.

Note: We only want to update braintree_customer_id for people who don't have a route with the braintree-cc network already (the new cards that are vaulted with braintree).

Alright, I'm going to write this script based on the import log. I'm going to depend on the customer ID and card ID in there. I'll double-check to make sure that the mapping lines up with what we have for exchange routes in the db, and then add new exchange routes for braintree along with setting braintree_customer_id.

I'm not going to worry about the records with no customer id for today.

!m @whit537

Spot-checking, I'm seeing a card that is "status: removed" at Balanced that is merely "Expired" at Braintree. :open_mouth:
https://dashboard.balancedpayments.com/#/marketplaces/MP12Xw5lL6iaILtqImIoroDL/cards/CC9ZBPfVyWiXwRNKrwSaO4m
https://www.braintreegateway.com/merchants/msjyyvtsvvnc4ny6/payment_methods/any/CC9ZBPfVyWiXwRNKrwSaO4m

At this point it sure feels like we'd better cut our losses. Better to have some credit card attrition than fail to get off Balanced in time.
We have cards waiting for us to use in Braintree. Maybe it's not the cleanest set of data but it's what we've got: it's too late to migrate more/better data from Balanced to Braintree.
Let's use the cards we have waiting for us at Braintree! :)

The exchange route is what really matters. We do pass braintree_customer_id during create_card_hold, though from the docs it's not clear to me that that's strictly necessary.

We do pass braintree_customer_id during create_card_hold, though from the docs it's not clear to me that that's strictly necessary.

There was a reason for that... If I recall correctly, it had something to do with custom fields. I'll dig in deeper later.

The five at https://github.com/gratipay/gratipay.com/issues/3391#issuecomment-104419436 are probably explained by the import error log.

Done and done!


enables the dots option for other element also like position eye and version timing

enables the dots option for other element also like position eye and version timing

Like this

can't real qr when added logo image

@champrocks3190 pls can i render the above in Java?


Ask magic eightball questions

Right now it only responds with the command eightball. It be really cool to be able to
Oh magic eightball, Should I go to sleep?
I think we can scope it to lines starting with Oh magic Eightball. Thoughts?

NVM, this does work.


Supply class dartdoc when no constructor dartdoc is defined (or generally, in addition to) for hovers

Raised by @eseidel in https://github.com/Dart-Code/Dart-Code/issues/240. I think this would be best done in the analyzer if you think it's worthwhile (and would also then work for all other editors). I think the reason the first one works is that it just looks like a reference to the class rather than the constructor. I agree that the second one would be best falling back to the class dart doc because the constructor doesn't have one.

@eseidel:
Hovering a new using a constructor shows the class docs:

But not hovering an annotation (which uses the same constructor):

No clue if the missing functionality here is in the plugin or the analyzer or what. :)

I think a case can be made that class docs could be included even if constructor docs are present.
Frequently in Flutter there are very helpful and comprehensive class docs, but the constructor just provides a couple sentences of description. Example:
/// A convenience widget that combines common painting, positioning, and sizing
/// widgets.
///
/// A container first surrounds the child with [padding] (inflated by any
/// borders present in the [decoration]) and then applies additional
/// [constraints] to the padded extent (incorporating the `width` and `height`
/// as constraints, if either is non-null). The container is then surrounded by
/// additional empty space described from the [margin].
///
/// During painting, the container first applies the given [transform], then
/// paints the [decoration] to fill the padded extent, then it paints the child,
/// and finally paints the [foregroundDecoration], also filling the padded
/// extent.
///
/// Containers with no children try to be as big as possible unless the incoming
/// constraints are unbounded, in which case they try to be as small as
/// possible. Containers with children size themselves to their children. The
/// `width`, `height`, and [constraints] arguments to the constructor override
/// this.
///
/// ## Layout behavior
///
/// _See [BoxConstraints] for an introduction to box layout models._
///
/// Since [Container] combines a number of other widgets each with their own
/// layout behavior, [Container]'s layout behavior is somewhat complicated.
///
/// tl;dr: [Container] tries, in order: to honor [alignment], to size itself to
/// the [child], to honor the `width`, `height`, and [constraints], to expand to
/// fit the parent, to be as small as possible.
///
/// More specifically:
///
/// If the widget has no child, no `height`, no `width`, no [constraints],
/// and the parent provides unbounded constraints, then [Container] tries to
/// size as small as possible.
///
/// If the widget has no child and no [alignment], but a `height`, `width`, or
/// [constraints] are provided, then the [Container] tries to be as small as
/// possible given the combination of those constraints and the parent's
/// constraints.
///
/// If the widget has no child, no `height`, no `width`, no [constraints], and
/// no [alignment], but the parent provides bounded constraints, then
/// [Container] expands to fit the constraints provided by the parent.
///
/// If the widget has an [alignment], and the parent provides unbounded
/// constraints, then the [Container] tries to size itself around the child.
///
/// If the widget has an [alignment], and the parent provides bounded
/// constraints, then the [Container] tries to expand to fit the parent, and
/// then positions the child within itself as per the [alignment].
///
/// Otherwise, the widget has a [child] but no `height`, no `width`, no
/// [constraints], and no [alignment], and the [Container] passes the
/// constraints from the parent to the child and sizes itself to match the
/// child.
///
/// The [margin] and [padding] properties also affect the layout, as described
/// in the documentation for those properties. (Their effects merely augment the
/// rules described above.) The [decoration] can implicitly increase the
/// [padding] (e.g. borders in a [BoxDecoration] contribute to the [padding]);
/// see [Decoration.padding].
///
/// {@tool sample}
///
/// This example shows a 48x48 green square (placed inside a [Center] widget in
/// case the parent widget has its own opinions regarding the size that the
/// [Container] should take), with a margin so that it stays away from
/// neighboring widgets:
///
/// ```dart
/// Center(
///   child: Container(
///     margin: const EdgeInsets.all(10.0),
///     color: const Color(0xFF00FF00),
///     width: 48.0,
///     height: 48.0,
///   ),
/// )
/// ```
/// {@end-tool}
/// {@tool sample}
///
/// This example shows how to use many of the features of [Container] at once.
/// The [constraints] are set to fit the font size plus ample headroom
/// vertically, while expanding horizontally to fit the parent. The [padding] is
/// used to make sure there is space between the contents and the text. The
/// `color` makes the box teal. The [alignment] causes the [child] to be
/// centered in the box. The [foregroundDecoration] overlays a nine-patch image
/// onto the text. Finally, the [transform] applies a slight rotation to the
/// entire contraption to complete the effect.
///
/// ```dart
/// Container(
///   constraints: BoxConstraints.expand(
///     height: Theme.of(context).textTheme.display1.fontSize * 1.1 + 200.0,
///   ),
///   padding: const EdgeInsets.all(8.0),
///   color: Colors.teal.shade700,
///   alignment: Alignment.center,
///   child: Text('Hello World', style: Theme.of(context).textTheme.display1.copyWith(color: Colors.white)),
///   foregroundDecoration: BoxDecoration(
///     image: DecorationImage(
///       image: NetworkImage('https://www.example.com/images/frame.png'),
///       centerSlice: Rect.fromLTRB(270.0, 180.0, 1360.0, 730.0),
///     ),
///   ),
///   transform: Matrix4.rotationZ(0.1),
/// )
/// ```
/// {@end-tool}
///
/// See also:
///
///  * [AnimatedContainer], a variant that smoothly animates the properties when
///    they change.
///  * [Border], which has a sample which uses [Container] heavily.
///  * [Ink], which paints a [Decoration] on a [Material], allowing
///    [InkResponse] and [InkWell] splashes to paint over them.
///  * The [catalog of layout widgets](https://flutter.io/widgets/layout/).
class Container extends StatelessWidget {
  /// Creates a widget that combines common painting, positioning, and sizing widgets.
  ///
  /// The `height` and `width` values include the padding.
  ///
  /// The `color` argument is a shorthand for `decoration: new
  /// BoxDecoration(color: color)`, which means you cannot supply both a `color`
  /// and a `decoration` argument. If you want to have both a `color` and a
  /// `decoration`, you can pass the color as the `color` argument to the
  /// `BoxDecoration`.

Since users mostly reference the constructor, in order to access the full documentation, you basically have to Alt+Click and view the source code of the widget. IMO not the best DX.

Showing class dartdocs always also came up at https://github.com/flutter/flutter/issues/96332.
I wonder whether the issue is more general than constructors though - if you changed a constructor to a static method, would seeing the dartdoc have less value, or is the desire really to see the docs of the return type of all methods/functions?
I also wonder if the same should go for code completion. Although it seems like in VS Code that's already showing the class dartdocs (instead of the constructor) here, and I'm not sure why (I can't reproduce in Android Studio). Seems like they should probably be consistent - although fixing that without also doing this might seem like a step backwards if there is value in seeing the class docs there.

It seems like there are at least three issues here that would be worth thinking about separately.

Does it makes sense to display the class' documentation when a constructor without documentation is being referenced?

Should the class' documentation always be shown when hovering over a reference to a constructor.

What documentation should be displayed for code completion.

It seems to me that one guiding principle for answering these questions (and any question related to how documentation is displayed in the IDE) is to be consistent with dartdoc wherever it makes sense to do so.
So for the first issue, I'd say that it doesn't make sense to display the class' documentation for an undocumented constructor because dartdoc doesn't do so. I think it also makes sense to not do so just from the perspective that the documentation for the class isn't describing the constructor.
But the second issues is a bit different. I wonder whether it's really an observation that without type annotations there's no easy affordance to access the class' documentation. For example, if you wrote
Container c = Container();

then you could hover over the first occurrence of the class name to get the class' documentation and the second occurrence to get the constructor's documentation. Whereas if the first occurrence is replaced by var, then there is no hover help. It might we'll be worthwhile considering possible affordances for accessing the class' documentation in such situations.
For the third issue, I think we should always display the documentation for the element that would be referenced if the suggestion is accepted. If that's not currently the case, then I think we have a bug and we should fix it.

It might we'll be worthwhile considering possible affordances for accessing the class' documentation in such situations.

I can't think of many ways we could do this besides adding the class documentation to the bottom of the constructor docs. I think the same may apply to return values of non-constructor functions too:
Foo foo = getFoo(); // Can easily access Foo class docs
final foo = getFoo(); // Cannot

Although accepting that also makes me think final a = class.theFoo isn't much different and you might want to see docs about the type of theFoo. This might make the solution more general (always show the class docs for the return type) - although given an issue in VS Code where it shows diagnostics right at the bottom of the docs (https://github.com/microsoft/vscode/issues/73120) I think adding more docs into tooltips there could be bad for usability until that's fixed (it's been open almost 3 years so I'm not hopeful for a fix in the near term).

For the third issue, I think we should always display the documentation for the element that would be referenced if the suggestion is accepted. If that's not currently the case, then I think we have a bug and we should fix it.

I had a quick look at this, and believe it's because of how we fetch the documentation lazily for LSP with suggestion sets. We send two completions to the client (MyClass and MyClass() for the class/constructor respectively), but when we "resolve" them to get the import edit and documentation, we only have MyClass to look the element up (via requestedLibraryElement.exportNamespace.get(requestedName) so both the class and the constructor get the same thing.
I think this problem might go away when migrating to the NotImportedContributor. I filed an issue at https://github.com/Dart-Code/Dart-Code/issues/3787 as a reminder for me to check this once that work is done.

It might we'll be worthwhile considering possible affordances for accessing the class' documentation in such situations.

I can't think of many ways we could do this besides adding the class documentation to the bottom of the constructor docs. I think the same may apply to return values of non-constructor functions too:

A couple of brainstorming ideas:

Could we add "links" of some kind to the hover text so that users could navigate to the docs for the type?

We could definitely add a hover for var, final, or const that would display the docs for the inferred type (or explicit type if one is given).

But I definitely agree that appending the class docs to the end of the other might be a poor UX, especially given the size of the docs for most of the Flutter classes. Hence the desire to find a better way to make this information accessible to users. (And there doesn't have to be a single way if multiple ways make sense.)

Could we add "links" of some kind to the hover text so that users could navigate to the docs for the type?

For VS Code, we could append hyperlinks to the end of the markdown that go to the docs website - though I don't think we can do anything fancy like update the hover content to show another items docs. To do the first, we'd need to be able to construct URLs to get to those docs. This is a request that's been asked for before though, and I do often find myself opening my browser and going to pub.dev/packages/foo and then clicking the API documentation link on the side.

We could definitely add a hover for var, final, or const that would display the docs for the inferred type (or explicit type if one is given).

That may help some, although not in places like the Flutter one where this came up recently:
final a = Container(
  child: ElevatedButton() // Want to see ElevatedButton docs by hovering on this, or when code-completing it
);

Right now you only see:

/// Create an ElevatedButton.
///
/// The [autofocus] and [clipBehavior] arguments must not be null.

That's definitely a harder case. I'm not seeing anywhere obvious where a user could reasonably expect to be able to hover to get those docs. But if we could link to the class' docs externally (or even the constructor's docs because it ought to be easy to get from there to the docs for the class) that might help.

I think having a hyperlink appended to the dartdoc that has "View docs on pub.dev" or similar would be good. I don't know how simple it is to build the correct URL though (I think it would need to be conditional on it being a package from pub and not just local, and take the version number into account?).

Yes, it probably would. Flutter documentation might need to be handled differently, and in fact might want to be the first case we handle.


Smart Contract Developer Learning Journey: Design

Smart contract developers that come from other protocols in the ecosystem need a guide that helps them understand the similarities and differences they will have in their experience building smart contracts on Hedera compared to where they are coming from
Even though Hedera is evm compatible there are differences the developer would need to understand interacting with out network, our entities, the way gas is paid, etc
This differences need to be highlighted so that we can educate our web3 smart contract developers coming to Hedera and ensuring a smooth experience
Using a contract that is deployed on another network and porting it to Hedera would be a good starting point to capture what the differences might be along that process
Do we have different smart contract developer personas that build different kinds of applications using smart contracts?
The goal is to learn about the smart contract developer learning path and propose an outline for what kind of content needs to be covered
Some things that come to mind are explaining the different kinds of addresses Hedera has for the smart contract entity. Ones that are evm compatible and ones that are only Hedera network compatible.
How to setup TheGraph with Hedera ( in context of an application)
Testing of the application
How does the user interact with the smart contract application (reference application)
Incorporate differences for Hedera [testnets, wallets, etc]
https://github.com/Daniel-K-Ivanov/hedera-contracts-repo-example
https://github.com/Daniel-K-Ivanov/hedera-subgraph-repo-example

Tasks

[ ] #263
A developer who has developed on Ethereum and coming to Hedera
[ ] #264
[ ] #265

Here's some tutorials Ethereum has that may be good considerations for us - https://ethereum.org/en/developers/tutorials/
For the smart contract dev walkthrough I think we can something like https://www.freecodecamp.org/news/full-stack-ethereum-development/ and replace

Infura for HashIO
OZ for or in addition to our smart contract contracts
Add a graph component in there
Etherescan for HashScan

cc: @Nana-EC


Fix CI Error: Missing X server or $DISPLAY

Hmmm...🤔

🎉

Sorry, I have no idea why I haven't had a notification on this PR.

Thank you for the contrib @Frederisk  :)


Fix type errors bau.d.ts

'RenderItem' refers to a value, but is being used as a type here. Did you mean 'typeof RenderItem'?
Type 'Element' does not satisfy the constraint 'HTMLElement'.
Type 'Element' is missing the following properties from type 'HTMLElement': accessKey, accessKeyLabel, autocapitalize, dir, and 126 more.

Thanks a lot, do you mind to provide an example code that trigger the problem ?

The file itself! https://tsplay.dev/mZRE4m

Your contribution is greatly appreciated.


docs_deploy on dart-internal is not publishing docs

This is failing because the Firebase are not enabled in the dart-internal project.

https://flutter-review.git.corp.google.com/c/recipes/+/37360

Fix footer:
https://flutter-review.googlesource.com/c/recipes/+/37505

Update to the footer fix: https://flutter-review.googlesource.com/c/recipes/+/37600

Reopening to land CPs to stable and beta

Beta: https://flutter-review.googlesource.com/c/recipes/+/37681

Stable: https://flutter-review.googlesource.com/c/recipes/+/37680


please someone help me out

Your Environment

Plugin version:
Platform: iOS or Android
OS version:
Device manufacturer and model:
React Native version:
Plugin configuration options:
Link to your project:

Context

Expected Behavior

Actual Behavior

Possible Fix

Steps to Reproduce

Context

Debug logs

please help me out
the configuration file for my application its perfectly logging the and posting data in IOS but in android its not showing correct route map
BackgroundGeolocation.configure({
        desiredAccuracy:50,
        stationaryRadius: 100,
        distanceFilter: 100,
        notificationTitle: 'Background tracking',
        notificationText: 'enabled',
        debug: false,
        startOnBoot: false,
        stopOnTerminate: true,
        locationProvider: BackgroundGeolocation.ACTIVITY_PROVIDER,
        interval: 120000,
        fastestInterval: 5000,
        activitiesInterval: 120000,
        stopOnStillActivity: false,*/

           });
    }else{
        BackgroundGeolocation.configure({
        desiredAccuracy: BackgroundGeolocation.HIGH_ACCURACY,
        stationaryRadius: 200,
        distanceFilter: 100,
        notificationTitle: 'Background tracking',
        notificationText: 'enabled',
        debug: false,
        startOnBoot: false,
        stopOnTerminate: true,
        locationProvider: BackgroundGeolocation.ACTIVITY_FILTER,
        activityType: 'OtherNavigation',
        interval: 60000,
        fastestInterval: 6000,
        activitiesInterval: 60000,
        stopOnStillActivity: false
      });

first block is android and else part is IOS

Please don't post question asking for help as issue. It makes traversing issue more difficult if there are too many issues. Also fill issue template properly, if you think you're effected by bug. Thank you for understanding.


DynamicsBackend not counting number of cregs properly

This example in this issue https://github.com/Qiskit-Extensions/qiskit-experiments/issues/1235 contains an error resulting from DynamicsBackend miscounting the number of classical registers in a circuit/schedule. DynamicsBackend counts the number of classical registers in a circuit via
circ.cregs[0].size

The above error occurs as the cregs is of the form
[ClassicalRegister(1, 'c'), ClassicalRegister(1, 'c_tomo')]

So, DynamicsBackend miscounts the number as 1 but it should be 2. This is obviously an easy fix, changing the count to
sum(creg size for creg in circ.cregs)

The only thing I'm worried about here is that I don't know how these ClassicalRegister lists are handled and would like to confirm. What I'm guessing is the case is:

Counts will always be returned as a single bit string of length sum(creg size for creg in circ.cregs). (I guess implicit in this is the assumption that the classical registers correspond to MemorySlots?)
The memory slots for the classical registers are indexed "naturally", e.g. the bits in cregs[0] are indexed 0, ..., len(cregs[0])-1, the bits in cregs[1] are indexed len(cregs[0]), ..., len(cregs[0]) + len(cregs[1]) - 1, etc.
The bit string is ordered with reverse indexing.

I am interested to know how classical registers map onto the results as well.
One thing that might be helpful to clarify for someone coming this: generally when working with QuantumCircuit you don't consider any mapping to pulse MemorySlots, but DynamicsBackend is converting the circuit to a schedule for simulation, so the register to memory slot correspondence is coming in that step.

This conversions happens in transpilation, so DynamicsBackend impacts this process only as far as the backend is configured.
I'm starting to lean towards just dropping the num_memory_slots determination from QuantumCircuits and applying the dynamic determination of this for Schedules to this case as well.

That sounds reasonable -- might as well be consistent for all input types since they are all getting converted to schedule any way. I think summing the sizes of all the cregs might also be good. It seems odd to go off the size of only the first one here:
https://github.com/Qiskit-Extensions/qiskit-dynamics/blob/577260ba29b2b6a6e264f03596e35788f0c1ea17/qiskit_dynamics/backend/dynamics_backend.py#L968-L969
Also, note that the conversion from circuit to schedule happens in that build_schedule call which is separate from transpilation.


ComboBox header is not visible with Material theme

Current behavior
The header of the ComboBox is not visible while using the Material theme.
Expected behavior
The header of the ComboBox should be visible
How to reproduce it (as minimally and precisely as possible)
Add a ComboBox with some header.
UnoAppComboBox.zip
Workaround
Use the Fluent design theme
Works on UWP/WinUI
No
Environment
Uno.WinUI / Uno.WinUI.WebAssembly / Uno.WinUI.Skia
NuGet package version(s)
Uno.Sdk: 5.3.90
Affected platforms
WebAssembly, Windows (WinAppSDK)
IDE
Visual Studio 2022
IDE version
No response
Relevant plugins
No response
Anything else we need to know?
No response

I believe this is by design:

From the Material Uno Figma design file: https://www.figma.com/community/file/1110792522046146058
@NVLudwig is there any guidance for headers on top of comboboxes?

So in Material there is no native ComboBox the guidance is to use Menues+other controls which results in a DropDown:
"Menus display a list of choices on a temporary surface. They appear when users interact with a button, action, or other control. "
Here is the guidance
Like this:

This way the Header is always visible.

Oh sorry I think I misunderstood the issue. Currently there is no header/placeholder that will display as the small text header like we have in TextBox:

@DCorrBECare currently the header in the ComboBox is driven by the PlaceholderText property. So if I were to set PlaceholderText="Hello" on the ComboBox, you will have the header displayed when a value is set:

Is this what you are trying to accomplish?
@eriklimakc fyi we should align this with the TextBox and have support for the Header and PlaceholderText together as well

@kazo0 Yes that's what I have been trying to accomplish, I thought the Header property was the right one.
The PlaceHolderText works fine as the header of the ComboBox.


[WIP] Insert props.children as children if parent jsx isn't a component

Fix #30

You are going to want a test that is dynamic wrapped as well. Like
const template2 = <module children={props.child} />;

Is this one ready minus tweaking the runtime? (it's non-breaking either way so I could merge sooner).


Use jsonb instead of blob

Feature request
In the schema, the bodies of Tekton's resources are stored as blob types. Blobs are not suitable for indexing and do not allow easy querying by analysts or tools accessing the database instead of the gRPC service.
Switching to jsonb would allow for more efficient storage, make it possible to index records and enable rich querying via JSON operators.

Thanks for the FR!
We haven't had a chance to look into indexing support, but this looks like a strong contender. I plan to spend some time this week looking into jsonb + and other alternatives. Stay tuned!


tailwind to PDF

I bought "Refactoring UI" yesterday and I am also trying to learn Tailwind CSS.
One issue I am facing at the moment is when I try to convert my html/css page to pdf.
The result looks very different after the conversion. Some elements go off the page, some sections and pictures are stacked instead of showing horizontally etc.
These are screenshots of how my test HTML + Tailwind CSS page looks like:

And here is the resulting PDF (quite different)
response.pdf
I would like to end up with a printable pdf that looks nicely designed and formatted as closely as possible to the web page.
Anybody has done this before and/or has any tips?

Hi @danielecas ,
I haven't done that with tailwindcss before (learning it myself), but in other situations we needed to create a printable version of a web page. There are a few things you can look at and tune in order to produce a print view (or pdf).
First, you can add an additional or entirely different css for print media. You can do that by adding the media="print" param to the link that that includes you css. A media="screen" limits a css file to screen view only and it would not be used if the browser creates a print view.
To check your print view without actually printing, you can change the Rendering option in the Chrome DevTools to emulate print media.
A last tip, and that's maybe what happens to your layout- when I printed to A4 (similar to US letter format), the browser used the MD breakpoint (I think I remember that correctly) to render the page instead of lg or xl. So change the browser width and see how your page renders in a smaller size. Maybe you just need to add some styling to fix layout in those cases?
Hope that help!

Which resolution is triggered is browser and environment-dependent, md is a common one (but for example chromium gets me different breakpoints based on portrait/landscape, but paper size and DPI does not matter, for those they most likely scale it afterward), the safest bet is to create a print specific stylesheet if a print is important for a page.

many thanks for the tips guys, I will try and let you know how it goes

Having the same issue with cards. On printing everything separates out. Tailwind by itself does not seem to have any print directives..so not sure how to do this..

There is a section in the docs for adding a print screen that will allow for adding classes specifically for print - https://tailwindcss.com/docs/breakpoints/#styling-for-print.
Then you can do things like <div class="font-serif leading-relaxed text-gray-800 text-sm print:text-xs"> within your markup.


Refactor Libuavcan v0 driver to allow socketcan on platforms other than linux

Refactor and rename the v0 "linux" driver to be a "posix" driver so code can be shared with posix-like RTOSes like nuttx.

@thirtytwobits unless you intend to work on it, I suggest closing it to avoid diffusion of focus because it's v0-specific.


Fix capec for crawlers

I think this capec better suits web crawlers.
OLD: https://capec.mitre.org/data/definitions/310.html
NEW: https://capec.mitre.org/data/definitions/150.html

I think both are not a particularly good match. Also because crawlers are reconnaissance at best, but CAPEC is covering attacks... So maybe it would be better to remove tags completely here.

Maybe because https://capec.mitre.org/data/definitions/286.html was deprecated, we have this problem.

Strictly defined by CAPEC is the attack:
Attack

An attack (noun) is the use of an exploit(s) by an adversary to take advantage of a weakness(s) with the intent of achieving a negative technical impact(s). An attack is part of the bigger "Cyber Attack Lifecycle" that includes the following tasks: reconnaissance, weaponize, deliver, exploit, control, execute, and maintain.

So, reconnaissance is still there, but probably in a different form.

Even more context: https://capec.mitre.org/data/definitions/150.html is linked to https://attack.mitre.org/techniques/T1119/, not to https://attack.mitre.org/techniques/T1593/

OK, I agree. I think @azurit is right to favor CAPEC 150 here, even if it's an imperfect fit.
Ready to merge from my side.


fix: DIA-1402: Add RefinedPromptResponse schema

Hi @niklub!
This PR was automaticaly generated via Follow Merge.
Please ensure that all linked upstream Pull Requests are merged before proceeding with this one.

https://github.com/HumanSignal/label-studio-client-generator/pull/31 linked by Workflow Run

Self shipping as it only changes the response schema for not yet enabled API


Export current file + related notes (outgoing links)

Hi,
Here is a new idea. I is related to exporting multiple file like suggested here but is a different idea.
Describe the solution you'd like
I would like to be able to export on file with the notes related to the outoing links.
So I can share my note with someone who can then navigate on one level. For example my note could contain a concept (let's say the "halo effect" that is defined in another note.
Hmm I'm wondering if it is the same idea or not that this one.
It could be really cool. Thanks for this plugin. 🙏

Yes this has already been suggested and is planned. Thanks!
I will close this since it is a duplicate of #38


bug: OpenTelemetry Context is not getting propagated in the data loader

Please read our contributor guide before
creating an issue.
I have an async resolver which I am using along with a data loader. For traceability, I am using open telemetry with manual instrumentation.
The problem I am facing here is that OpenTelemetry context is getting lost in the load method. This is happening even before offloading the task on the context-wrapped executor.
Expected behavior
Otel Span and context should be available in the data loader.
Actual behavior
Otel Span and context are not present. I am getting span and trace with ids as<PHONE_NUMBER>000000 and<PHONE_NUMBER>0000000000000000000000.
Steps to reproduce
Sharing the sample code snippet.
Resolver:
  @DgsData(parentType = "Department", field = "employees")
  public CompletionStage<Employees> getDepartmentEmployees(
    final DataFetchingEnvironment dfe,
  ) {
    System.out.println(tracer.getSpan().getSpanContext().getTraceId());   // getting appropriate trace and spanIds
    System.out.println(tracer.getSpan().getSpanContext().getSpanId());

    Context context = Context.current(); // Context has correct trace and span.

    Department department = dfe.getSource();
    DataLoader<Department, Employees> batchDataLoader =
      dfe.getDataLoader("employeesDataLoader");

    return batchDataLoader.load(department);
  }

Data Loader:
 @Override
  public CompletionStage<List<Employees>> load(List<Department> departments) {
    System.out.println(tracer.getSpan().getSpanContext().getTraceId());   //<PHONE_NUMBER>0000000000000000000000
    System.out.println(tracer.getSpan().getSpanContext().getSpanId());    //<PHONE_NUMBER>000000

    Context context = Context.current(); // empty object

    return CompletableFuture.supplyAsync(() -> departmentService.getEmployees(departments), contextWrappedThreadPool);
  }

I have tried it on DGS 8.5.5, graphql-java 21.5 and tested it on both platform and virtual thread.
Note: A test case would be highly appreciated, but we understand that's not always possible

@paulbakker can you please share your insights on this?

I don't think this addresses the issue you are experiencing, but can you retest with the latest DGS release? We changed the way data loaders are implemented here: https://github.com/Netflix/dgs-framework/releases/tag/v8.7.1
For your scenario - where is Context from?  I would suspect this is an underlying issue with the tracer library if it's not propagating, because the framework is not doing anything special to propagate context in such scenarios. Only when thread switching happens, is there a chance of thread local context being lost, so as long as the executor is set up to have context propagation, it should work. However, as you point out in this case, the context loss happens even before there is any thread switching. So this would point to some issue with the tracer itself.

@srinivasankavitha Context comes from the OpenTelemetry Java library. I am adding events to the OTel span before making any downstream service calls from GraphQL service. But as the Context is not propagated, these span events are lost.

I looked into this a bit, and I don't think it's a bug in DGS or graphql-java, but maybe a misunderstanding with how DataLoaders work. When you call the load method on your DataLoader it is not invoked immediately since batching is enabled by default. So that means TracingAspect.traceAsyncField is closing the scope before the loader is even called, which explains why by the time the loader is called, Context.current() is reset.
You can verify that the whole issue is caused by batching by disabling it on your DataLoader:
@DgsDataLoader(name = "departmentDataLoader", batching = false)
public class DepartmentDataLoader implements BatchLoader<Parameter, Department>

When I tried this locally, the context was correct in the DataLoader load method. Now obviously this isn't a proper solution, since the whole point of data loaders is to batch things and avoid the N+1 problem. So I think it requires retooling or reworking how you're doing things. Explicitly passing the context into the DataLoader works I think, but then you just need to explicitly set it in the thread local context or whatever, or explicitly pass it to your executor. Another option is to implement BatchLoaderWithContext, and either pass in a per-key context when calling load(key, context), or configure a context supplier in the DataLoader options (see: https://github.com/graphql-java/java-dataloader?tab=readme-ov-file#calling-the-batch-loader-function-with-call-context-environment). For the latter, I don't think DGS currently exposes a simple way of setting the context provider, you'd need to provide a custom DgsDataLoaderOptionsProvider bean.

@kilink Thanks for sharing your input.
I didn't understand your point regarding traceAsyncField ending the scope. Even if the traceAsyncField method finishes, it won't end the scope, I am closing the span only once the completable task is completed. can you explain If I am missing anything?

Like @kilink explains, I don't think there's anything in the framework we can do about this. Closing the issue as it is not actionable.


fix: [comdex] update testnet chain config

Description
Closes: #XXXX

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] ran linting
[ ] wrote tests where necessary
[ ] included the correct type prefix in the PR title
[ ] targeted the correct branch
[ ] provided a link to the relevant issue or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed
[ ] added an entry to the CHANGELOG.md file

@teamchong looks like the automerge label doesn't work. Could you merge it pls? Thanks 😄

@teamchong looks like the automerge label doesn't work. Could you merge it pls? Thanks 😄

I am not authorized to merge, @huichiaotsou can you help?


SSl errors when going through a proxy

Is there an option to disable ssl verification, or a place to put a cert that can be trusted for the cli? when running command such as bosh  public stemcells I am getting SSL verification errors due to the way my proxy works. The proxy injects an internally signed cert when traffic goes through it, causing bosh to throw SSL validation errors.
is there an embedded cert store for the CLI that I could add my cert, or an option to ignore ssl verification?

@warroyo you should be able to specify --ca-cert option with certificates to be trusted.

@cppforlife i thought this option was used for the cert to connect to the director?

@warroyo yeah, but i thought that's what you meant. if you are specifically talking about public stemcells command, it has been deprecated long time ago -- use bosh.io/stemcells to find out stemcells. also consider using cliv2: https://bosh.io/docs/cli-v2.html.

@cppforlife i am referring to any bosh cli command that goes out to the internet. That command was being executed by a script included in the redis-release(https://github.com/cloudfoundry-community/redis-boshrelease/blob/master/templates/make_manifest#L61). I will take a look at v2. thanks!

@cppforlife i tried out v2 and it has the same issue. does the CLI use an embedded cert store that is somewhere on the filesystem. if so I can add my cert to the cert store

Closing this due to inactivity. Feel free to reopen or create a new issue if you have further questions.


Use findInternal instead of acquire

We need to synchronize on the access container lock in case another thread calls insertOrReplace.
The test case included works well if I constrain threads to two cores (i.e. numactl -C 0,1 ./allocatorTypeTest --gtest_filter=BaseAllocatorTest/0.ChainedItemParentAcquireAfterMove).
I get the following exception:

closing - instead use https://github.com/vinser52/CacheLib/pull/5


Polyline not moving in sync with billboard and label

Intended outcome:

Add an ac-layer with billboards(planes), a polyline (height-line) from the billboards position to the earth and a label. The billboards, the polyline and the label should be moving together when updated.
Actual outcome:

The billboard and label are moving together, but the polyline moves a little bit later. This is especially visible with much data and lower frame rates (in my case 5000 entities).
How to reproduce the issue:

Use the attached code to reproduce.
track-layer.component.html:
<ac-layer acFor="let track of tracks$" [show]="true" [context]="this">
    <ac-billboard-desc props="{
        image: track.image,
        position: Cesium.Cartesian3.fromRadians(track.longitude, track.latitude, track.height),
        color: new Cesium.Color(0, 0, 1.0, 1)
        }">
    </ac-billboard-desc>

    <ac-label-desc props="{
        position: Cesium.Cartesian3.fromRadians(track.longitude, track.latitude, track.height),
        text: track.name,
        font: '15px sans-serif',
        pixelOffset: [0,18] | pixelOffset
        }">
    </ac-label-desc>

    <ac-polyline-desc props="{
        positions: [Cesium.Cartesian3.fromRadians(track.longitude, track.latitude, track.height),Cesium.Cartesian3.fromRadians(track.longitude, track.latitude, 0)],
        width: 1
      }">
      </ac-polyline-desc>
</ac-layer>

track-layer.component.ts:
import { Component, OnInit, Injectable } from '@angular/core';
import { Observable, from } from 'rxjs';
import { map } from 'rxjs/operators';
import { AcNotification, ActionType } from 'angular-cesium';

@Component({
  selector: 'track-layer',
  templateUrl: 'track-layer.component.html',
})

export class TrackLayerComponent implements OnInit {
  tracks$: Observable<AcNotification>;

  Cesium = Cesium;

  constructor(private tracksService: tracksService) {
  }

  ngOnInit() {
    this.tracks$ = this.tracksService.getTracks().pipe(
      map(track => ({
        id: (track as any).id,
        actionType: ActionType.ADD_UPDATE,
        entity: track,
      }))
    );
  }

}

// Example mock service

@Injectable({
  providedIn: 'root'
})

export class tracksService {
  private tracks: any[] = [];

  private nofTracks = 5000;

  toRadians(value: number) {
    return value * Math.PI / 180;
  }

  getTracks() {
    for (let i = 0; i < this.nofTracks; i++) {
      let latitude = this.toRadians(Math.random() * 180 - 90);
      let longitude = this.toRadians(Math.random() * 360 - 180);
      let height = Math.random() * 300000;
      let speed = this.toRadians(Math.random() * 6 - 3);
      this.tracks.push({
        id: i,
        longitude,
        latitude,
        height,
        speed,
        name: 'Track ' + i,
        image: 'assets/images/track32.png',
      });
    }

    const observable = new Observable(subscriber => {
      for (let track of this.tracks) {
        subscriber.next(track)
      }

      setInterval(() => {
        for (let track of this.tracks) {
          track.longitude = track.longitude + track.speed;
          subscriber.next(track);
        }
      }, 1000);
    });
    return observable;
  }
}

Version

<EMAIL_ADDRESS>

This is how it should look like:

But because the lines are moving later than the labels and billboards it often looks like this:

+1 . I'm seeing this behavior as well. Is there a way to make the polyline (or multiple polylines) update in sync with the entity when it updates?