HEIF / HEIC file support

Is your feature request related to a problem?
I wanted to load images on Android (Net Maui) from the gallery, but it only seems to be working with .JPEG images, not .HEIC images (I didn't test .PNG and that kind of stuff yet).
Describe the solution you would like
I would like to be able to decode heic images to a SKBitmap object.
Describe alternatives you have considered
None, I hace no idea how this could be done.
Additional context
Feature request https://github.com/mono/SkiaSharp/issues/1700 was close because of license issues, https://stackoverflow.com/questions/61232393/open-heic-bitmap-file-in-skiasharp states that it isn't supported.
Code of Conduct

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

I worked around this by following https://learn.microsoft.com/en-us/answers/questions/1282529/does-anybody-know-if-maui-has-a-utility-or-package:
#if ANDROID
global using AndroidBitmapFactory = Android.Graphics.BitmapFactory;
global using AndroidBitmap = Android.Graphics.Bitmap;
#endif

#if IOS
global using IoSUIImage = UIKit.UIImage;
global using IoSNSUrl = Foundation.NSUrl;
#endif

public static class ImageHelper
{
    public static async Task<string?> SaveAsJpegPhotoToCache(FileResult photo)
    {
        try
        {
            var originalFilePath = await SavePhotoToCache(photo);

            // Don't convert a JPG / JPEG file.
            var filePathLowerCase = originalFilePath.ToLowerInvariant();

            if (filePathLowerCase.EndsWith(".jpg") || filePathLowerCase.EndsWith(".jpeg"))
            {
                return originalFilePath;
            }

            var jpegFilePath = Path.Combine(FileSystem.CacheDirectory, $"{Path.GetFileNameWithoutExtension(photo.FileName)}.jpg");
#if IOS
            var image = new IoSUIImage(originalFilePath);
            var data = image.AsJPEG();

            if (data is null)
            {
                return null;
            }

            data.Save(new IoSNSUrl(jpegFilePath), true);
#endif

#if ANDROID
            var image = await AndroidBitmapFactory.DecodeFileAsync(originalFilePath);
            var compressionFormat = AndroidBitmap.CompressFormat.Jpeg;

            if (image is null || compressionFormat is null)
            {
                return null;
            }

            using var ms = new MemoryStream();
            image.Compress(compressionFormat, 100, ms);
            await File.WriteAllBytesAsync(jpegFilePath, ms.ToArray());
#endif
            FileHelper.TryDeleteFile(originalFilePath);
            return jpegFilePath;
        }
        catch
        {
            return null;
        }
    }

    private static async Task<string> SavePhotoToCache(FileResult photo)
    {
        // Save the photo to the local cache.
        var localFilePath = Path.Combine(FileSystem.CacheDirectory, photo.FileName);
        using var sourceStream = await photo.OpenReadAsync();
        using var localFileStream = File.OpenWrite(localFilePath);
        await sourceStream.CopyToAsync(localFileStream);
        return localFilePath;
    }
}

The code takes the photo that comes from the MAUI media picker or camera as FileResult, saves it to the cache directory first and afterwards tries to convert and save the file as JPG format. I have tested this on Android (Not yet for iOS), and it works with .heic files.
Note: I have left the deletion of the cached file(s) here for simplicity reasons. In my code, the files get deleted properly once not needed anymore, of course.

Encoding does not work either, it would be great if it were supported too.


Crash in FL.eventKey on special key

I have a handler that deals with keyboard events; it calls FL.eventKey.  If I press my laptop's Fn button [in this case to adjust the brightness], it crashes my app.  I don't see what in cToKeyType calls down to Prelude.chr, but it looks like it's probably in toEnum somewhere.  Ideally we'd find this key in allSpecialKeys, I believe, but it seems way out of range.  That table has all 16-bit values.
This is on a Lenovo ThinkPad P1 running Ubuntu 18.04.
*** Exception (reporting due to +RTS -xc): (THUNK_1_0), stack trace:
Graphics.UI.FLTK.LowLevel.Utils.cToKeyType,
called from Graphics.UI.FLTK.LowLevel.FL.eventKey..res',
called from Graphics.UI.FLTK.LowLevel.FL.eventKey.,
called from Graphics.UI.FLTK.LowLevel.FL.eventKey,
called from BcdWindows.handleKeyDown,
called from BcdWindows.onWindowEvent,
called from BcdWindows.createWindow.onWindowEvent',
called from Graphics.UI.FLTK.LowLevel.Base.Widget.toEventHandlerPrim.,
called from Graphics.UI.FLTK.LowLevel.Base.Widget.toEventHandlerPrim,
called from Graphics.UI.FLTK.LowLevel.Utils.orNullFunPtr,
called from Graphics.UI.FLTK.LowLevel.Base.Widget.fillCustomWidgetFunctionStruct,
called from Graphics.UI.FLTK.LowLevel.Base.Window.windowMaker,
called from Graphics.UI.FLTK.LowLevel.Base.DoubleWindow.doubleWindowCustom,
called from BcdWindows.createWindow,
called from BcdWindows.startGui.,
called from BcdWindows.startGui,
called from BcdGraphicsTest.ui,
called from BcdGraphicsTest.runLeanMain,
called from Main.main
server: Prelude.chr: bad argument: 269025067
Here's what I see for allSpecialKeys:
(Button,65256),
(Kb_Backspace,65288),
(Kb_Clear,65291),
(Kb_Tab,65289),
(Kb_IsoKey,65292),
(Kb_Enter,65293),
(Kb_Pause,65299),
(Kb_Escape,65307),
(Kb_Kana,65326),
(Kb_Eisu,65327),
(Kb_Yen,65328),
(Kb_JisUnderscore,65329),
(Kb_Home,65360),
(Kb_Left,65361),
(Kb_Up,65362),
(Kb_Right,65363),
(Kb_Down,65364),
(Kb_PageUp,65365),
(Kb_PageDown,65366),
(Kb_End,65367),
(Kb_Print,65377),
(Kb_Insert,65379),
(Kb_Menu,65383),
(Kb_Help,65384),
(Kb_Kp,65408),
(Kb_KpEnter,65421),
(Kb_F,65469),
(Kb_Flast,65504),
(Kb_ShiftL,65505),
(Kb_ShiftR,65506),
(Kb_ControlL,65507),
(Kb_ControlR,65508),
(Kb_CapsLock,65509),
(Kb_MetaL,65511),
(Kb_MetaR,65512),
(Kb_AltL,65513),
(Kb_AltR,65514),
(Kb_Delete,65535),
(Kb_VolumeDown,61201),
(Kb_VolumeMute,61202),
(Kb_VolumeUp,61203),
(Kb_MediaPlay,61204),
(Kb_MediaStop,61205),
(Kb_MediaPrev,61206),
(Kb_MediaNext,61207),
(Kb_HomePage,61208),
(Kb_Mail,61209),
(Kb_Search,61211),
(Kb_Back,61222),
(Kb_Forward,61223),
(Kb_Stop,61224),
(Kb_Refresh,61225),
(Kb_Sleep,61231),
(Kb_Favorites,61232)])

Does any Fn + any key crash your app or is it just the brightness? For instance if you try to control your volume does that map to Kb_VolumeUp?

It crashes as I push Fn; I don't actually need to combine it with anything.

Sorry, it's been a while but life and all that. In any case I can't seem to replicate the crash, I do see that it doesn't understand Fn+{Brightness,Volume}{Up,Down} but a minimal app stays up:
windowHandler :: Ref Window -> FL.Event -> IO (Either UnknownEvent ())
windowHandler w e =
  case e of
    _ -> do
      print "printing event key"
      k <- FL.eventKey
      print k
      handleWindowBase (safeCast w) e

ui :: IO ()
ui = do
 window <- windowCustom
            (Size (Width 115) (Height 100))
            Nothing
            Nothing
            Nothing
            (defaultCustomWidgetFuncs { handleCustom = Just windowHandler })
            defaultCustomWindowFuncs
...

I'll bet my laptop keyboard just produces a different weird keycode than yours, or mine produces an event for that key whereas yours waits for composition.  It still crashes instantly on Fn, but handles any other key just fine.
Looking at the source for chr, it won't accept a value that high, so ideally we wouldn't call it for such values.  How about if cToKeyType checked before calling toEnum for an out-of-range value?  Then we could map it to a new Kb_Unrecognized or something.  I see that FLTK uses a flag FL_F and then adds the number to support F1, F2, etc.  We could map this key to just F [essentially F1] and that would make some sense.  But putting in a general way to handle "that's a key I don't know about and you don't need to handle" would probably be better for the next one that comes along.  I'd be happy to make you a patch.

It looks like some other systems have run into similar problems with that key on Lenovo keyboards, e.g.
https://discourse.libsdl.org/t/key-not-recognised-by-sdl/24181
Apparently the keysym is XF86WakeUp.
https://superuser.com/questions/859862/tmux-and-xf86-keys-the-fn-key-xf86wakeup
They confirm that most computers' BIOSes just don't send anything for that key, but Lenovo behaves differently.  Still seems like we should just ignore out-of-range keys for now, or remap them to a special catchall value.

Interesting ... in that case a catch-all called Kb_Unrecognized is definitely the right way to go. Mind submitting a patch? Thanks for chasing this down.

https://github.com/deech/fltkhs/pull/153

Merged, thanks!


Merging Options

Hi Janko,
I am using your direct_upload plugin with Rails and I have the following problem: All uploaders should set the Content-Type as in your example:
# initialiser
Shrine.plugin :direct_upload,
  presign_options: -> (request) {
  opts = { content_length_range: 0..2.megabytes }
  if filename = request.params["filename"]
    opts.merge!(content_disposition: "inline; filename=\"#{filename}\"")
  end
  opts
}

But one uploader has different file size limitations:
# class SpecificUploader
plugin :direct_upload, presign_options: { content_length_range: 0..50.megabytes }

Unfortunately, for the SpecificUploader the Content-Disposition from the general configuration gets overwritten.
I think a good solution would be to merge options down the road (options from more specific classes take precedence). Maybe some kind of pipeline like it's used in the processing plugin.
I would also try to implement it myself but I'm currently not sure what the best solution would be. Any recommendations?
Thanks,
Jonas

I'm not sure that merging options would be the ideal behaviour for plugin options. Foremost, that would mean that if a subclass needs to remove any options, it needs to override them with nil values explicitly. I think I prefer that plugin options whose values are hashes still work the same way as all other plugin options, that assigning them in a subclass overrides what was previously set.
For your case you could assign the maximum filesize into a constant in your uploader, and then reference it both in your file validations and general presign options. You can actually access the uploader class from presign options using the Roda request object:
request.scope # roda instance
request.scope.opts[:shrine_class] # uploader class

So then you could write something like this:
class SpecificUploader < Shrine
  MAX_SIZE = 50.megabytes
end

# initializer
Shrine.plugin :direct_upload,
  presign_options: -> (request) {
    uploader_class = request.scope.opts[:shrine_class]
    max_size = uploader_class::MAX_SIZE
    opts = { content_length_range: 0..MAX_SIZE }
    # ...
  }

I agree that it might not be ideal, maybe this could be improved somehow and/or documented.
Note that while you should definitely limit the maximum filesize for S3, it's probably enough to just use the lowest-common denominator, to take the largest allowed filesize from all uploaders and in your initializer use that as the limit (in your case that's 50MB). Because when JavaScript is enabled, you can have client-side filesize validations which already prevent the upload. And if an attacker disables JavaScript because they want upload large files to your S3 storage, they will likely be doing it on the records which allow 50MB limit anyway. But that's just my opinion, maybe there is a benefit that I'm not seeing.

Thanks for your response. I think I will go with the solution with constants since I like the clarity/explicitness.


create an issue when night ci failed

Signed-off-by: cyclinder<EMAIL_ADDRESS>What type of PR is this?

/kind bug
What this PR does / why we need it:
create an issue when night ci failed
Which issue(s) this PR fixes:

Fixes https://github.com/spidernet-io/cni-plugins/issues/95
Special notes for your reviewer:
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

/cc @weizhoublue


rubocop failure on Windows due to line endings

We had a red build on the Bazel Central Registry:
https://buildkite.com/bazel/bcr-presubmit/builds/2569#018c02af-083a-4eff-88ba-7f8ccbae9ff5
I'll disable Windows for now to land that PR, but I suspect this is trivial to fix for the next release?

I wonder why ruleset CI was passing, but anyway the fix is pushed now

Now the CI on this repo is red on Windows. Must be something trickier going on.

In our CI we have CRLF line endings on Windows (expected).
in Bazel CI we have LF line endings on Windows (failure).

It might be related to how Bazel CI fetches sources. On GHA we use Git checkout and I guess it's responsible for setting proper line endings. @alexeagle Do you know how Bazel CI does it?

https://buildkite.com/bazel/bcr-presubmit/builds/2569#018c02af-083a-4eff-88ba-7f8ccbae9ff5/60-63
I suppose the line endings are not fixed when uncompressing the archive.


Does not want to work with Laravel 5.1

It does not wont to work with Laravel 5.1
It even cannot be installed with that...
Can you do something?

Working on it

I've pushed a new version that works also with Laravel 5.1. Please take a look and give me some feedback.


Add missing file in zon file

The build system requires the tools/gennodetags/main.zig file, but since it's not included in the build.zig.zon file, anyone who adds pgzx as a dependency via zig fetch (or by specifying the url) will not be able to build their extension. It will fail with the following error: error: unable to load '/home/guacs/.cache/zig/p/122078a0d7c7c1fc0cee07a61e8101509799873e1f46da165084cd9897f59303652b/tools/gennodetags/main.zig': FileNotFound
As a workaround, copying the tools directory manually to the directory containing the source code that zig internally creates will work.

Thank you!


CI/CD:  use make package command to generate packages

Update cargo repo source to Domestic download source
Generate inclavared， etls and shelter packages

Blocked by https://github.com/alibaba/inclavare-containers/issues/1138


AttributeError: 'NoneType' object has no attribute 'get' - Solution

Hi David,
Found an error on line 49 of core.py. "AttributeError: 'NoneType' object has no attribute 'get' ".
The below code does return the correct schema I just haven't figured out how to integrate it into Core.py
Hope your doing well considering all the Corona virus stuff,
with open(filename, "r") as f:
soup = BeautifulSoup(f, 'html.parser')
resources = soup.find(['ix:references', 'references'])
#print(resources)
for s in resources.find_all(['link:schemaRef', 'schemaRef', 'schemaref', 'link:schemaref']):
x = s.get('xlink:href')
print(x)
ErrorFolder.zip

I am guessing something like this but this raises the same error:
        resources = self.soup.find(['ix:references', 'references'])
        for s in resources.find_all(['link:schemaRef', 'schemaRef', 'schemaref', 'link:schemaref']):
            self.schema = s.get('xlink:href')

This is because the files are in us-ascii encoding and beautifulsoup assumes it's in utf. You can instead pass the file in binary form and it'll work - eg with open(filename, "rb") as f:. I've changed the default options to use this.

Even by using this open(filename, "rb") as f: I'm getting the same error AttributeError: 'NoneType' object has no attribute 'get'

Even by using this open(filename, "rb") as f: I'm getting the same error AttributeError: 'NoneType' object has no attribute 'get'

Hi @sreekarn  - thanks for reporting the error. Is it possible to share a file that causes it so I can look into it further?


hdiutil: resize: failed. Device not configured (6)

issue
hdiutil: resize: failed. Device not configured (6)
00:46:22.021  /opt/homebrew/bin/create-dmg: line 323: [: -gt: unary operator expected
create dmg command
create-dmg --volname "xxxx" --window-pos 200 120 --window-size 600 400 --icon-size 100 --icon "xxx.app" 200 150 --app-drop-link 400 150 --codesign "develop key" xxx.dmg <path>

This line may error at -gt when one or more of the two numbers being compared is not a number. Just before this comparison, it tried to get size info from your dmg, but that failed for some reason. Perhaps it didn't create the volume properly?

This line may error at -gt when one or more of the two numbers being compared is not a number. Just before this comparison, it tried to get size info from your dmg, but that failed for some reason. Perhaps it didn't create the volume properly?

How about adding set -o pipefail into the script? It will stop the execution if hdiutil fails.

This line may error at -gt when one or more of the two numbers being compared is not a number. Just before this comparison, it tried to get size info from your dmg, but that failed for some reason. Perhaps it didn't create the volume properly?

How about adding set -o pipefail into the script? It will stop the execution if hdiutil fails.

will try that later, meet this issue only once in my build environment.


Updating en.json with some of NightRaider73's changes

This incorporates some of @NightRaider73's changes:

I corrected "Ministy" and "Westmintser," thanks to @NightRaider73!
I changed "toward" to "towards" everywhere, as per @NightRaider73's original preference.
I spelled out "Saint" and "Saints" everywhere, to avoid all controversy over their abbreviations.
I corrected a typewriter apostrophe that none of us caught.

@SeanMSmith Should I close my pull request?

Well, I'll merge this one if you are in agreement.


lxd: Cleanup logging

This does a few things:

Ensure that no log entries end with a period
Ensure all log entries start with a capital (with some minor exceptions)
Ensure all log entries are greppable (no split text)

Signed-off-by: Stéphane Graber<EMAIL_ADDRESS>

jenkins: test this please

@brauner should be good to go


Confusion about the "section" option in Documentation/Readme of yt-dlp. It's not clear if there is or there is no ability to cut/download a specific part of the video

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
Hello!
I've been reading the documentation of yt-dlp for about an hour now, tried many different variations, looked through the Readme, open and closed tickets in this repository, even googled it but I can't seem to find what I'm looking for. Maybe I am terrible with searching for my solution and hopefully I can get some help from the developers and not get scolded by them xD.
I was wondering if there is an option to cut/download a specific part of the video with yt-dlp. Let's just say for example I want to download a section from 00:00 to 00:08 from this video https://youtu.be/dQw4w9WgXcQ without me needing to download the full video and edit it manually in my program for editing. How would I do that?
According to this ticket: https://github.com/yt-dlp/yt-dlp/issues/1803 it seems impossible to implement that function or am I getting something wrong? If I am right - can you guys make it clearer (for slow people like me) in the documentation that this option isn't a thing? Thank you and please forgive me for my ignorance!
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [65cf46cdd] (win_exe)
[debug] Python 3.10.11 (CPython AMD64 64bit) - Windows-10-10.0.26100-SP0 (OpenSSL 1.1.1t  7 Feb 2023)
[debug] exe versions: ffmpeg 7.1-full_build-www.gyan.dev (setts), ffprobe 7.1-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.21.0, brotli-1.1.0, certifi-2024.12.14, curl_cffi-0.5.10, mutagen-1.47.0, requests-2.32.3, sqlite3-3.40.1, urllib3-2.3.0, websockets-14.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets, curl_cffi
[debug] Loaded 1837 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp)

You are probably looking for --download-sections. Look up the info on it in the readme.

try yt-dlp --download-sections *00:00-00:08 --force-keyframes-at-cuts "https://youtu.be/dQw4w9WgXcQ"

try yt-dlp --download-sections *00:00-00:08 --force-keyframes-at-cuts "https://youtu.be/dQw4w9WgXcQ"

This seems to have worked. Thanks a bunch!


WIP: start testing the front-end service

TODO: reseach how to avoid template not found error

Pull Request Test Coverage Report for Build d305056cb-PR-42

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-14.3%) to 67.376%

Totals

Change from base Build bb0f81ec6:
-14.3%

Covered Lines:
285

Relevant Lines:
423

💛  - Coveralls


Collect advanced authz use cases

Follow up on https://github.com/CosmWasm/wasmd/issues/803#issuecomment-1311674643 to collect more advanced use cases to build better filter and limits.
To provide some structure for filter examples, please add:

Use case description
Json example of the incoming msg
Description of the expected outcome (can be accepted, rejected use cases)
A jq filter on the incoming json (optional, as a declarative syntax of the rule)

just saw this and I wanted to post an old implementation I had of something very similar that might come handy to anyone implementing this: https://github.com/nicolaslara/authorizations/tree/main/contracts/message-filter


Support for different countries?

Hi, does openpilot support road systems that, say drives on the left lane, instead of the right lane? Has openpilot been designed to support this?

Right now, it “works”
At this stage, the only real broken feature is the “Driver Monitor” which can very accurately monitor the passenger.
https://youtu.be/Fkh3s6WHJz8


Salesforce marketing cloud changes

Removed references to email demographics attribute set and added note on display of only 2000 attributes from Salesforce in the mapping set.

Discarding this PR to create a new PR

Discarding this PR to create a new PR


addDateTime oddities (with leap year?)

Bicep version
0.24.24
Describe the bug
There is some issue with dateTimeAdd in Bicep (or ARM?) when it comes to P1Y and P365D. This came to my attention with 2024 being a leap year.
The Bicep below outputs this:
endDate1Year     String                     "P1Y after 2023-01-01 is 2024-01-01T00:00:00Z"
endDate1P365D    String                     "P365D after 2023-01-01 is 2024-01-01T00:00:00Z"
endDate1P366D    String                     "P366D after 2023-01-01 is 2024-01-02T00:00:00Z"
endDate2Year     String                     "P1Y after 2024-01-01 is 2024-12-31T00:00:00Z"
endDate2P365D    String                     "P365D after 2024-01-01 is 2024-12-31T00:00:00Z"
endDate2P366D    String                     "P366D after 2024-01-01 is 2025-01-01T00:00:00Z"

It cannot be that one year (P1Y) after January 1, 2023, is January 1, 2024 (which in my mind is correct) while one year after January 1, 2024, is December 31, 2024. It appears that P1Y is taking a shortcut and using 365 days instead of one year.
In short, I think the Bicep addDateTime function does not handle leap years (at least not according to ISO 8601).
To Reproduce
Bicep:
param yearPeriod string = 'P1Y'
param ThreeSixFivePeriod string = 'P365D'
param ThreeSixSixPeriod string = 'P366D'
param startDate1 string = '2023-01-01'
param startDate2 string = '2024-01-01'

output endDate1Year string = '${yearPeriod} after ${startDate1} is ${dateTimeAdd(startDate1, yearPeriod)}'
output endDate1P365D string = '${ThreeSixFivePeriod} after ${startDate1} is ${dateTimeAdd(startDate1, ThreeSixFivePeriod)}'
output endDate1P366D string = '${ThreeSixSixPeriod} after ${startDate1} is ${dateTimeAdd(startDate1, ThreeSixSixPeriod)}'
output endDate2Year string = '${yearPeriod} after ${startDate2} is ${dateTimeAdd(startDate2, yearPeriod)}'
output endDate2P365D string = '${ThreeSixFivePeriod} after ${startDate2} is ${dateTimeAdd(startDate2, ThreeSixFivePeriod)}'
output endDate2P366D string = '${ThreeSixSixPeriod} after ${startDate2} is ${dateTimeAdd(startDate2, ThreeSixSixPeriod)}'

Additional context
Note: There is a remark in the docs about "leap year handling," though it deals with months. I don't agree with it (because the function has the context of the start date), but at least according to ISO 8601, I can understand why P1M really just adds 30 days (though it's not documented explicitly that 30 is chosen) .
However, the same ISO 8601 (reference here, page 6) defines a duration of a year as "12 months" and later goes on to say that years are sequentially numbered and are the approximate duration of a revolution around the sun. In no case should a period of one year therefore generally mean "365 days" (one could argue for 360 days (12 x 30)).

I just realize this is related to #8188, which caused the remark mentioned above to be added to begin with. However, the documentation still feels insufficient because the remark talks about months while my issue, #8188, and #11804 all ask about years.
At best the remarks are misleading because the statement "takes into account leap years and the number of days in a month" is incorrect (and unrelated to year math anyway).

PS: in #8188 it is stated that the behavior is because of the .NET Framework. That's incorrect though.
In Bicep:
P1Y after 2023-02-01 is 2024-02-01T00:00:00Z  # Correct, IMHO
P1Y after 2024-02-01 is 2025-01-31T00:00:00Z  # Incorrect, IMHO

In C# (via dotnetfiddle)
Console.WriteLine(DateTime.Parse("2023-02-01").AddYears(1)); // 2024-02-01
Console.WriteLine(DateTime.Parse("2024-02-01").AddYears(1)); // 2025-02-01
// Both are correct, IMHO

PS: in #8188 it is stated that the behavior is because of the .NET Framework. That's incorrect though.
In Bicep:
P1Y after 2023-02-01 is 2024-02-01T00:00:00Z  # Correct, IMHO
P1Y after 2024-02-01 is 2025-01-31T00:00:00Z  # Incorrect, IMHO

In C# (via dotnetfiddle)
Console.WriteLine(DateTime.Parse("2023-02-01").AddYears(1)); // 2024-02-01
Console.WriteLine(DateTime.Parse("2024-02-01").AddYears(1)); // 2025-02-01
// Both are correct, IMHO

The limitation in the .NET framework is that a System.TimeSpan struct is represented internally as a fixed number of "ticks" (spans of 100 nanoseconds) rather than separating out calendrical units from purely time-based components. The .NET standard library method of parsing an ISO8601 duration string will always return a System.TimeSpan struct, and the library designers decided that P1Y should be equivalent to P365D and that P1M should be the equivalent of P30D.
I don't think this behavior could be changed without breaking backwards compatibility. ARM could conceivably introduce new function expressions (e.g., dateTimeAddYears(<date string>, <whole number of years>) & dateTimeAddMonths(<date string>, <whole number of months>)) to handle the requested behavior, though.

PS: in #8188 it is stated that the behavior is because of the .NET Framework. That's incorrect though.
In Bicep:
P1Y after 2023-02-01 is 2024-02-01T00:00:00Z  # Correct, IMHO
P1Y after 2024-02-01 is 2025-01-31T00:00:00Z  # Incorrect, IMHO

In C# (via dotnetfiddle)
Console.WriteLine(DateTime.Parse("2023-02-01").AddYears(1)); // 2024-02-01
Console.WriteLine(DateTime.Parse("2024-02-01").AddYears(1)); // 2025-02-01
// Both are correct, IMHO

The limitation in the .NET framework is that a System.TimeSpan struct is represented internally as a fixed number of "ticks" (spans of 100 nanoseconds) rather than separating out calendrical units from purely time-based components. The .NET standard library method of parsing an ISO8601 duration string will always return a System.TimeSpan struct, and the library designers decided that P1Y should be equivalent to P365D and that P1M should be the equivalent of P30D.
I don't think this behavior could be changed without breaking backwards compatibility. ARM could conceivably introduce new function expressions (e.g., dateTimeAddYears(<date string>, <whole number of years>) & dateTimeAddMonths(<date string>, <whole number of months>)) to handle the requested behavior, though.

Are you saying that the transpiler calls the .NET TimeSpan functions and does not interpret the meaning of P1Y itself and converts it to .AddYears()?

@SvenAelterman The implementation uses System.Xml.XmlCovert.ToTimespan to parse the duration string. The string may contain a mix of years, months, weeks, days, hours, minutes, and seconds (e.g. P1Y2M3W4DT10H11M12S), which all gets flattened to a single TimeSpan struct.
A better parser could avoid lossy conversion by returning tuple of (int years, int months, TimeSpan everythingElse) (though that would not accurately handle leap seconds), but adopting one at this point would be a breaking change to existing behavior.

Yes, I understand the breaking change behavior is not desirable.
However, I think the documentation can be revised to state explicitly that it's NOT leap year aware and that P1Y is actually P365D and P1M is actually P30D.

+@mumian to add documentation with the comment above^

The articles have been updated.


POC Recursive tuxedo piece aggregation

These slacks and jacket came together from my tailor. And this tie, belt, and shoes were a gift from my wife. Tonight I'm wearing the tailor's suit with my wife's accessories and this shirt I got from the thrift shop.

One goal I've had in mind for Tuxedo, which is probably not mission critical but would facilitate a lot of composability and also be really elegant, is the ability to aggregate a Tuxedo ConstraintChecker out of constituent checkers that are themselves aggregated from their own constituents :turtle: :turtle: :turtle: ...
When designing the aggregation macro I've tried my best to make sure that this recursive aggregation is possible, even going to great lengths during #100 to preserve the property. However I have never actually tried it.
This issue is to create a POC crate that contains a Tuxedo runtime using a recursively aggregated constraint checker, and the write some basic functional tests showing that it works as expected (even with inherents :crossed_fingers:).
The crux of the problem will be something like this pseudocode
#[tuxedo_constraint_checker(Verifier)]
pub enum MoneyAndTime {
    /// Checks monetary transactions in a basic fungible cryptocurrency
    Money(money::MoneyConstraintChecker<0>),
    /// Set the block's timestamp via an inherent extrinsic.
    SetTimestamp(timestamp::SetTimestamp<Runtime>),
}

#[tuxedo_constraint_checker(Verifier)]
pub enum Biology {
    /// Checks Free Kitty transactions
    FreeKittyConstraintChecker(kitties::FreeKittyConstraintChecker),
    /// Checks that an amoeba can split into two new amoebas
    AmoebaMitosis(amoeba::AmoebaMitosis),
    /// Checks that a single amoeba is simply removed from the state
    AmoebaDeath(amoeba::AmoebaDeath),
    /// Checks that a single amoeba is simply created from the void... and it is good
    AmoebaCreation(amoeba::AmoebaCreation),
}

#[tuxedo_constraint_checker(Verifier)]
pub enum RecursivelyAggregatedRuntime {
    /// Business related transactions related to time and money
    MoneyAndTime(MoneyAndTime),
    /// Nature related transactions related to population regeneration
    Biology(Biology),

    // TODO Find a way to make business and nature coexist and interact holistically.
    // This comment is both a jab capitalism's handling of climate change and also a real programming task
    // For this to be really compelling, we need a way to expose configs for the intermediate checkers
    // and do things like use the business currency to pay for amoeba minting atomically.

    /// Upgrade the Wasm Runtime
    RuntimeUpgrade(runtime_upgrade::RuntimeUpgrade),
}

I encountered an natural place where recursive aggregation would make very good sense. It is the optional parachain feature in the template runtime. Most of the aggregation could be the inner step, then the outer step adds the parachain piece. I briefly tried that in https://github.com/Off-Narrative-Labs/Tuxedo/pull/130/commits/4f2d7a021684ce88955f5b59dce78acc6e7ed83a

@NadigerAmit Study this regarding metadata


Simplify model definitions

Take a look at this section of one namelist
models:
  - {model: CESM1-WACCM,    project: CMIP5, mip: Amon, exp: historical, ensemble: r1i1p1, start_year: 1997, end_year: 2005}
  - {model: CNRM-CM5,       project: CMIP5, mip: Amon, exp: historical, ensemble: r1i1p1, start_year: 1997, end_year: 2005}
  - {model: GFDL-CM3,       project: CMIP5, mip: Amon, exp: historical, ensemble: r1i1p1, start_year: 1997, end_year: 2005}
  - {model: GISS-E2-H,      project: CMIP5, mip: Amon, exp: historical, ensemble: r1i1p1, start_year: 1997, end_year: 2005}
  - {model: GISS-E2-R,      project: CMIP5, mip: Amon, exp: historical, ensemble: r1i1p2, start_year: 1997, end_year: 2005}
  - {model: MIROC-ESM-CHEM, project: CMIP5, mip: Amon, exp: historical, ensemble: r1i1p1, start_year: 1997, end_year: 2005}

There is lots of duplicated info between entries, making maintenance painful. I think we should look
for a way to simplify this syntax.
By the way, having so many similar entries make it difficult to spot the real differences between model configurations

After yesterday's discussion it looks like it's not a high priority issue, so we can remove the workshop label.

There are various ways to simplify the syntax, one option, discussed during the workshop, is to specify the common keys at variable level and only specify the ones that are different at model level. Note that keys specified at model level override those specified at variable level.
Another option, which can be combined with the first, is to make use of yaml anchors:
models:
  - &default {model: CESM1-WACCM, project: CMIP5, mip: Amon, exp: historical, ensemble: r1i1p1, start_year: 1997, end_year: 2005}
  - {<<: *default, model: CNRM-CM5}
  - {<<: *default, model: GFDL-CM3}
  - {<<: *default, model: GISS-E2-H}
  - {<<: *default, model: GISS-E2-R, ensemble: r1i1p2}
  - {<<: *default, model: MIROC-ESM-CHEM}

Another example, which shows a combination of the two techniques:
models:
  - {model: CESM1-WACCM}
  - {model: CNRM-CM5}
  - {model: GFDL-CM3}
  - {model: GISS-E2-H}
  - {model: GISS-E2-R, ensemble: r1i1p2}
  - {model: MIROC-ESM-CHEM}

diagnostics:
  diagnostic_1:
    variables:
      ta: &default
        start_year: 1997
        end_year: 2005
        ensemble: r1i1p1
        exp: historical
        field: T3M
        mip: Amon
        project: CMIP5
      pr:
        <<: *default
        field: T2Ms

Thanks for the suggestions.
It looks like no changes to the code are needed, so if @jvegasbsc is happy with the proposed solutions I guess this can be closed.

I'm really happy with that. We will need to document it, so users now that they can do this kind of things
I suppose we can define multiple anchors (thinking in one for CMIP5 and another for CMIP6 when we get there)

I've created an issue for adding some more complicated example recipes.

Hi Bouwe,
I tried to implement your suggestion, but unfortunately it doesn't work:

  fig09-42a:
    description: ECS vs. GMSAT.
    variables:
      tas: &default
        preprocessor: spatial_mean
        project: CMIP5
        ensemble: r1i1p1
        mip: Amon
        field: T2Ms
      rtmt:
        <<: *default
    additional_datasets:
      - {dataset: bcc-csm1-1,    exp: historical,  start_year: 1961, end_year: 1990}
      - {dataset: bcc-csm1-1,    exp: piControl,   start_year:  160, end_year:  309}
      - {dataset: bcc-csm1-1,    exp: abrupt4xCO2, start_year:  160, end_year:  309}
      - {dataset: bcc-csm1-1-m,  exp: historical,  start_year: 1961, end_year: 1990}
      - {dataset: bcc-csm1-1-m,  exp: piControl,   start_year:  240, end_year:  389}
      - {dataset: bcc-csm1-1-m,  exp: abrupt4xCO2, start_year:  240, end_year:  389}

ESMValTool complains about the missing project key in the dataset list. However, if I set project: str(required=False) in recipe_schema.yml, it seems to run. Does this break anything?

project is an important key, since it determines the file and path names of the datasets.
If it is not specified, I guess it uses the default and it might work in some cases (depending on your settings in config-user.yml). But it probably does not work if you have datasets from different projects in your recipe.

It should work just fine if you specify the project in the variable section instead of the model section. The schema is just there to warn you if you make a mistake in the recipe. I think it is indeed too strict to require that project is set in a model section. I'll update the schema and make PR.

This should close again the issue.


Add bedrock & update openai

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
0

Relevant Lines:
0

💛  - Coveralls


Remove rimraf and launch config

remove rimraf to avoid breaking links
https://github.com/Microsoft/TypeScript/issues/16057#issuecomment-344262121

remove broken launch config

Pull Request Test Coverage Report for Build 280

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

Totals

Change from base Build 278:
0.0%

Covered Lines:
402

Relevant Lines:
571

💛  - Coveralls

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

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


images not given their own line on the intellij page

See https://flutter.io/intellij-ide/

This page now seems to be called using-ide. At any rate, this is no longer true. Closing.


Update Yosys/Verilator docs and add fix ADC instruction

Started comparing the simulation between dmgcpu and my Game Boy emulator. I am generating traces from my emulator, in this branch, and comparing them side by side with the Verilator simulation to see when they mismatch. It needs a little manual intervention to sync the two simulations, because the program tries to sync with v-blank using LY and on dmgcpu LY is always 0, but after that section of code, I can align them very well.
I noticed the first mismatch happens when executing the ADC instruction (add with carry). I created a test ROM, and I see that it is always adding 1, even if the carry bit is not set. Looking at the Verilog code and the topological map of the LargeComp1, I guessed we need to "and" (`s3_alu_add_adc&IR[3]) with bc[1].
But it is just a guess. I don't know how to read the topological map. Please confirm if that is the proper fix.

Hi, I'll check it out right away. I was just thinking of something interesting to do :)

Yeah, missed bc1 in the second term :( Thanks a lot for the find!


Be explicit about lack of IE11 support (or add support?)

Everything apart from the list of incidents is unavailable when a status page is loaded on Internet Explorer 11.
Looking at the console errors, the use of promises seems to be causing the problem.
Ideally, there should be some kind of progressive enhancement to provide  a degraded, but still functional experience for IE users, but failing that, should we be clearer in the docs that IE11 and similar is not supported?
This would be super-useful for enterprise products with a lot of stakeholders who are tied to IE.

Thank you for letting me know. I've just visited the status page via IE11 and noticed it's worse than I think... I'm going to see if I can improve this.

OK, transformation settings using babel were set up correctly, but it turns out polyfill settings are also necessary to support IE11. Fortunately, the polyfill size is not too large (<40KB, not-gzipped case). This commit fixes this issue. I will release the new version within a few days.
However, I noticed the material design icons are not loaded in my IE11 environment. Here is the screenshot:

I took some time to fix this issue, but sadly can't find the workaround.
Please let me know if there are any other issues about IE11.

I've released v0.6.3 which I believe the IE11 is supported. Please update your CloudFormation stack or visit the demo page to see if it works.


Unable to access superuser privilege (Heroku)

I have installed code-server on Heroku. I want the superuser privileges but when I type sudo the following is the output.
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Can you provide some help?

Thats heroku restrictions
Use railway


Add a suite of tests for WebAssembly compilation.

(there was some discussion about how to add this test coverage on Discord here)
This adds a new test suite to iree/test/e2e/xla_ops that uses IREE's WebAssembly target via -iree-hal-target-backends=dylib-llvm-aot -iree-llvm-target-triple=wasm32-unknown-emscripten (I'd use llvm as the target name, but our infra is hardcoded to the dylib name).
Since we don't have a native WebAssembly HAL driver yet and the browser WebAssembly use is still experimental (and in no way integrated into our common build/test infra), these new "tests" are just iree_bytecode_module targets that run at build time. The new tests don't actually use the check framework for "e2e" execution testing. Reusing the existing infra in this hacky way seems easiest to maintain and gives us a nice transition to enabling execution testing once a native Wasm HAL driver is added.
I'd like to add similar coverage for other in-development compiler configurations (WebGPU) and expand to include more test suites (test/e2e/tosa_ops/, google/iree-samples /tflitehub, etc.).

This seems like one of the less-terrible options available to us. Please just add a bit more documentation as to what's going on, so future people aren't super confused.
Unrelated: I think having <sub> tags in the PR description -> becomes the commit description usually is kind of weird. A reference to where this was discussed doesn't seem like an aside. It's a pretty relevant part of the commit description (though I'd maybe put it at the bottom).

Thanks. I added docs to a few places.
RE: linking to other discussions, I can drop the <sub> tags and move to the end, sure. I do like to connect issues/PRs/commits to discussions on other platforms, though Discord's private visibility (needing to join a server to view messages) makes things awkward.


[Bug]: ODSButton with low emphasis has incorrect background color with Orange Theme

Prerequisites

[X] I have searched the backlog for duplicate or closed feature requests

Your test device
iPhone
OS Version
iOS 17.2.1
App version
0.15.0
Describe the issue
Using the Orange theme, the background color of a ODSButton with .low emphasis has a background color.
I have added the button as a child of a container with yellow background to make the button background visible.
Light mode:

Dark mode:

Expected Behavior
According to the design system (https://system.design.orange.com/0c1af118d/p/278734-buttons-shape/b/536b5f) the background color is transparent for a button with .low emphasis.

After discussion in design meeting: by @B3nz01d  @mccart77
The background must be transparent

Action : Dev update code @ludovic35  @pylapp
Action : Design @mccart77  update figma

@ludovic35  this cannot be tested in the app right?

@yunusun could you confirm this update works for you?

@ludovic35 this cannot be tested in the app right?

There is no configuration in app to put the button on a yellow view, so not possible to test with the actual version of the app

Thanks for the fix !


Allow positional argument for directives ( {{directive: posarg\n ).

Thoughts?
I'm not sure this is needed yet, the reason we were discussing was passing a sandbox module to repl.
Edit: pushed an update (to improve the regex).

I think local_doc needs to be redefined (before it was taking a func/module)
ERROR: LoadError: LoadError: MethodError: `local_doc` has no method matching local_doc(::Base.Docs.Binding)

Is my understanding correct that this would be in the scope of the build.jl file? i.e. these should be exported from Lexicon (or Docile should be exported and then referenced as Docile.Docs.local_docs ) ??

Is my understanding correct that this would be in the scope of the build.jl file?

Yes. local_docs doesn't need to be exported, just fully qualified I think.

before it was taking a func/module

Just needs a few more definitions to properly handle everything that can be stored in __META__. Binding is quite cool, btw, since it tracks the name of typealiases rather than what they refer to which will help with that other issue a couple of days ago.

Sweet. Yes the Binding looks cool not looked into them yet. Does this solve the "having to pass around Pkg" to check whether they are locally defined?
Feel free to take any aspects of the PR which are useful. :) Specifically the regex changes I think stand alone. It's just the last two lines which don't work!

With all the work on Documenter I'll close this as stale.


How can i make the Fake BPM Counter(Like hortas edition)?

Describe your problem here. If you are modding, please try testing your problem in a clean version of the engine instead, this ensures the problem is actually caused by the engine itself. Also, if you're using an older version of JSE, please try the latest action build in the Actions tab or the latest release build. The issue has probably been fixed since that version. Oh yeah, and also be sure to check the pinned 'JS Engine: Known Issues' issue, to double check if your issue hasn't already been found!
in the agony there is the Fake BPM Counter!How can i make this as event,or script(Without curBpm!With fake value)?
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

can you show an example? cuz idk what you mean

sorry if late,cuz i am sick
The example:https://youtu.be/k7vIizpzP00?si=oxNevI6nOiQKzZi2

?

second example:https://youtu.be/HzGRRUFRDjs?si=9wSFSJsIlgUO4fUR (I mean the text with BPM that not affecting to real BPM(curBpm))

answer?

I ALREADY SHOWED THE EXAMPLES

@moxie-coder you can replie to this videos showing the bpm text mechanic(when the bpm is 1000 or more in the Current BPM text,the icon is bopping by normal bpm(by default BPM.Example:BESTOW BPM is 270 but on SP_Valisia the BPM text is showing 17280,but the icon is bopping like 270 BPM)(sorry for bad english)

@moxie-coder you can replie to this videos showing the bpm text mechanic(when the bpm is 1000 or more in the Current BPM text,the icon is bopping by normal bpm(by default BPM.Example:BESTOW BPM is 270 but on SP_Valisia the BPM text is showing 17280,but the icon is bopping like 270 BPM)(sorry for bad english)

well excuse me for having a life, but can you have some patience you annoying ass D&B fan kid? I swear y'all are annoying little shits, all you have to do is just make a script file in Lua, and then just use the curBpm value for the initial value, then change the bpm without changing that text to the current bpm, or change it but not the bpm
here I got GPT to do it since I'm lazy & you're being impatient like jeez:
function onCreatePost()
    -- Get the song's BPM
    local songBPM = getProperty('SONG.bpm') -- This retrieves the BPM from the current song

    -- Create the text to display BPM
    makeLuaText('bpmText', 'BPM: ' .. songBPM, 0, 0, 0)
    setTextSize('bpmText', 32) -- Set the font size
    setTextAlignment('bpmText', 'center') -- Align the text to the center

    -- Position the text in the center of the screen
    local screenWidth = getPropertyFromClass('flixel.FlxG', 'width')
    local screenHeight = getPropertyFromClass('flixel.FlxG', 'height')
    setProperty('bpmText.x', (screenWidth / 2) - (getProperty('bpmText.width') / 2))
    setProperty('bpmText.y', (screenHeight / 2) - (getProperty('bpmText.height') / 2))

    -- Add the text to the screen
    addLuaText('bpmText')
end

Thanks!By this comment

https://gamebanana.com/tools/11169 use this as event,this issue is fixed!

alright


Fix document for #70024

Fixes llvm-project swift main branch name
swift/main branch in llvm-project has been renamed to archived/swift/main, So I changed the documents.
#70024

@swift-ci Please smoke test


contrib/makefile: No session factory registered for the given session options

Environment info
Operating System: Arch Linux 64-bit
GCC: 6.1.1
no CUDA or cuDNN used
Tensorflow installed from Git repo sources. I tried v0.9.0 and current master (c129591).
Steps to reproduce
1. Build contrib/makefile (download_dependencies.sh + make)
2. Link produced tensorflow-core to a C++ project
3. Try to create a new TensorFlow session:
Session* session;
Status status = NewSession(SessionOptions(), &session);

4. Compile succeeds, but running the code gives:
E tensorflow/core/common_runtime/session.cc:69] Not found: No session factory registered for the given session options: {target: "" config: } Registered factories are {}.

tensorflow/contrib/makefile/gen/bin/benchmark seems to be working.

This may be related to #3309 since also that occurs sometimes for me.

The same issue also occurs with the C API and the following code:
TF_Session* session = TF_NewStatus();
TF_SessionOptions* options = TF_NewSessionOptions();
session = TF_NewSession(options, status);

This works perfectly (both C++ and C API) if I build libtensorflow.so with bazel (instead of using contrib/makefile) and then link to bazel-bin/tensorflow/libtensorflow.so.

This reproduces also on Ubuntu 16.04.

This also happens on Raspberry Pi (Raspbian Jessie), but #3309 didn't occur there.

Reproduced on Mac OS X (10.11) with current master
Only when using contrib/makefile

Could you provide the details when you get the errors on Ubuntu 16?

This occurs exactly the same on Ubuntu 16.04 64-bit with GCC 5.3.1. With exactly the same commands and code it will give this error in runtime:
E tensorflow/core/common_runtime/session.cc:69] Not found: No session factory registered for the given session options: {target: "" config: } Registered factories are {}.

@martinwicke Could you take a look at this please?

This is usually a sign that the global constructors that TensorFlow uses to register things like session factories and kernels have been stripped out. The short answer is that you should make sure you build with the right linker options to stop them being stripped. On Linux you will add -Wl,--allow-multiple-definition -Wl,--whole-archive, and on OS X -all_load. The benchmark binary works because it does this, and it should pick the right combination for your platform.
The longer explanation is that TensorFlow uses a C++ pattern like this for registering classes (all in pseudo-code):
--- register.h ---
...
template Register {
public:
Register(string name) {
g_registry[name] = T::Factory();
}
};
...

--- some_class.cc ---
...
Register g_some_register_object("SomeObject");

The idea is that the g_some_register_object global will be created when the library is loaded, which will call the constructor, which adds the factory function to the list of registered classes. That allows subsequent code to ask for a "SomeClass" by name from the registry, and get back an object created by the factory function.
The advantage of this approach is that the registration of objects is distributed, so you only have to register a class in the file that it's implemented rather than editing a global list of factories somewhere else. When it works, it's pretty magical.
Unfortunately many linkers see the g_some_register_object global, notice that no other code ever reads or writes it, and so it can be removed without affecting the program at all. What they don't realize is that its constructor has an important side-effect, registering the factory function.
This is a common problem, so most linkers have some way of turning off this stripping optimization, but it's usually a pretty indiscriminate switch and so may cause your binary size to be larger than it needs to be.
Does that help?

Thanks. Adding -Wl,--allow-multiple-definition -Wl,--whole-archive did fix the "No session factory registered" issue, but now I get another one:
Failed to evaluate TensorFlow: Invalid argument: No OpKernel was registered to support Op 'Inv' with these attrs
[[Node: dropout/Inv = Inv[T=DT_FLOAT](keep_prob)]]

Note that the exact same code is working with bazel, but fails with contrib/makefile.
I think this might still be related to this issue since the new error mentions No OpKernel was registered.
In addition, while -Wl,--whole-archive fixes the first error, it is suboptimal. I have several small binaries that are all using libtensorflow. This linker flag increases the binary size for each of them by around 180 MB. It is huge compared to the minimal size I get without the flag.

No OpKernel was registered to support Op 'Inv'

This is actually a different error. If you look at tensorflow/contrib/makefile/tf_op_files.txt you'll see a list of the kernel files that are included by default, which doesn't include the tensorflow/core/kernels/cwise_op_inverse.cc which defines the Inv kernel.
This is actually by design, since we have picked a minimal subset of kernels that we expect to be used for inference, skipping those that are likely to only be used for training, since inference is the focus of our mobile build. That's not always an easy thing to estimate however, and here we've missed one that you need.
The short-term answer is that you can make local changes to tf_op_files.txt to add cwise_op_inverse.cc to fix your immediate problem (and do something similar with any other kernels you're missing). The better solution is to document what ops are supported more effectively, and offer an option to have a full set of ops too, instead of the current subset.

This linker flag increases the binary size for each of them by around 180 MB. It is huge compared to the minimal size I get without the flag.

Is this still true if you supply -Os to the whole build process? We tend to see a smaller increase outside of debug builds. You're right though, as I mention above this is a pretty indiscriminate switch and it would be good to figure out a nicer solution.

Is this still true if you supply -Os to the whole build process? We tend to see a smaller increase outside of debug builds.

Seems that -Os does decrease the binary size to 112 MB, but it's still like 100 times larger than it could be.

Thanks for the help. I needed to include all these:
tensorflow/core/kernels/cwise_op_floor.cc
tensorflow/core/kernels/cwise_op_inverse.cc
tensorflow/core/kernels/random_op.cc

Compiling and running my programs work now. You might want to add documentation and research if there are better solutions than requiring --whole-archive.

Thanks for the update. Since this seems resolved, closing this issue.

I'm having the same issue. Compiling on Ubuntu 16.04 using bazel 0.4.0 and the master branch as of today. I tried the linker options mentioned above (-Wl,--allow-multiple-definition -Wl,--whole-archive) but that didn't help. Still getting the same error message: No session factory registered for the given session options.
My BUILD file is:
cc_binary(
    name = "label_image",
    srcs = [
        "main.cc",
    ],
    copts= ["-Iexternal/org_tensorflow"],
    linkopts = ["-lm", "-Wl,--allow-multiple-definition", "-Wl,--whole-archive"],
    deps = [
        "@org_tensorflow//tensorflow/cc:cc_ops",
    ],
)

Having the same issue on iOS. Neither -all_load nor a -force_load path/to/libtensorflow-core.a does help.

@waleedka
I have the same issue. Compiling on Ubuntu 16.04 using bazel 0.5.4. And I tried linker options but didn't work neither.

I am able to use the static c++ tensorflow library in a standalone C++ program but not able to use the static library in a qmake project to use that standalone program in other files! I am encountering the error  No session factory registered for the given session options on running the successfully compiled program using qmake. I am using the linker options for  -Wl,--allow-multiple-definition, -Wl,--whole-archive but to no effect. Also, if it helps, I am able to use the static library in a standalone program without using these linker options.

@corwinliu @waleedka Chances are you guys needed //tensorflow/core:direct_session on the deps list. But if you're building C++ programs with Bazel, it actually gets a little bit more complicated than that. Here's an example PNG -> JPG converter program built by Bazel to explain: https://gist.github.com/jart/c8b84a17ffa9e8e5dfa30342b8feca7a It's statically linked and ends up being about 22MB with no dependencies (11MB stripped.) Although we can make that much lower in the future, once we do some code cleanup on the alwayslink=1 targets.

@jart Thanks a lot. I found that the tensorflow serving project(https://github.com/tensorflow/serving) is a good example to learn how to build C++ program including the tensorflow headers.

Use ldd on your binary to figure out if the lib dependencies are being added.
This changes based on the linux flavor you are using, but some versions of ld, will not link a library unless its is used.
In the tf case, tensorflow_cc was not being linked to my binary, even though I specified -l tensorflow_cc.
The solution was to add -Wl,--no-as-needed flag to gcc. GCC processes flags left to right, so specify this flag before you add -ltensorflow*

How to solve this error in visual studio 2015 ?

@scm-ns  @theSparta   how to solve this error while linking tensorflow 1.8.0 cmake build to visual studio ?? I am having trouble solving this error :(

i am using windows 10 :( not linux

@petewarden
I have the same issue, even! when i link c++ library, extracted from pip package.
Using of flags -Wl,--allow-multiple-definition -Wl,--whole-archive didn't helped me, but i got another error:
usr/lib/gcc/x86_64-linux-gnu/6/libgcc.a(_muldi3.o): In function __multi3': (.text+0x0): multiple definition of __multi3'
/usr/lib/gcc/x86_64-linux-gnu/6/libgcc.a(_muldi3.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-linux-gnu/6/libgcc.a(_negdi2.o): In function __negti2': (.text+0x0): multiple definition of __negti2'
After thay i Added a flag: -Wl,--no-as-needed i got again:
2019-09-03 20:44:19.587872: E tensorflow/core/common_runtime/session.cc:81] Not found: No session factory registered for the given session options: {target: "" config: } Registered factories are {}.
Also i can't compile this string
std::cerr << "tf error: " << status.ToString() << "\n";
without:
std::cerr << "tf error: " << status.ToString() << "\n";
What's static library can i link to my project to avoid this issue and don't depend on linking flags ?

How to solve this error in visual studio 2015 ?

I also want to how to solve it in vs2015

This is usually a sign that the global constructors that TensorFlow uses to register things like session factories and kernels have been stripped out. The short answer is that you should make sure you build with the right linker options to stop them being stripped. On Linux you will add -Wl,--allow-multiple-definition -Wl,--whole-archive, and on OS X -all_load. The benchmark binary works because it does this, and it should pick the right combination for your platform.
The longer explanation is that TensorFlow uses a C++ pattern like this for registering classes (all in pseudo-code):
--- register.h ---
...
template<T> Register<T> {
 public:
    Register<T>(string name) {
      g_registry[name] = T::Factory();
    }
};
...
---                   ---

--- some_class.cc ---
...
Register<SomeObject> g_some_register_object("SomeObject");
---                         ---

The idea is that the g_some_register_object global will be created when the library is loaded, which will call the constructor, which adds the factory function to the list of registered classes. That allows subsequent code to ask for a "SomeClass" by name from the registry, and get back an object created by the factory function.
The advantage of this approach is that the registration of objects is distributed, so you only have to register a class in the file that it's implemented rather than editing a global list of factories somewhere else. When it works, it's pretty magical.
Unfortunately many linkers see the g_some_register_object global, notice that no other code ever reads or writes it, and so it can be removed without affecting the program at all. What they don't realize is that its constructor has an important side-effect, registering the factory function.
This is a common problem, so most linkers have some way of turning off this stripping optimization, but it's usually a pretty indiscriminate switch and so may cause your binary size to be larger than it needs to be.
Does that help?

Add those link flags when compiling tensorflow_cc.so?


fixes failing specs

Fixes #
failing specs
This pull introduces/changes:

several expectations have been made tolerant to rails 5.1
couple of specs have been made tolerant to neo4j 3.1 slightly different error message

Pings:
@cheerfulstoic
@subvertallchris

Codecov Report

Merging #1394 into master will increase coverage by 0.09%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master   #1394      +/-   ##
=========================================
+ Coverage    96.8%   96.9%   +0.09%
=========================================
  Files         205     205
  Lines       12249   12245       -4
=========================================
+ Hits        11858   11866       +8
+ Misses        391     379      -12

Impacted Files
Coverage Δ

spec/e2e/active_rel/unpersisted_spec.rb
100% <100%> (ø)
:arrow_up:

...c/e2e/active_rel/persistence/query_factory_spec.rb
98.5% <100%> (+0.02%)
:arrow_up:

lib/neo4j/active_rel/persistence.rb
95.38% <100%> (ø)
:arrow_up:

spec/e2e/generators_spec.rb
100% <100%> (ø)
:arrow_up:

spec/e2e/id_property_spec.rb
99.71% <100%> (ø)
:arrow_up:

lib/neo4j/tasks/migration.rake
32.14% <0%> (+0.83%)
:arrow_up:

spec/e2e/active_rel_spec.rb
98.6% <0%> (+1.39%)
:arrow_up:

lib/neo4j/active_node/id_property.rb
97.61% <0%> (+4.43%)
:arrow_up:

Continue to review full report at Codecov.

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

This is awesome, thanks!

(Merged to 8.1.x, BTW so that those builds can pass as well)


Namespace Collision

BrownieEnvironmentWarning: Namespace collision between contract function and brownie Contract class member: 'Distributor.info'
The info function will not be available when interacting with Distributor
warnings.warn(
The Distributor contract address is 0x70e0bA845a1A0F2DA3359C97E0285013525FFC49.
I can't figure out why this is happening....

With the last commit it is fixed @CincyGhost


New version: GnuCash.GnuCash version 5.3

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.4 schema?

Resolves #111504

Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/111510&drop=dogfoodAlpha

/azp run


[Beginner question] Is marker necessary?

Hi, I'd like to use AR.js to show something funny when the camera on a book which without any marker. But I don't know that is the marker necessary?

@geekplux Would you be able to provide a screen shot of what you are seeing and what you are proposing?

@geekplux may be you can but you have to code that book cover as the marker(which is difficult and complex maybe).As AR needs some physical space to show up.
In this project Jeromee has used a simple marker so that it becomes easy to understand.

@sorianog @vishnu1991 thanks. I'll have a try and tell you result if it success. :)


tiglFuselageGetSegmentVolume and tiglWingGetSegmentVolume issues

The function "tiglFuselageGetSegmentVolume" always gives 0 when used with Python but seems to work fine when used in the TIGLViewer Console.
The function "tiglWingGetSegmentVolume" always gives 0 when used with Python and does not work in the TIGLViewer Console.
From the TIGLViewer Console:
'>> tigl.fuselageGetSegmentVolume(1,1)
0.006545413299085729
'>> tigl.wingGetSegmentVolume(1,1)
TypeError: Result of expression 'tigl.wingGetSegmentVolume' [undefined] is not a function.

Thanks for the report. The hint with TiGL Viewer is very helpful. In fact, the volume was only computed, when a segment shape was computed once. This was the case, when TiGL Viewer open and displayed the aircraft.
I am fixing the issue right now.


Add check for default/package extension

For server-only projects, there is no need to add references to System.ServiceModel packages. I added a check in the PackageUpdaterStep and now it will only add those packages when the project contains client side (containing ChannelFactory or ClientBase).

Currently the integration tests are not passing because this PR will change the output of steps. I will look into those tests and update the expected results tomorrow.


pyskyqhub tries to install 'tests' package at top level

Hi Roger,
hope you don't mind that I use your component in Home Assistant Gentoo Overlay.
Component: https://github.com/onkelbeh/HomeAssistantRepository/tree/master/dev-python/pyskyqhub
During some compile tests I saw that pyskyqhub tries to install 'tests' package at top level, this is fobidden in Gentoo (and most other Distri's). This could easily be fixed with a small change to setup.py:
For now, I added a small sed script to my ebuilds:
src_prepare() {
    sed -i "s/packages=find_namespace_packages()/packages=find_namespace_packages(exclude=['tests','tests.*'])/g" -i setup.py || die
    eapply_user
}

Here's my buildlog:
* Package:    dev-python/pyskyqhub-0.1.1
 * Repository: HomeAssistantRepository
 * Maintainer<EMAIL_ADDRESS> * Upstream<EMAIL_ADDRESS> * USE:        abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_7 test userland_GNU
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking pyskyqhub-0.1.1.tar.gz to /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work
>>> Source unpacked in /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work
>>> Preparing source in /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1 ...
 * python3_7: running distutils-r1_run_phase distutils-r1_python_compile
python3.7 setup.py build -j 10
running build
running build_py
/usr/lib/python3.7/site-packages/setuptools/dist.py:454: UserWarning: Normalizing '0.1.01' to '0.1.1'
  warnings.warn(tmpl.format(**locals()))
package init file 'tests/__init__.py' not found (or not a regular file)
creating /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/tests
copying tests/bash_skyhub_test.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/tests
creating /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/pyskyqhub
copying pyskyqhub/version.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/pyskyqhub
copying pyskyqhub/skyq_hub.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/pyskyqhub
copying pyskyqhub/const.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/pyskyqhub
copying pyskyqhub/__init__.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/pyskyqhub
package init file 'manage/__init__.py' not found (or not a regular file)
creating /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/manage
copying manage/generate_releasenotes.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/manage
running egg_info
writing pyskyqhub.egg-info/PKG-INFO
writing dependency_links to pyskyqhub.egg-info/dependency_links.txt
writing requirements to pyskyqhub.egg-info/requires.txt
writing top-level names to pyskyqhub.egg-info/top_level.txt
reading manifest file 'pyskyqhub.egg-info/SOURCES.txt'
writing manifest file 'pyskyqhub.egg-info/SOURCES.txt'
warning: build_py: byte-compiling is disabled, skipping.

>>> Source compiled.
>>> Test phase [not enabled]: dev-python/pyskyqhub-0.1.1

>>> Install dev-python/pyskyqhub-0.1.1 into /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image
 * python3_7: running distutils-r1_run_phase distutils-r1_python_install
python3.7 setup.py install --skip-build --root=/var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7
running install
running install_lib
creating /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7
creating /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr
creating /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib
creating /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7
creating /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages
creating /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/manage
copying /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/manage/generate_releasenotes.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/manage
creating /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/pyskyqhub
copying /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/pyskyqhub/__init__.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/pyskyqhub
copying /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/pyskyqhub/const.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/pyskyqhub
copying /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/pyskyqhub/skyq_hub.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/pyskyqhub
copying /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/pyskyqhub/version.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/pyskyqhub
creating /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/tests
copying /var/tmp/portage/dev-python/pyskyqhub-0.1.1/work/pyskyqhub-0.1.1-python3_7/lib/tests/bash_skyhub_test.py -> /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/tests
byte-compiling /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/manage/generate_releasenotes.py to generate_releasenotes.cpython-37.pyc
byte-compiling /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/pyskyqhub/__init__.py to __init__.cpython-37.pyc
byte-compiling /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/pyskyqhub/const.py to const.cpython-37.pyc
byte-compiling /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/pyskyqhub/skyq_hub.py to skyq_hub.cpython-37.pyc
byte-compiling /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/pyskyqhub/version.py to version.cpython-37.pyc
byte-compiling /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/tests/bash_skyhub_test.py to bash_skyhub_test.cpython-37.pyc
writing byte-compilation script '/var/tmp/portage/dev-python/pyskyqhub-0.1.1/temp/tmpa7qo_kp7.py'
/usr/bin/python3.7 /var/tmp/portage/dev-python/pyskyqhub-0.1.1/temp/tmpa7qo_kp7.py
removing /var/tmp/portage/dev-python/pyskyqhub-0.1.1/temp/tmpa7qo_kp7.py
writing byte-compilation script '/var/tmp/portage/dev-python/pyskyqhub-0.1.1/temp/tmpzachu2r3.py'
/usr/bin/python3.7 /var/tmp/portage/dev-python/pyskyqhub-0.1.1/temp/tmpzachu2r3.py
removing /var/tmp/portage/dev-python/pyskyqhub-0.1.1/temp/tmpzachu2r3.py
running install_egg_info
running egg_info
writing pyskyqhub.egg-info/PKG-INFO
writing dependency_links to pyskyqhub.egg-info/dependency_links.txt
writing requirements to pyskyqhub.egg-info/requires.txt
writing top-level names to pyskyqhub.egg-info/top_level.txt
/usr/lib/python3.7/site-packages/setuptools/dist.py:454: UserWarning: Normalizing '0.1.01' to '0.1.1'
  warnings.warn(tmpl.format(**locals()))
package init file 'tests/__init__.py' not found (or not a regular file)
package init file 'manage/__init__.py' not found (or not a regular file)
reading manifest file 'pyskyqhub.egg-info/SOURCES.txt'
writing manifest file 'pyskyqhub.egg-info/SOURCES.txt'
Copying pyskyqhub.egg-info to /var/tmp/portage/dev-python/pyskyqhub-0.1.1/image/_python3.7/usr/lib/python3.7/site-packages/pyskyqhub-0.1.1-py3.7.egg-info
running install_scripts
 * ERROR: dev-python/pyskyqhub-0.1.1::HomeAssistantRepository failed (install phase):
 *   Package installs 'tests' package which is forbidden and likely a bug in the build system.
 *

Thanks for pointing this out. So I learn, is there a recommended place to put tests? Or should I just do the exclude like you have in you PR?

It has just occurred to me that I didn't realise tests were in my pupils package, so I'll sort that out.

Thank's, I'll check with the next release that goes ito Home Assistant's requirements.txt.

Thanks, works again without the patch with pyskyqhub-0.1.3


Build with Podman fail by verification of certificate 509

Error: creating build container: copying system image from manifest list: parsing image configuration: Get "https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/b8/b8b5be42735217ab8abcf55ea37387e6962c047d3aa195a973b71d3ca45bd438/data?verify=1727110801-JxVpSTucOa%2FSkr3u%2F8W4OgBVuXY%3D": tls: failed to verify certificate: x509: certificate signed by unknown authority
I am in mac os x Sonoma 14.6.1, podman desktop  v.5.2.2

I @joedayz I'm not very familiar with podman. Did you execute the below command line?
./mvnw clean install -PbuildDocker -Dcontainer.executable=podman

Could you please give us the command line and the full logs?
@zubcevic does this x509 certificate issue speak to you?

this is probably due to a not up to date podman machine so the vm that runs the linux environment. If the certificate authorities of the cloudflare registries are not in the trust stores you would get such an error. Perhaps best to do a machine remove and then a machine add so the latest is downloaded. Otherwise such errors occur in corporate environments where a bogus company signing authority is missing. You could also change the containers.conf and define all these repositories as insecure

@joedayz  it looks like your issue didn't come from podman but the version of the JDK you are using.
I suspect you build the project with Java 8 but you should use Java 17 or 21:
java.lang.UnsupportedClassVersionError: pl/project13/maven/git/GitCommitIdMojo has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

@arey  I tried with java 21 from Oracle and the result is the following:
[INFO] --- exec:3.1.1:exec (docker-build) @ spring-petclinic-admin-server ---
[1/2] STEP 1/5: FROM eclipse-temurin:17 AS builder
Resolving "eclipse-temurin" using unqualified-search registries (/etc/containers/registries.conf.d/999-podman-machine.conf)
Trying to pull docker.io/library/eclipse-temurin:17...
Error: creating build container: initializing source docker://eclipse-temurin:17: reading manifest 17 in docker.io/library/eclipse-temurin: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 125 (Exit value: 125)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:881)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:841)
at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:447)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:903)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:280)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:203)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:255)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:201)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:361)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:314)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.apache.maven.wrapper.BootstrapMainStarter.start (BootstrapMainStarter.java:52)
at org.apache.maven.wrapper.WrapperExecutor.execute (WrapperExecutor.java:161)
at org.apache.maven.wrapper.MavenWrapperMain.main (MavenWrapperMain.java:73)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for spring-petclinic-microservices 3.2.7:
[INFO]
[INFO] spring-petclinic-microservices ..................... SUCCESS [  0.236 s]
[INFO] spring-petclinic-admin-server ...................... FAILURE [02:53 min]
[INFO] spring-petclinic-customers-service ................. SKIPPED
[INFO] spring-petclinic-vets-service ...................... SKIPPED
[INFO] spring-petclinic-visits-service .................... SKIPPED
[INFO] spring-petclinic-config-server ..................... SKIPPED
[INFO] spring-petclinic-discovery-server .................. SKIPPED
[INFO] spring-petclinic-api-gateway ....................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:53 min
[INFO] Finished at: 2024-09-27T12:39:19-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.1.1:exec (docker-build) on project spring-petclinic-admin-server: Command execution failed.: Process exited with an error: 125 (Exit value: 125) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn  -rf :spring-petclinic-admin-server

That's right and the problem was solved!

Nice José


int_fast32_t instead of of int

During compiling under Ubuntu 22.04 64bit I get the following hint:
[ 89%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/spiapp.cpp.o
/home/andreas/apps/AbracaDABra/gui/spiapp.cpp: In member function ‘uint32_t SPIApp::parseTag(const uint8_t*, uint8_t, int)’:
/home/andreas/apps/AbracaDABra/gui/spiapp.cpp:292:33: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘int_fast32_t’ {aka ‘long int’} [-Wformat=]
  292 |     qDebug("Tag = %2.2X, len = %d", tag, len);
      |                                ~^        ~~~
      |                                 |        |
      |                                 int      int_fast32_t {aka long int}
      |                                %ld
[ 92%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/slsview.cpp.o

All other files are ok.
If I set the line to
int len = *(dataPtr+1);

it compiles without message, but I don't know if this ok for your.
This is the diff:
abra.diff.txt

Yes, I know, I was thinking to remove the code completely because it is non-functional mess, I was trying to understand, how SPI works and did not remove it from the project before creating Github project. I will fix it.

Fixed in https://github.com/KejPi/AbracaDABra/commit/a52ab7eef1c4f23d4b3143087748472f3652d707

Thanks :-)


Annoying Github login request

Loved the tool. Have to uninstall it unfortunately.
If I don't allow github access, then this bugger 1 is there permanently.

And this makes no sense, especially in corporate sector, where you try to restrict as much as possible. I simply don't need it to access github at all, not even read-only.

Thanks for your efforts, though.

Yeah, I really wish the user experience of this was better in VS Code (I've opened this issue: https://github.com/microsoft/vscode/issues/118668). Until that gets resolved, you can completely disable GitLens rich integrations by setting the "gitlens.integrations.enabled": false, that will avoid this completely.

VS Code just added a way for extensions to avoid that badge! 🎉 So GitLens will no longer annoy you all with that badge -- sorry it took so long.

Can you please verify this fix in tomorrow's GitLens insiders edition?
You can install the GitLens insiders edition from here.
Please be sure to disable or uninstall the stable version of GitLens first.


Add the rest and graphql client

start the ts project
add semaphore
add utils and tests
add types for config etc
add the client class + tests

This change is

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Swap header sizes on static content. Fixes #4084.

Changes

Swap header sizes on static content. Fixes #4084.

For review: @DoSomething/front-end

Looks good. :+1:
No header classes though?

Nah, no need here. Unless you think they're all
s semantically? I'm not sure.

They're all the first headings in
s right? If so no worries then :)

Aye! Cool, that's what I thought but I never know for sure. :grimacing:

HTML5!

:goberserk:


fix typo in dnode dependency

On master, I was unable to use this dependency in another project, and was getting this error when running yarn install in the repo:
➜  esprint git:(master) yarn
yarn install v1.19.2
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
[3/5] 🚚  Fetching packages...
error Command failed.
Exit code: 128
Command: git
Arguments: ls-remote --tags --heads https://github.com/christianvuerings/dnode/
Directory: /opt/projects/esprint
Output:
ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

This fixes it by fixing the typo in the dependency.
Test plan
yarn install works

@rgoldfinger-quizlet thank you for spotting that!

Thank you! Mind doing a new release so we can use this?


Refs #12990 -- Added DatabaseFeatures.has_json_operators

CockroachDB also has them.

Should this also be documented in https://github.com/django/django/blob/master/docs/releases/3.1.txt#L516-L520?

I'm not sure if there are other databases that also use this syntax.

@timgraham Thanks :+1: Release notes are not necessary, IMO.


Remove forced unit conversion in read_json_mean_clim.py

Modify read_json_mean_clim.py module to be consistent with the changes related to https://github.com/PCMDI/pcmdi_metrics/issues/1128
In previous commit related to https://github.com/PCMDI/pcmdi_metrics/issues/1128, changes in mean_climate_driver.py were made to remove the forced unit conversion for pressure level. Accordingly, the forced unit change in read_json_mean_clim.py should be removed as well. Otherwise, the Metrics () fuction to decode the metrics json files will return wrong variable names.

base changed to branch zhan391 instead of main to simplify review process (so it can reviewed once rather than twice from 2 PRs)


Narrative Generator refactoring

This PR reworks the narrative generator framework to allow narrative templates to be applied based on FHIRPath expressions (e.g. "this template only applies to Observation.where(code in 'http://loinc|123-3')"). It also splits out the "registry" of templates into a new separate class called "NarrativeTemplateManifest" so that we can incorporate the liquid stuff when it's ready.
@fil512 review please

Coverage increased (+0.07%) to 74.917% when pulling 8fe9f9389337bc7828d6de0b91ef6309faf81f32 on ja_template_bundles into 820a3d2296ad30ab9e1b91b8ffbf1c0b4617aba3 on master.

really excited about this one


hare: re-gossip eligibility proof for previously known malicious identity

Motivation
Closes #4521
Changes

immediately re-gossip the eligibility when receiving a hare msg from a previously known malicious identity
share eligibility tracker btwn broker and consensus processes so we can check whether we have previously gossiped eligibility proof for the same identity/layer/round
make sure broker's old data is cleaned up on every layer tick

bors try


[Licenses] E2E tests for valid combinations of license settings

All valid combinations of licenseUrl/licenseExpression/licenseFile settings should be covered by E2E tests.

Test should verify among other things that license URLs generated by catalog2registration and catalog2lucene point to the right location in Gallery.


Fixer to remove spaces between operators

Is it possible with the current set of fixer to handle this: ?
Original:
$origin = $this->request -> header('Origin');

Fixed:
$origin = $this->request->header('Origin');

Yes, with object_operator_without_whitespace.


nnvm doesn't work with OpenCL while tvm does

Hello guys,
I'm very passionate about using nnvm and mxnet particularly on some of my OpenCL hardware (AMD GPUs). I also have some experience in OpenCL programming and using ML frameworks, so couldn't pass the news about releasing nnvm.
But I cannot make work even simplest nnvm example like this one with OpenCL (the example is based on "get_started.py" tutorial, where the target originally was "cuda").
import nnvm.compiler
import nnvm.symbol as sym

x = sym.Variable("x")
y = sym.Variable("y")
z = sym.elemwise_add(x, sym.sqrt(y))
compute_graph = nnvm.graph.create(z)

shape = (4,)
deploy_graph, lib, params = nnvm.compiler.build(
        compute_graph, target="opencl", shape={"x": shape}, dtype="float32")

which throws
Traceback (most recent call last):
  File "nnvm_test.py", line 11, in <module>
    compute_graph, target="opencl", shape={"x": shape}, dtype="float32")
  File ".../python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/compiler/build_module.py", line 232, in build
    graph = graph.apply("GraphFusePartition").apply("GraphFuseCompile")
  File ".../python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/graph.py", line 234, in apply
    check_call(_LIB.NNGraphApplyPasses(self.handle, npass, cpass, ctypes.byref(ghandle)))
  File ".../python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/_base.py", line 72, in check_call
    raise NNVMError(py_str(_LIB.NNGetLastError()))
nnvm._base.NNVMError: TVMCall CFunc Error:
Traceback (most recent call last):
  File ".../python3.6/site-packages/tvm-0.1.0-py3.6-linux-x86_64.egg/tvm/_ffi/_ctypes/function.py", line 54, in cfun
    rv = local_pyfunc(*pyargs)
  File ".../python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/top/tensor.py", line 15, in _schedule_injective
    assert target.startswith("llvm")
AssertionError

which is strange, because tvm works perfectly fine on the same machine, when I launch this code:
import tvm
import numpy as np

n = tvm.var('n')
A = tvm.placeholder((n,), name='A')
B = tvm.placeholder((n,), name='B')
C = tvm.compute(A.shape, lambda i: A[i] + B[i], name='C')
print(type(C))

s = tvm.create_schedule(C.op)
bx, tx = s[C].split(C.op.axis[0], factor=64)

s[C].bind(bx, tvm.thread_axis("blockIdx.x"))
s[C].bind(tx, tvm.thread_axis("threadIdx.x"))

fadd_cl = tvm.build(s, [A, B, C], "opencl", name="myadd")

ctx = tvm.cl(0)
n = 1024

a = tvm.nd.array(np.random.uniform(size=n).astype(A.dtype), ctx)
b = tvm.nd.array(np.random.uniform(size=n).astype(B.dtype), ctx)
c = tvm.nd.array(np.zeros(n, dtype=C.dtype), ctx)
fadd_cl(a, b, c)

np.testing.assert_allclose(c.asnumpy(), a.asnumpy() + b.asnumpy())

It works correctly and prints out
[17:59:31] src/runtime/opencl/opencl_device_api.cc:195: Initialize OpenCL platform 'AMD Accelerated Parallel Processing'
[17:59:31] src/runtime/opencl/opencl_device_api.cc:215: opencl(0)='Tahiti' cl_device_id=0x1eb9470
[17:59:31] src/runtime/opencl/opencl_device_api.cc:215: opencl(1)='Tahiti' cl_device_id=0x21914b0

I can even print the kernel's code. So it's definitely not hardware/OpenCL/driver/tvm issue.
I suspect that the problem has something to do with nnvm compiler not knowing for which OpenCL device it should build the kernel. Could you please send me in right direction about what to read or try?

This should be fixed by #173

Yes, get_started.py tutorial is working now, after replacing target "cuda" with "opencl" and tvm.gpu(...) with tvm.cl(...).
Thank you!


Add color picker with basic colors to modeler toolbar

See https://github.com/camunda/camunda-modeler/issues/390

@philippfromme Think you missed adding 'setColor' into EditorActions in bpmn-js.

@philippfromme You have added disabled but not really using it (should update based on selection).


Sideways images

Images taken with the camera are not saved right-side up.
Bug source is in Camera Controller, line 2 of this method
public void scanFromBitmap(Bitmap bitmap, ListeningList<QRCode> codes, Context context) {
        InputImage inputImage = InputImage.fromBitmap(bitmap, 90);
        Task<List<Barcode>> result = codeScanner.process(inputImage);
        result.addOnSuccessListener(barcodes -> {
                ...
        });
}

Before my refactor of two methods in Camera Controller, the 90 was replaced with a method on an Image object. scanFromBitmap() no longer has access to an Image object but a Bitmap Object instead, and the same method does not exist on a Bitmap object, I think.
Have to make changes between takePhoto() and scanFromBitmap() to fix bug.
Perhaps refactor takePhoto() to return image object and turn scanFromBitmap() -> scanFromImage(), or find a faster solution by changing line 2 from above code

After further consideration, the code I gave earlier is not the source of the bug, since the above code only concerns itself with finding a QRCode from an image which has been already taken.
The bug must be in the following method in CameraController instead
public void captureImage(Context context, ListeningList<Bitmap> photo) { ... }
But I do not know where the source of the bug is.
Perhaps the best solution is just to find a method in Bitmaps or Image objects that simply rotates them 90* clockwise.


CSV not compatible with newest Modbus Adapter 5.0.5

THe new Modbus ADapter requires not TSV but CSV Table format with the following colums
_address	deviceId	name	description	unit	type	len	factor	offset	formula	role	room	poll	wp	cw	isScale
Ive updated it and created a pullrequest #2

Thank you for update to tsv table format.


Add VISA metadata to generate proto and services files

What does this Pull Request accomplish?

Copy the visa metadata generated by Scrapigen and use it to generate the proto file and service files
Implemented custom functions: FindRsrc, ParseRsrc, Open, Close
Added an example for finding visa resources

Why should this Pull Request be merged?
User Story 2477322: [grpc-device server] Generate visa.proto from python metadata (Complete)
User Story 2479692: [grpc-device server] Implement custom functions for visa in grpc-device (In progress)
What testing has been done?
Manually run the find-resources python example and tested open close in python client.

We typically add the accompanying system tests for new drivers when adding a new driver. Can you add tests similar to the other drivers? I think for this PR a simple test that you can open and close a session is sufficient. See the tests under source/tests/system for some examples.

@SparkingSpork I don't think that's going to work so well. Other drivers work with things like simulated resources. VISA doesn't have that.

@SparkingSpork I don't think that's going to work so well. Other drivers work with things like simulated resources. VISA doesn't have that.

Some ideas:

Use ASRL1::INSTR. If it's not present, call GTEST_SKIP. This would have limited functionality, since the real COM1 may not be connected to an instrument.
Use the VISA resource manager to find a valid resource. If none are present, call GTEST_SKIP.
Install a virtual COM port driver on grpcbot. This would provide a pair of virtual COM ports that are connected together in software.

@SparkingSpork I don't think that's going to work so well. Other drivers work with things like simulated resources. VISA doesn't have that.

Some ideas:

Use ASRL1::INSTR. If it's not present, call GTEST_SKIP. This would have limited functionality, since the real COM1 may not be connected to an instrument.
Use the VISA resource manager to find a valid resource. If none are present, call GTEST_SKIP.
Install a virtual COM port driver on grpcbot. This would provide a pair of virtual COM ports that are connected together in software.

Another option would be to use a VISA TCP/IP SOCKET address and spin up a localhost socket to talk to.

Another option would be to use a VISA TCP/IP SOCKET address and spin up a localhost socket to talk to.

That is a much better option.


Allow registration of custom handles on Windows

This commit intends to extend the functionality of mio on Windows to support
custom handles being registered with the internal IOCP object. This in turn
should unlock the ability to work with named pipes, filesystem changes, or any
other IOCP-enabled object on Windows. Named pipes are in particular quite
important as they're often a foundational IPC mechanism on Windows.
This support is provided by exporting two new types in a windows module. A
Registration serves as the ability to register with the actual IOCP port in an
Evented implementation. Internally the Registration keeps track of what it
was last associated with to implement IOCP semantics. This may one day be
possible to make a zero-sized-type.
The second type, Overlapped, is exported as a contract that all overlapped I/O
operations must be executed with this particular type. This ensures that after
an event is received from an IOCP object we know what to do with it. Essentially
this is just a OVERLAPPED with a function pointer after it.
Along the way this exposes the miow crate as a public dependency of mio. The
CompletionStatus and Overlapped types in miow are exposed through the
Overlapped type that mio itself exports.
I've implemented [bindings to named pipes][bindings] and I've also got a
proof-of-concept [process management library][tokio-process] using these
bindings. So far it seems that this support in mio is sufficient for building up
these applications, and it all appears to be working so far.
I personally see this as a much bigger committment on the mio side of things
than the Unix implementation. The EventedFd type on Unix is quite small and
minimal, but the Overlapped and Registration types on Windows are just
pieces of a larger puzzle when dealing with overlapped operations. Questions
about ownership of I/O objects arise along with the method of handling
completion status notifications. For now this is essentially binding mio to
stick to at least the same strategy for handling IOCP for the 0.6 series. A
major version bump of mio could perhaps change these semantics, but it may be
difficult to do so.
It seems, though, that the Windows semantics are unlikely to change much in the
near future. The overhead seems to have essentially reached its limit ("bolting
readiness on completion") and otherwise the ownership management seems
negligible.
Closes #252
Closes #320

Note that I've also tried to be sure to thoroughly document everything wherever possible, but if there are pieces missing just let me know!

After some discussion offline I've switched to be more conservative by only exposing winapi types rather than the miow types, so miow will now continue to be a private dependency.

Lgtm