Upstream API documentation?

Hi there, thanks for publishing this code. Are you able to provide a reference to the documentation for the API that's being used? I can't find anything on Google or https://developer.nab.com.au/docs, so that leaves me a little unsure about the implications of running this code, particularly the use of what is presumably your API key 73189799-4b8e-4215-b6aa-5e39e89bf490:34c92e53-975a-4bfb-9221-c2f8ab449941. I'm interested in whether the transactions function can be extended to return more than just the most recent transactions.

This API was discovered by man-in-the-middling the UBank app around 5 years ago - it’s not publicly documented as far as I’m aware. I used it to automate fetching transaction data to for importing into accounting software.
You raise a good point about the key. At the time I assumed that was hardcoded in the app. It could possibly be a unique phone identifier also 😞
I suggest exploring the app’s traffic yourself. I’m there is a lot more functionality today, including paginated transaction history for example.

Great, thanks for getting back to me! I don't mind a bit of reverse engineering, as long as I'm not wasting my time in ignorance of published documentation that would save me the trouble.

No worries!
I think there is more value in documenting the API. The Python API is only a very thin wrapper around that. Happy to collaborate if you want.

My only concern is that it might annoy the bank. I wouldn't want them to feel that I was doing anything unauthorised or untoward by reverse engineering the API.
In the last few months legislation has been passed which I think has the effect of requiring all banks to implement https://consumerdatastandardsaustralia.github.io. Obviously it would make more sense to write a Python wrapper for this API rather than reverse engineering the UBank one, but at this stage I can't work out how to actually use it – it seems like it might be intended for third party financial service providers rather than direct use by customers. I'll let you know when I hear back from the people who run developer.nab.com.au.

Hi eidorb is there a way to do the same method with the nab website or app?

Yes, it's possible to intercept and decrypt app traffic with something like https://mitmproxy.org/. This was very effective 5 years ago.
These days, however, you will often find app developers using certificate pinning to prevent snooping on their API. This method "pins", or hard-codes, known server certificates in the app's code. When the app initiates a TLS connection, it checks the server's certificate. If the certificate is unexpected (when using mitmproxy), the app can choose to abort the connection.

Hi Eidorb is there an email i can contact you on?

Here's a little update if you're interested. I've been working on a new project and have reverse engineered the (modern) API endpoint again.
The following snippet might get you started.
import requests

username = ""
password = ""
x_nab_key = "73189799-4b8e-4215-b6aa-5e39e89bf490"

session = requests.Session()

# GET this URL to set session cookies.
session.get(
    url="https://www.ubank.com.au/content/dam/ubank/mobile/configIOS.json",
    headers={"x-nab-key": x_nab_key},
)

# Authenticate.
response = session.post(
    "https://www.ubank.com.au/v1/ubank/oauth/token",
    json={
        "client_id": "6937C7F1-F101-BCF1-9370-3FF02D27689E",
        "scope": "openid ubank:ekyc:manage ubank:statements:manage ubank:letters:manage ubank:payees:manage ubank:payment:manage ubank:account:eligibility cards:pin:create ubank:fraud:events",
        "username": username,
        "password": password,
        "grant_type": "password",
    },
    headers={"x-nab-key": x_nab_key},
)

# Extract access token, x-nab-id and x-nab-csid from response.
access_token = response.json()["access_token"]
x_nab_id = response.json()["x-nab-id"]
x_nab_csid = response.headers["csid"]

# Get account balances.
response = session.get(
    "https://www.ubank.com.au/v1/ubank/accounts",
    headers={
        "Authorization": access_token,
        "x-nab-key": x_nab_key,
        "x-nab-id": x_nab_id,
        "x-nab-csid": x_nab_csid,
    },
)

# The JSON accounts response has the following structure:
# {
#   "accounts": [
#     {
#       "productCode": "xxx",
#       "accountNumber": "xxx",
#       "productName": "USave",
#       "productType": "xxx",
#       "nickname": "xxx",
#       "availableBalance": "xxx",
#       "currentBalance": "xxx",
#       "ownership": "xxx",
#       "visible": true,
#       "status": "xxx",
#       "isEligibleForBonusRate": true,
#       "bonusRate": "xxx",
#       "accountOpeningDate": "xxx",
#       "id": "xxx",
#       "entireAccountId": "xxx",
#       "legacyToken": "xxx"
#     },
#     {
#       "productCode": "xxx",
#       "accountNumber": "xxx",
#       "productName": "USpend",
#       "productType": "xxx",
#       "nickname": "xxx",
#       "availableBalance": "xxx",
#       "currentBalance": "xxx",
#       "ownership": "xxx",
#       "visible": true,
#       "status": "xxx",
#       "isEligibleForBonusRate": false,
#       "bonusRate": "xxx",
#       "accountOpeningDate": "xxx",
#       "linkedUsaverAccount": {
#         "accountNumber": "xxx",
#         "id": "xxx",
#         "legacyToken": "xxx"
#       },
#       "id": "xxx",
#       "entireAccountId": "xxx",
#       "legacyToken": "xxx"
#     }
#   ]
# }


Allow running cargo add foo when a foo.workspace = true already exists

Tracking issue: #8415
RFC: rust-lang/rfcs#2906
Part 1: #10497
Part 2: #10517
Part 3: #10538
Part 4: #10548
Part 5: #10563
Part 6: #10564
Part 7: #10565
Part 8: #10568
Part 0: #10584
This is currently a draft
This PR focuses on adding initial support to allow running cargo add foo when a foo.workspace = true already exists.
Changes:

Added WorkspaceSource to allow for foo.workspace = true
Added MaybeWorkspace to allow returning a WorkspaceSource when trying to query for a dependency or trying to get a SourceId for that query.

Remaining implementation work for the RFC

cargo-add support, see epage's comment
Optimizations as needed

r? @epage

I accidentally had my commits from an earlier branch that hadn't been merged under this one. It should be fixed now.

Closing as #10606 includes this commit


[Feature] 1.20 compatibility

Pre-Request Checklist

[x] I have checked that I am on the latest version of Terra.
[x] I have searched github for similar features requests, including closed
ones, and found none.
[x] I believe this is within the scope of Terra.
[x] This feature request is for all of Terra, and isn't something that
should be implemented by a pack or addon.

Feature Description

Terra should be compatible with the current 1.20.1
What Problem Does This Solve?

Terra could be used on current generation servers.
A Solution You'd Like

Update of Terra to run in 1.20.1

Development is done on https://github.com/PolyhedralDev/Terra/tree/dev/1.20.1, merging of this branch is pending on https://github.com/PolyhedralDev/TerraOverworldConfig/pull/149 being finished and merged.

Oh, thanks for the information!
It would be great if you could bring a release to spigot :)


CORS Issue when UI not able to download JS Bundle for Spfx webpart.[Chrome/IE/Firefox]

Category

[x] Bug

Describe the bug

After Deploying .sppkg file to the Appstore, When UI  trying to get bundle its getting blocked [CoRS error]-

Steps to reproduce

Deploy your package to SharePoint App store and try in any major browser such as Chrome and Firefox.
Error:

Environment details (development & target environment)

Your Developer Environment: [e.g. Windows 10 | MacOS 10.15.x]
Target Environment: [e.g.  SharePoint Online]
Framework: [e.g. .NET Framework v3.x | .NET Core v3.x | Node.js v10]
Browser(s): [e.g. Chrome v854 | FireFox v31 | IE v11 ]
Tooling: [e.g. VS Code | SPFx 1.11]
Additional details: The more context you can provide, the easier it is (and therefore quicker) to help.

Additional context
FYI I  already tried this but no luck.

https://github.com/SharePoint/sp-dev-docs/issues/3871

Seems like The UI request for .js Bundle is blocked out. even before any http calls like Get etc happends.

Thanks for your contribution! Sharing is caring.

@AnkitSDesai - can you provide details on the sppkg file content and the settings. Is the assets served from the Office 365 CDN and what are the configurations there? - Looking on the picture you provided, you might be trying to load assets from a different tenant, which will not work due the CORS policy, but would need to know the settings more...
Or if you can share the package details, we can have a look on that directly from the store.

Thanks @VesaJuvonen   for looking into this.
Yes the asset is served from the same tenant from O365 CDN.
Observation:
1-When we created app store at the first place, it created(or recommended in dropdown)  as following URL.
https://***-portal1.sharepoint.com/   (Generally I haven't see this behavior in my personal or other tenants but this tenant)
while expected behavior should be  https://companydomain.sharepoint.com/sites/app
2-Just an FYI the same .sppkg(Webparts) works fine with other tenants with no issues or any kinds of CORS blocking from the same tenant.
above point 2 suggest that there might be something tenant specific going on. I shall further share CDN settings in case required once I get from global admin.
Question: Do you recommend recreating App- catalog again. by deleting current one.
Thanks!

ah - this is terminology thing. I though that with app store you were referring to actual Microsoft owned store, but it was the app catalog. Seems that this specific tenant has then some strange setup as it's not supported to have app catalog in different URL than the rest of the tenant... which will cause the CORS issue.
I would re-create the app catalog if possible - which I don't think is possible from the UX - BUT - you can actually use SPO PowerShell to do this with following setup:
New-SPOSite -Url https://yourtenant.sharepoint.com/sites/apps -Owner<EMAIL_ADDRESS>-Template APPCATALOG#0 -StorageQuota 0
This will reset the app catalog configuration to new URL. Can you test it and confirm that things are fixed. Thanks.

@VesaJuvonen  the solution worked! what we endedup doing is deleting the current app catalog and creating brand new from the UI itself since PowerShell was giving a trouble.
Thank you this issue can be closed.

Excellent - thanks for confirming the situation @AnkitSDesai. We'll close up this issue then.


Added documentation for Rust runtime

Description

Adding the following to complete the documentation for rust runtime:

[x] Add actions-rust.md
[ ] Update js action section with rust:1.34
[ ] https://github.com/apache/incubator-openwhisk-website/blob/master/_layouts/documentation.html
[ ] https://github.com/apache/incubator-openwhisk-website/tree/master/_includes/code

Related issue and scope

#4443
My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[x] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[ ] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[x] I updated the documentation where necessary.

Codecov Report

Merging #4825 into master will decrease coverage by 6.74%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4825      +/-   ##
==========================================
- Coverage   85.03%   78.28%   -6.75%
==========================================
  Files         197      197
  Lines        8879     8879
  Branches      607      607
==========================================
- Hits         7550     6951     -599
- Misses       1329     1928     +599

Impacted Files
Coverage Δ

...core/database/cosmosdb/RxObservableImplicits.scala
0% <0%> (-100%)
:arrow_down:

...enwhisk/connector/kafka/KamonMetricsReporter.scala
0% <0%> (-100%)
:arrow_down:

...e/database/cosmosdb/cache/ChangeFeedConsumer.scala
0% <0%> (-100%)
:arrow_down:

...ore/database/cosmosdb/cache/CacheInvalidator.scala
0% <0%> (-100%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0% <0%> (-96.23%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0% <0%> (-93.85%)
:arrow_down:

...tabase/cosmosdb/cache/CacheInvalidatorConfig.scala
0% <0%> (-92.31%)
:arrow_down:

...e/database/cosmosdb/cache/KafkaEventProducer.scala
0% <0%> (-77.78%)
:arrow_down:

...whisk/core/database/cosmosdb/CosmosDBSupport.scala
0% <0%> (-74.08%)
:arrow_down:

...abase/cosmosdb/CosmosDBArtifactStoreProvider.scala
7.69% <0%> (-50%)
:arrow_down:

... and 11 more

Continue to review full report at Codecov.

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

@drholmie when we receive notice from the Apache secretary that your CLA is in receipt, one of the committers will merge this PR.

Awesome! Thank you both for reviewing and approving this :)
Will work on the other parts of documentation soon and will submit that as well.


ER-12 not supported

Ran script on ER-12 and received following. Can this script be updated to support ER-12, 12P.
I added a line for e320=e300, and it seemed to work just fine.
xxx@xxx:/config/scripts/post-config.d$ ./wireguard.sh help Unsupported board e302, aborting.

Thanks for reporting @Danabw! It's been tough trying to find all board revisions. I'd be happy to accept a PR if you care to submit one or I can add them if you can clarify if it's just e302 or both e302 and e320?

Hi, thanks for the response.
Apologies, but I can only confirm ER12 = e302 as that's the router I own/use.  I'm afraid I don't have any other information on board revisions.
Wish I could be of more help. I'm an occassional user of GitHub and have never done a PR, so probably better that I don't do something where I might mess things up.    :)

No need to apologize, I appreciate you confirming the one. And I don’t think you’d mess anything up, so if you’re feeling adventurous I’d be more than happy to accept your first PR 😊! But truly, no pressure!

I went ahead and added this now, thanks again for reporting!


Packagist internal error: Can't generate a version color for undefined

https://sentry.io/organizations/shields/issues/1109294293/?referrer=github_plugin
Error: Error: Can't generate a version color for undefined
  File "/home/m/shields/core/server/log.js", line 40, in Function.error
    Raven.captureException(msg, sendErr => {
  File "/home/m/shields/core/base-service/base.js", line 298, in PackagistVersion._handleError
    log.error(error)
  File "/home/m/shields/core/base-service/base.js", line 386, in Function.invoke
    serviceData = serviceInstance._handleError(serviceError)
...
(1 additional frame(s) were not displayed)

Error: Error: Can't generate a version color for undefined

This is generating an "internal error" badge. The stack trace is obscure and I'm not sure exactly why that is. On Sentry, the additional stack frame looks like this:

There's also this error:

As of now, this has occurred 844 times in the last two days.

This is probably the same error as #3684.

I'm not sure the schema forbids an empty versions object.

We may still end up with an empty versions list even though the schema forbids it. Indeed, there is a filter in the PackagistVersion implementation:
versions.filter(version => !/^dev-/.test(version))
The filter is probably still relevant, it was introduced many years ago following this discussion. If my understanding is correct, they aren't released versions, they just correspond to branches on a repository, hence the "dev" prefix.
I think a potential fix here is to check if any versions are left in the list before rendering the badge, and if not display something along the lines of no released versions found to the user instead.
I'll submit a PR for this. Given that we don't have much information on what caused this problem, there's no guarantee it will fix all the errors, however it still seems like a sensible check to do.

@paulmelnikow are there still any errors reported on Sentry about this?

I can't tell. Something really strange is going on with Sentry.
When I click on that error, I'm seeing the same stack trace (unsurprising) but a totally different message, "Error: Token pool is exhausted."
It seems like Sentry has started mixing all our errors together.
Some ideas on fixes:

Migrating to the newer Sentry SDK (#3708)
Dropping use of domain
Upgrading to Node 12

@paulmelnikow that's annoying. I've started by reviewing the linked PR. 😉

I guess this is only affecting the Shields internal errors that bubble through our own error handling. These are the ones we started monitoring just recently, in #3706.

#3762 didn't seem to have an effect on this issue, however I did figure out how to see individual events (i.e. a single time the error happened). Here I can see the message that corresponds to each, though still not the full stack trace.
So, I can confirm this particular Packagist error is gone, though I'm getting a new one.

Okay, feel free to open another issue when you've got more info about this other error!

Thought I had, but I guess I didn't click the button! #3767


[MCC-1058568] Remove werkzeug Presumption from WSGI Middleware

MCC-1058568

@mdsol/platform-scalability

@masongup-mdsol yea, that is actually a big chunk of tech debt for this client.. it basically runs the protocol suite against the sign/verify code but not any of the provided middlewares.  Then the middleware tests just stub out the sign/verify code.  I think the Ruby client does similar things.


v2.0 installalation doesn't quite end at the end.

My installation got stuck at the very end on my Raspberry Pi 4-8gb. I had to ctrl+z to get out of it.
Settings:
-pf=true
-wireguard
-pick your own server
-force PIA dns=no
Tried it a second time and same thing, gets stuck at the end though I think it creates the new PIA wireguard connection.
Trying to bind the port... OK!
Forwarded port	28659
Refreshed on	Tue Jan 26 00:57:44 EST 2021
Expires on	Mon Mar 29 13:46:29 EDT 2021
l
^Z
[1]  + 17583 suspended  sudo ./run_setup.sh

Your device is already connected (scroll up to see the log). Port forwarding needs to get refreshed every 15 minutes (as described in the comments in the script). I will add another echo to the log so that it is clear why the script has to keep running for PF to work.

Your device is already connected (scroll up to see the log). Port forwarding needs to get refreshed every 15 minutes (as described in the comments in the script). I will add another echo to the log so that it is clear why the script has to keep running for PF to work.

Fixed via https://github.com/pia-foss/manual-connections/pull/88

Fixed via https://github.com/pia-foss/manual-connections/pull/88


Send alerting to 0.0.9 clients

When the activation transactions are broadcast, we should also broadcast an 'old format' message to notify 0.0.9 clients of the upcoming features.
Note this will cause 0.0.9 clients without the -overrideforcedshutdown parameter to shut themselves down once the new features go live and they're thus out of consensus.

Agreed. We should probably prepare them in advance to be ready.
There is one scenario I'm afraid of: let's assume the feature activation goes south for any reason, and we have to overwrite the activations and delay them, then the old alerts are still out. It's not necessary a bad thing, since users should upgrade anyway.
The alert should be sent after the activations confirmed, to avoid we miss the signing window and it ends up to be a false alarm.
Currently our window is 1167 blocks until the 2 weeks grace period kicks in, which is roughly 5-8 days.

Agreed. We should probably prepare them in advance to be ready.
There is one scenario I'm afraid of: let's assume the feature activation goes south for any reason, and we have to overwrite the activations and delay them, then the old alerts are still out. It's not necessary a bad thing, since users should upgrade anyway.
The alert should be sent after the activations confirmed, to avoid we miss the signing window and it ends up to be a false alarm.
Currently our window is 1167 blocks until the 2 weeks grace period kicks in, which is roughly 5-8 days.

Only 2034 blocks left until the activation of feature id 4, and 2534 blocks left for the others.
I think we should a) post to the mailing list, b) ideally publish a blog post, c) probably start with the alerts. What do you think?

You sent me the following payload:
ffffffff343a3339343530303a343a303a4d617374657220436f726520302e302e3920697320646570726563617465642c20706c65617365207570677261646520746f204f6d6e6920436f726520302e302e31302e7820617420646f776e6c6f61642e6f6d6e696c617965722e6f72672e20205468697320636c69656e742077696c6c206e6f206c6f6e67657220626520757361626c6520616674657220626c6f636b203339343530302e00

... which translates to:
version: 65535 (alert)
type: 65535 (alert)
text: 4:394500:4:0:Master Core 0.0.9 is deprecated, please upgrade to Omni Core 0.0.10.x at download.omnilayer.org.  This client will no longer be usable after block 394500.

... further broken down:
alert type: 4 (check transaction support)
expiry value: 394500 (block height)
type check: 4 (transaction type)
version check: 0 (transaction version)

Looks good to me!

Done:
ffee7a9026a22173a53edc8680e26570e971ffae7c2aa173d26f41648e579946


KAFKA-8640: Replace OffsetFetch request with automated protocol

As title.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

retest this please

@hachikuji Addressed comments

retest this please

Flakey test GroupEndToEndAuthorizationTest#testNoDescribeProduceOrConsumeWithoutTopicDescribeAcl

retest this please

1/3 green
retest this please

retest this please

retest this please

Mark that we already got 3/3 green builds.

Jason mentioned system test builds are both passing:
https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2841/
https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2842/


Custom Character models

Since, we can only make custom boards right now with the PartyPlanner. It would be nice to add support for editing character models in the game.

How feasible is this nearly two years later? Can this be done manually?


Don't try to install kustomize if it already exists

Signed-off-by: Gabe Alford<EMAIL_ADDRESS>
Description of the change:
If kustomize already exists, do not try to download it.
Motivation for the change:
Currently when running make deploy, make will error when trying to download kustomize even though it is already installed.
Checklist
If the pull request includes user-facing changes, extra documentation is required:

[ ] Add a new changelog fragment in changelog/fragments (see changelog/fragments/00-template.yaml)
[ ] Add or update relevant sections of the docs website in website/content/en/docs

Closing as this looks to be a problem that needs to be fixed first in the kustomize project first.


Problem with video and GIFs

I have some issues with the magazine I am creating in android.The problems are videos and GIFs. The videos are html5 and there are on autoplay. They start playing from the previous page and they do not stop after turning to the next page.They stop only after I turn 2 pages.The GIFs just play for one second and then pause.  Any suggestions? Please Help!

I have seen that video behaviour. Since the we keep three pages in memory it will stop only after you turn 2 pages. There is a simple solution though, add a javascript listener to the window so when it looses the focus it stop the video.
Here is an example using jquery:
//Should pause the videos if the page looses the focus
    window.addEventListener("blur", function() {
        jQuery("video").each(function() {
            var vid = jQuery(this);
            if (!vid[0].paused) {
                vid[0].pause();
            }
        });
    }, true);

ok i will test it

ok it worked. thanks :)

Nice, sorry I can't help with the GIF I actually haven't seen that issue, but I let you know if I find something.

i tried a single  GIF in one page and it worked fine.I guess  the problem is that I have too many GIFs in one page and that causing them to stop.Thank you again.If i find solution i will post it

I find a solution with the GIFs . I Converted  them into html5 video.It is smaller from GIFs and I play without problem.There are many online tools for it.

Thats great news .. Thanks for posting.


markdown styles tweaked

This is a new version of markdown less stylesheet inspired on github markdown styles.
I have enabled back the following blackfriday extension as it is with that extension enabled that the markdown looks the same than in github.
extensions |= blackfriday.EXTENSION_HARD_LINE_BREAK

I have not seen why it has been disabled. I can see the commit but I'm unable to find the reason.
This PR includes that change, the new markdown.less file and the resulting gogs.css file after compiling gogs.less. It includes markdown.less compiled into markdown.css too because in the issue pages head_old.tmpl is still used.
Should solve https://github.com/gogits/gogs/issues/1415 https://github.com/gogits/gogs/issues/1416
This PR makes https://github.com/gogits/gogs/pull/1421 pull request unnecesary. And https://github.com/gogits/gogs/pull/1418 pull request becomes unnecesary too. It has been already merged but there is no need to remove it. This pull request just overrides https://github.com/gogits/gogs/pull/1418.
PR https://github.com/gogits/gogs/pull/1421 can be closed and PR https://github.com/gogits/gogs/pull/1418 can be ignored.

I have uploaded a sample Readme.md markdown file to a repo in try.gogs.io that you can download to try the new styles.
https://try.gogs.io/manfer/MarkDownSample

Thanks a lot!


Abstraction for "equation" for performance, code clarity, memory footprint reduction, and powerful user interface

I'm thinking about the future and hoping to start a discussion about the future of our equation abstraction system.
The problem
We need an abstraction for the concept of an equation, so that we can make the model as performant and lightweight as possible for a given use case. For example, I think we should require that

The memory footprint of our model is no larger than it needs to be for a given problem (no 'extra' allocation of memory for unused tracers, for hydrostatic pressure when running in non hydrostatic mode, etc).

We do not perform unnecessary floating-point computations or indexing into arrays (the latter is especially important in GPU code) for unused tracers or hydrostatic pressure fields.

Equations are constructed / specified clearly and concisely (both in source code and user scripts).

Users can specify arbitrary types of forcing, including numbers, arrays, or functions (solving #110).

We can support arbitrary tracers with various features, such as sinking/rising velocities, or reaction systems for biological/chemical tracer systems.

When I have talked to various people about this, there was a concern that this system would be 'inelegant' or 'complex'. However I believe an equation abstraction system provides the opposite: with an abstraction system, equations are 'written down' in some logical place (like a file equations.jl in the src directory where they can be easily read and modified, rather than buried inside a time-stepping loop. Correspondly, our time-stepping code becomes shorter and more concise. Using multiple dispatch correctly, we avoid the infinite if-statement problem. This abstraction may also make the code more modular such that we move closer to supporting multiple time-steppers.
Below I provide one example of an implementation that would solve some of the problems I listed. However, this is not the only solution, and I think we should expend some intellectual effort and have a discussion about what the best solution might be, so that we design something that is nice, easy to extend, performant, and powerful.
A list of kernel equations in a named tuple
The simplest solution for this abstraction is probably just to add new fields to Model (model.equations.velocities and model.equations.tracers) that are named tuples of kernel equations. An example of how this might work while demonstrating hierarchical multiple dispatch is:
forcing(i, j, k, grid, F::Function, u, v, w, T, S) = F(grid, u, v, w, T, S, i, j, k)
forcing(i, j, k, grid, F::AbstractArray, u, v, w, T, S) = F[i, j, k]

u_eqn(i, j, k, grid, etc...) = (-u∇u(grid, u, v, w, i, j, k)
    + fv(grid, v, fCor, i, j, k)
    - δx_c2f(grid, pHY′, i, j, k) / (Δx * ρ₀)
    + ∂ⱼ_2ν_Σ₁ⱼ(i, j, k, grid, closure, eos, grav, u, v, w, T, S)
    + forcing(i, j, k, grid, F, u, v, w, T, S)
)

# Note omission of pressure term here
u_eqn(i, j, k, grid, pHY::Nothing, etc...) = (-u∇u(grid, u, v, w, i, j, k)
    + fv(grid, v, fCor, i, j, k)
    + ∂ⱼ_2ν_Σ₁ⱼ(i, j, k, grid, closure, eos, grav, u, v, w, T, S)
    + forcing(i, j, k, grid, F, u, v, w T, S)
)

linear_u_eqn(i, j, k, grid, etc....) =  (fv(grid, v, fCor, i, j, k)
    - δx_c2f(grid, pHY′, i, j, k) / (Δx * ρ₀)
    + ∂ⱼ_2ν_Σ₁ⱼ(i, j, k, grid, closure, eos, grav, u, v, w, T, S)
    + forcing(i, j, k, grid, F, u, v, w T, S)
)

v_eqn(...) = ...

# in the model constructor:

if eqntype = :linear
    velocities_equation = (u=linear_u_eqn, v=linear_v_eqn, w=linear_w_eqn)
else
    velocities_equation = (u=u_eqn, v=v_eqn, w=w_eqn)
end

model.equation = (velocities=velocities_equation, tracers=...)

# Inside calculate_interior_source_terms!

G.u[i, j, k] = eqn.velocities.u(i, j, k, grid, etc...)

ntuple(Val(length(tracers))) do tr
    Gtracer = getfield(G, keys(tracers)[tr])
    tracer_equation = eqn.tracers[tr]
    Gtracer[i, j, k] = tracer_equation(i, j, k, grid, etc...)
end

Equations as new types
Even more flexibility / clarity might be provided by a callable Equation type implementation with appropriate type parameters (Linear, Hydrostatic, etc) which would avoid the need for if statements as on the last line of the code above. I'm not sure exactly what that would look like. The design problem for a new Equation type does seem a bit more difficult and would require care --- thinking about how we would implement a nonlinear biological model might provide a nice use case to help use make our ideas concrete.
Hopefully this provides food for thought and also motivates us to think carefully about our design decisions.

A simpler (but less general) solution than what is proposed above is simply to introduce a new struct:
struct BoussinesqEquations{A, B, C, D, F, P} <: AbstractEquation
    advection :: A
    buoyancy :: B
    coriolis :: C
    diffusivity :: D
    forcing :: F
    pressure :: P
end

This will reduce the number of fields in Model. We can also implement new equations 'types' that dispatch to different solvers if need be. This may also dramatically clean up the time-stepping functionality since we can pass eq::Equation in bulk rather than each parameter struct individually.
Less general than a tuple of tendency kernels, but probably sufficient for anything we want to do in the forseeable future.
We can then have a function eg required_halo_size(eq::AbstractEquation) that calculates the halo size according to the maximum halo size required by each of its 'terms'.
Could also have an independent struct for tracer equations (or tuple of structs for each tracer).
By the way, the more I think about it, the more I think that 'closure' should actually be called 'diffusivity', for clarity...
cc @ali-ramadhan

I like this idea, it would definitely work towards having an equations abstraction. Although I might be wary of doing this while we only support one equation set. Might make sense to consider an AbstractEquation type once we have e.g. BoussinesqEquations and CompressibleNavierStokesEquations to make sure the abstraction generalizes well beyond just the Boussinesq equations?

Yesterday, @ali-ramadhan and I discussed a new idea for improving the abstraction of equations.
The idea is to abstract a RightHandSide consisting of a tuple of Fluxes and VolumeTerms or SourceTerms.
Each Flux or VolumeTerm type would define a getindex method, and carry around the references needed to execute that getindex method on CPU or GPU.
This would greatly simplify the time-stepping routines, which currently involve long function signatures. There'd be no need for 'unpacking', because each term in the equation would perform unpacking upon instantiation. It would also probably be easier for users to extend / add terms to an equation.
As an example, we can consider a simple implementation
struct AdvectiveFlux{S, D, C, G}
    u :: D
    v :: D
    w :: D
    c :: C
    grid :: G
    scheme :: S
end

getindex(adv::AdvectiveFlux{Centered}, i, j, k) = # centered advective flux calculation

struct IsotropicDiffusiveFlux{N, D, G}
    ν :: N
    ψ :: D
    grid :: G
end

getindex(diff::IsotropicDiffusiveFlux, i, j, k) = # calculates flux due to isotropic diffusion by ν

struct RightHandSide{F, V}
    fluxes :: F
    volume_terms :: V
end

advection = AdvectiveFlux(velocities..., tracers.c)
diffusion = IsotropicDiffusiveFlux(ν, tracers.c)

tracer_rhs = RightHandSide((advection, diffusion), nothing)

We'd have functions that look something like
function x_flux_divergence(i, j, k, grid, fluxes...)
    incoming_flux = add_fluxes(i, j, k, grid, fluxes...)
    outgoing_flux = add_fluxes(i+1, j, k, grid, fluxes...)
    return (incoming_flux - outgoing_flux) * grid.Ax / grid.V
end

... for example. Obviously questions of performance are paramount, though in the case that everything is inlined I think there is hope.
A downside of this approach is that we can't use shared memory stencils on the GPU. Shared memory stencils on the GPU require functions for all terms that avoid carrying around internal references to data (since we need to be able to pass them references to shared memory blocks, rather than references to global memory.
This is a fair rewrite of the code internals. For example, each term in the u_velocity_tendency:
https://github.com/climate-machine/Oceananigans.jl/blob/8e3c27504be68ca06bacc7502cd6095ae390f8c6/src/TimeSteppers/velocity_and_tracer_tendencies.jl#L24
would get it's own type.
It's worth brainstorming ways to implement such abstraction incrementally so we might avoid possibly time-consuming total-code-demolishment. This is mostly food for thought at this point. I don't think we should take action without substantial consideration.

I don't think we want this anymore: we currently use IncompressibleModel as a flat container for both equation specification and numerical methods specification. Flat is nice.


__type metamethod is not invoked when calling typeof on Luau userdatas

According to the docs, if I call typeof on this userdata...
local obj = newproxy(true)
local mt = getmetatable(obj)

mt.__type = "foo"

...it should return foo, however, it still returns userdata

This is by design (for now at least) but the docs don't clarify that this is only true for host-exposed tagged userdatas. We need to fix the docs to make that clear.


MNT Split behat jobs

Issue https://github.com/silverstripe/.github/issues/278
--prefer-lowest unit test failure is existing

I looked at the total run time of the endtoend job in github actions for each module. If it was over 10 minutes then I'd split look to split it so the total run time should be roughly 8 minutes or so e.g. a 24 minute run time would get split to 3x jobs
Elemental was something like 55 minutes so I split it 6 ways
I split things by simply dividing the total number of features files by the number of jobs I wanted, e.g. if I was going to split into 3 jobs, and there were 14 feature file, then the first 5 would be job1, the next 5 job2, and the last 4 job3
I don't expect things to be perfect even, some jobs are likely to still be over 10 minutes because they have a couple of very long running feature files. We can make fine adjustments later on if needed

Most of the jobs are around 5 mins, but job 3 is around 13 mins - up to you if you want to rebalance that. If you don't, just say so and I'll merge as-is (assuming that last one that's running right now goes green)

Have tried to rebalance, we'll see how it goes

Have rebalanced - not that the PHP 8.3 / MySQL 8.0 jobs are probably actual legit failures, not sure why they've only cropped up now
Another note - this targets 5.2, while theres about another 200 steps in 5, so we'll need to rebalance this again after merge up, probably wait until after https://github.com/silverstripe/silverstripe-elemental/issues/1215 is all merged before doing that

Running CI on 5.2 to see if those failures happen there: https://github.com/silverstripe/silverstripe-elemental/actions/runs/9998847588

That CI run passes behat... so not sure what's causing the failures, but it's new to this PR.

Looks like an auto-increment issue with mysql8 - should be fixed with this PR https://github.com/silverstripe/silverstripe-framework/pull/11309


Add support for tracking measurements

This PR will allow users to record events using the Google Analytics plugin, for tracking user interactions.
A new component, Measurements, is now added and can be used to either fire off an event immediately, or via interacting with an element on the page through the data-track-event attribute.

Measurement class is empty, what's the status of this PR?


Open files in the navigation tree with ENTER too (Related to #27)

Although this is only a small change. I thought this a great way to improve the navigation through the jar.
And I would like to thank you for this great project. Switching between Bytecode and source code is so easy.

The pull looks good. Its hard to anticipate all of the keybindings and shortcuts in a gui, however I think for the most part I've got most of them. Luyten was originally a part of a suite called checkit which was used to navigate, examine, hash, and verify bukkit plugins. I'm glad this project has been helpful for you.


nesting groups inside groups

Hi,
Is it possible to nest groups inside groups?
Thanks

This is not currently possible out of the box. Supporting this would be very complex. What use case do you have in mind?
You can make a group a member of another group. But this does not affect group membership.

I need to develop an app in hierarchical groups (School > Department > Class)

I would recommend using an excellent gem such as Closure Tree to store the hierarchy. And then add some business logic in your application that adds the user to the parent groups when they are added to a group. (And removes them from the parent groups when they are removed.)

Thanks!

@eyalrosen I'm curious to know what your solution was. It's a common question and it would be great to document solutions in the readme.

still checking it out, I'll keep you updated :)

@eyalrosen Did you ever find a solution to your issue?  I'm interested in the same functionality.


[ASK] Questions about the construction of user history

Hi, I'm a little confuseds about how to load MIND data.
Description
When initializing user behavior, the code in MINDIterator/MINDAllIterator is like this :
history = [0] * (self.his_size - len(history)) + history[ : self.his_size ]
Padding 0 to the head of the list when the history is insufficient should mean that the News in history are arranged according to time. (The later the position, the newer the time)  On the other hand, the first his_size elements are selected in the code.
Solution
Would it be more reasonable to select the latest his_size elements like this to represent the user status?
history = [0] * (self.his_size - len(history)) + history[ -self.his_size : ]
Other Comments
Specific location link :
https://github.com/microsoft/recommenders/blob/66e4b6b2220bae6bb97947e1bbe7c5d97cbec979/reco_utils/recommender/newsrec/io/mind_iterator.py#L117
https://github.com/microsoft/recommenders/blob/66e4b6b2220bae6bb97947e1bbe7c5d97cbec979/reco_utils/recommender/newsrec/io/mind_all_iterator.py#L143

Same confusion here. @yjw1029 Could you please have some words on this?
cc @miguelgfierro

Seems like an issue in the previous implementation. Modifying to history[ -self.his_size : ]would be more reasonable. Will open a PR later to fix this issue.

This is the result when using the solution:
>>> history = [1, 2, 3, 4, 5, 6]
>>> history[-3:]
[4, 5, 6]
>>> history[:3]
[1, 2, 3]
>>> his_size = 10
>>> [0] * (his_size - len(history)) + history[: his_size]
[0, 0, 0, 0, 1, 2, 3, 4, 5, 6]
>>> [0] * (his_size - len(history)) + history[-his_size:]
[0, 0, 0, 0, 1, 2, 3, 4, 5, 6]
>>> his_size = 4
>>> [0] * (his_size - len(history)) + history[: his_size]
[1, 2, 3, 4]
>>> [0] * (his_size - len(history)) + history[-his_size:]
[3, 4, 5, 6]


feat: Cohere retriable strategy and defaults

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#142  👈
#141
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tazarov and the rest of your teammates on  Graphite

Merge activity

Jul 29, 7:02 AM EDT: @tazarov started a stack merge that includes this pull request via Graphite.


v.timeRangeStart should be a timestamp like v.timeRangeStop

as a user, i would like to use v.timeRangeStart in date functions with my query. The issue is that v.timeRangeStart is a duration when choosing a pre-configured time range (15m, 1h, etc) in the UI.

Which date functions would you like to pass v.timeRangeStart to?

mainly date.truncate, experimental.subDuration, experimental.addDuration

Ah, so the functions in the flux date package all take a time value as input (not a duration). As it stands right now, passing a duration to any of these functions will result in a type error. To solve this, we'll need to update the signatures of those functions to take a generic "Timeable" value https://github.com/influxdata/flux/issues/220.

@russorat An alternative solution to this problem is to set the v.timeRangeStart to now() - 5s instead of just -5s. This way the type of v.timeRangeStart is always a time value and so can be used as such in any context, not just for the function that we make polymorphic for Timeable values.
I still think Timeable is a valuable addition and it will complement well the change to make v.timeRangeStart and friends always a time value.

That is probably a much better idea. thank you!

I ran into this too. I like have both variables defined at unix timestamps and always the same datatype (time).

I ran into this closed issue: https://github.com/influxdata/flux/issues/1334
I'd like to have v.timeRangeStart and friends also work with generate.from.


Update unittest to run with older pytest

Compat with newer versions is still ok.
The @staticmethod had to me removed, at least ONE person on stackoverflow
known it was causing test detection issue in older version, see:
https://stackoverflow.com/a/20277099

I'm don't think this is necessary, since torch-summary should be actively developed using Python 3.7 and then backported as a last step. On my local version pytest works fine on Python 3.5.6, so I don't see a necessary reason to make this change.
Instead, I recommend upgrading pytest and Python in order to make changes to this project! I can add requirements-dev.txt files or Pipfiles if that makes installing easier.

Well, it's not about development but production. I packaged your library as a Debian package and it has to run on Debian old-stable, with Python 3.5.
I'm feeling better when I see unittest running and succeeding while building than assuming that it might work.

Ah, I understand. In that case, this looks good to merge.


Upgradescript

Creating this PR for visibility.
This branch provides

tests use golang-migrate/migrate to set up
Docker container that uses SQL persistence out-of-the-box

If you go inside sqldocker, you can run:
docker build --no-cache . -t ubercadence/server:mysqlpersistence
docker-compose up

This Docker image pulls cadence from the helloworld branch of uber-qlam/cadence.

abandoning


fix #3860:Spring+feign中借助FastJsonHttpMessageConverter来使用FastJson，遇到泛型仍会出现fullgc问题

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Keys_fix not defined

When I run your start up tutorial I get.
Traceback (most recent call last):   File "test.py", line 19, in <module> print(User.all())   File "/Library/Python/2.7/site-packages/orator/orm/model.py", line 544, in all     instance = cls()   File "/Library/Python/2.7/site-packages/orator/orm/model.py", line 121, in __init__     self._boot_if_not_booted()   File "/Library/Python/2.7/site-packages/orator/orm/model.py", line 148, in _boot_if_not_booted     klass._boot()   File "/Library/Python/2.7/site-packages/orator/orm/model.py", line 167, in _boot     cls._boot_columns()   File "/Library/Python/2.7/site-packages/orator/orm/model.py", line 171, in _boot_columns     connection = cls.resolve_connection()   File "/Library/Python/2.7/site-packages/orator/orm/model.py", line 2758, in resolve_connection     return cls.__resolver.connection(connection)   File "/Library/Python/2.7/site-packages/orator/database_manager.py", line 43, in connection     connection = self._make_connection(name)   File "/Library/Python/2.7/site-packages/orator/database_manager.py", line 129, in _make_connection     return self._factory.make(config, name)   File "/Library/Python/2.7/site-packages/orator/connectors/connection_factory.py", line 36, in make     return self._create_single_connection(config)   File "/Library/Python/2.7/site-packages/orator/connectors/connection_factory.py", line 39, in _create_single_connection     conn = self.create_connector(config).connect(config)   File "/Library/Python/2.7/site-packages/orator/connectors/mysql_connector.py", line 31, in connect     for key, value in keys_fix.items(): NameError: global name 'keys_fix' is not defined
Seems like I'm following it correctly. Sorry if this is more tech support than an issue but I couldn't find any similar errors online elsewhere.

This error shoud only occur when you do not have a package for MySQL installed (either mysqlclient or pymysql). Try installing one one them.

My apologies it said so right in the getting started docs.
I'm getting this now.
Traceback (most recent call last):   File "test.py", line 21, in <module>     users = Pitchlist.all()   File "/usr/local/lib/python2.7/dist-packages/orator/orm/model.py", line 544, in all     instance = cls()   File "/usr/local/lib/python2.7/dist-packages/orator/orm/model.py", line 121, in __init__     self._boot_if_not_booted()   File "/usr/local/lib/python2.7/dist-packages/orator/orm/model.py", line 148, in _boot_if_not_booted     klass._boot()   File "/usr/local/lib/python2.7/dist-packages/orator/orm/model.py", line 167, in _boot     cls._boot_columns()   File "/usr/local/lib/python2.7/dist-packages/orator/orm/model.py", line 172, in _boot_columns     columns = connection.get_schema_manager().list_table_columns(cls.__table__ or inflection.tableize(cls.__name__))   File "/usr/local/lib/python2.7/dist-packages/orator/connections/mysql_connection.py", line 37, in get_schema_manager     return MySQLSchemaManager(self)   File "/usr/local/lib/python2.7/dist-packages/orator/dbal/schema_manager.py", line 22, in __init__     self._platform = self._connection.get_database_platform()   File "/usr/local/lib/python2.7/dist-packages/orator/connections/connection.py", line 124, in get_database_platform     server_version = self.server_version   File "/usr/local/lib/python2.7/dist-packages/orator/connections/connection.py", line 508, in server_version     self._server_version = self.get_server_version()   File "/usr/local/lib/python2.7/dist-packages/orator/connections/mysql_connection.py", line 70, in get_server_version     tuple_version = self._connection._server_version AttributeError: 'Connection' object has no attribute '_server_version'

Yes, it's a known problem fixed in #39 .
The fix will be included in the 0.8.1 version planned for this week.
For the time being you can use the develop branch.

Thanks so much for the help.

Getting this error on dev branch
Traceback (most recent call last):   File "lambda.py", line 21, in <module>     users = Pitchlist.all()   File "/home/vagrant/Code/Lamdba/deployment/orator/orm/model.py", line 544, in all     instance = cls()   File "/home/vagrant/Code/Lamdba/deployment/orator/orm/model.py", line 121, in __init__     self._boot_if_not_booted()   File "/home/vagrant/Code/Lamdba/deployment/orator/orm/model.py", line 148, in _boot_if_not_booted     klass._boot()   File "/home/vagrant/Code/Lamdba/deployment/orator/orm/model.py", line 167, in _boot     cls._boot_columns()   File "/home/vagrant/Code/Lamdba/deployment/orator/orm/model.py", line 171, in _boot_columns     connection = cls.resolve_connection()   File "/home/vagrant/Code/Lamdba/deployment/orator/orm/model.py", line 2758, in resolve_connection     return cls.__resolver.connection(connection)   File "/home/vagrant/Code/Lamdba/deployment/orator/database_manager.py", line 43, in connection     connection = self._make_connection(name)   File "/home/vagrant/Code/Lamdba/deployment/orator/database_manager.py", line 129, in _make_connection     return self._factory.make(config, name)   File "/home/vagrant/Code/Lamdba/deployment/orator/connectors/connection_factory.py", line 36, in make     return self._create_single_connection(config)   File "/home/vagrant/Code/Lamdba/deployment/orator/connectors/connection_factory.py", line 39, in _create_single_connection     conn = self.create_connector(config).connect(config)   File "/home/vagrant/Code/Lamdba/deployment/orator/connectors/mysql_connector.py", line 38, in connect     return self.get_api().connect(**self.get_config(config))   File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect     return Connection(*args, **kwargs)   File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__     super(Connection, self).__init__(*args, **kwargs2) TypeError: 'autocommit' is an invalid keyword argument for this function

Which mysql package are you using because I can't seem to be able to reproduce the problem?

Using pymysql. Seems to be a problem on my local machine. Working in a deployment package for aws lambda. Thanks for all your help I'll keep tinkering.

Connecting and querying one table just fine. Went to query another and got this. Any idea @sdispater ?
Traceback (most recent call last):
File "/var/task/lambda.py", line 32, in createPitchZip
song = Song.first()
File "/var/task/orator/orm/model.py", line 58, in getattr
query = cls.query()
File "/var/task/orator/orm/model.py", line 1793, in query
return cls().new_query()
File "/var/task/orator/orm/model.py", line 121, in init
self._boot_if_not_booted()
File "/var/task/orator/orm/model.py", line 148, in _boot_if_not_booted
klass._boot()
File "/var/task/orator/orm/model.py", line 167, in _boot
cls._boot_columns()
File "/var/task/orator/orm/model.py", line 172, in _boot_columns
columns = connection.get_schema_manager().list_table_columns(cls.table or inflection.tableize(cls.name))
File "/var/task/orator/dbal/schema_manager.py", line 33, in list_table_columns
return self._get_portable_table_columns_list(table, table_columns)
File "/var/task/orator/dbal/schema_manager.py", line 66, in _get_portable_table_columns_list
column = self._get_portable_table_column_definition(table_column)
File "/var/task/orator/dbal/mysql_schema_manager.py", line 35, in _get_portable_table_column_definition
type = self._platform.get_type_mapping(db_type)
File "/var/task/orator/dbal/platforms/platform.py", line 359, in get_type_mapping
return self.INTERNAL_TYPE_MAPPING[db_type]
KeyError: u'enum'

It's a known issue (see #40).
It will be fixed in the next release.

Great. Thanks for the help @sdispater !

I just ran into the same issue. Seems like it only picks up pymysql - not mysqlclient, MySQL-Python, or mysql-client-python. Using Anaconda on Python 2.7, Orator 0.8.1

I will add a check to the Connector class to raise an exception if mandatory packages are missing.


Gedis: fail to receive a schema back from a gedis actor

I have a really simple actor that has a method that should return schema:
https://github.com/threefoldtech/digitalmeX/blob/d93d5154c5ba4eac641c30614285e2cb78d676a9/packages/notary/actors/notary_actor.py#L50-L61
But when I try to call this actor, here is the error I get:

it works good


Add more comments to help implement commands

Summary

This PR adds more in-line documentation to help implement more commands in the future
Testing

N/A, just comments
Notes

Comments

[x] Add an x between the brackets if you commented your code well!

Good idea! Will get on how to write a command test

And resolve the conflicting file


isValidJalaaliDate validates years less than zero

The jalai validation isValidJalaaliDate accepts years which are less than zero ````jy >= -61 && jy <= 3177```
is it correct?!

As the original algorithm supports a very large time span, those years are also supported, although I don't think anyone would actually use them.


Unclear how to parse multipart form-data

Hi,
I am sending an image with multipart form-data to an azure function based on linux docker container. It is not clear to me how I can parse the multipart binary contained in req.get_body(). Can you help?
What I am currently doing is really hacky:
end_pat = b'IEND\xaeB`\x82'
img_body = body[body.find(b'\x89PNG'):body.find(end_pat) + len(end_pat)]

That is I am extracting the image by a byte search :(

This may also help: https://stackoverflow.com/questions/61790607/how-do-i-receive-multipart-form-data-in-azure-function

Closing due to lack of activity and suggestion provided. Please open a new issue if there are further questions over this.


mame 0.166

monthly version bump
install extra stuff (#394)

except hlsl (Windows-only)
instead use shader (glsl)

Can you add depends_on :python => :build if MacOS.version <= :snow_leopard for older Macs that ship Python 2.6, not 2.7?

Sure, it's now added.

And merged in 19a6c02e1368880dab3665c75d380bd009bf9b3a, thanks!


Fix invalid link to SVG Framework in README.md

Noticed this while skimming the repository. The link to the SVG framework currently 404s.
Bisected to 7e2c345d7bbcd54d45c93d36693918ca22a5f62f. Looks like this happened when a directory was renamed.

Thanks for noticing and sending pull request!
However, this is actually irrelevant now because just few days ago this package was deprecated. That line was removed from next branch, but main branch hasn't been updated yet.

Oops, thanks for letting me know!


FAILED TO GET TOKEN help pls :)

I downloaded the freeagarbots.tk script ( fb bots ) and its conecting to my client but:
at the frame of  bots stats there is something like that: Minions: Offline
I searched everywhere i could but I didint found the fix for that. screenshots:

Your question is not related to agario-client.
But even if it would, development of agario-client is closed.


miscellaneous issues wrt offline matching and"id" in input

Hi, first thank you greatly for this package, it has made my life much easier and is very easy to implement.
My issues are already resolved to the extent things are working, but I want to clarify why they're working lest I have problems later.
By background, I am matching a large amount of data - currently 19 million points for 1500 vehicles (with more in future) covering a continent with heterogeneity in frequency and gps accuracy because the sources are varied. My main purpose is determining information about the road network.
After small scale testing and rewriting of sections to return desired information (thanks for your comments elsewhere here) I started feeding Barefoot json files (with the batch.py script), each representing a separate vehicle. However the 'id' variable in the json represented a "trip", which I had designated through earlier processing. This removes stationary periods from the data, but also separate groups of pings distinct in time and space. Sometimes these gaps occur because there were a long string of erroneous values which I had to filter out.
Most vehicles processed fine, but a number would always time out, even with server properties allowing very generous intervals (up to half an hour). I did not reduce the max search distance below 6 km because the lower frequency of data from some sources likely meant vehicles were travelling further than that between pings.
Eventually I started feeding individual trips so I could pin point exactly where problems were occurring - and everything worked!
So, what I think is happening

The id variable is only used to identify output, but not change processing - this is hinted at in the documentation but wasn't entirely clear, and a user, like me, may have expected they could feed a bunch of vehicles in one json file.
Barefoot was failing where a vehicle had jumped a large distance, particularly from a point in an urban area. Whilst the jump was between two trip ids, barefoot was still trying to route between them subject to max distance, but with a very large number of options.

Does this seem plausible? If so everything is fine. I'm assuming I am an unusual case, but this leads to two suggestions.

Slight clarification of what the "id" value does and does not do.
A switch that first checks if the "crows' fly" (great circle) distance between two points is greater than the max route distance, at least for points with a larger than normal time interval. Since the shortest route can't logically be less than the straight line, this would avoid trying to find a route in these circumstances.

Once again, thankyou!

Thanks for the feedback. You described the behavior exactly as it is. The id is rather used for online map matching case where the "tracker" receives some number of GPS positions per from various vehicles every second and must assign all GPS points to the right vehicle. The id is not used in the offline matching case and handles traces on a per request basis. It's the question here, if it should be a feature to process multiple vehicles/trips with one request, which adds a new level in the JSON structure of the output and makes processing a bit more inconvenient for the simple case, or if it's sufficient to keep it like that but highlight this limitation in the documentation. Therefore, the question: Do you think it is a large detour to feed multiple vehicles with multiple requests? To the second point, that's so straigh-forward and effective, I will add that check. Thanks.

Hi
I agree that any gains from making possible multiple requests in a single file would be modest compared to the complications, especially since the switching thing would solve the main problem here.
Thank you again for this marvellous package

Thanks again for the feedback! :)


Reinstate Endpoint controller for v1

Somewhere along the way we lost the GET /v1/endpoints/{id} and PUT /v1/endpoints/{id} endpoints. Reinstate these, but only for v1 right now. (v2 will probably use a natural key here rather than the DB ID. Not positive yet but defer the decision..)

Problem is not a missing controller. Rather the GET/PUT endpoints are still there, but now broken.

GET is broken because BasicItemDelegate incorrectly assumes that the item key is always a SimpleItemKey. For endpoints it's EndpointKey.
PUT is broken because the v1 API now generates _self links throughout, and is failing when trying to generate the self link for embedded node IP addresses. The reason is that the node IP address _self link includes the node name as part of the URI, but we don't have the node info loaded.


Option to disable MongoDB logger

Description
Hi, I come with a suggestion/request to add an option to disable mongodb logs - detailed database connectivity etc.
There are actually a lot of them and they make a nice spam in the console (only part of it is attached on the screen).

Proposed Behaviour
Possibility to disable these logs in config, or limit them to one line of basic information
Extra Details
No response

Logging is configured by the server, not by plugins.
For most Minecraft server implementations (Spigot etc), this means overriding and then configuring the log4j config file.
https://www.spigotmc.org/threads/how-to-use-log4j-for-custom-logging.414564/


⚖ Register Validator: WayneWayner

Network Choice
dentrite-1
Who are you?
No response
Delegator address
axone1lg22awy3736gkl786qjgukj4zamqz55fuhhhv7
gentx
{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"WayneWayner","identity":"3D726987CB38C0D2","website":"https://waynewayner.de","security_contact":"waynewayner@protonmail.com","details":"WayneWayner"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"","validator_address":"axonevaloper1lg22awy3736gkl786qjgukj4zamqz55fvzm9ku","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"8Fsz7hTuslPgIs7alTrPFCJKQ5mYLFcOHVCvcifGqN8="},"value":{"denom":"uaxone","amount":"1000000000000"}}],"memo":"1d4256993f1c08571c3bf4e9362246b736b12125@<IP_ADDRESS>:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"Ar6gtynMLe54/wYj/PGh56X3p5UgiPOs56c5dsTMUFaz"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""},"tip":null},"signatures":["POSnfU8w1ACF5F1RtaRmLySjFoQRhTDP5+0TE4/vrRcjk9aTkbxtna9RINAsMklXJGPo4XAF4xzDh3uzTUARFQ=="]}

😉 Here is the corresponding PR: https://github.com/axone-protocol/networks/pull/798


Format docs

BigchainDB 4.0 included in breaking changes in the README.
Docs reformat with more clear view

Codecov Report

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

@@           Coverage Diff           @@
##           master     #162   +/-   ##
=======================================
  Coverage   80.54%   80.54%
=======================================
  Files          11       11
  Lines         257      257
=======================================
  Hits          207      207
  Misses         50       50

Continue to review full report at Codecov.

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


attestation: only fallback to backfill on 404

This feels correct unless we're aware of older invalid attestations in homebrew-core that we need to catch too?
The goal here is to:

Make verification errors visible as currently it will always print 404 on the backfill when homebrew-core verification fails on newer bottles: https://github.com/Homebrew/homebrew-core/issues/177384#issuecomment-2244530891.
Avoid an unnecessary second roundtrip on verification failures when we know the backfill isn't the issue here.

This can maybe also be argued to be slightly more secure in that we make sure Homebrew/homebrew-core trumps the backfill repo, though that wasn't the goal here.

This can maybe also be argued to be slightly more secure in that we make sure Homebrew/homebrew-core trumps the backfill repo, though that wasn't the goal here.

This would be true if we didn't have the backfill cutoff date for the backfill repo! But yeah, avoiding the fallback is a perf/UX experience regardless.


Support Semantic Versioning pre-release labels

[x] I have searched the issues of this repo and believe that this is not a duplicate.

Issue

Semantic Versioning pre-releases are not supported by the poetry version nor the poetry publish commands.
The build command names the sdist file differently from what the publish command looks for.
[tool.poetry]
version = "0.1.1-alpha.0"

$ poetry publish --build
Building myproject (0.1.1-alpha.0)
 - Building sdist
 - Built myproject-0.1.1a0.tar.gz
Publishing myproject (0.1.1-alpha.0) to PyPI
[RuntimeError]
"myproject-0.1.1-alpha.0.tar.gz" does not exist.

Version bumping drops all pre-release labels
$ poetry version
Bumping version from 0.1.1-alpha.0 to 0.1.1

The bug in publishing has been fixed in commit ea420b8 on the develop branch. It will be available in the next 0.12 release.
Regarding bumping a prerelease version, just do:
poetry version prerelease

Fantastic! Thanks so much.
I couldn't find those pre* bump rules anywhere in the docs. But I see it now in the help text.

This should be fixed in the latest release.


Refactor to avoid Option#get and typle _1, _2 syntax

Fixes current issues found by codacy at https://www.codacy.com/app/otl/play-application-diagnostics/issues

Coverage remained the same at 100.0% when pulling 90ff9b952c8449fa449e80b83b38c23102f4dd63 on refactor/code-style into c737c7b40c5692f02839564ab94d22203646e632 on master.


popovers: Drop message not subscribed in three-dot menu.

Drop message "(Message sent when you were not subscribed)" in the three-dot message menu.
Also removed historical field from the args object.
Fixes #23198.

@sahil839 Thanks, I will make those fixes today.

@sahil839 The historical field from the args object is now removed.

@rebeccasod thanks for updating the PR. Code changes LGTM. Can you please update the commit message summary to be more clear, probably something like "popovers: Drop text for historical messages from three-dot menu." and also update the line wrapping for the commit message description to follow the commit message guidelines.

@sahil839 thanks for helping!! The commit message is updated, I hope it looks better now?

Confirmed in a quick round of manual testing.
@timabbott reviewed by @sahil839 and myself, and should be quick!

Merged, after removing the blank line noted above and tweaking the commit message to spell out why this is a good change in a bit more detail. Thanks for the contribution @rebeccasod!


How i get articles in help center?

Have alternative of returning articles in Help Center?
client.articles
!! #<RuntimeError: Resource for articles does not exist>

Someone knows how to do it?

Unfortunately, this is still not official supported. #175 has a workaround for now.


React 18 proof types

I was looking at upgrading SFE-RTC to React 18 and one thing done is that children is not a built in prop anymore. This React 18 proofs UIToolkit.

type changes: https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-typescript-definitions


OpenAI SDK: Changing default retry policies.

Is there a documentation or samples on how to change the core-http's retry pipelines used by OpenAI's client?
I found the retryOptions  of the PipelineOptions interface can be passed to teh OpenAI client but it seems as alternative way to control retry policies.
Specifically,  how can i change the retry count of throttlingRetryStrategy?

@sirtow Thanks for reaching out! Please note that @azure/openai doesn't use @azure/core-http, but rather @azure/core-rest-pipeline. You're right that the retry options don't get passed to the throttlingRetryStrategy component of our pipeline's default retry strategy and I am following up with the team on that.
To make sure I am testing the relevant scenario, could you confirm which operation you're using and what is the desired behavior you're hoping for?

Thanks for prompt response @deyaaeldeen. Per my understanding, the throttlingRetryStrategy , by default, has maximum of 3 reties. I'm trying to change that, lets say to 5.
The question is, what do i pass to the new instance of the OpenAi client to make the throttlingRetryStrategy retry 5 times?

@sirtow Thanks. I am a bit confused by the request because I didn't encounter any retryable throttling response from the OpenAI service. For a throttling response to be retryable, it needs to have status code 429 or 503 and a retry after header but I didn't receive that header in my testing. With that context, it doesn't matter if the max number of retries is 3 or 5, the request will just not be retried at all.
If you want to retry the request with no retry after header, you may want to checkout @xirzec's code snippet in https://github.com/Azure/azure-sdk-for-js/issues/23298#issuecomment-1258384737.
To be able to better assist you, could you share more about the scenario you have in mind? e.g. what operation you're using and under what conditions.

@sirtow Thanks for sharing. You're right that the service sends a Retry-After header. I was testing using stackblitz which apparently runs inside a web container and CORS stops most headers from being received.
I set the retryOptions.maxRetries in the options bag in the client constructor and it is being respected by the throttling policy:
  const client = new OpenAIClient(
    "ENDPOINT",
    new AzureKeyCredential("API KEY"),
    {
      retryOptions: {
        maxRetries: 10
      }
    }
  );

Here is a relevant snippet from the log:

azure:core-rest-pipeline retryPolicy:info Retry 10: Received a response from request b8f2b47f-cded-4f34-91aa-482d6313e6fb
azure:core-rest-pipeline retryPolicy:info Retry 10: Maximum retries reached. Returning the last received response, or throwing the last received error.
The sample encountered an error: {
code: '429',
message: 'Requests to the ChatCompletions_Create Operation under Azure OpenAI API version 2023-09-01-preview have exceeded call rate limit of your current OpenAI S0 pricing tier. Please retry after 10 seconds. Please go here: https://aka.ms/oai/quotaincrease if you would like to further increase the default rate limit.'
}

Could you try it and let me know if it works for you?

@deyaaeldeen and @jeremymeng Thank you for the updates. I will try to play with client's constrictor options. Appreciate the help!


Usernames are case-sensitive

Username allocation is case-sensitive, so admin != Admin != ADMIN which could be dangerous. As discussed in chat, they should be case-insensitive for tagging but sensitive for registering.

Fixed now. https://github.com/challfry/swiftarr/commit/694c46522e0f1fc8f0c4ff978cb3fe35f02cc44f


Using cpu for testing?

First of all thank you very much for presenting this nice paper and open source the code!
I'm wondering if it's possible to use cpu instead of gpu to do some testing on my local machine (which unfortunately does not have a cuda gpu)? I tried to modify the code a bit and run (I have the demo files under ../demo)
python convertDemos.py --env_name hammer-v0 --encoder_type resnet34 -c top -d ../demo/hammer-v0_demos.pickle
Then it gives me the following error,
ERROR: GLEW initalization error: Missing GL version
which occurs at the rendering line in multicam.py:
img = self._env.env.sim.render(width=self.width, height=self.height, mode='offscreen', camera_name=cam)
Is there an easy way to ask mujoco to do cpu rendering here (software rendering)? Thanks a lot for the help!

Hi @watchernyu,
The error is related to installation of mujoco_py. Please check this thread, might be helpful. I believe, this error is due to some missing mujoco_py dependency.
Regarding running the codebase on cpu,

You can simply add an if-else statement here which will load the image and model on cpu/gpu.
Similarly, you can adjust the rendering device_id of image here.

Thanks a lot for your response, that is very helpful! I will close the issue now.


No instructions on mounting a volume on the host

I am using Longhorn v1.5.3 on k3s v1.26.11+k3s2 with OS - Ubuntu 22.04.3 LTS and also Rancher. I dont see any clear instructions on how to access a longhorn vloume on a node for direct bulk copy of files into longhorn. I can attach a volume to a node but its not showing up on the node itself with lsblk -f or fdisk -l. Please help.

If you haven't created the workload attaching the volume, then it's likely the volume is still unformatted.
You can try:

Create a bare pod (or workload in other forms) with Longhorn volume, for example:> curl https://raw.githubusercontent.com/longhorn/longhorn/v1.5.3/examples/pod_with_pvc.yaml | kubectl apply -f -

Wait for the pod to run then delete it, this leaves the volume in the detached state.> k get pod
NAME            READY   STATUS    RESTARTS   AGE
volume-test     1/1     Running   0          29s

> k delete pod volume-test
pod "volume-test" deleted

> k -n longhorn-system get volume
NAME                                       DATA ENGINE   STATE      ROBUSTNESS   SCHEDULED   SIZE         NODE   AGE
pvc-9c1d2d7f-28b7-4403-9558-130c56d84878   v1            detached   unknown<PHONE_NUMBER>          68s

Attach the volume to a node via the UI.
SSH into the attached node and mount the volume.> mount /dev/longhorn/pvc-9c1d2d7f-28b7-4403-9558-130c56d84878 /mnt/

Write data to the mount point.> echo foo > /mnt/bar

Unmount the mount point when done.> umount /mnt

Detach the volume from the UI.> k -n longhorn-system get volume
NAME                                       DATA ENGINE   STATE      ROBUSTNESS   SCHEDULED   SIZE         NODE   AGE
pvc-9c1d2d7f-28b7-4403-9558-130c56d84878   v1            detached   unknown<PHONE_NUMBER>          7m28s

Recreate the pod (workload).> curl https://raw.githubusercontent.com/longhorn/longhorn/v1.5.3/examples/pod_with_pvc.yaml | kubectl apply -f -

Check the data directory in the pod.> k exec -it volume-test -- ls /data
bar         lost+found


[WIP]fix service account issues.

There are some inconsistent conditions for serviceaccount templates, which in certain situation will result in failure, for example:
The chart will create serviceaccount istio-galley-service-account for galley if rbac is enabled: https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio/charts/galley/templates/serviceaccount.yaml
But the galley deployment will always mount the secret istio.istio-galley-service-account for the serviceaccount: https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio/charts/galley/templates/deployment.yaml#L66
And the default serviceaccount is defined in values.yaml many times, but they aren't actually used.

@gyliu513 Updated PR description.

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

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests.sh
0df19a9d9198b47d528374151a85f637a33a0be1
link
/test e2e-bookInfo

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.

@morvencao: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests.sh
0df19a9d9198b47d528374151a85f637a33a0be1
link
/test e2e-bookInfo

prow/istio-pilot-e2e.sh
0df19a9d9198b47d528374151a85f637a33a0be1
link
/test istio-pilot-e2e

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.


There is no search bar on the explorer for addresses/tx, only the one in the masternode section, which only searches masternodes

Fixed


Use page method to track page view

There is a page method which correctly tracks everything about page view.

Sounds promising. Let's try this page() method out. I looked over the docs here, and it seems like it should work. https://segment.com/docs/connections/spec/page/

It would be awesome if you can release new version so I can just start using by updating plugin.

Published 1.0.3


Check options->IsAllowed() before rewriting html.

While diagnosing a problem on the mps discussion [1] list I noticed that when using the following configuration ngx_pagespeed would still pass html through PageSpeed:
        pagespeed Disallow *;

This PR changes that, which seems on par with mod_pagespeed when I look at the code.
[1] https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/mod-pagespeed-discuss/ReOcIWbH7DE/RgQSIhUyBgAJ

LGTM

@jeffkaufman do I need to create an issue for this before merging it?

Filing a bug would be good so (a) you can label this pull request as fixing that bug and (b) we can list the bug in our release notes.


fix floating-point handling in JSON which contains uppercase exponent E

This PR fix a regression in floating-point handling in JSON
See issue #447

Thanks!
While you're here, could you please add a test so this doesn't get broken again in the future?
This could be as simple as adding the following just after line 335 in https://github.com/apple/swift-protobuf/blob/master/Tests/SwiftProtobufTests/Test_JSON.swift#L335
        assertJSONDecodeSucceeds("{\"singleDouble\":\"1.5E1\"}") {$0.singleDouble == 15}

no problem, test added

Thank you!


Remove redis prefix if it exists

Force removing redis prefix if it exists. This is necessary because exporter doesn't know anything about it.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 47.162%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Repositories/PrometheusRepository/Installer.php
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.2%

Covered Lines:
108

Relevant Lines:
229

💛  - Coveralls


Domain and Routing Integration

Now that Knative supports Domain Mappings, we should integrate this at a fundamental level in Functions.
Functions are of a fairly specific scope which is by its very nature a network-addressable service.  Therefore, we should rely on DNS; the solution to the globally uniquely identification question.
This will require several smaller updates, so this issue is marked as an epic.
Steps
TBD

/reopen


Align property names in configuration-reference and CosmosConfig

@jeet1995  thanks for taking a shot at this, but since this has already been fixed here - -https://github.com/Azure/azure-sdk-for-java/issues/34736 can you please close this PR

Lol, closing this.


Implementing ITypeNameGenerator, IPropertyNameGenerator doesn't work as excpected

When creating a C# class using CSharpCodeGenerator it converts type names and properties names into a CamalCase format it is cool but for some reason i don't need that so i have implemented the interfaces ITypeNameGenerator, IPropertyNameGenerator  and set them in CSharpCodeGenerator  code generator setting parameter however it still converts them to CamalCase by debugging i found that:

In Class TypeResolverBase  the  method GetOrGenerateTypeName  executes this line;
_generatedTypeNames[schema] = ConversionUtilities.ConvertToUpperCamelCase(typeName, true);
for both the default generator or the user defined one.
In Class PropertyModel the Constructor  executes this line;
PropertyName = ConversionUtilities.ConvertToUpperCamelCase(GetGeneratedPropertyName(), true);
for both the default generator or the user defined one.

I think we should remove this to upper code and provide default type/property name generators for ts and cs output...

I ended up with creating an enum NamingStyle
public enum NamingStyle : byte
    {
        /// Ignore style
        Ignore = 0,
        /// The upper camel case.
        UpperCamelCase,
        /// The lower camel case.
        LowerCamelCase,
        /// The upper camel case with alpha.
        UpperCamelCaseWithAlpha,
        /// The lower camel case with alpha.
        LowerCamelCaseWithAlpha
    }

, extended the CodeGeneratorSettingsBase with three properties
public NamingStyle EnumsNamingStyle { get; set; } = NamingStyle.Ignore;
public NamingStyle PropertiesNamingStyle { get; set; } = NamingStyle.Ignore;
public NamingStyle TypesNamingStyle { get; set; } = NamingStyle.Ignore;

and  add this method to ConversionUtilities which i use when ever i create an enum, property or type
public static string ApplyNamingStyle(string input, NamingStyle namingStyle)
        {
            // Apply naming style.
            switch (namingStyle)
            {
                case NamingStyle.Ignore:
                    break;

                case NamingStyle.UpperCamelCase:
                    input = ConversionUtilities.ConvertToUpperCamelCase(input, false);
                    break;

                case NamingStyle.LowerCamelCase:
                    input = ConversionUtilities.ConvertToLowerCamelCase(input, false);
                    break;

                case NamingStyle.UpperCamelCaseWithAlpha:
                    input = ConversionUtilities.ConvertToUpperCamelCase(input, true);
                    break;

                case NamingStyle.LowerCamelCaseWithAlpha:
                    input = ConversionUtilities.ConvertToLowerCamelCase(input, true);
                    break;
            }

            return input;
        }

For example:
_generatedTypeNames[schema] = ConversionUtilities.ConvertToUpperCamelCase(typeName, true);
will be
_generatedTypeNames[schema] = ConversionUtilities.ApplyNamingStyle(typeName, _namingStyle);

enum & property are fixed but the TypeName still not working because of the line 108 in TypeResolverBase.cs


Thank you

Good Article

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d2f0d209-1407-2f95-4c83-83acc8d5d980
Version Independent ID: 2c9f9428-14e8-e5fb-beba-560bc00e9a4b
Content: Case study - My first year on the HoloLens design team - Mixed Reality
Content Source: mixed-reality-docs/case-study-my-first-year-on-the-hololens-design-team.md
Product: windows
GitHub Login: @designnomad
Microsoft Alias: haejinl

Thanks @muathdasan! I passed your compliment on to the author!


Root when

The <RootElement listen={...}> is really concise with gated emitters, but for general stores it's easier to have the gate and the emitter separate.  It's also nice to be able to have two gates even with gated emitters.
So, this adds <RootElement when={...}>.  The promise can resolve with a props object, but it doesn't need to.  Render-time props are the union of listen emitter props and when promise props, with the promise winning collisions.

This also fleshes out the test pages packages a little bit.  Might make the goal there a little clearer.

LGTM. Not that that matters that much, because I'm obviously incapable of reading today.

Thanks for reviewing.  I've been working on a change set based on this, so I'll be glad to get it merged. :)

BTW - I'd also like to start using https://github.com/redfin/react-server/pull/78, so please have a look there if you get a chance.


guidance loss remains constant at 1.0

Hi, during the geometry training phase in the mesh stage, I noticed that the IP-Adapter guidance loss remains constant at 1.0, while changes in the total loss come solely from mesh_normal and mesh_laplacian. Why is this? Below are the results I obtained when setting both lambda_mesh_normal and lambda_mesh_laplacian to 0.
==> [2024-06-26_13-09-33] Start Training output/trial_dmtet_geo Epoch 1/100, lr=0.050000 ... loss=1.0000 (1.0000), lr=0.050000: : 100% 100/100 [00:21<00:00,  4.56it/s] ==> [2024-06-26_13-09-55] Finished Epoch 1/100. CPU=4.4GB, GPU=7.6GB. ++> Evaluate output/trial_dmtet_geo at epoch 1 ... loss=0.0000 (0.0000): : 100% 8/8 [00:00<00:00, 19.46it/s] ++> Evaluate epoch 1 Finished. ==> [2024-06-26_13-09-56] Start Training output/trial_dmtet_geo Epoch 2/100, lr=0.050000 ... loss=1.0000 (1.0000), lr=0.050000: :  20% 20/100 [00:04<00:16,

I've found that this is a common practice in Stable DreamDiffusion.


Multiple media types under product does not work

Lunar version: 0.4.0
Laravel Version: 9.52.10
PHP Version: 8.1.7
Database Driver & Version: MySQL 8.0.32

Expected Behaviour:
When adding multiple file types under product a correct working page, possible to upload multiple  files
Actual Behaviour:
Only the first file type will work
Steps To Reproduce:
I have made a extra file type attachments under my product
This part is from my json where I have defined all my attributes/groups this one is from the main product
 {                 "attribute_type" : "Lunar\\Models\\Product",                 "name": "Attachments",                 "handle": "attachments",                 "section" : "main",                 "position" : 7,                 "type": "Lunar\\FieldTypes\\File",                 "required" : false,                 "default_value": null,                 "configuration": {                     "Searchable" : false,                     "max_files": 5                 },                 "searchable" : false,                 "system" : true             }
Overview from my product type

When I open a product in my product page and view my console in chrome

I can upload a file in the attachments/upload view but there is no option to safe the page then and it's clearly broken
Note  I have imported products trough the json with a product image so that's like the first file/media type

Hi @alexabftb can you provide some example file types/files or a repo that clearly reproduces the issue. I created a file upload field and successfully uploaded jpgs and pdf's and it saved as expected.
Currently unable to reproduce this one.


Roll Flutter Engine from ab28c582f4f4 to 7684aa0e9847 (2 revisions)

https://github.com/flutter/engine/compare/ab28c582f4f4...7684aa0e9847
2023-03-08<EMAIL_ADDRESS>[engine] move asset mapping copy to background thread (flutter/engine#39918)
2023-03-07<EMAIL_ADDRESS>[platform_view]fix regression for addSubview when re-ordering (flutter/engine#40091)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jimgraham@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Java SDK release V3.0.0

Hello,
This issue tracks next major version release changes : V3.0.0
Remove X-Ray Dependency on AWS X-Ray V1.11 (#92)
X-Ray internally creates an AWS SDK X-Ray client to poll for sampling targets and sampling rules. We have substituted the AWS SDK client with a native HTTP client, and plan to remove all classes and APIs that reference the AWS SDK, along with the dependency itself, for v3.0.0.
Apply sampling to segments created with beginSegment (#74)
REQUIRES DISCUSSION: Even though applying sampling by default is the correct behavior, many customers today are using beginSegment without expecting sampling to be applied. This change would not cause their code to fail to compile, since the API would remain the same, but could cause seriously unexpected, and very subtle, consequences. Since we introduced beginSegmentWithSampling as a choice for customers, we should consider not taking this action which could silently break existing code.
X-Ray currently has a separate API, beginSegmentWithSampling, to apply sampling to a new segment. But this will be done by the default beginSampling in v3.0, and we will deprecate the beginSegmentWithSampling API.
Hide several internal/utility classes and constructors
The SDK today exposes several utility or internal implementation classes as public. Many of these are not intended for customer use and will be hidden in the next major version. An exact list of impacted classes will be made clear before the major version release.

When in general might this version that removes AWS X-Ray 1.11 be available? The AWSSDK for Java 1.x is reaching end of support.
https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-java-v1-x-on-december-31-2025/


CIP-0030 | Add JW3T signing with domain name validation

Currently, any hybrid dApp can authenticate its users using CIP-0030 signData function. For instance, an implementation of an equivalent of JSON Web Token (JWT) is available here.
The problem relying in those methods is their vulnerability to a phishing attack: a malicious website could forge a JWT made for authentication to another website, make the user sign it, and act as a man in the middle.
Example: User fetches malicious jpgs.store, signs a message containing "Connect to jpg.store". Signed message can the be used to access user's account on jpg.store Hybrid dApp (which is critical in this case as you can manage NFT collections and their royalty address from their interface).
A solution could be to implement JW3T signature directly in the wallet API.
import Web3Token from 'web3-cardano-token/dist/browser';

api.signJW3T = async function (
  address: string,
  body: object,
  expires_in: string
): string {
  /*
    Forges a Web3Token using the 'web3-cardano-token' standard
    but with addition of domain of the current website:
  */
  return await Web3Token.sign(
    {
       signer: msg => api.signData(address, toHex(msg)),
       expire_in: expires_in,
       body: body,
       domain: 'jpg.store' // Wallet API inserts here the current domain
    }
  );
}

walletApi.signData also need to be display a warning sign when it is called to sign a message with JW3T format but not the good domain.
To verify the token from the backend:
const Web3Token = require('web3-cardano-token/dist/node');

const token = req.headers['Authorization']
const { address, body, domain } = await Web3Token.verify(token);

// Check if domain matches

This standard is very straight forward to implement, as web3-cardano-token package provides it with just the addition of the domain key (which could also simply go inside the body object).

@makerare if you're thinking of writing a CIP for this, it sounds like it might be a good idea to propose.  We have a new convention under review for extensions to CIP-0030: https://github.com/cardano-foundation/CIPs/pull/446
If you're suggesting this be added to CIP-0030 under all circumstances then say so here & I'll tag some people involved in the history of CIP-0030 to help discuss that.  (You are welcome to do this as well.)

Yes I would appreciate this as I don't know who to reach, so they can arbitrate as they would know what makes the most sense, thank you. I'd be glad to write it !

cc (may be interested in issue discussion of CIP update or new CIP for this): @KtorZ @SebastienGllmt @alessandrokonrad @rooooooooob @ehanoc @refi93 @MarcelKlammer @Scitz0

After some thinking, i think what makes the most sense is to use JWT standard, and write a library such as web3-cardano-token for generating data to sign but implementing the exact standard.
Then there would be no need to write a new function for the API. It should just be specified in the CIP 0030 signData description that wallet should check if signed data corresponds to a JW3T, if that's the case, wallet could have a special interface for displaying this to the user.
As the standard contains an "aud" (audience) field. If JW3T signature attempte contains "uri:domain.com" different from the current domain wallet should warn the user the possible phishing attempt.


[backport 7.59.x][gitlab]  release OTel to public facing repos on relevant tags

What does this PR do?
This backport PR backports PRs ##30641 and #30790
Motivation
Enables releasing OTel beta images (final and RC) to the correct public facing repos using an identical workflow to that employed for the standard Datadog Agent image builds/deployments but on OTel-specific git tags so as to not interefere with the standard workflow in any way.
Describe how to test/QA your changes
Previously tested on 7.60.x and test branches.
Possible Drawbacks / Trade-offs
Should be a NOP for all non-OTel effects.
Additional Notes

/merge


Tests using dask array work now

Codecov Report

Merging #13 into master will increase coverage by 3.99%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #13      +/-   ##
=========================================
+ Coverage    87.8%   91.8%   +3.99%
=========================================
  Files           1       1
  Lines         123     122       -1
  Branches       37      37
=========================================
+ Hits          108     112       +4
+ Misses          7       4       -3
+ Partials        8       6       -2

Impacted Files
Coverage Δ

xrft/xrft.py
91.8% <100%> (+3.99%)
:arrow_up:

Continue to review full report at Codecov.

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

Fantastic!
In a future refactoring, we can create fixtures to eliminate the repetitive code in test_xrft.py.


Videos not playing on android, only plays audio on Android. Works on iOS.

Bug description:

When ever you try to play a video whether it's Youtube, Vimeo, Dailymotion, it just plays audio, in place of video only black screen in displayed. You can hear the video playing but no visuals are displayed. It works perfectly fine on iOS.
To Reproduce:

import { WebView } from 'react-native-webview';

render() {
    return (
        <WebView source={{ uri: 'https://www.youtube.com/watch?v=X-x7eZOdBFM' }} />
    );
  }

Expected behavior:

Should play the video 🤷
Screenshots/Videos:

https://user-images.githubusercontent.com/13523678/114420476-fbce3f00-9bd1-11eb-9680-29510506dbba.mov
Environment:

OS: Android
OS version: 10
react-native version: 0.63.2
react-native-webview version: 10.9.2 and 11.3.2

@Titozzz @jamonholmgren Any idea why this might be happening?

There was a bug on Android System Webview, which was resolved and it has nothing to do with the library.

There was a bug on Android System Webview, which was resolved and it has nothing to do with the library.

Hi, i have this issue, could you show me how to resolve it from Android System Webview.video work fine in ios and android when i play video have sound but i got black screen issue like you

This issue was a bug with webview in android, nothing to do with react-native-webview. This issue was resolved. Ideally if you have set android:hardwareAccelerated="true" the videos should play.

This issue was a bug with webview in android, nothing to do with react-native-webview. This issue was resolved. Ideally if you have set android:hardwareAccelerated="true" in Manifest.xml the videos should play.

Thank you sir ! . i solve this problem for your solution

Hi @SurajMDurgad in which manifest I need to add this one android:hardwareAccelerated="true"? in library manifest or app manifest