chroots and recovery media

I didn't make a recovery flash card when I got my chromebook.  The last few weeks I have added and removed a zillion chroots and even have one chroot that can't be deleted.
Is there any way for me to recover my chromebook to a pristine manufacturer state?  If I have to do that with a flash card can I get one from google or somewhere else?  Should I contact service?  I know this is more of a chromebook question than crouton but I thought people here would understand what crouton can do to a chromebook.
The reason I want it pristine is that I have been trying to fix the keyboard target on my machine (#1558) by going back to cleaner and cleaner installs.  I've done as much as I can by installing clean chroots.

I would try a powerwash first, then recovery. Be sure to backup any / all local data first.
I've never had luck with the recovery, it just seems broken, but a good idea in theory. Some say you just need a windows machine to create the image, check out some pixel related forums if you want to see if usb recovery (chrome://imageburner) is currently working and how to do it. Here's a general overview of how it was supposed to work at some point:
https://plus.google.com/+CraigTumblison/posts/7524EfhMrdi

You can make a recovery now. It doesn't include the chroots or any other user data. There is also a linux utility/script which I had to use a few days ago, because my recovery disk failed. https://support.google.com/chromebook/answer/6002417?hl=en&source=genius-rts Below step 6.
That said, the chroots can normally not mess up your chromeos root filesystem, because that is readonly mounted on boot. You chroots are normally created in /usr/local/chroots Instead of using delete-chroot, you can also cd to that directory and delete the dir with the name of your chroot.

I have successfully created a recovery image by using an app on the app store named 'Recovery'.  My biggest problem with the recovery is it brings the machine to a pristine state, which means setting up accounts and WiFi access and everything all over again.  It will also require a new 'restart to update' if your recovery image is stale, so keep it up to date!

Thanks to all.  I'll try everything.

you can also cd to that directory and delete the dir

The following is off-topic ...
Yes, but I happen to have a folder from hell, as it is called.  It is a
dropbox folder in a chroot and I've tried everything to delete the folder.
It says permission error even though I am root and nothing is accessing
it.  I even tried getting the inode numbers and deleting them using the
number.  I didn't do anything special that I don't do in every other
chroot.
I'm afraid that even a powerwash and recovery won't fix it if they don't
erase the file system. If so I guess I'll have to live with that useless
chroot in my chroot list.  Oh well ...
Is there any way to fsck a chromebook partition?

My biggest problem with the recovery is it brings the machine to a
pristine state,

That's perfect for me.  After I do my testing for the keyboard target
problem I can restore my chroot.  The rest of the setup will be quick and
easy compared to setting up my chroot apps.
On Thu, Apr 2, 2015 at 11:23 AM, Mark Hahn<EMAIL_ADDRESS>wrote:

Thanks to all.  I'll try everything.

you can also cd to that directory and delete the dir

The following is off-topic ...
Yes, but I happen to have a folder from hell, as it is called.  It is a
dropbox folder in a chroot and I've tried everything to delete the folder.
It says permission error even though I am root and nothing is accessing
it.  I even tried getting the inode numbers and deleting them using the
number.  I didn't do anything special that I don't do in every other
chroot.
I'm afraid that even a powerwash and recovery won't fix it if they don't
erase the file system. If so I guess I'll have to live with that useless
chroot in my chroot list.  Oh well ...
Is there any way to fsck a chromebook partition?

A recovery will solve your problem then. Just follow https://support.google.com/chromebook/answer/6002417?hl=en&source=genius-rts the first 6 steps is for on a chromebook, or use the linux method on that page.

@mark-hahn just out of curiosity, what are the permissions as root for that directory from hell? I presume you checked for the sticky bit?

The permissions were drwxr-xr-x.  As I understand it the last "x" would be
"t" if it had the sticky bit.  I made sure I was root when I tried to
delete it.  Just to be sure I tried "chmod -R 777 ." on the directory but I
got "Operation not permitted".
Maybe I'm not really the root.  I use "sudo -i" to get to be root.  The
prompt changes from "chronos@localhost" to "localhost".  Then "whoami" says
"root".
FYI: the command I'm using is "edit-chroot -d precise".  I also tried a
rimraf.
I'm baffled.  When googling, everyone says there are hidden chars in the
file name.  They say to use the inode number which I tried.  Also I doubt
dropbox would put in a hidden char.
On Thu, Apr 2, 2015 at 11:32 AM, tedm<EMAIL_ADDRESS>wrote:

@mark-hahn https://github.com/mark-hahn just out of curiosity, what are
the permissions as root for that directory from hell? I presume you checked
for the sticky bit?
—
Reply to this email directly or view it on GitHub
https://github.com/dnschneid/crouton/issues/1570#issuecomment-89003315.

@mark-hahn do an su and become real root, make sure you see a hash prompt, and whoami returns root, then
cd /
then type rm -R /pathto/directoryfromhell
perhaps backup first.

I've always used sudo -i.  su doesn't seem to work for me.  I don't
remember putting in a root password for the chromebook but if I did it
would be the same password as for my user.
To be exact ...

I type ctrl-alt-T and see crosh>
I type shell and see chronos@localhost / $
I type su and see Password:
I type the password and see su: Permission denied (fyi: it goes away
for a couple of seconds before replying).

When does the system ask to choose a root password?
On Thu, Apr 2, 2015 at 12:42 PM, tedm<EMAIL_ADDRESS>wrote:

@mark-hahn https://github.com/mark-hahn do an su and become real root,
make sure you see a hash prompt, and whoami returns root, then
cd /
then type rm -R /pathto/directoryfromhell
perhaps backup first.
—
Reply to this email directly or view it on GitHub
https://github.com/dnschneid/crouton/issues/1570#issuecomment-89021154.

@mark-hahn It probably never prompts you. It's something you need to proactively do. If after crosh / shell $
you cannot
sudo su
then someone else owns your computer access, perhaps dropbox, google, or the kid next door.
In any case, next time you powerwash and setup dev mode, explicitly sudo su, and set a passwd with:
passwd
This is the same as ubuntu, you don't get prompted for root, you have to sudo su and set a password otherwise there is no password, or it is weak like ubuntu toor or blank

explicitly sudo su, and set a passwd with passwd

You'd think that instructions somewhere would mention that.
I just now tried sudo chromeos-setdevpasswd.  It appeared to take the
password but I still can't do su.
I just did passwd while root from sudo -i and it asked for a new
without asking for old.  I took that as a good sign.  But after entering
the password I got Authentication token lock busy.
I closed all apps including chrome, rebooted without starting anything
except one shell.  And still got the same results as above.
Googling Authentication token lock busy I found that it is probably due
to the file system being read-only, which it is.  I have been afraid to
make the OS FS writable.  It makes me nervous.  I understand I couldn't go
back to read-only.  If I do this would recovery set it back to read-only?
I should probably just go ahead and do a recovery.  I don't think it would
make things worse.
On Thu, Apr 2, 2015 at 1:02 PM, tedm<EMAIL_ADDRESS>wrote:

@mark-hahn https://github.com/mark-hahn It probably never prompts you.
It's something you need to proactively do. If after crosh / shell $
you cannot
sudo su
then someone else owns your computer access, perhaps dropbox, google, or
the kid next door.
In any case, next time you powerwash and setup dev mode, explicitly sudo
su, and set a passwd with:
passwd
This is the same as ubuntu, you don't get prompted for root, you have to sudo
su and set a password otherwise there is no password, or it is weak like
ubuntu toor or blank
—
Reply to this email directly or view it on GitHub
https://github.com/dnschneid/crouton/issues/1570#issuecomment-89027303.

@mark-hahn you might want to search a bit on chromeos-setdevpasswd for any known issues, but otherwise, perhaps a powerwash and/or recovery is the way to go. After setting up dev mode, be sure to set your root password, then setup Crouton and run it awhile, after you think it's stable and you can get real root superuser on your local system, then install dropbox or other potential filesystem altering programs.

Mark, Have you tried logging in as root from the Dev Console (tty2) via
Ctrl+Alt+F2 after a reboot and without logging?
On Thu, Apr 2, 2015 at 5:08 PM, tedm<EMAIL_ADDRESS>wrote:

@mark-hahn https://github.com/mark-hahn you might want to search a bit
on chromeos-setdevpasswd for any known issues, but otherwise, perhaps a
powerwash and/or recovery is the way to go. After setting up dev mode, be
sure to set your root password, then setup Crouton and run it awhile, after
you think it's stable and you can get real root superuser on your local
system, then install dropbox or other potential filesystem altering
programs.
—
Reply to this email directly or view it on GitHub
https://github.com/dnschneid/crouton/issues/1570#issuecomment-89044871.

--
DennyL@GMail

Have you tried logging in as root from the Dev Console (tty2) via
Ctrl+Alt+F2 after a reboot

Ah, the black frecon screen.  I didn't know what that was.  I've gotten in
there and had to power-cycle many times.  It seemed like the
blue-screen-of-death to me.
Anyway, I tried root with my normal password and a blank one with no luck.
There must be a root password that I don't know about.
On Thu, Apr 2, 2015 at 2:44 PM, DennisL<EMAIL_ADDRESS>wrote:

Mark, Have you tried logging in as root from the Dev Console (tty2) via
Ctrl+Alt+F2 after a reboot and without logging?
On Thu, Apr 2, 2015 at 5:08 PM, tedm<EMAIL_ADDRESS>wrote:

@mark-hahn https://github.com/mark-hahn you might want to search a bit

on chromeos-setdevpasswd for any known issues, but otherwise, perhaps a
powerwash and/or recovery is the way to go. After setting up dev mode, be
sure to set your root password, then setup Crouton and run it awhile,
after
you think it's stable and you can get real root superuser on your local
system, then install dropbox or other potential filesystem altering
programs.
—
Reply to this email directly or view it on GitHub
<https://github.com/dnschneid/crouton/issues/1570#issuecomment-89044871
.

--
DennyL@GMail
—
Reply to this email directly or view it on GitHub
https://github.com/dnschneid/crouton/issues/1570#issuecomment-89053569.

you might want to search a bit on chromeos-setdevpasswd for any known issues

The one big issue I saw was that if you set a blank password you are borked like I apparently am now.  But since I've never heard of this command, or the idea of setting the chromeos password in general, I don't think I did this.
Also, a blank password is supposed to work in the Dev Console (frecon) but doesn't.  So somehow I got a password in the system and didn't know it.
Time to do a recovery.  I can't believe how helpful everyone has been on this long thread.  I'll let you know how it goes.  Oh, and if you are bored take a look at #1558.  That is my biggest problem and the whole reason I wanted to get things cleaned up.  I'll try anything to be able to use Home, End, and Backspace again.

It is not my day.

next time you powerwash and setup dev mode, explicitly sudo su, and set a passwd with: passwd.

I did a complete wipe/recovery.  Then after setting up my user, I went straight to a shell and did a sudo su.  Then I put in the password twice.  Then I got the same old Authentication token lock busy.  That's crazy.

@mark-hahn here is info. on disabling rootfs verification, and yes, it appears to be one way unless recovery mode is used:
https://www.chromium.org/chromium-os/poking-around-your-chrome-os-device
Also, read this old closed thread below, as depending on how much experimenting you are going to do with non-signed bootable OS's, etc., you may want to enable usb boot at this time as well:
https://github.com/dnschneid/crouton/issues/765
It's great that the SD/USB card recovery mechanism is working. I may give it a try this weekend.

Interesting factoid: The chroot backup I did before wiping with a recovery created a 3.4 gig file.  After I wiped I restored that backup.  I just did a new backup and it is only 1.2 gigs.  As far as I can tell everything is still

@mark-hahn wait until you are looking for something really important ;)

A liitle OT but neverless important and sometimes relevant when using encrypted chroots.

This is my experience with Chromebooks, along with a couple of other sources that talk about it.
This is by no means law nor is it sanctioned by anyone - other than me ;)
{ See 'when i ssh into the chromebook...' and 'Developer Shell Access' }
In Developer mode, with a password set or unset -

You can press Ctrl+Alt+F2/-> to get a login prompt on VT2.

In Developer mode, on VT2, without a password set -

You can login as 'chronos' or 'root' with no password prompt.
You can 'sudo/su' as 'chronos' and become 'root' with no password prompt.

In Developer mode, on VT2, with a password set -

You can login as 'chronos' with a password prompt.
You cannot login as 'root'.
You can 'sudo/su' as 'chronos' and become 'root' with a password prompt.

When in Chrome OS, outside of a chroot, if you want/need to set a password, use:
sudo chromeos-setdevpasswd
Never use 'passwd' - it simply won't work on a write-protected rootfs and if the rootfs is writable, it'll really bork things up.
When in a chroot, using passwd is perfectly fine and correct.

If anyone would like to comment / contribute / or complain about the above, please feel free.

@DennisLfromGA Great writeup. As soon as reading your post, and the 2nd link you posted, I brought up VT2 and typed passwd ;) as I had done before successfully. No luck, it returned authentication token lock busy, and didn't take. It used to take passwd at VT2, I'm pretty sure about this, but don't recall having checked /etc/passwd or /etc/shadow which are read only, even to root.
I understand the requirement of retaining security when dev mode is disabled, but this can limit the usability of a chromebook for plain hardware use. It's kind of like buying a locked cell phone.

@tedm

Never use 'passwd'

I guess I should have used reverse-logic in that statement. :)

but this can limit the usability of a chromebook for plain hardware use.

I'm not exactly sure I understand that statement.
Do you mean setting a 'chronos' password limits the usability?
If so, I still don't understand... :/
I've never really understood people who don't use Developer mode because it makes it less secure.
All you have to do, whether in Developer mode or not is: Press and hold Ctrl+Alt+Shift+R at the login screen to do a 'powerwash' and become the owner - period, case closed.

@DennisLfromGA no, I mean the inability to set a root pw and do a bare metal install of any OS I want on the plastic encased ARM CPU based board is limiting. On every other computing device, not just computers, but phones and cameras running linux, etc. I can do more than toss it in a landfill if the original software on it isn't what I need on the hardware at some point.
Developer mode is insecure, because someone could run some program like crouton and linux, and then say the Ask search/toolbar in the chroot, and within hours, they will have all kinds of spyware, malware, or worse, they could stop using sudo and be at the # prompt all the time ;), maybe worse, by possibly downloading runnable programs, and these programs might not immediately do any damage, but may lie dormant, long after the system is powerwashed and back in.
I don't think powerwashing puts your hardware back in OOB mode, otherwise, why do we need the recovery media to go from dev or beta channels back to stable? Or without the backup media, if a version of chrome breaks crouton, say next week, and will take two weeks to fix, how do we access our choot? powerwashing will bring us up to the current broken level, but a chroot backup, and backup will return us to last week's working state (if we're careful to not reboot after recovery), or that's my understanding. If powerwash offered a selective recovery, then recovery media shouldn't be needed.

@tedm,

Developer mode is insecure, because someone could run some program like crouton and linux...

True, but it's no different than any other PC if you have physical access.

I don't think powerwashing puts your hardware back in OOB mode, otherwise, why do we need the recovery media to go from dev or beta channels back to stable?

A powerwash doesn't put it back to OOB mode but it does wipe out all user(s) and user(s) data.
Also, you don't the recovery media to move back a channel, it's just a matter of going to Chrome://help and selecting another channel. If you're moving up a channel no powerwash is needed but if you move down a channel it does a powerwash.

@DennisLfromGA

True, but it's no different than any other PC if you have physical access.

Right. But the big selling point of Chromebooks has been the inherent security for the masses. Especially when used in Guest mode. So with Microsoft now giving away starter windows, the chromebook needs every advantage, and if toggling to dev mode and back, doesn't retain the OOB security model, then that selling point is compromised.
So while power washing will remove user data, enabling root in dev mode, and embracing a small market of native linux/alt. os users, could risk a chromebook being compromised when toggled out of dev mode.
No one has been able to sell linux only machines profitably yet because they can't make money on them. When you put an OS on it that is tied to apps or services related to ads, then you can justify low or negative margins. This is why almost all of our real computers are built from parts from Newegg, and the hardware on the real computers is not crippled by marketing and political hardware/software limitations.
I think my next Chromebook will be one with Seabios, and using The Angry Walrus or whoever's ChromeOS distro because I like the idea of not automatically updating and temporarily being bricked by accidentally running out of power or hitting the space bar.

Go for it, I like the unique way the Chromebooks update so I'll stick with
it.
On Fri, May 8, 2015 at 2:07 AM, tedm<EMAIL_ADDRESS>wrote:

@DennisLfromGA https://github.com/DennisLfromGA
True, but it's no different than any other PC if you have physical access.
Right. But the big selling point of Chromebooks has been the inherent
security for the masses. Especially when used in Guest mode. So with
Microsoft now giving away starter windows, the chromebook needs every
advantage, and if toggling to dev mode and back, doesn't retain the OOB
security model, then that selling point is compromised.
So while power washing will remove user data, enabling root in dev mode,
and embracing a small market of native linux/alt. os users, could risk a
chromebook being compromised when toggled out of dev mode.
No one has been able to sell linux only machines profitably yet because
they can't make money on them. When you put an OS on it that is tied to
apps or services related to ads, then you can justify low or negative
margins. This is why almost all of our real computers are built from parts
from Newegg, and the hardware on the real computers is not crippled by
marketing and political hardware/software limitations.
I think my next Chromebook will be one with Seabios, and using The Angry
Walrus or whoever's ChromeOS distro because I like the idea of not
automatically updating and temporarily being bricked by accidentally
running out of power or hitting the space bar.
—
Reply to this email directly or view it on GitHub
https://github.com/dnschneid/crouton/issues/1570#issuecomment-100111535.

--
DennyL@GMail


No matches found for ytsearch

Hello,
7 hours and 30 minutes ago (varies by user) ytsearch: search stopped working. One of the users on Discord wrote: "I tried using ytmsearch: and it worked ...".
Lavalink returns an error lavalink.server.player.AudioLoader : No matches found.
Playback with links to a specific song works normally.
Is it possible that there has been some change by YoutTube?
Thanks

I think it might be this line, seems like the needed information in on index 1 not 0. Didn't manage to build the package locally yet to test.
https://github.com/Walkyst/lavaplayer-fork/blob/67bfdc4757947db61105c73628f2e4c2a7e4e992/main/src/main/java/com/sedmelluq/discord/lavaplayer/source/youtube/YoutubeSearchMusicProvider.java#L94

Should indeed be this line to change, locally build and tested it and seems to work this way.
https://github.com/Walkyst/lavaplayer-fork/blob/67bfdc4757947db61105c73628f2e4c2a7e4e992/main/src/main/java/com/sedmelluq/discord/lavaplayer/source/youtube/YoutubeSearchProvider.java#L93

Just had to change the index(0) to index(1) for the YoutubeSearchProvider on the line referenced above. Now its correctly extracting the song list as expected.


Fails to launch / complete launch

Environment
Windows build number: 10.0.18362.356
PowerToys version: 0.11.0

Steps to reproduce
Install using MSI and try to launch PowerToys using any of the available shortcuts.
Expected behavior
Expecting PowerToys to open / load.
Actual behavior
My monitors flicker briefly and Task Manager shows "PowerToys Runner" as running, consuming around 6.5MB of RAM.  No window opens however and there is no icon in the Notification Area.  All PowerToys shortcut icons are also blank, not the one expected.
Using Windows 10 with 4 monitors - 3 are running from a GTX 970 and one is running from on-board Intel GPU.  Same problem after multiple re-installs / reboots.

Hi @odskee
there a similar issue here https://github.com/microsoft/PowerToys/issues/268
We will provide a dubug build to try to figure it out.
Can you provide some information about you configuration?

is it a computer for personal use or is it part of a domain?
what language/locale are you using?
3rd party antivirus?
3rd party Windows shell?
anything else that might be significant for you configuration

Thank you.

Also using 0.11
Powertoys Installs (i7-8700K / Insider Build 18980 vb_release<PHONE_NUMBER>), icon in Tray but only opens to an empty window.  Non-functioning.
Uninstall, clean and reinstall - same issue.  No change.

Hi @texaszman
the blank settings problem is tracked in a different issue.
Please follow this instructions if you want to try a debug build that may solve your problem
https://github.com/microsoft/PowerToys/issues/243#issuecomment-533025838
Thank you.

@odskee
I've prepared a debug build to help tracking this issue. If you want to give it a try, please follow the instruction I posted here https://github.com/microsoft/PowerToys/issues/268#issuecomment-533030235
To better track this problem I'll close this issue as a duplicate of #268, feel free to comment there.
Thank you.


docs(FormFormExample): remove extra checkbox label

Current coverage is 99.48% (diff: 100%)

No coverage report found for master at a35d149.

Powered by Codecov. Last update a35d149...124ffc8

Thanks much, will merge on pass!


Adding a CRS attribute to Shapely objects

Hi all,
I would like to propose adding a CRS attribute to Shapely objects.
The rational is that Shaply is commonly used in GIS, and the CRS info that exists in the GIS files, like geo-json, is discarded, thus when one gets a Shapely object in some function, it can't know which CRS it is originated.
In my case, there are many times when the convention is wgs84 (i.e. lat, lng) and in other cases crs84 (i.e. lng, lat), and in some cases we use projected coordinates. I could pass along the CRS for each input, but maybe there is a more elegant way to do so.
For the sake of proof of concept I've added a crs filed in Shapely 2.0b2 objects code and made the following example.
I will make a proper PR to evaluate this if there is any interest in going forward with this idea.
@jorisvandenbossche
related: https://github.com/shapely/shapely/issues/962#issuecomment-1317197517
import pyproj
from shapely.geometry import Point, shape, mapping
from shapely.geometry.base import BaseGeometry
from shapely.ops import transform

def get_transform(shp: BaseGeometry, dest_crs):
    return pyproj.Transformer.from_crs(shp.crs, dest_crs).transform

def transform_crs(get_transform_func, dest_crs, geom):
    func = get_transform_func(geom, dest_crs)
    output_geom = transform(func, geom)
    output_geom.crs = dest_crs
    return output_geom

def test_point_with_crs(lat, lng, utm_crs_str):
    wgs84_str = "urn:ogc:def:crs:EPSG::4326"
    crs84_str = 'urn:ogc:def:crs:OGC::CRS84'

    crs84_pt = Point(lng, lat, crs=crs84_str)
    print(f'{crs84_pt=}')

    p = {
        "type": "Point",
        "coordinates": crs84_pt.coords,
        "crs": {"type": "name", "properties": {"name": crs84_pt.crs}},
    }
    crs84_pt2 = shape(p)
    print(f'{crs84_pt2=}')

    crs84_pt3_map = mapping(crs84_pt2)
    print(f'{crs84_pt3_map=}')

    project = pyproj.Transformer.from_crs(crs84_str, utm_crs_str).transform
    # project = pyproj.Transformer.from_crs(wgs84_str, utm, always_xy=True).transform
    utm_point = transform(project, crs84_pt)
    print(f'{utm_point=}')

    utm_point2 = transform_crs(get_transform, utm_crs_str, crs84_pt)
    print(f'{utm_point2=}')

    project = pyproj.Transformer.from_crs(crs84_str, wgs84_str).transform
    # project = pyproj.Transformer.from_crs(wgs84_str, utm, always_xy=True).transform
    wgs84_point = transform(project, crs84_pt)
    print(f'{wgs84_point=}')

    wgs84_point2 = transform_crs(get_transform, wgs84_str, crs84_pt)
    print(f'{wgs84_point2=}')

test_point_with_crs(lat=47.6, lng=-122.3, utm_crs_str = 'EPSG:32610')

output:
crs84_pt=<POINT (-122.3 47.6)><urn:ogc:def:crs:OGC::CRS84>
crs84_pt2=<POINT (-122.3 47.6)><urn:ogc:def:crs:OGC::CRS84>
crs84_pt3_map={'type': 'Point', 'coordinates': (-122.3, 47.6), 'crs': 'urn:ogc:def:crs:OGC::CRS84'}
utm_point=<POINT (552619.097 5272080.811)>
utm_point2=<POINT (552619.097 5272080.811)><EPSG:32610>
wgs84_point=<POINT (47.6 -122.3)>
wgs84_point2=<POINT (47.6 -122.3)><urn:ogc:def:crs:EPSG::4326>

Moving the response from @sgillies from https://github.com/shapely/shapely/issues/962#issuecomment-1317248763:

shapely is (mostly) only a planar geometry library. Separation of concerns is good for software. Coordinate reference systems, features, layers, cartography, all that has been out of scope and I'm convinced that those concerns will always be better left to, for example, GeoPandas.

Personally, I share your sentiment about the downside of "when one gets a Shapely object in some function, it can't know which CRS it is originated".
So even while working with GeoPandas, which nicely handles the CRS handling, once you get a shapely geometry out of the GeoPandas object, you no longer know what the CRS is of this object, without manually keeping track of it. I think it would be nice if somehow this CRS could keep being attached to the geometry object.
But that's me speaking as a user. As a Shapely developer, I am not sure this relatively minor annoyance / downside is worth it to add this to Shapely.
We could limit it to just enabling a writable property that can be set but which we further don't use at all in Shapely itself (and so eg geopandas could set that property whenever you get a shapely object out of a GeoSeries). But it still opens a bit the door to more feature requests to actually use it, to validate the content, ...

I just wanted to know if you see any technical difficulties (API/ABI compatibility for instance) with adding an immutable srs/crs attribute in shapely 2.1 geometry objects?

I don't think there is a real technical blocker. It certainly has downsides (adding additional memory to each geometry object, even if you don't use the property). But it's more a question of "do we want this" than "is this possible".
(I think it should probably be mutable though)

@mwtoews @jorisvandenbossche @sgillies - Thanks for your pointers and comments, I do see your points.
Reading the past discussions on srid that @mwtoews pointed out and in related threads I think that before going forward we better discuss if there is a consensus about possibly adding:

crs|srid: int|str attribute in geometry objects?
__repr__ output if crs is not None?
wk[tb] output if crs is not None?
setting the crs attribute in the output of binary operations in case the crs of the inputs equal, otherwise maybe emit a warning and set the output crs to None  ?
other ideas?
probably out of scope and should be addressed by pyproj outside:

addressing crs equality and translation of a string crs to srid to include in wk[t|b]

@mwtoews - do you want to invest more time into this given the relevant changes in Shapely 2?

@idanmiara @jorisvandenbossche @mwtoews from my perspective, anyone who proposes adding CRS support to shapely has to answer for what is meant by the following code.
Point((0, 0), crs="EPSG:4326").buffer(1.0, crs="EPSG:3857").intersection(Point(-100000, 100000).buffer("EPSG:32618"))

Are we talking about automatic reprojection for all operations? Or are we talking about something else?

@idanmiara @jorisvandenbossche @mwtoews from my perspective, anyone who proposes adding CRS support to shapely has to answer for what is meant by the following code.
Point((0, 0), crs="EPSG:4326").buffer(1.0, crs="EPSG:3857").intersection(Point(-100000, 100000).buffer("EPSG:32618"))

Are we talking about automatic reprojection for all operations? Or are we talking about something else?

Hi @sgillies
I did not propose reprojections at all.
I propose that the result would be equal to:
Point((0, 0)).buffer(1.0).intersection(Point(-100000, 100000).buffer())
(meaning a geometry with a None crs)
It could also emit the following warnings:
Operations between different CRSs ("EPSG:4326", "EPSG:3857") is not supported, CRSs were ignored. Result might be incorrect.
Operations between different CRSs ("EPSG:3857", "EPSG:32618") is not supported, CRSs were ignored. Result might be incorrect.
We could consider adding a global function:
def crs_equals(a, b) -> bool:
    return a == b

that could be changed from the outside, for instance:
import shapely
from pyproj import CRS

def proj_crs_equals(a, b) -> bool:
    return CRS(a).equals(b)

pyproj.crs_equals = proj_crs_equals

Point((0, 0), crs="EPSG:4326").buffer(1.0, crs="+proj=longlat +datum=WGS84 +no_defs +type=crs").intersection(Point(-100000, 100000).buffer("urn:ogc:def:crs:EPSG:4326"))

this way the following code won't emit warnings and will result with an object with crs="EPSG:4326.
Of course we could improve proj_crs_equals, for instance, by add caching, so that CRS objects won't be created for every single call, we could propose to include this function in pyproj.

Thanks for bringing this up @idanmiara and good to discuss this point and share our opinions.
I think one of the reasons is that Shapely is such a popular tool in the GIS world is that it does one thing, and it does it well. As the current scope of shapely is “a planar geometry library”, the concept of CRS is not in scope, but a contextual value that might be taken into account when interpreting the geometries.
Just as a comparison: numpy does numerical computing (and it does it well). To interpret an array of float values you often need a unit. I wouldn’t think of suggesting to add the property “unit” to a numpy ndarray.
Coming back to the “crs” question: we would need to extend the scope of shapely to encompass coordinate reference systems. Constructors will need to adapt, representations, IO. What type will the “crs” attribute be? Do we accept pyproj as dependency? Does the crs survive all operations? Is it a mutable attribute? Only Projected or also geometric systems? Do we handle meridian crossings?
I think that is just too much a can of worms and at the same time the situation it solves is merely an annoyance. I’d like to stick with the current scope and see shapely focus on the planar geometries.

Reading between the lines that this is not a popular idea 😮 oh, well... back to the drawing board. 🤓

@caspervdw @jorisvandenbossche @mwtoews it seems we have consensus. What would you think about recording this as an architectural decision? Otherwise, it will keep coming up again and again.
@idanmiara first of all, I don't think adding a CRS to Shapely objects is a unreasonable thing to inquire about.
That said, keeping CRS out of scope for Shapely has been intentional, not an oversight, and has historically benefited the project's maintainers. The project has never had to think about whether the CRS standard should be an integer, a WKT string, or XML, or JSON object, or migrate from one to the next, which has been wonderful. We haven't had to think at all about what it means to compare two objects in different coordinate systems. Especially since Shapely's geometry engine, GEOS, cannot use these coordinate reference system descriptions at all. A CRS attribute would exist only to serve systems external to Shapely, correct? This turns OO encapsulation inside-out and couples Shapely to these other systems. When they require a new form of CRS, Shapely would have to change to carry it, and that would suck. I don't think it's possible to maintain software like this over the long run without good boundaries between the modules, and a CRS attribute would erode some boundaries.
I think the situation for users changes quite a bit when Shapely 2.0 is released. Users that need CRS will largely be coming from GeoPandas, where CRS is an attribute of the dataframe. We can, for example, use dataframes of a single row to decorate a Shapely geometry with a CRS and other attributes.

@sgillies @caspervdw @jorisvandenbossche thanks for taking the time to look into this.

Bad news... I would have expected the user interfaces to C++ Geos library to be unified in Python. I also use independent objects (outside of GeoDataFrame) with their SRID in Django. If I want to use their GEOS objects everywhere in my code, I need to have Django as dependency of my projects, which is not very practical... Shapely could have been this common denominator...
To answer the original question of @sgillies
>>> from django.contrib.gis.geos import Point
>>> p1=Point(0,0,srid=4326)
>>> p2=p1.buffer(1.0) # No CRS here in Geos C++ library
>>> p2.ewkt
'SRID=4326;POLYGON ((1 0, 0.9807852804032305 -0.1950903220161281, 0.923879532511287 -0.3826834323650894, 0.8314696123025456 -0.5555702330196017, 0.7071067811865481 -0.7071067811865469, 0.5555702330196031 -0.8314696123025447, 0.3826834323650908 -0.9238795325112863, 0.1950903220161296 -0.9807852804032302, 1.615544574432587e-15 -1, -0.1950903220161265 -0.9807852804032308, -0.3826834323650878 -0.9238795325112875, -0.5555702330196005 -0.8314696123025463, -0.7071067811865459 -0.7071067811865491, -0.8314696123025438 -0.5555702330196043, -0.9238795325112857 -0.3826834323650923, -0.9807852804032299 -0.1950903220161312, -1 -3.231089148865173e-15, -0.9807852804032311 0.1950903220161249, -0.9238795325112882 0.3826834323650863, -0.8314696123025475 0.555570233019599, -0.7071067811865505 0.7071067811865446, -0.5555702330196058 0.8314696123025428, -0.3826834323650936 0.9238795325112852, -0.195090322016133 0.9807852804032295, -4.624589118372729e-15 1, 0.1950903220161231 0.9807852804032314, 0.3826834323650851 0.9238795325112887, 0.5555702330195974 0.8314696123025485, 0.7071067811865436 0.7071067811865515, 0.8314696123025418 0.5555702330196074, 0.9238795325112844 0.3826834323650953, 0.9807852804032291 0.1950903220161348, 1 0))'
>>> p3=Point(-100000, -100000, srid=32618)
>>> p2.intersection(p3).ewkt
'SRID=4326;POINT EMPTY'
>>> p3.intersection(p2).ewkt
'SRID=32618;POINT EMPTY'
>>> p2.intersection(p3.transform(4326, clone=True)).ewkt # to enforce the same SRID
'SRID=4326;POINT EMPTY'

I'm locking this issue because I don't think collecting more opinions here does any good. Start a discussion if you like: https://github.com/shapely/shapely/discussions.


HTML tag opening & closing mark

I would also add that, react (HTML) tags aren't marked like functions and objects are.
React HTML tags

VS
Function marker

Would love to see such a thing for HTML tags in general as well!
Great work so far!

Hi! Thanks for visiting.
Can you please elaborate? AFAICT, getMonthlyIncomeFormatted is the same in both, the XVGFormatter is the same in both, this keyword is the same in both, the method .format is the same...
To explain a little more in depth where I'm coming from, I'm looking for:

consistency in meaning
contrast in same-line usage for red/green deficient colorblindness
general contrast

Thanks!

Hm, I'm not sure I'm into it- can you please show me another theme that does this? Then I can tell how the legibility is and also how to target if it's possible.

Hi! I did some research and that's applied through VS Code, it's not a setting for a theme that I can create. If you're unhappy with it, you can report in their repo, but there'sn not much I can do on my end. Thanks!


Dockerize?

Anybody ever dockerize an app using this library on a raspberry pi?  Is it as simple as just making a volume for /dev/mem?
@stianeikeland If you can share any other files / devices the library needs access to that'd be awesome

For anyone looking to do this, check this out.

Hi! How did you get this to work?
I'm using the simple blinker example which works fine directly on Raspberry Pi OS, but not inside the container. I see the logs I've added, so I know it should be controlling GPIO.
I've tried a bunch of combinations of
--privileged
--device=/dev/mem
--device=/dev/gpiomem
 -v /dev/mem:/dev/mem
 -v /dev/gpiomem:/dev/gpiomem
but none of them works.
Thanks!

Hey @slimcdk.  If I recall correctly when I added those flags it worked, but I ended up having another team member re-write the project in python anyway.
I suppose a few things you could try would be

Make sure you have the latest version of docker
Try only doing -v instead of with --device
Try a different example / different pin or a few other combinations


Cannot get chat working on Windows

I have my key set at C:\Users\username\.config\openai.token as well as I set my user environment variables and system environment variables as OPENAI_API_KEY.
When I go to use the chat it states
OpenAI: HTTPError 401 (Hint: verify that your API key is valid)

I know that the api key is valid as I can use it on another machine.
Any help you can provide would be greatly appreciated!

You may try to use custom token path with this option: g:vim_ai_token_file_path = 'C:\Users\username\.config\openai.token'

@madox2 This worked thank you!


Session 3 kavyabhat

Great work on finishing session 3 :partying_face:

Great work on finishing session 3 :partying_face:


Enable pow test on embedded linking path.

This was missed with #7513. Also fix typo in file pulled into librt64.

Closes Issue #7415


[Fancy]Fix code scanning alert - Stored cross-site scripting

Tracking issue for:

[ ] https://github.com/abhishekshree/spo-website/security/code-scanning/1

only u can access this link

closed?

For now


Swagger UI and openapi.json not available in Vercel Deployments

Check the live demo-- https://nextjs-fastapi-starter.vercel.app/
According to next.config.js, the swagger UI should be at https://nextjs-fastapi-starter.vercel.app/docs, and the openapi.json at https://nextjs-fastapi-starter.vercel.app/openapi.json
However, both of those 404.
Have cloned this project locally & deployed it to vercel and can confirm I see the same behavior.
Any ideas on how to get the swagger ui and openapi.json to route correctly? Thanks!

https://github.com/digitros/nextjs-fastapi/pull/9/files
Have you tried mapping the docs to the correct url while instantiating FastAPI like in this PR?

@ifjorissen ,
If you have simply cloned this repo or clicked the "Deploy to Vercel" button, I believe the next.config.js is currently configured to only deploy the Swagger UI if process.env.NODE_ENV === "development" which is not the case in a production Vercel deployment.


Out-DbaDatatable - Added support for dbasize & dba timespan types

DbaTimespan is now understood as a timespan
DbaTimespanPretty is now understood as a timespan
DbaSize is now properly understood and can be converted as Int64 (default), Int32 or String
New Parameter: SizeType - controls how DbaSize is interpreted
Added 1.0 Progress Tracking tags

Thanks, @FriedrichWeinmann !


Remove feature flags for conditional update and conditional create.

Description
Remove feature flags for conditional update/create.
Related issues
Addresses [#813]
Testing
Through already existing unit tests.

/azp run


Fix minimum error

Sorry for opening another PR for this, but I can't seem to understand how Git works and forgot to put this on an different branch ;)
#2106, #2083

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Fixing error message due to syntax error in function getMinimum()

What is the current behavior? (You can also link to an open issue here)
An error is thrown.

What is the new behavior (if this is a feature change)?
The minimum-amount is returned correctly... ;)

Other information:
I finally had time to fork and open this PR :)

great fix thanks. Though I am curious as to what error it threw.

For archiving I have extended the description. ;)


Value added tax

This change is

Coverage increased (+0.04%) to 46.517% when pulling b101a42c0b9cb8ca365d709c7e11d021f667cc77 on ITVaan:value_added_tax into 9b4ea1b6a7c04eff7b1b8f1981ab6fbdb63eeb21 on openprocurement:master.

Coverage increased (+0.04%) to 46.517% when pulling b101a42c0b9cb8ca365d709c7e11d021f667cc77 on ITVaan:value_added_tax into 9b4ea1b6a7c04eff7b1b8f1981ab6fbdb63eeb21 on openprocurement:master.


Answers haproxy question

Hopefully, this answers the question of what HAProxy is, and where you would use it.

Hey @sysadmin1139! Thanks so much for answering this Q. Unfortunately, the question was answered just before by someone else. I still like parts of your answers, so would you be okay with me crediting you and pasting in some of your words to the already answered question?

Yes, go ahead and edit away,.


enable Dependabot v2

https://github.blog/2020-06-01-keep-all-your-packages-up-to-date-with-dependabot/

@alvarosanchez not sure if our build plugin already does this.

@alvarosanchez not sure if our build plugin already does this.

So far, we use both Dependabot and our dependency upgrade mechanism. We haven't decided to retire Dependabot.


add Images

this pull request adds images into the public/images directory

@Amanya-Brian @basiima i am merging this as it just introduces new static files into codebase


[BUG] Error while adding the stale label

Describe the bug
Error: [#26] Could not fetch the label stale
[#26] Found the label stale
Error: [#26] Could not find the stale label stale
Error: [Error] Could not find the stale label stale
##[debug]Error: Could not find the stale label stale
##[debug]    at IssueStaleProcessor. (/home/runner/work/stale/stale/dist/index.js:30:35387)
##[debug]    at Generator.next ()
##[debug]    at fulfilled (/home/runner/work/stale/stale/dist/index.js:30:2285)
##[debug]    at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Stale action failed with error Could not find the stale label stale
##[debug]Node Action run completed with exit code 1
##[debug]Finishing: Stale
Additional context
Add any other context about the problem here.

Used https://docs.github.com/en/graphql/overview/explorer, and I just figured out that I didn't configure yet the stale label on this repository…
I added a debug log and that should be enough. 😉


Incorrect font size on app launch

When I launch the app I always start with 14pt font size, even when I have different value in settings file.
So I need to go to the settings and make 2 changes before I can get needed font size.
For example:

settings font size = 20
when app launch I see font size 14 instead of 20
need to change from 20 to 19 for example, hit save
then change from 19 to 20 and save file again

@Kirow What is your "font_face" setting? is it possible that this font is missing, and we're using a fallback font?
It's possible that there's a mismatch between the font in the default config file and the font that we're actually shipping with xi-mac.

@cmyr I used default settings,  just increased font_size
font_face = "InconsolataGo"

# In points
font_size = 22

then played with tab_size param,  just to check that it don't have same problem as font_size.

@Kirow Can you change "font_face" to a font you know you have installed? say, "Menlo"?

@cmyr Yes, it works with Menlo correctly. But I think I've read somewhere that InconsolataGo was bundled into the app.

@Kirow yea, this is the problem: we actually bundle Inconsolata, but the default config file names InconsolataGo, which is a variant of the font we were using earlier. Will have to update that. In the meantime if you change InconsolataGo to Inconsolata in your prefs file things should work as expected.

@cmyr Ok, understood. Thanks

And if you're interested in submitting a fix, this would be a matter of updating this file: https://github.com/google/xi-editor/blob/master/rust/core-lib/assets/client_example.toml

@Kirow okay, no worries! and yes, I agree that font-size should always be used.


tools/ci/docker/linux/Dockerfile: image cleaned of unnecessary folders

Summary
Trying to reduce the size of the docker image, I found folders to be deleted.

improved bloaty building.

added rm -rf nuttx-tools

added rm -rf renesas-tools

@xiaoxiang781216  @kassane For now, I have commented Swift from the  Dockerfile because the package is too large.
#13186
Impact
There should be no impact.
Testing
CI

I have commented Swift from the Dockerfile

Exactly!
Perhaps it would be convenient to just use the official Swift images.
In this case, for embedded devices, Swift6 (experimental) may not be a priority.

@xiaoxiang781216
the docker image has not been updated we currently use that one
Published 22 days ago
https://github.com/apache/nuttx/actions/runs/10619683045
You can re-run jobs to see if it fix the problem.

OK, I retrigger it.

@xiaoxiang781216 see https://github.com/apache/nuttx/actions/runs/10619683045/job/29437799464#step:7:1339
It looks like the error you're getting is due to an incomplete download. It will probably work fine if you just download it again.


Unhandled Error Error: SQLITE_CANTOPEN: unable to open database file

Describe the bug
A clear and concise description of what the bug is.
@jepiqueau
Many thanks for your consistent help regarding @capacitor-community/sqlite.
but working on a project using @capacitor-community/sqlite which works fine on a developer PC but on installing the app on a different computer, it raised an error when I tried to access/create a database.

@ogadepoju  @IT-MikeS Sorry, i am not looking at the electron platform before a more stable release of the @capacitor- community/electron is published on npm.

@jepiqueau  thanks for your response but for urgency sake can you help with this, it has gotten me stocked for weeks,
It's working perfectly of my machine, but once installed on another machine it pop this error.
Thanks.

@ogadepoju i made a testing release of the @capacitor-community/sqlite
Can you do
npm install -save-dev<EMAIL_ADDRESS>npx cap sync @capacitor-community/electron
npm run build
npx cap copy @capacitor-community/electron

and the you create your executable and run it on another PC
the databases will now be under the
YOUR_APPLICATION/electron/CapacitorDatabases folder.
Tell me if that solve your issue and then i will make a fix

@ogadepoju any news?

@ogadepoju i worked hard as you said it was urgent but since then you did not tell me if it helps. Can you please revert to me

@jepiqueau thanks for your response and i'm sorry for my slow/delayed response, i tried the solution provided but it doesn't solve the issue,
But when i do "INSTALL FOR SELF", it opened.
Thanks

@ogadepoju what do you mean by ' do "INSTALL FOR SELF" '

@ogadepoju Can you please answer and tell me if it works so i can release it and close the issue. I cannot test it myself as my windows platform is out of order.

With Electron, if you install for "anyone...", then the app needs to be run as ADMIN to work. This is because the db is put in the Program Files folder. Install "only for me" puts the db in   C:\Users<USER>\AppData\Local\Programs<AppNAME> folder, not where expected (C:\Users<USER>\Databases<AppName>. Both install scenarios seem wrong.
Is this a bug for this plugin???

@pkzOR i will have a look again. This is a old question and i could not find a solution as i though it was due to @capacitor-community/electron. Where do you want the database to be located?

@ogadepoju did you find a solution yourself that you can share on this issue

@pkzOR When you install for anyone in a computer (assuming Windows), do you want everyone to access the same databases or do you want them to access their own (C:\Users\Databases)?

@jepiqueau  For my use case, installing for everyone  I would want  each user to have their own db. However, I can imagine other use cases where all users need tp access the same db.
Perhaps your API can allow both  DRIVE/PATH,  and Well Known Windows paths (like Documents, ProgramData, etc)?  So, when creating the db with an Drive and Path, the install for everyone or all users would  then have a single db.  When createing a db with a well know path (like ProgramData), the install for everyone or all users  would then have a db for each user.  I think this would allow for both install scenarios.
The convention of C:\Users\Databases is not a necessity, it was just an expection from the documentation.

@jepiqueau  Thanks so much for your work!
(Note: the readme says "config.config.ts", but I'm sure you meant "capacitor.config.ts".
Locally, we build/run on Windows with occasional checking on the MacBook, but our CI/CD pipeline will be MacOs.  It will be a week or so before we get all the build steps working and can test the final deployment. So, I'll let you know if we discover anything.
Thanks again.

@pkzOR yes it is a typo error. I will be out for the next five days.

@jepiqueau  Sorry, but no progress as other priorties crept in this week.

@jepiqueau  Sorry, but no progress as other priorties crept in this week.

@jepiqueau  I've confirmed that under Electron, the db is created in the expected location. It will be awhile before iOS and Android builds are running in our build environment, so for now, I consider this issue as being resolved.
Thanks for you efforts.

@pkzOR OK thanks so i will close the issue from now on. Feel free to re-open it if require. Good luck with your development


Prerender cause 404 on refresh if the route params contains non-latin character

Describe the bug
When route param contains non-latin characters and prerender is enabled for these routes, you'll encounter 404 when hard refresh on these pages. Probably because the output are actually original character but when matching the path, it's encoded url.

Reproduction
https://github.com/songkeys/sveltekit-prerender-non-latin-route-params-repro
Logs
when visiting `/中文/`, server outputs:

SvelteKitError: Not found: /%E4%B8%AD%E6%96%87/
    at resolve2 (file:///Users/songkeys/Documents/GitHub/Songkeys/sveltekit-prerender-non-latin-route-params-repro/.svelte-kit/output/server/index.js:3714:18)
    at resolve (file:///Users/songkeys/Documents/GitHub/Songkeys/sveltekit-prerender-non-latin-route-params-repro/.svelte-kit/output/server/index.js:3547:34)
    at #options.hooks.handle (file:///Users/songkeys/Documents/GitHub/Songkeys/sveltekit-prerender-non-latin-route-params-repro/.svelte-kit/output/server/index.js:3792:71)
    at respond (file:///Users/songkeys/Documents/GitHub/Songkeys/sveltekit-prerender-non-latin-route-params-repro/.svelte-kit/output/server/index.js:3545:43)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  status: 404,
  text: 'Not Found'
}

### System Info

```Shell
System:
    OS: macOS 15.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 166.66 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 22.3.0 - ~/.local/state/fnm_multishells/88126_1729661413490/bin/node
    npm: 10.8.1 - ~/.local/state/fnm_multishells/88126_1729661413490/bin/npm
    pnpm: 9.12.2 - ~/.local/state/fnm_multishells/88126_1729661413490/bin/pnpm
    bun: 1.1.27 - ~/.bun/bin/bun
  Browsers:
    Chrome: 130.0.6723.59
    Safari: 18.1
  npmPackages:
    @sveltejs/adapter-auto: 3.3.0 => 3.3.0
    @sveltejs/adapter-static: 3.0.5 => 3.0.5
    @sveltejs/kit: 2.7.2 => 2.7.2
    @sveltejs/vite-plugin-svelte: 4.0.0 => 4.0.0
    svelte: 5.0.5 => 5.0.5
    vite: 5.4.10 => 5.4.10

Severity
serious, but I can work around it
Additional Information
I can made a PR to output the encoded path as folder/filename. Or do you think there is a better way to solve this?

As a workaround for now you can pnpx serve build instead of pnpm preview


Feat/seq

Informations

Type
Breaking change

Feature
Yes

Description
A new package for the system logs. Seq is centralized structured logs which provides the gui where we can view all application logs without any terminal/console
Usage example
import {ServerLoader, ServerSettings} from "@tsed/common";
import "@tsed/seq"; // import seq Ts.ED module

@ServerSettings({
  rootDir: __dirname,
  seq: {
    url: "http://localhost:5341"
  }
})
export class Server extends ServerLoader {

}

Controller.ts
import {Controller, Get, Post} from "@tsed/common";
import {$log} from "ts-log-debug";

@Controller('/calendars')
export class Calendar {

    @Get('/:id')
    async getCalendar(@QueryParam() id: string): Promise<CalendarModel> {
      $log.info(id);
    }

}

Todos

[ ] Tests

@OskarLebuda Nice job ;). Just small change before merging this PR ;)

@Romakita It's done! 👍  Thanks for your review


Add inspector panel

A proper panel for code introspection. See https://github.com/nteract/hydrogen/pull/192

Dude, awesome.


How can I improve my transmission speed?

When I use this to set up the sever with many videos, the client plays the large video will be buffed again and again. This video need the transmission speed arrived 2M/s at least, but I found this can't be arrived this speed, it can reach 1.5M/s highest. Can you give me some advice to improve my transmission speed？ Thank you.

Is this all on a local machine or are the client and server different machines on the same network?

They are on the same network with different machines.

Well, it may be the network itself (unlikely unless you have a really old setup running below cat 5 cables), otherwise we'd have to profile the code and check for bottlenecks. I've been wanting to implement some sort of performance tests into NanoHTTPD for a while now, this is just another argument in favor...

when I use socket to download this video in same network, it can reach 10M/s, so I want to improve my speed. Another thing is when I'm downloading videos, then i send a request, it can't be response sometimes, how can I to solve this problem? Should I use thread?

@ritchieGitHub do you think we could setup automated unit / integration / system tests to measure the library's performance? How would we retrieve accurate metrics in a machine independent way?

Hi,
I seem to have the same issue. I'm trying to stream videos from an Android app using the SimpleWebServer to a Chromecast but I often encounter stuttering and pauses in the playback where it has to wait to download the next chunk of the video. It's a bit better on 5Ghz wifi but when the signal strength is poor is still hitches. Files over about 50MB seem to be the worst effected.
Looking at the network debugger it does look to be a throughput issue where each request for a piece of the video file just takes a bit too long to transfer before the playback catches up to what it has buffered so far.
I'm not sure if it's relevant but I have the Chromecast wait until the "canplaythrough" event fires; this means it thinks based on the download speed so far that it can finish downloading the video without running out of buffered data. It could be a the Chromecast uses a duff algorithm to calculate this but watching the network debugger does seem to suggest the initial data transfers quickly enough but later blocks of data are much slower or stall.
Cheers!

This might be related to the automatic hostname resolution, which consumes a good chunk of time before the request is actually processed. I imagine for chunked transfers this thing would be a nightmare.
See these 2 lines here?
https://github.com/NanoHttpd/nanohttpd/blob/master/core/src/main/java/org/nanohttpd/protocols/http/HTTPSession.java#L128-L129
In your version they're probably in NanoHTTPD.java.
Find them and comment them out (if you're using the source and not a built jar) and see how that affects performance. Then share your findings please :)

Thanks so much for your help! I'm trying to give it a go unfortunately I was using Gradle to pull in the jar which obviously can't be edited. I've been trying to work out how to include the NanoHTTPD source into my project in Android Studio but can't seem to find any examples of how to do that.
Have you ever seen that done? Alternatively do you know how I could build a new jar from source for testing?
Cheers!

You can use git to fetch the code from here, and then make a project on your IDE, and instead of using a JAR you can point to the project as a dependency... that's how I used to do it before I started using the compiled jars. This also means any changes on your local NanoHTTPD project will instantly reflect on your "outer" project :)

I've managed to get it building now with the change you suggested and it has definitely made a difference. On 2.4GHz I'm seeing an average of 0.5MB per second of extra transfer, so a 157MB file that previously took 72 seconds to transfer now only takes 60 which is about 22Mbps.
There might still be some performance to unlock but it’s difficult to be sure. I changed the video URLs to a web server on my laptop and had my Chromecast stream from there and it was averaging 35Mbps for transfers. I’m not sure how fair a comparison it is though considering the difference in power between a laptop and an Android tablet!

You can run a similar implementation using NanoHTTPD on your laptop and see how it goes versus chromecast...

@OutRunner @LordFokas I am facing the same issue, I already tried to clone the project and add it as dependency but after that all imports just crashing, I have tried to fix but I am unable to do it. Can you help me with that..??


Support expanding multiselection when using arrow keys in notebooks

Testing #117295
It would be nice if holding "shift" while using the up/down arrow keys would expand the cell selection like in trees

Really cool! 🎉


Implementation and documentation of historical-price-full and historical-chart are wrong

As per site doumentation below,
image

The historical-chartendpoint has the path parameters timeframe and symbol, and the query parameteres from, to and from dates. The implementation does not care for to and from, restricting the usability of the tool.

imagethe same happens with the historical-price-full endpoint where we have the wrong list of parameters and unhelpful documentation on the api...
I will fix and create a pull request if allowed.

Absolutely! Issue a PR and I'll review it.

I have finished the development locally. how do you want me to create the pull request? I think I have to be added as a contributor right?

The way I know to generate a PR is to fork the project into my own repository. Make my changes there and then issue a PR from there. I'm sure there are other ways but that's the way I know to do it.


. PIC-2210. Refactored and moved the UUID generation for defendantId …

…and caseId to the processor.
. Updated tests to verify the behaviour.

Though the integration tests are failing so will need re-review once those are fixed

Though the integration tests are failing so will need re-review once those are fixed

All tests are passing now.


FractionalPermission: Fixes for new F* real interface

See https://github.com/FStarLang/FStar/pull/3242

Hi! We're planning to change the interface of FStar.Real to only provide a logical axiomatization of real numbers, instead of the current seemingly-computable interface which does not make a lot of sense (or will not when we extend FStar.Real to make it more interesting).
This requires a few patches to make Steel work, hence this PR. Wondering if this seems sensible to you and there are any serious breakages outside this repo.
Thanks!

Merging after Slack discussion.


Fix templates for if variables so that they have not to been set

There where problems with templates which include if. Here the variables in the if part had to be set. This change should fix this, so that the following template can be used without setting region_union:
{
	"id": "pc_dummy",
	"description": "Placeholder json file",
	"template": {
		"version": "1",
		"list": [
			{
				"module": "r.mapcalc",
				"id": "r.mapcalc_test",
				"inputs": [
					{% if region_union is defined %}
					{
						"param": "region",
						"value": "{{ region_union }}"
					},
					{% endif %}
					{
						"param": "expression",
						"comment": "output = r.mapcalc result, string; value = raster value (default=0.428), float",
						"value": "{{ output }} = {{ value|default(0.428) }}"
					}
			  ]
			}
		]
	}
}

Tests are fixed and linting is done in https://github.com/actinia-org/actinia-module-plugin/pull/37


Accessing IMU on nano rp2040 connect stops timer

Describe the bug
Repeating timer does not function properly when ISR accesses the I2C IMU sensor on the nano rp2040 connect.
Steps to Reproduce:
Copy and run the code above (after installing the Arduino_LSM6DSOX library) with and without the 2 lines in the timer_callback() ISR.
#include <Arduino_LSM6DSOX.h>
#include <stdio.h>
#include <mbed.h>
#define TIMERINTERRUPT_LOGLEVEL     4
#include "MBED_RPi_Pico_TimerInterrupt.h"
MBED_RPI_PICO_Timer ITimer0(0);
// IMU related
float Ax, Ay, Az;
float Gx, Gy, Gz;
void setup()
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
while(!Serial);
if (!IMU.begin()) {
Serial.println("Failed to initialize IMU!");
while (1); // hangs
}
Serial.print("Accelerometer sample rate = ");
Serial.print(IMU.accelerationSampleRate());
Serial.println("Hz");
Serial.println();
Serial.print("Gyroscope sample rate = ");
Serial.print(IMU.gyroscopeSampleRate());
Serial.println("Hz");
ITimer0.attachInterruptInterval(1000000, timer_callback);
}
void loop() {
}
void timer_callback(uint alarm_num) {
TIMER_ISR_START(alarm_num);
digitalWrite(LED_BUILTIN, HIGH);
sleep_ms(500);
// *** Irregular LED flashing when the next 2 lines are uncommented ***
//IMU.readAcceleration(Ax, Ay, Az);
//IMU.readGyroscope(Gx, Gy, Gz);
digitalWrite(LED_BUILTIN, LOW);
TIMER_ISR_START(alarm_num);
}
Expected behavior
LED should blink at 1Hz frequency (500ms on, approx 500ms off)
Actual behavior
When accessing IMU (uncommenting the two lines in timer_callback()), the LED blinks irregularly. IMU takes 2ms but the irregular flashings are much more pronounced and definitely not at 1Hz.
Information

Arduino IDE version 1.8.19) on iMac
Nano RP2040 connect
The IMU sensor uses I2C, would there be conflict?

Hi @perry-pli
Thanks for over-trusting the library.
I suggest that you spend some more time to have better knowledge and experience with the ISR, before using it in over-killing way.
Try either to

use ISR to set up a flag, then use software timer to periodically read the flag and read IMU
use only software timer to periodically read the IMU

More to read => Interrupts HOWTO and attachinterrupt HOWTO

Kindly please explain why your timer can't work with the sensor - even with very low frequency.

I suggest that you spend some more time to have better knowledge and experience with the ISR, before using it in over-killing way.

Having read through the links that you provide, I still don't have a sense of what is breaking your timer. In what way is the example code using your timer in an over-killing way?


[Feature Request] Add audio toggle

Add audio mute on/off toggle to the custom controls

Usually sound is managed by the device / OS directly.
There isn't any sound controls on Netflix or youtube player for example.

To complete what @tlenclos , and to answer your original question
You can use the ControlTouchable component to create a touchable content that you then render either:

as a child of the VideoControls with an absolute position if you need it positioned anywhere in the controls container
as part of a custom slider component

Maybe you need it positioned before the fullscreen button in the slider ? If that's the case i can have a look at how to add custom controls to the slider

Usually sound is managed by the device / OS directly. There isn't any sound controls on Netflix or youtube player for example.

In the case of Reddit or Instagram, audio can be toggled off with the mute button that's absolutely positioned on the video container. It's primarily for feeds with videos.
I added the audio component as an absolutely positioned child but it reset the video to the starting position instead of continuing to play.

Usually sound is managed by the device / OS directly. There isn't any sound controls on Netflix or youtube player for example.

In the case of Reddit or Instagram, audio can be toggled off with the mute button that's absolutely positioned on the video container. It's primarily for feeds with videos.
I added the audio component as an absolutely positioned child but it reset the video to the starting position instead of continuing to play.

Could you share your code ? The ControlTouchable component is not supposed to interact with the audio player


Payload broken (?) for non-ascii dynamic route

Versions

nuxt: 2.15.3 (and 2.15.1, 2.15.2)
node: 12.10.0

Reproduction
https://github.com/arildm/nuxt-path-encoding
Significant code:

pages/_slug.vue
A nuxt-link on pages/index.vue links to the slug page with a non-ascii slug

Steps to reproduce

yarn generate
Serve dist folder: http-server dist
Visit /, click the link, it loads fine
Refresh on the slug page

What is Expected?
The page content (a h1 heading) will show
What is actually happening?
The page content flashes but disappears. No error in console.

/_nuxt/static/.../anv%C3%A4ndarhandledning/state.js:
window.__NUXT__=(function(a){return {staticAssetsBase:"\u002F_nuxt\u002Fstatic\u002F1616063786",layout:"default",error:a,serverRendered:true,routePath:"\u002Fanv%C3%A4ndarhandledning",config:{app:{basePath:"\u002F",assetsPath:"\u002F_nuxt\u002F",cdnURL:a}}}}(null));

/_nuxt/static/.../anv%C3%A4ndarhandledning/payload.js:
__NUXT_JSONP__("/anv%C3%A4ndarhandledning", {data:[{slug:"användarhandledning"}],fetch:{},mutations:void 0});

Hi,
is there any solutions? +1

Possibly related:

#9400
#9425
9297


Project names in kernel picker menu

As .venv will be present in lots of local projects (e.g. because they were created with poetry), how about a list that would show the project in the kernel picker menu name as well e.g.:

.venv (/manim/.venv)
.venv (/segmentation/.venv)
.venv (/pytutorial/.venv)

That way, it would become super easy to quickly test a notebook with kernels that come from other local projects.

@kolibril13 when you using the Python extension and use the command Python: Select Interpreter are the poetry environments listed in the way described above?
If not, then I'd suggest creating a similar feature request  there as well.

When you using the Python extension and use the command Python: Select Interpreter are the poetry environments listed in the way described above?

No they don't. I've made https://github.com/microsoft/vscode-python/issues/20352 for that.
Also, I have some more feedback on the latest kernel picker menu here: https://github.com/microsoft/vscode/issues/168558
It's basically this issue (kernels from other projects), and two other issues ("Better kernel picking when creating first notebook" and "Local Python Environments not showing in parent folder") combined in one report.

Since the Jupyter extension uses the API provided by the Python extension, I'm going to close this issue.
As soon as the Python extension adds support for this we'll get this automatically
Hence closing in favour of the other (duplicate/upstream) issue


Poll on file watch

cc @glennc @pranavkm
@Eilon can I assume this is approved for RC2 as a transitive dependency of the polling file watcher?

The changes are in Mvc, not Razor itself.

Move it to the right place :)

BTW we should get @DamianEdwards to specifically approve/decline this feature for RC2. @victorhurdugaci can you send a mail on that?

(This is technically somewhat orthogonal to the other file watched changes.)


sharp: Installation error: unable to get local issuer certificate

Did you see the documentation relating to installation?
Yes
Have you ensured the architecture and platform of Node.js used for npm install is the same as the architecture and platform of Node.js used at runtime?
Yes
Are you using the latest version? Is the version currently in use as reported by npm ls sharp the same as the latest version as reported by npm view sharp dist-tags.latest?
Yes
If you are using npm v6 or earlier and installing as a root or sudo user, have you tried with the npm install --unsafe-perm flag?
NA
If you are using npm v7, does the user running npm install own the directory it is run in?
NA
If you are using the ignore-scripts feature of npm, have you tried with the npm install --ignore-scripts=false flag?
Yes
What is the complete output of running npm install --verbose sharp? Have you checked this output for useful error messages?
  You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed.  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm verb exit [ 1, true ]
npm timing npm Completed in 13644ms

npm ERR!      C:\Users\varun.verma\AppData\Roaming\npm-cache\_logs\2021-06-10T15_52_41_454Z-debug.log

C:\Users\varun.verma\Desktop\test>
What is the output of running npx envinfo --binaries --system?
C:\Users\varun.verma\Desktop\test>npx envinfo --binaries --system
  System:
    OS: Windows 10 10.0.18363
    CPU: (8) x64 Intel(R) Core(TM) i7-10610U CPU @ 1.80GHz
    Memory: 7.72 GB / 15.78 GB
  Binaries:
    Node: 14.17.0 - C:\Program Files\nodejs\node.EXE
    npm: 6.14.13 - C:\Program Files\nodejs\npm.CMD

Please see #1618

@lovell , Still the same issue
PS C:\Users\varun.verma\Desktop\test> npm i sharp
npm ERR! path C:\Users\varun.verma\Desktop\test\node_modules\sharp
npm ERR! command failed
npm ERR! command C:\windows\system32\cmd.exe /d /s /c (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)
npm ERR! sharp: Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.10.6/libvips-8.10.6-win32-x64.tar.br
npm ERR! sharp: Please see https://sharp.pixelplumbing.com/install for required dependencies
npm ERR! sharp: Installation error: unable to get local issuer certificate

npm ERR!      C:\Users\varun.verma\AppData\Local\npm-cache\_logs\2021-06-11T06_30_24_392Z-debug.log
PS C:\Users\varun.verma\Desktop\test> npm config get
; "builtin" config from C:\Program Files\nodejs\node_modules\npm\npmrc

prefix = "C:\\Users\\varun.verma\\AppData\\Roaming\\npm"

; "user" config from C:\Users\varun.verma\.npmrc

cafile = "C:\\Program Files\\Git\\usr\\bin\\cert.pem"
NODE_EXTRA_CA_CERTS = "C:\\Program Files\\Git\\usr\\bin\\cert.pem"
python = "C:\\Python27\\python.exe"
registry = "https://registry.npmjs.org/"
strict-ssl = false

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\Users\varun.verma\Desktop\test
; HOME = C:\Users\varun.verma
; Run `npm config ls -l` to show all defaults.
PS C:\Users\varun.verma\Desktop\test>

https://forums.couchbase.com/t/prebuild-install-warn-install-unable-to-get-local-issuer-certificate/29681 worked!
We can close the issue


Sync eng/common directory with azure-sdk-tools for PR 1083

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/1083
See eng/common workflow

/check-enforcer reset


ModuleNotFoundError: No module named 'actions.secrets'

Hello, tried deploying this to Okteto but I go the following error. I also got an error deploying docker compose.

great, thank you for the update.

Thank you. I'm having an issue with changing my bot server port I need to
change it from 5005 to something else. You know any solution for that?
On Wed, 13 Jul 2022, 17:27 João Paulo Wakugawa, @.***>
wrote:

Thanks for the issue!
I'll improve the documentation about this part.
Go to bot > actions:
Add a secrets.py file with your mongo cluster information.
secrets = {
"CLUSTER": "your_cluster",
"DB_NAME": "your_database",
"COL_NAME": "your_collection"
}
—
Reply to this email directly, view it on GitHub
https://github.com/jpwakugawa/chatbot-hogwarts/issues/2#issuecomment-1183431558,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALSFSA36GOGY7FRKINW7ZJ3VT3U57ANCNFSM53OPLYYQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hello, you could change the forwarded port at docker-compose ports:

Or even pass the select port as argument:
rasa run --enable-api --cors "*" -p 5010

Hi, I've been able to fix this for a while now. My current issue is getting the chat widget to show up on the main page. it never comes up.

Well, are you getting any errors?
Changing the socketUrl like I did here should be enough:

So the issue is that I forked your repo and deployed it exactly on okteto, I removed the secrets as I do not have any secrets. here's the link of the outceome: https://web-owos.cloud.okteto.net/

I have just redeployed my repo and it worked normally, make sure you are using the correct endpoint at socketUrl, in your case it should be something like bot-owos.cloud.okteto.net and deploy using this command:
 okteto deploy --build

Also, if you are going to use rasa-sdk, don't forget to change the endpoint:

If this doesn't work, show me the logs from your pod at Okteto.


Add ability to run with multiple devices

Is your feature request related to a problem? Please describe.
My team would love for me to run our tests against multiple devices. I understand one would specify the device information in the detox configuration in the project's package.json file, but it would be awesome if we could specify multiple devices for each platform.
Describe the solution you'd like
If possible, it would be great to configure multiple devices and then specify which one you'd like to run against in the detox test command.

When running the detox cli you have the -n option which will launch the tests against that simulator.
detox test -c android.emu.debug -n Pixel_2_API_28

Isn't this what you are looking for?

@compojoom this is exactly what I am looking for, I missed it in the documentation. Thank you for your help.


ContractKit Reserve unfrozen balance methods

Description
adds getUnfrozenBalance
adds getUnfrozenReserveCeloBalance
Other changes
Added an alias for getReserveGoldBalance as getReserveCeloBalance
also adds documentation which was taken from the underlying Reserve.sol but modified to be more clear about the difference between the two unfrozen methods
Tested
added tests to the ReserveWrapper.test file
Related issues
Motivation Behind this is to enabled Celoreserve.org to use contractKit to get live numbers
Backwards compatibility
yes because no existing methods were changed

Did you check that the balances yielded are consistent with the one of mainnet?

@martinvol  Just checked  with forno and got this.
 const reserve = await kit.contracts.getReserve()
  const unfrozenCeloBalance = await reserve.getUnfrozenReserveCeloBalance()
  const unfrozenBalance = await reserve.getUnfrozenBalance()

{
 "unfrozenCeloBalanceFormatted":"74,354,103",
 "unfrozenBalanceFormatted":"71,409,105",
 "unfrozenCeloBalance":"7.4354103292378244810299176e+25",
 "unfrozenBalance":"7.1409105043160870310299176e+25"
}


Uncaught TypeError: Cannot read property 'find' of undefined

I was trying to use user.userRepos(username, function(err, repos) {}); but i got this error Uncaught TypeError: Cannot read property 'find' of undefined any ideas?

nevermind i thought underscore was already imported.


Suggested api changes

I think it would simplify the code to expose the following instead of compile:
def compile_string(s, **kwargs):
    # ...

# and

def compile_file(filename, **kwargs):
    # ...

and drop compile_directory (libsass has hard deprecated it)

Seems better, we can change it in 0.8.0 release.

Libsass never implemented compile_directory and traces in the API will probably be removed completely. There are some internal refactorings pending which will remove this from the internal C++ API too. Was there anything related to this exposed on the C level? I was under the impression we could safely remove it from libsass.

@mgreter it used to be exposed in the old api, which I removed dependence on here: https://github.com/dahlia/libsass-python/commit/202d65768921379d519c4b133a10040a8dea837f#diff-454523db191eb8e24222f01b7d4e7c1dL144
To keep our api compatibility, we have an implementation in pure python: https://github.com/dahlia/libsass-python/blob/599f47019da132008fecb168d272fd814ac85821/sass.py#L198


⚠ Processors has degraded performance

In f1f19fe, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 158 ms

Resolved: Processors performance has improved in 54d5484.


[bug] Dependency chains are not respected in moon ci

Describe the bug
If you have a dependency chain task1 -> task2 -> task3, when task1 is touched, moon ci will only execute task2 and it will not propagate to task3.
Steps to reproduce
Configure three tasks as follows:
  dependency:
    command: echo "I'm the dependency"
    inputs:
      - dependency-input.txt
    options:
      runInCI: true

  dependency-checker:
    deps:
      - dependency
    command: echo "I'm the dependency checker"
    inputs:
      - dependency-checker-input.txt
    options:
      runInCI: true

  dependent:
    deps:
      - dependency-checker
    command: echo "I'm the dependent"
    inputs:
      - dependent-input.txt
    options:
      runInCI: true

Commit everything to the default git branch. moon ci shouldn't execute anything.
Now, modify the file dependency-input.txt and execute moon ci. The dependency-checker task is run, but the dependent is not:
▪▪▪▪ Gathering touched files
  services/trio-cloud-search/dependency-input.txt
▪▪▪▪ Gathering potential targets
  ...
  trio-cloud-search:dependency
  trio-cloud-search:dependency-checker
  trio-cloud-search:dependent
  ...
▪▪▪▪ Generating action graph
Target count: 335
Action count: 12
▪▪▪▪ Running targets
▪▪▪▪ trio-cloud-search:dependency (faf9f199)
        trio-cloud-search:dependency | I'm the dependency
▪▪▪▪ trio-cloud-search:dependency (faf9f199)
▪▪▪▪ trio-cloud-search:dependency-checker (7f147af2)
trio-cloud-search:dependency-checker | I'm the dependency checker
▪▪▪▪ trio-cloud-search:dependency-checker (7f147af2)

Expected behavior
The task dependent should also be executed since it depends on dependency-checker.
Additional context
Note that these dependency chains behave correctly regarding the cache logic (so if dependency is dirty, it will propagate the dirty state up to dependent). The issue only occurs in moon ci.

@kikones34 This is by design at the moment. The "run dependents" logic only applies to direct dependents of affected tasks, and not the entire tree. It was built this way as a simple regression testing mechanism and ensuring a change in a project didn't affect it's immediate consumers.
However, we can probably add an option to control the depth.

@milesj Oh, I see. The problem is that this breaks the way we're managing inter-project dependencies. In the real-world use case, what we actually have is:

A check-source-changed task on each project which gets dirty when the source code of the project changes.
check-deps-source-changed on each project, which has dependencies such as proj1:check-source-changed, proj2:check-source-changed, etc. It gets dirty whenever one of those project's source is changed.
Tasks that depend on check-deps-source-changed. For example, test only gets dirty if the project source or the source of the dependencies has changed.
This has worked perfectly as far as caching goes, but I'm finding it impossible to replicate with the CI feature.

@kikones34 Yah that makes sense. Are you able to use moon run in CI now to replicate what you want?

Yeah for now we're using moon run, but managing the cache is tricky due to the pipelines being run by Bamboo agents, different PRs open on different branches at the same time, etc.
For now it's mostly working, although we are limiting the cache to be per-branch, otherwise many issues arise. That's why we were looking into leveraging the moon ci capabilities so that we can always run just the minimum necessary tasks given by the touched files, without having to worry so much about the cache state.

I'll look into supporting deep dependents in the next release.

I've made some changes in v1.29, can you give that a shot?

I've been checking out the new tracker logs and CLI options upstream and downstream, but I think there's still no way to pass these to moon ci, right? It only seems available for moon query projects. I also cannot really test if it would behave as expected for this issue's example, because the options can't be passed to moon query tasks either, and I get no information regarding affected tasks using the projects query.
In any case, the introduction of these parameters looks promising, and the tracker logs definitely will help debug stuff moving forwards!

Yeah moon ci is hard-coded to how it works and probably won't change. I'd rather add this functionality to moon run.

@milesj can you please elaborate on why this is the intended behavior of moon ci?
I believe most use cases require downstream dependents to run when a task changes, otherwise you have to rely solely on task inputs in order to make them affected such a change.
We could put the outputs of a dependency as an inputs for the task like so:
# app1
tasks
  build:
    command: build
    inputs:
    - 'src/**/*`
	outputs:
	- bin/main

# app2
tasks
  build:
    deps:
    - app1:build
    command: build
    inputs:
    - 'src/**/*`
	- /app1/bin/main

# app3
tasks
  build:
    deps:
    - app2:build
    command: build
    inputs:
    - 'src/**/*`
	- /app2/bin/main

However, moon generates the graph before the outputs are generated so this doesn't work.
So it seems that at the current state moon ci is actually not suitable to run in CI since a lot of dependant tasks will not be triggered.

@dudicoco Why are the outputs of dep task used as inputs for the owning task? This shouldn't be necessary, since the dep task itself is considered an "input".

@kikones34 v1.30 now properly supports tasks in the affected tracker, so moon query tasks should work better.

@milesj if my dep task produces an artifact which the next task needs to use as input for its build then this is neccessary.
If you look at how bazel works this happens everywhere basically, for example:
go_library(
    name = "lib",
    srcs = ["lib.go"],
)

go_binary(
    name = "bin",
    srcs = ["bin.go"],
    deps = [":lib"],
)

@milesj i'll try to illustrate what I believe is the problem:
# app1
tasks:
  build:
    command: echo output1>>file.txt
    inputs:
    - file.txt
    outputs:
    - out/file.txt

# app2
tasks:
  build:
    deps:
    - app1:build
    command: echo output2>>file.txt
    inputs:
    - /app1/out/file.txt
    outputs:
    - out/file.txt

# app3
tasks:
  build:
    deps:
    - app2:build
    command: echo output3>>file.txt
    inputs:
    - /app2/out/file.txt
    outputs:
    - file.txt

As you can see in this example, app3 needs the input of app2 in order to produce output.
And if a change to app1 doesn't trigger a change to the transitive dependents (app3) then app3 won't be rebuilt.

@kikones34 This should work much better in v1.30. We have a test case that does exactly that: https://github.com/moonrepo/moon/blob/master/crates/affected/tests/affected_tracker_test.rs#L733

So this was resolved in v1.30, but it introduced another undesired behavior, see https://github.com/moonrepo/moon/issues/1736

@milesj This looks really good now, I did a small test project and everything works as expected! However in our main big monorepo, there's an issue which causes a ton of tasks to be marked as affected, see: https://github.com/moonrepo/moon/issues/1743

Awesome, I'll close this for now.


Reorganize the How We Did section into new directories

Create these dirs:

kerisse
keridoc
glossary
kerific
general

And move markdown files to directories.

Done


Some GitHub Actions jobs should be conditional

Describe the bug
Today I synced a fork of this project. I'm unsure if I had previously enabled GitHub Actions on the fork or if recent changes in the upstream repo caused it to be enabled. However after syncing I got a two notifications of failure of jobs and workflows that should only berun from the main repo IMO
Expected behaviour
Jobs should be skipped

Deploy to Heroku
** ALL Jobs here should really be skipped as I can't see the use of this workflow from other repos
CI Pipeline
** build docker image and jobs dependent on it should be skipped

The docs for GitHub Actions say jobs.[job_id].if can be used for this
name: example-workflow
on: [push]
jobs:
  production-deploy:
    if: github.repository == 'octo-org/octo-repo-prod'

https://docs.github.com/en/actions/using-jobs/using-conditions-to-control-job-execution#example-only-run-job-for-specific-repository
Environment
n/a
To Reproduce
n/a
Any additional context, screenshots, etc

Hello @ChristopherHackett - you can disable the jobs on your repo by going to Actions, clicking on the workflow and selecting 'Disable workflow' from the 3-dots


Add simple Image filters

sepia
black and white
and so on

added.
I will update README.

Currently, this doesn't work well.
The video view renders red screen.

Now, with iOS 13, using custom filter will crush. I guess this cause is CVPixelbuffer.
without filter
capture <CVPixelBuffer 0x2826985a0 width=480 height=360 pixelFormat=420f iosurface=0x281580e50 planes=2>
<Plane 0 width=480 height=360 bytesPerRow=512>
<Plane 1 width=240 height=180 bytesPerRow=512>
<attributes={
    ExtendedPixelsBottom = 8;
    ExtendedPixelsLeft = 0;
    ExtendedPixelsRight = 0;
    ExtendedPixelsTop = 0;
    PixelFormatDescription =     {
        BitsPerComponent = 8;
        ComponentRange = FullRange;
        ContainsAlpha = 0;
        ContainsGrayscale = 0;
        ContainsRGB = 0;
        ContainsYCbCr = 1;
        FillExtendedPixelsCallback = {length = 24, bytes = 0x00000000000000004456ebb5010000000000000000000000};
        IOSurfaceCoreAnimationCompatibility = 1;
        IOSurfaceCoreAnimationCompatibilityHTPCOK = 1;
        IOSurfaceOpenGLESFBOCompatibility = 1;
        IOSurfaceOpenGLESTextureCompatibility = 1;
        OpenGLESCompatibility = 1;
        PixelFormat = 875704422;
        Planes =         (
                        {
                BitsPerBlock = 8;
                BlackBlock = {length = 1, bytes = 0x00};
            },
                        {
                BitsPerBlock = 16;
                BlackBlock = {length = 2, bytes = 0x8080};
                HorizontalSubsampling = 2;
                VerticalSubsampling = 2;
            }
        );
    };
} propagatedAttachments={
    CVImageBufferColorPrimaries = "ITU_R_709_2";
    CVImageBufferTransferFunction = "ITU_R_709_2";
    CVImageBufferYCbCrMatrix = "ITU_R_601_4";
    MetadataDictionary =     {
        ExposureTime = "0.033318";
        NormalizedSNR = "27.97473765384338";
        SNR = "44.56621994544433";
        SensorID = 1044;
    };
} nonPropagatedAttachments={
}>

with filter
capture <CVPixelBuffer 0x28129c6e0 width=480 height=360 pixelFormat=420f iosurface=0x0 planes=2>
<Plane 0 width=480 height=360 bytesPerRow=512>
<Plane 1 width=240 height=180 bytesPerRow=512>
<attributes={
    CGBitmapContextCompatibility = 1;
    CGImageCompatibility = 1;
    PixelFormatDescription =     {
        BitsPerComponent = 8;
        ComponentRange = FullRange;
        ContainsAlpha = 0;
        ContainsGrayscale = 0;
        ContainsRGB = 0;
        ContainsYCbCr = 1;
        FillExtendedPixelsCallback = {length = 24, bytes = 0x00000000000000004456ebb5010000000000000000000000};
        IOSurfaceCoreAnimationCompatibility = 1;
        IOSurfaceCoreAnimationCompatibilityHTPCOK = 1;
        IOSurfaceOpenGLESFBOCompatibility = 1;
        IOSurfaceOpenGLESTextureCompatibility = 1;
        OpenGLESCompatibility = 1;
        PixelFormat = 875704422;
        Planes =         (
                        {
                BitsPerBlock = 8;
                BlackBlock = {length = 1, bytes = 0x00};
            },
                        {
                BitsPerBlock = 16;
                BlackBlock = {length = 2, bytes = 0x8080};
                HorizontalSubsampling = 2;
                VerticalSubsampling = 2;
            }
        );
    };
} propagatedAttachments={
} nonPropagatedAttachments={
}>

hmm

it work very well  on remote side.. but local side it display red view on localview


Download through link

Not able to download through link generated by following :
-g, --get-url                    Simulate, quiet but print URL
Please help

If you are trying to download from another machine see this FAQ entry.


Fix filename to be copied for package upload to pypi

Coverage increased (+0.03%) to 79.684% when pulling b041086744d1565350df1a7cc0111cf52cf6fd34 on nkorde/fix-pypi into 6e2b21688831e1025a0c367a5d31155bf31d8e5d on master.


No labels on taxon nodes

This may be a nodenormalization problem.

Presuming that this data was discovered on the covid graph, I ran this query which did not return any rows:
match (n1) where n1.id=~".NCBITaxon." and (n1.name=null or n1.name="") return n1 limit 10

Hmm, I noticed this in the browser.   Looking around, it appears that the. nodes do have names, the browser was just not displaying them.
FWIW,  I suspect that this query would be faster:
match (n1:organism_taxon) where (n1.name = null or n1.name="") return n1 limit 10


Merge dev into master

What is this?

I'm sorry, I meant to merge into own master branch.  Closing the pull request.


Replace deprecated slot syntax in render-function.md

Hey there 👋
I found one example that was still using the deprecated slot syntax. Hope my correction is correct 😁

Thanks!~


Support storing user and app token cache to different files

Context:
MSAL doesn't support combining the user/token cache in one file. Their suggestion is to use different files to store different types of tokens. However, that's not possible with the current version of the Azure Identity library. This blocks Azure PowerShell from leveraging token cache for service principals. Each time an access token is needed, Azure PowerShell must do the complete authentication flow to get a new access token. This is time- and resource-consuming for both Azure PowerShell and Azure AD.

We exposed TokenCachePersistenceOptions by which user can specify the name of the cache file.


ReliableMessageProtocolConfig.h can give you a 0 sized retransmit table

Problem
#ifndef CHIP_CONFIG_RMP_RETRANS_TABLE_SIZE
#ifdef PBUF_POOL_SIZE
#define CHIP_CONFIG_RMP_RETRANS_TABLE_SIZE std::min(PBUF_POOL_SIZE, CHIP_CONFIG_MAX_EXCHANGE_CONTEXTS)
#elif CHIP_SYSTEM_CONFIG_PACKETBUFFER_POOL_SIZE != 0
#define CHIP_CONFIG_RMP_RETRANS_TABLE_SIZE std::min(CHIP_SYSTEM_CONFIG_PACKETBUFFER_POOL_SIZE, CHIP_CONFIG_MAX_EXCHANGE_CONTEXTS)
#else
#define CHIP_CONFIG_RMP_RETRANS_TABLE_SIZE CHIP_CONFIG_MAX_EXCHANGE_CONTEXTS
#endif // PBUF_POOL_SIZE
#endif // CHIP_CONFIG_RMP_RETRANS_TABLE_SIZE
This block of code will result in a 0 sized retransmit table if you have PBUF_POOL_SIZE set to 0.  Which is what you are instructed to do in the configuration header for LWIP if you set LWIP_PBUF_FROM_CUSTOM_POOLS to 1.
This resulted in us not being able to use RMP because our product is using custom pbuf pools.  We crashed pretty quickly.
Proposed Solution
we worked around it by changing
#ifdef PBUF_POOL_SIZE
to
#if PBUF_POOL_SIZE != 0
Without being super familiar with the code though I don't know if that's a good general solution or not.
EOD though you shouldn't get a 0 sized table with a valid LWIP configuration.

@yufengwangca  please take a look, thanks

https://github.com/project-chip/connectedhomeip/pull/9465


Roll Flutter Engine from 490576daf810 to 2b2545908552 (3 revisions)

https://github.com/flutter/engine/compare/490576daf810...2b2545908552
2024-07-24<EMAIL_ADDRESS>Roll Skia from 25f26f673502 to c11932925658 (4 revisions) (flutter/engine#54081)
2024-07-24<EMAIL_ADDRESS>Upgrade Engine Android SDK to 35 (flutter/engine#53574)
2024-07-24<EMAIL_ADDRESS>Roll Skia from a9b1043eb23e to 25f26f673502 (1 revision) (flutter/engine#54079)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jonahwilliams@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Content not showing on ipad's chrom & android's chrome

Hello, i wanted ask for help
when i develop on local, content rendered just fine and works fine too after build (i tested using brave and chrome desktop). but when i opened on ipad's chrome & android's chrome, there's nothing on the screen. just blank screen.
can someone help me with this issue?

Hi @ryansyrl,
I's difficult to identify the problem from the information provided, can you provide more details?

Hi @ryansyrl,
I's difficult to identify the problem from the information provided, can you provide more details?

I also have the same problem, it can be used normally under ios, but it will report an error under Android. The following is the error information of the console：
Uncaught (in promise)
Object {name: "TypeError", message: "key.sp...
message: "key.split(...).at is not a function"
name: "TypeError"
stack: "TypeError: key.split(...).at is not a function\n at new KeyboardManager


applying the page border style

Pdfkit is Very Good resource for generating pdf . But I did not find the any resource to page border and overide default_options.
i used below code to over ride the default css.
config.default_options = {
:quiet => true,
:page_size => 'A4',
:margin_top    => 0,
:margin_right  => 0,
:margin_bottom => 0,
:margin_left   => 0,
:encoding => 'UTF-8'
}
And also i want to apply the border style property to the pdf . Can any one suggest me ?
Thanks
madhu

Questions belong on StackOverflow. This is a defect tracker.

its my request can please suggest me how to apply border .