Atomic Data for vocabularies

In discussion with @joepio about how Valueflows might make use of this very interesting application, some things came up.  Valueflows would be using it as a vocabulary/ontology, so more for meta-data than data.
Valueflows currently has a turtle file as its "system of record" / "source of truth" for the vocabulary.  It has needs to provide the vocabulary in various formats, both rdf-based and non-rdf-based.  Currently, that requires a lot of manual work and is error-prone.
With apologies for not knowing enough about Atomic Data yet, features that we would use in this situation:

ability to import text rdf files into Atomic Data, in our case turtle (there would be a lot to think about to consider Atomic Data as our system of record or even just where we maintain the vocabulary as a practical matter - for example where it would fit into our current git-based workflow)
ability to export to other formats, like the ones mentioned in the venn diagram here: SHACL, SHeX, JSON-LD, JSON Schema; and also turtle, if we used Atomic Data to maintain the vocabulary
ability to keep elements not part of the Valueflows namespace, but which are needed for the model to function; and the ability to tell the difference

But, almost everything we would do would be about the vocabulary itself, not actual data that uses the vocabulary - so is a (fundamentally?) different use case.  Although, we do have a little bit of "hard-coded" data that we consider part of the vocabulary.
Note: These are thoughts as input to the project, not a request to do any work. :)  But if you do decide to do some work, we can talk through this more, it is atm very hand-wavy, without enough knowledge of Atomic Data, so at least would need a lot more detail, and might not even make sense.

I am strongly connected with VF, and we have pretty much the same use-case, issues and needs with Open Know-How (OKH):
https://github.com/OPEN-NEXT/OKH-LOSH/blob/master/OTRL.ttl
For us too, exporting to RDF and importing from RDF would be paramount.
You said, importing from RDF is very hard. I do not know too much about RDF and only have ~2 spourious practical experience, and not too practical either, and I do not understand as much of the issues as you see them, for this importing from RDF, but I know you are right. ;-)
I imagine a CLI tool for importing automatically, which spits outs errors and warnings, about things in the RDF ontology that are not compatible with AD, kind of like a compiler. If I had this, I would try to fix our RDF ontology manually until there are no errors anymore, and give whatever additional info required (like data-types) in some way (preferable directly in the ontology).
I imagine, that exporting to RDF (which you said is easier) could be done in such a way, that re-importing that exported RDF back into AtomicData, would work perfectly (no errors or warnings). So it would for example contain all the data-type info that AD requires, which is of little use in RDF, but helps for re-importing. If I do not want that data in my RDF, leaving it out should be trivial.
I think, having full import & export support for RDF, would be the single best thing for spreading adoption of AD.
Projects like VF or OKH would have to invest some time initially, to get their RDF into a state where import succeeds, but after that there are only pros, and one would also learn how to structure data models more cleanly, in the process of doing so.
... I would actually really like to go through such a process, and Lynn also said she does not mind to do manual work.
I see no reason for OKH to not use AD for storage as well, once we have import and export (and thus no risk for lock-in), because we kind of host and control our data-storage and all our tech.

Thanks for taking the time to share your wishes and considerations, @fosterlynn and @hoijui!
Exporting Atomic Schema to RDF (JSON-LD, Turtle, etc)
This is already possible in Atomic-Server! It has great JSON-LD serialization, and it supports various other RDF formats. But there is no mapping to OWL / RDFS / SHACL / SHEX or something like that.
Importing RDF ontologies, converting to Atomic Schema
This will be pretty hard to do. It is certainly possible, to some degree, but it is error-prone and will probably be pretty complicated. Importing RDF and converting it to a domain specific in-memory model is complicated on its own, but what makes it really complicated, is the low degree of consistency between RDF ontologies, regarding their schematic descriptions. Some use RDFS, some OWL, some SHACL, some SHEX... I think it could be done, but I don't like doing it. I'd definitely want to help out anyone who's willing to try, though!
Exporting Atomic Schema to RDF ontologies
This is probably far easier. I've done it for typescript, and think it would not be that hard to do so for RDFS, SHACL, SHeX and perhaps other schema systems. I don't think I'd want to support OWL, as that would incorrectly give people the impression that it's a schema language - it's not, it should not be used for data validation or shape constraints!


Customer is requesting to update this public documentation with examples on encrypting the ADF using PowerShell/ CLI commands

[Enter feedback here]
UBS is one of the top azure customer and has provided feedback for updating the documentation with examples on how they can achieve ADF encryption by CMK via PowerShell
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8571ca06-129a-58b7-92be-dc680acb835f
Version Independent ID: 9bd22daf-eb91-b509-0f84-4d5e96863c96
Content: Encrypt Azure Data Factory with customer-managed key - Azure Data Factory
Content Source: articles/data-factory/enable-customer-managed-key.md
Service: data-factory
Sub-service: security
GitHub Login: @dcstwh
Microsoft Alias: weetok

@taukhan-ace Thank you for sharing your feedback. We are actively validating it. We will share updates soon.

@dcstwh Could you please validate customer feedback and enhance document as appropriate? Thank you.

Hello @dcstwh and @ShaikMaheer-MSFT  can you please help for any ETA as the customer is following up for an update .

Please do not share customer info on a Github issue, and work with the relevant account team to send the engineering team an email. We will advise the relevant docs accordingly. Thank you.

#please-close


[Documentation]: Pie chart: Border width can be an array as well

Documentation Is:

[x] Missing or needed

Please Explain in Detail...
The documentation under https://www.chartjs.org/docs/latest/charts/doughnut.html lacks the information that borderWidth can be a number[], not just a number.
Your Proposal for Changes
Like for data: number[], add an array descriptor to the type column.
Example
https://jsfiddle.net/38shmLt1/2/

Closing this, for more information see https://github.com/chartjs/Chart.js/pull/6450#issuecomment-520950454.


Fix: corrected minor typo in code

Signed-off-by: Kethavath Siva Naik<EMAIL_ADDRESS>Description of your changes
Fixed a minor change in code. Changed uintall to uninstall

Fixes #
I have:

[x] Read and followed KubeVela's contribution process.
[x] Related Docs updated properly. In a new feature or configuration option, an update to the documentation is necessary.
[x] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

Special notes for your reviewer

@wonderflow Thank you.🥳❤


error: require rustc 1.64.0

I am trying to build this on Ubuntu 20-04, when after running the commands:

git clone git@github.com:carzum/termviz.git
cargo build --release

The error error: package `clap v4.1.4` cannot be built because it requires rustc 1.64.0 or newer, while the currently active rustc version is 1.61.0 is produced. However, I seem to be not able to update rustc:
Reading package lists... Done
Building dependency tree
Reading state information... Done
rustc is already the newest version (1.61.0+dfsg1~llvm-1~exp1ubuntu<IP_ADDRESS>).
0 upgraded, 0 newly installed, 0 to remove and 63 not upgraded.

Do you have any idea how to get around this?

The rustc version shipped with 20.04 is quite old.  I suggest installing a newer version through rustup:
https://www.rust-lang.org/tools/install

Reopening, since the build with catkin no longer works


cursor in TextField in flutter PWA

when building PWA from the flutter app and opening it on mobile, I have a problem with the cursor, in the flutter app all things are ok but on the PWA the cursor in TextField is one behind the last character. but if add a character it adds to the end text but in UI one character is behind.
enableInteractiveSelection: kIsWeb ? false : true,
I assumed that the problem was due to the conflict between the Chrome cursor and the Flutter pointer. therefore
I add the above feature to my TextField but it isn't work
[√] Flutter (Channel stable, 2.10.4, on Microsoft Windows [Version 10.0.17763.3650], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[√] Chrome - develop for the web
[!] Visual Studio - develop for Windows (Visual Studio Community 2022 17.0.5)     ! Unable to locate a Windows 10 SDK. If building fails, install the Windows 10 SDK in Visual Studio.
[√] Android Studio (version 2021.1)
[√] VS Code (version 1.73.1)
[√] Connected device (2 available)
[√] HTTP Host Availability
! Doctor found issues in 1 category
the bottom link is a gif for this problem
https://user-images.githubusercontent.com/81565043/202128010-a768f0c5-7080-4d6d-880e-96962d6da879.mp4

Hi @moein-keyvani-pur
Can you retry reproducing the issue with English alphabet?
Also, as far as I can see, you are using the old Flutter version 2.10.4, the latest Flutter stable is 3.3.8 and the master is 3.6.0. Please try upgrading them and retry to see if this issue still reproduces. Thank you!

Hi @moein-keyvani-pur Can you retry reproducing the issue with English alphabet?
Also, as far as I can see, you are using the old Flutter version 2.10.4, the latest Flutter stable is 3.3.8 and the master is 3.6.0. Please try upgrading them and retry to see if this issue still reproduces. Thank you!

thank you for your help, it worked


DeepL has changed their pages, it is not working now

Hi,
Thanks for the good tool based on selenium. But recently, DeepL has changed their page element, so it is not working now. Could you please update code accordingly?
Thanks a lot!

Mmm, didnt notice it, this weekend i'll solve this issue. Thank you for raising this. :D

Can replicate, it works for me. What version are you using? version 8.9 should do it. To installing this version you can use pip install srt-deepl or clone the master

Thanks, tried again and it seems working now. I guess I am using an old one


Strict Array.join

Suggestion

🔍 Search Terms

array join type
✅ Viability Checklist

My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

Not 100% sure on the last one. I feel it would though.
The first, only if it's built as an opt-in option.
⭐ Suggestion

An option to force strict Array.join calls, where it can only join array elements that are a string, or are assignable to a string. The join function is allowed on any (including any 😉) type of array, even types that are completely incompatible with string. The join function basically leaves it as a black box that any kind of array type is magically transmogrified into a string... Somehow. That doesn't feel right to me.
📃 Motivating Example

Here's a Playground link that illustrates the problem where this feature could protect against.
💻 Use Cases

When I'm doing a valid Array.join all is fine, but when I afterwards decide to change the type of the elements in that array and forget to do something about that join, it'll result in completely correct and transpilable code which produces weird behaviour at runtime. For example, if the array elements where a string, and now they have become some kind of object.
Checking if the element type of an array could be assigned to string, could protect against such mistakes. And to keep existing codebases compatible, I would suggest this be opt-in, in the compilerOptions. So much like there's a strictFunctionTypes, there could be an additional strictArrayJoins or similar.

So you essentially want #26357, or want to completely limit this to string and string literals.

I mention that issue because you wrote "or are assignable to a string". To identify what types are assignable to string you would need that issue (or limit it to string itself or string literals).

Well, for me the problem was that array elements had gone from string to string[], which produced (erroneous in my case) comma's in the output, because each string[] element would get toString-ed to a comma-separated array.
I would expect if #26357 was implemented, it wouldn't solve this particular case, as the Array prototype does include toString and would therefor still be allowed.
I guess what I'm asking is an even stricter form, where implicit toString() calls would be blocked.

join should probably be defined as (this: ReadonlyArray<string>, separator?: string | undefined): string;.
It is a breaking change.


[Op] Change shape-related op attributes to arguments

This PR changes some shape-related operator attributes to operator arguments.
This is because we have the assumption that all attribute fields should be static constant at compile-time. But in fact, the fields touched in this PR can be dynamic at compile-time. Therefore, we should treat them as arguments, which is an Expr, and can be ShapeExpr or Var at compile-time.
Specifically, this fields are:

pool_size of max_pool2d
output_size of adaptive_avg_pool2d
size of resize2d.

Unit tests are updated correspondingly.

let us change the resize to be shape. For pool size and adaptive pooling. I can only think about static case in real applications. Let us keep them as attr for now and change to IntImm


Register a comand to put yourself on duty whenever you login.

The title says it all. Make it toggle-able to be an optional feature, in case that there are users that don't want it turned on.

Hello,
Thank you for your suggestion! However, I've decided not to implement this feature. Automating tasks such as putting yourself on duty takes away from the manual responsibilities of being a News Reporter. I was a former member and believe these tasks are very crucial to the role.
Additionally, as a solo developer, such a feature would increase my workload, like having responsibility if something is going wrong, managing any consequences, etc..
I need to prioritize features that I consider more important. I appreciate your understanding in advance!


Vertical Scrollbar should be visible when we resize ADG columns

Project Details are :
https://paste.apache.org/cpo8y
Test case is available on VDI.
Go to Sales from Select in Menu
Go to Store Room -> Store City Distance from Setups in Menu
File : com/dbz/modules/SAL/dbzStoreCityDistanceSetup.mxml

Vertical or Horizontal scrollbar?  Seems like it should be horizontal.

yes Horizontal scrollbar

The VDI is still not available so I can't investigate in detail.  In the test cases I looked, when you resize a column, the other columns also adjust their size so there is no excess width to require a horizontal scrollbar.  I will need the VDI to understand why this particular ADG lets its columns grow beyond the width of the ADG unless you can provide a simple test case.
As a workaround, I think you could try adding a CSS selector like
.AdvancedDataGridListArea
{
overflow-x: auto;
}

Thanks Alex.
There's no change after adding css

Hopefully VDI will be available today,then when you have time please check this issue on VDI

If you look at the debugger, you can see that dg has a width of 418px.  If you add up the column widths (I can only see DataGridColumn0 is 83.2px wide) does it add up to more than 418?  If not, then the column is clipping the renderers, the column does not extend beyond the right side.
Without the VDI, I cannot see how the DG was setup.  What does the ADG MXML tag look like?  Maybe there is some property that is being used that allows the columns to extend beyond the right side.

Hi Alex,
VDI is working now Please connect VDI with Computer namevdi.sidathyder.com.pk:6105 instead of
vdi.sidathyder.com.pk:6022
Other credentials are same

after these changes i am unable to resize ADG columns and there's an extra column in ADG after this change.

More fixes in 98f3a67dc5abf51877baec8f3716619d6106e3cf

@aharui Thank u so much issue resolved


P-value for pathway analysis on reactome seems incorrect

Using this request: https://www.genenetwork.nl/network/ENSG00000271251,ENSG00000251997,ENSG00000167004,ENSG00000254917,ENSG00000213946,ENSG00000232895,ENSG00000230843,ENSG00000260201,ENSG00000099290,ENSG00000225105,ENSG00000275342,ENSG00000236305,ENSG00000234071,ENSG00000166598,ENSG00000253270
and selecting pathway analysis on reactome for cluster 2, shows a P-value that should be lower:

Problem might be due to extermely low p-value of Translation for: https://www.genenetwork.nl/gene/RP11-126L15.4

a number underflow is probably occurring here

should be fixed as of PR #27 2bdfed16781365c7880bffde928c0491b6e24e8d


PMID:21035342

normal protein localization to cell periphery
abolished protein localization to cell periphery

abnormal protein localization to cell periphery FYPO:0005570
abolished protein localization to cell periphery FYPO:0005571
normal protein localization to cell periphery FYPO:0005572

edit file: 746f58ea7398be3632fe74b5599808a6a26507e6
release: b23bd2763fe080f268e151c5bdaaf4117f1c5f22


research on using mongodb view to dynamically join dataset/file, listener execution and user

for each of the file/dataset associate with listener executions and users, we need to if they have permission to read the file/dataset
mongo view seems like a good fit for achieving that.

already implemented


chore: fix for lean4#5542

In leanprover/lean4#5542 we will be deprecating structure ... := in favor of structure ... where.

Thanks!


A few suggestions

Hi
I have a few suggestions that are not necessarily right, for reference only.

New form page (such as:  routes, upstreams, services, ssl, consumers) can be center-aligned.
If the node option is required, it can be displayed directly, other pages are similar.

Like the below:

The layout is too compact.

Thanks.

Will do in the next dashboard.


What about the name of the files

The name of the files looks like to be hashed into SHA-1 or SHA-0 or an algorithm with an output size of 160 bits.

File names are sent via string table in the game and can not be resolved using this tool.


HDDS-4251. Update Ratis version to latest snapshot

What changes were proposed in this pull request?
This Jira aims to update ozone with latest Ratis snapshot which has a critical fix for OM HA - RATIS-1025.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4251
How was this patch tested?
No new tests required.

+1
and BTW, the exceptions changes in this PR is from https://github.com/apache/incubator-ratis/pull/203.

Thank You @hanishakoneru for the contribution and @amaliujia for the review.


Migrates build to ASF things

so nice that travis magically checks now, @abesto!

err I meant jenkins


Better formatting for notebooks that "Open in binder"

I've just tested the "Launch binder" rocket-shaped icon in the top left of e.g. https://tskit.dev/tutorials/basics.html and it works, hurrah! That's great, because people can simply run the tutorial material themselves easily now.
But the formatting of the sections, links to online docs, etc doesn't work yet (screenshot below)

There might be some jupyterbook flags that could be used to e.g. convert e.g.
{func}`~tskit.load`

To an actual link in the compiled notebook, and to change
:::{note}
This is a note
:::

into a note, a bit like seems to be done here: https://nbsphinx.readthedocs.io/en/0.8.6/markdown-cells.html (I'n not sure if that's the tool we should use)

@grahamgower and I spent some time on this for the msprime documentation and we decided that the binder functionality wasn't worth it.
We should turn off the Binder links.

OK, but it is quite nice that they do actually run in binder, albeit with rubbish formatting.
I suspect that people might want to run the notebooks either locally or e.g. as a Google Colab version, so perhaps instead of a binder link we should have some instructions for how to run the notebooks locally or on a remote server? Or even provide an alternative version that works like that? Since we are using some pre-constructed tree sequences for the tutorials, there should be an easy way to get a notebook running that uses these tree sequences, ideally without requiring the user (e.g. a masters student) to actually clone the entire repo.

One way we could get around this, which I think would be quite flexible, is to have an easy way of loading a tree sequence from a URL. It would be nice to be able to do
ts = tskit.load(urllib.request.urlopen("https://tskit.dev/tutorials/data/basics.trees"))

or even have a "url" argument to tskit.load:
ts = tskit.load(url="https://tskit.dev/tutorials/data/basics.trees")

Then people could simply copy-and-paste the cell content, and it should all work.Do you think this is a reasonable functionality to add to tskit.load, @jeromekelleher ? And if so, how do we expose these (very small) tree sequences so that they can be seen at https://tskit.dev/tutorials/data/xxx.trees?

We spent quite a lot of time on it @hyanwong because it would be nice, but there are loads of technical issues involved in getting the environment working properly, it rarely actually works as expected and it looks rubbish. It's just not worth the effort. It's definitely not worth compromising the effectiveness of the tutorial content for the sake of making them runnable, or of the (very significant) effort required to make them runnable by other people.
Adding url support to tskit is a separate issue, feel free to open an issue on tskit for this if you think it's useful.

We spent quite a lot of time on it @hyanwong because it would be nice, but there are loads of technical issues involved in getting the environment working properly, it rarely actually works as expected and it looks rubbish. It's just not worth the effort. It's definitely not worth compromising the effectiveness of the tutorial content for the sake of making them runnable, or of the (very significant) effort required to make them runnable by other people.

Yeah, I can definitely see that. Some instructions for how to get a runnable notebook working would probably be helpful though (even if it is "clone the repo, install conda, etc"). However, I do think the URL stuff might well be a decent solution to all this hassle, as well as being more general useful, so I'll open an issue.

Closing in favour of #116

Yeah, I can definitely see that. Some instructions for how to get a runnable notebook working would probably be helpful though (even if it is "clone the repo, install conda, etc").

I don't think it's worth it - people will spend a lot of time on it trying to document it, and then when people try to use it will most likely fail and the user will end up more frustrated than if they never though it was a possibility in the first place.

Reopening until the Binder link is disabled (PR on the way)


telink: tl321x: adopt usb driver

update usb driver.
update usb irq number in telink_tl321x.dtsi

The following west manifest projects have been modified in this Pull Request:

Name
Old Revision
New Revision
Diff

hal_telink
https://github.com/telink-semi/hal_telink/commit/f92eab672aac25a16d2807178664ea42ab8380e7 (telink_tl321x)
https://github.com/telink-semi/hal_telink/pull/99
telink-semi/hal_telink#99/files

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@pulin1103
The hal_telink PR has been merged.  Please update the hal_telink revision to
f3eb7a8bc1712e2f9308c58276c875de1c7bde52
Andy

@pulin1103 The hal_telink PR has been merged. Please update the hal_telink revision to f3eb7a8bc1712e2f9308c58276c875de1c7bde52 Andy

Updated hal_telink revision and force push.


Object Explorer Connect/Expand Action Takes ~35 Seconds on Mac (Integrated Auth)

(latest insiders, amd64 Mac, kerberos auth over VPN, connecting to SQL server 2022 instance on prem)
Took ~35 seconds from when I clicked on a server from OE until expansion was completed (i.e. until I could see the "Databases" folder). Captured a sqltools.log file, which I'll share offline (as it contains instance names).
Was able to repro very similar behavior with an RC1 build from a previous release, so this doesn't appear to be new behavior.
A couple of quick notes:

I noticed some behavior that, to an untrained eye, looks suspiciously similar to a couple of 5 second timeouts in the log:

23-03-02 20:09:51.1685500 pid:9188 tid:14 sqltools Verbose: 0 : eventTID:1769616 TdsParser.Connect | SEC | SSPI or Active Directory Authentication Library loaded for SQL Server based integrated authentication
23-03-02 20:09:56.2788020 pid:9188 tid:14 sqltools Verbose: 0 : eventTID:1769616 SNIProxy.GetSqlServerSPN | Info | ServerName <<REDACTED>>, InstanceName null, Port -1, postfix null
23-03-02 20:10:01.2826480 pid:9188 tid:14 sqltools Verbose: 0 : eventTID:1769616 SNIProxy.CreateConnectionHandle | Info | Session Id 67795fb5-ef04-42a8-b7da-24ca503b3647, SNI Handle Type: Microsoft.Data.SqlClient.SNI.SNITCPHandle

It appears that there are quite a number of queries that are being executed as part of connecting/OE expansion. Are they really all needed for just initial expansion (see log files for details)?

(Unsure if I should label this Object Explorer or Connection, but I went with Object Explorer. Apologies if that's not the right label in this case)

Update from internal investigations:
The time taken here is by the local Active Directory in resolving IP address for provided server name as is also reproduced with calls to below API:

Dns.GetHostAddresses(serverName) (5 seconds)
Dns.GetHostEntry(hostNameOrAddress) (5 seconds)

Also captured with SqlClient logs:
2023-03-31T16:10:32.8958200-07:00 SNICommon.GetDnsIpAddresses | INFO | Getting DNS host entries for serverName sqltools2022-3.
2023-03-31T16:10:37.9032020-07:00 Exit SNI Scope 2
2023-03-31T16:10:37.9169690-07:00 SNITCPHandle.Connect | INFO | Connecting to IP address <IP_ADDRESS> and port 1433 using InterNetwork address family.
2023-03-31T16:10:37.9971260-07:00 SNITCPHandle..ctor | INFO | Connection Id b6a42f59-9cad-4570-bbcb-c92578866ab0 Socket opened successfully, TCP stream ready.
2023-03-31T16:10:37.9975160-07:00 Exit SNI Scope 1
2023-03-31T16:10:37.9983000-07:00 SNIProxy.GetSqlServerSPN | Info | ServerName sqltools2022-3, InstanceName null, Port -1, postfix null
2023-03-31T16:10:42.9996370-07:00 SNIProxy.GetSqlServerSPN | Info | ServerSPNs MSSQLSvc/sqltools2022-3.redmond.corp.microsoft.com and MSSQLSvc/sqltools2022-3.redmond.corp.microsoft.com:1433

And since there are 3 connections made during login, it amounts to 30 seconds+ in this case.
This is likely an issue from Dns APIs, will continue to investigate any opportunities to improve performance.

Hi @chlafreniere
Can you please try with the latest insiders build, as we've enabled connection pooling by default for next release - that should improve connection performance when experiencing DNS delays.

Re-iterating, issue can be addressed by enabling connection pooling setting - now available in 1.45.1 and enabled by default in Insiders. Also with latest changes, we've moved the metadata queries to run in non-blocking way so even less time will be taken to complete connection. I'll proceed to close the issue as resolved and DNS issues are external to ADS/STS.


"Playing" doesn't get updated

At that point I hadn't been playing anything for several hours.

I think it's just a caching issue


FR: Support adapter configuration selection options in install

Describe the feature request
In a recent thread on the mailing-lists, it was noted that there is no way to control the set of Mixer adapter configuration that is generated for install (via helm, etc.). For example, the config.yaml currently supports no template-based configuration.
The use case mentioned was that the user only wanted a Mixer with the stdio adapter configured for an installation.
We would probably need to consider support for a few template-based profiles, instead of just selecting adapters, as well. For instance, if you don't select any adapters that have say metric template support, should we still install the default metric configuration?
Describe alternatives you've considered
The workaround is to hand-edit the generated configmap in the larger yaml to remove out the handler configuration.
Additional context

This probably will benefit greatly from OOP adapters. Adapters can be installed and activated independently from the core installation.


fixed requirements to match what's used

Some imports were not in the requirements and some required packages were not used. Fixing this.

@melonora I checked locally that the installation, the tests and the docs generation work. I think we can merge.

Actually gonna merge and make a release, not much to review here.

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

Comparison is base (01fd681) 78.14% compared to head (64c670b) 78.14%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #185   +/-   ##
=======================================
  Coverage   78.14%   78.14%
=======================================
  Files          17       17
  Lines        1821     1821
=======================================
  Hits         1423     1423
  Misses        398      398

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Something still looks off to me: napari-plugin-engine ?
Looks like this is a npe2 plugin (napari.yaml) to me.

you are right @psobolewskiPhD. The hook here was used to make the plugin the default reader for .zarr which the user can just do via preferences/plugins as far as I understand. Will adjust.

Thanks both, I have made a new release. CC @goanpeca


Refactor createSetHeader for cleaner syntax and improved readability

Replaced var with destructured parameter defaults (digits, header, suffix)
Used const and let for better scope and immutability
Simplified conditional checks and reduced code redundancy

There is a PR that should solve the CI issues: https://github.com/expressjs/response-time/pull/33


Fixing build

Description
Fixing build errors. There is an open issue with mypy: https://github.com/python/mypy/issues/13627
Type of Change

[x] 📚 Examples / docs / tutorials / dependencies update

Checklist

[ ] I've read the CODE_OF_CONDUCT.md document.
[ ] I've read the CONTRIBUTING.md guide.
[ ] I've updated the code style using make codestyle.
[ ] I've written tests for all new methods and classes that I created.
[ ] I've written the docstring in Sphinx format for all the methods and classes that I used.

Codecov Report

Merging #167 (e093488) into main (fd4cc71) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #167   +/-   ##
=======================================
  Coverage   97.03%   97.03%
=======================================
  Files          11       11
  Lines         135      135
  Branches       26       26
=======================================
  Hits          131      131
  Misses          2        2
  Partials        2        2

Impacted Files
Coverage Δ

spacy_cleaner/processing/helpers.py
100.00% <ø> (ø)

spacy_cleaner/processing/transformers.py
100.00% <ø> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Can't apply to multiple tables at once

I have multiple tables that all have the same class.  Ideally, I'd like to do:
$("table.ram").floatThead();

and have it work on all the tables. Instead, it seems I need to call each one separately.

Did you find a solution to this? I am facing the same issue.

@swaprks I had to do it for each:
$(".mytable").each(function(){
    floatHeading($(this));
});

if you can create a jsfiddle with the issue, ill take a look. it shouldnt be a problem

I am doing the same. Let me clear my cache and check one. My table is
inside a jquery tab.
On Thu, Aug 13, 2015 at 9:07 PM, Misha Koryak<EMAIL_ADDRESS>wrote:

if you can create a jsfiddle with the issue, ill take a look. it shouldnt
be a problem
—
Reply to this email directly or view it on GitHub
https://github.com/mkoryak/floatThead/issues/142#issuecomment-130732376.

--
Thanks
Regards
Swapnil Khamkar ( swaprks )

http://mGinger.com/index.jsp?inviteId=1023566*

ah, well that is a key piece of information. see this:
https://github.com/mkoryak/floatThead/issues/202

In my case. The table is not getting wrapped in the float container. This
is happening only for table inside the tab.
On 14 Aug 2015 01:47, "Misha Koryak"<EMAIL_ADDRESS>wrote:

ah, well that is a key piece of information. see this:
#202 https://github.com/mkoryak/floatThead/issues/202
—
Reply to this email directly or view it on GitHub
https://github.com/mkoryak/floatThead/issues/142#issuecomment-130827465.

ok, please provide a jsfiddle if you want me to help you

is there an issue using this plugin with jquery tabs??

Read the faq

Hi,
One more issue. I have a chart at the top and a table of content below.
All this is present inside a modal box. I want to float the table header at
the top when the user scrolls the pop up vertically. Any suggestion.
On Sat, Aug 15, 2015 at 5:02 PM, Misha Koryak<EMAIL_ADDRESS>wrote:

Read the faq
—
Reply to this email directly or view it on GitHub
https://github.com/mkoryak/floatThead/issues/142#issuecomment-131355732.

--
Thanks
Regards
Swapnil Khamkar ( swaprks )

http://mGinger.com/index.jsp?inviteId=1023566*

@cdw9  I have my table inside a pop up i.e jquery ui. the problem is when i keep changing the tabs, the headers go on increasing in number.

I need to see a jsfiddle. I can't give you advice about code I've never seen

latest version adds support for tables within bootstrap3 and jqueryui tabs. they should "just work" now without any code on your part.


/metrics endpoint stops working after a while

At first, when I run the app in Docker it works:
❯ curl http://localhost:10050/metrics
# HELP python_gc_objects_collected_total Objects collected during gc
# TYPE python_gc_objects_collected_total counter
python_gc_objects_collected_total{generation="0"} 573.0
python_gc_objects_collected_total{generation="1"} 109.0
python_gc_objects_collected_total{generation="2"} 0.0
...

Then, after a while (5-60 minutes or so) it stops working:
[INFO - 2023-01-09 13:14:26,493]: HTTP metrics server started on [<IP_ADDRESS>:10050]
[DEBUG - 2023-01-09 13:23:07,120]: Collected metrics for {accountname} account
Traceback (most recent call last):
  File "/opt/venv/lib/python3.11/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/urllib3/util/connection.py", line 95, in create_connection
    raise err
  File "/opt/venv/lib/python3.11/site-packages/urllib3/util/connection.py", line 85, in create_connection
    sock.connect(sa)
TimeoutError: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/venv/lib/python3.11/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/urllib3/connectionpool.py", line 386, in _make_request
    self._validate_conn(conn)
  File "/opt/venv/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1042, in _validate_conn
    conn.connect()
  File "/opt/venv/lib/python3.11/site-packages/urllib3/connection.py", line 358, in connect
    self.sock = conn = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/urllib3/connection.py", line 179, in _new_conn
    raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x7fb0159c8ad0>, 'Connection to api.github.com timed out. (connect timeout=15)')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/venv/lib/python3.11/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /rate_limit (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7fb0159c8ad0>, 'Connection to api.github.com timed out. (connect timeout=15)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/prometheus_client/exposition.py", line 129, in prometheus_app
    status, headers, output = _bake_output(registry, accept_header, accept_encoding_header, params, disable_compression)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/prometheus_client/exposition.py", line 105, in _bake_output
    output = encoder(registry)
             ^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/prometheus_client/exposition.py", line 198, in generate_latest
    for metric in registry.collect():
  File "/opt/venv/lib/python3.11/site-packages/prometheus_client/registry.py", line 97, in collect
    yield from collector.collect()
               ^^^^^^^^^^^^^^^^^^^
  File "/app/github_rate_limits_exporter/collector.py", line 80, in collect
    rate_limits = self.rate_limits
                  ^^^^^^^^^^^^^^^^
  File "/app/github_rate_limits_exporter/collector.py", line 69, in rate_limits
    rate_limits = self._api.get_rate_limit()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/github/MainClass.py", line 201, in get_rate_limit
    headers, data = self.__requester.requestJsonAndCheck("GET", "/rate_limit")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/github/Requester.py", line 354, in requestJsonAndCheck
    *self.requestJson(
     ^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/github/Requester.py", line 454, in requestJson
    return self.__requestEncode(cnx, verb, url, parameters, headers, input, encode)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/github/Requester.py", line 528, in __requestEncode
    status, responseHeaders, output = self.__requestRaw(
                                      ^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/github/Requester.py", line 555, in __requestRaw
    response = cnx.getresponse()
               ^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/github/Requester.py", line 127, in getresponse
    r = verb(
        ^^^^^
  File "/opt/venv/lib/python3.11/site-packages/requests/sessions.py", line 600, in get
    return self.request("GET", url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/requests/adapters.py", line 553, in send
    raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /rate_limit (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7fb0159c8ad0>, 'Connection to api.github.com timed out. (connect timeout=15)'))

Is there a way to easily debug which requests are being made exactly to Github?

Hi @roelywoely,
It seems that there is connection issue towards api.github.com, at least the python requests library is complaining about the Max retries exceeded, i have faced the same issue whenever my internet connection is unstable.
As a quick workaround you can set the restart policy to always when it is deployed on kubernetes or docker-compose. In such case whenever the process is exiting with statuc code 1 then the docker daemon or kubelet will try to restart.
Regarding the loglevel, if you check the cli.py module and utils.py:
    parser.add_argument(
        "-v",
        dest="verbosity",
        default=0,
        action="count",
        help="Increase verbosity level (-vv for more)",
    )

you can increase the verbosity up to 5 (-vvvvv) to set the loglevel to DEBUG, moreover, there is an easier way to make it configurable try this:
    parser.add_argument(
        "-v",
        dest="verbosity",
        default=os.getenv('LOGLEVEL', 0),
        action="count",
        help="Increase verbosity level (-vv for more)",
    )

How did you deployed the process? through docker-compose?

Hi @roelywoely, thanks for your feedback, appreciate it,
It seems that there is a network instability towards the api.github.com, at least the python requests library is complaining about the Max retries exceeded:
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /rate_limit (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7fb0159c8ad0>, 'Connection to api.github.com timed out. (connect timeout=15)'))

i have faced the same issue whenever my internet connection is unstable (connections breaks for more than 1 minute). In either case kubelet or docker-compose or docker restart policy should try to restart the process whenever it exists with non-zero status (this requires configuration)
How did you deploy the exporter? on bare-metal ? on docker or on k8s?

I deployed it using Docker. I'm having this issue both on a AWS EC2 instance and on my local machine.
I did not set the Docker restart policy. I will try that. However, it feels more like a workaround than a proper fix. Are there any other things that can be done to debug this a bit deeper? (This is also the reason why I wanted to set the log level to DEBUG, however this didn't provide any useful info)
I would be curious to see which curl requests are being performed and how many times. Thanks in advance :)

@theodore86 Thanks for your reply.

How did you deploy the exporter? on docker or on k8s?

I'm using Docker, not k8s. This problem occurs on both my local machine and an AWS EC2 instance. Restart policy is set to always. The problem is that whenever the container crashes, it doesn't restart. So probably it needs a Docker healthcheck. But that feels more like a patch, I'd prefer to try to fix the root cause.

Btw, did you check the net_conntrack_dialer_conn_failed_total prometheus metrics? or the net_connetrac_* metrics in general?

Do you mean in Prometheus, not in the output of the /metrics endpoint of the Docker container of this exporter? I don't see how it can contain relevant information, as locally I'm not running Prometheus and the problem still occurs (I'm not using the provided docker-compose.yml).
Also interesting: Whenever I run watch -n 10 "curl 'http://localhost:10050/metrics'" (locally, outside of the Docker container) the issue seems to be resolved and everything works fine. However, after an hour or so, it starts to fail with:
[DEBUG - 2023-01-11 11:47:58,833]: GET https://api.github.com/rate_limit {'Authorization': 'token (oauth token removed)', 'User-Agent': 'PyGithub/Python'} None ==> 401 {'server': 'GitHub.com', 'date': 'Wed, 11 Jan 2023 11:47:58 GMT', 'content-type': 'application/json; charset=utf-8', 'content-length': '80', 'x-github-media-type': 'github.v3; format=json', 'x-ratelimit-limit': '60', 'x-ratelimit-remaining': '60', 'x-ratelimit-reset': '1673441278', 'x-ratelimit-used': '0', 'x-ratelimit-resource': 'core', 'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset', 'access-control-allow-origin': '*', 'strict-transport-security': 'max-age=31536000; includeSubdomains; preload', 'x-frame-options': 'deny', 'x-content-type-options': 'nosniff', 'x-xss-protection': '0', 'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin', 'content-security-policy': "default-src 'none'", 'vary': 'Accept-Encoding, Accept, X-Requested-With', 'x-github-request-id': 'XXXXXXXXXXXXX'} {"message":"Bad credentials","documentation_url":"https://docs.github.com/rest"}
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/prometheus_client/exposition.py", line 129, in prometheus_app
    status, headers, output = _bake_output(registry, accept_header, accept_encoding_header, params, disable_compression)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/prometheus_client/exposition.py", line 105, in _bake_output
    output = encoder(registry)
             ^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/prometheus_client/exposition.py", line 198, in generate_latest
    for metric in registry.collect():
  File "/opt/venv/lib/python3.11/site-packages/prometheus_client/registry.py", line 97, in collect
    yield from collector.collect()
               ^^^^^^^^^^^^^^^^^^^
  File "/app/github_rate_limits_exporter/collector.py", line 80, in collect
    rate_limits = self.rate_limits
                  ^^^^^^^^^^^^^^^^
  File "/app/github_rate_limits_exporter/collector.py", line 69, in rate_limits
    rate_limits = self._api.get_rate_limit()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/github/MainClass.py", line 201, in get_rate_limit
    headers, data = self.__requester.requestJsonAndCheck("GET", "/rate_limit")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/github/Requester.py", line 353, in requestJsonAndCheck
    return self.__check(
           ^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.11/site-packages/github/Requester.py", line 378, in __check
    raise self.__createException(status, responseHeaders, output)
github.GithubException.BadCredentialsException: 401 {"message": "Bad credentials", "documentation_url": "https://docs.github.com/rest"}

Hi @roelywoely, thank you for using this project, appreciate it!
The github-rate-limits-exporter uses the python prometheus-client, the main focus on the /metrics endpoint is tho provide the github_rate_limits_* metrics but i have also include some default metrics of the prometheus-client library like process_cpu_* and net_conntrack_* which are pretty useful to monitor the exporter through grafana or prometheus (btw i was thinking to include a dashboard with some system/health monitoring graphs of the exporter).  Check the output of your curl command you will find some extra metrics regarding the exporter itself.
Regarding the first case:
github.GithubException.BadCredentialsException: 401 {"message": "Bad credentials", "documentation_url": "https://docs.github.com/rest"}

Most probably the 401 http status indicates an expired token or the provided credentials in general are invalid. Maybe you have set 1 hour of expiration of the generated PAT (Personal Access Token)?
The second case indicates network instability:
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /app/installations/XXXXXXXX/access_tokens (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7fa789c75bd0>, 'Connection to api.github.com timed out. (connect timeout=None)'))

In reality the exporter is trying to establish an TCP connection to retrieve the latest metrics from the api.github.com but it fails after the configured max retries. I suppose it has to do with the networking on the given network topology, i couldn't either reproduce it but i will use the watch -n 10 "curl 'http://localhost:10050/metrics

@theodore86

but i have also include the default metrics of the prometheus-client library like process_cpu_, process_mem_ and net_conntrack_* (network related metrics)

I don't see those metrics:
# HELP python_gc_objects_collected_total Objects collected during gc
# TYPE python_gc_objects_collected_total counter
python_gc_objects_collected_total{generation="0"} 660.0
python_gc_objects_collected_total{generation="1"} 22.0
python_gc_objects_collected_total{generation="2"} 0.0
# HELP python_gc_objects_uncollectable_total Uncollectable object found during GC
# TYPE python_gc_objects_uncollectable_total counter
python_gc_objects_uncollectable_total{generation="0"} 0.0
python_gc_objects_uncollectable_total{generation="1"} 0.0
python_gc_objects_uncollectable_total{generation="2"} 0.0
# HELP python_gc_collections_total Number of times this generation was collected
# TYPE python_gc_collections_total counter
python_gc_collections_total{generation="0"} 85.0
python_gc_collections_total{generation="1"} 7.0
python_gc_collections_total{generation="2"} 0.0
# HELP python_info Python platform information
# TYPE python_info gauge
python_info{implementation="CPython",major="3",minor="11",patchlevel="1",version="3.11.1"} 1.0
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 2.0525056e+08
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 4.388864e+07
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.67344913489e+09
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 2.9699999999999998
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 7.0
# HELP process_max_fds Maximum number of open file descriptors.
# TYPE process_max_fds gauge
process_max_fds 1.048576e+06
# HELP github_rate_limits_core API requests in core per hour
# TYPE github_rate_limits_core gauge
github_rate_limits_core{account="myaccount",type="limit"} 15000.0<PHONE_NUMBER>979
github_rate_limits_core{account="myaccount",type="used"} 5988.0<PHONE_NUMBER>979
github_rate_limits_core{account="myaccount",type="remaining"} 9012.0<PHONE_NUMBER>979
github_rate_limits_core{account="myaccount",type="reset"} 1.673450949e+09<PHONE_NUMBER>979
# HELP github_rate_limits_search API requests in search per hour
# TYPE github_rate_limits_search gauge
github_rate_limits_search{account="myaccount",type="limit"} 30.0<PHONE_NUMBER>979
github_rate_limits_search{account="myaccount",type="used"} 0.0<PHONE_NUMBER>979
github_rate_limits_search{account="myaccount",type="remaining"} 30.0<PHONE_NUMBER>979
github_rate_limits_search{account="myaccount",type="reset"} 1.67345063e+09<PHONE_NUMBER>979
# HELP github_rate_limits_graphql API requests in graphql per hour
# TYPE github_rate_limits_graphql gauge
github_rate_limits_graphql{account="myaccount",type="limit"} 12500.0<PHONE_NUMBER>979
github_rate_limits_graphql{account="myaccount",type="used"} 0.0<PHONE_NUMBER>979
github_rate_limits_graphql{account="myaccount",type="remaining"} 12500.0<PHONE_NUMBER>979
github_rate_limits_graphql{account="myaccount",type="reset"} 1.67345417e+09<PHONE_NUMBER>979
# HELP github_rate_limits_integration_manifest API requests in integration_manifest per hour
# TYPE github_rate_limits_integration_manifest gauge
github_rate_limits_integration_manifest{account="myaccount",type="limit"} 5000.0<PHONE_NUMBER>979
github_rate_limits_integration_manifest{account="myaccount",type="used"} 0.0<PHONE_NUMBER>979
github_rate_limits_integration_manifest{account="myaccount",type="remaining"} 5000.0<PHONE_NUMBER>979
github_rate_limits_integration_manifest{account="myaccount",type="reset"} 1.67345417e+09<PHONE_NUMBER>979
# HELP github_rate_limits_code_scanning_upload API requests in code_scanning_upload per hour
# TYPE github_rate_limits_code_scanning_upload gauge
github_rate_limits_code_scanning_upload{account="myaccount",type="limit"} 1000.0<PHONE_NUMBER>979
github_rate_limits_code_scanning_upload{account="myaccount",type="used"} 0.0<PHONE_NUMBER>979
github_rate_limits_code_scanning_upload{account="myaccount",type="remaining"} 1000.0<PHONE_NUMBER>979
github_rate_limits_code_scanning_upload{account="myaccount",type="reset"} 1.67345417e+09<PHONE_NUMBER>979

Most probably the 401 http status indicates an expired token or the provided credentials in general are invalid.
Maybe you have set the token expiration time to 1 hour ? Are you sing PAT as GITHUB_AUTH_TYPE?

No, the GITHUB_AUTH_TYPE is set to app.
Where can I find the token expiration time? I searched the source code for expiration but I couldn't find it, it's also not in the Github app settings.
What potentially might be the issue is that the app isn't return exit code 1 whenever the API call to Github fails, therefore the container isn't restarted.

What potentially might be the issue is that the app isn't return exit code 1 whenever the API call to Github fails, therefore the container isn't restarted.

Seems like is restarted correctly:
gh-rl-exporter  |     raise self.__createException(status, responseHeaders, output)
gh-rl-exporter  | github.GithubException.BadCredentialsException: 401 {"message": "Bad credentials", "documentation_url": "https://docs.github.com/rest"}

gh-rl-exporter exited with code 1

gh-rl-exporter  | [INFO - 2023-01-11 16:02:01,438]: Register collector for "theodore86" Github account
alertmanager    | ts=2023-01-11T16:02:01.470Z caller=cluster.go:705 level=info component=cluster msg="gossip not settled" polls=0 before=0 now=1 elapsed=2.000311232s
gh-rl-exporter  | [ERROR - 2023-01-11 16:02:01,864]: 401 {"message": "Bad credentials", "documentation_url": "https://docs.github.com/rest"}

docker run -p 10050:10050 -d \
  --name gh-rl-exporter \
  --restart on-failure \
  -e GITHUB_AUTH_TYPE=app \
  -e GITHUB_ACCOUNT=my_account_name \
  -e GITHUB_APP_ID=11111 \
  -e GITHUB_APP_INSTALLATION_ID=22222222 \
  -e GITHUB_APP_PRIVATE_KEY_PATH=/app/test.rsa \
  -e GITHUB_LOG_LEVEL=4 \
  --mount type=bind,source=/ws/test.rsa,target=/app/test.rsa,readonly \
  exporter:latest

Where can I find the token expiration time? I searched the source code for expiration but I couldn't find it, it's also not in the Github app settings.

Apologies my mistake the Github App does not have expiration dat only the PAT, most probably something with the App settings is not configured properly, just tested and it works fine.

but i have also include the default metrics of the prometheus-client library like process_cpu_, process_mem_ and net_conntrack_* (network related metrics)

I don't see those metrics:
Apoligies my mistake here, the net_conntrack_* are the prometheis metrics itself, the gc,platform and process metrics are given by default through the prometeus client python library so yea we can only check the cpu, memory

@roelywoely thanks for your issue, in reality there is a bug on the implementation.
At first, check this ticket regarding the PyGithub, it says that the JWT token expires every hour (60 minutes) and there is a pending work to support renewal of the tokens.
So, here comes the issue, when token expires the program raises github.GithubException.BadCredentialsException which should be gracefully handle by the except clause in the line 57 in __init__.py but the exception is not raised in the main thread:) check the implementation of the start_http_server so it remains unhadle, in any case, the root cause is the JWT token expiration so i need to perform some modification on the exporter to somehow refresh the token. Issue starts from the line 48 where the token is retrieved only once for the lifecycle of the exporter, most probably i need to move this responsiblity to the GithubRateLimitCollector.

@roelywoely, i have manage (here) to overcome the Github APP Token limitation (the 1 hour token expiration) and the fact that PyGithub doesn't support token renewal on the http authorization header, most probably by tommorow i will integrate the changes into the main branch, later on i will deal with the unhandle exceptions part.


SPONSOR: The order cannot be created. Please check line 324

The issue has been solved in the latest code update.


Memfault integration

https://github.com/NordicSemiconductor/asset-tracker-cloud-docs/discussions/414

This is release as a standalone solution: https://github.com/NordicSemiconductor/asset-tracker-cloud-memfault-aws-js


scrcpy frezes after a few seconds

[*] I have read the FAQ.
[*] I have searched in existing issues.

Environment

OS: Ubuntu 22.04
scrcpy version: 2.1.1
installation method: Manual from official repository
device model: Samsung Galaxy S23 Ultra SM-S918B
Android version: 13

Describe the bug
**I'm trying to use scrcpy on Ubuntu 22.04 with a Samsung S22 Ultra connected wirelessly via ADB. However, when I run the command from the PC's terminal, the program starts, and everything works correctly for a few seconds. Then, the transmission pauses without any error message in the terminal where the process is running; the video simply freezes (if I interact with the smartphone's screen, it works correctly, but the screen changes stop being displayed on the PC).
After this error occurs, when I run a command like 'adb devices,' the device is now listed as 'offline.' The only way to reconnect to the device via ADB is to restart the PC and the device.
This issue only happens when using this particular device. When I use any other phone (e.g., Nokia 2.3 with Android 11), the connection works correctly both wirelessly and with a USB cable.
Furthermore, this error only occurs when the ADB connection is wireless. If I make an ADB connection via USB, scrcpy works correctly on the same PC.
On Windows, the program works well both wirelessly and with a USB connection.
My PC, where I encounter this problem, is running Ubuntu 22.04. The device in question is a Samsung S23 Ultra SM-S918B.
The scrcpy version is as follows:
scrcpy 2.1.1 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
 - SDL: 2.0.20 / 2.0.20
 - libavcodec: 58.134.100 / 58.134.100
 - libavformat: 58.76.100 / 58.76.100
 - libavutil: 56.70.100 / 56.70.100
 - libavdevice: 58.13.100 / 58.13.100
 - libusb: - / 1.0.25

Ubuntu Version:
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.2 LTS
Release:	22.04
Codename:	jammy

kernel version:
6.2.0-33-generic

**
scrcpy
scrcpy 2.1.1 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO:     --> (tcpip)  <IP_ADDRESS>:34679             device  SM_S918B
/usr/local/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 77.6 MB/s (56995 bytes in 0.001s)
[server] INFO: Device: [samsung] samsung SM-S918B (Android 13)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 23.0.4-0ubuntu1~22.04.1
INFO: Trilinear filtering enabled
INFO: Texture: 720x1544

For me, 90% of the time it freezes immediately after login, often before the desktop can be drawn.
Pixel 7 Android 14 M1 MacBook Ventura host.
scrcpy worked flawlessly with my old phone.


Define New Role

I want to define a new role called HR (human resource).
It has level 4 and just can see users (not edit or delete).
but I can't do this.

Assign permissions to levels and or roles then assign the role to users which will have permissions attached.


ui: native text input components to input texts with IMEs

I'm not sure this should be in Ebiten core, but this should be useful.

Related #286

Note: If we want to support only keyboards, we can have transparent text fields.

Hi,
The intention of this issue is to use OS's API so that we can input texts with IMEs (e.g. Japanese texts). IMEs cannot be handled only with the current Ebiten API unfortunately.
Thanks,

I don't think I can make it for v2.4 unfortunately.

For GUI applications, not only IME inputting but also a lot of features like accesibility matter [1]. So, just introducing a rich text input would not solve the issue. What about integrating a browser rendering engine and enabling to composite both Ebitengine and browser rendering? Even a native-look application can use a browser renderer (e.g. [2]).
[1] https://raphlinus.github.io/rust/gui/2022/07/15/next-dozen-guis.html
[2] https://blog.jim-nielsen.com/2022/inspecting-web-views-in-macos/

There is a patch available for GLFW that enables IME on all platfoms:
https://github.com/glfw/glfw/pull/2130
If we apply this to the internal GLFW we can solve this issue . However, seeing that GLFW is not well supported it is probably better if we try to port as much of the code to Go as is possible.

Yeah I know it and I decided to implement the API by myself

OK, I didn't know you knew, so I just wanted to inform you.
It is a good idea to implement it yourself, since GLFW is really not moving forward anymore.

I'll close this. For other platforms, I'll create other separate issues.


Make module creation non-OpenAPI format specific

Currently when creating a module the API expects a full OpenAPI -document describing device/server related information such as:

Server URL with protocol (e.g. http://{IP-address})
Allowed port numbers (usually 5000 or 80)
Path to running the function
HTTP-methods (which, tbh might actually be meaningful describing e.g. if the response is expected to return "fast" and/or be cacheable)
MIME-types, schemas etc. that the user of the API probably isn't that interested in (they just want to plug things into other things)

Better would be to require minimal information about the module in the API and let the orchestrator decide and generate what eventual format (OpenAPI or other) will be used internally.

Orchestrator endpoint now handles creating the OpenAPI -doc internally and user does not need to care about it anymore #67


chore: update dev dependencies

Updates all of the devDependencies to the latest versions available.
Changes of significance:

Swapped instanbul for nyc, as is recommended by the package authors now when using mocha: https://istanbul.js.org/docs/tutorials/mocha/
Updated the coverage script to use nyc. Also removed the report-coverage script since it no longer worked and appears to be unused.
npm ci was failing in the pipeline when run for Node 14 (which uses npm 6), so I had to delete the package-lock.json and recreate it using npm i on Node 14 & npm 6

Otherwise, all the test and lint commands still work as they did before.

This change requires a patch version bump to 3.1.1 imo. Right now we need to manually bump the version and update the CHANGELOG.md as part of your PR.

This change requires a patch version bump to 3.1.1 imo. Right now we need to manually bump the version and update the CHANGELOG.md as part of your PR.

@Scomodev GitHub won't let me reply to your comment for some reason, so replying here instead.
Would this actually necessitate a version bump? Nothing in the actual library code has changed, so from the perspective of a project pulling in smartsheet from npm as a dependency, 3.1.1 would be identical to 3.1.0.
There is some discussion about best practice in this stack overflow, but doesn't appear to be consensus (the accepted answer has fewer upvotes than the other comments which disagree). What are your thoughts? https://softwareengineering.stackexchange.com/questions/440018/semantic-versioning-on-a-dev-dependencies-change


Missing first-person views in the validation set (and other issues)

Hi!
I downloaded the dataset last year. However, while exploring the data I found that some videos (all of the videos by participant p0001) in the validation partition do not have the first-person view (v000). Is it possible to somehow obtain such videos?
Additionally, I noticed that the same video_id appears twice in the train_list.csv file:
p0030_r001_a000,go_to_sleep
p0030_r001_a000,work_at_table
Upon inspecting the annotation files, it seems that the videos for that entry are of a go_to_sleep instance but the labels are for a work_at_table scene.
There is a similar situation for p0028_r004_a000 and p0028_r004_a001, albeit the first-person video and one of the third-person videos do match with the annotation.
Also, I've found 45 videos for which the annotations file is empty. I can provide a list if required but I'm not sure if that is intended.
Thank you in advance for your time.

Hello, do you know what is the meaning of each word in the filename I think p means person, what does 'r001' and 'a000' mean? Is there any detailed documentation explaining the data?

Thanks for the questions and apologies for the late reply, both {kozuka.kazuki, ishizaka.shun} AT jp.panasonic.com will be able to help with these detailed queries :)

Hello @qiaomu-miao , additional details regarding your questions have been provided here - https://github.com/nishantrai18/homage/issues/5#issuecomment-1273979055
In short, r001 refers to the room (it's an internal field you do not need to be bothered by), while a000 refers to the action id, similarly p and v refer to person and view. More details are provided in the other answer i linked.


Loading ACDL multiple times deletes existing event listeners

Expected Behaviour
Loading the ACDL script multiple times does not delete existing listeners.
Actual Behaviour
Loading or importing the ACDL script multiple times removes existing event listeners.
Reproduce Scenario (including but not limited to)
Both Adobe Commerce Product Recommendations and Adobe Commerce Live Search use the ACDL to track events. Each extension loads ACDL, which wipes out the other extensions event listeners.
Steps to Reproduce

Pull in ACDL using a script tag.
Set up an event listener.
Push the event.
Watch it execute the handler. 👍🏼
Pull in ACDL again using a script tag.
Push the event.
The handler is not run.

Platform and Version
Running in Chrome with ACDL v2.0.1.
Sample Code that illustrates the problem
Here's a codesandbox!
Logs taken while reproducing problem
CLICK EVENT
(2) [Object, Object]
  0: Object
    event: "click"
  1: Object
    event: "click"

I'd note that duplicate loading of an identical resource is suboptimal anyways, but should still not result in broken functionality.
It would be good to provide guidance on whose responsibility it is to load the ACDL in the case of third party scripts. In our case we have a website who loads ACDL but also loads third party scripts that also load ACDL.


fix(BToast): vue has no exported member named 'Reactive'

@mariusa It's strange the build failed...

Went through Vue/Core, I see no Reactive type. Core never really complained about the type not being there. Think I will push a fix and remove Reactive


Added ability to specify a custom gRPC stub for the stackdriver exporter

This patch adds the ability to use a custom gRPC stub for the stackdriver trace exporter.  The default behavior is still the same, if unset, one will be created.

The biggest reason is that we have a pretty customized gRPC channel setup that we use in-process already (for bigtable specifically), adding the ability to pass in our own stub lets us use that instead of the default.
Additionally, there's some experimentation I'd like to do with other transports, and being able to pass in a totally custom stub makes it much easier to do so.

Sounds good to me, could you also add an entry in CHANGELOG.md, since this is an API change?

Codecov Report

Merging #1410 into master will decrease coverage by 0.03%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master    #1410      +/-   ##
============================================
- Coverage     84.26%   84.23%   -0.04%
  Complexity     1478     1478
============================================
  Files           228      228
  Lines          6795     6798       +3
  Branches        639      640       +1
============================================
  Hits           5726     5726
- Misses          885      888       +3
  Partials        184      184

Impacted Files
Coverage Δ
Complexity Δ

...ace/stackdriver/StackdriverTraceConfiguration.java
100% <ø> (ø)
2 <0> (ø)
:arrow_down:

...er/trace/stackdriver/StackdriverTraceExporter.java
22.58% <0%> (-2.42%)
3 <0> (ø)

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 6638ad6...b930caf. Read the comment docs.

Sure thing!

thanks all!


Inconsistent configuration section names in SDK and its documentation

While trying to use an app.config file to store my AWS profile and some DynamoDB-related information, I have found out some inconsistencies between the section names actually supported by the SDK and the ones described in the documentation.
According to http://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-ref.html#net-dg-config-ref the way to specify the profile name is by using the profileName tag as in:
<aws
  profileName="development"
  <!-- ... -->
</aws>

However, in ConfigurationExtensions.cs a tag named profile is looked for (instead of profileName).
I am loading the app.config file as follows:
Configuration = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddXmlFile("app.config")
    .Build();

The following statement:
Configuration.GetAWSOptions().Profile
returns null if profileName is used, but it returns the correct profile name if profile is used instead.
A similar, but probably unrelated problem, occurs when trying to specify the table name prefix in the app.config file. According to the documentation (same link as above), the way to specify the prefix is as follows:
<aws
  <!-- ... -->
  <dynamoDB>
    <dynamoDBContext
      tableNamePrefix="string value">
   </dynamoDBContext>
  </dynamoDB>
</aws>

But, in AWSConfigs.DynamoDB.cs the key to access this property is defined as:
public const string DynamoDBContextTableNamePrefixKey = "AWS.DynamoDBContext.TableNamePrefix";
It seems the dynamoDB tag is missing (compared to the documentation). Moreover, I believe that the table name prefix is intended to be read from the configuration in the following statement:
this.TableNamePrefix = AWSConfigs.GetConfig(AWSConfigsDynamoDB.DynamoDBContextTableNamePrefixKey);
See code here.
But, if I am not mistaken, that method is implemented here and it just returns null:
public static string GetConfig(string name)
{
    return null;
}

So, it seems the tableNamePrefix tag might not be supported for .NET core.
I have managed to have it working by adding the following statements to my application:
AWSConfigsDynamoDB.Context.TableNamePrefix = Configuration
    .GetSection("aws")?
    .GetSection("dynamoDB")?
    .GetSection("dynamoDBContext")?["tableNamePrefix"];

Where Configuration is the result of using the ConfigurationBuilder (as shown earlier).
But, I wonder whether there is a better way to do it.
Environment

AWSSDK.Core version used: 3.3.12
Operating System and version: Windows 10
Visual Studio version: 2017
Targeted .NET platform: .NET core 1.0

.NET Core Info

.NET Core version used for development: .NET core 1.0
.NET Core version installed in the environment where application runs: .NET core 1.0
Output of dotnet --info:

.NET Command Line Tools (1.0.3)

Product Information:
 Version:            1.0.3
 Commit SHA-1 hash:  37224c9917

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.15063
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\1.0.3

Contents of project.json/project.csproj:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="AWSSDK.Core" Version="3.3.12" />
    <PackageReference Include="AWSSDK.DynamoDBv2" Version="<IP_ADDRESS>" />
    <PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="<IP_ADDRESS>" />
    <PackageReference Include="Microsoft.Extensions.CommandLineUtils" Version="1.1.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration" Version="1.1.1" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Xml" Version="1.1.1" />
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="1.1.0" />
  </ItemGroup>

  <ItemGroup>
    <None Update="app.config">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>
</Project>

Hi, it looks like you are looking at the wrong documentation.  Notice that there's a separate configuration documentation page for .Net Core which specifies Profile as the key instead of profileName.
Regarding the DynamoDB problem you encountered, are you creating the service client as suggested in the documentation?
var options = Configuration.GetAWSOptions();
IAmazonS3 client = options.CreateServiceClient<IAmazonS3>();

What about the documentation for other fields such as tableNamePrefix? Do they follow the format described in the page I referenced?
Yes, I create the client following the approach you mentioned.
I created a minimal example showing the problem where DynamoDBContextConfig is not initialized with the expected table name prefix. In the appsettings.json file I placed the tableNamePrefix setting both directly under the AWS node and under the DynamoDB node (as it is not very clear from the documentation where it should be placed).

No they do not.  System.Configuration namespace is not supported in CoreCLR and this breaks how service specific configuration is consumed by each client. The AWSSDK.Extensions.NETCore.Setup is our package that supports a few critical configurations like credentials & region.
We'll update the docs to make this clear.

Is there any recommended way to set up the table name prefix from the configuration file in .NET core?

There is no mechanism yet for the .NET Core version of the SDK to get the value from the file, but once you do get this value from a configuration into your application, you can apply it globally by setting AWSConfigsDynamoDB.Context.TableNamePrefix.

There is no mechanism yet for the .NET Core version of the SDK to get the value from the file, but once you do get this value from a configuration into your application, you can apply it globally by setting AWSConfigsDynamoDB.Context.TableNamePrefix.

Is there any better way to do this? I read that way would be deprecated.

This is still broken in 2020?


Intergrated terminal is crashing sometimes

Does this issue occur when all extensions are disabled?: Yes

Version: 1.80.0-insider (user setup)   ALSO EFFECTs stable version
Commit: 39efe30bfc8e196f5be2119479092bd9eb83e174
Date: 2023-06-30T14:32:07.986Z
Electron: 22.3.14
ElectronBuildId: 21893604
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621

Log: https://pastebin.ubuntu.com/p/QDrj5FMcRj/
Stepping to reproduce:
I don't know, it's so random, but if I want to reproduce it quickly, I just run yarn start and spam Ctrl + C repeatedly

is there a reason you're using windows powershell vs powershell?

is there a reason you're using windows powershell vs powershell?

What do you mean by that? It's the default shell on my windows 11 machine

you'll likely have a better experience if you use powershell vs windows powershell.
thanks for the log - yours is exiting because it was killed by the process
https://github.com/microsoft/vscode/blob/8265c3ec21184474684c6e0175dd2cff345230cd/src/vs/workbench/contrib/terminal/common/terminal.ts#L323-L325

you'll likely have a better experience if you use powershell vs windows powershell.
thanks for the log - yours is exiting because it was killed by the process
https://github.com/microsoft/vscode/blob/8265c3ec21184474684c6e0175dd2cff345230cd/src/vs/workbench/contrib/terminal/common/terminal.ts#L323-L325

Sorry, what do you mean by powershell vs windows powershell, I don't quite get it

You're using windows powershell. do you have other forms of powershell installed?

@CGQAQ it's confusing I know, but "Windows PowerShell" is powershell <= v5, and "PowerShell" which was previously "PowerShell Core" is powershell > v6 (aka. pwsh). I'm not sure why you're seeing this but I expect installing pwsh v7 via the Windows Store will fix this.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Invariant test does not revert though fail_on_revert is set to true

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (2bcb4a1 2024-01-02T00:17:30.395578000Z)
What command(s) is the bug in?
forge test
Describe the bug
I am running an invariant test through a handler and have a weird issue where fail_on_revert is set to true in my config (confirmed by running forge config), one of the calls revert (confirmed by looking at traces with high verbosity) but the test passes. I believe fail_on_revert is not respected when using vm.warp and/or vm.roll. I do not use --via-ir. It is problematic as it means some inner calls can fail silently without you noticing (which is what initially happened in my case).
I managed to create a small self-contained repro:
Reproduction code

Foundry.toml
[...]
[invariant]
runs = 256
depth = 100
fail_on_revert = true
dictionary_weight = 20

DummyInvariant.t.sol
pragma solidity ^0.8.19;

import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>import {DummyHandler} from "./DummyHandler.sol";

contract DummyContract {
    constructor() {}
    function dummyRevert() public {
        revert();
    }
}

contract DummyInvariantTest is Test {
    DummyContract myContract;
    DummyHandler handler;

    function setUp() public {
        myContract = new DummyContract();
        handler = new DummyHandler(myContract);

        vm.label({ account: address(handler), newLabel: "DummyHandler"});

        // Target only the handler
        targetContract(address(handler));

        bytes4[] memory selectors = new bytes4[](2);
        selectors[0] = handler.thisFunctionReverts.selector;
        selectors[1] = handler.advanceTime.selector;

        targetSelector(FuzzSelector({
            addr: address(handler),
            selectors: selectors
        }));
    }

    function invariant_DummyInvariant() public {
        assertTrue(true);
    }
}

DummyHandler.sol
pragma solidity ^0.8.19;

import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>import {DummyContract} from "./DummyInvariant.t.sol";

contract DummyHandler is Test {
    DummyContract myContract;

    constructor(DummyContract contract_) {
        myContract = contract_;
    }

    function thisFunctionReverts() public {
        if (block.number < 20) {
        } else {
            myContract.dummyRevert();
        }
    }

    function advanceTime(uint256 blocks) external {
        blocks = blocks % 10;

        vm.roll(block.number + blocks);
        vm.warp(block.timestamp + blocks * 12);
    }
}

In the above, the handler has two functions:

advanceTime increments the block number and the timestamp
thisFunctionReverts reverts if block.number >= 20.

It should be trivial to make the above revert with a stateful test. However, if I run the above with forge test --match-contract DummyInvariantTest -vvvvv, I can see that calls to thisFunctionReverts do revert in the logs but the test passes successfully.
Running 1 test for test/foundry/DummyInvariant.t.sol:DummyInvariantTest
[PASS] invariant_DummyInvariant() (runs: 256, calls: 25600, reverts: 0)
Traces:
[...]
  [5313] MessageServicesHandler::thisFunctionReverts()
    ├─ [107] DummyContract::dummyRevert()
    │   └─ ← EvmError: Revert
    └─ ← EvmError: Revert
[...]
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.41s

Importantly, if I comment out vm.warp & vm.roll in the advanceTime function and just call vm.roll (to roll to block 21) directly in setUp, the test reverts successfully. This points to the issue being when the handler calls vm.roll or vm.warp.

I'm not positive but I think I have a similar issue. I have an assert that fails but the test still indicates that it passed. This is very concerning to me as I would not have realized things were broken if I hadn't been running with high verbosity for another issue. I can't seem to figure out what would cause it but I am somewhat new to using foundry for tests.
I believe I have something pretty compact and reproducible running with the following settings and code.
forge test --mt statefulFuzz_testHasTimePassed -vvvvv
foundry.toml
[profile.default]
src = "src"
out = "out"
libs = ["lib"]
ffi = true
optimizer = true
evm_version = 'shanghai'
fs_permissions = [{ access = "read", path = "./" }]

[fuzz]
runs = 256
seed = '0x3'

[invariant]
runs = 64
depth = 32
fail_on_revert = true

AssertTests.t.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.20;

import {Test, console2} from "forge-std/Test.sol";
import {StdInvariant} from "forge-std/StdInvariant.sol";

contract ContractTestSuite is StdInvariant, Test {
    Mock mock;
    MockHandler mockHandler;

    uint256 id = 0;

    function setUp() public {
        mock = new Mock();
        mockHandler = new MockHandler(address(mock));

        targetContract(address(mockHandler));
        bytes4[] memory selectors = new bytes4[](2);
        selectors[0] = mockHandler.setTimeById.selector;
        selectors[1] = mockHandler.hasRequiredTimePassed.selector;

        targetSelector(FuzzSelector({addr: address(mockHandler), selectors: selectors}));
    }

    function statefulFuzz_testHasTimePassed() public {
        assert(mock.hasRequiredTimePassed(id));
    }
}

contract Mock {
    uint256 public constant REQUIRED_TIME = 1 days;

    mapping(uint256 id => uint256 timeStamp) public idsToTimestamps;

    constructor() {}

    function setTimeById(uint256 id) external {
        idsToTimestamps[id] = block.timestamp;
    }

    function hasRequiredTimePassed(uint256 id) external view returns (bool) {
        if (idsToTimestamps[id] <= block.timestamp - REQUIRED_TIME) {
            return false;
        }
        return true;
    }
}

contract MockHandler is Test {
    address private originalContract;
    uint256 counter = 0;

    constructor(address _originalContract) {
        originalContract = _originalContract;
        vm.warp(623095235);
        Mock(originalContract).setTimeById(0);
    }

    function setTimeById() external {
        ++counter;
        uint256 rollForwardBy = counter % 2 == 0 ? 36 hours : 12 hours;
        vm.warp(vm.getBlockTimestamp()+rollForwardBy);
        vm.roll(vm.getBlockNumber()+1);
        Mock(originalContract).setTimeById(0);
    }

    function hasRequiredTimePassed() external returns (bool) {
        ++counter;
        uint256 rollForwardBy = counter % 2 == 0 ? 36 hours : 12 hours;
        vm.warp(vm.getBlockTimestamp()+rollForwardBy);
        vm.roll(vm.getBlockNumber()+1);
        return Mock(originalContract).hasRequiredTimePassed(0);
    }
}

Output:
 . . .
  [9920] ContractTestSuite::statefulFuzz_testHasTimePassed()
    ├─ [2579] Mock::hasRequiredTimePassed(0) [staticcall]
    │   └─ ← false
    └─ ← panic: assertion failed (0x01)

Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 163.58ms

Ran 1 test suites: 1 tests passed, 0 failed, 0 skipped (1 total tests)

If I apply the following diff to the stateful fuzz test it appears as if the failed assertion is properly recognized:
    function statefulFuzz_testHasTimePassed() public {
-        assert(mock.hasRequiredTimePassed(id));
+        assert(mockHandler.hasRequiredTimePassed());
    }

Output:
 . . .
  [22629] ContractTestSuite::statefulFuzz_testHasTimePassed()
    ├─ [17384] MockHandler::hasRequiredTimePassed()
    │   ├─ [0] VM::getBlockTimestamp() [staticcall]
    │   │   └─ ← 623138435 [6.231e8]
    │   ├─ [0] VM::warp(623268035 [6.232e8])
    │   │   └─ ← ()
    │   ├─ [0] VM::getBlockNumber() [staticcall]
    │   │   └─ ← 2
    │   ├─ [0] VM::roll(3)
    │   │   └─ ← ()
    │   ├─ [2579] Mock::hasRequiredTimePassed(0) [staticcall]
    │   │   └─ ← false
    │   └─ ← false
    └─ ← panic: assertion failed (0x01)

Test result: FAILED. 0 passed; 1 failed; 0 skipped; finished in 171.51ms

Ran 1 test suites: 0 tests passed, 1 failed, 0 skipped (1 total tests)

Failing tests:
Encountered 1 failing test in test/AssertTests.t.sol:ContractTestSuite
[FAIL. Reason: panic: assertion failed (0x01)]
        [Sequence]
                sender=0x0000000000000000000000000000000000000308 addr=[test/AssertTests.t.sol:MockHandler]0x2e234DAe75C793f67A35089C9d99245E1C58470b calldata=setTimeById() args=[]
 statefulFuzz_testHasTimePassed() (runs: 64, calls: 2017, reverts: 0)

Encountered a total of 1 failing tests, 0 tests succeeded

@keyneom Yes, we have the exact same issue.

This is very concerning to me as I would not have realized things were broken if I hadn't been running with high verbosity for another issue.

Same here, from what I see it means that fail_on_revert doesn't work when your invariant handler uses vm.roll or vm.warp. I think this is a pretty common situation so there may be a few projects not realizing that their invariant test suite is actually not reverting. For example, Sablier (which is widely considered as a standard in terms of clean tests) relies on invariant tests with fail_on_revert and do use vm.warp.
@Evalir Really apologize for the tag, but not sure how else to draw attention to this issue

+1, would like to request this gets fixed too

@0xMelkor I saw you have assigned #3411 for invariant fuzz test benchmarks. I just don't think benchmarks will be very meaningful if the tests aren't reporting failures correctly and it's like to draw attention to this issue as it appears there are more people and more people that are noticing its impact on them. I just want to make sure you all are aware of it since I know you've all got a ton of issues open right now.

made a draft PR https://github.com/foundry-rs/foundry/pull/7219 probably not the best solution for this issue @mattsse @Evalir @DaniPopes any thoughts on this really appreciated. thank you

I believe this issue was closed by https://github.com/foundry-rs/foundry/pull/7219, but can reopen if I misunderstood

A bit late, but thank you for the fix @grandizzy ! I confirm it fixes the issue on my end. Just to summarize if anyone stumbles here with an invariant test not reverting, make sure your foundry.toml includes:
[invariant]
preserve_state = true
fail_on_revert = true


Checking if Browser/Driver is created before taking a screenshot

SpecBind.CodedUI.IntegrationTests project depends on SpecBind.Plugin project
Fixes #122

Codecov Report

Merging #143 into master will decrease coverage by 0.05%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #143      +/-   ##
==========================================
- Coverage   77.09%   77.04%   -0.06%
==========================================
  Files         113      113
  Lines        3017     3019       +2
  Branches      349      349
==========================================
  Hits         2326     2326
- Misses        633      635       +2
  Partials       58       58

Impacted Files
Coverage Δ

src/SpecBind/BrowserSupport/BrowserBase.cs
100% <ø> (ø)
:arrow_up:

src/SpecBind.CodedUI/CodedUIBrowser.cs
0% <0%> (ø)
:arrow_up:

src/SpecBind.Selenium/SeleniumBrowser.cs
70.24% <0%> (-0.59%)
:arrow_down:

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 10d1f68...d2ab05d. Read the comment docs.


Saleor 12918: integration fix image upload error

fix image upload error

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 3 committers have signed the CLA.:x: Tranngocvan99:x: sontrannhu:x: nhan-mission-plusYou have signed the CLA already but the status is still pending? Let us recheck it.


SPFx 1.8 generator errors

Category

[ ] Question
[ ] Typo
[ x] Bug
[ ] Additional article idea

Find the details below:
? Which baseline packages do you want to target for your component(s)? SharePoint 2019 onwards, including SharePoint Online
? Where do you want to place the files? Use the current folder
Found npm version 6.4.1
? Do you want to allow the tenant admin the choice of being able to deploy the solution to all sites immediately without running any feature deployment or adding apps in sites? Yes
? Which type of client-side component to create? WebPart
Add new Web part to solution bt-5.
? What is your Web part name? HelloWorld
? What is your Web part description? HelloWorld description
? Which framework would you like to use? React
gulp build
Error - typescript - src/webparts/helloWorld/HelloWorldWebPart.ts(7,7): error TS2307: Cannot find module '@microsoft/sp-property-pane'.
Okay, as I understood now these interfaces (IPropertyPaneConfiguration,PropertyPaneTextField) are declared here @microsoft/sp-webpart-base
replace this:
import {
IPropertyPaneConfiguration,
PropertyPaneTextField
} from '@microsoft/sp-property-pane';
to:
import { IPropertyPaneConfiguration,
PropertyPaneTextField
} from '@microsoft/sp-webpart-base';
gulp bundle

Error - [write-manifests] Manifest validation error (./src/webparts/helloWorld/HelloWorldWebPart.manifest.json):
(#/) Data does not match any schemas from 'oneOf'
(#/) Missing required property: description
(#/) Missing required property: extensionType
(#/componentType) No enum match for: WebPart
(#/) Additional properties not allowed: supportedHosts
(#/) Missing required property: items
(#/) Missing required property: rootComponentId
Sadly, instead of developing, you always have to deal with some strange errors!

+1, we're also facing this issue with serve.
Additionally, this show up after refactoring a reference in the web part template due to a compilation error:
[12:17:22] Error - typescript - src/webparts/card/CardWebPart.ts(15,21): error TS2415: Class 'CardWebPart' incorrectly extends base class 'BaseClientSideWebPart<ICardWebPartProps>'.

Original
import {
  // symbols do not exist in reference
  IPropertyPaneConfiguration,
  PropertyPaneTextField
} from '@microsoft/sp-core-library/';

Updated:
import {
  IPropertyPaneConfiguration,
  PropertyPaneTextField
} from '@microsoft/sp-webpart-base';

@StfBauer, perhaps you have some suggestions regarding this issue? If I try to scaffold a project for SP online only it works well, but there are troubles with SharePoint 2019. Thanks.

Tracked in #3621 , along with a work around.  We hope to have an updated released very soon that will fix this.  If the information in 3621 is insufficient to solve this, please reopen this bug.


Fix some broken css

The "close" inside "modal" are likely broken for long time

There is no var called --body-color
There is no fullscreen modal
The .ui.modal > .close.inside doesn't seem to match most icons. It only matches a few like "fork-repo-modal" or "adopt repo". Other places are just buggy code copied again and again.

Convert the legacy &:hover LESS syntax to CSS syntax

There is no var called --body-color

We need a linter rule for undefined vars 😉

Should try https://github.com/csstools/stylelint-value-no-unknown-custom-properties.

Codecov Report

Merging #23560 (20282b5) into main (f521e88) will increase coverage by 0.00%.
The diff coverage is 44.34%.

: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   #23560    +/-   ##
========================================
  Coverage   47.14%   47.14%
========================================
  Files        1149     1154     +5
  Lines      151446   152264   +818
========================================
+ Hits        71397    71787   +390
- Misses      71611    72008   +397
- Partials     8438     8469    +31

Impacted Files
Coverage Δ

cmd/dump.go
0.67% <0.00%> (ø)

cmd/web.go
0.00% <0.00%> (ø)

models/actions/run.go
1.64% <0.00%> (-0.08%)
:arrow_down:

models/packages/package.go
45.45% <0.00%> (-1.13%)
:arrow_down:

models/user/search.go
77.50% <0.00%> (-6.29%)
:arrow_down:

modules/actions/github.go
0.00% <0.00%> (ø)

modules/actions/workflows.go
0.00% <0.00%> (ø)

modules/doctor/storage.go
31.93% <0.00%> (ø)

modules/setting/git.go
45.45% <ø> (ø)

modules/storage/minio.go
1.51% <0.00%> (-0.06%)
:arrow_down:

... and 50 more

... and 13 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Convert the legacy &:hover LESS syntax to CSS syntax

Thanks for catching, I recall linebuttons.css was not ran through lessc. Another option would be to just run it through it now, but I assume it will yield the same output.

I tested the stylelint plugin and it works, but we need to wait on https://github.com/csstools/stylelint-value-no-unknown-custom-properties/issues/32 before we can integrate it.

:trumpet: :robot:


Update pc-sysinstall to use the new path of refind from ghostbsd-refind packages

https://github.com/ghostbsd/pc-sysinstall/commit/da97028af74fe347bbacc6259005f15413d5adfa


Findbugs has been excluded at compiling time.

It is better to remove the findbugs excluding xml and resolve findbugs.

Fixed in #8


Add additional swiping info to cardBuilder callback and add an additional callback containing the horizontal and vertical swipe direction

Description

Adds onSwipeDirectionChange callback containing the horizontal and vertical swipe direction
Modifies the cardBuilder callback to include the ratio of vertical drag to threshold as a percentage
and the ratio of horizontal drag to threshold as a percentage.

Related Issues

Closes #21

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.

Hey @ricardodalarme. Thanks for maintaining this package 👍 Is there anything else you need from me to get this merged in?

onEnd is not working in this commit. Has anyone faced this issue?

Love this PR! I am excited about merging. Thank you both @ricardodalarme @sarope

Can anyone give an example of how to use onSwipeDirectionChange to show like or Nope badges on cards


Improve visibility of result of shift-clicking

When you shift-click, the new info is shown above the map, and some people might miss that it's showing up there.  How else could we make this information visible?

Ticket remains valid, but we are actually kinda downplaying this at the moment because the overall UX interactions are a touch unclear.


chore(deps): update eslint to v8

CI - use node 16 as prerequisite for eslint update

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


CPU usage

I think it uses more cpu. how can I optimize it?

I think it uses more cpu. how can I optimize it?

Need to upgrade it. I need time.


Improve the secret exchange flow

Related to https://github.com/fission-suite/auth-lobby/pull/76
Summary

This PR fixes/implements the following bugs/features

On secret retrieval during first authentication, webnative will send the app's exchange DID

Explain the motivation for making this change. What existing problem does the pull request solve?

This will fix bugs when multiple apps try to authenticate with the auth lobby at the same time
Test plan (required)

Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI.

I've tested this against a newer auth-lobby at https://philipps-auth-test.fission.app and with https://dashboard-altlobby.fission.app/ built with this branch.
I've also tested https://dashboard-develop.fission.app with the lobby endpoint modified to philipps-auth-test (backwards compatibility one way) and https://dashboard-altlobby.fission.app/ with the lobby endpoint modified to auth.fission.codes (backwards compatibility the other way).
Details
If the auth lobby doesn't support this new flow, yet, it doesn't matter:
Older versions of the auth lobby will just ignore the message sent and retrieve the secrets for you anyway (except that this process is then prone to concurrency bugs).

This should be ready to merge.
I've re-deployed https://philipps-auth-test.fission.app and https://dashboard-altlobby.fission.app and tested this PR again.