EXIF date and location not saving to MP4 videos

When running osxphotos export --verbose --exiftool . on my entire photo library (just 10 photos and 47 videos), the date and location / GPS metadata is only written to the 10 JPG photos. All 47 MP4 videos have the incorrect date (that I corrected in Photos.app) and no location metadata (also added in Photos.app).
I'm running Photos 5.0 on Catalina. When I airdrop the resulting 10 photos and 47 videos to my iPhone, the iOS photos app only shows correct dates / locations for the 10 photos.
Here is the output of the command:
BryansWorkMBP3:GoPro bryan$ osxphotos export --verbose --exiftool .
Using last opened Photos library: /Users/bryan/Pictures/Photos Library.photoslibrary
Using export database ./.osxphotos_export.db
Processing database /Users/bryan/Pictures/Photos Library.photoslibrary/database/photos.db
Processing database /Users/bryan/Pictures/Photos Library.photoslibrary/database/Photos.sqlite
Database locked, creating temporary copy.
Processing database.
Database version: 6000, 5.
Processing persons in photos.
Processing detected faces in photos.
Processing albums.
Processing keywords.
Processing photo details.
Processing import sessions.
Processing additional photo details.
Processing face details.
Processing photo labels.
Processing EXIF details.
Processing computed aesthetic scores.
Processing comments and likes for shared photos.
Done processing details from Photos library.
Exporting 57 photos to ....
Exporting IMG_1700.MP4 (6965395B-A347-4A26-A690-F664F5EC6947.mp4) as IMG_1700.MP4
Writing metadata with exiftool for IMG_1700.MP4
Exported IMG_1700.MP4
Exporting IMG_1793.MP4 (891252EB-DB9A-454F-AD2C-D8E2684A5A0F.mp4) as IMG_1793.MP4
Writing metadata with exiftool for IMG_1793.MP4
Exported IMG_1793.MP4
Exporting IMG_1790.MP4 (D65E635C-DAE4-461D-866E-8473C464BF5E.mp4) as IMG_1790.MP4
Writing metadata with exiftool for IMG_1790.MP4
Exported IMG_1790.MP4
Exporting IMG_1711.MP4 (32D4AE2F-198D-4C40-982B-F018C0B9B93C.mp4) as IMG_1711.MP4
Writing metadata with exiftool for IMG_1711.MP4
Exported IMG_1711.MP4
Exporting IMG_1739.MP4 (EE47E024-765C-4A74-BF48-7D79796F0D93.mp4) as IMG_1739.MP4
Writing metadata with exiftool for IMG_1739.MP4
Exported IMG_1739.MP4
Exporting IMG_1724.MP4 (D8A54A9B-1437-4FC7-AB2E-2B60CAE24D48.mp4) as IMG_1724.MP4
Writing metadata with exiftool for IMG_1724.MP4
Exported IMG_1724.MP4
Exporting IMG_1791.MP4 (BADF0E4A-45DC-4E77-9488-6DAA4EAF92CF.mp4) as IMG_1791.MP4
Writing metadata with exiftool for IMG_1791.MP4
Exported IMG_1791.MP4
Exporting IMG_1729.MP4 (0C551F72-327B-44FE-B3E9-542B1F2E08F3.mp4) as IMG_1729.MP4
Writing metadata with exiftool for IMG_1729.MP4
Exported IMG_1729.MP4
Exporting IMG_1712.MP4 (A5A7A795-CF28-442D-82EA-459373AB3B7A.mp4) as IMG_1712.MP4
Writing metadata with exiftool for IMG_1712.MP4
Exported IMG_1712.MP4
Exporting IMG_1784.JPG (C8CA8DBB-308E-4E2C-A75C-46C822D06CDE.jpeg) as IMG_1784.JPG
Writing metadata with exiftool for IMG_1784.JPG
Exported IMG_1784.JPG
Exporting IMG_1704.MP4 (176F09EC-6BAE-436D-8D99-C24B33CC6DD3.mp4) as IMG_1704.MP4
Writing metadata with exiftool for IMG_1704.MP4
Exported IMG_1704.MP4
Exporting IMG_1735.MP4 (D42180EE-8AB7-4E97-9803-A1594F84FF43.mp4) as IMG_1735.MP4
Writing metadata with exiftool for IMG_1735.MP4
Exported IMG_1735.MP4
Exporting IMG_1783.JPG (3442D75B-E67A-443B-A6F7-3FFCB7558032.jpeg) as IMG_1783.JPG
Writing metadata with exiftool for IMG_1783.JPG
Exported IMG_1783.JPG
Exporting IMG_1723.MP4 (7C9D2D88-C34A-40EC-88E9-A42BED73BF31.mp4) as IMG_1723.MP4
Writing metadata with exiftool for IMG_1723.MP4
Exported IMG_1723.MP4
Exporting IMG_1706.MP4 (0AA2FCD5-8BC1-4CDB-B6D5-04A8D5304BEE.mp4) as IMG_1706.MP4
Writing metadata with exiftool for IMG_1706.MP4
Exported IMG_1706.MP4
Exporting IMG_1777.MP4 (43EFFEAE-ED46-4968-87B2-185DE9BE56CB.mp4) as IMG_1777.MP4
Writing metadata with exiftool for IMG_1777.MP4
Exported IMG_1777.MP4
Exporting IMG_1789.MP4 (BE2A3D95-6404-48BE-BE48-2811C06B4EC9.mp4) as IMG_1789.MP4
Writing metadata with exiftool for IMG_1789.MP4
Exported IMG_1789.MP4
Exporting IMG_1728.MP4 (3BA8AF13-3996-445F-9DCD-F201BFB8D9E6.mp4) as IMG_1728.MP4
Writing metadata with exiftool for IMG_1728.MP4
Exported IMG_1728.MP4
Exporting IMG_1781.JPG (013BF0A7-81B7-4A3D-9313-AFB833FB641A.jpeg) as IMG_1781.JPG
Writing metadata with exiftool for IMG_1781.JPG
Exported IMG_1781.JPG
Exporting IMG_1743.MP4 (45225987-A115-4992-A6C4-D9B07E30A1A0.mp4) as IMG_1743.MP4
Writing metadata with exiftool for IMG_1743.MP4
Exported IMG_1743.MP4
Exporting IMG_1741.MP4 (DAB7441E-F31E-41B3-9148-B83778CABDE8.mp4) as IMG_1741.MP4
Writing metadata with exiftool for IMG_1741.MP4
Exported IMG_1741.MP4
Exporting IMG_1708.MP4 (CC8AFB64-1055-4C46-B359-403C1A8AB129.mp4) as IMG_1708.MP4
Writing metadata with exiftool for IMG_1708.MP4
Exported IMG_1708.MP4
Exporting IMG_1794.MP4 (4334DFFE-17B2-4E0F-9C03-575E929D43A3.mp4) as IMG_1794.MP4
Writing metadata with exiftool for IMG_1794.MP4
Exported IMG_1794.MP4
Exporting IMG_1707.MP4 (94CD60EC-4A6C-460E-ABD4-5BFD24416AD7.mp4) as IMG_1707.MP4
Writing metadata with exiftool for IMG_1707.MP4
Exported IMG_1707.MP4
Exporting IMG_1778.JPG (32C71FD8-6C7B-42B4-85B8-E8C8C993921A.jpeg) as IMG_1778.JPG
Writing metadata with exiftool for IMG_1778.JPG
Exported IMG_1778.JPG
Exporting IMG_1725.MP4 (469795F2-8569-49CD-9429-204A29C10149.mp4) as IMG_1725.MP4
Writing metadata with exiftool for IMG_1725.MP4
Exported IMG_1725.MP4
Exporting IMG_1736.MP4 (A5A08330-B264-4644-8294-D157CEBF71C9.mp4) as IMG_1736.MP4
Writing metadata with exiftool for IMG_1736.MP4
Exported IMG_1736.MP4
Exporting IMG_1792.MP4 (B211A36D-CE37-4945-B8BB-D1BC274E9C7A.mp4) as IMG_1792.MP4
Writing metadata with exiftool for IMG_1792.MP4
Exported IMG_1792.MP4
Exporting IMG_1733.MP4 (266C79D3-35C5-4BAC-88BA-1E8458A62B3B.mp4) as IMG_1733.MP4
Writing metadata with exiftool for IMG_1733.MP4
Exported IMG_1733.MP4
Exporting IMG_1731.MP4 (8BF6DCA5-6074-45CB-9EEA-9656C1C5EA78.mp4) as IMG_1731.MP4
Writing metadata with exiftool for IMG_1731.MP4
Exported IMG_1731.MP4
Exporting IMG_1719.MP4 (C3B21083-30EC-40B6-BA0F-DBB6DC75683B.mp4) as IMG_1719.MP4
Writing metadata with exiftool for IMG_1719.MP4
Exported IMG_1719.MP4
Exporting IMG_1720.MP4 (4F8B574B-1D0A-46A7-8044-CC18D3D1B301.mp4) as IMG_1720.MP4
Writing metadata with exiftool for IMG_1720.MP4
Exported IMG_1720.MP4
Exporting IMG_1738.MP4 (56C45FD2-F073-420C-97D0-9E58B122ED7E.mp4) as IMG_1738.MP4
Writing metadata with exiftool for IMG_1738.MP4
Exported IMG_1738.MP4
Exporting IMG_1779.JPG (50EC4C5B-F464-454F-8172-12C2F63A577D.jpeg) as IMG_1779.JPG
Writing metadata with exiftool for IMG_1779.JPG
Exported IMG_1779.JPG
Exporting IMG_1726.MP4 (E0373D0C-D081-4C46-AF70-D5CCFB40029B.mp4) as IMG_1726.MP4
Writing metadata with exiftool for IMG_1726.MP4
Exported IMG_1726.MP4
Exporting IMG_1702.MP4 (E533C322-20B4-44D9-B208-A8C20D537C25.mp4) as IMG_1702.MP4
Writing metadata with exiftool for IMG_1702.MP4
Exported IMG_1702.MP4
Exporting IMG_1740.MP4 (8B9B56A7-719D-4674-BA1A-67442BE1DF3E.mp4) as IMG_1740.MP4
Writing metadata with exiftool for IMG_1740.MP4
Exported IMG_1740.MP4
Exporting IMG_1732.MP4 (04DDCA45-D343-43AE-9ACE-D18BD56905F0.mp4) as IMG_1732.MP4
Writing metadata with exiftool for IMG_1732.MP4
Exported IMG_1732.MP4
Exporting IMG_1734.MP4 (635F1947-C696-46B0-A920-2231CA1B5019.mp4) as IMG_1734.MP4
Writing metadata with exiftool for IMG_1734.MP4
Exported IMG_1734.MP4
Exporting IMG_1705.MP4 (AB06D627-1CC7-45B8-B32D-33CB5C75312B.mp4) as IMG_1705.MP4
Writing metadata with exiftool for IMG_1705.MP4
Exported IMG_1705.MP4
Exporting IMG_1788.MP4 (67376CF1-1342-43E8-B017-3DC1BD1E446E.mp4) as IMG_1788.MP4
Writing metadata with exiftool for IMG_1788.MP4
Exported IMG_1788.MP4
Exporting IMG_1730.MP4 (A70C7FC8-215A-4C41-822B-657259700024.mp4) as IMG_1730.MP4
Writing metadata with exiftool for IMG_1730.MP4
Exported IMG_1730.MP4
Exporting IMG_1721.MP4 (93ADB500-D161-4AE2-97AC-F4BC06A12409.mp4) as IMG_1721.MP4
Writing metadata with exiftool for IMG_1721.MP4
Exported IMG_1721.MP4
Exporting IMG_1744.MP4 (46D0E73B-749A-4B5B-813A-B82D5DD13489.mp4) as IMG_1744.MP4
Writing metadata with exiftool for IMG_1744.MP4
Exported IMG_1744.MP4
Exporting IMG_1780.JPG (14687B1A-CFBC-4D78-A63B-D8F3F5F69370.jpeg) as IMG_1780.JPG
Writing metadata with exiftool for IMG_1780.JPG
Exported IMG_1780.JPG
Exporting IMG_1737.MP4 (FA310B94-1F19-4FE0-B878-D34B43A6D5CC.mp4) as IMG_1737.MP4
Writing metadata with exiftool for IMG_1737.MP4
Exported IMG_1737.MP4
Exporting IMG_1787.JPG (94C5FB00-1CC9-468D-8A22-3C0172209D52.jpeg) as IMG_1787.JPG
Writing metadata with exiftool for IMG_1787.JPG
Exported IMG_1787.JPG
Exporting IMG_1701.MP4 (0E83F501-49E6-40C7-AED2-1FC620CF91B2.mp4) as IMG_1701.MP4
Writing metadata with exiftool for IMG_1701.MP4
Exported IMG_1701.MP4
Exporting IMG_1782.JPG (7E48771A-DB86-4FF8-A614-411E6F92EE61.jpeg) as IMG_1782.JPG
Writing metadata with exiftool for IMG_1782.JPG
Exported IMG_1782.JPG
Exporting IMG_1709.MP4 (06A85188-F4D1-410B-B64F-9D9E0A4DE42B.mp4) as IMG_1709.MP4
Writing metadata with exiftool for IMG_1709.MP4
Exported IMG_1709.MP4
Exporting IMG_1722.MP4 (2298826D-A5D5-469E-B52C-019C30AB4FFB.mp4) as IMG_1722.MP4
Writing metadata with exiftool for IMG_1722.MP4
Exported IMG_1722.MP4
Exporting IMG_1727.MP4 (94EC4431-C0F5-48B0-A60A-52BF695AA3AF.mp4) as IMG_1727.MP4
Writing metadata with exiftool for IMG_1727.MP4
Exported IMG_1727.MP4
Exporting IMG_1785.JPG (45E3C425-CAD0-4F60-BEE1-307DABA23DE8.jpeg) as IMG_1785.JPG
Writing metadata with exiftool for IMG_1785.JPG
Exported IMG_1785.JPG
Exporting IMG_1742.MP4 (BEA095DE-A583-4631-89AF-62D41DDBDFDE.mp4) as IMG_1742.MP4
Writing metadata with exiftool for IMG_1742.MP4
Exported IMG_1742.MP4
Exporting IMG_1745.MP4 (A4F0E2E4-B534-4724-8C9F-61A3429FAC7D.mp4) as IMG_1745.MP4
Writing metadata with exiftool for IMG_1745.MP4
Exported IMG_1745.MP4
Exporting IMG_1786.JPG (3BCC11A8-049A-4136-80EE-C3FDEED4E71B.jpeg) as IMG_1786.JPG
Writing metadata with exiftool for IMG_1786.JPG
Exported IMG_1786.JPG
Exporting IMG_1710.MP4 (E2C52183-E081-42EF-ADE3-D6A4EC8CACE6.mp4) as IMG_1710.MP4
Writing metadata with exiftool for IMG_1710.MP4
Exported IMG_1710.MP4
Exported: 57 photos
Elapsed time: 52.697 seconds

If I do osxphotos export --verbose --sidecar JSON ., then exiftool -v -overwrite_original -j=IMG_1700.MP4.json IMG_1700.MP4 IMG_1700.MP4, I get:
Reading JSON file IMG_1700.MP4.json
======== IMG_1700.MP4
Setting new values from JSON database
Tag '_CreatedBy' is not defined
Rewriting IMG_1700.MP4...
  FileType = MP4
  FileTypeExtension = MP4
  MIMEType = video/mp4
  Editing tags in: ExifIFD GPS IFD0 IPTC
  Rewriting Movie
  Rewriting MovieHeader
  Rewriting UserData
  Rewriting Track
  Rewriting TrackHeader
  Rewriting Media
  Rewriting MediaHeader
  Rewriting MediaInfo
  Rewriting DataInfo
  Rewriting DataRef
  Rewriting SampleTable
  Rewriting Track
  Rewriting TrackHeader
  Rewriting Media
  Rewriting MediaHeader
  Rewriting MediaInfo
  Rewriting DataInfo
  Rewriting DataRef
  Rewriting SampleTable
  Rewriting Track
  Rewriting TrackHeader
  Rewriting Media
  Rewriting MediaHeader
  Rewriting MediaInfo
  Rewriting DataInfo
  Rewriting DataRef
  Rewriting SampleTable
  Rewriting Track
  Rewriting TrackHeader
  Rewriting Media
  Rewriting MediaHeader
  Rewriting MediaInfo
  Rewriting DataInfo
  Rewriting DataRef
  Rewriting SampleTable
  Rewriting Track
  Rewriting TrackHeader
  Rewriting Media
  Rewriting MediaHeader
  Rewriting MediaInfo
  Rewriting DataInfo
  Rewriting DataRef
  Rewriting SampleTable
Nothing changed in IMG_1700.MP4
    0 image files updated
    1 image files unchanged

I wonder why...

Thanks for the detailed info.  This is a bug and I've been able to replicate it.  osxphotos is not correctly exporting the right Quicktime tags.
See:
https://exiftool.org/forum/index.php?topic=11272.msg60319;topicseen#msg60319
https://exiftool.org/forum/index.php?topic=11582.msg62411#msg62411

For GPS data in QuickTime:
Quicktime:GPSCoordinates (or Keys:GPSCoordinates, same tag) with Latitude, Longitude, and optionally the Altitude, just put a space between each number
exiftool -QuickTime:GPSCoordinates="27.664880, -80.515751, 0" file.mp4

For date:
QuickTime:CreateDate
QuickTime:ModifyDate
QuickTime:DateTimeOriginal

Awesome, thanks @RhetTbull. This is my first time dealing with MP4 metadata so I don't know much about it, but what you posted seems right. Is this something you'll take on / fix?

Yes, I'll work on a fix for this. I should be able to get it done this weekend. The actual fix is fairly easy but writing test cases (which I'm a stickler for) will take a bit of work

Got this working, will work on tests this weekend then push a release.  For reference, the tags I needed were:
    QuickTime:CreationDate
    QuickTime:ModifyDate
    QuickTime:GPSCoordinates
    UserData:GPSCoordinates

Appears to work on both .mov and .mp4 files. I've not tested other formats.

Awesome. If you'd like me to test with my library, I'd be happy to confirm the fix!

@bryankeller I've pushed a fix in release v0.37.4.  Would love any feedback on how this works for you.

@RhetTbull thanks for your work on this. It seems like something is still a bit off though.
Here's what it looks like in Photos 6.0:

After running osxphotos export --verbose --exiftool . on the latest version, then Airdropping from Finder to my iPhone, the date on my iPhone is Dec 31 1969. The location is correct, though:

JSON sidecar for that file:
[{"Keys:GPSCoordinates": "-17.549205897949406 -149.77571907338674", "UserData:GPSCoordinates": "-17.549205897949406 -149.77571907338674", "QuickTime:CreationDate": "2020:11:23 21:36:49", "QuickTime:CreateDate": "2020:11:23 21:36:49", "QuickTime:ModifyDate": "2020:11:23 21:36:49"}]

Would you post the output of exiftool -G on that file after it's exported here?

Would you post the output of exiftool -G on that file after it's exported here?

[ExifTool]      ExifTool Version Number         : 12.11
[File]          File Name                       : IMG_1705.MP4.json
[File]          Directory                       : .
[File]          File Size                       : 281 bytes
[File]          File Modification Date/Time     : 2020:12:05 12:31:07-08:00
[File]          File Access Date/Time           : 2020:12:05 12:32:34-08:00
[File]          File Inode Change Date/Time     : 2020:12:05 12:32:34-08:00
[File]          File Permissions                : rw-r--r--
[File]          File Type                       : JSON
[File]          File Type Extension             : json
[File]          MIME Type                       : application/json
[JSON]          Keys GPS Coordinates            : -17.549205897949406 -149.77571907338674
[JSON]          Quick Time Create Date          : 2020:11:23 21:36:49
[JSON]          Quick Time Creation Date        : 2020:11:23 21:36:49
[JSON]          Quick Time Modify Date          : 2020:11:23 21:36:49
[JSON]          User Data GPS Coordinates       : -17.549205897949406 -149.77571907338674

Thanks -- I'll replicate this metadata to see if I can re-create this behavior.  The .MP4 files and .MOV files I tested were working correctly.  It's possible Photos is looking at one of the track times (QuickTime spec allows each individual track to have it's own metadata) instead of the overall file creation/modify times.

@bryankeller I noticed as soon as I hit submit that this was for the JSON sidecar...please post results of exiftool -G IMG_1705.MP4 to show metadata on the actual image file after you've run exiftool -v -overwrite_original -j=IMG_1700.MP4.json IMG_1700.MP4
Also, are you aware you can export with --exiftool option to write the metadata directly to the image file without having to re-run exiftool?

@RhetTbull Hope this helps!
Before running exiftool -v -overwrite_original -j=IMG_1705.MP4.json IMG_1705.MP4:
[ExifTool]      ExifTool Version Number         : 12.11
[ExifTool]      Warning                         : [minor] The ExtractEmbedded option may find more tags in the media data
[File]          File Name                       : IMG_1705.MP4
[File]          Directory                       : .
[File]          File Size                       : 143 MiB
[File]          File Modification Date/Time     : 2020:11:28 11:29:15-08:00
[File]          File Access Date/Time           : 2020:12:05 12:32:15-08:00
[File]          File Inode Change Date/Time     : 2020:12:05 12:31:07-08:00
[File]          File Permissions                : rw-------
[File]          File Type                       : MP4
[File]          File Type Extension             : mp4
[File]          MIME Type                       : video/mp4
[QuickTime]     Major Brand                     : MP4 v1 [ISO 14496-1:ch13]
[QuickTime]     Minor Version                   : 2013.10.18
[QuickTime]     Compatible Brands               : mp41
[QuickTime]     Media Data Size                 : 149537683
[QuickTime]     Media Data Offset               : 28
[QuickTime]     Movie Header Version            : 0
[QuickTime]     Create Date                     : 2015:01:07 22:40:49
[QuickTime]     Modify Date                     : 2015:01:07 22:40:49
[QuickTime]     Time Scale                      : 60000
[QuickTime]     Duration                        : 19.88 s
[QuickTime]     Preferred Rate                  : 1
[QuickTime]     Preferred Volume                : 100.00%
[QuickTime]     Preview Time                    : 0 s
[QuickTime]     Preview Duration                : 0 s
[QuickTime]     Poster Time                     : 0 s
[QuickTime]     Selection Time                  : 0 s
[QuickTime]     Selection Duration              : 0 s
[QuickTime]     Current Time                    : 0 s
[QuickTime]     Next Track ID                   : 6
[QuickTime]     Firmware Version                : HD<IP_ADDRESS>.00
[QuickTime]     Lens Serial Number              : LAE6111416600752
[QuickTime]     Camera Serial Number Hash       : 2dbde952a817dd7397dfb3b1e88047e6
[QuickTime]     Track Header Version            : 0
[QuickTime]     Track Create Date               : 2015:01:07 22:40:49
[QuickTime]     Track Modify Date               : 2015:01:07 22:40:49
[QuickTime]     Track ID                        : 1
[QuickTime]     Track Duration                  : 19.87 s
[QuickTime]     Track Layer                     : 0
[QuickTime]     Track Volume                    : 0.00%
[QuickTime]     Image Width                     : 2704
[QuickTime]     Image Height                    : 1520
[QuickTime]     Graphics Mode                   : srcCopy
[QuickTime]     Op Color                        : 0 0 0
[QuickTime]     Compressor ID                   : avc1
[QuickTime]     Source Image Width              : 2704
[QuickTime]     Source Image Height             : 1520
[QuickTime]     X Resolution                    : 72
[QuickTime]     Y Resolution                    : 72
[QuickTime]     Compressor Name                 : GoPro AVC encoder
[QuickTime]     Bit Depth                       : 24
[QuickTime]     Color Representation            : nclx 1 1 1
[QuickTime]     Video Frame Rate                : 59.94
[QuickTime]     Time Code                       : 3
[QuickTime]     Balance                         : 0
[QuickTime]     Audio Format                    : mp4a
[QuickTime]     Audio Channels                  : 2
[QuickTime]     Audio Bits Per Sample           : 16
[QuickTime]     Audio Sample Rate               : 48000
[QuickTime]     Text Font                       : Unknown (21)
[QuickTime]     Text Face                       : Plain
[QuickTime]     Text Size                       : 10
[QuickTime]     Text Color                      : 0 0 0
[QuickTime]     Background Color                : 65535 65535 65535
[QuickTime]     Font Name                       : Helvetica
[QuickTime]     Other Format                    : tmcd
[QuickTime]     Matrix Structure                : 1 0 0 0 1 0 0 0 1
[QuickTime]     Media Header Version            : 0
[QuickTime]     Media Create Date               : 2015:01:07 22:40:49
[QuickTime]     Media Modify Date               : 2015:01:07 22:40:49
[QuickTime]     Media Time Scale                : 60000
[QuickTime]     Media Duration                  : 19.87 s
[QuickTime]     Handler Class                   : Media Handler
[QuickTime]     Handler Type                    : NRT Metadata
[QuickTime]     Handler Description             : GoPro SOS
[QuickTime]     Gen Media Version               : 0
[QuickTime]     Gen Flags                       : 0 0 0
[QuickTime]     Gen Graphics Mode               : srcCopy
[QuickTime]     Gen Op Color                    : 0 0 0
[QuickTime]     Gen Balance                     : 0
[QuickTime]     Meta Format                     : fdsc
[Composite]     Image Size                      : 2704x1520
[Composite]     Megapixels                      : 4.1
[Composite]     Avg Bitrate                     : 60.2 Mbps
[Composite]     Rotation                        : 0

After:
[ExifTool]      ExifTool Version Number         : 12.11
[ExifTool]      Warning                         : [minor] The ExtractEmbedded option may find more tags in the media data
[File]          File Name                       : IMG_1705.MP4
[File]          Directory                       : .
[File]          File Size                       : 143 MiB
[File]          File Modification Date/Time     : 2020:12:08 14:10:35-08:00
[File]          File Access Date/Time           : 2020:12:08 14:10:34-08:00
[File]          File Inode Change Date/Time     : 2020:12:08 14:10:35-08:00
[File]          File Permissions                : rw-------
[File]          File Type                       : MP4
[File]          File Type Extension             : mp4
[File]          MIME Type                       : video/mp4
[QuickTime]     Major Brand                     : MP4 v1 [ISO 14496-1:ch13]
[QuickTime]     Minor Version                   : 2013.10.18
[QuickTime]     Compatible Brands               : mp41
[QuickTime]     Movie Header Version            : 0
[QuickTime]     Create Date                     : 2020:11:23 21:36:49
[QuickTime]     Modify Date                     : 2020:11:23 21:36:49
[QuickTime]     Time Scale                      : 60000
[QuickTime]     Duration                        : 19.88 s
[QuickTime]     Preferred Rate                  : 1
[QuickTime]     Preferred Volume                : 100.00%
[QuickTime]     Preview Time                    : 0 s
[QuickTime]     Preview Duration                : 0 s
[QuickTime]     Poster Time                     : 0 s
[QuickTime]     Selection Time                  : 0 s
[QuickTime]     Selection Duration              : 0 s
[QuickTime]     Current Time                    : 0 s
[QuickTime]     Next Track ID                   : 6
[QuickTime]     Firmware Version                : HD<IP_ADDRESS>.00
[QuickTime]     Lens Serial Number              : LAE6111416600752
[QuickTime]     Camera Serial Number Hash       : 2dbde952a817dd7397dfb3b1e88047e6
[QuickTime]     Track Header Version            : 0
[QuickTime]     Track Create Date               : 2015:01:07 22:40:49
[QuickTime]     Track Modify Date               : 2015:01:07 22:40:49
[QuickTime]     Track ID                        : 1
[QuickTime]     Track Duration                  : 19.87 s
[QuickTime]     Track Layer                     : 0
[QuickTime]     Track Volume                    : 0.00%
[QuickTime]     Image Width                     : 2704
[QuickTime]     Image Height                    : 1520
[QuickTime]     Graphics Mode                   : srcCopy
[QuickTime]     Op Color                        : 0 0 0
[QuickTime]     Compressor ID                   : avc1
[QuickTime]     Source Image Width              : 2704
[QuickTime]     Source Image Height             : 1520
[QuickTime]     X Resolution                    : 72
[QuickTime]     Y Resolution                    : 72
[QuickTime]     Compressor Name                 : GoPro AVC encoder
[QuickTime]     Bit Depth                       : 24
[QuickTime]     Color Representation            : nclx 1 1 1
[QuickTime]     Video Frame Rate                : 59.94
[QuickTime]     Time Code                       : 3
[QuickTime]     Balance                         : 0
[QuickTime]     Audio Format                    : mp4a
[QuickTime]     Audio Channels                  : 2
[QuickTime]     Audio Bits Per Sample           : 16
[QuickTime]     Audio Sample Rate               : 48000
[QuickTime]     Text Font                       : Unknown (21)
[QuickTime]     Text Face                       : Plain
[QuickTime]     Text Size                       : 10
[QuickTime]     Text Color                      : 0 0 0
[QuickTime]     Background Color                : 65535 65535 65535
[QuickTime]     Font Name                       : Helvetica
[QuickTime]     Other Format                    : tmcd
[QuickTime]     Matrix Structure                : 1 0 0 0 1 0 0 0 1
[QuickTime]     Media Header Version            : 0
[QuickTime]     Media Create Date               : 2015:01:07 22:40:49
[QuickTime]     Media Modify Date               : 2015:01:07 22:40:49
[QuickTime]     Media Time Scale                : 60000
[QuickTime]     Media Duration                  : 19.87 s
[QuickTime]     Handler Class                   : Media Handler
[QuickTime]     Handler Description             : GoPro SOS
[QuickTime]     Gen Media Version               : 0
[QuickTime]     Gen Flags                       : 0 0 0
[QuickTime]     Gen Graphics Mode               : srcCopy
[QuickTime]     Gen Op Color                    : 0 0 0
[QuickTime]     Gen Balance                     : 0
[QuickTime]     Meta Format                     : fdsc
[QuickTime]     Handler Type                    : Metadata Tags
[QuickTime]     Creation Date                   : 2020:11:23 21:36:49
[QuickTime]     Media Data Size                 : 149537683
[QuickTime]     Media Data Offset               : 37955
[Composite]     Image Size                      : 2704x1520
[Composite]     Megapixels                      : 4.1
[Composite]     Avg Bitrate                     : 60.2 Mbps
[Composite]     Rotation                        : 0

Weird - if I run osxphotos export --verbose --exiftool . instead of exporting the JSON sidecar separately, then IMG_1705.MP4 has the following output when I run exiftool -G IMG_1705.MP4 :
[ExifTool]      ExifTool Version Number         : 12.11
[ExifTool]      Warning                         : [minor] The ExtractEmbedded option may find more tags in the media data
[File]          File Name                       : IMG_1705.MP4
[File]          Directory                       : .
[File]          File Size                       : 143 MiB
[File]          File Modification Date/Time     : 2020:11:28 11:29:15-08:00
[File]          File Access Date/Time           : 2020:12:08 14:25:10-08:00
[File]          File Inode Change Date/Time     : 2020:12:08 14:25:03-08:00
[File]          File Permissions                : rw-------
[File]          File Type                       : MP4
[File]          File Type Extension             : mp4
[File]          MIME Type                       : video/mp4
[QuickTime]     Major Brand                     : MP4 v1 [ISO 14496-1:ch13]
[QuickTime]     Minor Version                   : 2013.10.18
[QuickTime]     Compatible Brands               : mp41
[QuickTime]     Movie Header Version            : 0
[QuickTime]     Create Date                     : 2020:11:23 21:36:49
[QuickTime]     Modify Date                     : 2020:11:23 21:36:49
[QuickTime]     Time Scale                      : 60000
[QuickTime]     Duration                        : 19.88 s
[QuickTime]     Preferred Rate                  : 1
[QuickTime]     Preferred Volume                : 100.00%
[QuickTime]     Preview Time                    : 0 s
[QuickTime]     Preview Duration                : 0 s
[QuickTime]     Poster Time                     : 0 s
[QuickTime]     Selection Time                  : 0 s
[QuickTime]     Selection Duration              : 0 s
[QuickTime]     Current Time                    : 0 s
[QuickTime]     Next Track ID                   : 6
[QuickTime]     Firmware Version                : HD<IP_ADDRESS>.00
[QuickTime]     Lens Serial Number              : LAE6111416600752
[QuickTime]     Camera Serial Number Hash       : 2dbde952a817dd7397dfb3b1e88047e6
[QuickTime]     Track Header Version            : 0
[QuickTime]     Track Create Date               : 2015:01:07 22:40:49
[QuickTime]     Track Modify Date               : 2015:01:07 22:40:49
[QuickTime]     Track ID                        : 1
[QuickTime]     Track Duration                  : 19.87 s
[QuickTime]     Track Layer                     : 0
[QuickTime]     Track Volume                    : 0.00%
[QuickTime]     Image Width                     : 2704
[QuickTime]     Image Height                    : 1520
[QuickTime]     Graphics Mode                   : srcCopy
[QuickTime]     Op Color                        : 0 0 0
[QuickTime]     Compressor ID                   : avc1
[QuickTime]     Source Image Width              : 2704
[QuickTime]     Source Image Height             : 1520
[QuickTime]     X Resolution                    : 72
[QuickTime]     Y Resolution                    : 72
[QuickTime]     Compressor Name                 : GoPro AVC encoder
[QuickTime]     Bit Depth                       : 24
[QuickTime]     Color Representation            : nclx 1 1 1
[QuickTime]     Video Frame Rate                : 59.94
[QuickTime]     Time Code                       : 3
[QuickTime]     Balance                         : 0
[QuickTime]     Audio Format                    : mp4a
[QuickTime]     Audio Channels                  : 2
[QuickTime]     Audio Bits Per Sample           : 16
[QuickTime]     Audio Sample Rate               : 48000
[QuickTime]     Text Font                       : Unknown (21)
[QuickTime]     Text Face                       : Plain
[QuickTime]     Text Size                       : 10
[QuickTime]     Text Color                      : 0 0 0
[QuickTime]     Background Color                : 65535 65535 65535
[QuickTime]     Font Name                       : Helvetica
[QuickTime]     Other Format                    : tmcd
[QuickTime]     Matrix Structure                : 1 0 0 0 1 0 0 0 1
[QuickTime]     Media Header Version            : 0
[QuickTime]     Media Create Date               : 2015:01:07 22:40:49
[QuickTime]     Media Modify Date               : 2015:01:07 22:40:49
[QuickTime]     Media Time Scale                : 60000
[QuickTime]     Media Duration                  : 19.87 s
[QuickTime]     Handler Class                   : Media Handler
[QuickTime]     Handler Description             : GoPro SOS
[QuickTime]     Gen Media Version               : 0
[QuickTime]     Gen Flags                       : 0 0 0
[QuickTime]     Gen Graphics Mode               : srcCopy
[QuickTime]     Gen Op Color                    : 0 0 0
[QuickTime]     Gen Balance                     : 0
[QuickTime]     Meta Format                     : fdsc
[QuickTime]     Handler Type                    : Metadata Tags
[QuickTime]     Creation Date                   : 2020:11:23 21:36:49
[QuickTime]     GPS Coordinates                 : 17 deg 32' 57.14" S, 149 deg 46' 32.59" W
[QuickTime]     Media Data Size                 : 149537683
[QuickTime]     Media Data Offset               : 38113
[Composite]     Image Size                      : 2704x1520
[Composite]     Megapixels                      : 4.1
[Composite]     Avg Bitrate                     : 60.2 Mbps
[Composite]     GPS Latitude                    : 17 deg 32' 57.14" S
[Composite]     GPS Longitude                   : 149 deg 46' 32.59" W
[Composite]     Rotation                        : 0
[Composite]     GPS Position                    : 17 deg 32' 57.14" S, 149 deg 46' 32.59" W

This is the only version that actually has the GPS metadata saved. If I export the JSON sidecar then save it to the MP4 using exiftool -v -overwrite_original -j=IMG_1705.MP4.json IMG_1705.MP4, then the GPS data doesn't show up when running exiftool -G IMG_1705.MP4.

Does the date show up correctly after air dropping with the --exiftool version?

Also, I think I know the problem with the --sidecar json and GPS coordinates. Looks like there's a missing comma between lat, lon in the JSON file.  I'll confirm tonight.

Does the date show up correctly after air dropping with the --exiftool version?

It does not. In fact, the date is even more messed up 😅:

Do you mind zipping a before / after copy of this image and sending to me<EMAIL_ADDRESS>

@RhetTbull just sent a zip containing the following:

@bryankeller I think this issue is fixed in v0.38.3.  As best as I can determine exiftool and Photos interpret the QuickTime spec differently.  The exiftool author is aware of this but it's not clear if the issue is exiftool or Photos.  I've implemented the QuickTime:CreationTime using the same format as Photos.

@RhetTbull that version worked great! Locations and dates are all correct on all photos and videos. Thanks so much for fixing this!!


Add ReplaceChildren and ClearChildren EntityCommands

Objective
Fixes #5859
Solution

Add ClearChildren and ReplaceChildren commands in the crates/bevy_hierarchy/src/child_builder.rs

Changelog

Added ClearChildren and ReplaceChildren struct
Added clear_children(&mut self) -> &mut Self and replace_children(&mut self, children: &[Entity]) -> &mut Self function in BuildChildren trait
Changed PushChildren write function body to a push_children  function to reused in ReplaceChildren
Added clear_children function
Added push_and_replace_children_commands and push_and_clear_children_commands test

Making issues for better docs and the IntoIterator comment above :) But this is fine to merge as is; I won't make the PR author wait any longer.
bors r+

@alice-i-cecile shouldn't the 'bors r+' command be in a separate comment? I'm interested in this new issue but I can't start it yet because the code is not merged.

Generally works fine as long as it's on a new line. Sometimes bors gets sleepy though :p
bors r+


Investigate to enable webview in sandboxed environment

According to @deepak1556 it seems possible to use webview even whith sandbox: true and contextIsolation: true. This would be great to explore given blocking issues such as https://github.com/microsoft/vscode/issues/96307 for https://github.com/microsoft/vscode/issues/83188.
I am unfortunately not able to get a simple webview based editor (release notes) to open in sandboxed environments, here are my steps:

make sure to be able to run sources from ben/webview-sandbox branch (this simply adds webview code to sandbox layer)
run with scripts/code.sh --__sandbox
open command palette
select Show Release Notes

Observe devtools (you can open via Cmd+Shift+I, but you need to click once into the workbench first for focus):
[Embedded Page] undefined
I was able to get a better error message when I flip contextIsolation: false (here):
[Embedded Page] Unable to load preload script: /Users/bpasero/Development/Microsoft/monaco/out/vs/workbench/contrib/webview/electron-browser/pre/electron-index.js
[Embedded Page] Error: module not found: ../../browser/pre/main

@mjbvz @deepak1556 I will need your help here for how to proceed. Any clues? I verified that these files are not getting blocked from our protocol, this must be something else...

@bpasero Looks like the webview preload script is using a file: uri which ends up being blocked:
file:///Users/matb/projects/vscode/out/vs/workbench/contrib/webview/electron-browser/pre/electron-index.js

@deepak1556 Would we be able to serve this script using a vscode-file or vscode-webview uri instead?

@mjbvz @deepak1556 my understanding is that preload scripts for webview must use the file protocol, as any other protocol is blocked by Electron from loading. Since the preload scripts seems to be loaded using node.js, we cannot use our custom protocol.
Besides, if I disable our blocking of file protocol by comment out this line, it still does not work.

Since we want to invest in https://github.com/microsoft/vscode/issues/96307 which would give us a path to dropping webview entirely, moving this to Backlog for now.

I am no longer convinced that webview is the future for sandbox, so closing.


No option to build an army or corps in latest nightly

There is no option to build an army or corps in the latest nightly

Yay 100th tracked issue! I completely forgot about the corps button, could you provide the save so I have a game with corps to test with?

here is one
https://drive.google.com/file/d/0B5ks0hYTUQxQbUw3MDhIanRMTDQ/view?usp=sharing
but it's very quick to set up if you start at info era with online speed.

By the way, you can revert to the last nightly before I started working on merging the production tabs for now if you like. Here's the link

thanks


Add Connector for Joy.fm

I listen to Joy.fm and I am not sure if it possible to create a connector for it as it's a radio station. They do broadcast the author name and name of the song, so if it's possible, that would be great!
https://myradiomatic.com/player/joyfm/player.htm
Thanks!

Should be available in the next release. Check the extension from the latest master branch if you want to scrobble from Joy right now. :)

Thanks man!


Add OpenStackIdentity_2_0_Connection_VOMS class to manage auth with VOMS proxy files

Add OpenStackIdentity_2_0_Connection_VOMS class to manage auth with VOMS proxy files
Description
The class OpenStackIdentity_2_0_Connection_VOMS has been added to enable OpenStack driver to manage VOMS proxy files to get access to an OpenStack site.
https://keystone-voms.readthedocs.io/en/stable-mitaka/
Status

done, ready for review

Checklist (tick everything that applies)

[x] Code linting (required, can be done after the PR checks)
[ ] Documentation
[x] Tests
[ ] ICLA (required for bigger changes)

@micafer I'm not an OpenStack libcloud user, but I merged this PR and ran tox, verifying that all tests, including the new test was successful.  From that perspective, LGTM. :-)

It seems that some is failing in the tests, all are failing with this error:
E: Unable to locate package libvirt
apt-get install failed

thanks @micafer. Merging.


Coloumn containg select html tag show all options appended

If i have a table as follows

<select><option value='test1' selected>test1</option><option value='test2'>test2</option></select>

I am getting available options in filter as
[Show All]
test1test2

I need them to be separated out any help ?

It depends on your requirements, you could use the custom_options option as shown in this pen.

Another option would be to take advantage of the custom_cell_data delegate, to parse the selected option on each cell, as shown in this demo of the previous HTML Table Filter Generator library:
http://tablefilter.free.fr/custom-data.htm. Have a look at the Contact type column. The usage of that option is the same in TableFilter but there is no demo available yet in the project website.

Added example page featuring the custom_cell_data callback, :
http://koalyptus.github.io/TableFilter/custom-filtering.html


[Feature Request] Deployment clean-up

Hello,
It would be nice if there was an extra flag, e.g. --rm, to delete the deployment when the process exits.
Thank you for creating this plugin.

@ChrisLahaye Hi! I am glad that you like this plugin!
This feature is easy to implement, but before getting to work on it I am curious about why you need to clean up the krelay-server Deployment? This Deployment is to be re-used by design, so that the next time we execute kubectl relay ... we don't need to wait for the creation of krelay-server.

@ChrisLahaye Hi! I am glad that you like this plugin!
This feature is easy to implement, but before getting to work on it I am curious about why you need to clean up the krelay-server Deployment? This Deployment is to be re-used by design, so that the next time we execute kubectl relay ... we don't need to wait for the creation of krelay-server.

We are using krelay-server as a bastion host, so to access a host that is only accessible from the network of the kubernetes cluster. We are doing this very rarely on our cluster and don't want to leave unregistered resources and processes running on the cluster.
I think in general it would be good practice to provide a clean-up option that destroys the resources the tool created, even better if it is done in the same process in a transient way, like docker run --rm.
Thank you for your consideration.

@ChrisLahaye Hi! Thanks for your explanation, I will implement this feature in a few days 🚀

@ChrisLahaye Hi! Please try out the latest version v0.0.3 and feel free to report any issues.

@ChrisLahaye

The deployment makes 3 pods, is this really necessary

Technically a single pod is sufficient, but the krelay-server Deployment is meant to be reusable, so I want to make it high available.

There is still no way to destroy the deployment that has been created when running without --rm.

Yes you are right, and the reason is that somebody else might be still using this Deployment, and removing it might break others' connection.
Thanks for your advice!

@ChrisLahaye Hi! just in case you might be interested, now that krelay is able to specify the namespace of the krelay-server, so creating Deployment does not make much sense now(the deployment cannot always be reused) and using a single pod could simplify how krelay works. Therefore I decided to switch to a single pod and delete it afterwards, that said, --rm is now a default behavior and that flag has no effect and might be removed later.


[HOLD for payment 2023-04-24] [$1000] The tooltip of the group profile is displaying a blank space on the right side, making it look weird.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open Website
Create a group with multiple members
Go to group chat and hover over profile.

Expected Result:
The tooltip should not have any blank space on its sides.
Actual Result:
The tooltip is displaying a blank space on the right side of the text.
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: 1.2.92-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: @Tushu17
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1680205984931229
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01e05c0d676c4933a0
Upwork Job ID:<PHONE_NUMBER>599095296
Last Price Increase: 2023-04-03

Triggered auto assignment to @bfitzexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Reproduced

Job added to Upwork: https://www.upwork.com/jobs/~01e05c0d676c4933a0

Current assignee @bfitzexpensify is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @mollfpr (External)

Triggered auto assignment to @puneetlath (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@bernhardoj I think we still want an email still in the same line so it is easy to read it.
@dukenv0307 Could you share the result using shorten email? I wondering if it's still showing only 3 line emails.

@0xmiroslav What we have here is a tooltip in the avatar group, and what you attach is in the reaction tooltip.
I wonder if we can apply the same solution for the reaction tooltip.

Sounds good!

@mollfpr This is  the result of using shorten email, the number of lines will depend on the width of content

@dukenv0307 That looks good to me. Can we also fix the tooltip on the reaction chat?

@mollfpr It works well in the tooltip on the reaction chat

Next, if the offSetWidth > maxWidth (in this case, max width is 375px), we will update the width of tooltips is maxwidth

But then we don't update the tooltipContentWidth so that the tooltipContentWidth still be the old value

@dukenv0307 Just a question to understand the root cause is. Could you explain when we didn't update the tooltipContentWidth and why we still using the old value of tooltipContentWidth? Thanks!

@mollfpr Currently, If tooltipContentWidth (ex: 1200px) > maxWidth (ex: 375px), we will update wrapperWidth (the width of tooltips) is maxWidth (375px)
https://github.com/Expensify/App/blob/ebc03dbb14d1689e35301278833a82716ae53034/src/styles/getTooltipStyles.js#L103-L105
But at this time, because the email is too long it automatically breaks the line, It makes the offsetWidth of tooltips smaller(ex: 260px) and we don't have any logic to update tooltipContentWidth = current offsetWidth (260px) (tooltipContentWidth still be 1200px) so the wrapperWidth is not updated (it still be 375px)
Note:   tooltipContentWidth only be used to calculate the wrapperWidth. So that if the wrapperWidth is correct, we won't need to update tooltipContentWidth. But in this case, after updating the wrapperWidth, the wrapperWidth still be wrong (Because the email is too long, it automatically breaks the line).
To resolve this problem, we need to update tooltipContentWidth one more time then wrapperWidth also be updated one more time

Thanks @dukenv0307, that make sense to me. @puneetlath we can continue with @dukenv0307 proposal.
🎀 👀 🎀 C+ reviewed!

Let's do it @dukenv0307.

📣 @dukenv0307 You have been assigned to this job by @puneetlath!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@mollfpr The PR is ready for review

Bug: The tooltip of the group profile is displaying a blank space on the right side, making it look weird.
Proposed Test Steps:

Login with any account
Open a chat group, or create if don't have any chat group
Verify that chat group is opened has multiple member and each member's email should be almost the same length
Hover over profile
Verify that no blank space on the right side of tooltip
Do we 👍 or 👎

It's not recommended to call function directly inside render.
This code causes regression of console error:
https://github.com/Expensify/App/blob/f50afdfd5fb2c2e9582cd86ee94e61402f33e90e/src/components/Tooltip/TooltipRenderedOnPageBody.js#L120-L125

It's not recommended to call function directly inside render. This code causes regression of console error:

@situchan  Thanks for your comment
@mollfpr I think we should move this logic from render method to componentDidUpdate

Thanks @situchan! Yeah, we should clean that up. @dukenv0307 Could you open a PR for the update so we can CP the PR before it's hit production?

@mollfpr I am doing on it. The PR will be ready soon

@mollfpr The PR is ready to review. Please check.

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.3.0-2 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/17494

If no regressions arise, payment will be issued on 2023-04-24. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@mollfpr / @puneetlath] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@mollfpr / @puneetlath] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ] [@mollfpr / @puneetlath] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ] [@puneetlath / @bfitzexpensify] Determine if we should create a regression test for this bug.
[ ] [@mollfpr] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
[ ] [@puneetlath / @bfitzexpensify] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

Re: regression test, I think it's reasonable to update the Create Group Conversation regression test with an extra step like:

Verify the tooltip is correctly spaced when hovering over the profile images of all users in the group

@bfitzexpensify Yes! That seems an excellent place to put in the regression test.

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.3.1-3 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/17218
https://github.com/Expensify/App/pull/17494

If no regressions arise, payment will be issued on 2023-04-26. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

Offers sent out @situchan @Tushu17 @mollfpr
@dukenv0307 I couldn't find you on Upwork - can you please apply to the job here?
Regression test update is in https://github.com/Expensify/Expensify/issues/278028

@bfitzexpensify I've applied, my profile is https://www.upwork.com/freelancers/~01f5cbe690701118a2, thank you!

@dukenv0307 offer was sent last week, please accept and I'll finalize payment - thanks!

@bfitzexpensify I've accepted, thanks!

Great, that's all paid out now. @mollfpr once you complete the steps in https://github.com/Expensify/App/issues/16800#issuecomment-1515070605 we can close this one out.


check the perf affect of instr  scheduling for gemm

Instr scheduling pass is designed for Flash Attention. We need to know its impact on GEMM cases.

ScheduleLoad pass on gemm cases has a bug which raise "operand #0 does not dominate this use", working on a fix.

With changes in #1919 , gemm benchmark cases get average 4% degradation when enable TRITON_INTEL_ENABLE_INSTR_SCHED=1.
To remove environment flag TRITON_INTEL_ENABLE_INSTR_SCHED for pass enableing, we still need a extra analysis function for like register pressure based on given patterns, so that we can make decision automatically whether enable instruction scheduling in the lowering pipeline.

With changes in #1919 , gemm benchmark cases get average 4% degradation when enable TRITON_INTEL_ENABLE_INSTR_SCHED=1. The perf diff varies from -11% to 2%.
To remove environment flag TRITON_INTEL_ENABLE_INSTR_SCHED for pass enableing, we still need a extra analysis function for like register pressure based on given patterns, so that we can make decision automatically whether enable instruction scheduling in the lowering pipeline.

The extra analysis task is tracked by https://github.com/intel/intel-xpu-backend-for-triton/issues/1920


FileNotFoundError: [WinError 2] The system cannot find the file specified

When I try to run the jupyter notebook that you provided on the link
https://github.com/minimaxir/automl-gs/blob/master/docs/automl_gs_tutorial.ipynb
I'm getting FileNotFoundError. Also, when I tried with a local csv file, I got the same error again.
Btw, my OS is Windows 10.

same here
It seems to call "python model.py .. "
printing cmd
 call Popen with cmd: ['python3', 'model.py', '-d', 'c:\\temp\\x.csv', '-m', 'train', '-c', 'automl-gs']
and then fails possibly due to a missing model.pu

Yeah, probably. I added the shell=True argument to the Popen statement to see if it works, but it generated another FileNotFoundError.

Yes, I admit I did not test on Windows. I thought having os.path everywhere would be enough, but I suppose it's true the subprocess on Windows is a bit different, or the file path of the generated files is not correct.
Will try to look into.

same questions,in window system,

Same here.  Not a permissions issue, definitely seems like an issue with the path of the created model.py file (maybe?).

It's actually the python executable.  Subprocess doesn't appear to check the PATH, per https://stackoverflow.com/a/32799942/2540707

I'm OK with using shell=True or another approach like what the referenced commit does with shutil.

@minimaxir bug is closed?

 I also have same issue

does anyone try google colab with TPU ?

automl_grid_search('train.csv','Survived',framework='tensorflow')

Solving a binary_classification problem, maximizing accuracy using tensorflow.

Modeling with field specifications:
PassengerId: numeric
Pclass: categorical
Name: ignore
Sex: categorical
Age: numeric
SibSp: categorical
Parch: categorical
Ticket: ignore
Fare: numeric
Cabin: categorical
Embarked: categorical

HBox(children=(IntProgress(value=0), HTML(value='')))

HBox(children=(IntProgress(value=0, max=20), HTML(value='')))

---------------------------------------------------------------------------

FileNotFoundError                         Traceback (most recent call last)

<ipython-input-15-2a49bf52604c> in <module>
----> 1 automl_grid_search('train.csv','Survived',framework='tensorflow')

~\Anaconda3\lib\site-packages\automl_gs\automl_gs.py in automl_grid_search(csv_path, target_field, target_metric, framework, model_name, context, num_trials, split, num_epochs, col_types, gpu, tpu_address)
     80
     81         # Execute model training using the generated files.
---> 82         train_generated_model(cmd, num_epochs, train_folder, pbar_sub)
     83
     84         # Load the training results from the generated CSV,

~\Anaconda3\lib\site-packages\automl_gs\utils_automl.py in train_generated_model(cmd, num_epochs, train_folder, pbar_sub)
    310
    311     p = Popen(cmd, cwd=train_folder, stdout=PIPE, bufsize=1,
--> 312               universal_newlines=True)
    313
    314     for line in iter(p.stdout.readline, ""):

~\Anaconda3\lib\subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors)
    727                                 c2pread, c2pwrite,
    728                                 errread, errwrite,
--> 729                                 restore_signals, start_new_session)
    730         except:
    731             # Cleanup if the child failed starting.

~\Anaconda3\lib\subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session)
   1015                                          env,
   1016                                          os.fspath(cwd) if cwd is not None else None,
-> 1017                                          startupinfo)
   1018             finally:
   1019                 # Child is launched. Close the parent's copy of those pipe

FileNotFoundError: [WinError 2] The system cannot find the file specified

This should be fixed in 0.2.1. Upgrade and let me know if it works!

Also I have no idea how you would get a WinError on a TPU when TPUs do not work on Win. That may be fixed by 0.2.1 as well.

@minimaxir I upgraded automl-gs to 0.2.1, but the issue still persists. I am testing it on Windows 10, and I think the problem is here. There, the code is trying to read 'results.csv', but it hasn't written anything before. I hope this will help you troubleshoot (e.g., you delete 'results.csv' file in your development folder/workspace and see if automl_gs still works) so that it will help us who want to give this library a try. Thank you.

I installed this morning and the same results.csv error exists (Windows 10).

Tip: this may be happening because the training subprocess is crashing; if so, Jupyter/ipython/colab won't show exceptions from that because it's being run in a separate process.
If you run automl_gs on the command line, you should see the exception from the model.py subprocess (in addition to this exception), which might give you more insight into what's breaking.

The Jupyter Notebook also adds this, as far as errors go :- FileNotFoundError: [Errno 2] No such file or directory: 'encoders\pclass_encoder.json'
It does appear to be running from the [minconda] command line however, at least a basic trial.

Any updates on this issue? Also running into problems with it.

FileNotFoundError                         Traceback (most recent call last)
 in
----> 1 import pandas as pd
~\pandas.py in
9 import os
10
---> 11 os.chdir("F:/titanic")
12 df=pd.read_csv('train.csv')
13 #df.head(5)
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'F:/titanic'
it take old file which I make early

Are there updates for this issue? I installed on Windows 10 and follow the steps to set up and activate a virtual environment, but I am facing a similar problem of not finding the files.

You may want to check if your system is blocking access to the folder you are trying to make venv. for windows 10, Windows Security is by default protecting user's document folder from being accessed and will block those access, you may want to open Windows Security -> Virus & threat protection -> Protection history  to allow access to the folder you are making venv at.

SOLUTION: https://stackoverflow.com/q/3022013/495455

SOLUTION: https://stackoverflow.com/q/3022013/495455

I was also getting the same error when I was running code in spyder. Then I checked and found that, ffmpeg is needed. When I installed it from code "conda install -c conda-forge ffmpeg" (for anaconda), my issue gets resolved.


correct readme typos

What does this PR do?
Corrects typos in READMe

Coverage remained the same at 100.0% when pulling 3de472a902ee2d5015b4ac8322476bd04c3cd390 on andela-akabiru:feature/correct-readme-typos into 25847f73b87799d0743824d304ebea5a35035efa on andela-thomas:develop.

Coverage remained the same at 100.0% when pulling<PHONE_NUMBER>15c5fa9ac9c3da209a85e4c548b286 on andela-akabiru:feature/correct-readme-typos into 25847f73b87799d0743824d304ebea5a35035efa on andela-thomas:develop.


Update to CAPI 1.8

/kind feature
Describe the solution you'd like
Cluster API 1.8 was released some days ago. We should upgrade to that version.
docs 1.7 --> 1.8

https://github.com/syself/cluster-api-provider-hetzner/pull/1485


Multiple tool calls not working

In my application, which was working on OPEN AI ASSISTANT,
for a given user question, it makes multiple function/tool calls
Eg - get_databases -> get_tables_for_database -> execute_query
But when I replaced with ASTRA ASSISTANT API, its unable to make more than 1 tool call.
After response from first tool call, the run status is completed and it returns the answer

Are you referring to parallel tool calls like here? https://platform.openai.com/docs/guides/function-calling/configuring-parallel-function-calling

NO
In my case, to get to answer 1 tool call is made after another. (based on response of first)
Eg - first - get_tables
then it identifies which table is more suited to answer a question.
Then in next tool call - get_table_structure(table_id)
Then once it identifies the table structure, it makes next tool call - execute_query(query)

Interesting, I'm having trouble finding information about multiple sequential tool calls in the same run in the official assistants API documentation so we may have to try things empirically.
Do you happen to have an example you can share that reproduces this behavior?


Fail to start dev server

What version of starlight are you using?
0.0.11
What version of astro are you using?
2.5.4
What package manager are you using?
pnpm
What operating system are you using?
Ubuntu 22.04
What browser are you using?
Chrome
Describe the Bug
I followed the instructions provided in the starlight i18n docs to add French (fr) as a new language. However after making the necessary changes, I encountered an issue where the development server fails to start.
Here's the folder structure of the project, it's just the starter example + a new folder (fr):
├── astro.config.mjs
├── package.json
├── pnpm-lock.yaml
├── public
│   └── favicon.svg
├── README.md
├── src
│   ├── assets
│   │   └── example-image.jpg
│   ├── content
│   │   ├── config.ts
│   │   └── docs
│   │       ├── en
│   │       │   ├── guides
│   │       │   │   └── example.md
│   │       │   ├── index.md
│   │       │   └── reference
│   │       │       └── example.md
│   │       └── fr
│   │           ├── guides
│   │           │   └── example.md
│   │           ├── index.md
│   │           └── reference
│   │               └── example.md
│   └── env.d.ts

I checked out the rest of the docs page, but it looks like those steps aren't really necessary because they use the wording "you can," which makes them optional I guess.
Based on the stack trace, it seems like the error originates from the starlight integration. If it turns out to be a user mistake, we could probably improve the error message to provide more helpful information.
Link to Minimal Reproducible Example
https://stackblitz.com/edit/github-b5ued1
Participation

[ ] I am willing to submit a pull request for this issue.

Ah ok, that makes sense now. Thanks for the clarification!
(should've just properly read the zod error 😅)


problems connecting

I have launched an instance of your s3 using Docker and can successfully talk to it using cyberduck using an IP address
My software has a requirement to use FQDNs for all addresses, and when I try to connect I get the following error: "Couldn't parse the specified URI.".
How do I configure it to use hostnames?

If you specified a host name (e.g. myhostname.com)
Add a new region to your config.json :
"regions": {

     ...

     "localregion": ["localhost"],
     "specifiedregion": ["myhostname.com"]
},

You can provide your own config.json using Docker volume:
docker run -v $(pwd)/config.json:/usr/src/app/config.json --net=host -d scality/s3server

Hey @moonwalk123, does it help?
Let me know,
Nicolas

thanks, that worked
Just trying to get SSL set up at the moment, is their a configuration option I need to turn on for that to work?

Yes @moonwalk123 ,
Add the following section to your config.log
"certFilePaths": {
    "key": "YOUR/PRIVATE/KEY/PATH",
    "cert": "YOUR/PUBLIC/KEY/PATH",
}

If you are using self-signed certification, on your client side, you will have to either provide a certificate authority or disable the certificate checking.

Thanks for your help, got everything up and running


Enable/Disable video and audio

Hello,
How can I Enable/Disable video and audio in a ongoing call?
Thank you.

You use subscriber.subscribeToVideo() and publisher.publishVideo(). The documentation for these methods is at:
https://tokbox.com/developer/sdks/js/reference/Subscriber.html#subscribeToVideo
https://tokbox.com/developer/sdks/js/reference/Publisher.html#publishVideo
You can see me using it in opentok-meet (which uses this library) at:
https://github.com/aullman/opentok-meet/blob/master/public/js/controllers.js#L111
https://github.com/aullman/opentok-meet/blob/master/public/js/controllers.js#L217


fix: remove incorrect typeface default

Introduced in https://github.com/lottie-react-native/lottie-react-native/pull/1128, this PR aims to remove the incorrect default that was being set for the type face. The value 400 is not a valid type face, and strictly not required in this context as getTypeface always returns a valid type face.
Note for the future: This variant of ReactFontManager is now depracated. RN 73 introduces a new package: com.facebook.react.common.assets.ReactFontManager. We should consider doing a breaking change at some point to cover both this and the updated podspec build script.

Let's do it. I feel like we are missing a lot with the current setup. I also need to add android fabric example in CI pipeline as well.


No shortcut created

I installed this app but there is no shortcut to launch it. It is listed in the Android apps list.
Using Android 9 with Color OS6 on Oppo Realme RMX1805

Hi - thanks for raising the issue. There is no shortcut - it's a "pure" widget.
I'll raise an issue for possibly adding a launcher icon; in the meantime the following might help you:
https://support.google.com/android/answer/9450271?hl=en#zippy=%2Cadd-or-resize-a-widget

Hi,
Thanks for your prompt reply.
It might be helpful if there was a screen during or post installation about
how to use this app.. most people (me included) expect a homescreen
shortcut to be automatically placed by the installer.
Cheers,
Anuj
On Wed, 12 May 2021, 21:50 James HN Sears, @.***> wrote:

Hi - thanks for raising the issue. There is no shortcut - it's a "pure"
widget.
I'll raise an issue for possibly adding a launcher icon; in the meantime
the following might help you:
https://support.google.com/android/answer/9450271?hl=en#zippy=%2Cadd-or-resize-a-widget
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jameshnsears/QuoteUnquote/issues/3#issuecomment-839914430,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUBPW2A7JMLO2W5GGUKU473TNKTFNANCNFSM44YR67OA
.

Hi Anuj - thanks for explaining things. The shortcut is a good idea: though it's not going to be trivial to implement is my guess.
I've created a project board to help track issues raised in GitHub: https://github.com/jameshnsears/QuoteUnquote/projects/1
I'll attempt to code your feature after I have implemented an export feature.
Don't hold your breath; as I'm a bit slow. But you'll be able to track "progress" on that project board & in this issue.

App now contains shortcut. Software released; but might take a few days to appear in Google Play.
If you have any other suggestions / spot problems please raise another GitHub issue.

Hi James,
Nice to see that you followed up on my mail/suggestion. It indicates
passion and reminds me of my younger days when I used to tinker around with
hardware & occasionally software.
That was waaay back - my first computer was a ZX Spectrum (not even floppy
drives, we used tape cassettes), then MS-DOS, wINDOWS 3 etc.
I'm sort of a relic now and lost touch with programming (used to do dB apps
with VB frontend for usual payroll, invoicing etc).
I liked your idea of putting together famous quotes and saw a gap which
could be improved upon. Happy to see you take it constructively - always a
good sign.
I'm sure you do well in whatever career you choose.
Best wishes & luck,
Anuj
Mumbai, India
“The expert in anything was once a beginner"
On Tue, 18 May 2021 at 12:43, James HN Sears @.***>
wrote:

Closed #3 https://github.com/jameshnsears/QuoteUnquote/issues/3.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jameshnsears/QuoteUnquote/issues/3#event-4758740606,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUBPW2EY2TPPQHLDBKJFIRTTOIHQXANCNFSM44YR67OA
.


Wifi connection problem to specific router (IDFGH-1532)

Hi,
I just updated the ESP-IDF (v4.0-dev-1287-gd7e659df2) and my ESP32 stop connecting my router. My router is a ARRIS TG1692A. With older versions of ESP-IDF (v4.0-dev-546-gad3b820e7) it was working perfectly.
The following scenarios was tested:
Router ARRIS / WPA2-PSK / Updated ESP-IDF - Not working;
Router ARRIS / Open  / Updated ESP-IDF - Working;
Router ARRIS / WPA2-PSK / Old ESP-IDF - Working;
Cellphone as Router / WPA2-PSK / Updated ESP-IDF - Working;
So the problem seems to be something incompatible between my router and the new version of ESP-IDF authentication WPA2-PSK.
Anyone has faced the same problem? Was there any changes to the WPA2-PSK auth (my guess is something at the handshake)? For now I will keep using the old ESP-IDF, but I really would apreciate to update as soons as possible.
Also, I used to use the Make build, and now using the CMake, but everything compiled normally. (tested with the default wifi_station example).
Thank you,
Rafael
Environment

Development Kit:      ESP32-DevKitC
Kit version: ESP32D0WDQ6 (revision 0)
Module or chip used:  ESP-WROOM-32
IDF version:  v4.0-dev-1287-gd7e659df2
Build System:         CMake
Compiler version: 8.2.0
Operating System: Linux
Power Supply: USB

https://github.com/espressif/esp-idf/issues/3725

@negativekelvin , thanks!
Using idf.py erase_flash resolves the problem. I will close this issue and keep track of the permant solution at #3725 .

The fix for the same is merged internally and should be available soon. As mentioned on #3725, you can use this workaround until then.

I am having same issue in idf v4.4 please reopen the issue
i have tried erase_flash as well but still the issue exists in specific routers
I (1037) wifi:wifi firmware version: 7679c42
I (1037) wifi:wifi certification version: v7.0
I (1037) wifi:config NVS flash: enabled
I (1037) wifi:config nano formating: disabled
I (1047) wifi:Init data frame dynamic rx buffer num: 64
I (1047) wifi:Init management frame dynamic rx buffer num: 64
I (1057) wifi:Init management short buffer num: 32
I (1057) wifi:Init dynamic tx buffer num: 32
I (1067) wifi:Init static rx buffer size: 1600
I (1067) wifi:Init static rx buffer num: 10
I (1077) wifi:Init dynamic rx buffer num: 64
I (1077) wifi_init: rx ba win: 6
I (1077) wifi_init: tcpip mbox: 32
I (1087) wifi_init: udp mbox: 6
I (1087) wifi_init: tcp mbox: 6
I (1087) wifi_init: tcp tx win: 5744
I (1097) wifi_init: tcp rx win: 5744
I (1097) wifi_init: tcp mss: 1440
I (1107) wifi_init: WiFi IRAM OP enabled
I (1107) wifi_init: WiFi RX IRAM OP enabled
I (1117) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
I (1237) wifi:mode : sta (8c:4b:14:74:cb:cc)
I (1237) wifi:enable tsf
I (1287) FS: Read from file: 'Testing'
I (1287) FS: Read from file: 'White@123'
I (1287) BLUFI_EXAMPLE: ssid is Testing
I (1287) BLUFI_EXAMPLE: password is White@123
I (1597) wifi:new:<3,1>, old:<1,0>, ap:<255,255>, sta:<3,1>, prof:1
I (2357) wifi:state: init -> auth (b0)
I (3357) wifi:state: auth -> init (200)
I (3357) wifi:new:<3,0>, old:<3,1>, ap:<255,255>, sta:<3,1>, prof:1
I (3357) WiFi: retry to connect to the AP : 1
I (5417) WiFi: retry to connect to the AP : 2
I (5487) wifi:new:<3,1>, old:<3,0>, ap:<255,255>, sta:<3,1>, prof:1
I (5487) wifi:state: init -> auth (b0)
I (6487) wifi:state: auth -> init (200)
I (6487) wifi:new:<3,0>, old:<3,1>, ap:<255,255>, sta:<3,1>, prof:1

HI @ShaqlainGarana ,
Seems like we are getting the reason code 200, which is due to beacon timeout. Can you please share the wireless sniffer capture so that we can confirm the same.
Also can you set the esp-idf logs level as debug which will give us more info about the issue.

which tool i should use for sniffer tool ? and also please guide me whats should be the setting for the same
i will shortly share the logs.

I have added few more lines in my code in order to receive the reason for disconnection.
I am getting 2 reason
reason : 02  (AUTH_EXPIRE )
reason : 205

@kapilkedawat
Here are the debug logs:
D (66696) wifi:scan end: arg=0x0, status=0, ss_state=0x3
D (66696) wifi:perform scan: ss_state=0x9, chan<12,0>, dur<360,360>
D (66936) wifi:scan end: arg=0x0, status=0, ss_state=0x3
D (66936) wifi:perform scan: ss_state=0x9, chan<13,0>, dur<360,360>
D (67176) wifi:scan end: arg=0x0, status=0, ss_state=0x3
D (67176) wifi:filter: set rx policy=4
D (67176) wifi:first chan=1
D (67176) wifi:handoff_cb: status=0
D (67176) wifi:clear blacklist
D (67186) wifi:clear rc list
D (67186) wifi:clear blacklist
D (67186) wifi:send disconnect event
D (67196) wifi:connect status 1 -> 3
D (67196) wifi:disable connect timer
D (67196) wifi:clear scan ap list
D (67206) event: running post WIFI_EVENT:5 with handler 0x40126ee8 and context 0x3ffd0100 on loop 0x3ffb7638
0x40126ee8: wifi_default_action_sta_disconnected at F:/esp/esp_v4.4_release/esp-idf/components/esp_wifi/src/wifi_default.c:100
D (67216) esp_netif_handlers: esp_netif action disconnected with netif0x3ffcd674 from event_id=5
D (67216) esp_netif_lwip: check: remote, if=0x3ffcd674 fn=0x40125084
0x40125084: esp_netif_down_api at F:/esp/esp_v4.4_release/esp-idf/components/esp_netif/lwip/esp_netif_lwip.c:1279
D (67226) esp_netif_lwip: esp_netif_down_api esp_netif:0x3ffcd674
D (67236) esp_netif_lwip: esp_netif_start_ip_lost_timer esp_netif:0x3ffcd674
D (67236) esp_netif_lwip: if0x3ffcd674 start ip lost tmr: no need start because netif=0x3ffcff38 interval=120 ip=0
D (67246) esp_netif_lwip: check: local, if=0x3ffcd674 fn=0x401256d8
0x401256d8: esp_netif_update_default_netif_lwip at F:/esp/esp_v4.4_release/esp-idf/components/esp_netif/lwip/esp_netif_lwip.c:188
D (67256) esp_netif_lwip: esp_netif_update_default_netif_lwip 0x3ffcd674
D (67266) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (67266) event: running post WIFI_EVENT:5 with handler 0x400dc880 and context 0x3ffd01d8 on loop 0x3ffb7638
0x400dc880: wifi_event_handler at F:\esp\workplace\template-app\build/../main/blufiApp.c:98
I (67276) BLUFI_EXAMPLE: Disconnect reason : 205
D (67286) wifi:Start wifi connect
D (67286) wifi:connect status 3 -> 0
D (67286) wifi:connect chan=0
D (67296) wifi:first chan=3
D (67296) wifi:connect status 0 -> 1
D (67296) wifi:filter: set rx policy=3
D (67306) wifi:clear scan ap list
D (67306) wifi:start scan: type=0x50f, priority=2, cb=0x40170c80, arg=0x0, ss_state=0x1, time=65023232, index=0
0x40170c80: cnx_start_handoff_cb at ??:?
D (67316) wifi:perform scan: ss_state=0x9, chan<3,0>, dur<0,120>
I (67326) WiFi: retry to connect to the AP : 20
D (67396) wifi:rsn valid: gcipher=3 ucipher=3 akm=5
D (67396) wifi:profile match: ss_state=0x7
D (67396) wifi:scan end: arg=0x0, status=0, ss_state=0x7
D (67396) wifi:find first mathched ssid, scan done
D (67406) wifi:filter: set rx policy=4
D (67406) wifi:first chan=1
D (67406) wifi:handoff_cb: status=0
D (67416) wifi:ap found, mac=04:95:e6:b4:39:d1
D (67416) wifi:new_bss=0x3ffcad50, cur_bss=0x0, new_chan=<3,1>, cur_chan=3
D (67426) wifi:filter: set rx policy=5
I (67426) wifi:new:<3,1>, old:<3,0>, ap:<255,255>, sta:<3,1>, prof:1
D (67436) wifi:connect_op: status=0, auth=5, cipher=3
D (67436) wifi:auth mode is not none
D (67446) wifi:connect_bss: auth=1, reconnect=0
I (67446) wifi:state: init -> auth (b0)
D (67446) wifi:start 1s AUTH timer
D (67456) wifi:clear scan ap list
D (68456) wifi:auth timeout
I (68456) wifi:state: auth -> init (200)
D (68456) wifi:connect status 1 -> 4
D (68456) wifi:stop beacon/connect timer
D (68456) wifi:reason: auth expire(2)
D (68456) wifi:add bssid 04:95:e6:b4:39:d1 to blacklist, cnt=0
D (68466) wifi:stop CSA timer
D (68466) wifi:remove 04:95:e6:b4:39:d1 from rc list
I (68476) wifi:new:<3,0>, old:<3,1>, ap:<255,255>, sta:<3,1>, prof:1
D (68476) wifi:filter: set rx policy=8
D (68486) wifi:Send disconnect event, reason=2, AP number=0
D (68486) event: running post WIFI_EVENT:5 with handler 0x40126ee8 and context 0x3ffd0100 on loop 0x3ffb7638
0x40126ee8: wifi_default_action_sta_disconnected at F:/esp/esp_v4.4_release/esp-idf/components/esp_wifi/src/wifi_default.c:100
D (68496) esp_netif_handlers: esp_netif action disconnected with netif0x3ffcd674 from event_id=5
D (68506) esp_netif_lwip: check: remote, if=0x3ffcd674 fn=0x40125084
0x40125084: esp_netif_down_api at F:/esp/esp_v4.4_release/esp-idf/components/esp_netif/lwip/esp_netif_lwip.c:1279
D (68516) esp_netif_lwip: esp_netif_down_api esp_netif:0x3ffcd674
D (68516) esp_netif_lwip: esp_netif_start_ip_lost_timer esp_netif:0x3ffcd674
D (68526) esp_netif_lwip: if0x3ffcd674 start ip lost tmr: no need start because netif=0x3ffcff38 interval=120 ip=0
D (68536) esp_netif_lwip: check: local, if=0x3ffcd674 fn=0x401256d8
0x401256d8: esp_netif_update_default_netif_lwip at F:/esp/esp_v4.4_release/esp-idf/components/esp_netif/lwip/esp_netif_lwip.c:188
D (68546) esp_netif_lwip: esp_netif_update_default_netif_lwip 0x3ffcd674
D (68546) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (68556) event: running post WIFI_EVENT:5 with handler 0x400dc880 and context 0x3ffd01d8 on loop 0x3ffb7638
0x400dc880: wifi_event_handler at F:\esp\workplace\template-app\build/../main/blufiApp.c:98
I (68566) BLUFI_EXAMPLE: Disconnect reason : 2
D (68566) wifi:Start wifi connect
D (68576) wifi:connect status 4 -> 0
D (68576) wifi:connect chan=0
D (68576) wifi:first chan=3
D (68586) wifi:connect status 0 -> 1
D (68586) wifi:filter: set rx policy=3
D (68586) wifi:clear scan ap list
D (68596) wifi:start scan: type=0x50f, priority=2, cb=0x40170c80, arg=0x0, ss_state=0x1, time=66308961, index=0

@ShaqlainGarana If you have a ubuntu laptop, you can use this steps to get the capture.
1.Install the wireshark on laptop
sudo apt install wireshark

Use this script by editing the wifi interface and channel

ifconfig  down
iwconfig  mode monitor
ifconfig  up
iwconfig  channel
wireshark

i am using windows laptop

@ShaqlainGarana Do you have any MAC laptop?

capture.zip
@kapilkedawat @nishanth-radja
here are the package capture

@ShaqlainGarana As you can see from the captures, AP is not replying to the auth packets. Can you please try to connect using any other device(Laptop/mobile) and see if that is able to connect?

all other device are connecting including esp32 with same router/AP

with same code also some devices are connecting & same hardware

Can you share the AP's RSSI which device is getting?

its vary from -40 to -63 dBm

@kapilkedawat in debug log i am continuedly getting AUTH_EXPIRE error as i have added the code to determine the disconnect reason.

D (97636) wifi:rsn valid: gcipher=3 ucipher=3 akm=5
D (97636) wifi:profile match: ss_state=0x7
D (97636) wifi:scan end: arg=0x0, status=0, ss_state=0x7
D (97636) wifi:find first mathched ssid, scan done
D (97646) wifi:filter: set rx policy=4
D (97646) wifi:first chan=1
D (97646) wifi:handoff_cb: status=0
D (97656) wifi:ap found, mac=04:95:e6:b4:39:d1
D (97656) wifi:new_bss=0x3ffcad50, cur_bss=0x0, new_chan=<2,1>, cur_chan=2
D (97666) wifi:filter: set rx policy=5
I (97666) wifi:new:<2,1>, old:<2,0>, ap:<255,255>, sta:<2,1>, prof:1
D (97676) wifi:connect_op: status=0, auth=5, cipher=3
D (97676) wifi:auth mode is not none
D (97686) wifi:connect_bss: auth=1, reconnect=0
I (97686) wifi:state: init -> auth (b0)
D (97686) wifi:start 1s AUTH timer
D (97696) wifi:clear scan ap list
D (98576) event: running post WIFI_EVENT:5 with handler 0x401157c0 and context 0x3ffda7c0 on loop 0x3ffd1d88
0x401157c0: r_intc_init at ??:?
wifi:profile match: ss_state=0x7
D (94156) wifi:scan end: arg=0x0, status=0, ss_state=0x7
D (94156) wifi:find first mathched ssid, scan done
D (94166) wifi:filter: set rx policy=4
D (94166) wifi:first chan=1
D (94166) wifi:handoff_cb: status=0
D (94176) wifi:ap found, mac=04:95:e6:b4:39:d1
D (94176) wifi:new_bss=0x3ffcad50, cur_bss=0x0, new_chan=<2,1>, cur_chan=2
D (94186) wifi:filter: set rx policy=5
I (94186) wifi:new:<2,1>, old:<2,0>, ap:<255,255>, sta:<2,1>, prof:1
D (94196) wifi:connect_op: status=0, auth=5, cipher=3
D (94196) wifi:auth mode is not none
D (94196) wifi:connect_bss: auth=1, reconnect=0
I (94206) wifi:state: init -> auth (b0)
D (94206) wifi:start 1s AUTH timer
D (94206) wifi:clear scan ap list
D (95096) event: running post WIFI_EVENT:5 with handler 0x401157c0 and context 0x3ffda7c0 on loop 0x3ffd1d88
0x401157c0: r_intc_init at ??:?
D (95096) event: running post WIFI_EVENT:5 with handler 0x400d7100 and context 0x3ffda7ec on loop 0x3ffd1d88
0x400d7100: gpio_ll_pullup_dis at D:/esp/esp-idf/components/hal/esp32/include/hal/gpio_ll.h:66
(inlined by) gpio_pullup_dis at D:/esp/esp-idf/components/driver/gpio.c:105
D (95206) wifi:auth timeout
I (95206) wifi:state: auth -> init (200)
D (95216) wifi:connect status 1 -> 4
D (95216) wifi:stop beacon/connect timer
D (95216) wifi:reason: auth expire(2)
D (95216) wifi:add bssid 04:95:e6:b4:39:d1 to blacklist, cnt=0
D (95226) wifi:stop CSA timer
D (95226) wifi:remove 04:95:e6:b4:39:d1 from rc list
I (95226) wifi:new:<2,0>, old:<2,1>, ap:<255,255>, sta:<2,1>, prof:1
D (95236) wifi:filter: set rx policy=8
D (95236) wifi:Send disconnect event, reason=2, AP number=0
D (95246) event: running post WIFI_EVENT:5 with handler 0x40126ee8 and context 0x3ffd2f9c on loop 0x3ffd1d88
0x40126ee8: sm_WPA_PTK_PTKCALCNEGOTIATING2_Enter at D:/esp/esp-idf/components/wpa_supplicant/src/ap/wpa_auth.c:1609
(inlined by) sm_WPA_PTK_Step at D:/esp/esp-idf/components/wpa_supplicant/src/ap/wpa_auth.c:1940
(inlined by) wpa_sm_step at D:/esp/esp-idf/components/wpa_supplicant/src/ap/wpa_auth.c:2374
(inlined by) wpa_sm_step at D:/esp/esp-idf/components/wpa_supplicant/src/ap/wpa_auth.c:2353
D (95256) esp_netif_handlers: esp_netif action disconnected with netif0x3ffd2cb4 from event_id=5
D (95266) esp_netif_lwip: check: remote, if=0x3ffd2cb4 fn=0x40125084
0x40125084: wpa_sta_cur_pmksa_matches_akm at D:/esp/esp-idf/components/wpa_supplicant/src/rsn_supp/wpa.c:2421
D (95266) esp_netif_lwip: esp_netif_down_api esp_netif:0x3ffd2cb4
D (95276) esp_netif_lwip: esp_netif_start_ip_lost_timer esp_netif:0x3ffd2cb4
D (95286) esp_netif_lwip: if0x3ffd2cb4 start ip lost tmr: no need start because netif=0x3ffd2d14 interval=120 ip=0
D (95296) esp_netif_lwip: check: local, if=0x3ffd2cb4 fn=0x401256d8

@ShaqlainGarana this is very odd and seems like AP side issue since it is supposed to reply to auth packets. I don't see any ack for those packets in sniffer capture as well.
Could you share the sniffer capture from other devices to see how they are behaving and working fine?
Also is the environment is too congested? Is this happening with only some chips and happening consistently with them? Can you try to bring the chip little bit closer to AP and see if that helps?

@kapilkedawat
i have tried everything and all other devicees except few of my devices easily connects to the router without any issue
you can check the zip file i have sent entire log files including other devices as well

also tried arduino code and still it is not connecting with that specific AP

@ShaqlainGarana I took a look at both capture.pcapng and capture1.pcapng . Both doesn't contain any association from any device.
Also I see RSSI of 8c:4b:14:74:cb:cc around -50. dbm  and RSSI of 0c:dc:7e:cd:23:a8 around -80 dbm on the sniffer. Can you please reconfirm  the RSSI on the device for AP.
You can use the code from scan example https://github.com/espressif/esp-idf/blob/master/examples/wifi/scan/main/scan.c#L110 to print the RSSIs.

Is it possible for you to provide a connection capture when device is successfully able to connect?
From the current logs it seems to me, nothing is wrong in station side, AP is discarding the auth packets and not even giving hardware acks for those so the connection can't proceed.

@ShaqlainGarana Can you please share the success capture between same AP and esp device?

@kapilkedawat can you please tell me how to associate specific device in packet capture so that i can share you the required data

Hi @ShaqlainGarana , its the same process, just try to connect to AP when you are sniffing the packets. Sniffer will capture it.

@ShaqlainGarana Also I see that the sniffer is configured on channel 2, while the AP is on channel 3. Can you pls configure the sniffer also on channel 3.
iwconfig wlan0 channel 3
wireshark
And is the sniffer laptop kept close to the station or the AP?
How far is the AP from the client? Can you keep the sniffer device a little further from the DUT and close to AP to find out  on how much RSSI does the AP see the client.

@ShaqlainGarana Any update regarding the comment: https://github.com/espressif/esp-idf/issues/3796#issuecomment-1147035215

@ShaqlainGarana Any update?

@ShaqlainGarana @rnascunha
Do you still hit this issue with recent esp-idf releases?

Issue is fixed
On Wed, 3 May 2023 at 7:21 AM, Axel Lin @.***> wrote:

@ShaqlainGarana https://github.com/ShaqlainGarana @rnascunha
https://github.com/rnascunha
Do you still hit this issue with recent esp-idf releases?
—
Reply to this email directly, view it on GitHub
https://github.com/espressif/esp-idf/issues/3796#issuecomment-1532359739,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXM3UCFRCEVYYSFBTFXAJULXEG235ANCNFSM4IE65VLQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


[FEATURE] one time boot option for ISO installation

Is your feature request related to a problem? Please describe.
In Harvester UI, if we're installing a VM via ISO, after the installation is completed the ISO will be booted up again, which normal is undesired.
Describe the solution you'd like
Give an option to set temporarily boot order, so once the ISO installation is completed, we will boot from the main drive instead.
Describe alternatives you've considered
Change the VM config after the installation is completed. But it's more cumbersome to the user.
Additional context

@yasker @guangbochen  Normally this is achieved by invoking the ipmitool command or any other out-of-band tools to set the boot order after an installation.
We now have installer webhooks (unfortunately I think it's undocumented) that can be used at some installation points (e.g, installed successfully) to notify infrastructure services to do OOB management.
Another idea is to add the ability to execute custom scripts at those installation points. Do you think this might help?

@bk201 Sorry there is a misunderstanding. I was referring to installing a VM using ISO in Harvester, not the Harvester installer. I agree if we're installing Harvester on bare metal nodes, it would be the admin for the node to ensure the correct boot order. I don't think we need to do OOB mgmt there.

Did some research on this topic with three major Linux distros in virt-manager. I installed them via the GUI of virt-manager with option "Local install media (ISO image or CDROM)".

openSUSE Leap15.3: There is a "boot from disk" on their ISO as the first option, so that if user forget to eject the ISO, it'll skip booting from the IOS automatically after a timeout.
Fedora 35 server: First boot option of the ISO is installation even after the installation.
Ubuntu 20.04.4 server: Tell user to moreve the installation medium from CD-FROM after the installation before reboot.

In fact, virt-manager handles all the boot order and boot options. If user use the GUI wizard to install from an ISO, it will temporarily put the ISO in a highest order. And after the installation, it removes the medium from boot options even if the installation did not succeed. Here is the code it determine whether it's in an install phase and permitted to conduct special stuff. This seems to be an one-time option, if you install an OS first and later use the ISO to install the second time, none of the boot related options would be changed.
For harvester, we can have the a similar mechanism. That might be:

Add an annotation for VirtualMachine CR to indicate that the VM is in install phase

If the controller detects the annotation, it will change the CD-ROM to the first boot device temporarily.
When the VM reboot or shutdown, the controller removes the annotation from the VirtualMachine CR.

In the Harvester dashboard, add a checkbox to let use enable "Eject CD-ROM after installation".

There is a technical difficulty. If an VM is shutted down or  rebooted from inside, our controller might not be notified. Will continue investigating this part.

After testing, set bootorder to 1 for the primary disk and ISO to 2. If the main disk does not have a system boot on the first boot, it will automatically boot the second one, and reboot will boot the main disk after installing the system.
eg:

Does this solve your scenario? @yasker

@chrisho Great! That works.
Can we document it?

After testing, set bootorder to 1 for the primary disk and ISO to 2. If the main disk does not have a system boot on the first boot, it will automatically boot the second one, and reboot will boot the main disk after installing the system.

Yeah, we will add details to the document later

close as resolved.
Tested on v1.1.0-rc2, use bootorder to control one-time boot work as expected.


Some BGA packages have two "first" pins highlighted.

I noticed on one of my boards that both A1 and  P1 pins were high lighted as pin 1 in the view. The package is self made and is a BGA_180_12x12x0.8 package. with multiple missing pins in the center.

There is always some guesswork involved in determining first pad as that information is not in kicad data model.
Right now any pad with name '1', 'A', 'A1', 'P1', 'PAD1' will be considered first. If there is no such pad then one with lexicographically smallest name will be first. And it's possible that there are multiple first pins because pads can be duplicated.
If you have suggestions for better algorithm, I'm open.

Do you have an example of multiple first pins? that seems counter intuitive

As an example this usb micro footprint has 4 pins named '6'

Same way there can be a footprint with few pins named 'A'.

Ah yes, seems like that would be for abnormal parts however where the "first" pin is not obvious due the part being asymetrical. I would suggest you pin 1 pin and select the one with the lowest alphanumeric value. This way A1 is always above P1 or B1 but not 1. Likely more edge cases but less likely to get a scenario where its ambiguous which pin is actually first.


Exclude certain headers?

I have a daily todos list, but also a repeating daily checklist for things like showering and taking my meds - that don't need to be rolled over. Is there a way to exclude certain checkboxes from being rolled over?

I am also interested in this.
It would be nice if there were a way to exclude/include only certain headings.

posted an updated issue


[Release] Skip to main content (a11y), code refactors

Summary | Résumé

#268
#409
#320

⚠ This PR can be tested through the following URL(s):
Main - https://staging.resources.alpha.canada.ca/
EN - https://staging.resources.alpha.canada.ca/
FR - https://staging.ressources.alpha.canada.ca/fr/
After merge, do this:
From your terminal, make sure you are in the main branch, then type
git tag -a v0.2.0 -m <release notes>
git push --tags

This bumps up the release version

Closes #268


BUG: GH12558 where nulls contributed to normalized value_counts

[x] closes #12558
[x] tests added / passed
[x] passes git diff upstream/master | flake8 --diff
[x] whatsnew entry

@nickeubank tests passed. Does this look OK?

done

Looks great!

thanks @kawochen @nickeubank


who's awesome?

good stuff. I loved the style of writing the documentation. Very doge!

:) Thanks @soumith. And thanks for setting a high bar with your really clear intro to PyTorch tutorials.


Would you tell me fuseops error messages in detail ?

Hi,
I want to investigate the cause of errors.
I use goofys.
goofys include fuseops packeges.
The following error messages often output to the log file.

fuse.ERROR *fuseops.ReadFileOp error: no such file or directory
fuse.ERROR *fuseops.RemoveXattrOp error: operation not permitted

Would you tell me the document related to error messages ?

I would recommend to enable debug logging in goofys.
See this example for how to enable debug logging: https://github.com/distr1/distri/blob/f4148dc779384bafb86eeb8e10ef7a8d276fdae9/internal/fuse/fuse.go#L253
That should allow you to understand what your file system is doing wrong.
In general, search for Linux kernel or FUSE instead of the specific jacobsa/fuse implementation.


Delayed init

One more thing about the delayed init! Since the config is checked and written to lazySizesConfig as soon as the file load, and not inside the timeout, any attempts to change the init property later than this file is included will fail. I like to include all vendor scripts first. Now I have to put it last of all files, and make sure it's stays there. Which might be a problem with future employees etc. I think you don't think it's a problem it's fine. Just wanted to let you know.

This is not true, you can simply change it. Using the following pattern:
window.lazySizesConfig = window.lazySizesConfig || {};
window.lazySizesConfig.init = false;

Also Note: That 99% of the time, you won't need to set init to false. Most cases I saw this option was used, it would have been better to solve it differently. lazySizes works similar like webcomponents there is no explicit initialization needed.

Our code is structured in such way the internal order of the files doesn't matter because they all initiate their stuff on document ready. So this is why we have a problem with the auto init method.
I will illustrate the problem here (with contents from the files), so don't take the tags literally:
<script src="vendor/jquery.js"></script>
<script src="otherscripts.js"></script>
<script src="vendor/lazysizes.js">
    ...
    lazySizesConfig = window.lazySizesConfig || {};
	for(prop in lazySizesDefaults){
		if(!(prop in lazySizesConfig)){
			lazySizesConfig[prop] = lazySizesDefaults[prop];
		}
	}
	window.lazySizesConfig = lazySizesConfig;
	setTimeout(function(){
		if(lazySizesConfig.init){
			init();
		}
	});
    ...
</script>
<script src="global.js">
    ...
    //This need to outside of the module to work due to self initiating plugin
    window.lazySizesConfig = window.lazySizesConfig || {};
    window.lazySizesConfig = {
        init : false
    };
    ...
</script>
<script src="modules/.js"></script>
<script src="plugins/.js"></script>

So what you do is taking window.lazySizesConfig and store it in scoped lazySizesConfig.
And that's the variable you use then you check lazySizesConfig.init in the setTimeout.
So when I change the window.lazySizesConfig in the file read after lazysizes it's already to late. Since you read that right away. My original point was the the init should be checked inside the timeout, which you have corrected. But as long as you loop through window.lazySizesConfig outside the timeout, the timeout doesn't matter. It will always be the default value, unless I put the script tag for lazysizes.js after all the other tags. Hope you understand better now.

Yes, but this has nothing to do with the loop inside or outside the loop, but only with the fact, that my reference to lazySizesConfig is another than yours.
Your code looks like this and will always have trouble:
    window.lazySizesConfig = window.lazySizesConfig || {};
    window.lazySizesConfig = {
        init : false
    };

You should write it like this:
window.lazySizesConfig = window.lazySizesConfig || {};
window.lazySizesConfig.init = false;

This way we both are referencing the same object and the same init property.
This said I gave you some other (better) options, which are much better for performance. Why don't you to use one of them: https://github.com/aFarkas/lazysizes/issues/60#issuecomment-73359277

@JonWallsten
Does this work for you now? I think your error was the wrong configuration mentioned above.
I hope you understand, that it is actually a good thing that lazySizes works as soon as possible, so that images can be loaded while the DOM is progressively parsed. This is a huge advantage, especially over other lazy loader, where you need to initialize them with strong references to the image.
As I see it, you still can order your scripts how you want. You only should have a specific order for lazySizes and it's configuration. And in case you merge all files into one, you don't need any specific order for lazySizes and even it's plugin and the configuration file. You seem to also do exceptions for other scripts (at least for jQuery).

@JonWallsten
Did this help?

Sorry for my late response!
I'm not sure we fully understand each other.
The flow we using and the way we don things is just not compatible with the way your script works.
It's our unconventional method of hiding elements on top of the images, until the images are loaded, causing this. I will just add the file at the end of the list of includes and put the delayed init outside of our normal flow/scope. Lets close this and accept that 99% of the users is not doing this.
Thank you for your time though! :-)


[Question] An question of background color of indent line

Hello, the plugin indentLine is great! Thanks a lot.
Now I meet a problem after updating. The indent line appears with grey background which I don't need. Is there any configurations should I setting to solve It?
By the way, both the cursorline and cursorcolumn I have set.

By default, there is no background. Maybe some other plugin changes the color, you can use:
:verbose hi Conceal to see the output.

It may be changed by the theme molokai.vim. I will find some way to change it.
This issue can be closed. Thanks again!


Downloading playlists feature

Great work, but there are some problems with it:

It prints an empty space while downloading several files of a playlist.
I think a commit is missing since this line has been replaced by The file has been sent to your phone.
It creates a folder called files_go_here inside the specified download folder, while downloading.

files_go_here is temporarily created.It's deleted at the end after shifting the files to selected directory.
Should I add something like  "this may take a while " for when playlists are being downloaded?

It would be better if the folder isn't created. The other two points are also important to address, and yes it would be better to write this may take a while instead.

If all the files are stored in the same location( the selected directory), then pushing just the recently downloaded files might be complex as you dont want to push the all the files( even those that were downloaded earlier but not deleted ) every time. Also if the user while downloading a playlist downloads another file in the same folder we dont want to push that. So I thought of creating a temporary folder which will have  the files that were just downloaded using moboff. It makes it easier to push the and then they are shifted to the required directory and the temporary folder is deleted.
I couldn't think of a way to do this without a temp. folder.