Would it be feasible to provide a WMS route?

Hi
Recently stumbled upon this neat little library. I currently have the problem that I'm building a dashboard using streamlit and folium. On the folium map, I'd like to overlay a raster which can be achieved rather easy if this is hosted via WMS somewhere. Now, I'd like to avoid hosting this single file via something expensive as geoserver or a threads instance just for this single map.
Would it be feasible to implement a WMS access option in Xpublish? not sure about the boilerplate required for doing this... 🤷♂

Yes! This should be perfectly feasible. You'll need to create a new custom router that exposes an WMS endpoint. I think for a simple WMS endpoint, it will probably be easiest to just write the GET/POST routes from scratch but you should certainly take a look at the existing implementations in OWSLib before getting started. Between @benbovy and I, we can help point you in the right direction for getting the xpublish router stuff working.

Great
Unfortunately with regard to the WMS protocol and internals I‘m merely a user and implementing this myself might be well over my head (but I’ll try to read up on it).
Would integrating something like skinnywms into Xpublish work? https://github.com/ecmwf/skinnywms

Would integrating something like skinnywms into Xpublish work?

I think it would be be better if xpublish doesn't rely on 3rd party servers like skinnywms in order to keep the deployment easy. Thanks to FastAPI, It should be pretty straightforward to implement the WMS API endpoints in xpublish from scratch.
A good part of the work to support WMS is to properly handle plotting of the data and exporting it to a PNG/JPG image. This is something that we could delegate to a 3rd party library like Holoviews/Datashader as suggested in https://github.com/xarray-contrib/xpublish/issues/50#issuecomment-673510401.

Hi @benbovy and @jhamman, I would like this feature available in  xpublish so I thought I would start working on it. Actually, I am not an expert in WMS but I think I can manage! Surely a little bit of guidance is definitely welcome :).

Hi @iacopoff, I'm not an expert in WMS either, but it might be worth looking at those projects:

Titiler implements WMTS endpoints also using fastAPI, although using different data sources than xarray.Dataset.

Xarray-leaflet dynamically generates and serves images from xarray objects, although it targets another front-end / protocol.

Hi @benbovy, great, thanks for the suggestions. I have just forked the repo. I am going to start working on it from mid July, after holidays!

Hi @benbovy,
my understanding is that the key ingredients are:

WMTS interface (GetCapabilities, GetTile, and possibly GetFeatureInfo), as new custom router in xpublish
Functionality to generate tiles from xarray.Dataset (either static or dynamically) stored as png images in a temporary folder, so that they can be requested by the web client

Does it sound correct? Are you suggesting to use Titiler for both somehow?

Hi @iacopoff, it sounds good to me. I had a look at Titiler a while ago, I'm not sure how easy / hard would it be to reuse it instead of re-implementing the same functionality here.
I guess we would need a custom subclass of rio_tiler.BaseReader subclass, which is used by Titiler router factory classes. However, rio_tiler.BaseReader is specific to rasterio and expects a dataset url as parameter, whereas in Xpublish we use a get_dataset fastapi dependency to directly access the xarray Dataset object being served. I'm not sure how this could be integrated together.

Hi @benbovy,  I have started with something simpler: an XYZ service.
To create the tiles, I am using Datashader but I guess that I could alternatively use Pillow/PIL if needed.
The tricky bit is to get the dataset's coordinates into the correct WGS 84/Pseudo-Mercator projection, which seems to be the standard projection required by web map services.
thanks

An XYZ service would be a very nice addition too and I guess it could share many things with a WMTS regarding their implementation.
For the (re)projection, you may want to look at how Xarray-leaflet handles it. It think it's based on morecantile and rioxarray.

Hi @benbovy, I think I have now something working.
What is the best way for you to review/comment?
Shall I open a PR or you could just try the xyz_router from my forked xpublish repo? I have added server/client notebooks that show how to use the xyz service.
thanks!

Yes please open a PR!

If folks are looking for WMS in Xpublish, @mpiannucci has created a plugin that will give you WMS routes without creating your own router.

I mover xpublish-wms to here!


Update documentation

Update the documentation.
See README.md, doc/README.txt (duplicative?), doc/restrictions, doc/compiler.md, doc/language
See related issue #38 to update the notebooks

Documentation now reflects reality. The compiler and language docs could have more; I'll make that a separate ticket.


0.8.0 github release identifies as 0.78

Built toybox from GitHub release archive and noticed it was still identifying as 0.7.8. Looks like only a single line difference between landley.net and github.com release archive:
diff -Naur toybox-0.8.0-github/main.c toybox-0.8.0-landley/main.c
--- toybox-0.8.0-github/main.c  2019-02-09 01:54:47.000000000 +0000
+++ toybox-0.8.0-landley/main.c 2019-02-09 02:15:28.000000000 +0000
@@ -9,7 +9,7 @@
 #ifndef TOYBOX_VENDOR
 #define TOYBOX_VENDOR ""
 #endif
-#define TOYBOX_VERSION "0.7.8"TOYBOX_VENDOR
+#define TOYBOX_VERSION "0.8.0"TOYBOX_VENDOR
 #endif

 // Populate toy_list[].

http://lists.landley.net/pipermail/toybox-landley.net/2019-February/010143.html
https://github.com/landley/toybox/commit/b11e1206b4193dd46b4c40c333175fceadd409df

Ah! Thanks Rob. Sorry I missed those.


MNT: Re-render the feedstock

Hi! This is the friendly conda-forge-admin automated user.
I've re-rendered this feedstock with the latest version of conda-smithy (0.7.1) and noticed some changes.
If the changes look good, then please go ahead and merge this PR.
If you have any questions about the changes though, please feel free to ping the 'conda-forge/core' team (using the @ notation in a comment).
Remember, for any changes to the recipe you would normally need to increment the version or the build number of the package.
Since this is an infrastructural change, we don't actually need/want a new version to be uploaded to anaconda.org/conda-forge, so the version and build/number are left unchanged and the CI has been skipped.
Thanks!

It seems that the FTP site serving the TRMM RSL source code no longer allows for agent-less downloads.  Specifically trying to download the source, ftp://trmm-fc.gsfc.nasa.gov/software/rsl-v1.49.tar.gz, fails when I try with wget/curl but runs fine in a browser.  I could mirror the archive elsewhere but this does not seem ideal.  Anyone have an opinion on the best solution to this?

Or maybe the download link is just broken.  It doesn't seem to work for me at all now.

It's the friendly automated conda-forge-admin here again.
Just to let you know, I've updated this PR so that it has the latest render from conda-smithy (version 0.10.3).
If there are no problems with it, please consider merging this PR.
If there are concerns about it, please ping the 'conda-forge/core' team (using the @ notation in a comment).
Thanks!

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Selectors are suggested to take a <two spaces>#<one space>[<expression>] form.


Fixed blockBreakSpeed Mixin with origins

Hi, just checking that you were happy to have your contribution(s) licensed under MIT.

sure why not


Fix godot linter

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Only a whitespace related linter which is now enabled.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

/approve
/lgtm

@saschagrunert, the godot linter has nothing to do with whitespace, mind you. :smile:


[Bug]: What's wrong why it looks like this?

What happened?
thei mage not displayed as expected I follow the README
How to reproduce the bug

Package Version
v1.0.1
PHP Version
^8.2
Laravel Version
^11.9
Which operating systems does with happen with?
macOS
Notes
No response

Hey @devhoussam1998 and @Jam0r85
It looks like you haven't registered the views in your custom theme and ran npm run build in your terminal.
If you created a custom theme like 'admin', navigate to /resources/css/filament/admin and add the following to your content array in tailwind.config.js:
content: [
    './vendor/diogogpinto/filament-auth-ui-enhancer/resources/**/*.blade.php',
]

After, you should run npm run build in your terminal.

I've 110% loaded this into my tailwind.config.js and still having the issue.

I've 110% loaded this into my tailwind.config.js and still having the issue.

Do you have any repo I can replicate to test this out? In all the tests we've run we never found this issue.

I don't at the moment i'm afraid. Mobile works fine? I'll see if I can sort one.

I don't at the moment i'm afraid. Mobile works fine? I'll see if I can sort one.

Weird. Would you mind sharing your plugin config methods? Or paste this one to test out:
        AuthUIEnhancerPlugin::make()
            ->showEmptyPanelOnMobile(false)
            ->formPanelPosition('right')
            ->formPanelWidth('40%')
            ->emptyPanelBackgroundImageOpacity('70%')
            ->emptyPanelBackgroundImageUrl('https://images.pexels.com/photos/466685/pexels-photo-466685.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2')

Hey @devhoussam1998 and @Jam0r85
It looks like you haven't registered the views in your custom theme and ran npm run build in your terminal.
If you created a custom theme like 'admin', navigate to /resources/css/filament/admin and add the following to your content array in tailwind.config.js:
content: [
    './vendor/diogogpinto/filament-auth-ui-enhancer/resources/**/*.blade.php',
]

After, you should run npm run build in your terminal.
You should note that this plugin requires a custom theme to run.

I already do that

I just add './vendor/diogogpinto/filament-auth-ui-enhancer/resources/**/*.blade.php', in /resources/css/filament/admin/tailwind.config.js

AuthUIEnhancerPlugin::make()
                    ->formPanelBackgroundColor(Color::Zinc, 300)
                    ->formPanelPosition('right')
                    ->mobileFormPanelPosition('bottom')
                    ->formPanelWidth('40%')
                    ->emptyPanelBackgroundImageUrl('https://images.unsplash.com/photo-1496449903678-68ddcb189a24?q=80&w=2670&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D'),

Whenever possible, please share a repo and open a new issue so we can debug this further. This seems more like a tailwind config thing, as many people were able to run the plugin.
Please reach out when ready! Thank you so much for your feedback, is greatly appreciated.


Support ARM builds

Currently our attempts to build whisper on ARM-based computers fails. Apparently, this is due to the use of Intel-specific emmintrin.h library in the codebase as in the following:
#include <emmintrin.h>
What can we do to build and use whisper on ARM-based computers? Is it possible to isolate those lines without changing the functionality?

Had a similar problem and decided to remove line which contained the include.
Was able to build Veer-ISS and had no problems yet, but I have to say that I don't use the SOFTFLOAT feature.


scene viewport

common: scene viewport api introduced
New api can be used to replace clipping with a rectangle.
Scenes with viewport set can be still clipped/masked.
@issue: https://github.com/thorvg/thorvg/issues/2172
loaders: use viewport in svg/lottie loader
The viewport api is used to replace the rectangular cliping.

I'll check the regression bugs

Performance is enhanced by ~3% with Lottie example


Test compatibility with 1.3.4

RPG Maker 1.3.4 is out, compatibility test is in order.

Confirmed compatibility with 1.3.4


feat(api): upload file

Description
Implement the OpenAI Upload File endpoint
Acceptance Criteria

[ ] REST endpoint that accepts a POST with a supported file type
[ ] Persists file to the database specified in the DB ADR
[ ] Returns an OpenAI file object with a file id

Considerations

Scanning for uploads?
What file types do we accept? Do we fully match OpenAI here?

MVP

All plain text formats (code, txt, md)
PDF
Evaluate demand for docx, pptx, xlsx as necessary

Reference:

https://platform.openai.com/docs/api-reference/files/create

Covered by https://github.com/defenseunicorns/leapfrogai/issues/312


Look into vultr for hosting the bot service

First time members get $250 in credit
Cheapest tier is $2.50 a month (maybe cheaper to take the hourly price, since we will only be touching the database a few times a day at most)
this should last us a very long time, by which point we can def afford to pay for our hosting
Still should put restrictions in place of how much it can be used

Using sparked


Restore formatting in website, and regenerate docs

Problem
Running prettier on everything broke hexo
Solution
Revert that change, rebuild website
Result
Website looking good again

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 61.089%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
15801

Relevant Lines:
24117

💛  - Coveralls


Always infer return type of id property on models

There are some cases when there is migration but not a model file. For example pivot tables. So Larastan will complain about the property accesses.
This PR, adds logic to always assume a property named id exists on the model. I think this is a safe assumption to make. And it can solve couple of errors.

Related #491

Assuming that id exists on a model is reasonable, but that it is always integer - probably not.
UUID as a primary key is pretty common, I think.

How to disable this?
We are using UUID and string type in @property was ignored...


Extra layer encoder_output_to_decoder_dim cause issue with distributed training

Hiya, hope Ice Cream is doing well, as well as you of course!
I've been trying to get distributed training working with your library and I discovered this additional Linear layer encoder_output_to_decoder_dim not being used any where:
https://github.com/lucidrains/RETRO-pytorch/blob/main/retro_pytorch/retro_pytorch.py#L491
It seems to be a copy of the layer defined right above it to_decoder_model_dim, which does get used. Having this extra layer that is not part of the loss calculation causes the following error with data parallelism:
[RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one.](https://github.com/pytorch/pytorch/issues/43259#)

Not sure if this layer is supposed to be there and it just didn't get used or if it is there by accident, so wanted to ask 🤓

thanks for asking about Ice Cream 😄 she is well!
and yes, that is indeed redundant because the code was changed for the encoder to directly output to the decoder dimensions https://github.com/lucidrains/RETRO-pytorch/blob/main/retro_pytorch/retro_pytorch.py#L518
let me go get that fixed! 🙏

https://github.com/lucidrains/RETRO-pytorch/commit/f1662628d2d6a1e80919042916837d046ca882d6


The containment operators in Linq query generation aren't using the table alias

See this conversation from Gitter:
Looks like includes are failing with a .Where() clause, it references data rather than d.data by the looks of it.
data is ambigious
select d.data, d.id,
account_id.data,
account_id.id
from mt_doc_audio as d
INNER JOIN mt_doc_account as account_id ON d.data ->> 'AccountId' = account_id.id
where (data @> '{\"Tags\":[\"Tech House Competition 2015\"]}')
and (CAST(d.data ->> 'Status' as integer) = 1)
and (CAST(d.data ->> 'Visible' as boolean) = True)
order by CAST(d.data ->> 'DateAdded' as timestamp with time zone)
desc LIMIT 24;

Easy fix, but add tests for it too.

Am on it.

@nieve fixed this w/ https://github.com/JasperFx/marten/pull/239.


Kafka Indexing Service creates segments with rollup set to null

this is reference #5611
even though the task is seemingly run with rollup: true, the generated segment has rollup: null in metadata.
example:
2018-04-09 14:28:16,476 INFO i.d.i.w.e.ExecutorLifecycle [main] Running with task: {
  "type" : "index_kafka",
  "id" : "index_kafka_pctile-hour_00e3999bb72c9c8_oakmcogn",
  "resource" : {
    "availabilityGroup" : "index_kafka_pctile-hour_00e3999bb72c9c8",
    "requiredCapacity" : 1
  },
  "dataSchema" : {
    "dataSource" : "pctile-hour",
    "parser" : {
      "type" : "string",
      "parseSpec" : {
        "format" : "json",
        "timestampSpec" : {
          "column" : "timestamp",
          "format" : "auto"
        },
        "dimensionsSpec" : {
          "dimensions" : [ "accountid", "appid", "jvmid", "metrictype", "name" ]
        }
      }
    },
    "metricsSpec" : [ {
      "type" : "count",
      "name" : "count"
    }, {
      "type" : "quantilesDoublesSketch",
      "name" : "value",
      "fieldName" : "value",
      "k" : 512
    } ],
    "granularitySpec" : {
      "type" : "uniform",
      "segmentGranularity" : "DAY",
      "queryGranularity" : "HOUR",
      "rollup" : true,
      "intervals" : null
    },
    "transformSpec" : {
      "filter" : null,
      "transforms" : [ ]
    }
  },
  "tuningConfig" : {
    "type" : "KafkaTuningConfig",
    "maxRowsInMemory" : 75000,
    "maxRowsPerSegment" : 5000000,
    "intermediatePersistPeriod" : "PT10M",
    "basePersistDirectory" : "/tmp/1522938445282-0",
    "maxPendingPersists" : 0,
    "indexSpec" : {
      "bitmap" : {
        "type" : "concise"
      },
      "dimensionCompression" : "lz4",
      "metricCompression" : "lz4",
      "longEncoding" : "longs"
    },
    "buildV9Directly" : true,
    "reportParseExceptions" : false,
    "handoffConditionTimeout" : 0,
    "resetOffsetAutomatically" : false,
    "segmentWriteOutMediumFactory" : null
  },
  "ioConfig" : {
    "type" : "kafka",
    "baseSequenceName" : "index_kafka_pctile-hour_00e3999bb72c9c8",
    "startPartitions" : {
      "topic" : "dupercentile",
      "partitionOffsetMap" : {
        "0" :<PHONE_NUMBER>
      }
    },
    "endPartitions" : {
      "topic" : "dupercentile",
      "partitionOffsetMap" : {
        "0" :<PHONE_NUMBER>854775807
      }
    },
    "consumerProperties" : {
      "bootstrap.servers" : "xx"
    },
    "useTransaction" : true,
    "pauseAfterRead" : false,
    "minimumMessageTime" : null,
    "maximumMessageTime" : null,
    "skipOffsetGaps" : false
  },
  "context" : {
    "checkpoints" : "{\"0\":{\"0\":1215429707}}",
    "IS_INCREMENTAL_HANDOFF_SUPPORTED" : true
  },
  "groupId" : "index_kafka_pctile-hour",
  "dataSource" : "pctile-hour"
}

@gianm can this be added to 0.12.1 milestone please

@pdeva I would say sure if there is a patch available, but I don't want to hold up 0.12.1 for this if we have not yet investigated the cause and written a patch.

@gianm is there someone i can tag for this issue. i do believe this deserves some priority as it seems to invalidate segments produced by Kafka indexing task.
i dont know enough about the druid internals in this area to find the root cause but am willing to cooperate to the extent possible as far as providing any relevant info is concerned

ok specifying "analysisTypes": ["rollup"] in segment metadata query it seems the other segments do have rollup: true, so this may be a non-issue so far. i will wait for a few days and let more segments generate. if the issue doesnt resurface, i will close it

i can confirm that new segments have rollup set to true. closing this for now. will reopen if this reemerges

@pdeva @gianm Happens on 0.12.0 as well. rollup always returns null and size always returns 0. After explicitly using "analysisTypes": ["rollup", "size"], do I get them right.

Hi @suhassumukhv, this sounds like it's working as it's supposed to. Rollup isn't included in segmentMetadata analysis by default, but it will be if you include the "rollup" analysisType.

@gianm True thing. But if it isn't included by default, it shouldn't display in the result either. So should it be for size and other analysis types. This kind of functionality is very confusing.

@suhassumukhv that sounds good to me. Are you interested in making a patch for this?


Update settings.py

Workaround to run with path instance
Please feel free to close this PR. I just make a proposal.

I've added your change in 1.6


Feature Request: A prop to set width of each lines or different menu style as another component

Basically, i wanted to have my menu in this style:

But the ones i found can either work in only one theme mode or others dont have typescript support(Although having typescript is not much needed but its better that way) and some dont look too good.
Could you add something for this? In the form of line width separately or as a different ham menu style component.
And also a possibility to reverse the menu.

Hey! Thanks for the feature request.
This does look like a very specific use case though. Adding support for this might only be used by 0.1% of users, while it does increase the bundle size for the other 99.9% of users.
I'll think about it for a little bit, but at the moment it seems like it makes more sense to implement such a custom hamburger yourself.

Alright, thanks for your reply.


Resurrected README.md and added old changelog file

Using the same README.md with some modifications:

Added references to colcon instead of catkin
Added instructions to run the ROS2 package
Modified ROS words for ROS2
Modified the geometry_msgs/msg/Twist" example in the readme.md to match the one we have in the example.yaml

Also, I added /msg/.. to msg types
Old readme.md:
msg_type: "fruit_msgs/Citrus"
This one:
msg_type "fruit_msgs/msg/Citrus"


How to operate outside of the database

need more information here. this ticket makes no sense.

My assets folder has a DB,how to operate it

I'd suggest you look at the documentation for prepackaged dbs

Ok, thank you


Flowscore

Grant category
Please select one or more of:

[ ] Open source maintenance
[X ] Developer tools / services
[ ] Educational material

Description
Flowscore is a ranking and rewards system for the best projects on Flow. We work directly with Projects to determine the most accurate rarity system for their community, taking into account any unique rarity tiers, boosters, or 1 of 1's. Users can then connect their Blocto, Lilico, and Dapper Wallets to see their global inventory and claim the assets they own that are listed on our Platform. Users will be rewarded based on the number of assets they own, the length of time they continue to hold those assets, and engagement within the project communities. Rewards are issued in the form of a token, which can be converted back to fiat, used to purchase digital and physical goods, and other relevant rewards. Users will also be displayed on a Global Leaderboard, which can earn them additional bragging rights and other digital and physical goods not available to the general public. The top of the leaderboard can additionally be accessed for early feedback and guaranteed purchases on upcoming projects, effectively leveraging built-in Network Effects.
Problem statement

Target audience
Evidence for the need

This tool will benefit the entire ecosystem: existing Projects, new Projects, and those that are purchasing our assets. We've seen the value through our own project: SNKRHUD. Our community was thrilled when we initially launched as it gave them a new way to evaluate the collection. Its most basic function is like a Kelley Blue Book for NFT's. Users now have a means to assess the value of their assets. We immediately saw items delisted and relisted on secondary, and those not quick enough to reassess were snatched up for a steal. Our highest sale to date came 3 weeks after mint for $900, 6x our mint price! Our community continues to reference the tool for their purchases. We are confident this same value can be applied to other communities as well! And while some projects have built their own rarity tool, none are as comprehensive as ours or have the additional marketing flywheel built in through user rewards.
Proposed solution
We are actively building Flowscore, having already onboarded one additional company, closed an agreement for the next, and are in conversation with many others. We have the wallet connect working across all three wallets and plan on pushing that out soon. Once our Leaderboard and User Profiles are live, we're working to establish various partnerships and integrations. We're talking to Web3Wear to build an embedded merch solution, including items and designs exclusive to Flowscore. Flowverse is also interested in embedding the top 3 ranked assets of every project directly into their Platform. Our goal is to onboard as many Flow Projects as absolutely possible and to grow their awareness through our product as much as we can.
Impact

In what ways does this benefit the broader Flow developer ecosystem?

We estimate their are 6K-7K individuals purchasing across the various independent projects, like Ballerz, Crypto Piggos, and SNKRHUD. However, there are 600K-700K active purchasers of NBA Top Shot and NFL All Day. The more projects we can onboard, including Top Shot and All Day, means more exposure to ALL projects. The Rewards System incentivizes all purchasers to hold onto their assets, thus driving up the Floor Prices and increasing the overall value of ranked Projects. Even our Product Pages are designed as an active Landing Page for each project to make for easy accessibility and discoverability. Network Effects are baked in top to bottom.
Milestones and funding

Note: You can leave the USD proposal empty / "TBD". Please consider adoption and/or maintenance milestones at the end of your project.

Milestone
Deliverables
Timeline
Risks
USD proposal

1 - MVP
Wallet Connect & Global Inventory
2 weeks
Reliant on DW & Blocto

2 - MVP
User Profiles & Leaderboard
4 weeks
Crashing with Large Portfolios

3 - Adoption
5 Companies Sign Up
4 weeks
Co.'s are cash-strapped & worried about longterm

4 - Adoption
1000 Users Connect Wallet
4 weeks
Need to market benefits to users

5 - Tokenomics
Implement Reward System & Airdrop
3 months
Need progressive system built for longhaul

6 - Maintenance
Resolving issues and fixing bugs
3 months
-

Team

Name
Role
Bio
Contact

Brandon Martinez
CEO
Founded & Sold INDMUSIC, music admin platform behind "Harlem Shake"
<EMAIL_ADDRESS>

Stefan Tauber
CXO
Creative Director, WPP Atticus Award Winner
<EMAIL_ADDRESS>

HirayaMNL
Dev Team
Built & sold largest live-gaming app in SE Asia, Paydro

thanks for the submission @proudlywashed. I just reviewed the description and this project seems not tailored towards developers but rather holders / users of applications. I believe this is not in alignment with the purpose of the developer grants.
Feel free to re-open with a detailed explanation if that assessment is not accurate.


Compile AzureSpatialAnchorForOpenXR failed for win64

Hello,
I try to make an interface that works on both HoloLens2 and win64. (I use two level for this)
But when I try to compile for win64, the following errors are raised :
"C:\Users\esoria\Documents\hellounreal\Plugins\MicrosoftOpenXR\Intermediate\Microsoft.Windows.CppWinRT.2.0.201217.4\NuGetModule\winrt/impl/Windows.Perception.Spatial.2.h(7): fatal error C1083: Impossible d'ouvrir le fichier include�: winrt/impl/Windows.Foundation.Numerics.2.h'�: No such file or directory"
"C:\Users\esoria\Documents\hellounreal\Plugins\MicrosoftOpenXR\Intermediate\Microsoft.Windows.CppWinRT.2.0.201217.4\NuGetModule\winrt/Windows.Perception.Spatial.h(11): fatal error C1083: Impossible d'ouvrir le fichier include�: 'winrt/impl/Windows.Foundation.Numerics.2.h'�: No such file or directory"
"C:\Users\esoria\Documents\hellounreal\Plugins\MicrosoftOpenXR\Intermediate\Microsoft.Windows.CppWinRT.2.0.201217.4\NuGetModule\winrt/Windows.Perception.Spatial.h(11): fatal error C1083: Impossible d'ouvrir le fichier include�: 'winrt/impl/Windows.Foundation.Numerics.2.h'�: No such file or directory"
"C:\Users\esoria\Documents\hellounreal\Plugins\MicrosoftOpenXR\Source\MicrosoftOpenXR\Private\AzureObjectAnchorsPlugin.h(12): fatal error C1083: Impossible d'ouvrir le fichier include�: 'winrt/Windows.Perception.Spatial.Preview.h'�: No such file or directory"
"C:\Users\esoria\Documents\hellounreal\Plugins\MicrosoftOpenXR\Source\MicrosoftOpenXR\Private\AzureObjectAnchorsPlugin.h(12): fatal error C1083: Impossible d'ouvrir le fichier include�: 'winrt/Windows.Perception.Spatial.Preview.h'�: No such file or directory"
I didn't find anything about those errors... So two questions :

Is it possible to build Microsoft OpenXR for win64 ?
If the answer is yes, have you some clues to fix this ?

Thanks !

Building for win64 is definitely possible:
When you generate project files for your uproject, the MicrosoftOpenXR plugin should download some dependencies from NuGet and set the include path (via NuGetModule.Build.cs)
Make sure you right click on your uproject and select "Generate Visual Studio project files"
Does this include directory exist in your project:
C:\Users\esoria\Documents\hellounreal\Plugins\MicrosoftOpenXR\Intermediate\Microsoft.Windows.CppWinRT.2.0.201217.4\NuGetModule\winrt\impl

After some investigation, I found that the files Windows.Foundation.Numerics.h and Windows.Perception.Spatial.Preview.h are not in MicrosoftOpenXR\Intermediate\Microsoft.Windows.CppWinRT.2.0.201217.4\winrt. The headers are found somewhere else
but with a different version (2.0.1990620.2 instead of 2.0.201217.4), which caused a static_assert to fail.
I don't know if there is a problem in the config of the NugetModule or if there is a missing requirement on my PC


Webpack + obfuscator inserts require(), which doesn't work in browser

Expected Behavior
I've recently upgraded "javascript-obfuscator": "~3.0.0" and "webpack-obfuscator": "^3.5.0" and I'm having essentially the same issue as #382 - it appears to be inserting a require() statement unnecessarily. I'm using the following options:
identifierNamesGenerator: 'mangled',
identifiersPrefix: 'test_',
stringArrayEncoding: ['rc4'],
transformObjectKeys: true,

I'm relying on the following defaults, but I've also tried adding explicitly the following:
compact: true,
ignoreRequireImports: false,
target: 'browser',

Current Behavior
The obfuscated code contains numerous require() statements, sometimes from existing node_modules packages, such as:
require('core-js/modules/es.regexp.exec.js'),require('core-js/modules/es.string.split.js'),require('core-js/modules/es.array.concat.js')

Sometimes generated from my own code, as in the example in the example below.
Steps to Reproduce

Original JS:

const cleanUpAnswer = () => {
  const answerElem = document.getElementById('answer');
  answerElem.value = answerElem.value.replace(/[^0-9]/g, '');
};

Obfuscated JS:

function test_a(){var i=['WOpdQtW0W6hcUZVcTsnWWQddICoRWR8','hWxcTSodBCo3WQrrW53cO0ZdNCkK','WQFcHwFcLL3dPYlcP23dVcW','yeWtymk3aSk3WQC','WOFdOZOuWQdcTcxdVYbRWOBdHCooWR7dT1PBjvDvtwtdTmkpW7/dImkKtK3cT8kYzCkihvZdHG','W5vnBmoPW5OdW4/dSW','WQ4Vw8kQW73dG8k5W67cQa','umkAhLJdJLlcOmkh','W4GWmhRdL8kfuSk/WQKMWRdcGq','ECo/W698EhxdOr3dHmkMW5XPW4e','gcJcVSoikCoUWOpcU8kVWOVcHgJdGq','w8opffCbWOhdTrtdO2DFo2nBeCkiaCkBW43dJCkfluFcGCknC8oEWP11qvFcU8ou','WQGjDCoPd8kho2r5W5BcPXJcNa','WOKYWQRcV8o9WQBcKXlcGCo6dSoc','yCkDF8oFhmksWQe','vSk9WR1yA8oDzu/cVwvtxq','sgFdUr1qW5ZdNIK','FSo9W6b2EGNcHYddNCk7W7K','WP3cLbv6tG','D8kuW6pdVZldJq','W4SYm3ddK8khhmoIWQaWWQFcRSkjWQ4','WQGOwCovWQpcO8kFW5pcHdW8WRG','pJ3cPSk2v8o0W67dQq','ECo7W6D9ExtdO03dKSkYW5bNW6RcLa','E2ZcNSkSwW'];test_a=function(){return i;};return test_a();}function test_b(a,b){var c=test_a();return test_b=function(d,e){d=d-0x11c;var f=c[d];if(test_b['BCYCtQ']===undefined){var g=function(l){var m='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var n='',o='';for(var p=0x0,q,r,s=0x0;r=l['charAt'](s++);~r&&(q=p%0x4?q*0x40+r:r,p++%0x4)?n+=String['fromCharCode'](0xff&q>>(-0x2*p&0x6)):0x0){r=m['indexOf'](r);}for(var t=0x0,u=n['length'];t<u;t++){o+='%'+('00'+n['charCodeAt'](t)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(o);};var k=function(l,m){var n=[],o=0x0,p,q='';l=g(l);var r;for(r=0x0;r<0x100;r++){n[r]=r;}for(r=0x0;r<0x100;r++){o=(o+n[r]+m['charCodeAt'](r%m['length']))%0x100,p=n[r],n[r]=n[o],n[o]=p;}r=0x0,o=0x0;for(var t=0x0;t<l['length'];t++){r=(r+0x1)%0x100,o=(o+n[r])%0x100,p=n[r],n[r]=n[o],n[o]=p,q+=String['fromCharCode'](l['charCodeAt'](t)^n[(n[r]+n[o])%0x100]);}return q;};test_b['TuGGEC']=k,a=arguments,test_b['BCYCtQ']=!![];}var h=c[0x0],i=d+h,j=a[i];return!j?(test_b['FRPcSM']===undefined&&(test_b['FRPcSM']=!![]),f=test_b['TuGGEC'](f,e),a[i]=f):f=j,f;},test_b(a,b);}var test_g=test_b;(function(a,b){var f=test_b,c=a();while(!![]){try{var d=parseInt(f(0x131,'ESvS'))/0x1+parseInt(f(0x11c,'^IC3'))/0x2*(-parseInt(f(0x125,'OS7V'))/0x3)+-parseInt(f(0x129,'8Twx'))/0x4+parseInt(f(0x11f,'CHKG'))/0x5*(parseInt(f(0x130,'l[QZ'))/0x6)+-parseInt(f(0x12e,'MlzC'))/0x7*(-parseInt(f(0x12a,'6m*B'))/0x8)+parseInt(f(0x126,'ESvS'))/0x9+-parseInt(f(0x132,'ttUA'))/0xa*(parseInt(f(0x12d,'e6JX'))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(test_a,0xef5b7),require(test_g(0x133,'qOO6')),require(test_g(0x12c,'I@Bt')));var cleanUpAnswer=function cleanUpAnswer(){var h=test_g,a=document[h(0x128,'I@Bt')](h(0x122,'7pa5'));a[h(0x127,'OS7V')]=a[h(0x121,'t#!G')][h(0x11d,'&%qU')](/[^0-9]/g,'');};

Check browser console:
Uncaught ReferenceError: require is not defined & Uncaught TypeError: cleanUpAnswer is not a function

Your Environment

Obfuscator version used: 3.0.0
Node version used: 16.13.1

Minimal working example that will help to reproduce issue
See 'Steps to Reproduce'

Try use ignoreImports: true param

Try use ignoreImports: true param

I don't believe that's a valid parameter @d3v0e, do you mean ignoreRequireImports: true? If so, I think that does the opposite of what I want - it ignores require and import statements and explicitly doesn't obfuscate them, at least so I understand from the docs.
I've actually resolved this by using copy-webpack-plugin to copy my files, using javascript-obfuscator within the transform function there (i.e. no longer using webpack-obfuscator) and everything works as expected. I'm not sure what the problem was, but I suspect it might be something related to obfuscating the file in-place before / after copying, and whether the file is held cache, and at what stage during the transformation / obfuscation process. 🤷🏼♂
I'll close this issue, but if anyone else encounters a similar issue, perhaps try tinkering with the cache or try copy-webpack-plugin.


feat(jellyfish-api-core): implement estimateVault rpc

What this PR does / why we need it:
This PR implements estimatevault rpc from ain 2.x.x.
Which issue(s) does this PR fixes?:

Completes part of #488
Additional comments?:

The title should include estimateLoan

@jingyi2811 I apologize, most of the changes was due to me updating this branch to main without updating its parent branch. I've since updated it so now it should only be showing the expected diff.

Just a few minor things. This PR is good to be approved.

This should be targeted to main branch?

This should be targeted to main branch?

This is actually dependent on #1350 (waiting on it to be merged), as my initial thought of completely seperating them into diff pr results in merge conflicts every time a pr is merged. So I opted to have the PR merged in sequence to minimize merge conflict resolution.


DryRunValidate returns the mutated object

Prior to this, when validating remotely resolved resources, we performed a dry run. When a dry run is performed, the resource is passed through the mutating webhook admission controllers followed by the validating webhook controllers. We only validated the object and inserted the spec of the original object instead of the mutated object. This means that if users have mutating webhook controllers on their cluster then remotely resolved resources are not mutated when passed to the taskrun/pipelinerun. This PR fixes that.
Fixes https://github.com/tektoncd/pipeline/issues/8071

Changes

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[x] Has Tests included if any functionality added or changed
[x] pre-commit Passed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
DryRunValidate returns the mutated object

/kind bug

The following is the coverage report on the affected files. Say /test pull-tekton-pipeline-go-coverage-df to re-run this coverage report
File	Old Coverage	New Coverage	Delta
pkg/reconciler/pipelinerun/resources/pipelineref.go	94.3%	91.8%	-2.5
pkg/reconciler/taskrun/resources/taskref.go	94.2%	91.2%	-3.0

It would be great to maintain the code coverage.

thanks @chitrangpatel
/lgtm

/retest

/retest

the integration tests are failing because we hit the Docker pull rate limit:
GET https://index.docker.io/v2/library/busybox/manifests/sha256:1303dbf110c57f3edf68d9f5a16c082ec06c4cf7604831669faf2c712260b5a0:
              TOOMANYREQUESTS: You have reached your pull rate limit. You may increase the

/retest

/lgtm

/retest

/retest

/retest

/lgtm

/retest


Half the files don't have thumbnails

Description
Hi, love this app
But for a while now the thumbnails of my files are not visible, I tried closing and opening it again and terminating the task but to no avail,

Steps To Reproduce

Open files (in Windows 10 Pro) Build: 19045.3086
see many of the thumbnails missing preview

Requirements
all the thumbnails should be visible.
Files Version
v3.1.1
Windows Version
Windows 10 Pro Build: 19045.3086
Log File
debug.log

I tried going to settings > folders> and turned off thumbnails and then turned it back again but still the same problem

Thanks for the report, can you see if this is an issue in the preview version. https://files.community/download

it might be a good idea to clear the thumbnail cache in Windows to see if it makes a difference.

how can I do that?

Thanks for the report, can you see if this is an issue in the preview version. https://files.community/download

I just installed the preview app (v<IP_ADDRESS>) and still the same problem:

Search for the Disk Cleanup in the start menu.
Select the thumbnails from the list.
Then click on ok.
Restart Files

I just turned on my pc and open Files and all the thumbnails appear without having to clear any cache.
I have a feeling the thumbnails will start disappearing by the end of the day after a 4+ hours of usage during the day. I'll report back

Thanks for the report, let us know if it happens again while using the preview version and we'll reopen this issue.


Add feature to display maximum number of comments

update servlet to return a certain number of comments on get request
fetch comments and display a certain number of comments
sort comments by timestamp

Addressed the comments, and left two comments unresolved above. Let me know if you have any more suggestions!

Weird, I thought I had made some of those changes. Anyway, I addressed your additional suggestions, notably by adding the more general getIntegerParameter method which used your suggestions.


Tuples not described in Collections folder.

Tuples are immutable collections used to store heterogeneous data. This is one of the basic concepts described in detail in the Python documentation.
Documentation

Totally fair! It was a tough decision to leave this off, but unfortunately we only had so much time. We are going to cover tuples in a future course.


Expose sqlite3_bind_blob overload which takes the length of the blob to bind to.

Addresses part of issue raised in: https://github.com/ericsink/SQLitePCL.raw/issues/135
Tagging @ericsink .  Note: i'm unclear on how to build locally.  Can you advise on how to best do that?

Building SQLitePCL.raw is, er, tricky.
Basically, gen_build.cs compiles to something that generates all the project files.
Take a look at go.ps1 for an example.

Thanks!

Followup question.  What's your release schedule generally like?  Thanks!

I plan to do a release in the next few days.  I just want a bit more testing first.
More generally, I tend to do a release whenever something is urgent, or when I have accumulated a nice batch of non-urgent changes.

Awesome.  Thanks for your help!


[Bug] spark submit conf will carry other engine conf

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the bug
spark submit conf will carry other engine conf

Affects Version(s)
master/1.7.1
Kyuubi Server Log Output
No response
Kyuubi Engine Log Output
No response
Kyuubi Server Configurations
No response
Kyuubi Engine Configurations
No response
Additional context
No response
Are you willing to submit PR?

[ ] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to fix.
[ ] No. I cannot submit a PR at this time.

In [KYUUBI #3875] serverOnly was introduced to filter out some sensitive configuration propagation, but in practice, only small set of configuration is required for engine, and this issue brings another case, engine-specific configuration, I'm wandering maybe engineRequried is better
For example:
  val ENGINE_TRINO_MEMORY: ConfigEntry[String] =
    buildConf("kyuubi.engine.trino.memory")
      .doc("The heap memory for the Trino query engine")
      .engineRequried("trino")
      .version("1.6.0")
      .stringConf
      .createWithDefault("1g")

cc @lightning-L @turboFei

yes, it is better to exclude the server side config items.
would you like to submit a pr for that?

how is it going @ASiegeLion ?
still occurs in v1.9


backport-2.1: storage: make load-based replica rebalancing decisions at the store level

PR: https://github.com/cockroachdb/cockroach/pull/29663
From release notes:

The experimental, non-recommended kv.allocator.stat_based_rebalancing.enabled and kv.allocator.stat_rebalance_threshold cluster settings have been replaced by an improved approach to load-based rebalancing that can be controlled via the new kv.allocator.load_based_rebalancing cluster setting. By default, leases will be rebalanced within a cluster to achieve better QPS balance. [#29663][#29663] {% comment %}doc{% endcomment %}

Dup of https://github.com/cockroachdb/docs/issues/3760.


Wrong Status in home App

Since the last update, the Status in the home App isn't correct

Thy button works, I can open and close my garage door, but the status isn't correct, it is always pulling the status, see screenshot.

just start the plugin

Logs:

Show the Homebridge logs here. If using Homebridge Config-UI-X, you can easly downlaod your log by visiting the log page on the UI and Clicking the Download Icon in the top right.
Remove any sensitive information, such as yourhomebridge-meross timestamp / sign / messageId / deviceUrl.

Please Turn on Debug Mode before submitting your Issue so more logs can be shared to fix the issue being submitted.

***Read and Paste over this Text the Text Above^^^^^^

Homebridge Config:
{
            "name": "Meross",
            "platform": "Meross",
            "devices": [
                {
                    "model": "MSG100",
                    "name": "Garage",
                    "serialNumber": "3.5.0",
                    "firmwareRevision": "3.1.15",
                    "deviceUrl": "myURL",
                    "channel": 0,
                    "messageId": "xxxxxxx",
                    "timestamp": xxxxxxxx,
                    "sign": "acbe93d432228e5addc1842bd1dc9acc",
                    "garageDoorOpeningTime": 15,
                    "accessory": "Meross"
                }
            ]
        }
Remove any sensitive information, such as your homebridge-meross timestamp / sign / messageId / deviceUrl.

***Read and Paste over this Text the Text Above^^^^^^

Screenshots:
https://share.icloud.com/photos/0cSmIQzj5drDOdBxFJkwMbMGQ
Environment:

Node.js Version:
NPM Version:
Homebridge Version:
Homebridge Meross Plugin Version:
Homebridge Config UI X Plugin Version:
Operating System:

it can be closed, at the moment the plugin works fine.
Thx

@Gandalf8266 did you do anything to fix this? I recently setup a Meross MSL120 bulb and I think that it's having the same issues that you encountered.


LTO causes sysroot to be unlinkable by non-LLVM toolchains

I'm using cargo xbuild to compile Rust binaries for the ESP32 via https://github.com/MabezDev/rust-xtensa, and then linking them via the Espressif xtensa-esp32-elf-ld, which is a GNU crosstool-NG linker that doesn't understand LLVM bitcode / LTO output
Is it possible to disable LTO by default for the sysroot, or make it a flag that can be passed in?
Reverting to 0.5.29 resolves the issue, so I imagine this is caused by the fix for #69 ?

Which version of cargo-xbuild are you using? We enabled LTO in version 0.5.30, but reverted that change again in version 0.5.31.

I just created a pull request to use a different flag for the sysroot build in https://github.com/rust-osdev/cargo-xbuild/pull/73. Could you try whether this new version fixes your issue. You can install it through:
cargo install cargo-xbuild --git https://github.com/rust-osdev/cargo-xbuild.git --branch embed-bitcode  --debug --force

@phil-opp the embed-bitcode flag doesn't seem to be understood by my rustc branch (based off of llvm-9)
error: failed to run `rustc` to learn about target-specific information

Caused by:
  process didn't exit successfully: `rustc - --crate-name ___ --print=file-names -Cembed-bitcode=yes --target xtensa-esp32-none-elf --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg` (exit code: 1)
--- stderr
error: unknown codegen option: `embed-bitcode`

You can reproduce this issue by setting up a crossbuild docker image from https://github.com/rbtying/rust-xtensa-docker, and then opening a bash session in the container with
docker run --rm --mount type=bind,source=$(pwd),target=/project -it rbtying/esp-crossbuild-env-user /bin/bash

and calling
cargo +xtesna xbuild --target xtensa-esp32-none-elf --release

on an empty staticlib crate with LTO turned off, or this crate: https://github.com/rbtying/esp32-hello/tree/master/main
To determine if the resulting file is valid or not, it should suffice to run nm on the resulting .a file -- if it's not, GNU nm should say so.

What is your rustc version? As far as I know, the -Cembed-bitcode flag was named differently until recently, so perhaps that's the issue.
Have you tried compiling with the most recent crates.io release of cargo-xbuild (version 0.5.31)? It should no longer enable lto.

With 0.5.31, I still get the error:
nm: alloc-622d879c6be42eb3.alloc.8vxpzbbw-cgu.0.rcgu.o: file format not recognized
nm: compiler_builtins-81223a7640e2dd04.compiler_builtins.b2sjtz44-cgu.0.rcgu.o: file format not recognized
nm: rustc_std_workspace_core-a7493121c62fcf4b.rustc_std_workspace_core.zm2lj6do-cgu.0.rcgu.o: file format not recognized
nm: core-d2bbeb4c215585a6.core.8icfffy5-cgu.0.rcgu.o: file format not recognized

The rustc version is forked from 209b2be09fcaff937480d1fbbe8b31646e361c7a, which is from April of this year? Somewhere around 1.42-1.44, I think.
That said, it would be unfortunate if cargo-xbuild only works with the most recent rustc versions, since it's not always easy to update toolchains to catch up.

Thanks for testing! Did you run cargo clean before cargo xbuild to ensure that everything is rebuilt?

That said, it would be unfortunate if cargo-xbuild only works with the most recent rustc versions, since it's not always easy to update toolchains to catch up.

We would love to support older rustc versions too if it would be easily possible. Unfortunately, there are sometimes breaking changes in nightly rustc itself that force us to change the way the sysroot is built to unbreak users of newer nightlies. The new version will then probably not work on older nightlies.
While it would be possible in theory to detect the rustc version and then act accordingly to the reported version, it would be an enormous task to keep support for all older nighlies. I don't have the necessary time for that, so I think it's a reasonable policy to just support the latest nightly. Users that pinned older rustc versions can just pin older cargo-xbuild versions as well to keep things working.

As a side note, have you tried using cargo's own -Zbuild-std flag instead of cargo-xbuild? It already works for most use cases and is always in sync with the respective nightly.

Thanks for looking into this! I did run cargo clean prior to cargo xbuild with version 0.5.31 as released on crates.io
I also rebased the xtensa patches onto the latest rustc from earlier today, and tried to use the embed-bitcode flag. It seems to work! (or at least, it links).

We would love to support older rustc versions too if it would be easily possible. Unfortunately, there are sometimes breaking changes in nightly rustc itself that force us to change the way the sysroot is built to unbreak users of newer nightlies. The new version will then probably not work on older nightlies.

I think it's reasonable not to support all nightlies into the past. Perhaps worthwhile to document when backwards-incompatible changes are made? In this case, the nightly is from a month or so ago, so the new flag is a very recent change.

As a side note, have you tried using cargo's own -Zbuild-std flag instead of cargo-xbuild? It already works for most use cases and is always in sync with the respective nightly.

I didn't know this existed! I'm not sure how to use -Zbuild-std with a local build of the Rust compiler, though: it seems to assume that you can install various components from rustup? Will look more into this, since reducing the set of dependencies seems useful.

On my embedded target and compiling with lto = true like I normally do, I receive the error:
error: failed to get bitcode from object file for LTO (Bitcode section not found in object file)

❱ rustc --version --verbose
rustc 1.45.0-nightly (a74d1862d 2020-05-14)
binary: rustc
commit-hash: a74d1862d4d87a56244958416fd05976c58ca1a8
commit-date: 2020-05-14
host: x86_64-unknown-linux-gnu
release: 1.45.0-nightly
LLVM version: 9.0

This does not change when using the embed-bitcode branch.

Can confirm that @phil-opp's #73 does produce binaries that GNU ld understands.

@rbtying @zhaofengli Thanks for testing! I will merge the PR then.
@lights0123

I receive the same error using -Z build-std=core,alloc.

This seems like a cargo problem then. I see that you already commented on https://github.com/rust-lang/cargo/issues/8239, so let's hope that this gets resolved soon!
@rbtying

Perhaps worthwhile to document when backwards-incompatible changes are made? In this case, the nightly is from a month or so ago, so the new flag is a very recent change.

I agree that this would be a good idea, however it still requires a lot of work (e.g. testing new versions with many different nightlies, closely following the rustc/cargo development to know when new flags etc were introduced, etc). I'm open to pull requests that add such documentation, but I won't have the time to do it myself unfortunately.

I didn't know this existed! I'm not sure how to use -Zbuild-std with a local build of the Rust compiler, though: it seems to assume that you can install various components from rustup? Will look more into this, since reducing the set of dependencies seems useful.

I'm not sure about that either. I think the location of the Rust source code is detected by running rustc --print=sysroot, so if you can get this to point to your local Rust repo it might work.

Closing, as https://github.com/rust-lang/cargo/issues/8239 was fixed.


[UG] Update UG images to latest updates

Update UG images to the latest updates.
Example: New log added has new lines. (as compared to the one in UG)

#208


Publishing PyAwaitable

Have you searched for this discussion already?

[X] I have already searched for this topic!

Content
After discussing this topic here and here, the reference implementation of PyAwaitable (included in _view) should be published for use as an external library. I'm not sure whether this should go under view.py as a special release, or as a separate repository. However, I think view.py should document it on it's own docs, and not under a different domain.
The following needs to be done, according to discussion:

Document the full API of PyAwaitable
Rename the API to use a different prefix, as requested by one of the core developers. I'm thinking awaitable_ will work.
Write a specification for PyAwaitable, in order to create a PEP later on.
Explain how it works, as that will be much needed if a PEP is to be created.

Some explanation as to how PyAwaitable works was already written for #19, so that can likely be used for the future.
Additional Info
No response

Instead of changing the prefix outright I suggest having a define named USE_PY_PREFIX to force Py prefix as used currently for those of us who prefer to use that prefix in their code so we can force it (and also perhaps for it to be header only).

That's already been done. Most of this issue has been completed already in a private repository, I just need to get around to publishing it. In terms of design, the API is pretty much set in stone at this point, as the documentation is already written.

Nice, I would love if that private repository could be made public soon so people can submodule it in their codebases and start using it in their code.
Also I am interested how one can implement something like this using that api as well:
async def __get_result(query: str) -> sqlite3.Row | None:
    """Internal API. DO NOT USE."""
    async with asqlite.connect('Bot.db') as connection:
        async with connection.cursor() as cursor:
            await cursor.execute(query)
            result: sqlite3.Row | None = await cursor.fetchone()

    return result

async def __get_results(query: str) -> list[sqlite3.Row] | None:
    """Internal API. DO NOT USE."""
    async with asqlite.connect('Bot.db') as connection:
        async with connection.cursor() as cursor:
            await cursor.execute(query)
            results: list[sqlite3.Row] | None = await cursor.fetchall()

    return results

Where asqlite is a version of sqlite3 that works well in async code as the sync version is not well suited for it and for which asqlite is written in pure python itself. Also if that code can be migrated to C I could also migrate most of my async code in my discord.py bot on the core parts of it (except __init__.py and __main__.py as I like having it as a local editable "install" that is in package form) and have it's command parts remain as pure python code.

PyAwaitable does not have any extra support for async with or async for yet, but you can still call the actual protocol methods. In your case, it would look something like this (pseudo-code, I'm too lazy to do all the shenanigans with attribute lookup and vectorcall right now):
static int body(PyObject* awaitable, PyObject* cursor) {
    PyObject* query;
    PyObject* values;
    awaitable_unpack(awaitable, &query, &values);
    awaitable_await(awaitable, cursor.executemany(), NULL, NULL);
    awaitable_await(awaitable, cursor.commit(), NULL, NULL);

    return 0;
}

static int callback(PyObject* awaitable, PyObject* connection) {
    PyObject* ctx = connection.cursor()
    PyObject* aenter = connection.__aenter__();
    awaitable_await(awaitable, aenter, body, NULL);
    return 0;
}

static PyObject* add_or_delete_items(PyObject* self, PyObject* query, PyObject* values) {
    PyObject* awaitable = awaitable_new();
    PyObject* connection = asqlite.connect("Bot.db")
    PyObject* aenter = connection.__aenter__() // this is a coroutine!
    awaitable_await(awaitable, aenter, callback, NULL);
    awaitable_save(awaitable, 2, query, values, NULL);

    return awaitable;
}

I suppose that I could add something like a awaitable_with that stores the __aexit__ for later. That will be after an initial release, though.

Also I noticed that your module init function in the _view extension could make use of the things I have in my own projects defines.h file:
/*
 * defines.h
 */
#pragma once
/*
 * for Visual Studio when the python include folder is not in
 * the include path by default for VS2022 when opening without
 * a project file. Uncomment these when doing such.
 */
// #include <C:/Program Files/Python311/include/Python.h>
// #include <C:/Program Files/Python311/include/structmember.h>
// #include <C:/Program Files/Python311/include/datetime.h>
#include <Python.h>
#include <structmember.h>
#include <datetime.h>
#include <stdbool.h>

/* inline helpers. */
static inline void _SetAllListItems(PyObject *all_list, int count, ...) {
  va_list valist;
  va_start(valist, count);
  for (int i = 0; i < count; i++) {
    PyList_SET_ITEM(all_list, i, PyUnicode_FromString(va_arg(valist, const char *)));
  }
  va_end(valist);
}

static inline PyObject *_DecrefModuleAndReturnNULL(PyObject *m) {
  Py_XDECREF(m);
  return NULL;
}

static inline PyObject *_PyType_CreateInstance(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
  PyObject *instance = type->tp_new(type, Py_None, Py_None);
  if (type->tp_init(instance, args, kwargs) != 0)
  {
    PyErr_Print();
    Py_XDECREF(instance);
    return NULL;
  }

  return instance;
}

static inline PyObject *_PyObject_GetCallableMethod(PyObject *obj, const char *name)
{
  PyObject *method = PyObject_GetAttrString(obj, name);
  if (!PyCallable_Check(method))
  {
    Py_XDECREF(method);
    return NULL;
  }

  return method;
}

/* defines needed in the module init function.  \
/* Create and set __all__ list. */ \
PyObject* all_list = PyList_New(count); \
if (all_list == NULL) { \
  Py_XDECREF(m); \
  return NULL; \
} \
_SetAllListItems(all_list, count, __VA_ARGS__); \
/* Set __all__ in the module. */ \
if (PyModule_AddObject(m, "__all__", all_list) < 0) { \
  Py_XDECREF(all_list); \
  return _DecrefModuleAndReturnNULL(m); \
} \
return m

#define PyType_CreateInstance(type, typeobj, args, kwargs) ((type *)_PyType_CreateInstance(typeobj, args, kwargs))
#define PyObject_GetCallableMethod(type, name) _PyObject_GetCallableMethod((PyObject*)type, name)

Also in my C extension I create the m object (using PY_CREATE_MODULE) after checking if the types are ready so then there would be no need to recref at all if the types are not actually ready which allowed m to plac thm inside of a macro that can be usable for all defined extension type objects.

Feel free to make a PR with these changes.

@AraHaan are you familiar with C++'s std::future? Some bindings for PyAwaitable could be nice to C++ developers, but unfortunately I don't know anything about C++ asynchronous code. This goes for Rust as well.
Ideally, PyAwaitable could be used to power some async support in PyO3 and PyBind11 (IIRC PyBind has an open issue for adding async somewhere).

@AraHaan are you familiar with C++'s std::future? Some bindings for PyAwaitable could be nice to C++ developers, but unfortunately I don't know anything about C++ asynchronous code. This goes for Rust as well.
Ideally, PyAwaitable could be used to power some async support in PyO3 and PyBind11 (IIRC PyBind has an open issue for adding async somewhere).

I have not tried std::future much at all yet. But I can agree with that. But yes I agree on using this to power async support in python extension modules.
I even just now implemented this one as a test on my C extension to my discord bot with success:
static PyObject *_capi_foo(PyObject *mod, PyObject *args) {
  PyObject *awaitable = PyAwaitable_New();
  printf("bar\n");
  return awaitable;
}

And the test from the console:
Python 3.11.9 (tags/v3.11.9:de54cf5, Apr  2 2024, 10:12:12) [MSC v.1938 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import _capi
>>> await _capi.foo()
  File "<stdin>", line 1
SyntaxError: 'await' outside function
>>> import asyncio
>>> asyncio.new_event_loop().run_until_complete(_capi.foo())
bar
>>> async def run_foo():
...     await _capi.foo()
...
>>> asyncio.new_event_loop().run_until_complete(run_foo())
bar
>>> exit()

I have a few people I could ask then. The main issue that I'm having trouble fixing before I can release it is that I can't figure out how to link against the PyAwaitable extension module. If you could help me figure that out, I can release it later today. See the problem on Stack Overflow (in my case, _module refers to the built _pyawaitable extension).

I have a few people I could ask then. The main issue that I'm having trouble fixing before I can release it is that I can't figure out how to link against the PyAwaitable extension module. If you could help me figure that out, I can release it later today. See the problem on Stack Overflow (in my case, _module refers to the built _pyawaitable extension).

Sadly the only way I can think of is look at how python3.XX.dll is linked on the built in extensions. Only way I can think of is to static link in the awaitable.obj from compiling the c file and have the extension author who is linking it in register the types into their module using the header file.
Example this is my _capi.c file:
/* defines for module init. */
#include "../include/defines.h"

/* for defining awaitable functions in C extension code. */
#include "../include/awaitable.h"

/* Entity include files. */
#include "../include/Activity.h"
#include "../include/DiscordToken.h"
#include "../include/Emoji.h"
#include "../include/ExpiringVerification.h"
#include "../include/Guild.h"
#include "../include/Role.h"
#include "../include/Tier.h"
#include "../include/TierDescription.h"

/* Task include files. */
#include "../include/AsyncExecutorTask.h"
#include "../include/AsyncBackgroundTask.h"

static PyObject *_capi_foo(PyObject *mod, PyObject *args) {
  PyObject *awaitable = PyAwaitable_New();
  printf("bar\n");
  return awaitable;
}

static PyMethodDef _capi_members[] = {
  { "create_activity", (PyCFunction)_capi_create_activity, METH_O, NULL },
  { "create_discordtoken", (PyCFunction)_capi_create_discordtoken, METH_O, NULL },
  { "create_emoji", (PyCFunction)_capi_create_emoji, METH_O, NULL },
  { "create_expiringverification", (PyCFunction)_capi_create_expiringverification, METH_O, NULL },
  { "create_guild", (PyCFunction)_capi_create_guild, METH_O, NULL },
  { "create_role", (PyCFunction)_capi_create_role, METH_O, NULL },
  { "create_tier", (PyCFunction)_capi_create_tier, METH_O, NULL },
  { "create_tierdescription", (PyCFunction)_capi_create_tierdescription, METH_O, NULL },
  { "foo", (PyCFunction)_capi_foo, METH_NOARGS, "Test function to test out defining awaitable functions in C extension code." },
  { NULL } /* Sentinel */
};

static struct PyModuleDef _capi = {
  .m_base = PyModuleDef_HEAD_INIT,
  .m_name = Py_STRINGIFY(_capi),
  .m_doc = "Discord Bot C API that includes async background tasks and database entity types.",
  .m_size = -1,
  .m_methods = _capi_members,
  .m_slots = NULL,
  .m_traverse = NULL,
  .m_clear = NULL,
  .m_free = NULL,
};

PyMODINIT_FUNC PyInit__capi(void) {
  /* Entity Type Objects. */
  PY_TYPE_IS_READY_OR_RETURN_NULL(PyActivityObject);
  PY_TYPE_IS_READY_OR_RETURN_NULL(PyDiscordTokenObject);
  PY_TYPE_IS_READY_OR_RETURN_NULL(PyEmojiObject);
  PY_TYPE_IS_READY_OR_RETURN_NULL(PyExpiringVerificationObject);
  PY_TYPE_IS_READY_OR_RETURN_NULL(PyGuildObject);
  PY_TYPE_IS_READY_OR_RETURN_NULL(PyRoleObject);
  PY_TYPE_IS_READY_OR_RETURN_NULL(PyTierObject);
  PY_TYPE_IS_READY_OR_RETURN_NULL(PyTierDescriptionObject);
  /* Async Background Tasks Type Objects. */
  PY_TYPE_IS_READY_OR_RETURN_NULL(PyAsyncExecutorTaskObject);
  PY_TYPE_IS_READY_OR_RETURN_NULL(PyAsyncBackgroundTaskObject);
  /* Types for C defined awaitable python functions. */
  PY_TYPE_IS_READY_OR_RETURN_NULL(PyAwaitable_Type);
  PY_TYPE_IS_READY_OR_RETURN_NULL(_PyAwaitable_GenWrapper_Type);
  PY_CREATE_MODULE(_capi);
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(Activity, PyActivityObject);
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(DiscordToken, PyDiscordTokenObject);
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(Emoji, PyEmojiObject);
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(ExpiringVerification, PyExpiringVerificationObject);
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(Guild, PyGuildObject);
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(Role, PyRoleObject);
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(Tier, PyTierObject);
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(TierDescription, PyTierDescriptionObject);
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(AsyncExecutorTask, PyAsyncExecutorTaskObject);
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(AsyncBackgroundTask, PyAsyncBackgroundTaskObject);
  /* Types for C defined awaitable python functions. */
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(Awaitable, PyAwaitable_Type);
  PY_TYPE_ADD_TO_MODULE_OR_RETURN_NULL(_GenWrapper, _PyAwaitable_GenWrapper_Type);
  PY_ADD_ALL_ATTRIBUTE(19, Py_STRINGIFY(Activity), Py_STRINGIFY(DiscordToken), Py_STRINGIFY(Emoji), Py_STRINGIFY(ExpiringVerification), Py_STRINGIFY(Guild), Py_STRINGIFY(Role), Py_STRINGIFY(Tier), Py_STRINGIFY(TierDescription), "create_activity", "create_discordtoken", "create_emoji", "create_expiringverification", "create_guild", "create_role", "create_tier", "create_tierdescription", "foo", Py_STRINGIFY(AsyncBackgroundTask), Py_STRINGIFY(AsyncExecutorTask));
}

How do libraries like NumPy and PyTorch handle this? AFAIK they have a way to link their C API via setuptools. Though, perhaps another thread could be made on discourse about adding a specification for packaging C libraries, or at least adding some documentation for it.

Also I feel like the api to PyAwaitable should include these helper return defines:
#define Py_RETURN_AWAITABLE return awaitable
#define Py_RETURN_NEW_AWAITABLE PyObject *awaitable = PyAwaitable_New(); \
return awaitable

And it would make it much simpler for developers to remember what they return even if they don't touch their code in many months or even in some cases years to quickly remember what the return value should be.

That's fair, but again I think would be something for after an initial release. I can give you access to the private repository to make issues, if you would like. I'm not so sure about Py_RETURN_NEW_AWAITABLE, since that wouldn't do anything useful. Py_RETURN_NEW_AWAITABLE would make the function usable via await, but it wouldn't have any callbacks or loaded coroutines, so it wouldn't do anything and just immediately raise a StopIteration.

I can give you access to the private repository to make issues, if you would like.
That would be great to have.

This issue can be marked as close from view.py's side of it.


Proposal to add a GET method to read account data

The spec provides a PUT method for setting account data, but the only way to read the data back is from the sync queries.
This is very nice if you want to be able to get a stream of data between clients, but in the case of bots that just use the account data to store configuration / state between restarts - or use the HS as a key-value store - then it's more of a nuisance.
Adding GET methods that will directly retrieve the latest data in the given id would be helpful for those use cases;
GET /_matrix/client/r0/user/%40alice%3Aexample.com/account_data/org.example.custom.config
Content-Type: application/json

{
  "custom_account_data_key": "custom_config_value"
}

GET /_matrix/client/r0/user/%40alice%3Aexample.com/rooms/%21726s6s6q%3Aexample.com/account_data/org.example.custom.room.config
Content-Type: application/json

{
  "custom_account_data_key": "custom_account_data_value"
}

A Last-Modified header could be nice to have, but most definitely not a necessity for the feature.

I guess the only question here is whether we want account data to be { type, key } -> event or just type -> event as they are currently.

Could also do with a plain GET /account_data for the user and room - would return the whole of account data.

i hadn't remembered that we currently support PUTing based on type, and so the concept of a state key is already thrown away.  So i vote we just go and do this; i think the only reason it doesn't exist today is because people didn't bother to implement the GET endpoint at the point of implementation as there wasn't a use for it at that point.

@mscbot fcp merge
I think this is pretty well good to go.

@mscbot fcp merge
let's try this again

@turt2live it's not entirely clear what is included in this proposal: are we doing plain GET /_matrix/client/r0/user/{userId}/rooms/{roomId}/account_data or not?
Also: I'm hesitant to scope-creep this, but since we're in the area, the user_id in the URI is unnecessary and inconsistent with the shape of the rest of the API. It seems obtuse to add new APIs with this brokenness. How about proposing a more sensible path for both GET and PUT, and we can deprecate the existing PUT API?

the reason {userId} is in there is to let you set other users' account_data if you have permission. why is it unnecessary & inconsistent?

why would you have permission to do so? We don't do the same thing for other per-account data, such as pushrules.

it's not entirely clear what is included in this proposal: are we doing plain GET /_matrix/client/r0/user/{userId}/rooms/{roomId}/account_data or not?

I'd like to, but it's probably not as needed. This would be a good point to get feedback on.

(paraphrasing) user_id in the URL

I'd rather keep it and have another proposal for dropping it everywhere else rather than scope creep this one.

why would you have permission to do so?

if you are a server admin helping out a user.

We don't do the same thing for other per-account data, such as pushrules.

perhaps that's an oversight?

I'd rather we introduce some kind of Client Management sub-API for things like doing something on behalf of other users. And I'd really be happy if it were secured by some capabilities-style system, the current power levels system is not really flexible; meanwhile getting/setting data of other users has sweeping consequences, especially with regards to data privacy.
I think we should keep the user id in the URL for the sake of consistency, as @turt2live proposed. Further changes towards either enabling the same for other endpoints or dropping it for the account_data endpoints need a separate discussion.

We don't do the same thing for other per-account data, such as pushrules.
perhaps that's an oversight?

where does this end? Endpoints that let you send messages on behalf of other users? Perhaps we ought to have a userId in all of our API endpoints.
I'm not that attached to this argument either way, to be honest, but I do feel it's reasonable to at least question it before we further entrench the current position.

@mscbot seems to be sleeping on the job, so...
:bell: This is now entering its final comment period, as per the review above. :bell:

@mscbot is still sleeping...
The final comment period, with a disposition to merge, as per the review above, is now complete.
(leaving this open to track implementation/state, given this is a grandfathered MSC)

Sure, mscbot, whatever you want.

Merged via https://github.com/matrix-org/matrix-doc/pull/1873


⚠ ClamAV has degraded performance

In 30273bf, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 55 ms

Resolved: ClamAV performance has improved in a789519 after 6 minutes.


#583 fixed

This fixes the issue of of issues not showing in the app

Is this already released to the Play Store? I still have this issue and it's pretty annoying.

Well the GitHub app us no longer maintained under GitHub so that app will not work. The ForkHub app on the other hand will that is also the app we will be maintaining!

Henrik it would be nice if you guys helped with this project now that
Github has turned it over to the community rather than continue forkhub.
It's just going to cause confusion.
I'm on vacation right now, but the plan was to release soon.
On Wed, May 13, 2015 at 7:40 PM Henrik Olsson<EMAIL_ADDRESS>wrote:

Well the GitHub app us no longer maintained under GitHub so that app will
not work. The ForkHub app on the other hand will that is also the app we
will be maintaining!
—
Reply to this email directly or view it on GitHub
https://github.com/forkhubs/android/pull/592#issuecomment-101755570.

Well was the plan not to release under the name ForkHub? (Have been away for a while)

No... This is not the same Forkub that @jonan has been maintaining, nor was
that the plan. This is to be the spiritual successor to the official github
app. Name is still undecided, doesn't really help that Kevin made the org
name "forkhubs".
On Wed, May 13, 2015 at 7:45 PM Henrik Olsson<EMAIL_ADDRESS>wrote:

Well was the plan not to release under the name ForkHub? (Have been away
for a while)
—
Reply to this email directly or view it on GitHub
https://github.com/forkhubs/android/pull/592#issuecomment-101756478.

Alright good to know! Well I'm only contributing here so thats fine


⚠ Jenkins Plugins Artifactory has degraded performance

In a862277, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1436 ms

Resolved: Jenkins Plugins Artifactory performance has improved in de0ed6b after 13 minutes.


"IsIP" and "IsIPv4" are not able to i identify short ip address as Valid Ip address

ValidiIpTests := []string{
	"35.1",
	"35.1.124",
	"<IP_ADDRESS>",
	"127.1",
	"127.1.1",
	"::1",
	"001:0db8::1",
	"::a00:27ff:fef3:7d56",
	"fe80::a00:27ff:fef3:7d56",
	"2607:f0d0:1002:0051:0000:0000:0000:0004",
}

We need to change the implementation, so that go attempt to connect/perform network activity towards the potential short ip version and trigger the specific operative system syscalls that extend the possible short ip to the full version. Then just read the full extended remote ip and return it along with success/failure. This seems the most reliable way to determine if a short ip is a valid ip.

short ips can be tested via CanExtend(ip) which also supports hostnames and already extended ip


Added the measure argument to all the queries to measure the time it takes for Prometheus client to respond

There is an extra argument on the query, which measures the time it took.
The code decodes and reencodes JSON with the time value added

ok for me

I do not understand first you declare the variable as boolean, later assign a time (I guess). But if it works it is okay 🤣

measure is always boolean, it is set if the input query parameter is "true"


Fix Istio RBAC samples

It fixes the issue report in #3917. I will add a follow up change to update the docs.

cc. @yangminzhu

/retest

@liminw: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
01842900fef677a3db5d614375247b0c47df1196
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-unit-tests

@liminw: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
c80295c5fbb9ec1fc05ddc808d6b5e873059d391
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


agent-function-fixes

Fixed problems with several agent functions like the New-DbaAgentSchedule which generated errors in severa situations.

Oh no, @sanderstad - you didn't sync prior to making changes and a conflict has occurred :(

Showing that the New-DbaAgentSchedule works like it should

bon, baw! thank you 🌮


bugfix(bsx): fix metadata error

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR type

[x] Bugfix
[ ] Feature
[ ] Refactoring

What's new?

[x] PR closes #3135
[ ] Requires deployment <rubick/magick_issue>
[x] when "meta" from graphql request is null, try to query from metadata.

Before submitting Pull Request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[x] I've tested it at </bsx/gallery/1768431620-1?message=congrats>
[ ] I've tested PR on mobile and everything seems works
[ ] I found edge cases
[ ] I've written some unit tests 🧪

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[ ] Are you at KodaDot Discord?

Screenshot

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

pay 100 usd

😍 Perfect, I’ve sent the payout
💵 $100 @ 57.98 USD/KSM ~ 1.725 $KSM
🧗 EgCzZLpVe7zg7RHh79qPyC8UrykVkA22YY2oj7sWMZf15Ws
🔗 0x29882305919470dcefcb46f9e821a0e70d88f96245e22c4ac64835f65f46c030
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues

wfm


Outbound ldap sync

Listens to changes on the outbound_queue table and logs them.

Will reopen once merging and rebasing is sorted out


GitHub Scraper: Skip review events for PR authors

Currently, review events are captured from the events API, and even follow-up comments made by PR authors are treated as review events.
When appending events for "pr_reviewed"; skip appending for those who are the author of the PR.
https://github.com/ohcnetwork/leaderboard/blob/f0dcce4be322ddd00db3842e64eec47785cecea0/scraper/src/github-scraper/parseEvents.ts#L204-L211

i would like to work on this issue

@rithviknishad i would like on these issue But need some gudiance regarding the issue

Sure, ask

hey @rithviknishad, I've added a if statement which checks if the user and the PR author are same or not, and only appends pr_reviewed if they aren't same.


Remove Jump to Page from Table

Status?

@caaespin @hannes-ucsc can you add the final on the paging api to this ticket or the link to the doc that has it? I can't seem to find the latest spec on this. Thanks!

@NoopDog will document it shortly. In the meantime:
To move forward:
GET /repository/files?search_after=<search_after>&search_after_uid=<_uid>
To move backwards
GET /repository/files?search_before=<search_before>&search_before_uid=<_uid>
You get these values (search_after, search_after_uid, search_before, search_before_uid) from the backend itself.


Add simple runscript sanity test

This test is meant as a sanity test for the jiant pipeline. The test downloads, tokenizes, trains, and evaluates on a dataset. It runs in 31.2 seconds. The test is parameterized so is can potentially be run with different task/model combinations although this would only be possible on the NYU cluster. COPA was chosen as the task for the test since it is small (it can be changed). bert-base-cased was chosen for the model since it is one of the smaller models we support (also can be changed).
Ran the test using:
pytest --runslow -s --durations=0

@zphang What are your thoughts on the dataset choice/test? Any ways to make this faster and stay true to the purpose of the test? Should we include this in CircleCI?

Looks fine to me. Also FYI, RunConfiguration objects can be constructed like regular Python objects, so no need to use cl_args.

@zphang Ah, didn't know that. Will make that change!


Too long in "Adding hook in original smali file" stage

[*] Running backdoor-apk.sh v0.2.4a on time
[+] Android payload options:

meterpreter/reverse_http   3) meterpreter/reverse_tcp    5) shell/reverse_https
meterpreter/reverse_https  4) shell/reverse_http         6) shell/reverse_tcp
[?] Please select an Android payload option: 3
[?] Please enter an LHOST value: myhost
[?] Please enter an LPORT value: myport
[+] Android manifest permission options:
Keep original
Merge with payload and shuffle
[?] Please select an Android manifest permission option: 2
[+] Handle the payload via resource script: msfconsole -r backdoor-apk.rc
[] Decompiling original APK file...done.
[] Locating smali file to hook in original project...done.
[+] Package where RAT smali files will be injected: mydir
[+] Smali file to hook RAT payload: .smali
[] Generating RAT APK file...done.
[] Decompiling RAT APK file...done.
[] Merging permissions of original and payload projects...done.
[] Injecting helpful Java classes in RAT APK file...done.
[] Creating new directory in original package for RAT smali files...done.
[+] Inject package path: com/mojang/minecraftpe/cpcae
[+] Generated new smali class name for MainBroadcastReceiver.smali: Qxmrr
[+] Generated new smali class name for MainService.smali: Wvfls
[+] Generated new smali class name for Payload.smali: Hcaay
[+] Generated new smali class name for StringObfuscator.smali: Ufgbz
[+] Generated new smali method name for StringObfuscator.obfuscate method: zcdix
[+] Generated new smali method name for StringObfuscator.unobfuscate method: pbukf
[] Copying RAT smali files to new directories in original project...done.
[] Fixing RAT smali files...done.
[] Obfuscating const-string values in RAT smali files...done.
[*] Adding hook in original smali file...

Basis“ https://github.com/dana-at-cp/backdoor-apk/issues/191#issuecomment -755338263" fixed the problem that "Failed to locate smali file to hook", it was stuck for two hour at this stage.
run.log:
Value of android_name:
Value of android_class:
These two values are null

The "run.log" file ends after deleting all files in the tmp folder.

was this ever fixed?


Webpack adjustment

First time compile on npm run dev-uglified (or npm run dev for that matter) takes 10-20 seconds, however subsequent runs (on detecting changed files) takes only a second or too.

Coverage remained the same at 50.361% when pulling b3ff620c491da52038e3df1d22c8ccec4c59bd17 on webpack-adjustment into 90c6d9033b5186b27b89dd5667814b29f5eeaf8d on master.

Coverage remained the same at 50.361% when pulling b10dcefdb34fb888a531b479527dbc592932af93 on webpack-adjustment into 90c6d9033b5186b27b89dd5667814b29f5eeaf8d on master.


Invalid path: GCP deployment

Hi Jonny,
I'm testing this with deployment to the GCP, I'm running into an issue when testing:
{ "jobRunId": "1234", "data": { "base": "BTC", "quote": "USD" }}

And the response I get it:
{"jobRunId":"1234","status":"errored","error":"Invalid path","pending":false,"data":{"base":"BTC","quote":"USD"}}

Running locally and testing with a curl command seems to work perfectly.

I got it. I can't say my go skills are good enough to fix it, but if you swap the Path in the func Opts() in bridge.go to "/", you can deploy to the GCP without any problems.
func (ap *AssetPrice) Opts() *bridges.Opts {
	return &bridges.Opts{
		Name:   "Asset Price",
		Lambda: true,
		Path:   "/",
	}
}


[FEATURE] Could you provide something like "NotNullValidation"?

I need something like "NotNullValidation" that provide a method for a class to check whether all the fields of the class are not null. I think this is very useful for domain objects. Thanks.
Example:

@NotNullValidation
@Data
public class Admin {
    private String account;
    private String password;
}

Admin admin = new Admin();
admin.setAccount("123");
admin.isAllFieldsNotNull(); // false

I'm afraid, validation in general is out of scope for Lombok. The problem is, there are too many possible options and there are already validation frameworks so powerful that Lombok can never compete with. The @lombok.NonNull annotation is not meant to do validation in the usual sense - it helps to find coding errors (rather than user input errors) by failing fast.


Fix captcha validation & email notification

Hello, I do some update for this plugin. The update list is below.
Hope this helpful, thankyou!
Added

Params support for email notification, default will use params formData (5cb121fe3c636475e35c3b9a8b683426c9584e87)
Add formatData utils for data type string (73fc863338aa6f0c833227f73bf709a78f6bc5c0)

Fixed

Recaptcha: prevent send notification and save to DB on invalid (e94ef9b5b2d5a310e86db706beb53e2f6e62245d)

Didn't merge because of formatting, i've since added eslint.

I see you did some additional changes, feel free to open a new PR with those changes and I can review. It was difficult to review changes because of styling changes.

@Cpaczek : I already redo my PR


fix(cli/main): fixes error callback param

fixes error callback parameter that was misnamed
fixes #34

Codecov Report

Merging #35 into master will not change coverage.
The diff coverage is n/a.

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

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


400 error on like by hashtag

After some likes by hashtag, the bot drops 400 error and mess counting of total liked media.
2017-03-23 11:43:14,824 Going to like 75 medias.
2017-03-23 11:56:01,440 Request return 400 error!
2017-03-23 11:56:11,440 DONE: Total liked 145 medias.

Are you sure you haven't reached the daily like limit?

It's around 200 per hour approx and if you're liking at the same time manually, you've probably hit the limit.

Should be fixed in current version.

@ohld is the system picking up even if it gets multiple 400 errors or does it need a manual restart?

Manual restart can help.


Release corne-light?

Hi 👋
Corne is really beautiful, thanks for making it Open Source!!! I haven't found a release (https://github.com/foostan/crkbd/releases) of corne-light with gerber files?
Could you trigger a release please?

I'm preparation now.

Thank you! :)


sd-card-formatter: Add version 5.0.2

Closes: #9155

[x] I have read the Contributing Guide.

/verify

Thanks !

@g-berthiaume Thank you for your contribution, and your patience.


Tooltips work only on hard page reload

Tooltips are not showing up when navigating around using normal links. They appear only on a hard page reload. This is most likely a problem with the Bootstrap tooltip code not loading on a Turbolinks event.

Fixed by #382


http cache, undefined method fresh_when

How can I call a method of other module in grape?
I try to "include ::ActionController::ConditionalGet" and "helpers ::ActionController::ConditionalGet"
BUt it not work

Grape has a concept of helpers, so helpers do ....
Please use the mailing list for questions.


Set Protection on Master and Development Branches

@cnicholas537 volunteered to take this

@mikeressel can review before closing

Why me?

@cnicholas537 The development branch is created, so you can go ahead and set protections on it. #42

Done, maybe


Support QinQ networks

Seems that macvlan_network.go does not support QinQ. Docker nativley supports this. When setting the parent to something like eth0.10.100 an error is thrown "Errorf("required interface name format is: name.vlan_id, ex. eth0.10 for vlan 10, instead received %s",  linkName)" from macvlan_setup.go parseVlan function.
QinQ Seems to not be supported. Would be a Useful feature. Currently preventing me from implementing this libary. Is there a sugested work around?

Docker nativley supports this.

docker is using libnetwork when you run "docker network create", or does that fail?

It succeeds docker network create -d macvlan --gateway=X.X.X.X --subnet=X.X.X.X/XX --ip_range=X.X.X.X/XX -o parent=eth0.20.200 vlan20-200 is the command I usually run. I have never had a problem with it.

docker-compose is what is failing when I try and start this network in my yaml file
networks:
  qinq_network:
    driver: macvlan
      driver_opts:
        parent: eth0.20.200
      ipam:
        config:
          - subnet: X.X.X.X/XX
            gateway: X.X.X.X
            ip_range: X.X.X.X/XX


"No log data" for pods streaming out json

Describe the bug
For some of our pods we are constantly getting  "No log data" under the Logs tab. It seems that this happens for pods which stream out logs in json format. For plain text logs, everything seems to work nicely.
Steps to reproduce the behavior

You need a pod with json logs output
'kubectl get po'
Click on the pod
Go to the "Logs" tab

Expected behavior
Logs for all pods no matter what is the format of logs output
Screenshots

System

Kui version: 8.7.6
Operating system: macOS Mojave 10.14.5

thanks for the bug report. we tried this yaml, and it seemed to work. it's possible the bug has been fixed in 8.8.0. we haven't yet released builds, but should within the next 24h. with master, this yaml works, using the test script you provided:
apiVersion: v1
kind: Pod
metadata:
  name: json-logs
spec:
  containers:
  - image: alpine
    command:
      - /bin/sh
      - "-c"
      - "while true; do echo '{\"key\": \"value\"}'; sleep 1; done"
    name: alpine

ah yes, this should be fixed in 8.8.0. we improved the robustness of the Logs tab quite a bit. Illl ping this issue when we have released 8.8.0!

8.8.2 has been released.


com.microsoft.playready to com.microsoft.playready.recommendation mapping in HLS

Have you read the FAQ and checked for duplicate open issues?
Yes
Is your feature request related to a problem? Please describe.
com.microsoft.playready.recommendation is recommended in #818 for Windows Edge. But HLS manifest uses com.microsoft.playready as key format, and shaka uses com.microsoft.playready CDM and license server config instead of com.microsoft.playready.recommendation
#EXT-X-KEY:METHOD=SAMPLE-AES,KEYFORMAT="com.microsoft.playready"
https://docs.microsoft.com/en-us/playready/packaging/mp4-based-formats-supported-by-playready-clients?tabs=case4
Describe the solution you'd like
{
  "drm": {
    "servers": {
      "com.microsoft.playready.recommendation": "https://url"
    }
  }
}

Shaka can provide a way to map the key format in HLS, and remain compatible with DASH.
Describe alternatives you've considered

Additional context
DASH playback supports key system mapping.
https://shaka-player-demo.appspot.com/docs/api/tutorial-drm-config.html#choosing-a-key-system
player.configure({
  dash: {
    keySystemsByURI: {
      'urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95': 'com.microsoft.playready.recommendation',
    }
  }
});

@wjywbs Are you interested in sending a PR for it?

I haven't checked how to fix this yet.


Inform users, that are using IE, that we do not support IE any longer. We would like to invite them back using a different browser.

Tested with ie9

Test result:
Test failed, IE 11 looks broken, but no message is displayed.

TODO: add ie11

Tested it in my Virtual Machine. IE 11 gets a banner now.


Fixed find panics on invalid root path.

Currently, if a non-existent root path is provided to find.Start it panics. This is an attempt to fix that.

Thank you for the PR, and sorry for such a late reply.
I think it is unnecessary, because do not happen panic if I give no-existense path to the command.
pt behivor like the following:
$ pt keyword invalid-path
lstat invalid-path: no such file or directory # do not happen panic...

Can you tell me to happen panic steps to reproduce ?


support using bluestore-rdr for RDR customers

If mirroring is enabled, then use bluestore-rdr store and allow migration of OSDs running on bluestore to bluestore-rdr
We always enable bluestore-rdr and yes-really-update-store. Rook takes care of migrating the OSDs and pauses migration if cluster is unhealthy. We don't need to remove yes-really-update-store flag, because if all OSDs are already migrated, then it will be no-op.

/cherry-pick release-4.14


This repo needs CODEOWNERS

Which problem is this feature request solving?
Explicit ownership of the project
Describe the solution you'd like
i think this should be owned by the NodeJS speciality and Pod B.
@ehmicky has been putting a lot of work in to maintain it already and it feels like this is pretty isolated from the rest of the larger edge handlers feature.
Describe alternatives you've considered
Pod D / Traffic & Delivery (@netlify/delivery) could own this, but we usually don't deal with the build-time and have no specific NodeJS experience.
Can you submit a pull request?
Yes

I like the idea of ownership being on Pod B, since this plugin is a core plugin used in buildbot, we'd want any changes to buildbot or to the cli reflected as soon as possible. So this makes the most sense!


Let the grid static as a square, moving just the image

new behavior, let the grid as a perfect square and move just the image.
Some apps have this behavior, like whatsApp for instance.

I also want behavior like WhatsApp, The current behavior feels weird.
Thank you 🥇
By the way -> Nice package with a good performance

+1

@valksandro did you try using aspectRatio: 1.0 / 1.0 ?
Crop(             key: cropKey,             image: FileImage(image),             aspectRatio: 1.0 / 1.0,           ),

Use the crop function as below and thus you can fix the cropping behaviour square / rectangle
Crop.file( _sampleImage,
   key: cropKey,
   aspectRatio: widget.cropType == "square" ? 1.0 : 4.0/3.0,
),

Does this really fix the issue?
Because you can still move and scale the mask, but now it's just a square.
I would prefer that you can only move the image in the background and not the scaling mask.

Hey Fellas
I figured a way to do it,
use a stack and put inside it a container with a thick border that basically overrides the grid , this way the image will only move and there's no way to move the grid or change its size because its overriden by a container
Here's the code
```

Stack(
  children: <Widget>[

  Container(
    constraints: BoxConstraints.expand(
      height:300 ,
      width: 300,
    ),
    child :
    Crop.file(_sample, key: cropKey,
      scale : 2.0,
      aspectRatio:2,
      maximumScale : 2.0,
      alwaysShowGrid : false,
    ),
 ),
    Container(
      margin: EdgeInsets.symmetric(vertical: 70.0),
      decoration: BoxDecoration(
          border: Border.all(color: Colors.blueAccent, width: 12),
        //
      ),
      constraints: BoxConstraints.expand(
        height:170 ,
        width: 300,
      ),

    ),

)

@mshenawy22 this solution is not working because, container at the top of stack makes Crop widget untouchable even though it is transparent. Working solution is using stack again but not with container add just two lines at the top of image and the bottom.
Here is the code;
Container(
      child: Stack(
        children: [
          AspectRatio(
            aspectRatio: 4 / 3,
            child: Crop.file(
              File(photos[0].path),
              key: singleCropKey,
              alwaysShowGrid: true,
              maximumScale: 4 / 3,
              aspectRatio: 4 / 3,
            ),
          ),
          Align(
            alignment: Alignment.topCenter,
            child: Container(
              width: double.infinity,
              height: 10,
              color: Colors.white,
            ),
          ),
          Align(
            alignment: Alignment.bottomCenter,
            child: Container(
              width: double.infinity,
              height: 10,
              color: Colors.white,
            ),
          ),
        ],
      ),
    )

@mshenawy22 this solution is not working because, container at the top of stack makes Crop widget untouchable even though it is transparent. Working solution is using stack again but not with container add just two lines at the top of image and the bottom.
Here is the code;
Container(
      child: Stack(
        children: [
          AspectRatio(
            aspectRatio: 4 / 3,
            child: Crop.file(
              File(photos[0].path),
              key: singleCropKey,
              alwaysShowGrid: true,
              maximumScale: 4 / 3,
              aspectRatio: 4 / 3,
            ),
          ),
          Align(
            alignment: Alignment.topCenter,
            child: Container(
              width: double.infinity,
              height: 10,
              color: Colors.white,
            ),
          ),
          Align(
            alignment: Alignment.bottomCenter,
            child: Container(
              width: double.infinity,
              height: 10,
              color: Colors.white,
            ),
          ),
        ],
      ),
    )


Contributing Wasserstein GAN

Paper: WGAN
Using code provided here for DCGAN as reference.
Dataset: CelebA dataset

@TrizteX can you please provide details regarding how you are going to go about it? Like what's it gonna be pretrained on, link to  paper that its based on etc?

resolved by PR #18