Can't open Talk PDFs from mobile

I'm using an iPhone + chrome browser. When I tap on the talk image, it doesn't do anything, and there aren't any alternative links I can use.

@aileenzeng could you post a screenshot, it might help to id the problem.

I’m pretty sure it’s because they use pop-ups over the thumbnail. I haven’t checked myself though to verify.
Sent from my iPhone

On Jul 31, 2018, at 5:36 PM, Aileen Zeng<EMAIL_ADDRESS>wrote:
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

What's the status of this?

Issue was addressed in the recent push to production. PR is merged #576


Critical dependency: require function is used in a way in which dependencies cannot be statically extracted

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
I'm receiving this warning (wasn't receiving previous to reinstalling package.json):
./node_modules/node-gyp-build/index.js
Critical dependency: require function is used in a way in which dependencies cannot be statically extracted

Import trace for requested module:
./node_modules/node-gyp-build/index.js
./node_modules/bufferutil/index.js
./node_modules/websocket/lib/WebSocketFrame.js
./node_modules/websocket/lib/websocket.js
./node_modules/websocket/index.js
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>./app/api/supabase/createClient.ts
./app/api/supabase/index.ts
./app/api/index.ts
./app/decks/ai/create/[id]/page.tsx

When I uninstall "@supabase/supabase-js": "^2.33.1", from the app and remove the client code:
import { SupabaseClient, createClient } from "@supabase/supabase-js";

const supabaseUrl = process.env.SUPABASE_URL;
const supabaseKey = process.env.SUPABASE_ANON_KEY;

export const supabase = createClient<SupabaseClient<any, "public", any>>(
    `${supabaseUrl}`,
    `${supabaseKey}`,
    {
        auth: {
            persistSession: false
        }
    }
);

The warning goes away.
To Reproduce

Install the package in a nextjs app
run next dev

Expected behavior
I expect there to be no warning as nothing seems to be wrong with the code in node-gyp (however I could be wrong) which is added by websocket:
if (typeof require.addon === 'function') { // if the platform supports native resolving prefer that
  module.exports = require.addon.bind(require)
} else { // else use the runtime version here
  module.exports = require('./node-gyp-build.js')
}

System information

MacOS Sonoma
next dev cli
Version of supabase-js: "@supabase/supabase-js": "^2.33.1",
Version of Node.js: happens in both 16 and 18

Additional context
Let me know if you have any insights or if you think this issue should be posted elsewhere. Thanks!

The error is coming from webpack: https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/dependencies/CommonJsImportsParserPlugin.js#L216

The error is coming from webpack: https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/dependencies/CommonJsImportsParserPlugin.js#L216

I'm with same issue and using env:

macOS Sonoma
next dev
@supabase/supabase-js -> "^2.33.1",
Node.js -> v20.3.1

It renders my data with SSR but error still remains on console.

Having the same exact issue

I'm unable to replicate the issue. Can you provide an example repository to ensure I get the correct setup to properly debug it?
Probably I'm unable to replicate it since I'm not using webpack 😓

Yes of course, I created a temporary repository. Link to the repository: https://github.com/taychris/nextjs-supabase.git
Required environment variables: NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, NEXT_PUBLIC_ROOT_DOMAIN (should be set to localhost:3000) for the local environment.

In the browser, navigate to app.localhost:3000/categories.
The error/warning can be seen in the terminal.

thank you! 🙏 will still check today

Same here have the problem too

Same here. the problem occurs in multiple nextjs + supabase project . With different supabase-js version from @supabase/supabase-js -> "^2.38.2" to @supabase/supabase-js -> "^2.38.4",

This issue is also being investigated on node-gyp-build: https://github.com/prebuild/node-gyp-build/issues/62
I also oposted a discussion question on webpack: https://github.com/webpack/webpack/discussions/17819

thank you! yeah yesterday that was the point I've reached. Also tried to overwrite some of the webpack configurations on nextjs but all the "patches" felt more like really bad hacks 😞 ( https://github.com/i18next/next-i18next/issues/1545#issuecomment-1006418772 )
I've also verified what @John4E656F mentioned, this is happening in multiple versions including latest.
I think that this PR might actually tackle this issue https://github.com/supabase/realtime-js/pull/263

Yep the ws package does not have node-gyp-build. That will fix it!! Thanks

Hey guys. Is there a quick workaround? Not sure what happened but after another npm install I've got the same problem with supabase/realtime-js and next.js. I was trying to downgrade supabase/realtime-js but no success. Basically all work with supabase/realtime-js is blocked. I hope somebody has a quick solution. Thanks.

Alright, there iss quick workaround I found. Create file in your project /patches/node-gyp-build+4.7.0.patch with the following contents
diff --git a/node_modules/node-gyp-build/index.js b/node_modules/node-gyp-build/index.js
index de2d14d..b1e9794 100644
--- a/node_modules/node-gyp-build/index.js
+++ b/node_modules/node-gyp-build/index.js
@@ -1,5 +1,5 @@
 if (typeof require.addon === 'function') { // if the platform supports native resolving prefer that
-  module.exports = require.addon.bind(require)
+  module.exports = require('./node-gyp-build.js')
 } else { // else use the runtime version here
   module.exports = require('./node-gyp-build.js')
 }

Install https://www.npmjs.com/package/patch-package with npm i -D patch-package
Set up postinstall script:
 "scripts": {
  "postinstall": "patch-package"
 }

Run npm i to trigger.

The issue went away for me after installing the latest version. I had to delete yarn.lock and run yarn before the warning went away. Also, the upcoming ws pr will ensure it never recurs. Closing the issue now as I opened it.

@bmackio I tested with the latest version of @supabase/realtime-js - Version 2.9.1 and I still have the warnings. Instead of getting them on websocket, I have them on ws instead.


Fix dead links and old links

Type of change

Documentation update

Description
There are some dead links and point to old links.

At least the links aren't broken any more but yeah that's why I didn't merge - I think someone else must have a look.

Yea, these should be replaced with {BRANCH} otherwise when we cut new branches from the master branch we have to update all of these references. {BRANCH} is a special placeholder that sphinx replaces with the actual branch for us.
The references in the README.md should remain master not latest or {BRANCH}

I get it. I found {BRANCH} in docs/sources/conf.py.
Why the links broken? Sphinx builds "latest" version not "master" version.

Hmmmm, we disabled the master branch for some reason, let me take a look at that

Right. But the issue I have with this is that we have to keep it up to date. I think I'm going to add a second placeholder variable specifically for ReadTheDocs that has some logic on it to correct generate latest or the correct branch

I updated PR.

One minor edit, can you change docs/source/conf.py around line 36 to this:
placeholder_replacements = {
    "{BRANCH}" : "master"
    "{BRANCH_DOC}": "latest" # Used to target the correct ReadTheDocs distribution version
}

And then replace the latest tags with {BRANCH_DOC} that way moving forward we would only have to update the tags in this one location when we cut new release branches

Thanks for your comment. I updated PR.

I left hard-coded latest in Fabric-CA doc link.

@naonishijima Thank you very much for the contribution and your patience in getting this right. Looks good now.


strerror throwing error in compiler VS2015

strerror is deprecated and VS won't compile with it.
I'm using an ifstream, that's when the error it thrown.
The exact error is below:
'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.	Creation_Kit	c:\...\json.hpp	8998

I understand the issue. We currently use strerror in one situation:
// immediately abort if stream is erroneous
if (s.fail())
{
    throw std::invalid_argument("stream error: " +  std::string(strerror(errno)));
}

As strerror_s seems not to be portable, we cannot easily get rid of the call. Maybe dropping the descriptive string in the exception could be the solution here.


Account balance checking

In the video (final Coinbase section), you mention that only Anders can transact to others in Block 2, because only Anders has a historical balance to transact from.
It would be a great enhancement if this final Coinbase implementation also made blocks Red/invalid if there are any attempts to transact from a source with insufficient balance (or maybe a different color-code, like purple? to indicate a different kind of invalidity than the Red for incorrect hash chaining)
(Another thought: maybe the "Mine" button is deactivated until the transactions are valid according to historical balances)

Yeah, that's exactly right. The demo doesn't attempt to reconcile all the spends to make sure nobody goes negative. I hand-waived that because I didn't think it was worth the effort to code that check. In a "real" system would absolutely would do those checks and perhapse make the UI work in one of the ways you propose.
I'm open to PRs if you want to add that check. ;)

I just might. I already plan to fork&PR to give you the changes I made for finer-resolution bit-strength difficulty.
I can see in blockchain.js how function updateChain() walks through the blocks of a particular 'chain' (peer?) and assembles string labels to get/set the prev/hash parts, so I expect I could figure out how to go through all the transactions and do the arithmetic

👍👍

I might suggest that rather than making the block red if a user is trying to spend money they don't have, you make the user's name red so you emphasize what rule has been violated. I do this with the signatures, for example. You can alter a transaction making both the signature and block go red but then you can re-mine the block so that goes green but there is nothing you can do to calculate a valid signature if you don't have the private key so that signature still stays red. I'd love to see the names also go red if they try to spend money they don't have so it is clear where the problem is.
Taking this to its logical conclusion, however, we should make the block's hash digest turn red instead of the entire block and maybe reserve the block going green only if ALL checks succeed. This change would make especially the latter part of my video visually inaccurate but... might be better. This would be a separate PR of course.
Also, thanks for posting a PR on more fine-grained difficulty work - that has been merged.

yw, thx for merging.
Good thoughts on the best way to visualize overspending. I'll have to digest it. I took a half-hearted stab at starting on this, but gave up. I should make some time for a more concerted effort. Start with a commit that just finds all the information and calculates if/where there's a problem, and then consider separately the UI to show it

I'd suggest that you calculate it forward in time. In other words, for each user that gets money (either by a coinable transaction or a standard transaction) create an account for them adding whatever money they were given and subtracting whatever they spent. For example, as of the second block the object would look like this:
{
  Anders: 140,
  Sophia: 10,
  Lucas: 20,
  Emily: 15,
  Madison: 15
}

and then if someone goes negative, you paint them red.
Just a thought.

Who's?
On Thu, 19 Oct 2023, 6:54 PM Maungmaung lwin, @.***>
wrote:

Hi
—
Reply to this email directly, view it on GitHub
https://github.com/anders94/blockchain-demo/issues/109#issuecomment-1771040064,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMRFF44CFIXLCVUKTWNKMMDYAEWJ3AVCNFSM6AAAAAATQH63GGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZRGA2DAMBWGQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


feat: Added transaction status info in view expense page

Description

🤖 Generated by Copilot at ed7c118
Added a feature to show the transaction status of corporate card expenses in the view-expense page. Refactored the view-expense card container to use a flex layout. Updated the styles for the transaction status section.

🤖 Generated by Copilot at ed7c118

To view expenses on any device
The card container got a flex slice
And if isRTFEnabled is true
The transaction status comes into view
With a colored line and an icon that's nice

Walkthrough

🤖 Generated by Copilot at ed7c118

Refactor view-expense card container to use flex layout and add transaction status section for corporate card expenses (link, link, link, link)

Clickup
https://app.clickup.com
UI Preview

PENDING

POSTED

The code coverage check is failing for <95% coverage, but the coverage says 95.01 only and I have covered all cases, will check what's going on here before merging to master


Support Angular 6 by upgrading package dependencies?

When implementing ngx-masonry to my project, I encountered an error:

ERROR in node_modules/ngx-masonry/node_modules/@angular/core/src/change_detection/differs/default_iterable_differ.d.ts(5,5): error TS2416: Property 'create' in type 'DefaultIterableDifferFactory' is not assignable to the same property in base type 'IterableDifferFactory'.
....

I am working on a project involving Angular 6.
I noticed that ngx-masonry has dependencies of @angular/core^4.x.x, so i tried deleting node_modules folder in ngx-masonry package (so as to use my Angular 6), and compilation was successful.
So I assume we can just upgrade the dependencies to 6? Or at least add as a peer dependency?

Yeah.
I've just started upgrading the angular project I work on day to day to Angular 6 and they have a nice new feature where you can build a library inside the project and publish it, so I'll be doing that soon for this library and hopefully that'll fix a bunch of issues people have been raising as well as yours.

Closing for #28


multi GPU training

how can I train this on multi GPU devices

Please refer to #38

Closed due to inactivity.


Add Working with forks to README.md.

Hi @dennislwm, will you resolve the conflict and let me know?

@ytbryan Resolved.

@dennislwm thank you!


Recipe and Summoning Have Never Been Fixed

The original issue never resolved.  The FTD_summons folder still shows up empty on Linux servers.  I constantly have to zip and send files over to people to replace the empty folder.  There is no FTD_Summons folder appearing in the instance folder anymore, that was fixed... but the one inside the config is still installing empty.

so the .json files are not showing up then?
I downloaded your server files and they do appear to be in there. Do they report this after starting up the server or as soon as they copy the files over?
Are there any log files for me to dig through? I have added a bunch of logging in the last few updates.
From your server files, it doesn't appear as though you are using the latest version. I added a fix for when the FTD_Summons directory doesn't exist and removed a bunch of old code and added more logging.
I actually added a new file (<IP_ADDRESS>) which addresses an issue where the files are not read if the file encoding doesn't match the default one on the machine. They need to be UTF-8 encoded now. That's probably not your issue though.

Gonna have them update, and see if it still happens, then get me some logs.

Seems the issue is still recurring.
I saw this in the log file, does it mean anything?
'[06:38:36] [main/ERROR]: From_The_Depths: Parsing error loading recipe from_the_depths:spawninfo. com.google.gson.JsonSyntaxException: Expected a com.google.gson.JsonObject but was com.google.gson.JsonArray'

That's interesting. It is trying to load the spawninfo file as a recipe. It might be doing that incorrectly if the case doesn't match what I have in code. When I get home I can check quick. That would explain why none of the recipes load.

Yeap, it's an issue with character casing. I was looking for "spawnInfo" you had "spawninfo" so it didn't match what I was looking for. I will be changing the code to be case insensitive. In the mean time you can change it to "spawnInfo".

Version <IP_ADDRESS> has been uploaded which addresses this issue.

I have no idea what you are talking about lol.  What do you mean I have "spawninfo" change it to "spawninfo"... change what?  The log?  The folder? The file?

change the file name from "spawninfo" (note the lower-case i) to "spawnInfo" (the upper-case i). Or just include the latest update which has been approved on curseforge :).

Do you have log files from the people reporting issues?

Something I noticed when I downloaded your config files. All of the recipes use the "minecraft:barrier" for their ingredients. I am guessing you have a mod which does some funky magic to the recipe so they have to do something in order to unlock the recipe.
I am not sure if that works (just in general) since I never tested with that. When they create the item in this way does it still have the correct name? (Aphrodite, Zeus, Biff, etc) in the UI? I use NBT tags for determining which monster to summon and if the recipe is modified incorrectly it would be the cause for this not working.
For the Altar, I also have a check in there for not allowing the summoning if the world's difficulty is set to Peaceful. I highly doubt it is, but just throwing that out there.
Either way, I need log files in order to try to figure this out.

No there is no mod that interacts with recipes or totems.  They are simply given to the players in a quest.  Not craftable.  Which is why their recipe contains an item only available in creative.  The Biff Totem IS craftable and also can't be summoned on server.

I will, as usual try to get some logs.  But it's difficult when I dont have a server, and most of the people that report the issue arent server admins themselves.  At this point I may just forget about it and leave it broken... it's already been a critical issue throughout the main pack release, the main youtubers that were doing playthroughs have probably/hopefully found a way to gloss over the issue.

In a quest you say? What mod is doing that and how is it setup?

Its Better Questing Mod, It has tasks and rewards... I select the reward to give them from JEI.  Once the player completes the task, they get that reward automatically.  The capsules have the correct names on them, and people have even tried to use totems they pull directly from JEI since they didnt know if the issue was just with the totem they got from the quest.

ah, darn :(

This is the message I got from the latest server having the problem:
I guess the Log will not help at all, i found no information in it... how ever...
https://paste.ubuntu.com/p/WmWFCtpsVn/
Its the complete log from starting client, joining single player world, "Open to LAN" giving both items and trying to summon.
The funny part is, its working on single player as long as i dont start it as a server by "Open to LAN". On the hostet server it doesnt work either
If there are special parameters to get a more detailed log, please tell me what to do
OK i think i got a better log now, i tried to switch the log4j2.xml from my forge***.jar from info to debug.
I am not very used to java itself, more c++ so not sure if it helped but here is another, pretty large log
https://paste.ubuntu.com/p/gGxMcYPHdQ/
I think the interesting part ist here:
[18:53:05] [Server thread/TRACE] [FML]: Sending event FMLInitializationEvent to mod from_the_depths
[18:53:05] [Server thread/WARN] [from_the_depths]: From_The_Depths: Summoning recipe found at location [/mnt/config/FTD_Summons/summon_Hades.json] has output which doesn't contain valid nbt data or specifies a boss which doesn't exist.
[18:53:05] [Server thread/WARN] [from_the_depths]: From_The_Depths: Summoning recipe found at location [/mnt/config/FTD_Summons/summon_Biff.json] has output which doesn't contain valid nbt data or specifies a boss which doesn't exist.
[cut out]
[18:53:05] [Server thread/TRACE] [FML]: Sent event FMLInitializationEvent to mod from_the_depths(edited)

Welp here is another attempt to fix this issue. I discovered that the way I was attempting to resolve the "spawnInfo" file was not case insensitive and the bosses were not loading properly which means then the items were not loading properly (on one side or the other).
I have also added some better logging for when the recipes are being loaded for the bosses to allow me to determine which part of the recipe output is bad. Such as is there a mis-spelled boss name or if the nbt data is malformed.
Thank you for providing that log as it has helped me narrow down the issue.
Version <IP_ADDRESS> will be available soon on CurseForge. It is currently awaiting approval.

@Boolyman - Is this still an issue?


Pre-requisites

Needed to install az.accounts module
Needed to register Microsoft.Management resource provider
Needed to initialize Management Groups

thx, detailed documentation wip :)


Can't get mypy to start from LSP-pylsp

I want to enable mypy (preferably dmypy) with Sublime and LSP-pylsp but I can't get mypy to run.
Linting and formatting in Sublime works fine.
My sublime-project file:
{
	...
	"settings":
	{
        "python_interpreter": "/Users/me/code/proj/.venv/bin/python",
	}
}

My LSP-pylsp.sublime-settings:
{
	"settings": {
        "pylsp.plugins.mypy_ls.enabled": true,
		...
    }
}

I've tried setting live_mode to true or false: "pylsp.plugins.mypy-ls.live_mode": true,
I've tried creating a mypy-ls.cfg file in my project's root with the following content but to no avail:
cat mypy-ls.cfg
{
    "enabled": True,
    "live_mode": False,
    "dmypy": True,
    "strict": False
}

Executing dmypy (and mypy) from terminal works fine.
When I have opened sublime dmypy isn't started dmypy status says "No status file found". So it seems that dmypy isn't started.
In Sublime I've set log_server": ["panel"] and checked what's sent to pylsp but it seems fine.
ls .venv
_pyenv_version bin            include        lib            pyvenv.cfg     share
which mypy
/Users/me/code/proj/.venv/bin/mypy
which dmypy
/Users/me/code/proj/venv/bin/dmypy

Please advice what more I can do to debug this.

There seems to be some ambiguity weather mypy_ls or mypy-ls works for the config (meaning try "pylsp.plugins.mypy-ls.enabled": true,)
Can you confirm other plugins run?
Can you confirm weather mypy-ls is started and misbehaving or if it is not even started?

There seems to be some ambiguity weather mypy_ls or mypy-ls works for the config (meaning try "pylsp.plugins.mypy-ls.enabled": true,)

Changing to "pylsp.plugins.mypy-ls.enabled": true, didn't help me.

Can you confirm other plugins run?

Other plugins run excellent, such as:
        "pylsp.configurationSources": [
            "flake8"
        ],
        "pylsp.plugins.flake8.enabled": true,
        "pylsp.plugins.pyls_isort.enabled": true,
        "pylsp.plugins.pylsp_black.enabled": true,

Can you confirm weather mypy-ls is started and misbehaving or if it is not even started?

I don't know how to check if it started. I can't see any difference after mypy-ls has been set to enabled. I want to help but don't know where to look.

@StabbarN What does your LSP.sublime-settings file look like? I came across this ticket when I was having similar problems getting live mode to work.
I initially tried defining the settings in LSP-pylsp.sublime-settings, but it was only when I included the settings in LSP.sublime-settings that it started working:
// Settings in here override those in "LSP/LSP.sublime-settings"
{
    "clients": {
        "pylsp": {
            "enabled": true,
            "selector": "source.python",
            "command": [
                "path/to/.venv/bin/pylsp",
            ],
            "settings": {
                "pylsp.plugins.mypy_ls.enabled": true,
                "pylsp.plugins.mypy-ls.live_mode": true
            }
        }
    }
}

I didn't really dig into the reasons why one would work but the other would not, just sharing in case this might help.

My sublime-project file:

I'm not sure what that python_interpreter setting is supposed to affect. It doesn't have anything to do with LSP-pylsp at least.
If you want pylsp to use your virtual environment then follow https://github.com/sublimelsp/LSP-pylsp#virtual-environments
To enable mypyls a settings like:
// Settings in here override those in "LSP-pylsp/LSP-pylsp.sublime-settings"
{
    "settings": {
        "pylsp.plugins.mypy_ls.enabled": true,
        "pylsp.plugins.mypy-ls.live_mode": false,
    }
}

should work. live_mode shouldn't be relevant but I'm fairly sure that live_mode has issues with locating types from imported files in some cases.
With a code like:

def test(a: str) -> None:
    pass

test(1)

do you not see an error like:

(remember to save the file if you have live_mode disabled.

Setup as
// Settings in here override those in "LSP/LSP.sublime-settings"
{
    "clients": {
        "pylsp": {
            "enabled": true,
            "selector": "source.python",
            "command": [
                "path/to/.venv/bin/pylsp",
            ],
            "settings": {
                "pylsp.plugins.mypy_ls.enabled": true,
                "pylsp.plugins.mypy-ls.live_mode": true
            }
        }
    }
}

seems to work after a quick test.
I've a lot of other stuffs going right now. I'll hopefully do more testing and verification in a few days.
Thanks for your help so far!

The only reason I can think of why this would work better for you is because you are running pylsp from your virtual environment. When using the LSP-pylsp package, the pylsp runs from package storage directory somewhere in user home directory. That's why when using LSP-pylsp you are supposed to follow https://github.com/sublimelsp/LSP-pylsp#virtual-environments to configure your project to use the python venv.

It looks like you found a way, that works for you, and mypy-ls did not cause this issue. Is that correct? (Meaning can I close this now?)

I haven't verified it yet but my problem is probably that I haven't installed Python LSP Server manually as described at https://yeray.dev/python/setting-up-sublime-text-4-for-python#manual-setup
I was planning to install it manually and then close this issue.
Yes, this issue can be closed.
Thank you for all responses!

There was a recent related change made that might have fixed the original issues.


Allow setting {currentPositionX, currentPositionY}

Description of the problem
I'm implementing a photo viewer. You start with the image fully zoomed out. This image is a low-resolution thumbnail. As you zoom in, this triggers a load of the original high-resolution image. Of course, the new image has different dimensions.
I preserve the old state of image-zoom, then I dispose the old image-zoom bound to the old img element, and replace it with a new image element and re-initialize image-zoom.
Then, I update the old state by turning the old currentPositionX/Y into a percentage. I then calculate the new values for the the new image dimensions that are an equivalent to the old image position. I try to set new state on image-zoom, but image-zoom ignores the currentPositionX/Y values.
Could image-zoom be enhanced to allow me to set the currentPositionX/Y values? Or better yet, allow me to read/write the values using percentages?

Hi Min, thanks for your contribution to the project. I would like to ask if it's possible for you to reproduce an issue in a dedicated repo and share it to me to have a look? I then will able to provide my expertise on that. Thanks :)

Hi. I did manage to create a demo of the problem. In fact, in creating this demo the problem manifests a bit worse than in the actual app. Load up this URL, and then click 'Problem'
You'll see an image of a bird load. Then zoom in to the bottom right corner of the image. This will trigger a background load of a higher rez image. After the image is loaded, the x/y position of the bird is lost, even if i did the calculations to convert the old x/y position based on the higher rez image dimensions.
Additionally, I'm limiting the height/width of the image element here, so that when the new image loads in, it doesn't rescale/reflow the entire layout. But even with the height/width constrained, there is a very noticeable reflow/layout while the zoom-image lib initializes.
I've added a delay to the high-rez image load, to give you a change to zoom deeply before the image is replaced.
I was able to find a workaround, since I also included. In the workaround, I basically only replace the img element with the new data - and do not destroy/recreate the container div. This ends up working great. I'm not sure why this is working.
However, I do think it would be a nice addition if the library supported an ability to initialize itself to a previous state including the x/y positions - ZoomImageWheelStateUpdate only allow you to set zoom level and rotation. This would be important if you were to start with an image that has been already zoomed into the bottom right corner of the image, for example.
Alternatively, maybe add a function to re-read the image height/width from the element - and adjust itself to fit that.
Repro case is here: https://stackblitz.com/edit/vitejs-vite-neurej?file=src%2FApp.svelte

I wonder why you needed key to reset things on image's src change. The DOM is good to preserve in this case I believe 😄
I removed that and it works as I expected https://stackblitz.com/edit/vitejs-vite-hie4ux?file=src%2Flib%2Fproblem.svelte

However, I do think it would be a nice addition if the library supported an ability to initialize itself to a previous state including the x/y positions - ZoomImageWheelStateUpdate only allow you to set zoom level and rotation

Yeah. I think it's a nice feature to have and it's quite doable. I will find sometimes to implement this. Thanks 😊

Hi there, after some thinking I conclude that we should go on and stick to the minimal option for now which is having support for initialState - this should be enough to restore previous zooming position. The more code we add, the bigger the bundle size. Whether or not to expose currentPositionX and currentPositionY can be waited until we have more valid use cases 😉

Hi there, I closed an issue as it should be now possible to initialize state on load with initialState option already :)


Features/token wrap impl

@joncinque responded to most of your comments. sorry for the delay

Hey @staccDOTsol is it easier if we just re-open the original PR where Jon's comments are?
Alternatively, a brand-new PR (maybe this one here) with some re-written commit history would be much easier to review - given the time elapsed - but that's up to you!

Either way I'm not picky what ever u think is easier for me. I sure appreciate you thank you

Either way I'm not picky what ever u think is easier for me. I sure appreciate you thank you

Lol. Are you the same guy? 🤔

Just to tired this am lmao I’m usually cussing huh well I guess u know me 😜well already. I love u 😘 yr alright Christina BatesOn Mar 22, 2024, at 9:03 AM, Joe C @.***> wrote:
Either way I'm not picky what ever u think is easier for me. I sure appreciate you thank you
Lol. Are you the same guy? 🤔
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Joe u think my solana wallet will work after that. Either way thank u Joe 😌Christina BatesOn Mar 22, 2024, at 10:12 AM, Christina Bates @.> wrote:Just to tired this am lmao I’m usually cussing huh well I guess u know me 😜well already. I love u 😘 yr alright Christina BatesOn Mar 22, 2024, at 9:03 AM, Joe C @.> wrote:
Either way I'm not picky what ever u think is easier for me. I sure appreciate you thank you
Lol. Are you the same guy? 🤔
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Joe a guy named Andrew at Aurora said he would help me build that part of my wallet transfer and wallet build from tron Binance is that ok? Andrew is it ok to share the transaction hash that built my near explorer he asked for near explorer trans hash ? Christina BatesOn Mar 22, 2024, at 10:13 AM, Christina Bates @.> wrote:Joe u think my solana wallet will work after that. Either way thank u Joe 😌Christina BatesOn Mar 22, 2024, at 10:12 AM, Christina Bates @.> wrote:Just to tired this am lmao I’m usually cussing huh well I guess u know me 😜well already. I love u 😘 yr alright Christina BatesOn Mar 22, 2024, at 9:03 AM, Joe C @.***> wrote:
Either way I'm not picky what ever u think is easier for me. I sure appreciate you thank you
Lol. Are you the same guy? 🤔
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Hey @staccDOTsol is it easier if we just re-open the original PR where Jon's comments are?
Alternatively, a brand-new PR (maybe this one here) with some re-written commit history would be much easier to review - given the time elapsed - but that's up to you!

sorry I ended up in England to do some stuff for pump.fun and haven't had any free time. I may need to pass the torch for this one off to the next foss engineer who wants to take a crack at it. I really want to see this in prod so I can mess with CLMMs by having synth tokens to create opposing dichotomous pools
wen

Hey @staccDOTsol is it easier if we just re-open the original PR where Jon's comments are?
Alternatively, a brand-new PR (maybe this one here) with some re-written commit history would be much easier to review - given the time elapsed - but that's up to you!

I can't reopen the pr :) I'd appreciate if you can, then close this one. They're the same branch.

hi <3 is this still open for submissions or deos my current state of affairs preclude me from solana prs


feat(table): separation of TableData::synthesize in two phases

When we synthesize TableData, we do the following things:
(1) get circuit structure/metadata such as custom gates, look arguments
(2) get fixed column and selector data
(3) get advice column data.
The (1) and (2) the the preprocessing step which is the same for all the folding step. (3) is different at each step.
To make the code more efficiency and better separation. We can split the TableData into two parts and synthesize them separately into two phases (similar to halo2): preprocessing, witness_data_generation.
// separate TableData into two pars
pub struct TableData<F> {
  CircuitInfo,
  WitnessData,
}

// to collect (1) and (2) just once
ConcreteCircuit::FloorPlanner::synthesize(
   CircuitInfo
   circuit,
  config,
  constans,
);
// to collect (3) for different step
ConcreteCircuit::FloorPlanner::synthesize(
   WitnessData,
   circuit,
  config,
  constans,
);
// TableData at each step
TableData = {CircuitInfo.clone(), WitnessData}

Since in the current IVC due to this task no fixed columns and gates are involved in pp, this task must be included in the MPV milestone, without this the current implementation is not safe

@chaosma Is there anything left to do in this task? Can we close?

@chaosma Is there anything left to do in this task? Can we close?

Yeah, this task is finished.


Slide only the modal and not the overlay

Currently, the overlay slides with the modal. But, the overlay should fade and the modal should slide.

That's a good suggestion. Feel free to go ahead and implement this feature :)

Sure.

Did you ever get around to implementing this?  I would love to have this too.

@wootwoot1234 Hey, I got a bit caught up and couldn't fork this repo to add my code. Yes, I did successfully implement it but I had to tweak @rgabs code.
Below is the code snippet for the feature. I haven't tested it thoroughly. I request you to please do so if you are using this snippet:
/**
 * Author: Rahul Shetty
 * Date: 22 Aug 2017
 *
 * Modal Component
 * @flow
 */
import React, { Component } from 'react';
import {
  Modal,
  TouchableWithoutFeedback,
  Animated,
  Easing,
  View,
} from 'react-native';
import styles from './style';

type ModalWithOverlayProps = {
  modalVisible: boolean,
  animation?: string,
  initialPosition?: number,
  toggleModalVisibility?: Function,
  onRequestClose?: Function,
  children: Element<*>,
  closeOnTouchOutside?: boolean,
  containerStyle?: Object | Array<Object>,
};

type ModalWithOverlayState = {
  isVisible: boolean,
};

const animationType = {
  slide: 'slide',
  fade: 'fade',
};

const OPEN_MODAL_DURATION = 400;
const CLOSE_MODAL_DURATION = 300;

class ModalWithOverlay extends Component {
  props: ModalWithOverlayProps;
  state: ModalWithOverlayState;
  slideFromBottom: Object;

  static defaultProps = {
    closeOnTouchOutside: false,
    animation: animationType.fade,
    initialPosition: styles.$screenHeight,
    onRequestClose: () => {},
    toggleModalVisibility: () => {},
    containerStyle: {},
  };

  constructor( props: ModalWithOverlayProps ) {
    super( props );

    this.onRequestClose = this.onRequestClose.bind( this );
    this.slideUp = this.slideUp.bind( this );
    this.slideDown = this.slideDown.bind( this );

    this.state = {
      isVisible: props.modalVisible,
    };
  }

  componentWillMount() {
    const { initialPosition } = this.props;

    this.slideFromBottom = new Animated.Value( initialPosition || styles.$screenHeight );
  }

  componentWillReceiveProps( nextProps: ModalWithOverlayProps ) {
    if (
      nextProps.modalVisible !== this.props.modalVisible
        &&
      this.props.animation === animationType.slide
    ) {
      if ( nextProps.modalVisible ) {
        this.slideUp( nextProps.modalVisible );
      } else {
        this.slideDown( nextProps.modalVisible );
      }
    }
  }

  slideModalAnim( modalVisible: boolean ) {
    const { initialPosition } = this.props;

    Animated.timing( this.slideFromBottom, {
      toValue: modalVisible ? 0 : initialPosition || styles.$screenHeight,
      easing: Easing.linear,
      duration: modalVisible ? OPEN_MODAL_DURATION : CLOSE_MODAL_DURATION,
      useNativeDrivers: true,
    } ).start();
  }

  slideUp: Function;
  slideUp( isVisible: boolean ) {
    this.setState( { isVisible } );
    this.slideModalAnim( isVisible );
  }

  slideDown: Function;
  slideDown( isVisible: boolean ) {
    this.slideModalAnim( isVisible );
    setTimeout( () => this.setState( { isVisible } ), 300 );
  }

  stopPropagation( e: Object ) {
    e.stopPropagation();
  }

  onRequestClose: Function;
  /**
   * onRequestClose closes the modal on hardware backpress.
   * You can also pass an action that you would like to perform before closing the modal.
   */
  onRequestClose() {
    const { onRequestClose, toggleModalVisibility } = this.props;

    if ( onRequestClose && typeof onRequestClose === 'function' ) {
      onRequestClose();
    }

    if ( toggleModalVisibility && typeof toggleModalVisibility === 'function' ) {
      toggleModalVisibility();
    }
  }

  render() {
    const {
      modalVisible,
      animation,
      closeOnTouchOutside,
      toggleModalVisibility,
      children,
      containerStyle,
    } = this.props;

    const { isVisible } = this.state;
    const visibility = this.props.animation === animationType.slide ? isVisible : modalVisible;

    const innerModalContainer = animation === animationType.slide ?
    (
      <Animated.View style={ [ styles.animateSlide, { top: this.slideFromBottom } ] }>
        {children}
      </Animated.View>
    ) :
    children;

    let modalContainer = (
      <View style={ [ styles.container, containerStyle ] }>
        {innerModalContainer}
      </View>
    );

    // If the modal overlay is clickable, the structure is different.
    if ( closeOnTouchOutside ) {
      modalContainer = (
        <TouchableWithoutFeedback onPress={ toggleModalVisibility }>
          <View style={ [ styles.container, containerStyle ] }>
            <TouchableWithoutFeedback onPress={ this.stopPropagation }>
              {innerModalContainer}
            </TouchableWithoutFeedback>
          </View>
        </TouchableWithoutFeedback>
      );
    }

    return (
      <Modal
        animationType={ 'fade' }
        transparent
        visible={ visibility }
        onRequestClose={ this.onRequestClose }
      >
        { modalContainer }
      </Modal>
    );
  }
}

export default ModalWithOverlay;

@wootwoot1234 @rashtay
I am implementing this feature. You should see this functionality within 1-2 days.

Feature implemented! Published v1.2.0
it supports all animations from react-native-animatable
For more info, have a look at the prop section in the README

Thanks!
On Tue, Oct 24, 2017 at 10:36 AM Rahul Gaba<EMAIL_ADDRESS>wrote:

Feature implemented! Published v1.2.0
it supports all animations from react-native-animatable
For more info, have a look at the prop section in the README
https://github.com/rgabs/react-native-modal-overlay/blob/master/README.md
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rgabs/react-native-modal-overlay/issues/2#issuecomment-339071114,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZnGTpwWKTq2z9vMogu5juFTMRqggicks5sviADgaJpZM4O_jYj
.

@rgabs Awesome. Thanks a lot.


Add clears to common declarations

Floats are already common declarations, so this PR adds clears to the list.

😎


ORA-01400 on insertion of beregning

Seen as ORA-01400: cannot insert NULL into ("FIRE"."KOORDINAT"."SAGSEVENTID") in fire-gama

This is due to the autoflush feature of sqlalchemy and specifically that a query will trigger a flush and if the session at that time contains not yet flushed entities that are not complete and violates constraint(s) it will cause these kinds of exceptions.
What makes it a bit hard to predict is that an entity might become flagged to be persisted implicitly for example due to it being added to an already persistent related entity.


corrected typo

Hi @crowchirp, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

@crowchirp Thanks!


Duplicated manifests containing _(1) and (1)(1) #24

These last commits duplicated every manifest (ending in _(1) and _(1)_(1)) and may add more on the next run.
They also clutter the search on scoop.sh.
https://github.com/anderlli0053/DEV-tools/commit/947ee2daf6cf0a77750fd8d3a54a55545f5b64dc
https://github.com/okibcn/ScoopMaster/commit/b6263c42d1cf497fc34dab9d58d7b3a928842fc9

Fixed by https://github.com/anderlli0053/DEV-tools/commit/94f5e6c7c459d6af1b1c245961b492bcaaa7e77e


The JDBC class PoolDataSourceStatistics must be made more error proof.

While running Motown the Spring Scheduler did not show errors from this class correctly (just java.lang.NullPointerException).
Furthermore, the functionality to show statistics every minute/hour (depending on logger.isDebugEnabled()) must be re-activated.

Release 3.3.1


possible to allow binding of empty structs?

I have a library https://github.com/jmhodges/clock, that provides an interface Clock that is satisfied by an empty struct which is returned by New.
I've been working in a codebase that uses inject. We tried adding clock.Clock at an injection point, and only ran into trouble when going to a production-like deploy because inject rejects structs without a pointer.
Is there anyway that restriction could be loosened for empty structs? There's no danger in state getting lost by copy.
Perhaps, there was another reason for that restriction, though. Would love to hear it!

Also, totally aware that you could name the injection and solve the problem that way. But the API only exposes interfaces and people would likely forget that, under the hood, it was really a struct they needed to copy.

The reason we added the restriction was because it was too easy to create multiple instances by simply forgetting the * in a struct field. There is a "bypass" though, which is to explicitly add the inline tag like inject:"inline". Would that be sufficient for your use case?
I think it's a reasonable thing to special case empty structs here too.

Will consider this "as-designed" for now.


Function to randomize tracks

Generate a track randomly from the collection of tracks

This issue was moved to kroehl/MusicDiscoveryApp#1


Adaptive coordinate quantization

@LAStools pointed out that we don't need to give full coordinate precision to the client if it doesn't need it. The benefit of not doing that is the compression could be much higher for data that has 0.1 vs 0.01 coordinate precision.
The idea is the client would ask for a quantization level as part of the dimension request, and when the chunks are compressed, they are quantized to that.

Already done.


ARROW-13204: [MATLAB] Update documentation for the MATLAB Interface to reflect latest CMake build system changes

Overview
This pull request:

Updates the high level documentation for the MATLAB interface in arrow/matlab/README.md to reflect the latest CMake build system changes that were merged upstream as part of #12004.

Implementation

Restructured the README.md to focus on the most common build and test workflows for the MATLAB interface.

Testing
N/A
Future Directions

To be consistent and in-model with the other language bindings (e.g. Python, R, C++, etc.) - we plan to author in-depth technical documentation over time under arrow/docs/source/matlab using the reStructedText (.rst) format. The thought behind this README.md documentation is to provide a convenient "landing page" for the MATLAB interface which allows end users to quickly get a sense of where the project is at and to get started immediately with building and running the interface. However, every user and developer will have different use cases and needs for working with the MATLAB interface, so we will also want include in-depth documentation for major topics like building, installing, testing, contributing, usage, etc. As the MATLAB interface continues to develop, we will do our best to keep the documentation in sync with the source code.

Notes

Thank you to @lafiona for her help writing this updated documentation!

@kou - thank you for reviewing this pull request! I've accepted your suggested changes.
My apologies for using bash instead of console. I wasn't aware that console was an option for syntax highlighting.


Update default project names

Addresses https://github.com/aspnet/AspNetCore/issues/11820.
WIP testing.

I'll test this out in VS tomorrow.

@aspnet-hello triage https://dev.azure.com/dnceng/public/_build/results?buildId=276829

This comment was made automatically. If there is a problem contact<EMAIL_ADDRESS>I've triaged the above build. I've created/commented on the following issue(s)
https://github.com/aspnet/AspNetCore-Internal/issues/2617

@danroth27 I remember you were making plans about template names. Are these the template names you wanted?

@stevesandersonms This PR will clean up the default project names generated by the templates in VS. Changing the template names I believe was already done.

Turns out we can't test this without VS work so I'm merging as is.


Elapsed time by request

elapsed time after sending a request
Enhance PR by adding feature to display elapsed time HTTP request. Offers insight into response performance for optimization and user experience. Ensures transparency and aids in debugging. Includes necessary technical details for clarity.
Related Issues

Related Issue #177
Closes #177

Checklist

[x] I have gone through the contributing guide
[x] I have updated my branch and synced it with project main branch before making this PR
[x] I have run the tests (flutter test) and all tests are passing

Added/updated tests?

[x] Yes

All comments above.

All comments above.

Review again please

@Yousef-Rabia It is the reviewers task to mark a comment as resolved after verifying it, not the person whose code is under review.

@Yousef-Rabia It is the reviewers task to mark a comment as resolved after verifying it, not the person whose code is under review.

@animator Sorry I don't know

Why not Stack it on top of Lottie at a visible location.
It will eliminate the need of SingleChildScrollView and also the Lottie will not get displaced.

Why not Stack it on top of Lottie at a visible location. It will eliminate the need of SingleChildScrollView and also the Lottie will not get displaced.

Done

Thanks for the PR 🚀


Slug uniqueness not checked when moving page

Description
When page is moved, its slug uniqueness is not checked. Thus two pages with the same slug can be present on the same level.
Steps to reproduce

Create a page at the root level and give it a slug "test".
Publish the page
Using the Pages manager, copy the page and paste it as a child of the test page
Move the page back to the root - we now have two pages with the same slug (and both can be published)

Expected behaviour
Slug should be checked and the page move should either not be allowed or slug should be automatically modified.
Actual behaviour
Two pages with the same slug are allowed on the same level. Both can be published at the same time. The preview link in the Pages admin only points to the original (not to the copy).
Additional information
Situation has been reproduced on the Divio platform using a clean project - https://cms-bug-demo-stage.us.aldryn.io/en/admin/cms/page/?language=en

Confirmed. The slug is checked for uniqueness in the Page settings form, but not on page move.
(I could swear that we had logic that tested for this - has this been removed or bypassed?)
@czpython Can you comment?

I can confirm that this bug still exists in version 3.11.0 and even in 4.1.0rc.


Password generated for sql server does not meet SQL Server password policy requirements

When adding SQL server container to distributed app the random password generated for the sa does not meet SQL Server password policy requirements.
code in Aspire.AppHost project.
builder.AddSqlServerContainer("sql").AddDatabase("sqldata");
log output from sql container
ERROR: Unable to set system administrator password: Password validation failed. The password does not meet SQL Server password
policy requirements because it is not complex enough. The password must be at least 8 characters long and contain characters from
three of the following four sets: Uppercase letters, Lowercase letters, Base 10 digits, and Symbols..

Current work around is just to pass in your own password like so
builder.AddSqlServerContainer("sql", "{password}").AddDatabase("sqldata");
I'm pretty sure the code that generates the password Guid.NewGuid().ToString("N") will only contain numbers and letters, no symbols and no Uppercase letters.

Thanks @ZieMcd. Do you mean the default SQL Server password policy, or has it been customized?

@DamianEdwards, I am unsure. I don't think I am customizing the password policy as my setup is pretty simple.
In program.cs for the aspire.host project I would have this
var sql = builder.AddSqlServerContainer("sql",).AddDatabase("database");
var apiService = builder.AddProject<My_API>("apiservice")

and in program.cs for my api I have this
builder.AddSqlServerDbContext<MyContext>("database");

And that's it, not sure how I would alter the password policy.

I was just trying this too, very simple setup:
var builder = DistributedApplication.CreateBuilder(args);

var sql = builder.AddSqlServerContainer("sql").AddDatabase("GameStore");

var backend = builder.AddProject<Projects.GameStore_Api>("backend")
                     .WithReference(sql);

builder.AddProject<Projects.GameStore_Frontend>("frontend")
       .WithReference(backend);

builder.Build().Run();

Same error:
ERROR: Unable to set system administrator password: Password validation failed. The password does not meet SQL Server password policy requirements because it is not complex enough. The password must be at least 8 characters long and contain characters from three of the following four sets: Uppercase letters, Lowercase letters, Base 10 digits, and Symbols..
Here's the password that was set by the AppHost, which will not work:

Can we get a real password there?
Having to set my own password kind of defeats the purpose of not having to think too much about infra concerns.

Yeah this is a straight up bug.


Curvature rate definition when "inverting" clothoid

Hi, first of all thanks a bunch for this package it's great! And we are using it (as my colleague Irene already said) in our package scenariogeneration.
I have one question that caused me some headache (might be me who don't understand fully the definitions.
In our package we sometimes want to calculate the "inverted" clothoid (so we know the end point instead of the start point), however this caused a problem (that the previous method we used didn't have). I made a simple example to explain
import pyclothoids as pcloth

import numpy as np
curvature_0 = 0.0001
curvature_rate = 0.0001
x = 0
y = 0
h = 0
length = 100

cloth_1 = pcloth.Clothoid.StandardParams(x, y, h, curvature_0, curvature_rate, length)

print(cloth_1.XEnd, cloth_1.YEnd, cloth_1.ThetaEnd,cloth_1.KappaStart,cloth_1.KappaEnd)

cloth_2 = pcloth.Clothoid.StandardParams(cloth_1.XEnd, cloth_1.YEnd, cloth_1.ThetaEnd+np.pi, -cloth_1.KappaEnd, -curvature_rate, length)

print(cloth_2.XEnd, cloth_2.YEnd, cloth_2.ThetaEnd,cloth_2.KappaStart,cloth_2.KappaEnd)

So a simple example where I use a clothoid to calculate the end point, then use that endpoint to back track (and expect the same results).
What confuses me here is the curvature_rate, if I have is the example (in cloth_2), I would assume that the curvature_rate should be negative to come back to the original point, but that is not the case. it requires a positive curvature rate as
cloth_2 = pcloth.Clothoid.StandardParams(cloth_1.XEnd, cloth_1.YEnd, cloth_1.ThetaEnd+np.pi, -cloth_1.KappaEnd, curvature_rate, length)

to return to the correct start point.
Have I missed something fundamental, or is this a bug somewhere?

While a bit counterintuitive, the curvature rates in the package are correct mathematically.  The reason this is counterintuitive is because when a clothoid is "inverted" this way, the curvature rate undergoes two sign-changing transformations that ultimately cancel out.  I'll try to make sense of it using intuition instead of burdensome equations here, apologies if it comes out a bit seeming a bit arcane:
When you flip directions this way, the sign of the curvature changes because while you are still on the same "osculating circle" at each point, you are now instantaneously rotating clockwise instead of counterclockwise.  This is why the initial curvature changed signs.  However, the directionality of the arc length "s" also changes, because the end point of the old clothoid is the start point of the new clothoid.  So as the arc length increases, you move in the opposite direction along the new curve as you did on the old curve, so in the case of the curvature rate, the sign flips again.  To be more specific, the curvature rate is the derivative of the curvature with respect to arc length, so dk/ds.  Both "k" and "s" changed signs, so the new clothoid's curvature rate would be -dk/-ds = dk/ds.
You can sanity check this reasoning easily with an example.  Consider a clothoid curve that starts with zero curvature, but ends with 1 curvature.  If we invert that clothoid, the new clothoid will start with -1 curvature and end with zero curvature.  For both cases, the starting curvature is less than the ending curvature, so in both cases the curvature rate must be positive.
Now, about fixing your headaches.  The case you're describing is definitely a "gotcha", despite being technically correct, so pyclothoids includes a dedicated method to do the exact task you're describing.  If you call Clothoid.Reverse(), you will get the correctly reversed (or inverted) clothoid as you want, without needing to fuss with the sign conventions yourself.  The inversion also takes place on the C++ layer of the code if you use the library function, so I suspect it will be more performant as well (though I did see some vanishingly small numerical differences between your code and the library function, on the order of 10^-14).  Try this:
import pyclothoids as pcloth

import numpy as np
curvature_0 = 0
curvature_rate = 1
x = 0
y = 0
h = 0
length = 5

cloth_1 = pcloth.Clothoid.StandardParams(x, y, h, curvature_0, curvature_rate, length)

print(cloth_1.XEnd, cloth_1.YEnd, cloth_1.ThetaEnd,cloth_1.KappaStart,cloth_1.KappaEnd)

cloth_2 = pcloth.Clothoid.StandardParams(cloth_1.XEnd, cloth_1.YEnd, cloth_1.ThetaEnd+np.pi, -cloth_1.KappaEnd, curvature_rate, length)

print(cloth_2.XEnd, cloth_2.YEnd, cloth_2.ThetaEnd,cloth_2.KappaStart,cloth_2.KappaEnd)

cloth_3 = cloth_1.Reverse()

print(cloth_3.XEnd, cloth_3.YEnd, cloth_3.ThetaEnd,cloth_3.KappaStart,cloth_3.KappaEnd)

Let me know if there's any other concerns, or if this clears it up.

Thanks for the quick reply!
I follow what you mean and can accept it ;)
Now for our use case (not exactly me example sadly enough was more of a showcase for the problem at hand). We are patching different geometries together and therefore we have a two step definition of all geometries (including the Clothoid):

give length, curvature_start, and curvature_end (get the rate from this)
give a start or end point of the clothoid and calculate for the one missing. So the reverse method will not work in this case since I cannot give any x,y,h info for the calculation,

Hence it depends on if we get the start or end point if we want to revert it or not. But with this explanation I feel more confident what we are doing is correct.
Thanks again.

Sorry for the delay here, I'm going to go ahead and close this issue as it seems to be resolved in the short term with this clarification.  If you think of any way to extend the existing interface to improve quality of life for your application while keeping with the design philosophy of the package, please let me know.


Intuitive comments and vocabulary in get_data

Need to work more work on providing intuitive

Comments to each line of get_data
Names of functions in get_data
Change names structure from verb_object (e.g. update_call) to object_verb (e.g. call_update).

I removed the list of "Unused Functions" in get_data.R

Changed names in get_data

potential_vars to possible_vars
all_columns to all_vars
default_columns to default_vars
actual_vars to subset_vars.
inherit_vars expr_vars
inherit_search to expr_vars_get
search_argument to search_expression
all_calls to updated_calls
search_arg to sql_condition
select_vars to vars_select
query_vars to vars_query
query_popler to popler_query

Finally, I also changed the language in two comments, to make it more intuitive. Commit is here.
https://github.com/AldoCompagnoni/popler/commit/a03b07cc55f1ca9b8623495ca9b9041eae89a019
I suggest to close this issue.


Use EncodeUri() if part of the URL path or EncodeUriComponent() if used as a URL parameter

https://github.com/plista/gtm-conversion-plus-event/blob/c131b043f70fead14c6bec6dbd2d4ea258a8af07/template.tpl#LL60C58-L60C71
When reviewing your template we've noticed that it is using parameters to build a url. It's a best practice to use EncodeUri() if part of the URL path or EncodeUriComponent() if used as a URL parameter.

Fixed. Thank you for raising the issue.


Using Custom Camera Source

Is it possible to use a custom camera source instead of using the camera source from the SDK when
initializing the localvideo track
cameraCapturer = new CameraCapturer(this, CameraSource.FRONT_CAMERA);
LocalVideoTrack localVideoTrack = LocalVideoTrack.create(context, true, cameraCapturer);
My usecase is to add a background/bokhe effect to the video before it is rendering on the view.So the user have a control over this.like he can turn on /off his background blurring.So i though about modifying the camerasource before it is giving to a localvideotrack.I saw most of the cameracapture functions expecting a camerasource of type same from the SDK.Can you recommend some suggestions for this

Hey @Sujith-PS
This should be possible by writing your own custom VideoCapturer or extending the CameraCapturer or Camere2Capturer and intercepting the camera frames before they are sent to the SDK media engine. Both approaches are non-trivial tasks. I suggest you reference our custom video capturer example to understand what is involved in writing a custom video capturer.
If you'd like to explore further, I suggest creating a separate Github project where we can prototype the use case together.
Enabling this type of use case is not currently on our roadmap, so I will close this issue. However, we will certainly try to help where possible.
Thanks!

hey @aaalaniz
i had tried the above sample for custom camera source .its only working with linerlayout/imageview kind views.When i tried to give a actual cameraview/openCVcamera to the customcapture ,getting a darkscreen in the renderpart
localVideoTrack = LocalVideoTrack.create(this, true, new ViewCapturer(CameraView));
localVideoTrack.addRenderer(videoView);
Is there any call back inside the CameraCapture to get the Frames from the Actual Camera Source?Can you suggest any sample code demonstrate the  manipulation of  frames from camera Source before it is giving to the SDK media engine?

Hey @Sujith-PS
If you extend the CameraCapturer or Camera2Capturer classes, you should be able to override startCapture and proxy the frames delivered to the provided VideoCapturer.Listener.
The steps should work as follows:

Extend CameraCapturer or Camera2Capturer
Override startCapture and create your own VideoCapturer.Listener which wraps the listener provided from the media engine. (super.startCapture(videoFormat, yourCustomCapturerListener)
In your capturer listener process the VideoFrame and after the process proxy the modified frame to the encapsulated listener provided from the media engine.


Does IOMMU need to check the EN_ATS for ATS Invalidation Completion？

Is it possible that software send a ATS INVAL command whose EN_ATS is 0？ And if it is possible，I think IOMMU needs to check the EN_ATS about the ATS Invalidation Completion.

The IOMMU processes invalidation completions only if there is an outstanding invalidation being tracked by the IOMMU i.e. software has submitted a invalidation request. Each invalidation request has a invalidation tag (ITAG) and a device may generate as many invalidation completions as the number of Traffic Classes (TCs) it may have used. The IOMMU tracks the pending invalidations using a tracker indexed by ITAG and DID . If a completion is received for which there is no outstanding invalidation then they are discarded as unsupported requests. There is no need to check EN_ATS for this action.

I see. Thanks for your answer.


typo

Just a typo

Sorry, I'm just reading this now. The typo is fixed by https://github.com/berkeleydeeprlcourse/homework/commit/3f45a4282fc7f15a5b5ebd78e748acaa84f45933.


Avoid recompiling remote native node modules

Fixes #112320

Build is running, let's see how it goes.

CI build passed.
Triggered product build: https://dev.azure.com/monacotools/Monaco/_build/results?buildId=97399&view=results

CI passed. Triggering product build so we verify the assets: https://dev.azure.com/monacotools/Monaco/_build/results?buildId=97403&view=results

@deepak1556 We already started getting build assets for that commit on our builds page: 56c83dc694. Do you mind downloading them and checking if the changes worked? Ie if everything is compiled as expected, with the right glibc dependencies, both client and server?

ea290c5ced which doesn't rebuild, is using gcc-5

$ strings ~/Downloads/vscode-server-linux-x64/node_modules/spdlog/build/Release/spdlog.node | grep GLIBCXX
GLIBCXX_3.4.18
GLIBCXX_3.4.14
GLIBCXX_3.4.19
GLIBCXX_3.4.11
GLIBCXX_3.4.21
GLIBCXX_3.4.20
GLIBCXX_3.4

56c83dc694 which uses rebuild step has correct gcc-4.8 toolchain

$ strings ~/Downloads/vscode-server-linux-x64/node_modules/spdlog/build/Release/spdlog.node | grep GLIBCXX
GLIBCXX_3.4.18
GLIBCXX_3.4.14
GLIBCXX_3.4.19
GLIBCXX_3.4.11
GLIBCXX_3.4

This is because even when I ignore the cache, product-build-linux.yml skips install dependency step https://dev.azure.com/monacotools/Monaco/_build/results?buildId=97463&view=results and uses the result from product-compile and hence our env changes are not picked up.
@joaomoreno how can we make sure product-build-linux doesn't skip install dependency step ?
Also follow-up question, now that we have different cross-compilation setups, why do we want to install dependencies in the product-compile step and save them to cache. Can we just let each platform stage do that operation and save the right result to cache ?

Oh. I forgot that as well. The product compile should be the same as the product linux yarn install. That way the product linux reuses the compilation efforts from the product compile.


Fix migrateMappings using wrong yarn group

This replaces/extends the migrateMappings task to change the yarn group before the task executes.
With this migrateMappings can be used in the following ways:
gradlew migrateMappings --mappings "529"
gradlew migrateMappings --mappings "1.12.2+build.529"
gradlew migrateMappings --mappings "net.legacyfabric:yarn:1.12.2+build.529:v2"

Can you also add a case for v2 mappings? Dependency string should be net.legacyfabric.v2:yarn for it.

Done


use windows.h rather than afxres.h

If I try to build this project on Windows without MFC installed, then I get this error:
C:\dev\ros2\src\eProsima\Fast-RTPS\src\cpp\fastrtps.rc(33): fatal error RC1015: cannot open include file 'afxres.h'. [C:\dev\ros2\build\fastrtps\src\cpp\fastrtps_static.vcxproj]

According to this SO post, this can safely be replaced with #include "windows.h":
http://stackoverflow.com/questions/3566018/cannot-open-include-file-afxres-h-in-vc2010-express
This does fix the problem on my machine.

Thanks @wjwwood


v2 natural cross section integration

This PR proposes changes required to use the new batch of natural cross section data (un-refactored) assembled by GID team.
Additions

Removals

Changes

Testing

Screenshots
Notes

Todos

Checklist

[ ] PR has an informative and human-readable title
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows project standards (link if applicable)
[ ] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[ ] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist
Target Environment support

[ ] Windows
[ ] Linux
[ ] Browser

Accessibility

[ ] Keyboard friendly
[ ] Screen reader friendly

Other

[ ] Is useable without CSS
[ ] Is useable without JS
[ ] Flexible from small to large screens
[ ] No linting errors or warnings
[ ] JavaScript tests are passing

Closing because it is out dated. Changes to diffusive.f90 are unnecessary due to more recent updates to the natural cross section data product.


Thai translation

WIP. Will try to do a couple of pages a day. Thai is my second language and I'm doing this largely with help from AI (if only because it's quicker to copy'n'paste!), so native speaker review or assistance would be welcome :smile:

I just merged this into the main repo. Thank you @rossigee and @wow1234zaza for your work on this! I will begin the process of adding Thai as an option to the website.


Add typescript example

Coverage remained the same at 95.971% when pulling e9f47e9b9a04b51f0f11afcd5b4a0bda1e360f1b on typescript-example into 7a0346f46ca73f270c9fd73c76c0d8c7873bce26 on master.


Getting started - correct imports are needed

The getting started import:
from datachain.lib.dc import Column, DataChain
from datachain.lib.file import File

while it should be
from datachain import Column, DataChain, File

I set P1 since it's user facing part.
@volkfox I'd appreciate it if you could take care of this sooner.

closing via #275


Working with gcovr

I think there is an issue with having scikit-build copy the files that breask gcovr:
$ gcovr --xml coveage.xml -r .
(ERROR) Trouble processing '/home/lecris/CLionProjects/spglib/cmake-build-scikit/python/CMakeFiles/Spglib_python.dir/_spglib.c.gcda' with working directory '/home'.

It also has an issue with GDB. (maybe the same problem) Even when I turn on the debug flags, I still cannot see detailed lines from GDB.


spanish translation, Add privacy notice to disclaimer page

spanish translation, Add privacy notice to disclaimer page

I don't speak Spanish, but Marc came and added this translation for a sentence that was added in #98.


Adding new points after fit

Thank you for LMDS, as computing the NXN matrix can be exhaustive, this is a truly needed solution!
Given I already have an LMDS projection, is there a way to assess the projection of new points without computing the full projection? i.e. by only having the similarity vector the landmarks, to find the projected vector of the new sample?

Hi Dvir, sorry for the late reply! For sure you can, you just need to save the eigenvectors of the landmarks! For that we need to refactor the code, maybe using a a projection class that saves the vectors as attributes would be an elegant solution and then a method to project new points could be created. :)


Add rc1 changes.

Please review. I did this quick and dirty.
You are welcome to match the license if you want to rewrite the pr.

Some files were deleted and in some places the formatting was even uglier while in others it was missed.
If you have nothing to add, I think that now it looks nice and neat. Thanks!

Feel free to merge or modify as needed. Trying to release godot engine 4 so I'm a bit distracted.

Feel free to merge or modify as needed. Trying to release godot engine 4 so I'm a bit distracted.

Understandable

Thanks! ❤


from torch.utils.tensorboard import SummaryWriter  Descriptors cannot not be created directly.

system protobuf version was 3.20.1, but it's updated when running some notebooks
03:16:20  Running ./3d_segmentation/unet_segmentation_3d_ignite.ipynb
03:16:20  Checking PEP8 compliance...
03:16:20  Running notebook...
03:16:20  Before:
03:16:20      "max_epochs = 10\n",
03:16:20  After:
03:16:20      "max_epochs = 1\n",
03:16:26  MONAI version: 1.1.0+22.gf14d50ab
03:16:26  Numpy version: 1.22.2
03:16:26  Pytorch version: 1.14.0a0+410ce96
03:16:26  MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False
03:16:26  MONAI rev id: f14d50ab00baec9813c9061896cf7ab21c356891
03:16:26  MONAI __file__: /home/jenkins/agent/workspace/Monai-notebooks/MONAI/monai/__init__.py
03:16:26
03:16:26  Optional dependencies:
03:16:26  Pytorch Ignite version: 0.4.10
03:16:26  Nibabel version: 5.0.0
03:16:26  scikit-image version: 0.19.3
03:16:26  Pillow version: 9.2.0
03:16:26  Tensorboard version: 2.9.0
03:16:26  gdown version: 4.6.0
03:16:26  TorchVision version: 0.15.0a0
03:16:26  tqdm version: 4.64.1
03:16:26  lmdb version: 1.4.0
03:16:26  psutil version: 5.9.4
03:16:26  pandas version: 1.5.2
03:16:26  einops version: 0.6.0
03:16:26  transformers version: 4.21.3
03:16:26  mlflow version: 2.1.1
03:16:26  pynrrd version: 1.0.0
03:16:26
03:16:26  For details about installing the optional dependencies, please visit:
03:16:26      https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies
03:16:26
03:16:26  papermill  --progress-bar -k python3
03:16:26  /usr/local/lib/python3.8/dist-packages/papermill/iorw.py:153: UserWarning: the file is not specified with any extension : -
03:16:26    warnings.warn(
03:16:50
Executing:   0%|          | 0/29 [00:00<?, ?cell/s]
Executing:   3%|▎         | 1/29 [00:01<00:41,  1.47s/cell]
Executing:  10%|█         | 3/29 [00:07<01:08,  2.65s/cell]
Executing:  17%|█▋        | 5/29 [00:12<01:01,  2.57s/cell]
Executing:  38%|███▊      | 11/29 [00:20<00:30,  1.67s/cell]
Executing:  45%|████▍     | 13/29 [00:21<00:23,  1.46s/cell]
Executing:  66%|██████▌   | 19/29 [00:22<00:07,  1.29cell/s]
Executing:  66%|██████▌   | 19/29 [00:23<00:12,  1.26s/cell]
03:16:50  /usr/local/lib/python3.8/dist-packages/papermill/iorw.py:153: UserWarning: the file is not specified with any extension : -
03:16:50    warnings.warn(
03:16:50  Traceback (most recent call last):
03:16:50    File "/usr/local/bin/papermill", line 8, in <module>
03:16:50      sys.exit(papermill())
03:16:50    File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1130, in __call__
03:16:50      return self.main(*args, **kwargs)
03:16:50    File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1055, in main
03:16:50      rv = self.invoke(ctx)
03:16:50    File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1404, in invoke
03:16:50      return ctx.invoke(self.callback, **ctx.params)
03:16:50    File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 760, in invoke
03:16:50      return __callback(*args, **kwargs)
03:16:50    File "/usr/local/lib/python3.8/dist-packages/click/decorators.py", line 26, in new_func
03:16:50      return f(get_current_context(), *args, **kwargs)
03:16:50    File "/usr/local/lib/python3.8/dist-packages/papermill/cli.py", line 250, in papermill
03:16:50      execute_notebook(
03:16:50    File "/usr/local/lib/python3.8/dist-packages/papermill/execute.py", line 128, in execute_notebook
03:16:50      raise_for_execution_errors(nb, output_path)
03:16:50    File "/usr/local/lib/python3.8/dist-packages/papermill/execute.py", line 232, in raise_for_execution_errors
03:16:50      raise error
03:16:50  papermill.exceptions.PapermillExecutionError:
03:16:50  ---------------------------------------------------------------------------
03:16:50  Exception encountered at "In [9]":
03:16:50  ---------------------------------------------------------------------------
03:16:50  OptionalImportError                       Traceback (most recent call last)
03:16:50  Cell In[9], line 21
03:16:50       18 train_stats_handler.attach(trainer)
03:16:50       20 # TensorBoardStatsHandler plots loss at every iteration
03:16:50  ---> 21 train_tensorboard_stats_handler = TensorBoardStatsHandler(log_dir=log_dir, output_transform=lambda x: x)
03:16:50       22 train_tensorboard_stats_handler.attach(trainer)
03:16:50       24 # MLFlowHandler plots loss at every iteration on MLFlow web UI
03:16:50
03:16:50  File /home/jenkins/agent/workspace/Monai-notebooks/MONAI/monai/handlers/tensorboard_handlers.py:131, in TensorBoardStatsHandler.__init__(self, summary_writer, log_dir, iteration_log, epoch_log, epoch_event_writer, epoch_interval, iteration_event_writer, iteration_interval, output_transform, global_epoch_transform, state_attributes, tag_name)
03:16:50       87 def __init__(
03:16:50       88     self,
03:16:50       89     summary_writer=None,
03:16:50     (...)
03:16:50      100     tag_name: str = DEFAULT_TAG,
03:16:50      101 ) -> None:
03:16:50      102     """
03:16:50      103     Args:
03:16:50      104         summary_writer: user can specify TensorBoard or TensorBoardX SummaryWriter,
03:16:50     (...)
03:16:50      129         tag_name: when iteration output is a scalar, tag_name is used to plot, defaults to ``'Loss'``.
03:16:50      130     """
03:16:50  --> 131     super().__init__(summary_writer=summary_writer, log_dir=log_dir)
03:16:50      132     self.iteration_log = iteration_log
03:16:50      133     self.epoch_log = epoch_log
03:16:50
03:16:50  File /home/jenkins/agent/workspace/Monai-notebooks/MONAI/monai/handlers/tensorboard_handlers.py:51, in TensorBoardHandler.__init__(self, summary_writer, log_dir)
03:16:50       49 def __init__(self, summary_writer=None, log_dir: str = "./runs"):
03:16:50       50     if summary_writer is None:
03:16:50  ---> 51         self._writer = SummaryWriter(log_dir=log_dir)
03:16:50       52         self.internal_writer = True
03:16:50       53     else:
03:16:50
03:16:50  File /home/jenkins/agent/workspace/Monai-notebooks/MONAI/monai/utils/module.py:418, in optional_import.<locals>._LazyRaise.__call__(self, *_args, **_kwargs)
03:16:50      413 def __call__(self, *_args, **_kwargs):
03:16:50      414     """
03:16:50      415     Raises:
03:16:50      416         OptionalImportError: When you call this method.
03:16:50      417     """
03:16:50  --> 418     raise self._exception
03:16:50
03:16:50  File /home/jenkins/agent/workspace/Monai-notebooks/MONAI/monai/utils/module.py:370, in optional_import(module, version, version_checker, name, descriptor, version_args, allow_namespace_pkg, as_type)
03:16:50      368     actual_cmd = f"import {module}"
03:16:50      369 try:
03:16:50  --> 370     pkg = __import__(module)  # top level module
03:16:50      371     the_module = import_module(module)
03:16:50      372     if not allow_namespace_pkg:
03:16:50
03:16:50  File /usr/local/lib/python3.8/dist-packages/torch/utils/tensorboard/__init__.py:12
03:16:50        9 del LooseVersion
03:16:50       10 del tensorboard
03:16:50  ---> 12 from .writer import FileWriter, SummaryWriter  # noqa: F401
03:16:50       13 from tensorboard.summary.writer.record_writer import RecordWriter  # noqa: F401
03:16:50
03:16:50  File /usr/local/lib/python3.8/dist-packages/torch/utils/tensorboard/writer.py:9
03:16:50        6 import torch
03:16:50        8 from tensorboard.compat import tf
03:16:50  ----> 9 from tensorboard.compat.proto.event_pb2 import SessionLog
03:16:50       10 from tensorboard.compat.proto.event_pb2 import Event
03:16:50       11 from tensorboard.compat.proto import event_pb2
03:16:50
03:16:50  File /usr/local/lib/python3.8/dist-packages/tensorboard/compat/proto/event_pb2.py:17
03:16:50       12 # @@protoc_insertion_point(imports)
03:16:50       14 _sym_db = _symbol_database.Default()
03:16:50  ---> 17 from tensorboard.compat.proto import summary_pb2 as tensorboard_dot_compat_dot_proto_dot_summary__pb2
03:16:50       20 DESCRIPTOR = _descriptor.FileDescriptor(
03:16:50       21   name='tensorboard/compat/proto/event.proto',
03:16:50       22   package='tensorboard',
03:16:50     (...)
03:16:50       26   ,
03:16:50       27   dependencies=[tensorboard_dot_compat_dot_proto_dot_summary__pb2.DESCRIPTOR,])
03:16:50       29 _WORKERHEALTH = _descriptor.EnumDescriptor(
03:16:50       30   name='WorkerHealth',
03:16:50       31   full_name='tensorboard.WorkerHealth',
03:16:50     (...)
03:16:50       55   serialized_end=1319,
03:16:50       56 )
03:16:50
03:16:50  File /usr/local/lib/python3.8/dist-packages/tensorboard/compat/proto/summary_pb2.py:17
03:16:50       12 # @@protoc_insertion_point(imports)
03:16:50       14 _sym_db = _symbol_database.Default()
03:16:50  ---> 17 from tensorboard.compat.proto import tensor_pb2 as tensorboard_dot_compat_dot_proto_dot_tensor__pb2
03:16:50       20 DESCRIPTOR = _descriptor.FileDescriptor(
03:16:50       21   name='tensorboard/compat/proto/summary.proto',
03:16:50       22   package='tensorboard',
03:16:50     (...)
03:16:50       26   ,
03:16:50       27   dependencies=[tensorboard_dot_compat_dot_proto_dot_tensor__pb2.DESCRIPTOR,])
03:16:50       29 _DATACLASS = _descriptor.EnumDescriptor(
03:16:50       30   name='DataClass',
03:16:50       31   full_name='tensorboard.DataClass',
03:16:50     (...)
03:16:50       55   serialized_end=1228,
03:16:50       56 )
03:16:50
03:16:50  File /usr/local/lib/python3.8/dist-packages/tensorboard/compat/proto/tensor_pb2.py:16
03:16:50       11 # @@protoc_insertion_point(imports)
03:16:50       13 _sym_db = _symbol_database.Default()
03:16:50  ---> 16 from tensorboard.compat.proto import resource_handle_pb2 as tensorboard_dot_compat_dot_proto_dot_resource__handle__pb2
03:16:50       17 from tensorboard.compat.proto import tensor_shape_pb2 as tensorboard_dot_compat_dot_proto_dot_tensor__shape__pb2
03:16:50       18 from tensorboard.compat.proto import types_pb2 as tensorboard_dot_compat_dot_proto_dot_types__pb2
03:16:50
03:16:50  File /usr/local/lib/python3.8/dist-packages/tensorboard/compat/proto/resource_handle_pb2.py:16
03:16:50       11 # @@protoc_insertion_point(imports)
03:16:50       13 _sym_db = _symbol_database.Default()
03:16:50  ---> 16 from tensorboard.compat.proto import tensor_shape_pb2 as tensorboard_dot_compat_dot_proto_dot_tensor__shape__pb2
03:16:50       17 from tensorboard.compat.proto import types_pb2 as tensorboard_dot_compat_dot_proto_dot_types__pb2
03:16:50       20 DESCRIPTOR = _descriptor.FileDescriptor(
03:16:50       21   name='tensorboard/compat/proto/resource_handle.proto',
03:16:50       22   package='tensorboard',
03:16:50     (...)
03:16:50       26   ,
03:16:50       27   dependencies=[tensorboard_dot_compat_dot_proto_dot_tensor__shape__pb2.DESCRIPTOR,tensorboard_dot_compat_dot_proto_dot_types__pb2.DESCRIPTOR,])
03:16:50
03:16:50  File /usr/local/lib/python3.8/dist-packages/tensorboard/compat/proto/tensor_shape_pb2.py:36
03:16:50       13 _sym_db = _symbol_database.Default()
03:16:50       18 DESCRIPTOR = _descriptor.FileDescriptor(
03:16:50       19   name='tensorboard/compat/proto/tensor_shape.proto',
03:16:50       20   package='tensorboard',
03:16:50     (...)
03:16:50       23   serialized_pb=_b('\n+tensorboard/compat/proto/tensor_shape.proto\x12\x0btensorboard\"{\n\x10TensorShapeProto\x12.\n\x03\x64im\x18\x02 \x03(\x0b\x32!.tensorboard.TensorShapeProto.Dim\x12\x14\n\x0cunknown_rank\x18\x03 \x01(\x08\x1a!\n\x03\x44im\x12\x0c\n\x04size\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\tB\x87\x01\n\x18org.tensorflow.frameworkB\x11TensorShapeProtosP\x01ZSgithub.com/tensorflow/tensorflow/tensorflow/go/core/framework/tensor_shape_go_proto\xf8\x01\x01\x62\x06proto3')
03:16:50       24 )
03:16:50       29 _TENSORSHAPEPROTO_DIM = _descriptor.Descriptor(
03:16:50       30   name='Dim',
03:16:50       31   full_name='tensorboard.TensorShapeProto.Dim',
03:16:50       32   filename=None,
03:16:50       33   file=DESCRIPTOR,
03:16:50       34   containing_type=None,
03:16:50       35   fields=[
03:16:50  ---> 36     _descriptor.FieldDescriptor(
03:16:50       37       name='size', full_name='tensorboard.TensorShapeProto.Dim.size', index=0,
03:16:50       38       number=1, type=3, cpp_type=2, label=1,
03:16:50       39       has_default_value=False, default_value=0,
03:16:50       40       message_type=None, enum_type=None, containing_type=None,
03:16:50       41       is_extension=False, extension_scope=None,
03:16:50       42       serialized_options=None, file=DESCRIPTOR),
03:16:50       43     _descriptor.FieldDescriptor(
03:16:50       44       name='name', full_name='tensorboard.TensorShapeProto.Dim.name', index=1,
03:16:50       45       number=2, type=9, cpp_type=9, label=1,
03:16:50       46       has_default_value=False, default_value=_b("").decode('utf-8'),
03:16:50       47       message_type=None, enum_type=None, containing_type=None,
03:16:50       48       is_extension=False, extension_scope=None,
03:16:50       49       serialized_options=None, file=DESCRIPTOR),
03:16:50       50   ],
03:16:50       51   extensions=[
03:16:50       52   ],
03:16:50       53   nested_types=[],
03:16:50       54   enum_types=[
03:16:50       55   ],
03:16:50       56   serialized_options=None,
03:16:50       57   is_extendable=False,
03:16:50       58   syntax='proto3',
03:16:50       59   extension_ranges=[],
03:16:50       60   oneofs=[
03:16:50       61   ],
03:16:50       62   serialized_start=150,
03:16:50       63   serialized_end=183,
03:16:50       64 )
03:16:50       66 _TENSORSHAPEPROTO = _descriptor.Descriptor(
03:16:50       67   name='TensorShapeProto',
03:16:50       68   full_name='tensorboard.TensorShapeProto',
03:16:50     (...)
03:16:50      100   serialized_end=183,
03:16:50      101 )
03:16:50      103 _TENSORSHAPEPROTO_DIM.containing_type = _TENSORSHAPEPROTO
03:16:50
03:16:50  File /usr/local/lib/python3.8/dist-packages/google/protobuf/descriptor.py:560, in FieldDescriptor.__new__(cls, name, full_name, index, number, type, cpp_type, label, default_value, message_type, enum_type, containing_type, is_extension, extension_scope, options, serialized_options, has_default_value, containing_oneof, json_name, file, create_key)
03:16:50      554 def __new__(cls, name, full_name, index, number, type, cpp_type, label,
03:16:50      555             default_value, message_type, enum_type, containing_type,
03:16:50      556             is_extension, extension_scope, options=None,
03:16:50      557             serialized_options=None,
03:16:50      558             has_default_value=True, containing_oneof=None, json_name=None,
03:16:50      559             file=None, create_key=None):  # pylint: disable=redefined-builtin
03:16:50  --> 560   _message.Message._CheckCalledFromGeneratedFile()
03:16:50      561   if is_extension:
03:16:50      562     return _message.default_pool.FindExtensionByName(full_name)
03:16:50
03:16:50  OptionalImportError: from torch.utils.tensorboard import SummaryWriter (Descriptors cannot not be created directly.
03:16:50  If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
03:16:50  If you cannot immediately regenerate your protos, some other possible workarounds are:
03:16:50   1. Downgrade the protobuf package to 3.20.x or lower.
03:16:50   2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
03:16:50
03:16:50  More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates).
03:16:50
03:16:50  For details about installing the optional dependencies, please visit:
03:16:50      https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies

this tutorial actual modifies the protobuf version https://github.com/Project-MONAI/tutorials/blob/main/deployment/ray/mednist_classifier_ray.ipynb

still there's another issue
[2023-01-16T09:09:39.010Z] Running ./deployment/ray/mednist_classifier_ray.ipynb
[2023-01-16T09:09:39.010Z] Checking PEP8 compliance...
[2023-01-16T09:09:39.574Z] Running notebook...
[2023-01-16T09:09:44.824Z] MONAI version: 1.1.0+24.g6cb4ced0
[2023-01-16T09:09:44.824Z] Numpy version: 1.22.2
[2023-01-16T09:09:44.824Z] Pytorch version: 1.14.0a0+410ce96
[2023-01-16T09:09:44.824Z] MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False
[2023-01-16T09:09:44.824Z] MONAI rev id: 6cb4ced0ea50b427a4065b4516be61b7a073abce
[2023-01-16T09:09:44.824Z] MONAI file: /home/jenkins/agent/workspace/Monai-notebooks/MONAI/monai/init.py
[2023-01-16T09:09:44.824Z]
[2023-01-16T09:09:44.824Z] Optional dependencies:
[2023-01-16T09:09:44.824Z] Pytorch Ignite version: 0.4.10
[2023-01-16T09:09:44.824Z] Nibabel version: 5.0.0
[2023-01-16T09:09:44.824Z] scikit-image version: 0.19.3
[2023-01-16T09:09:44.824Z] Pillow version: 9.2.0
[2023-01-16T09:09:44.824Z] Tensorboard version: 2.9.0
[2023-01-16T09:09:44.824Z] gdown version: 4.6.0
[2023-01-16T09:09:44.824Z] TorchVision version: 0.15.0a0
[2023-01-16T09:09:44.824Z] tqdm version: 4.64.1
[2023-01-16T09:09:44.824Z] lmdb version: 1.4.0
[2023-01-16T09:09:44.824Z] psutil version: 5.9.4
[2023-01-16T09:09:44.824Z] pandas version: 1.5.2
[2023-01-16T09:09:44.824Z] einops version: 0.6.0
[2023-01-16T09:09:44.824Z] transformers version: 4.21.3
[2023-01-16T09:09:44.824Z] mlflow version: 2.1.1
[2023-01-16T09:09:44.824Z] pynrrd version: 1.0.0
[2023-01-16T09:09:44.824Z]
[2023-01-16T09:09:44.824Z] For details about installing the optional dependencies, please visit:
[2023-01-16T09:09:44.824Z]     https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies
[2023-01-16T09:09:44.824Z]
[2023-01-16T09:09:46.713Z] papermill  --progress-bar -k python3
[2023-01-16T09:09:47.273Z] /usr/local/lib/python3.8/dist-packages/papermill/iorw.py:153: UserWarning: the file is not specified with any extension : -
[2023-01-16T09:09:47.273Z]   warnings.warn(
[2023-01-16T09:10:11.711Z]
Executing:   0%|          | 0/27 [00:00<?, ?cell/s]
Executing:   4%|▎         | 1/27 [00:01<00:33,  1.29s/cell]
Executing:  15%|█▍        | 4/27 [00:21<02:12,  5.75s/cell]
Executing:  22%|██▏       | 6/27 [00:23<01:16,  3.67s/cell]
Executing:  22%|██▏       | 6/27 [00:24<01:24,  4.04s/cell]
[2023-01-16T09:10:11.711Z] /usr/local/lib/python3.8/dist-packages/papermill/iorw.py:153: UserWarning: the file is not specified with any extension : -
[2023-01-16T09:10:11.711Z]   warnings.warn(
[2023-01-16T09:10:11.711Z] Traceback (most recent call last):
[2023-01-16T09:10:11.711Z]   File "/usr/local/bin/papermill", line 8, in
[2023-01-16T09:10:11.711Z]     sys.exit(papermill())
[2023-01-16T09:10:11.711Z]   File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1130, in call
[2023-01-16T09:10:11.711Z]     return self.main(*args, **kwargs)
[2023-01-16T09:10:11.711Z]   File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1055, in main
[2023-01-16T09:10:11.711Z]     rv = self.invoke(ctx)
[2023-01-16T09:10:11.711Z]   File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1404, in invoke
[2023-01-16T09:10:11.711Z]     return ctx.invoke(self.callback, **ctx.params)
[2023-01-16T09:10:11.711Z]   File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 760, in invoke
[2023-01-16T09:10:11.711Z]     return __callback(*args, **kwargs)
[2023-01-16T09:10:11.711Z]   File "/usr/local/lib/python3.8/dist-packages/click/decorators.py", line 26, in new_func
[2023-01-16T09:10:11.711Z]     return f(get_current_context(), *args, **kwargs)
[2023-01-16T09:10:11.711Z]   File "/usr/local/lib/python3.8/dist-packages/papermill/cli.py", line 250, in papermill
[2023-01-16T09:10:11.711Z]     execute_notebook(
[2023-01-16T09:10:11.711Z]   File "/usr/local/lib/python3.8/dist-packages/papermill/execute.py", line 128, in execute_notebook
[2023-01-16T09:10:11.711Z]     raise_for_execution_errors(nb, output_path)
[2023-01-16T09:10:11.711Z]   File "/usr/local/lib/python3.8/dist-packages/papermill/execute.py", line 232, in raise_for_execution_errors
[2023-01-16T09:10:11.711Z]     raise error
[2023-01-16T09:10:11.711Z] papermill.exceptions.PapermillExecutionError:
[2023-01-16T09:10:11.711Z] ---------------------------------------------------------------------------
[2023-01-16T09:10:11.711Z] Exception encountered at "In [2]":
[2023-01-16T09:10:11.711Z] ---------------------------------------------------------------------------
[2023-01-16T09:10:11.711Z] ValueError                                Traceback (most recent call last)
[2023-01-16T09:10:11.711Z] Cell In[2], line 8
[2023-01-16T09:10:11.711Z]       5 import numpy as np
[2023-01-16T09:10:11.711Z]       6 import requests
[2023-01-16T09:10:11.711Z] ----> 8 import ray
[2023-01-16T09:10:11.711Z]       9 from ray import serve
[2023-01-16T09:10:11.711Z]      11 from monai.apps import download_url
[2023-01-16T09:10:11.711Z]
[2023-01-16T09:10:11.711Z] File /usr/local/lib/python3.8/dist-packages/ray/init.py:109
[2023-01-16T09:10:11.711Z]     106 commit = "b6af0887ee5f2e460202133791ad941a41f15beb"
[2023-01-16T09:10:11.711Z]     107 version = "2.2.0"
[2023-01-16T09:10:11.711Z] --> 109 import ray._raylet  # noqa: E402
[2023-01-16T09:10:11.711Z]     111 from ray._raylet import (  # noqa: E402,F401
[2023-01-16T09:10:11.711Z]     112     ActorClassID,
[2023-01-16T09:10:11.711Z]     113     ActorID,
[2023-01-16T09:10:11.711Z]    (...)
[2023-01-16T09:10:11.711Z]     125     PlacementGroupID,
[2023-01-16T09:10:11.711Z]     126 )
[2023-01-16T09:10:11.711Z]     128 _config = _Config()
[2023-01-16T09:10:11.711Z]
[2023-01-16T09:10:11.711Z] File python/ray/_raylet.pyx:117, in init ray._raylet()
[2023-01-16T09:10:11.711Z]
[2023-01-16T09:10:11.711Z] File /usr/local/lib/python3.8/dist-packages/ray/exceptions.py:10
[2023-01-16T09:10:11.711Z]       8 import ray.cloudpickle as pickle
[2023-01-16T09:10:11.711Z]       9 from ray._raylet import ActorID, TaskID, WorkerID
[2023-01-16T09:10:11.711Z] ---> 10 from ray.core.generated.common_pb2 import (
[2023-01-16T09:10:11.711Z]      11     PYTHON,
[2023-01-16T09:10:11.711Z]      12     ActorDiedErrorContext,
[2023-01-16T09:10:11.711Z]      13     Address,
[2023-01-16T09:10:11.711Z]      14     Language,
[2023-01-16T09:10:11.711Z]      15     RayException,
[2023-01-16T09:10:11.711Z]      16 )
[2023-01-16T09:10:11.711Z]      17 from ray.util.annotations import DeveloperAPI, PublicAPI
[2023-01-16T09:10:11.711Z]      19 import setproctitle
[2023-01-16T09:10:11.711Z]
[2023-01-16T09:10:11.711Z] File /usr/local/lib/python3.8/dist-packages/ray/core/generated/common_pb2.py:6
[2023-01-16T09:10:11.711Z]       4 """Generated protocol buffer code."""
[2023-01-16T09:10:11.711Z]       5 from google.protobuf.internal import enum_type_wrapper
[2023-01-16T09:10:11.711Z] ----> 6 from google.protobuf import descriptor as _descriptor
[2023-01-16T09:10:11.711Z]       7 from google.protobuf import descriptor_pool as _descriptor_pool
[2023-01-16T09:10:11.711Z]       8 from google.protobuf import message as _message
[2023-01-16T09:10:11.711Z]
[2023-01-16T09:10:11.711Z] File /usr/local/lib/python3.8/dist-packages/google/protobuf/descriptor.py:40
[2023-01-16T09:10:11.711Z]      37 import threading
[2023-01-16T09:10:11.711Z]      38 import warnings
[2023-01-16T09:10:11.711Z] ---> 40 from google.protobuf.internal import api_implementation
[2023-01-16T09:10:11.711Z]      42 _USE_C_DESCRIPTORS = False
[2023-01-16T09:10:11.711Z]      43 if api_implementation.Type() != 'python':
[2023-01-16T09:10:11.711Z]      44   # Used by MakeDescriptor in cpp mode
[2023-01-16T09:10:11.711Z]
[2023-01-16T09:10:11.711Z] File /usr/local/lib/python3.8/dist-packages/google/protobuf/internal/api_implementation.py:90
[2023-01-16T09:10:11.711Z]      86 _implementation_type = os.getenv('PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION',
[2023-01-16T09:10:11.711Z]      87                                  _implementation_type)
[2023-01-16T09:10:11.711Z]      89 if _implementation_type not in ('python', 'cpp', 'upb'):
[2023-01-16T09:10:11.711Z] ---> 90   raise ValueError('PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION {0} is not '
[2023-01-16T09:10:11.711Z]      91                    'supported. Please set to 'python', 'cpp' or '
[2023-01-16T09:10:11.711Z]      92                    ''upb'.'.format(_implementation_type))
[2023-01-16T09:10:11.711Z]      94 if 'PyPy' in sys.version and _implementation_type == 'cpp':
[2023-01-16T09:10:11.711Z]      95   warnings.warn('PyPy does not work yet with cpp protocol buffers. '
[2023-01-16T09:10:11.711Z]      96                 'Falling back to the python implementation.')
[2023-01-16T09:10:11.711Z]
[2023-01-16T09:10:11.711Z] ValueError: PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION  is not supported. Please set to 'python', 'cpp' or 'upb'.


Feature: add reg ping to test if oci url is valid

Add reg ping command to test if an oci url contains an artifact.
We can use this for build automation to see if a version has been published. It's lighter weight than than reg pull, since it only downloads the manifest, not the entire artifact.
I did not bump the crate version in this PR, in case this is merged at the same time as PR #172
Ping does not include the -o output format option because when json is enabled (for reg pull, for example), json is not used to encode error outputs anyway. The simplest way to use in scripts is to check exit status: 0 for success, 1 for failure.

When I created this PR it wasn't originally based on main correctly (it was a branch off pr 172). I corrected that by reversing those changes in this pr. So when/if this is merged, do a squash merge to clean up the commit history.


TypeError in get_page_location

TypeError                                 Traceback (most recent call last)
Cell In[99], line 1
----> 1 streamlit_js_eval.get_page_location(component_key='port')
File ~/anaconda3/envs/myenv/lib/python3.11/site-packages/streamlit_js_eval/init.py:52, in get_page_location(component_key)
50 def get_page_location(component_key=None):
51     if component_key is None: component_key='LOC'
---> 52     return json.loads(streamlit_js_eval(js_expressions='JSON.stringify(window.location)', key = component_key))
File ~/anaconda3/envs/myenv/lib/python3.11/json/init.py:339, in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
337 else:
338     if not isinstance(s, (bytes, bytearray)):
--> 339         raise TypeError(f'the JSON object must be str, bytes or bytearray, '
340                         f'not {s.class.name}')
341     s = s.decode(detect_encoding(s), 'surrogatepass')
343 if (cls is None and object_hook is None and
344         parse_int is None and parse_float is None and
345         parse_constant is None and object_pairs_hook is None and not kw):
TypeError: the JSON object must be str, bytes or bytearray, not NoneType

Thanks. I will review your PR.

Your change is available in the new version 0.1.7.
Thanks for your contribution.

Thanks for your quick fix

Ref https://github.com/aghasemi/streamlit_js_eval/pull/5/commits/257d3e95caf4c22e9a5af6923b4bd9849fb8da5a
Ref PR#5