Android Scrollview ContentInset/ContentOffset do not behave properly.

Please provide all the information requested. Issues that do not follow this format are likely to stall.
Description
Please provide a clear and concise description of what the bug is. Include screenshots if needed.
Please test using the latest React Native release to make sure your issue has not already been fixed: https://reactnative.dev/docs/upgrading.html
Content Offset and Content Inset do not work for Android devices on React Native ScrollViews
React Native version:
Run react-native info in your terminal and copy the results here.
System:
OS: macOS 10.15.7
CPU: (8) x64 Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
Memory: 91.34 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 8.15.1 - /usr/local/bin/node
Yarn: Not Found
npm: 6.13.7 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.9.3 - /Users/Dellybro/.rvm/gems/ruby-2.6.3/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.1, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
Android SDK: Not Found
IDEs:
Android Studio: 3.5 AI-191.8<IP_ADDRESS>00203
Xcode: 12.1/12A7403 - /usr/bin/xcodebuild
Languages:
Java: 11.0.2 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: 0.63.3 => 0.63.3
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

Create a horizontal scrollview and attempt to use content inset and content offset. Nothing will happen

Expected Results
Describe what you expected to happen.
I would expect the same results as iOS with contentInset is moves the start and contentOffset is moves the initial starting value
Snack, code example, screenshot, or link to a repository:
Please provide a Snack (https://snack.expo.io/), a link to a repository on GitHub, or provide a minimal code example that reproduces the problem.
You may provide a screenshot of the application if you think it is relevant to your bug report.
Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve
https://stackoverflow.com/questions/65014040/react-native-android-scrollview-content-inset-content-offset-not-applied
Please review this stackoverflow question which has all of the information about my current situation.
Snack Expo link https://snack.expo.io/gW4iCCXOD

The same for me

This is an issue in "react-native": "0.62.2"

So apparently, for android you must use padding.

this must have been solved with https://github.com/facebook/react-native/commit/ed29ba13f97f240c91fdf6c0ef3fb601046697b9 available since 0.63.4 see changelog at https://github.com/react-native-community/releases/blob/master/CHANGELOG.md

Can confirm that for 0.63.3 contentOffset for Android didn't work, and works for 0.63.4 version.

@fabriziobertoglio1987 It seems to only fix contentOffset but not contentInset. Can confirm contentInset is not working at all on Android.

contentOffset is working well in 0.63.3! A difference compared to ios is that contentOffset x or y doesn't accept going from null/undefined to a number. 0 has to be the default

contentInset is still not working on Android. alternatively, you can pass style to contentContainerStyle.
e.g. : contentContainerStyle={{ paddingBottom: 150 }}

Why not accept this PR ?

@Gregoirevda It does not work on the latest version, but 0.63.4 works.

Still have this issue on v.0.68.1. Setting contentOffset doesn't work, but initialScrollIndex works.

I am having this issue with react-native 0.68.2

This is a work a round if someone is intressted.
    useEffect(()=> {
        if (scrollviewRef.current)
        scrollviewRef.current.scrollTo({...contenOffset, animated:false})
    },[contenOffset])

Fixed on https://github.com/facebook/react-native/commit/be260b9f479a3b55ee43d2959d2c49fd3c1eb4ac

Unfortunately this is still an issue

Can confirm still not working on Android OS. Current workaround to have the same behavior on iOS & Android:
contentContainerStyle={{ paddingBottom }}

This is still an issue


Schedule Templates are shared site-wide

One idea is to have some default templates that are available read-only to league admins, but also let leagues create their own which are viewable only for the league they were created in.

My plan is to do away with schedule templates and instead create schedules automatically based on criteria entered.
Alternative to auto creation will be to manually enter your own schedule.


I broke the terminal

I wasn't doing anything unusual with the terminal. A bit later I noticed that the terminal was blank and that error was in devtools.
I've been messing around trying to repro it and I can't, so... 🤷♂

Me too!

Closing since heaps of changes have been made to xterm.js since


ghunt: init at 2.0.1

Description of changes
Offensive Google framework
https://github.com/mxrch/ghunt
Related to #81418

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 254436 run on x86_64-linux 1

6 packages built:

ghunt
ghunt.dist
python310Packages.autoslot
python310Packages.autoslot.dist
python311Packages.autoslot
python311Packages.autoslot.dist


add api key auth

(Jove Github Bot) added it to the current sprint.

(Jove Github Bot) moved this ticket out of the GitHub project(up to 1200 tickets for one project).


Need easily queryable information for search queries

We want to be able to quickly search for top N search terms over a period of time. I would love to have this surfaced through Kusto so we can generalize and consolidate querying this sort of telemetry in one place

Getting data through AI


Create new virtual machine offer

The current azpc vm create CLI command fails as it tries to use the Partner Portal API instead of the Cloud Partner Portal API. It appears to be due to the creation method not yet built into the virtual_machine.py class.

This one surprises me, because this command is one of the critical ones for my internal processes. I will investigate further, and wonder if "azpc vm update" is working as intended?

This one surprises me, because this command is one of the critical ones for my internal processes. I will investigate further, and wonder if "azpc vm update" is working as intended?
azpc vm update is working as expected. We have forked this repo and added in some changes to get this working. We can discuss this tomorrow in our call.
But essentially, the create() method was missing from the virtual_machine.py class, so it was using the create() method from the parent class, which is using the wrong API. We have added in the method (and more testing) in our fork.


could not open file "./analyze_new_cluster.sh": Permission denied

The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/postgresql/13/data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Etc/UTC
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... initdb: warning: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
ok

Success. You can now start the database server using:

    pg_ctl -D /var/lib/postgresql/13/data -l logfile start

Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok
Checking database user is the install user                  ok
Checking database connection settings                       ok
Checking for prepared transactions                          ok
Checking for system-defined composite types in user tables  ok
Checking for reg* data types in user tables                 ok
Checking for contrib/isn with bigint-passing mismatch       ok
Checking for tables WITH OIDS                               ok
Checking for invalid "sql_identifier" user columns          ok
Checking for invalid "unknown" user columns                 ok
Checking for roles starting with "pg_"                      ok
Creating dump of global objects                             ok
Creating dump of database schemas
  mattermost
  postgres
  template1
                                                            ok
Checking for presence of required libraries                 ok
Checking database user is the install user                  ok
Checking for prepared transactions                          ok
Checking for new cluster tablespace directories             ok

If pg_upgrade fails after this point, you must re-initdb the
new cluster before continuing.

Performing Upgrade
------------------
Analyzing all rows in the new cluster                       ok
Freezing all rows in the new cluster                        ok
Deleting files from new pg_xact                             ok
Copying old pg_clog to new server                           ok
Setting oldest XID for new cluster                          ok
Setting next transaction ID and epoch for new cluster       ok
Deleting files from new pg_multixact/offsets                ok
Copying old pg_multixact/offsets to new server              ok
Deleting files from new pg_multixact/members                ok
Copying old pg_multixact/members to new server              ok
Setting next multixact ID and offset for new cluster        ok
Resetting WAL archives                                      ok
Setting frozenxid and minmxid counters in new cluster       ok
Restoring global objects in the new cluster                 ok
Restoring database schemas in the new cluster
  template1
  mattermost
  postgres
                                                            ok
Adding ".old" suffix to old global/pg_control               ok

If you want to start the old cluster, you will need to remove
the ".old" suffix from /var/lib/postgresql/9.4/data/global/pg_control.old.
Because "link" mode was used, the old cluster cannot be safely
started once the new cluster has been started.

Linking user relation files
  /var/lib/postgresql/9.4/data/base/16384/12095
  /var/lib/postgresql/9.4/data/base/16384/12097

..
...
..

  /var/lib/postgresql/9.4/data/base/1/12095
  /var/lib/postgresql/9.4/data/base/1/12097
                                                            ok
Setting next OID for new cluster                            ok
Sync data directory to disk                                 ok
Creating script to analyze new cluster
could not open file "./analyze_new_cluster.sh": Permission denied
Failure, exiting

linux version : Linux 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
CentOS Linux release 7.8.2003 (Core)
Derived from Red Hat Enterprise Linux 7.8 (Source)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.8.2003 (Core)
CentOS Linux release 7.8.2003 (Core)
cpe:/o:centos:centos:7

docker version : Docker version 19.03.13, build 4484c46d9d
could not open file "./analyze_new_cluster.sh": Permission denied
Failure, exiting
It doesn't go any further with that error.
help me.

@melong0124 did you take a look at https://github.com/tianon/docker-postgres-upgrade as the script you're mentioning is failing inside upgrade container?


is it possible to know if a tweet is original or if it's a retweet?

Initial Check
Make sure you've checked the following.

[x] Python version is 3.5 or higher.
[x] Using the latest version of Twint.

If this is a feature request please specify in the title:
Example:

[REQUEST] More features!

Command
Please provide the exact command ran including the username/search so I may reproduce the issue.
Description of Issue
It's a doubt rather than a issue, I can get the list of tweets matching with a criteria but, Is there a way to know is a tweet is original of if it is a retweet from other one?
and if it is possible, is it possible to know who wrote the original tweet?
many thanks
OS Details
Using Windows, Linux? Linux  What OS version? Ubuntu 16

Hi @Nestor75,
Could you elaborate a bit?

Yes of course,
Let's give an explample:

Original_user tweets  a tweet with id "00000000001" and the text "this is an example #example"

user A retweets the tweet with id "00000000001" and the text "this is an example #example" from Original user-> this tweet would have anothee different ID = "00000000002"

user B retweets the tweet with id "00000000002" and the text "this is an example #example" from user A-> this tweet would have anothee different ID = "00000000003"

and all of them are retweeted by many other users
imagine I search by the hashtag "#example" and I got all the above tweets plus all the tweets from other users.
Is there a way to find out which was the original tweet and therefore the original user?

tl;dr they're all original

I'm still a little confused by the question, but I don't think a Tweet is assigned a new tweet-id when it's retweeted... plus RT'd tweets aren't visible from Twitter's search, only the Tweets themselves.
I do have a method to collect Retweets, but I haven't implemented it into the project yet.
Hope this answers your question.

Therefore, all tweets, which you get with "twint", from a user are your own tweets. True?
So do not we get the tweets that are retweets? That is, not the own tweets of the user if not the tweets that the user have retweeted of other users.
The truth that it would be very useful to know the tweets that have retweeted a user to identify their activity and interest.
Thank!!!!

You can use Twitter's own parameter:-
filter:retweets
If you only want to fetch RTs, but it would also be useful to have a column in the output that identified whether the tweet was organic, a reply, or a retweet.

Sorry @hudmb , I didn't understand what you mean with the filter.
Could you tell me what command I should use to get the tweets that a user has retweeted?
Thank you very much!!!

In a search parameter you can use something like this: -
-s "from:realdonaldtrump filter:retweets"
This should retrieve all RTs by Donald Trump, as far as I know.
Maybe @haccer could confirm if the filter:retweets could be used with the user command as well as the search command?

not possible according to me.

Hi @hudmb ,
filter:retweets doesn't work with Twitter anymore, retweeted Tweets aren't visible from Twitter's search


Edge ids should be strings

When we create new edges, we're returning their kg_id as integers, which is out of spec.
Instead, they should be strings.

i added code to insure that the result of the new edge id hash is coerced into a string.
fix is in Phil_AC branch.

Please add a test around this issue and then close / merge

fixed in a4a494d

new tests passed.


.gitignore causes Secrets.toml not to be archived

More details can be found in this thread, but basically, adding Secrets.toml to .gitignore causes the secrets file to not be archived
https://discord.com/channels/803236282088161321/1030516396402151424/1031688024687382590

Fixed in #422


Unexpected result when SORT BY option is changed

When the SORT BY option is changed, comments on the video are re-rendered in the default way of YouTube(regardless of #CLFSelect value), and the comments are still indexing well. It may be occurred by duplicated loader or else.

Reference this video which reproduces this issue.


Web -  Tooltip max lines is not enforced in LHN avatar tooltips

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

Action Performed:

Go to staging.new.expensify.com

Log in with account

Hover over profiles with long emails in LHN

Expected Result:
Tooltip content should be restricted up to 3 lines like we have done in other tooltips
Actual Result:
Tooltip content has no limit for LHN tooltips
Workaround:
Unknown
Platforms:

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/563df817-a8ba-43e4-b7cc-2646b8ff153e
https://github.com/Expensify/App/assets/93399543/f486e62e-3d73-49f6-b519-52e80da8e66b
Expensify/Expensify Issue URL:
Issue reported by: @chiragxarora
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1687183748825679
View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
tooltip max lines is not enforced in newly added user-details tooltip.
What is the root cause of that problem?
Root cause is that in UserDetailsTooltip component we have not restricted the text nodes content and we allow all length of data to be rendered. We have a key TOOLTIP_MAX_LINES set to 3 defined in our CONST.js file which we have used in other tooltips of our app. The newly introduced UserDetailsTooltip does not use that.
https://github.com/Expensify/App/blob/599f05a801829c4cf9a57bd307acd125195d9437/src/components/UserDetailsTooltip/index.js#L18-L33
What changes do you think we should make in order to solve the problem?
Inside UserDetailsTooltip component, we should add the TOOLTIP_MAX_LINES key to elipsisize the text in the tooltip.
We can do so by first importing the key from CONST.js and then sending it as a prop-value to the to numberOfLines prop in <Text/>.
We shall do this for both the <Text/> components for display name and login respectively.
<View style={[styles.alignItemsCenter, styles.ph2, styles.pv2]}>
                <View style={styles.emptyAvatar}>
                    <Avatar
                        containerStyles={[styles.actionAvatar]}
                        source={UserUtils.getAvatar(userDetails.avatar, userDetails.accountID)}
                    />
                </View>
                <Text style={[styles.mt2, styles.textMicroBold, styles.textReactionSenders, styles.textAlignCenter]} numberOfLines={CONST.TOOLTIP_MAX_LINES}>
                    {String(userDetails.displayName).trim() ? userDetails.displayName : ''}
                </Text>
                <Text style={[styles.textMicro, styles.fontColorReactionLabel]} numberOfLines={CONST.TOOLTIP_MAX_LINES}>
                    {String(userDetails.login || '').trim() && !_.isEqual(userDetails.login, userDetails.displayName) ? Str.removeSMSDomain(userDetails.login) : ''}
                </Text>
            </View>

Results

### What alternative solutions did you explore? (Optional)
None

taking to slack
https://expensify.slack.com/archives/C049HHMV9SM/p1687816422791339?thread_ts=1687183748.825679&cid=C049HHMV9SM

Deemed feature request and not a bug.


Unable to find SynthesizeSpeechRequest method for 'WithSpeechMarkTypes' in Aws::TextToSpeechManager :: aws c++ sdk

What platform/OS are you using?
Windows
I am writing program to get SpeechMarks using c++ aws sdk. I am able to get audio stream using "Aws::TextToSpeech::TextToSpeechManager::SendTextToOutputDevice()".
But I am not able to find any method in TextToSpeechManager to get SpeechMarks.
Please let me know if I am missing anything.

Hi, thanks for reporting this problem. Currently, the SendTextToOutputDevice function in TextToSpeechManager only accept a text and a callback as the input mainly for simplicity.
We will add Consider supporting SynthesizeSpeechRequest as an input for TextToSpeechManager for enhanced visual experience to our backlog.

Also, PRs are welcome

Closing the issue


Should have a option for hierarchical tree view other than flat view for package.

Fixed in pr #117


Question about absolute error in NestedRule

Nice package! I am trying to implement some custom quadrature rules using quadax. I was trying to understand how you are computing the absolute error in NestedRule:
abserr = jnp.where(
    (integral_mmn != 0.0) & (abserr != 0.0),
    integral_mmn * jnp.minimum(1.0, (200.0 * abserr / integral_mmn) ** 1.5),
    abserr,
)
abserr = jnp.where(
    (integral_abs > uflow / (50.0 * eps)),
    jnp.maximum((eps * 50.0) * integral_abs, abserr),
    abserr,
)

Where are you getting the numbers 200.0, 1.5, and 50.0 from?

These were mostly taken from the fortran library QUADPACK (for which the documentation is rather sparse for things like this). My understanding is that they are heuristic values meant to compensate for floating point errors and possible under/overflow.
I think for most reasonably "well behaved" integrands this sort of stuff isn't necessary, so you can probably omit it.


refactor: use compare empty array on Forge on keys property

Description
The usage of keys property is as array, eg: count($this->key) so compare with empty array is fine, other check also compare with empty array.
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[ ] Conforms to style guide

Ready to merge 👍

Thank you @paulbalandan for the review, let's merge ;)


Add Java tests

Linux and Mac Java tests (build only for Windows)
Also changed new lines from \r\n to \n

@dkurt many thanks!


Manipulate Plane Model

I am generating a plane model and would like to point it towards the user like a screen. However, I cannot manipulate the plane via UI.Handle("Plane", ref planePose, cubeBounds, true). And when setting the plane transform manually, it is always in the xz plane. Looking at the doc, I am wondering whether planes generated via GeneratePlane are only intended as floor (always xz plane) and cannot be manipulated like other objects?
And there is this really handy Plane class, which lets you set the normal (eg. from the object center to the user). Would be great if I can just set the plane model like this, is this possible?

A thin cube seems to do the trick.

Yeah, the generated plane is currently XZ only in model space. You can use Matrix transforms to compensate for this without too much trouble, here's a quick example:
Model planeModel = new Model();
planeModel.AddSubset(
	Mesh.GeneratePlane(Vec2.One),
	Material.Default,
	Matrix.R(Quat.FromAngles(-90,0,0)));

UI.Handle("planeHandle", ref meshPose, planeModel.Bounds, false);
planeModel.Draw(meshPose.ToMatrix());

I use Model here instead of a Mesh, largely because the Model will properly recalculate the Bounds taking into consideration the subset's transform. If Bounds aren't a concern, you can also mix Matrices like this:
planeModel.Draw(Matrix.R(Quat.FromAngles(-90, 0, 0)) * meshPose.ToMatrix());
You might also be interested in the default quad mesh, which I often use for occasions that require facing behavior!

Thanks, that is super helpful!


IMRA iOS does not ask PIN

I can launch IMRA and access my attributes without the PIN on iOS 12.1.1

Duplicates #32


ETCM-207: Discovery v4 Part2

Builds on https://github.com/input-output-hk/scalanet/pull/95 see the diff
Adds a DiscoveryService component which hopefully implements the spec.
The main differences from KRouter are:

Before we talk to a node we need to bond with it.
Does not respond to nodes it hasn't bonded with, unless it's a ping, which triggers a bond.
Doesn't touch the k-bucket timestamps in any other case as when a Pong is received. I don't see a problem if it did, I just followed what Trinity does for now.
Nodes encountered during the recursive lookup are bonded with, otherwise they aren't followed or returned in the closest set.
When looking up a node, we only return the result if the ENR could be fetched; just getting it from the lookup procedure itself is not enough (they could lie about the TCP port).
When the rest of the system asks for nodes (for gossiping for example) they only get ones where we could fetch the ENR.
It will consider contacting all k closest nodes, not just alpha.
Supports changing the external address.
Updates the node address if it talks from a new port.
Validates signatures.
If the bucket the peer goes into is full and the existing node cannot be evicted, it still inserts the new candidate into the node records, just not the routing table. This way it could be resolved in getNode without having to look it up again, although it won't be returned in FindNode requests. But it will be returned by getNodes if the rest of the system needs candidates to gossip to.
It doesn't return the bootstrap nodes for gossiping until their ENR can be resolved.

Main differences from Trinity:

Doesn't have a persistent ENR store.
Only performs alpha concurrent FindNode
Allows multiple lookups at the same time
Maintains the bonded status based on ID, IP and UDP port, so a new address requires new bonding.

The class is all about manipulating internal state and doing async operations, the public interface exposes very little of this. The tests have full access to all the helper methods and the state, so that I can unit tests everything by setting up and verifying the state directly.

Thanks for the review, great points!

In my opinion it is litte hard to follow what is happening and when, but this is probably non-avoidable complexity of this whole protocol.

I agree, it's difficult to reason about the state because both sides can forget any time what happened earlier, so there's a lot of "just in case" in there. The v5 rationale enumerates many shortcomings with the v4 protocol. Node records will be gone in favor of ENRs, endproof verification replaced with handshake, etc.
And yeah, it would be difficult to work on this any longer without implementing the missing RLP and crypto bits, so it needs to connect to Mantis very soon.

The summary of here is that before sending any request to a peer, we have to call bond, which checks if 1) the last ping has been too long ago, in which it pings now and 2) if we haven an ENR from the peer, initiating an async fetch if we don't. lookup is only ever used to collect peers, and as a side effect kick off a bunch of background ENR fetches. Eventually some of these will end up populating the node map which is where peer candidates are returned when the host application asks.


ManagedIdentityCredential failing with  version 1.17.0

azure-identity
1.17.0
Docker image: python:3.12-slim-bookworm
running in an Azure Container Instance

Describe the bug
Authentication with Managed Identity failing since upgrading from 1.16.0 to 1.17.0
Error Trace
DefaultAzureCredential failed to retrieve a token from the included credentials.
Attempted credentials:
	EnvironmentCredential: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.
Visit https://aka.ms/azsdk/python/identity/environmentcredential/troubleshoot to troubleshoot this issue.
	ManagedIdentityCredential: Unexpected content type "text/plain; charset=utf-8"
	SharedTokenCacheCredential: SharedTokenCacheCredential authentication unavailable. No accounts were found in the cache.
	AzureCliCredential: Azure CLI not found on path
	AzurePowerShellCredential: PowerShell is not installed
	AzureDeveloperCliCredential: Azure Developer CLI could not be found. Please visit https://aka.ms/azure-dev for installation instructions and then,once installed, authenticate to your Azure account using 'azd auth login'.
To mitigate this issue, please refer to the troubleshooting guidelines here at https://aka.ms/azsdk/python/identity/defaultazurecredential/troubleshoot.

Remediation
Authentication is successful after rolling back to 1.16.0

I can also confirm, we're having the same issues running in an Azure Container Instance. Rolling back to 1.16.1 seems to work without issues.
ManagedIdentityCredential: Unexpected content type "text/plain; charset=utf-8"

Thanks for the feedback.
Could you help to check if this only repros when you use it in DefaultAzureCredential?
Does it also repro if you use ManagedIdentityCredential directly?
Thanks.

I have this same issue. Currently working around  on ACI by using ManagedIdentityCredential directly.

ManagedIdentityCredential

Does not repro when using ManagedIdentityCredential

Azure-identity 1.17.1 with the fix has shipped. Please let us know if it does not work.
https://pypi.org/project/azure-identity/1.17.1/


Second call is too slow

Hi.

And ran the folowing script:
`<?php
use Spiral\Goridge;
require "vendor/autoload.php";
$t1 = microtime(true);
$rpc = new Goridge\RPC(
new Goridge\SocketRelay("<IP_ADDRESS>", 6001)
);
echo $rpc->call("App.Hi", "Antony");
$t3 = (float)microtime(true) - (float)$t1;
echo ": $t3 | ";
$t1 = microtime(true);
echo $rpc->call("App.Hi", "Antony");
$t2 = microtime(true);
$t3 = (float)$t2 - (float)$t1;
echo ": $t3" . PHP_EOL;`
I got a result:
Hello, Antony!: 0.00071406364440918 | Hello, Antony!: 0.041256904602051
Is it a bug? Or I made mistake?
** Thank for your job!

What environment are you using? Is it Windows? Use unix sockets on Linux as much faster communication transport.

Thanks.
I'm using Linux. On unix sockets I don't have this problem.

Yeah, we are currently experiencing slowness with TCP on Linux. That will be addressed in a future release. Please stick to unix for now.

@vvval Could you please help here?
We need to reduce number of syscalls. In the src/RCP.php file, function send.
        !!! CONCATENATE THIS CALL
        $this->relay->send(
            $method . pack("P", $this->seq),
            Relay::PAYLOAD_CONTROL | Relay::PAYLOAD_RAW
        );

        if ($flags & Relay::PAYLOAD_RAW) {
            !!! WITH THIS
            $this->relay->send($payload, $flags);
        } else {
            $body = json_encode($payload);
            if ($body === false) {
                throw new Exceptions\ServiceException(sprintf(
                    "json encode: %s",
                    json_last_error_msg()
                ));
            }
            !!! AND THIS
            $this->relay->send($body);
        }

into one send.

@wolfy-j @swifft17 @vvval  Hello, Antony!: 0.00073885917663574 | Hello, Antony!: 0.00010585784912109 Now the timestamps are almost the same.


Fix(registration)/waitlist limit

Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.
If an events limit is increased, members from  the waitlist is bumped up.
If an events limit is decreased, members from the queue is bumped down.
Priority is respected.
Issue number: closes #
Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] CHANGELOG.md has been updated. Guide
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been reviewed and added / updated if needed (for bug fixes / features)
[ ] The fixtures have been updated if needed (for migrations)

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Ble litt rot der, men ja du ser hva som må bli fiksa


Prepare Solidus Importer for Solidus 3.0

Update this extension so that it works with Solidus 3.0 by making sure the specs pass.

I'll take this one 👍


added option to web5 connect to allow custom dwn

related to https://github.com/TBD54566975/web5-js/issues/162

added additional overrides for more options.

With PR #168 merged, it is possible to override every component of the underlying Web5Agent that is used with the Web5 API.
One thing to note is that the implementation of the Connect Protocol is a fast-follow for PR 168, so you'll see some stubbing in Web5.connect() for now.  This should be done fairly quickly.
Kitchen sink example here.
Simpler example:
// Customize DWN stores:
const messageStore = new MessageStoreLevel({ blockstoreLocation: 'data/dwn/message-store', indexLocation: 'data/dwn/message-index' });
const dataStore = new DataStoreLevel({ blockstoreLocation: 'data/dwn/data-store' });
const eventLog = new EventLogLevel({ location: 'data/dwn/event-log' });

// Instantiate DWN using stores:
const dwn = await Dwn.create({ messageStore, dataStore, eventLog });
const dwnManager = await DwnManager.create({ dwn: mockDwn });

// Create an Agent using the customized DWN:
const agent = await Web5UserAgent.create({ dwnManager });

// Create a customized Identity & DID:
const alice = await testAgent.agent.identityManager.create({
  name      : 'Alice',
  didMethod : 'ion',
  kms       : 'local'
});

// Call connect() with the custom agent.
const { web5, did } = await Web5.connect({ agent, connectedDid : alice.did });

One question @andorsk : Do you think you'd typically want to override JUST the DWN instance such that it might make sense to have that option for connect() options?  In other words, keep everything else the same but use a customized DWN instance.

@andorsk will close for now since this PR was for the pre-refactor code base.  Still very interested in your thoughts on the question of passing just a custom DWN instance in to Web5.connect().  Please reach out on Discord.

awesome. Thanks Frank! Will ping you.

With PR #168 merged, it is possible to override every component of the underlying Web5Agent that is used with the Web5 API, including with Web5.connect().
One thing to note is that the implementation of the Connect Protocol is a fast-follow for PR 168, so you'll see some stubbing in Web5.connect() for now. This should be done fairly quickly.
Kitchen sink example here.
Simpler example:
// Customize DWN stores:
const messageStore = new MessageStoreLevel({ blockstoreLocation: 'data/dwn/message-store', indexLocation: 'data/dwn/message-index' });
const dataStore = new DataStoreLevel({ blockstoreLocation: 'data/dwn/data-store' });
const eventLog = new EventLogLevel({ location: 'data/dwn/event-log' });

// Instantiate DWN using stores:
const dwn = await Dwn.create({ messageStore, dataStore, eventLog });
const dwnManager = await DwnManager.create({ dwn: mockDwn });

// Create an Agent using the customized DWN:
const agent = await Web5UserAgent.create({ dwnManager });

// Create a customized Identity & DID:
const alice = await agent.identityManager.create({
  name      : 'Alice',
  didMethod : 'ion',
  kms       : 'local'
});

// Call connect() with the custom agent.
const { web5, did } = await Web5.connect({ agent, connectedDid : alice.did });

One question @andorsk : Do you think you'd typically want to override JUST the DWN instance such that it might make sense to have dwn as a property to be passed into connect()? In other words, keep other defaults except for the customized DWN instance.

@frankhinek possibly. The initial impetus for my changes was to address basically the core of this refactor. Let me try out the updates and see if there's any changes required.


Watch for changes in types roots

Watch for changes in type roots and reload the project when that happens.
Only tested in VS code so far

👍

@vladima can you take a look.


jax.numpy: add ufunc-style APIs for several jnp functions

This adds a ufunc object to the jax.numpy API, so that standard unary and binary functions have the extra methods exposed by numpy ufuncs. Example:
In [1]: import jax.numpy as jnp

In [2]: x = jnp.arange(5)

In [3]: indices = jnp.array([1, 1, 3])

In [4]: jnp.add(x, 1)  # Standard function call works
Out[4]: DeviceArray([1, 2, 3, 4, 5], dtype=int32)

In [5]: jnp.add.reduce(x)  # reduce() method applies binary reduction.
Out[5]: DeviceArray(10, dtype=int32)

In [6]: jnp.add.accumulate(x)  # accumulate() method is cumulative reduction
Out[6]: DeviceArray([ 0,  1,  3,  6, 10], dtype=int32)

In [7]: jnp.add.at(x, indices, 10, inplace=False)  # at() method is similar to JAX's ndarray.at
Out[7]: DeviceArray([ 0, 21,  2, 13,  4], dtype=int32)

In [8]: jnp.add.reduceat(x, indices)  # reduceat() is similar to JAX's segment_sum
Out[8]: DeviceArray([0, 3, 7], dtype=int32)

I'll still need to give the ufunc treatment to the rest of the functions in jax._src.numpy.ufuncs, but this gives us a good start.

Note to self: we could also probably raise better errors for unsupported function arguments, cf. #1328 and #1364

For some of these, we should probably compute accumulations via associative_scan rather than scan for better performance. I'll probably leave that for a followup.

I was thinking about this more... maybe a more JAXy way to do this would be to define a @ufunc decorator that can turn any function into a ufunc instance with the appropriate attributes. That would reduce the complexity of this change, and we could introduce the feature in a more gradual manner. We could potentially wrap basic ufuncs by default, but we wouldn't have to do it right away.

Closing in favor of https://github.com/google/jax/pull/17054 for now.


Davidgamero/draft workflow UI

Description
continuing work from #79
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
This adds the features of creating a github actions workflow through the vscode extension.
Add new dependency on git extension within vscode.
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration. Is it a breaking change which will impact consuming tool(s).

[x] Testing extension working through properly configured Azure resources.

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

hey @Tatsinnit , this PR is mostly updating the PR @bfoley13 had previously to match the current patterns used in the extension.
the current goal is to also add the ability to set OIDC secrets on github to enable the generated workflows to actually run as well (which is why the updates to az.ts and git client are used)
i can update the PR to better describe the purpose and goal as I recognize it is a lot of code to review
happy to discuss the goals, @qpetraroia has more perspective here too


Polish docs

This PR makes a final polish to the apps layer docs

Thanks for the corrections Juan Miguel. The two sentences of lines 296 and 297 of the sample.py module should separated in two lines: (otherwise, the first line appears in bold in the html file).
296 """Generate samples for computing vibronic spectra.
297 The following gates are applied to input vacuum states:

@soranjh, not sure, but I think the problem as instead the lack of indentation in the codeblock, causing the formatting to go off generally


Error on update to 0.6.0

Just update my atoti installation to 0.6.0.  No error messages on upgrade.  When I go to open a notebook I get the following error
_ No module named 'atoti.bitwise_operators_only

Can you attach a notebook for which you get this issue please?
Also could you please provide more information about your environment (operating system, Python version, and the versions of other packages installed in your Python environment).

I resolved the problem over the weekend by specifically updating the atoti Jupyter lab plugin again.  For the record, Operating System was WIndows, python 3.7.10

I am closing this issue since it has been resolved. You can open a new one or reopen it if you are facing other issues when updating to 0.6.0.


muxer: wait presence of segments before serving index.m3u8 and init.mp4

Codecov Report

Merging #22 (85b1630) into main (db0d805) will increase coverage by 0.30%.
The diff coverage is 73.14%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #22      +/-   ##
==========================================
+ Coverage   68.10%   68.41%   +0.30%
==========================================
  Files          49       49
  Lines        4399     4410      +11
==========================================
+ Hits         2996     3017      +21
+ Misses       1067     1061       -6
+ Partials      336      332       -4

Impacted Files
Coverage Δ

muxer_server.go
72.37% <72.44%> (ø)

muxer.go
60.86% <82.35%> (-7.39%)
:arrow_down:

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


GroupChat @ Skype: bot name is included in received message

This seems/might be related to https://github.com/botman/botman/issues/104
When in a group chat with a bot named "TestBot" the following occurs:

@TestBot Hello

message expected: Hello
message received / heard: TestBot Hello

Hello @TestBot

message expected: Hello
message received / heard: Hello TestBot

Are my expectations correct? This test suggests that the botname should be removed from the message, right?
Is there a way to get the "raw" message before the driver applies the regular expression?
Using Skype version <IP_ADDRESS> on MacOs

@mpociot I do not want to be rude / impatient, but is someone monitoring this library?
This issue prevents the use of Bots in a Skype GroupChat, for example to send a command to a Bot when in a GroupChat with a team....

hey @holtkamp , it is not rude. It is just this "Library"(BotMan) consists of 26 repositories around BotMan and we are mainly just 2 maintainers who don't get paid for this :-) So we try to maintain and help as possible. It looks like you are correct regarding the test, but I haven't used this driver yet and I can't look into it right now. In the meantime maybe you can join the BotMan Slack team and hopefully someone can help there sooner.

Thanks @christophrumpel for the detailed response! Hopefully I can arrange some time soon to dive into this 🤓


[Suggestion] Config?

Would love to be able to configure features individually, for example I'd like to disable the clock display since other spectator mods already do it better, but I also wanna keep this one for the scrolling feature.

Hey there, that shouldn't be too difficult- I'll try to sort it out soon


Tool to rebuild/reconcile Kptfile based on ref annotation in the config

When adding a new setter, there are 2+ places need to touch: one is the OpenAPI definition in the Kptfile, others are the actual config which ref to the setter definition.
As time moves: some definition can become out-dated, no referrence at all; while some other with references, but no definition (mainly caused by copy & update).
Can we have a tool like kpt rebuild Kptfile to regenerate Kptfile (mainly the OpenAPI definitions) based on existing references? To remove orphan definitions and also add definition when there is references.

Thanks for filing the issue. This would be a useful feature with UX impact. However, there are things to consider here

Remove orphan definitions => doable and easy
Definition when there is references => Can be done for setters and not substitutions. There would be cases where two fields might have different filed value but point to same setter reference. We need to dig deeper and look at the possibility.
Other option which is not mentioned in the issue => remove setter references if there are no definitions(which is inverse to 2).

@cydu-cloud This issue is no longer relevant with kpt v1 as setters are just a function and there is no need to have setter definitions/openapi section in Kptfile. Closing this issue. Please reopen the issue if you have any concerns. https://catalog.kpt.dev/apply-setters/v0.1/


Method [validateVatNumber] does not exist.

Hello,
I just installed the package, added the service provider and alias to the app.php config file.
I would like to validate an input with the vat_number validation rule. For this I added 'required|vat_number' in the rules for that field.
However with this I'm getting the following error:
Method [validateVatNumber] does not exist.

When checking the VatCalculatorServiceProvider class, the registerValidatorExtension method get's called, however the VatCalculatorValidatorExtension@validateVatNumber does not.
I'm using laravel 5.1.32, with package version 1.6.3.
Did I miss something ?
Thank you,
Edit:
I've found that when I comment the following:
private function registerMaxFolderSizeValidator()
    {
        Validator::resolver(function ($translator, $data, $rules, $messages, $attributes) {
            return new MaxFolderSizeValidator($translator, $data, $rules, $messages, $attributes);
        });
    }

here: https://github.com/AsgardCms/Media/blob/master/Providers/MediaServiceProvider.php#L80
The Vat Validation rules works. Somehow laravel doesn't like multiple resolvers ?

I'm having the same issue with the latest version and Laravel 5.2.23

What I had to do to fix it, is to register my own custom validator with the extend method instead of resolve.
This is because laravel can only have one resolver, meaning if this is used in multiple places, they will get overwritten by each other.
It would probably be best if this package also uses extend

Hum, I see. Would you be able to do a pull a request ?

The main reason I chose the resolve approach was because I wanted to provide custom error messages.
How would this work with extend?

@mpociot I see. I'm currently looking at image-validator package, which uses custom translations, with the extend method.
So I assume it is possible indeed.
@isbkch you can see on this commit what I had to change in order to use extend.

Fixed with version 1.7.1

Awesome, thank you! 😄


Use htmlFor in example in Checkbox docs.

Since it's JSX I don't think you can use "for". Some details are here:
https://github.com/facebook/react/issues/1819

Codecov Report

Merging #516 into rc0.8.0 will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           rc0.8.0     #516   +/-   ##
========================================
  Coverage    96.62%   96.62%
========================================
  Files           59       59
  Lines         1984     1984
  Branches       235      235
========================================
  Hits          1917     1917
  Misses          67       67

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 5e9620e...7c1b8b2. Read the comment docs.


underscore in python code

VS Code Version:  1.84.1
OS Version: MacOS

Steps to Reproduce:
when I type Python code , I have some code that are underscore and I do not why ? I have installed the packages.
(cf. picture
)
Thx

/question
Looks like spellcheck extension. Hower to see what it tells.

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!


Pypi page doesn't point at this source repo

It would be good if the pypi page pointed at this source repository, the homepage should be set there too, possibly to a readthedocs repository for sqlite-s3vfs

Hello! 👋
To check, which links should be set and where?
(I'm looking at https://pypi.org/project/sqlite-s3vfs/, and I see the homepage set to https://github.com/uktrade/sqlite-s3vfs, which I think is reasonable in the absence of readthedocs?)

Ah, that is indeed correct.
I think I just had the Window small / zoomed in and it collapsed the part of the page that was on.


ci: add semantic release push permissions

This pull request updates the github token for semantic release, allowing it to push to main while the ci isn't passing yet.

:tada: This PR is included in version 1.0.9 :tada:
The release is available on:

v1.0.9
GitHub release

Your semantic-release bot :package::rocket:


Remove icons next to streams

Yeah these are unnecessary clutter.  We should still display the lock icon next to private streams, though.

Wouldn't a # work better? I couldn't find such an icon quickly thus put this one temporarily.
Since we use #stream in the messages, and the designs showed a colored # next to the names instead of blocks?

Oops, you're right, these should just change to # since that's the long-term design plan.


Ft deployment to heroku 152026247

What does this PR do?
Have healthchecks-7-horsemen deployed to heroku.
Description of Task to be completed?
Adding a Procfile with gunicorn command.
Adding whitenoise to allow heroku to load static files.
Adding dj-database-url to handle postgres on heroku.
Adding configurations for heroku database handling.
Updating requirements.txt to include gunicorn, dj-database-url and whitenoise.
adding https config for gunicorn [bug #152192118]
What are the relevant pivotal tracker stories?
#152026247 #152192118

Coverage decreased (-0.2%) to 80.062% when pulling cf972d3fea9f649f3206fa5aa0391f69f0c9fa86 on ft-deployment-to-heroku-152026247 into a7397d0d38509ee52d3d3ac4cee7ece4d8ec39af on develop.

Coverage decreased (-0.3%) to 79.979% when pulling 59f5747edd247ab63d30f014b57766105c93aa13 on ft-deployment-to-heroku-152026247 into a7397d0d38509ee52d3d3ac4cee7ece4d8ec39af on develop.

Coverage decreased (-0.2%) to 80.021% when pulling 642138fa1300f57d2258398081ccad678165e276 on ft-deployment-to-heroku-152026247 into a7397d0d38509ee52d3d3ac4cee7ece4d8ec39af on develop.


GPS toggle always shows Android location settings dialog

Happens under Moto G Adroid 5.1 and Galaxy Tab S2 (6.0.1).
Adding GPS toggle, with whatever GPS options I choose always shows system location settings.
I was looking for a on/off, no settings toggle.
TIA.

Same thing is happening for me with mobile data, I have Marshmallow with SuperSU 2.79 and the toast message for SU shows, but the toggle pops up the settings dialog instead of toggling. It was working fine earlier, since updating to the latest security patch and SuperSU it is no longer working.


Add navbar in contact.html

Type of change

[ ] Added new project
[x] Bug fix
[ ] New features
[ ] Enhanced documentation

Changes proposed in this pull request

Project name : #194

There is too much gap between logo and Rapidoc

@Anishkagupta04 I have done a new PR creating #205


enhance webdriver init errors

When there's an error initializing WebDriver, we should give some more info about where to find information about what happened.
Addresses: https://github.com/groupon-testium/webdriver-http-sync/issues/20

:shipit:

published in 2.5.0


Can you give me some sample code in how to implement this into my project ?

I'm new to Swift and I don't know how to use this. I've already installed it using cocoapod but I don't know where to put ARSLineProgress.show(). I put it in my ViewController but it didn't work.

Hey @JohnWhisker,
it doesn't really matter where you call it, as the call will be forwarded to the main queue and the loader will be placed on top of the window's view. So far you are doing it properly. There might be something with your code maybe.

You can call this method from Objective-C as well, it will look like this:
[ARSLineProgress show];

I did call but it didn't work. I call ARSLineProgress.show() for testing in viewDidLoad() method right after super.viewDidLoad() but nothing show up

I don't know what you are doing, but I've just created a sample project and imported ARSLineProgress and called show() from viewDidLoad and it worked. Debug your code, I suppose :)
override func viewDidLoad() {
	super.viewDidLoad()

	ARSLineProgress.show()
}


Does Parse-Server verify if the client is legitimate for every request?

Does parse-server/Parse-SDK-iOS-OSX implement any methods of verifying whether the client is in fact legitimate? This would be for preventing mass account creation and similar issues. Doing something like a checksum would be ideal (Take the account name, API version, and a known secret and hash them together so the server can detect a fake client.).
This post on reddit describes what I mean: https://www.reddit.com/r/iOSProgramming/comments/50lub5/what_stops_a_user_from_spamming_the_creation_of/
I would consider this issue a feature-request if something similar to a checksum isn't already implemented.

As the SDK's are opensource too, A checksum would be ineffective. All those protections are usually implemented on a need to know basis.
Imagine we add the suggested checksum, and update all SDK's what prevent a malocious user to craft a nodejs app with the new SDK's and blast those same requests to your server? Nothing.

@flovilmart Even when using a secret key?
What do you suggest is an alternative solution? Is there anything you do for your own applications to prevent a user from just spamming requests to your app at any time without blocking out users with tools like rate limiting?

Secret key on the client? doesn't seem that secret. Some companies use rate limiting, machine learning, delays upon signup/login etc... But I don't think that fits within the scope of that project.

Yes but it still forces the user to disassemble the client, it acts as a layer of defence - I guess as all things in security.
Rate limiting can cause entire schools or businesses to be black listed in certain cases.
Certificate pinning isanother possibility, although it is tedious as I would have to bundle the file every time it is renewed (yearly).
I would be curious if you or anyone else has seen this sort of annoying behaviour in their app, and what they did to stop it. If it is a one off occurrence using a single ip you can just block the user but that isn't always the case.

Also worth mentioning that cloud providers like GAE don't provide features like ip restrictions.

Yes but it still forces the user to disassemble the client, it acts as a layer of defence

Disassembling JS very complicated I guess... Finding strings in a binary is as much complicated. Given that the applicationId has to be in the client too, the attacker need it to make 'successful' requests to your device.
I am not saying that it is impossible I'm just saying it's completely out of scope for that project. IF you want to achieve security, there are many things you can do, all of them are debatable, the iOS SDK is open source, you can very well swap the way API calls are made from your own fork etc...
Do you ask express.js to do rate limiting/certificate pinning/any other security? do you ask mongoose to do rate limiting? No, this is a deployment issue, and if GAE don't provide a feature you need, you can deploy it anywhere including a computer in your basement, with as many firewalls as you want.
You can put a cloud flare in front, you can do all sorts of things to protect the application layer, and most of the times, there will be a work around, a zero day in a package on your system.
If someone wants to makes your life hell, he'll be able to do it. But that's not our responsibility to provide those solutions.
Your question is better suited to stack exchange/server fault/stackoverflow as it applies to any kind of deployed server opened in the internet.

Do you ask express.js to do rate limiting/certificate pinning/any other security? do you ask mongoose to do rate limiting? No

Well no, express does not promise to be anywhere near as ambitious or as practical as parse-server is, I mean I don't even know how you could compare the two. Express is for building a backend, parse-server IS a backend.

If someone wants to makes your life hell, he'll be able to do it. But that's not our responsibility to provide those solutions.

Well that's stupid, I mean if I have some free time I'll take a look at your application with charles and see whether a repeated request every x number of seconds is detected by your service. I bet it isn't, are you okay with that? You do realize how easy that is to abuse..
Who are you to state whether it is the responsibility of myself or of the repository holders? Did the original hosted parse not have any of these mehanisms in place? Doubt it, so an effort is worth being made.

Your question is better suited to stack exchange/server fault/stackoverflow as it applies to any kind of deployed server opened in the internet.

Try asking for a feature request or for advice on stack, the question won't be open for long.

Who are you to state whether it is the responsibility of myself or of the repository holders

I'm a maintainer, I state what I believe is best for the project.

I bet it isn't, are you okay with that? You do realize how easy that is to abuse..

 Feel free to flood us with dummy requests!

Did the original hosted parse not have any of these mehanisms in place?

Yup, it was called rate limiting, and on a free plan it was 30 req/s. After that all request dropped. Making legitimate calls being dropped unless you pay the price.

Well, why don't you try asking for a feature request  or for advice on stack

I don't ask for feature request, I send pull requests.

 That is not the job of a maintainer.
The 'dummy' calls you are referring to could cause serious issues in the prospect of account creation, especially when anonymous users are enabled. You might think verification emails already solve the problem, but that isn't true for a mobile app.

I don't really need your insults, and you should check your tone.
However if you feel that's a critical feature that deserves to be included in the core code base, i'll gladly review and merge your PR. So far, I don't see anything constructive, nor you'be demonstrated that this particular feature request is critical to the project.
In the mean time, you should probably tone down. Insults are not really tolerated here.

@noder199 I've reported your profile as you mentioned intentionally harming our deployments and that'a not acceptable.


Address Willem's Comments in regards to the cubed sphere grid, projection and mesh gen

@MarekWlasak  and @odlomax are iterating to this in a branch feature/cubed-sphere-base.
@MarekWlasak  is dealing with the continuous xy projection space, while @odlomax is working on the rest

https://github.com/JCSDA-internal/atlas/pull/38  -deals with the continuous xy projection space.


Hover effect in the footer

feature to be added
Hover effect in the footer of the website
Describe the solution
by adding the hover effect it can add up the user experience.
If you want to  add up the feature, please assign it to me

I am ready to add this feature.
please assign me this task.
Just tell me how the effect should look like.
I will do.

I'm a contributor for GSSoC'23. Please, assign me an issue.


begin_import_image command is hanging when uploading images from one container registry to another

Package Name: Azure CLI
Package Version: 2.48.1
Operating System: Linux
Python Version: 3.8.10

Describe the bug
We are running the begin_import_image command on a ContainerRegistryManagementClient in our Azure CLI extension.  If this command is run multiple times, the command starts to hang.
I've hit the same issue when trying to upload 8 artifacts and the command usually starts hanging on the 6th artifact to be uploaded. I have tried changing the order of the artifacts to be uploaded. This did not fix the issue.
I had a look at the debug logs for this issue and it looks like the POST request triggered by the begin_import_image is triggered correctly but the subsequent GETs triggered by the poller which we have implemented as shown below, are continually receiving a 202 response and never succeed despite waiting for up to 1 hour.

result_poller = container_registry_client.begin_import_image(
       resource_group_name=target_registry_resource_group_name,
       registry_name=target_registry_name,
       parameters=import_parameters,
)

LongRunningOperation(cli_ctx, "Importing image...")(result_poller)

To Reproduce
Steps to reproduce the behavior:

Set up a container registry in Azure with at least 8 different images
Set up another empty container registry
Write a Python script which utilises the SDK to copy the images from one ACR to the other in a for loop. Use the code pasted above for the actual import image operation
Try running the script

Expected behavior
All the images should be uploaded and the command should not hang.
Screenshots
N/A
Additional context
Add any other context about the problem here.

Thank you for the feedback @patrykkulik-microsoft . We will investigate and get back to you asap.

Hi @patrykkulik-microsoft
Seems it's caused by service behavior, please open an issue in https://github.com/Azure/azure-rest-api-specs/issues for suggestions.


chore: remove old web server code and python deps

What type of PR is this? (check all applicable)

[x] Tidy

Description
chore: remove old web server code and python deps

flask and eventlet are no longer needed as direct dependencies
remove the old web server entirely (woohoo!)

Related Tickets & Documents

Supersedes  #4225
QA Instructions, Screenshots, Recordings

Manually uninstall the packages removed: pip uninstall flask flask_cors flask_socketio flaskwebgui eventlet
Reinstall the app dependencies: pip install -e .
The app should still run and generate

Good bye invoke_ai_web_server.py .. You served us well.


description field disappears after changing icon

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

create description
change icon
description is empty

Expected behavior
Description field stays filled
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Behavior Checked on:
traits
trappings
professions
weapons

Closed as not reproducable


[AXON-23] chore: remove echo

What is this:
Remove the echo we forgot in commands

Also in this: secrets: inherit for when we call nightly build from release


Latency test can fail in a weird way High level transaction error: The transaction's signature is invalid

If you run nix build -L .#cli-test.latency it will sometimes fail with:
fedimint-cli-test-latency> RESULT complete
fedimint-cli-test-latency> LN RECEIVE 2
fedimint-cli-test-latency> mint 0: 2023-02-17T18:40:17.590617Z ERROR jsonrpsee_server::transport::ws: WS transport error: i/o error: Transport endpoint is not connected (os error 107); ter
minate connection: 41
fedimint-cli-test-latency> mint 2: 2023-02-17T18:40:17.590617Z ERROR jsonrpsee_server::transport::ws: WS transport error: i/o error: Transport endpoint is not connected (os error 107); ter
minate connection: 42
fedimint-cli-test-latency> mint 3: 2023-02-17T18:40:17.591157Z ERROR jsonrpsee_server::transport::ws: WS transport error: i/o error: Transport endpoint is not connected (os error 107); ter
minate connection: 42
fedimint-cli-test-latency> mint 1: 2023-02-17T18:40:17.590693Z ERROR jsonrpsee_server::transport::ws: WS transport error: i/o error: Transport endpoint is not connected (os error 107); ter
minate connection: 43
fedimint-cli-test-latency> 2023-02-17T18:40:18.403Z INFO    plugin-ln_gateway: buy_preimage_internal; payment_hash=a98c1a039fd546fd38ee838135f16ba913c319a93f93e5ca042cf7dd8cb7f89e invoice_
amount=Amount { msats: 50000000 }
fedimint-cli-test-latency> 2023-02-17T18:40:18.404Z INFO    plugin-ln_gateway: buy_preimage_internal
fedimint-cli-test-latency> 2023-02-17T18:40:18.613Z INFO    plugin-ln_gateway: Client::buy_preimage_offer; payment_hash=a98c1a039fd546fd38ee838135f16ba913c319a93f93e5ca042cf7dd8cb7f89e htl
c_amount=Amount { msats: 50000000 }
fedimint-cli-test-latency> 2023-02-17T18:40:18.613Z INFO    plugin-ln_gateway: buy_preimage_offer
fedimint-cli-test-latency> 2023-02-17T18:40:19.612Z INFO    plugin-ln_gateway: return=(OutPoint { txid: fd31998e81062cab83eabd2347da900c81017a7bca482eae9f760768e63bf916, out_idx: 0 }, a98c
1a039fd546fd38ee838135f16ba913c319a93f93e5ca042cf7dd8cb7f89e)
fedimint-cli-test-latency> 2023-02-17T18:40:19.613Z INFO    plugin-ln_gateway: buy_preimage_internal_await_decryption; out_point=OutPoint { txid: fd31998e81062cab83eabd2347da900c81017a7bca
482eae9f760768e63bf916, out_idx: 0 } contract_id=a98c1a039fd546fd38ee838135f16ba913c319a93f93e5ca042cf7dd8cb7f89e
fedimint-cli-test-latency> 2023-02-17T18:40:19.613Z INFO    plugin-ln_gateway: Awaiting decryption of preimage
fedimint-cli-test-latency> 2023-02-17T18:40:20.628Z UNUSUAL plugin-ln_gateway: Failed to decrypt preimage. Now requesting a refund error=Output outcome error: Core error: Pending preimage
decryption
fedimint-cli-test-latency> 2023-02-17T18:40:20.629Z INFO    plugin-ln_gateway: Client::refund_incoming_contract; contract_id=a98c1a039fd546fd38ee838135f16ba913c319a93f93e5ca042cf7dd8cb7f89
e
fedimint-cli-test-latency> 2023-02-17T18:40:21.080Z **BROKEN** plugin-ln_gateway: error=Federation client operation error: MintApiError(FederationError({PeerId(0): Rpc(Call(Custom(ErrorObj
ect { code: ServerError(400), message: \"High level transaction error: The transaction's signature is invalid\", data: None }))), PeerId(1): Rpc(Call(Custom(ErrorObject { code: ServerError
(400), message: \"High level transaction error: The transaction's signature is invalid\", data: None })))}))
fedimint-cli-test-latency> 2023-02-17T18:40:21.792Z INFO    02de9e41421b873fd2112835faa8a383ba3d9b86accfaebe68fc15b3015b640338-chan#1: htlc 1 failed from 0th node with code 0x1639 (INVALID
 5689)

The problem seems timing / load triggered. Seems like making things slower (run cargo build --release in the meantime or something) makes it more likely to happen.

@okjodom We've chatted about this on Discord, so just letting you know.

I saw this once before on a live federation when many clients were connected at the same time. So it does seem related to load ...

We need to log the transaction somewhere if this happens so we have a chance at debugging this. I just took a stab at doing so in the client but we don't have all the pub keys there since LN inputs don't contain their pub key again. So server side it is probably (just dump the whole hex tx, should make sure it's not cut short by @dpc's recent fixes to make logs more readable :laughing:).

@dpc We can close this?

I wasn't able to reproduce and haven't seen it for a while now, so let's close.

Do you remember the PR where you could repro it quite often @dpc? Would be good to document and get back to. We don't understand what caused it and that worries me.

@elsirion I don't know the exact PR, but I'm quite sure it was happening in the invoice refund code-path.
My theory is that because LN gateway was erroneously considering a successful LN payment as failed, it was creating an invalid refund tx, which fedimintd rejected with confusing error.
@okjodom

If I'm correct, then it possibly it might be worthwhile to check in fedimintd if a tx isn't trying to refund a valid tx, just to return a better error?

Do you remember the PR where you could repro it quite often @dpc? Would be good to document and get back to. We don't understand what caused it and that worries me.
@Maan2003 could reproduce it consistently on https://github.com/fedimint/fedimint/pull/1197

Any PR before https://github.com/fedimint/fedimint/pull/1798 will do.
Some kind of a artificial sleep delaying epochs generating contract decryption shares will make the gateway hit it reliably. The load / slower machine made the problem happen more often, as it's all about gateway racing federation.

Just saw this again https://github.com/fedimint/fedimint/actions/runs/4417915746/jobs/7744300013#step:10:4981


Cannot acquire machine: No machines match selection criteria.

If I select one and don't use "any" then:

[lib.cuckoo.core.scheduler] ERROR: Cannot acquire machine: No machines match selection criteria.

My virtualbox.conf file is like it:

machines = xp,w7
[w7]
label = W7
platform = windows
ip = <IP_ADDRESS>
snapshot = Snapshot1
[xp]
label = Xp
platform = windows
ip = <IP_ADDRESS>
snapshot = Snapshot1

If use "any" machine all found but I can't select a machine.

Try lowercasing your label names. (make it match the machines value)

Thanks, with lowercasing in VBox labels it work. Is necesary that label and machine name in Cuckoo conf be equal?

The label refers to the name that you have assigned to the virtual machine in VirtualBox, so that has to be equal.

Yes, equal to name in VirtualBox I understand, but equal to name between [ and ] in config file?
I before had:

machines = xp,w7
[w7]
label = W7
platform = windows
ip = <IP_ADDRESS>
snapshot = Snapshot1
[xp]
label = Xp
platform = windows
ip = <IP_ADDRESS>
snapshot = Snapshot1

And did not work, I now have:

machines = xp,w7
[w7]
label = w7
platform = windows
ip = <IP_ADDRESS>
snapshot = Snapshot1
[xp]
label = xp
platform = windows
ip = <IP_ADDRESS>
snapshot = Snapshot1

And I rename VM to lowercase too, then it work. I don't understand why [w7] could be equal to label = w7 (and because label = w7 the VM also could be w7 and not W7).

Which version of Cuckoo are you using? I remember this being an issue before the 1.2 release, but has been fixed since then. So upgrading your Cuckoo should probably do the trick.

I'll close this issue though as it has been fixed upstream and you've already figured out a way to fix it in your setup.


Initial code

This is the initial code skeleton to get things started.
The build environment is both bazel and go-run compatible.

I needed someone to approve since I cannot self-approve.

What we have right now is:

basic abstract config object and store definitions in /model
implementation in /env for Kubernetes using 3rd party resources

I'll take your suggestion and rename this appropriately to make it clear that Kubernetes is one supported platform, not the only

unit tests and integration test for Minikube

What we want to get to:

concrete config model, as being worked out by Mixer
config distribution model, not clear at this point, being designed
config versioning, not designed yet
validation, dry-runs, etc.

Bazel is not required to build or test this code, just make sure to check out client-go at the right SHA (see WORKSPACE) or the imports will fail.
Speaking of Bazel, I added rules to create a docker image as a target in docker/ with some hacks. Seems like this might save us some work (see 1 and 2).


Fetch rocket data

In this branch, I

[ ] fetched rocket data from the Rockets endpoint (https://api.spacexdata.com/v3/rockets) when the application starts (as Rockets is the default view) and
[ ] dispatched an action to store the selected data in Redux store after fetching.

Hi @yodit93 👋,
Status: Approved 🟢
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights

All linters checks passed ✔
Good code formatting ✔


Unexpected behavior when multiple programs have overlapping scope

There is currently a known issue when configuring multiple programs with overlapping scope to a single bbrf instance, when trying to add a domain to each of the programs.
For example, when program1 and program2 both have *.example.com in their inscope, the command bbrf domain add www.example.com -p program1 will add a new document with identifier www.example.com to the database, and a subsequent bbrf domain add www.example.com -p program2 will silently fail without adding the new document, because a document with the same key already exists.
As a result, listing domains for program 2 with bbrf domains -p program2 will not include www.example.com.
A possible solution would be to store program names as part of the document key, but this introduces a number of other disadvantages. Another solution might be to issue a warning when specifying a scope that overlaps with the scope of another program.

Hi @honoki,
I faced this problem today. It would be very useful to have a debug error/warning about the overlapping scope or repeated domains.


FIX: Unify processing

The only "bug" in your code was that you should only do the assert when zero_phase is True... the assert was being done even for the zero_phase = False bits of code, which makes sense that it failed...
While I was at it, I moved the modification of h_fft to where it should work with CUDA, and unified how the chunks are processed. Tests pass over here, so feel free to open the mne-python PR after merging this if you're happy.

Yikes. Thanks for catching that. I think I would have burned several more hours before finding it.
In unifying how the chunks are processed, won't it make non zero-phase runs take longer? Basically the pre-padding will make for shorter segments, which will make for more segments. To be fair though, I haven't looked closely at the code and it is my bedtime. Will look closer tomorrow.

No, the pre and post padding amounts are different for the two modes. For
non ZP, they are the same pads as in current master. Your indexing code was
good enough that once I turned pre and post padding into variables, the
accessing / accumulation worked automatically for the non ZP mode.
Also, can you add a brief comment about the equivalence between this and
the old filter flip filter flip method, e.g. with an explanation from
associative / commutative and conjugation as time reversal? We'll want to
have that before merging into master.

Ah, very nice. I'll merge, test, add the comments, and submit the PR (son-permitting).

So I tested it on my local machine and there is an array size problem in the CUDA code. I have to switch gears for a few hours bu might be able to come back to it this afternoon for a little bit. Here is the output and traceback:
Test our private overlap-add filtering function ... time: 1 sec
Test CUDA-based filtering ... Traceback (most recent call last):
  File ".../mne-python/mne/tests/test_filter.py", line 339, in <module>
    run_tests_if_main()
  File ".../mne-python/mne/utils.py", line 1660, in run_tests_if_main
    val()
  File ".../mne-python/mne/tests/test_filter.py", line 297, in test_cuda
    filter_length=fl, verbose='INFO')
  File "<string>", line 2, in band_pass_filter
  File ".../mne-python/mne/utils.py", line 537, in verbose
    return function(*args, **kwargs)
  File ".../mne-python/mne/filter.py", line 651, in band_pass_filter
    xf = _filter(x, Fs, freq, gain, filter_length, picks, n_jobs, copy)
  File ".../mne-python/mne/filter.py", line 359, in _filter
    n_jobs=n_jobs)
  File ".../mne-python/mne/filter.py", line 130, in _overlap_add_filter
    cuda_dict)
  File ".../mne-python/mne/filter.py", line 176, in _1d_overlap_filter
    prod = fft_multiply_repeated(h_fft, seg, cuda_dict)
  File ".../mne-python/mne/cuda.py", line 196, in fft_multiply_repeated
    cuda_dict['x'].set(x.astype(np.float64))
  File "/usr/lib/python2.7/dist-packages/pycuda/gpuarray.py", line 217, in set
    assert ary.size == self.size
AssertionError

Also, are we sure that nfft > 2*len(h)-1 is the right length check? Seems
like you might need more padding, no? Or maybe that's the length at which
you can use one sample of data at a time? In that case we definitely need
to redo the nfft choosing.

I believe that should be the length where you can do one sample of data at a time. That is obviously a very poor choice of nfft (if it ever does end up being that), but the check is there just to avoid circular overlap errors. I guess it should actually be >=, too?

Yeah just make sure the check is correct, I'm not sure what the right value
is. I guess we should redo the profiling before merge, but I think you
should open a PR as soon as CUDA works again so that we can get feedback.
It can be WIP until we figure out the optimal fft length. Sound good?
On Jul 1, 2015 3:30 PM, "rkmaddox"<EMAIL_ADDRESS>wrote:

I believe that should be the length where you can do one sample of data at
a time. That is obviously a very poor choice of nfft (if it ever does end
up being that), but the check is there just to avoid circular overlap
errors. I guess it should actually be >=, too?
—
Reply to this email directly or view it on GitHub
https://github.com/rkmaddox/mne-python/pull/3#issuecomment-117816927.

Yep. I'll confirm the check. I was thinking it made sense to make the fft length selection a future PR, but it is possible that some choices could make for inefficient processing due to these issues, so WIP makes sense.

Yeah it originally made sense to me to do separate ones as well, but now
I'm thinking one butt kicking PR is the way to go (especially since the
line count is still small). Maybe we can get better than 2x...

Could be. I am in array size hell right now. Don't know if I will figure it out before I go home.
Just looked at the clock. Definitely will not figure it out before I go home.

It's some badness with the fact that CUDA FFTs are half the length of the signal because it assumes real.

I fixed it! But I can't figure out how to get the push to work :-(
I'll spend a couple more minutes on it but then I  gotta go.

Oh right, you probably need to move the conditional modification of hfft to
before the Cuda setup call is made, I assume that's how you fixed it

OK I managed to get it up there. Git is hard. I'll add the comments tomorrow and PR as WIP noting that the chunk size will need to be fixed.
Also, since this PR is merged, but I don't have to submit PRs to my own branch, where is the proper place to discuss, e.g., my most recent commit?

The normal thing would be to open a WIP PR to the main repo sooner, and do
all commenting there.


View active campaigns in your area

Show active campaigns. Provide navigation to the info/dashboard/mgmt views.

I think we already are covering this Use Case in the fact that the user's OSM location is used to centre the map. But perhaps a centre button would also be useful?

@cchristelis we still get all campaign in the home, so if there are a lot of campaign we still unnecessarily getting all of them. I was thinking query with coordinate of user, so it will returns area close to user. Something like http://<IP_ADDRESS>:5000/campaign_manager/?coordinate=-7.559,112.698
What do you think?


Product Page (LabTests)

[x] Collect data
[x] Create Layout
[x] Create a basic Structure for the Page
[x] Css of Page
[x] SIngle card components for each product (lab tests)
[x] CSS and Functionality for SIngle Component)

All task Completed


Adds new '--delete-all-from-log' functionality

Adds a new function, delete_all_from_log(), that may be executed
via switch '--delete-all-from-log'
The function:

Does a prompt to confirm
Opens the log_file, finds all of the image ids from prev. uploads
Iterates over each one, attempting to detect whether it has been
previously deleted or not (via this tool or by auto_delete).
If it has already been deleted, then it skips, otherwise, uses
the delete_image function to delete the image
Moves onto next item

It would be far better if it could exclude already-deleted images
earlier before the loop begins.  That would give it a more
accurate count, as well as be significantly more efficient.

Thank you for the PR, this may be useful for a few users but I don't want to bloat the code with features that I assume is rarely going to be used. This one is probably more of a use-once script.
Shouldn't be hard to convert this into a separate script, though.


how to overwrite existing downloaded file?

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

WRITE QUESTION HERE
How to overwrite already existing file ? I can't find overwrite flag for output file in readme.
(For now, I delete older one & then download which is two step)

There isn't an option.
You could add a temporary directory to the output filename template and force-move the new file over any previous one with a command in --exec ....

There's an option for not overwriting but not for overwriting. The yt-dlp fork added --force-overwrites as below:
-w, --no-overwrites             Do not overwrite any files
--force-overwrites              Overwrite all video and metadata files. This
                                option includes --no-continue
--no-force-overwrites           Do not overwrite the video, but overwrite
                                related files (default)

This shows that there isn't fundamental reason why yt-dl doesn't have the option. I wouldn't reject a viable PR to back-port the feature.

It applies to the related files, not the video itself.


Rework and trim down functionality for v3 (discussion)

I want to open this ticket to flag some ideas and suggestions for deprecations going forward.
Renaming the package & deprecating logic
Once #116 is resolved, I think it might be a good time to clearly define the purpose of this package, and (perhaps to) get rid of some code.
Unless anyone chimes in with good reasons not to, I would like to:

Deprecate the middleware and custom views that were introduced this summer but that I don't even use myself (so I cannot be sure it really works all that well)
Deprecate the input validation code
Rename the package from django-swagger-tester to django-openapi-response-tester or something similar

I'm assuming almost no one has used the code I'm proposing to deprecate, and if someone wanted an APIView with builtin response validation, this is something anyone could easily do, without it having to live in this repo.
The re-defined purpose of the package could then be to only provide a mechanism for validating API responses against OpenAPI schema response sections. That's basically what we do now, but I think re-branding the package would make the documentation a lot clearer.
Leveraging third party packages
I think @Goldziher's suggestion to add third-party library for schema parsing is a good one, and I don't necessarily think we should stop at one.
Another area of the package that I think could be improved by external dependencies is the whole validation logic. Right now the validation logic is a thick mix of validation logic, parsing logic, and custom exception messages. If we instead were able to reduce the OpenAPI response schema to a plain type-definition, we should be able to completely separate the validation logic from any type of parsing logic, making it everything more concise and predictable. We might even be able to outsource the validation completely, and instead focus on outputting legible error messages.

The goal of this would be to remove complexity and to create a clearer purpose for the package. The ideal outcome (in my opinion) is to nail (just) response validation and then stop adding features 🚀

Yes, I agree with all of your points. I would suggest making the response validation logic as straightforward as possible and output an informative diff in case of a failure (expected vis-a-vis the received). Staying within the paradigm of django testing / pytest.

Finally got some time to have a look. Yes, I agree!😊 Happy New Years!🍾


PlotSignal with DateTime X-axis / Middle mouse zoom wrong result

Describe the bug
When using the middle mouse "rectangle" zoom on a PlotSignal WinForm plot, the result shows empty graph, with no ticks and labels on X-axis. When using the right mouse click zoom options, everything works as expected.
To Reproduce
Create a Winform PlotSignal plot, and use the middle mouse zoom.
Some relevant code parts:
formsPlot1.plt.YLabel("Sensor 1 Temperature (°C)");
 formsPlot1.plt.Ticks(dateTimeX: true);
formsPlot1.plt.AxisAuto();
 formsPlot1.plt.AntiAlias(true, true);
formsPlot1.plt.PlotSignal(temp1Data.ToArray(), sampleRate: rate, xOffset: timeOffset.ToOADate(), color: Color.Blue, lineWidth: 2, markerSize: 6);
formsPlot1.Render();

Thanks for mentioning this @bukkideme!
I created a new demo to help test/monitor this behavior. I found this error does not affect all DateTime axes, just ones that are highly zoomed in (displaying seconds/minutes).
This bug relates to #269. This error is caused by the conversion between float and double. DateTime objects which track seconds/minutes require double precision, but mouse the tracking code is probably relying on PointF (float precision) . I will fix this shortly by ensuring the middle-click-drag mouse tracker uses doubles everywhere 👍

Got this one fixed - thanks again for mentioning it @bukkideme!


Not suitable for production without supervisor process?

Am I correct in thinking that this setup is not suitable for production without a supervisor process as there is nothing to restart gunicorn in case it crashes?

You can use restart: always in docker compose. If it crashes the Docker wil restart.


[Dependency Scanning] Record whether discovered binary Swift modules are frameworks

This info is required so that it can be specified as input to compilation that uses such module as a dependency, in order to decide whether or not to insert an auto-linking directive for it.
Part of rdar://102824777

@swift-ci test

https://github.com/apple/swift-driver/pull/1240
@swift-ci test

https://github.com/apple/swift-driver/pull/1240
@swift-ci test


Slack invite link

Since Slack invite links expire after some time, I figured we can just post them here whenever it's needed. This is the latest: https://join.slack.com/t/webvizchat/shared_invite/zt-frg56h36-5IGt1UVjQnfjgJLNDxiePA

https://join.slack.com/t/webvizchat/shared_invite/zt-evd6yzee-MmfUfe_hRvf~t9HBPpKkdQ

Pls update the invite

Here you go! https://join.slack.com/t/webvizchat/shared_invite/zt-h036wkmu-y5AxRCzSRdNbAJw0zYMA4g

Please update the link

Done! https://join.slack.com/t/webvizchat/shared_invite/zt-hyo9jggj-n4dwegVa290HM5PpPRWBZw

@troygibb A new link please?

Done again! https://join.slack.com/t/webvizchat/shared_invite/zt-j6z2kcbl-aJHPkK~99~oYHv7LWrODRA

@troygibb Could you send a new link please?

Done again again! https://join.slack.com/t/webvizchat/shared_invite/zt-k3nj8jx0-qhg~wTmqfklJWVjPRWiVBQ

Please can you send the invitation link !

Please can you send the invitation link !

Please provide a new invitation link.  The most recent one has expired.

Please provide a new invitation link.  The most recent one has expired.

here you go! https://join.slack.com/t/webvizchat/shared_invite/zt-l7x2ocqc-2uuhztdaOv50GtzTQh8jLg

here you go! https://join.slack.com/t/webvizchat/shared_invite/zt-l7x2ocqc-2uuhztdaOv50GtzTQh8jLg

The link has expired could you share another

Done. https://join.slack.com/t/webvizchat/shared_invite/zt-mrp65eb6-ZOrtb1qXrofFRXqYBvpyXw

The link has expired. Can you share another? thanks

https://join.slack.com/t/webvizchat/shared_invite/zt-ou31t3sg-wyaa0fpTby1KvJXGbXPuvg

Link has expired. Can you please post a new one. Thanks!

https://join.slack.com/t/webvizchat/shared_invite/zt-q58hdnw0-HeV8QkOumMQDrBgtzm5jYg

please share a new link, thanks!

https://join.slack.com/t/webvizchat/shared_invite/zt-r6f2atsn-5yYHSG7JaPqtbMJUbatpaA

This link is no longer active. Could you send a new link?

https://join.slack.com/t/webvizchat/shared_invite/zt-t0xhhiur-VZZrViVqbYLOwWpYJB9PZw

Hi @troygibb. Would you mind updating the link please? Thanks!

@troygibb Could you post a new link please?

https://join.slack.com/t/webvizchat/shared_invite/zt-um7wbhu9-xaMavlo6AVwoWZsTaa7Upg

@troygibb Could you post a new link please? Thanks!

@troygibb Could you post a new link please? Thanks!

+1

sorry for the late reply! https://join.slack.com/t/webvizchat/shared_invite/zt-wfu6cctt-k5L2dN6XoZWbX_ULm8QFGQ

FYI, we also have a Slack for Foxglove Studio (Webviz fork) here: https://foxglove.dev/slack

Hi, the Previous link is no longer active. Can you please share the new link? Thanks!

https://join.slack.com/t/webvizchat/shared_invite/zt-yjc7katc-iqH1Lc0b1Tmm6LxiuPFvkQ

Hey! Could I please have an updated invite please?

https://join.slack.com/t/webvizchat/shared_invite/zt-112b2nhdg-wmyG19eD03hfymkMKIsFsA

Hi, the current link has expired. Could you post an updated invite please? thanks!

Hey! Could I please have an updated invite please?

Please could we have an updated invite?

Updated invite please?

Could you send a new link please?

Most of the former Webviz chat has moved to the Foxglove Slack channel, you can join here: https://foxglove.dev/slack.


Animate search result items when the result changes.

Issue

None

Overview (Required)

Animate search result items when the result changes. Please check screenshot gif.
RecyclerView.Adapter.setHasStableIds is efficient for layout performance, and it's easy way to introduce item animation.
For use above, SearchResultViewModel create id from session.id and which type of result (title, description, speaker).
Set white color to background of the RecyclerView in search page. without this, the alpha animation looks not good.

This PR is just a suggestion, so close If you don't like it or don't need it.
Links

RecyclerView.Adapter#setHasStableIds(boolean)

Screenshot

Before
After

:eyes:

Commented! Looks good. Thanks

Done! Thanks for your review!

Almost perfect!
Commented! https://github.com/DroidKaigi/conference-app-2017/pull/309/files#r100693309

LGTM 💯 Thanks for improvement!


OSD-22892 (Part 1): Machine ID Lookup Table

What does this PR do? / Related Issues / Jira
This PR is composed of commits cherry-picked from my larger OSD-22892 branch for the sake of readability.
These commits cover the definition of the Probe interface's GetMachineImageID() method, as well as a reference implementation for the CurlJSONProbe. This method takes 3 string arguments (platformType, cpuArch, and region) and returns a "machine image ID," which is a cloud-platform-agnostic term for AMI ID. The platformType and cpuArch arguments should be one of the helpers.Platform* and helpers.Arch* enumerated string types, respectively, while region is more free-form. An example invocation might look like:
imageID, err = myCurlJSONProbe.GetMachineImageID(helpers.PlatformAWS, helpers.ArchX86, "us-east-1")

On the backend, CurlJSONProbe's implementation of GetMachineImageID() is essentially a lookup table, i.e., a multi-level dictionary (in "machine-images.go") containing all the machine image IDs, plus a helper function with some lookup validation logic (e.g., to account for the fact that GCP machine image IDs are not region-specific like AMIs). The x86 AMI IDs included in this PR are the first "RHEL repackaged" images published to the verifier's golden AMI account: these are not expected to change often (maybe 1-3x per year). Ditto for the GCP machine image IDs, which just point to the publicly-available GCP RHEL images. ARM image IDs have placeholder values for now.
This PR intentionally does not cover integration of this new code into the verifier's critical path. That integration will be covered in a separate cherry-picked PR. As such, there isn't much to execute for this PR beyond the included unit tests. When reviewing this PR, please focus on code style/structure.
Checklist

[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have made corresponding change to the default configuration files
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have tested the functionality against gcp / aws, it doesn't cause any regression
[ ] I have added execution results to the PR's readme

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 27.42%. Comparing base (820bf4e) to head (10d1890).

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #240      +/-   ##
==========================================
+ Coverage   26.32%   27.42%   +1.09%
==========================================
  Files          11       11
  Lines        1056     1072      +16
==========================================
+ Hits          278      294      +16
  Misses        764      764
  Partials       14       14

Files
Coverage Δ

pkg/helpers/helpers.go
87.05% <ø> (ø)

pkg/probes/curl_json/curl_json.go
59.52% <100.00%> (+24.90%)
:arrow_up:

/lgtm

/lgtm


stats/view: implement Flush

Flush is a global function that immediately reports
all collected data by the worker, regardless of the
reporting duration or buffering.
Added tests but also ensured that calling (*worker).stop()
then Flush doesn't block and returns ASAP if the state
is "quit". The required protected w.quit from double close
but also using a select to detect cases of forever waiting
channel w.quit which was closed.
Fixes #862

/cc @lychung83

The Travis CI test seems unrelated to this change, locally running
$ go test -run=TestEndToEnd_Single -count=100
PASS
ok  	go.opencensus.io/plugin/ocgrpc	0.153s

passes

@odeke-em if that is the case we should skip the test and file an issue

I think we need specs agreement before we can proceed here: https://github.com/census-instrumentation/opencensus-specs/issues/152

Ah, I implemented before seeing this PR. Feel free to void it. https://github.com/census-instrumentation/opencensus-go/pull/923

@odeke-em I think (RetrieveData)[https://github.com/census-instrumentation/opencensus-go/blob/master/stats/view/worker.go#L94] is your answer for this. See how I used it https://github.com/census-instrumentation/opencensus-service/blob/master/observability/observabilitytest/observabilitytest.go#L105