Testing integration of daops as backend for cmip6_preprocessing

Hi everyone,
I firstly wanted to say thank you for all the efforts that have already been put into this framework. I would love to contribute/integrated daops more into my workflow.
I am maintaining cmip6_preprocessing and am very interested in migrating some of the things I fix (in a quite ad-hoc fashion for now) in a more general way over here.
My primary goal for cmip6_preprocessing is to use it with python and the scientific pangeo stack, but I like the idea of documenting the actual problems (needing 'fixes') in an general and language-agnostic way over here. I was very impressed by the demo @agstephens gave a while ago during the CMIP6 cloud meeting and am now thinking of finally getting to work on this.
I am still really unsure how to actually contribute fixes to this repo, though. What I propose is to work my way through this using some quite simple fixes that are relatively easy to apply and are already documented in errata.
Specifically, I am currently testing this python code, which changes some of the metadata necessary to determine the point in time where a dataset was branched of the parent model run.
def fix_metadata_issues(ds):
    # https://errata.es-doc.org/static/view.html?uid=2f6b5963-f87e-b2df-a5b0-2f12b6b68d32
    if ds.attrs["source_id"] == "GFDL-CM4" and ds.attrs["experiment_id"] in [
        "1pctCO2",
        "abrupt-4xCO2",
        "historical",
    ]:
        ds.attrs["branch_time_in_parent"] = 91250
    # https://errata.es-doc.org/static/view.html?uid=61fb170e-91bb-4c64-8f1d-6f5e342ee421
    if ds.attrs["source_id"] == "GFDL-CM4" and ds.attrs["experiment_id"] in [
        "ssp245",
        "ssp585",
    ]:
        ds.attrs["branch_time_in_child"] = 60225
    return ds

These ingest an xarray.dataset and check certain conditions within the attributes, and then overwrite attributes accordingly. I could easily parse those out to dataset-specific 'fixes'.
Where exactly could I translate this into a fix within the daops framework? Very happy to start a PR (and then test the implementation from cmip6_preprocessing), but I am afraid I am still a bit unsure about the daops internals. Any pointers would be greatly appreciated.

Hi @jbusecke, It's great that you would like to get more involved with developing daops and (dachar) as a suitable approach.
There are multiple components that will be relevant here:

A generic python function to apply the fix, we populate this function:
https://github.com/roocs/daops/blob/master/daops/data_utils/attr_utils.py

with some code like:
def set_attributes(ds, **operands):
    """
    :param ds: Xarray Dataset
    :param operands: (dict) Each `key/value` pair will be set as attributes on the Dataset.
    :return: Xarray Dataset
    """
    for key, value in operands.items():
        ds.attrs[key] = value

    return ds

We add a fix class in dachar that represents this fix:

See example: https://github.com/roocs/dachar/blob/master/dachar/fixes/coord_fixes.py
We will need to add:
https://github.com/roocs/dachar/blob/master/dachar/fixes/attr_fixes.py

maybe add the class: SetAttributesFix

Gather your collection of Dataset Identifiers and the changes that you want to make.

Working with my colleague @ellesmith88, we can use this command-line tool to work with the fix pipeline:

https://github.com/roocs/dachar/blob/master/dachar/cli.py

propose fixes
review fixes
publish fixes (to ElasticSearch)

Test that the fixes work when you import daops and do some processing on one of those datasets.

We are happy/keen to work with you to prototype this - and to get your feedback on how we make it all more useful and accessible.


NodeJS SDK - Replace Engine by dagger.connect

As mentionned by @aluzzardi here https://github.com/dagger/dagger/pull/3460#issuecomment-1292758263.
NodeJS SDK need to user dagger.connect instead of Engine().

I'm working on it :)


tests: pin tenacity to <8.4

Issue
Unit tests fail with tenacity 8.4.
Solution
Pin tenacity to < 8.4. I assume you'll want to figure out how to use 8.4 and adjust the tests appropriately, but for now this makes relocking work.
Fixes #468.

Same comment as here: https://github.com/canonical/mysql-k8s-operator/pull/443#issuecomment-2188198087


WebWorkers methods and assertions

Investigate using https://pptr.dev/#?product=Puppeteer&version=v1.5.0&show=api-class-worker for webworkers in wendigo

page.workers() return all active workers, with the event workerdestroyed it would be possible to track destryed workers


Get the LUT cascade on ice40 working

LUTs in a tile can be cascaded together into a chain, useful for making a shift register style thing.
From http://www.clifford.at/icestorm/logic_tile.html

Each LUT i has four input wires lutff_i/in_0 to lutff_i/in_3.
Input lutff_i/in_2 can be configured to be driven by the output of the previous LUT for i>0 (LUT cascade).

Make sure this is working.

This should be fixed by https://github.com/SymbiFlow/symbiflow-arch-defs/pull/150 -- however it really needs some better testing.

I'm working on this.


Correct TCP advertisement because not supported

We do ot support TCP (and even when noone seems to use it at all), so we should also not advertise it.
PS: tested it with Apple afterwards ... no change in behavior

But we do not support TCP but UDP only ...  (and also TCP, even if announced, seems not to be used at all)


tabSelect only fires when changing tab

The tabSelect event only seems to fire when a user switches to a new tab.
It is quite a common user experience that tapping a tab will scroll back to the top of the page or bring you back to the root page of that tab (I push pages into a tab and it would make sense that by tapping the tab you would pop all the pages back to the root)
Something similar was discussed for ion-tab here https://forum.ionicframework.com/t/capturing-ion-tab-click-on-active-tab-event/56594/34
Would be great to be able to listen to that event regardless if the tab is changing or not

I found a work around for this, you can add a tap event which will fire every time the tab is tapped.
<super tabs (tap)="tapped()" (tabSelect)="onTabSelect($event)"> </super-tabs>

Yeah I noticed that Ionic Framework's tabs component fires the event everytime. It sends out an object similar to the following:
{
  index: 1,
  changed: false
}

I will add this in upcoming releases.


Adding new field varDataEncoding to a existing message

Hi,
I wanted to extend an existing SBE structure by adding a varDataEncoding.
It does not compile when I put presence="optional" there, so the following is what i have now.
It seems to be working, my application can run new version of the schema to read old messaged encoded by the previous version.
However, print message tools I wrote using SBE OTF tools do not work properly. It always says decode error, when reading old messages.
Is this supported behavior?
<sbe:message name="Car" id="1">

</sbe:message>

SBE 1.0 does not support optional var-data or group members. I argued for this but was voted down by the committee. Their argument is that a var-data member with a length of 0 is sufficient which I do not agree with. SBE 2.0 supports extension by variable length members. SBE Spec


Use HNF to normalize annotated computation types.

Fixes #13.

If my spec was stt a p q where I have let p = x ** y, would this end up reducing it to stt a (x ** y) q?

My understanding is that the HNF normalizer options prevents recursion into function arguments.  And I have verified that neither pre- nor postconditions are unfolded now.


docs: update changeset

added red orange token fix
updated status token section

Switching this to a draft because the DPO talked about making some tweaks to the status color values.

@marionnegp do you still want this changeset to apply?


Prettier config file

Summary | Résumé
This adds a .prettierrc file so that we can all happily format our js code the same. Happy commas, happy indents, happy team. 🌈

Closing bc this was merged in another PR by accident!


chore: added room type in create a room and the column in the database

Added a room type variable to rooms. Modified the create room UI to reflect this change and added the collum of room type to the database.
Test plan (required)

Closing issues

closes #320

Sub-tasks Checklist

[X] UI Implementation
[ ] UI Test
[X] Backend Implementation
[ ] Backend Tests
[ ] Integration Tests
[ ] System Tests
[ ] Documentation

Commit messages are still malformed:

I need to tweak the commit validation step

Commit messages are still malformed:

I need to tweak the commit validation step


Wrong links for Terms & Conditions

Describe the bug
When I start XT Wallet (Firefox) i need ot accept Terms & Conditions.
They are linked to Tezos instead it should to Signum

Browser (please complete the following information):
Firefox

ooops

If you @frankTheTank72  give correct links, I can change them. Them are here:
https://github.com/signum-network/signum-xt-wallet/blob/17a54a1815c111d86466a13235083cc517001ab9/src/app/templates/NewWallet.tsx#L211
https://github.com/signum-network/signum-xt-wallet/blob/17a54a1815c111d86466a13235083cc517001ab9/src/app/templates/NewWallet.tsx#L223

#24
Fixed


In a multi-cluster environment, users without cluster permissions cannot select the host cluster as the deployment location of the CD task

What is version of KubeSphere DevOps has the issue?
v3.3.1-rc.2
How did you install the Kubernetes? Or what is the Kubernetes distribution?
No response
What happened?
There is a worksapce wx-ws, his cluster have host and member.
There is a devops project dev-h in the host cluster of wx-ws.
There is a user wxx, his platform role is platform-regular and worksapce role is wx-ws-admin
Use account wx login ks, and create CD task in devops project dev-h.
Actual behavior
The host cluster cannot be selected as the deployment location of the cd task.

Excepted behavior
If the user has the operation permission of the devops project in host cluster, then he can deploy the CD task to any cluster where the workspace is located.
Relevant log output
No response
Additional information
No response

The correct cluster name should be test-host instead host. This is the reason why got a 404 error.

/assign @harrisonliu5

/kind need-to-verify

Issue fixed in ks v3.3.1-rc.3


Change IntOrString field types from string to object

IntOrString is better represented as object in python (and I can argue in most of the other languages too). That way we won't have any type check on it which is not ideal but it is better than consider it as string because both serialization and deserialization would be wrong that way.
fixes https://github.com/kubernetes-incubator/client-python/issues/18
(It is not a 100% fix but I think it is close enough to fix that issue. Only missing thing for IntOrString is typecheck which is not a big deal, if it is at all, in python but could be an issue in other languages).

For some reason, this PR didn't get any new commits and I forced to close it in favor of #366


migrate to futures-0.3

Any plans to move to a futures-0.3 API?
This would allow easy interop with the async/await syntax.
The downside of course is that it's not quite stabilised, so could only target nightly.
Hyper has just about finished migrating, but even before that shiplift can start returning std::futures using the compat layer.

Thanks for posting. I haven't taken a specific look yet. I'm aware that things are changing. I'm was planning on waiting until interfaces stabilize to minimize the amount of breaking changes I'd have to make in these interface. Once hyper is finished this crate mostly gets the upgrade for free.

fair enough. Just to clarify, while async/await syntax is not stabilised yet, std::future is stabilised. Meaning that the interface is already stable.
I agree that it's probably worth waiting. async/await will probably lead to a bit of a refactor too- it's not just a new syntax, it also adds some handy borrowing semantics for futures, so you don't need to clone objects and pipe them through multiple futures anymore
https://github.com/rust-lang/rust/labels/AsyncAwait-Blocking
https://github.com/rust-lang/rust/issues/62149

I've started playing around with this in the above pull request. The upgrade is a hell of a long way from 'free', turns out.
The async await syntax simplifies a lot of methods which return futures, which is nice. Doesn't do so much to simplify the methods which return streams (there's no equivalent syntax for streams as yet).

i'm revisiting this, given i've got a tiny bit of extra time on my hands during the lockdown...
https://github.com/danieleades/longshoreman
given the sheer volume of endpoints to cover, i'm absolutely looking for feedback on which ones people need, and for pull requests to add them.
My hope is that by centralising the logic for handling requests and responses, it should be relatively straightforward for contributors to implement endpoints incrementally!
The core logic of the HTTP client is implemented, and uses the latest Hyper, async/await, etc.
The endpoints use (/will use) a builder API for constructing requests. All requests and responses are strongly-typed.

I am currently managing my dockers with std::process::Command and I would like to migrate to shiplift. But my tokio future version and the shiplift future version are not matching.

@whizsid step into my office
I'm adding things incrementally. If you can tell me what you need, I'll prioritise adding that next.

@danieleades Thank you! But your crate is not fully developed. I want to manage volumes and execute some commands in my containers.

@danieleades Thank you! But your crate is not fully developed. I want to manage volumes and execute some commands in my containers.

It's far from fully developed, but if you can tell me what you need implemented, I can make sure that gets added next!


Fix design issues

https://docs.google.com/spreadsheets/d/11qZX3kZTXte7kt7C17NIh2zQz1DdouzrLYzrnFXbB1s/edit?usp=sharing

Completed!


Update the skipped test for dev.

Part of #86396.
Updated the skip tests under 'dev'. Turned some of them back on, updated others to use testOn instead of skip as they were intentional and not temporary skips.

Gold has detected about 1 new digest(s) on patchset 4.
View them at https://flutter-gold.skia.org/cl/github/87147


Fix a crash in the rqt_py_console dialog box.

This commit fixes an issue when you click on the "gear" icon in the rqt_py_console.  That pops up a dialog box, but if you click "Cancel" there it currently crashes. That's because clicking Cancel returns None, but then we subsequently try to subscript it.  If we get a None out of the dialog, just skip any further processing.

CI:

Linux
Linux-aarch64
Windows


switch to jfrog docker registry

Description
Adapt CIGR to use the jfrog docker registry

bors try

bors retry

bors try

bors try-

bors try

bors try-
bors try

bors try-

bors try


fix: Set repr(transparent) on NodeId

This should help with FFI.

@mwcampbell If you really want to tackle this separately from a following C bindings PR, then check out my branch because there are a lot of other places that require attention.

I decided to go with repr(u8) on the enums rather than repr(C), because most of our enums have a very small number of values, and even Role seems unlikely to exceed 256 values in the future, considering how comprehensive the set of roles from Chromium is.

@mwcampbell I indeed agree with you. I just forgot that I didn't touch on ActionData yet because I wasn't sure on how it would be represented on the C side. But now that I've read a bit more about FFI, I think #[repr(C)] makes more sense here.

Do you mean we should use repr(C) in all the places where I just added repr(u8)? If so, why? I don't think an enum with fields, like ActionData, can be directly represented in the C API. Not sure what to do about that.

I agree with all the changes you made. I was just referring to ActionData. I think it can be represented with #[repr(C)] since all the variants have a single field so it's kind of a tagged union. I can deal with this in my C bindings PR if you are not comfortable introducing this change right now.


WFLY-5290 Don't register resource alias until resource registration is complete

https://issues.jboss.org/browse/WFLY-5290
Otherwise, this can lead to infinite loops during creation of a resource via its alias.

This could do with a test. When testing out the operations from my comment in the Jira it still hangs

Closing for reanalysis.


docs: bump manual docker build to v0.13.1-beta

Will hold off on merging this till the last item in the 0.13.1 milestone has been merged.

@randymcmillan, remember to re-request review from reviewers for your latest update

@randymcmillan, remember to re-request review from reviewers for your latest update

Closing due to inactivity. Feel free to update and reopen!


RTL support for Slider

Slider doesn't currently change for RTL layouts. This requires both Sass and JavaScript updates.

What would be the desired outcome? The slider increasing from right to left, so that min is at the right end and max at the left one?
I will have a look at this one.

Yep, that's exactly it. And thanks! :)


An Error occurred: zero-size array to reduction operation minimum which has no identity.

This happens to one specific image.
OS:

Edition Windows 11 Pro
Version 24H2
Installed on 16/06/2024
OS build 26100.1000
Experience Windows Feature Experience Pack 1000.26100.6.0

Hardware:

Processor AMD Ryzen 5 5600G
Installed RAM 32,0 GB
GPU NVIDIA GeForce RTX 3060

Can you try again with the latest update and see if you still have the error ?


Issue building Android project

First off - sorry that this isn't directly related to mainframer... but I'm hoping you can help me anyway.
Building my project both locally and remotely ssh'd into the remote machine works perfectly fine, however building through mainframer causes a build error relating to the "ANDROID_HOME" env. variable not being available.
BUILD FAILED

Total time: 0.771 secs
SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

...even though echo $ANDROID_HOME when ssh'd into the machine outputs the correct directory (the SDK is installed in /usr/local/ and the env. var. is set globally for all users).
Any idea how to get it working? I suppose I could manually add alocal.properties file but that seems like the wrong solution (and might get tedious if we add multiple users into this). Any help is greatly appreciated!

Can you please check if https://github.com/gojuno/mainframer/issues/161 helps you?

I ended up with manually ssh-ing and creating a local.properties first.

Oh god :(
On Thu, Jul 20, 2017, 22:04 Paul Woitaschek<EMAIL_ADDRESS>wrote:

I ended up with manually ssh-ing and creating a local.properties first.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/gojuno/mainframer/issues/177#issuecomment-316903872,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA7B3DhBCGqHhANJ75pHJZ37UsXKUtoSks5sQDFugaJpZM4Oe8nq
.

Maybe this will help:
https://stackoverflow.com/questions/216202/why-does-an-ssh-remote-command-get-fewer-environment-variables-then-when-run-man
TLDR:
Neither ~/.bash_profile nor  ~/.bash_login nor  ~/.profile are read when using bash in non-interactive mode. In non-interactive mode use the ssh environment variables.
vi ~/.ssh/environment
VAR1=VALUE1
VAR2=VALUE2

Can help this:

remote open /etc/enviroment
add on new line ANDROID_HOME = {FOLDER_ANDROID_SDK}
reboot remote machine

Closing for now, feel free to comment, we might reopen if it's something systematic (I haven't had issues with Android builds I've recently set up)


Project folders disappear

i also have this problem:#11869,#471,#661
os:win7
version:1.8.0
the project folder disappear when atom is closed, and i open a new file with context menu.

This behavior is intended, see https://github.com/atom/tree-view/issues/852#issuecomment-222904528 for a recent explanation.
This issue is a duplicate of https://github.com/atom/atom/issues/9643?

Closing as duplicate of #9643. You may want to subscribe there for updates.


Fixed GMSA Dead Link

Proposed changes
Switched to 80 Characters and Fixed GMSA Dead Link Line 51
Unreleased project version (optional)

Related issues (optional)

Deploy preview for docsdocker ready!
Built with commit b4a4746c57f4eb508f1080bab891ebcbc1ce86c5
https://deploy-preview-10096--docsdocker.netlify.com


Linux services: a step-by-step guide in creating a personal cloud servers

Topic Suggestion
Linux services: a step-by-step guide in creating a personal cloud servers
Writing sample(s):
Filter Machine with JavaScript
Proposal Submission
Proposed title of the article
Linux services: a step-by-step guide in creating a personal cloud servers.
Proposed article introduction
[Linux]: The power behind many services (servers) is the Linux. For this reason, I will be discussing in this article how to setup a personal servers through individual personal computer and helps those who will like to start cloud services provider journey kick-starts and be able to maintain their business.
Key takeaways

Understand Linux services and why Linux are suitable for the service.
Understand basic commands which are essential for this services creation and management
Learn automations that comes with Linux.
Create a complete Linux service and will be ready to be make accessible to the world for commercial purposes.

Article quality

My philosophy in this article is how the reader will understand the basics and be able to do many things on their own outside this tutorial.
I ensure starting from the beginning and very easy to understand point
Explain complicated terms
Give examples and explain use cases.
Give updated and recent concepts

References
Fedora Docs
Templates to use as guides

Tutorial Template

👋 @Taiwrash Good afternoon and thank you for submitting your topic suggestion. Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

I love this bot for automatically giving me hope.😅🤣🤣. Thanks team, great work there..👍👍

@Taiwrash
Sounds like a helpful topic - lets please be sure it adds value beyond what is in any official docs and/or what is covered in other blog sites. (We're really looking for unique/original content. EngEd articles should go beyond a basic explanation - and it is always best to reference any EngEd article and build upon it).
Please be attentive to grammar/readability and make sure that you put your article through a thorough editing review prior to submitting for final approval. (There are some great free tools that we reference in EngEd resources.)

ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

Please be sure to double check that it does not overlap with any existing EngEd articles, articles on other blog sites, or any incoming EngEd topic suggestions (if you haven't already) to avoid any potential article closure.
Please reference any relevant EngEd articles in yours. - Approved


Query About CircleBilling

What’s the current state of CircleBilling / what has being changed from the original BoxBilling fork?
Also, where is the best place to communicate in real time my thoughts and ideas about this software?

Hello @kieran2001,
Our focus is on fixing bugs and achieving a stable version. After we get to that stage, other enhancements, features, adjustments may be made. You can always comment here or on the forum at https://forum.circlebilling.com/
Thank you for inquiring. We are progressing and look forward to hearing more of your thoughts.

Is this in a usable state at the moment, will this software be free/open source and will there be some tool or easy way to migrate from B.B. to C.B?
I currently run a free web host, so keeping costs down is incredibly important, but BoxBilling is far from perfect, for example the affiliate program doesn’t exist, there’s no community, there’s biazzare errors, there little / badly designed themes and other such missing features.
What I’d love C.B. to be, is something that’s free and halfway between B.B & WHMCS.

It isn't usable at this time, but we are diligently looking at reported problems and are attempting to get to a usable and trustworthy version. We have briefly touched on migration, but cannot state with certainty at this time what will come of that.
We understand your needs well and do hope you will find Circle Billing to meet your needs when it is ready. Circle Billing is open source and it is very nice that you shared your comments and desires. Follow us. We'll post news as it develops.

Is there anything I can do to help? Such as phrasing for tool tips or similar, making repetitive changes such as changing any reference to B.B. to C.B. or anything else along those lines, suggestion for installer or migration systems etc?

Hi @kieran2001,
sure, you can help us!
Some things we really need:

A test database (Filled with some test clients, products, invoices, knowledge and forum): You can checkout the bugfixing brach and run the installer.
Reviews and tests! - If you want, you can checkout the bugfixing branch and test the whole functionality: If you found a bug, you can create a issue.
If you already fixed bugs for boxbilling, you can have a look if it's already fixed in our "bugfixing" branch. If not, create a pull request.

Thank you for the support. We are happy to see the growing community.

And don't forget we need a bigger community!

When is an initial release expected?

@kieran2001 this is a free open source project, so all of us investing their free time.
We do not want to commit ourselves, but I have the hope to release a stable version in a couple of weeks.

@kieran2001 Here is a tutorial that you can follow as a reference to install the panel there in your machine and give us a help https://forum.circlebilling.com/thread-7-post-32.html#pid32


RecursionError: maximum recursion depth exceeded in comparison

When I try to run the basic optimizer, it gives me a recursion error. Here is the code:
from pydfs_lineup_optimizer import get_optimizer, Site, Sport
optimizer = get_optimizer(Site.DRAFTKINGS, Sport.FOOTBALL)
optimizer.load_players_from_csv("/Users/xxxxxx/Desktop/ffdata/week13salsDK.csv")

for lineup in optimizer.optimize(10):
    print(lineup)

Here is the error I get:
  File "/Users/xxxxxxx/opt/anaconda3/lib/python3.7/abc.py", line 139, in __instancecheck__
    return _abc_instancecheck(cls, instance)

RecursionError: maximum recursion depth exceeded in comparison

Any idea how I can fix this? Thanks!

It seems to be an issue with Spyder. I got this to work as expected on JupyterLab, but no luck with Spyder or Pycharm.


Bump Node version to 18 in GHA

https://github.com/gatsbyjs/gatsby/discussions/36609#discussioncomment-4057299

superseded by #37


Grok prepper metrics

Description
Added the following metrics for Grok Prepper as well as unit testing for these metrics
Counter
 grokProcessingMatchFailure: records the number of Records that did not match any of the patterns specified in the match field
grokProcessingMatchSuccess: records the number of Records that found at least one pattern match from the match field
grokProcessingMatchTimeout: records the total number of Records that took longer than the time set in timeoutMillis to match
grokProcessingErrors: records the total number of processing errors for Records
Timer
grokProcessingTime: records the time that individual records take to be matched. Most useful is average.
Once #481 is merged might refactor how PluginMetrics is tested
Issues Resolved
Closes #422
Check List

[X] New functionality includes testing.

[X] All tests pass

[X] New functionality has been documented.

[ ] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

This looks good. Thanks @graytaylor0 !


Use AMSI for archive malware scanning

Replace pure with AMSI for archive malware scanning, to allow archive types other than zip. Added tests for tgz with archiveExtractionMethod tar and a stub for testing a large file. I tested with a 1GB compressed 7z and scanning took slightly under two minutes on a 4 core VM.
This was partially an experiment to see how Copilot Workspace handles C++/Windows, no worries if this feature isn't useful.

[x] I have signed the Contributor License Agreement.
[x] This pull request is related to an issue.

For more details, open the Copilot Workspace session.
Microsoft Reviewers: Open in CodeFlow

For example, it's not clear to me that AMSI would catch a zip bomb.

Most antivirus software should be able to detect zip bomb. I'm using ESET and just tried out AMSI with this code:
https://gist.github.com/SpecterShell/c2b5507ba9e5c531faead38c7d0b877e
And ESET passed me a notification for detecting the zip bomb.


Issues connecting to Qdrant Cloud using client.

Hey,
I'm encountering errors while trying to use the list_collections method with the Qdrant Rust client. This error seems to be specific to the client as directly accessing the endpoint doesn't produce any issues.
Here are the specifics:

When I try to use port 6333, I receive the following error:

Err value: status: Unknown, message: "grpc-status header missing, mapped from HTTP status code 464", details: [],
metadata: MetadataMap { headers: {"server": "awselb/2.0", "date": "Tue, 25 Jul 2023 14:08:49 GMT", "content-length": "0"} }

When I switch to port 6334, I get a different error message:

Err value: status: Internal, message: "protocol error: received message with invalid
compression flag: 52 (valid flags are 0 and 1)  while receiving response with status: 404 Not Found", details: [],
metadata: MetadataMap { headers: {"server": "awselb/2.0", "date": "Tue, 25 Jul 2023 15:21:54 GMT",
"content-type": "text/plain; charset=utf-8", "content-length": "19", "x-content-type-options": "nosniff"} }

I'm following the search example but using Qdrant Cloud
Any insights or suggestions to address this would be greatly appreciated.

The Rust client uses only the gRPC interface so you must stick to the 6334 port.
When talking to the cloud you also make sure to use https in the URL when configuring the client.
Which call is failing exactly?

Thanks for the quick reply. I just found out it was a typo in the URL


SliverGeometry is not valid: The "maxPaintExtent" is less than the "paintExtent".

This error occurs when using the MultiSliver.
The following video shows the error:
https://user-images.githubusercontent.com/31625592/121218421-01b76800-c883-11eb-93b8-5a32ac3bff0a.mp4
Code to reproduce this error:
class _MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    List<Widget> widgetList = List<Widget>.generate(
        5,
        (index) => MultiSliver(
              children: [
                SliverPersistentHeader(
                  pinned: true,
                  delegate: HeaderDelegate(),
                ),
                Container(height: 200, color: Colors.green),
                SliverPersistentHeader(
                  pinned: true,
                  delegate: HeaderDelegate(),
                ),
              ],
            ));
    return Scaffold(
        body: SafeArea(
      child: CustomScrollView(
        slivers: widgetList,
      ),
    ));
  }
}

class HeaderDelegate extends SliverPersistentHeaderDelegate {
  @override
  Widget build(
      BuildContext context, double shrinkOffset, bool overlapsContent) {
    return Container(height: 60, color: Colors.white);
  }

  @override
  double get maxExtent => 60;

  @override
  double get minExtent => 60;

  @override
  bool shouldRebuild(SliverPersistentHeaderDelegate oldDelegate) {
    return true;
  }
}

Flutter 2.2.1
Sliver Tools 0.2.4
Tested on Samsung Device (Android 10)

Thanks for filing this!
Could you check if #35 fixes your issue

This indeed fixed the error. Thank you for being that quick!

Great! The fix is now also released as v0.2.5


Add a tutorial notebook to demonstrate how to access time-varying objects in the truth catalog

We need a new tutorial notebook to demonstrate how to access time-varying objects in the truth catalog, along the line of https://github.com/LSSTDESC/gcr-catalogs/pull/207
Can someone who know transients better than I do volunteer themselves or promote someone to help with this task (@reneehlozek @wmwv)?
(cc @reneehlozek as this is one of the hackuDC2 preparation task)

hi @yymao, I guess I'm confused, because I'd imagined this might be one of the actual hackurDC2 submissions. What else is needed relative to the one shared above - since it is clear about how to access the catalog?

@reneehlozek I was thinking of something that has a bit more science examples, like the HOD example we did for extragalactic catalogs or lensing cut for object catalogs, but it is ok not to have that.
So I'll just copy the example in https://github.com/LSSTDESC/gcr-catalogs/pull/207 and put it into a tutorial notebook.
(cc @wmwv @rmandelb because there were some offline conversations about this too)

Fixed in #25.


sample app

is there any complete example using this module?
@KurtzL ?

I've added an example in my github account: https://github.com/Prashant-Surya/nestjs-temporal-example
This uses nestjs-temporal fork with latest temporal sdk support.
Feel free to reach out to me for any help :)

I've added an example in my github account: https://github.com/Prashant-Surya/nestjs-temporal-example This uses nestjs-temporal fork with latest temporal sdk support.
Feel free to reach out to me for any help :)

thanks for helping @Prashant-Surya


Exchange Service Return (503)Service Unavailable

As mentioned in the title, Exchange Service is not available and return "(503)Service Unavailable".  Which URL is https://outlook.office365.com/EWS/Exchange.asmx . Is anyone in this situcation?

One possible cause could be that the exchange server you want to connect will validate the user agent.
So you must find some valid user agent and try again.
By the way, you may need to build your own ews-java-api.jar  by deleting the default user agent in ExchangeServiceBase.defaultUserAgent. Otherwise even you set a valid user agent, you may still not pass the validation from the exchange server.
Look forward to your test result.


Type hint issues

Describe the bug
Recently tried to bump tableauserverclient from version 0.16.0 to 0.18.0
Versions
Details of your environment, including:

Tableau Server version : Tableau Online
Python version: 3.9
TSC library version: 0.18.0
mypy version: mypy 0.942

To Reproduce
Create this simplistic file:
#!/usr/bin/env/python

import os

import tableauserverclient as TSC

tableau_auth = TSC.TableauAuth(os.environ["USERNAME"], os.environ["PASSWORD"], site_id=os.environ["SITE_ID"])
server = TSC.Server("https://dub01.online.tableau.com")
my_group = TSC.GroupItem(os.environ["GROUP_ITEM"])

Run  mypy test_script.py --ignore-missing-imports --strict
Results
mypy test_script.py --ignore-missing-imports --strict
test_script.py:8: error: Module has no attribute "TableauAuth"
test_script.py:9: error: Module has no attribute "Server"
test_script.py:10: error: Module has no attribute "GroupItem"

=> this is simplistic and mypy complains
I suspect the typed.py file is not at the right place or the imports are not being set correctly In the init.py file
Maybe https://github.com/tableau/server-client-python/issues/991 not being implemented correctly

The types are not present in 0.18. Try again with the development branch. It should work there. 0.19 is being prepared for release and will have the typing information.

Thanks jorwoods - @pierresouchay this release is now available and hopefully solves your issue!

Huh - I can definitely repro this. I'll take a look, thanks very much for following up!

I believe the problem is because if you are in the TYPE_CHECKING mode, there are circular references, which break when trying to inspect from the top level. These things still work during run time because they are behind the TYPE_CHECKING flag.


smaller sendPages refactorings

depends on #1372

move handlePageTreeNode function further down in the code, so the function is nearer to where it is called
simply loop pages in analyze step, no need for following tree structure
move very generically named tree variable into the only scope where it is (now) used

@johnnyomair rebased


[BUG] Nav bar is not sticky on scrolling in mobile phones

Describe the bug
The nav bar neither remain fixed nor gets closed when the mobile phone user starts scrolling down. Check the Screen recording attached.
Steps To Reproduce

Go to the website in any phone browser.
Click on the three bar at the top right corner to open the nav bar.
Once the nav bar is open, try scrolling down.
You can see that the nav bar also moves up as you scroll down.

Expected Behavior
The nav bar should either get hidden/closed or remain fixed and must not move up as the user scrolls down.
Operating System
Other
Browser
Microsoft Edge, Google Chrome
Screenshots
https://github.com/user-attachments/assets/cb3e9d2b-79a4-496f-9ad3-4a3a22d1abc0
Additional information
If anyone wants to work on this issue, please feel free to comment below.
Do you want to work on this issue?
No

Hi! I'd like to fix this. Can you assign this issue to me?

Hi @drippypop 👋!
Thank you for your interest in the issue.
Yeah, you can work on this issue. Assigning this task to you 😁.

Hi @SaptarshiSarkar12,
Just fixed the issue! Thanks so much for assigning me this, it was pretty nice to work on and easy to fix! 😄

@drippypop Thank you for fixing the issue with great speed 🙂. I have reviewed your PR. Please make the change and let me know.
Glad that you have loved working on this issue 😃.


cors question

Access to XMLHttpRequest at 'http://<IP_ADDRESS>:2379/v3/kv/range' from origin 'http://<IP_ADDRESS>:9996' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
app.js?1.0.22:13 send http://<IP_ADDRESS>:2379/v3/kv/range cost 147ms

have a look at pr #5


Fix tags not properly indexed in Lucene

All tags that reference to particular object are stored in a list within a map.
There is a if statement that inits empty list when there are not references
to the current object yet, but the boolean expression checks for the wrong value.

Hi,
I opened this pull request to start a discussion more than to submit a patch.
The tags map contains all tags that point to particular commit. The key of the map is the commit SHA-1 but the if statement checks if the map contains the SHA-1 of the tag. That's a bug but there are two more things I've noticed.

updateIndex contains similar to reindex code but there the tags map is only build but not used.
Tags can point to arbitrary object not only commits. In particular they can point to other tags. Lets say me have commit c, tag tag-a that points to c and tag tag-b that points to tag-a. We have something like that tag-b -> tag-a -> c. With the current code (with the patch applied) in this case the tags will have the following content { c=[tag-a], tag-a=[tag-b] } . (without the patch we may get NPE, that's how I found the bug). Is this is the intended behavior? To me it's seems more logical to have { c=[tag-a, tag-b] }. This could be achieved if RevWalk#peel is used instead of getReferencedObjectId.  If the tag is annotated(non-annotated are skipped so we are not interested in them anyway) RevWalk#peel returns the first non-tag object. That's not necessary a commit object btw (not sure if this a problem - I think it's not but I''m not sure). For a real world example you can look at git git repo - v1.0rc6 points to v0.99.9n

And also if I may ask (just out of curiosity) - why only the annotated tags indexed?

The key of the map is the commit SHA-1 but the if statement checks if the map contains the SHA-1 of the tag.

Oops.  Good catch.

To me it's seems more logical to have { c=[tag-a, tag-b] }.

I agree and that was the intention.

That's not necessary a commit object btw (not sure if this a problem - I think it's not but I''m not sure)

Generally my answer is the indexer is trying to cover the 98% use-case of tags.  While it is possible to tag a non-commit object, as you point out, I believe it to be an infrequently used capability.  The indexer indexes commits (with and without tags) and blobs but it does not currently consider that a blob may be tagged.  The JGit repo has a good example which tags Shawn's public GPG key.  I'd add a Github link if they supported non-commit tags at all.  :)
I believe lightweight tags are intended to be used client-side not server-side due to their transitive nature and lack of tagger metadata.  For this reason, lightweight tags are deliberately avoided by the indexer.
If we did want to support them, the indexing process would have to be revised.  Lucene does not have the ability to update a document so we'd have to destroy all documents which reference the lightweight tag and then re-index the affected objects.

Thanks for the answers.

The indexer indexes commits (with and without tags) and blobs but it does not currently consider that a blob may be tagged

That's exactly what I had in mind. RevWalk#peel may return blob that is not commit object but it will be ignored so it should not not be a problem.

The JGit repo has a good example which tags Shawn's public GPG key. I'd add a Github link if they supported non-commit tags at all. :)

That's very nice functionality. Using tags to point to GPG keys seems like a common use case. But when I click on the object link I get an internal server error.