Player suitable for  .266 file encoded by vevcapp

After Encoding a video file from mp4 to 266 which Player is suitable for Playing this kind of Videos if i made a mistake i would be very Grateful for your help and appreciate it

First option:
vvdecapp --bitstream R266.266 --y4m --output - | ffplay -i -
Second option:
https://github.com/tbiat/FFmpeg

First option: vvdecapp --bitstream R266.266 --y4m --output - | ffplay -i -
Second option: https://github.com/tbiat/FFmpeg

Thank your for your reply after i installed ffmpeg on Windows Linux Subsystem(WSL) i get an error that the file or directory doesnt exist could you help me on this matter Thank you

It seems you didn't include VVdeC support into this. Please have a look at the accompanying paper: https://dl.acm.org/doi/10.1145/3474085.3478320
Make sure when building the FFmpeg from https://github.com/tbiat/FFmpeg you enable the required options (--enable-libvvdec, --enable-sdl).
See more info in Slide 12.

Other than that, there aren't any suitable players. Please ask around with the developers of the players (VLC, FFmpeg, Gstreamer, etc). I'm very curious myself.

Last but not least, the easiest way to watch VVC today is actually to build VVdeC using Emscripten and drop the binaries into vvcWebPlayer. There is a python script in there which starst a local server. Please mind that running VVdeC in a browser includes a performance hit of around 50% compared to native.

Thank you so much for your answers are the above codes for windows or for Linux or MacOS ?
sorry for my Questions im still a beginner in this field

FFmpeg is available for all architectures. The web player will work with Chroma, Edge and Firefox, but not Safari. Don't know about vvDecPlayer.

FFmpeg is not working for me i dont know what im doing wrong

libvvdec is not available to get enabled in my version of FFMPEG on Windows does it have another name and how is the command on Windows because this one is not working

You need to clone FFmpeg from the tbiat/FFmpeg repo, build it on your system and use the resulting executable. You cannot use the FFmpeg thats already there on your system.

I cloned it but im getting the same error like vvdec with the make command

I will try it out thank you

Thank you very much for your help FFMPEG works perfect now on my Computer so we can close this issue now

Excuse me, @adamjw24. I have a problem for building tbiat/FFmpeg. I'm using MSYS2 x64. I'm building vvdec for MinGW and after building, I tried to configure in tbiat/FFmpeg, but I got a error and here is my full log:
marti@LAPTOP-HM70RGB0 MINGW64 ~/vvdec/build
$ cmake ..
-- Building for: Ninja
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_MODULE_PATH: updating module path to: C:/msys64/home/marti/vvdec/cmake/modules
-- Performing Test SUPPORTED_Werror_unused_command_line_argument
-- Performing Test SUPPORTED_Werror_unused_command_line_argument - Failed
-- Performing Test SUPPORTED_msse4_1
-- Performing Test SUPPORTED_msse4_1 - Success
-- Performing Test SUPPORTED_msse2
-- Performing Test SUPPORTED_msse2 - Success
-- Performing Test SUPPORTED_mavx
-- Performing Test SUPPORTED_mavx - Success
-- Performing Test HAVE_INTRIN_mm_storeu_si16
-- Performing Test HAVE_INTRIN_mm_storeu_si16 - Success
-- Performing Test HAVE_INTRIN_mm_storeu_si32
-- Performing Test HAVE_INTRIN_mm_storeu_si32 - Success
-- Performing Test HAVE_INTRIN_mm_storeu_si64
-- Performing Test HAVE_INTRIN_mm_storeu_si64 - Success
-- Performing Test HAVE_INTRIN_mm_loadu_si32
-- Performing Test HAVE_INTRIN_mm_loadu_si32 - Success
-- Performing Test HAVE_INTRIN_mm_loadu_si64
-- Performing Test HAVE_INTRIN_mm_loadu_si64 - Success
-- Performing Test HAVE_INTRIN_mm256_zeroupper
-- Performing Test HAVE_INTRIN_mm256_zeroupper - Success
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test SUPPORTED_mxsave
-- Performing Test SUPPORTED_mxsave - Success
-- Performing Test SUPPORTED_msse4_2
-- Performing Test SUPPORTED_msse4_2 - Success
-- Performing Test SUPPORTED_mavx2
-- Performing Test SUPPORTED_mavx2 - Success
-- Some bitstream files are missing.
  If the latest version fails, report the problem to the
<EMAIL_ADDRESS>mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.

You need to export PKG_CONFIG_PATH pointing at the directory where is the libvvdec installed.

@1div0, I tried everything let's say I used code export PKG_CONFIG_PATH="/home/unknown/Desktop/vvdec/install", but it is failed that is not found. Here is my actions workfile on my self hosted runner:
https://github.com/MartinEesmaa/libvvdec_fixmywin/runs/6433560429?check_suite_focus=true

Martin Eesmaa

I was not precise enough. Let's try something similar to UNIX like systems
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
As a check use:
pkg-config --cflags libvvdec
-I/usr/local/include

@alexgeek, thank you for your information.
So your vvdecapp can't play with ffplay pipe only, but converting to y4m/yuv is working display without pipe.
Can you try my FFmpeg VVC version to play with your 266 bitstream file? It should work.
Command for ffplay vvc version:
ffplay_vvceasy LFNST_D_HHI_3.bit

If FFmpeg VVC version doesn't work, could you upload sample bitstream file, original file and vvencapp commands, so it could more helpful for an extra information. By the way, make sure your vvdecapp is latest version.

Martin Eesmaa

@alexgeek,

I'm just using the sample streams that the cmake downloads, those .bit files are h266 streams ready for the vvdecapp executable to decode right?

Yes and you're right, I just found the link: https://www.itu.int/wftp3/av-arch/jvet-site/bitstream_exchange/VVC/draft_conformance/draft6/

Maybe it's something like Windows carriage returns causing a problem?

I'm not sure, it might work or not :/. Maybe scan corrupted files of sfc /scannow or download FFmpeg latest version builds for Windows?
For vvdecapp into ffplay pipe (2022-06-22-git-fed07efcde-full_build-www.gyan.dev), it plays fine, but it's too fast using FPS 50 and loops infinite:
For ffmpeg with vvc version, now plays normally and the speed is normal of 25 fps, loops infinite:

However shouldn't the pipe from the output of vvdecapp work? This is the same as standard ffplay:

Same works, but FPS sets to 50:
Input #0, yuv4mpegpipe, from 'pipe:':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: rawvideo (Y3[11][10] / 0xA0B3359), yuv420p10le(progressive), 768x384, 50 fps, 50 tbr, 50 tbn, 50 tbc

Martin Eesmaa

What is your pipe command / terminal you're using?

@alexgeek, my pipe and terminal commands are:
Terminal: Windows Command Prompt
Pipe:
vvdecapp -b TREE_C_HHI_3.bit --y4m -o - | ffplay -i -

play simple file with ffmpeg vvceasy:
ffplay_vvceasy TREE_C_HHI_3.bit

Martin Eesmaa

@alexgeek, my pipe and terminal commands are:
Terminal: Windows Command Prompt
Pipe:
vvdecapp -b TREE_C_HHI_3.bit --y4m -o - | ffplay -i -

play simple file with ffmpeg vvceasy:
ffplay_vvceasy TREE_C_HHI_3.bit

Martin Eesmaa

Ty! That works in command prompt. Seems I get the broken playback in powershell (7.2.4) and ffplay doesn't even open with powershell 5.1.

Okay seems to have been a known problem for almost 6 years, ignore me :)
https://github.com/PowerShell/PowerShell/issues/1908

Ty! That works in command prompt. Seems I get the broken playback in powershell (7.2.4) and ffplay doesn't even open with powershell 5.1.

Okay seems to have been a known problem for almost 6 years, ignore me :)
https://github.com/PowerShell/PowerShell/issues/1908

No problem @alexgeek. I know the issue is long almost 6 years until someone fixes & solves it. Have a nice day!

Martin Eesmaa

Okay seems to have been a known problem for almost 6 years, ignore me :)
PowerShell/PowerShell#1908

Thanks for looking into this!


Improve command for getting checkpoint:

Pointed out in https://github.com/caskroom/homebrew-cask/pull/24450#issuecomment-246776984, there’s a situation where the command to calculate checkpoint: may not work.
Solution might be to remove all newlines from appcasts, making the final command (added tr -d '\n'):
curl --compressed --location --user-agent 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36' "{{appcast_url}}" | tr -d '\n' | /usr/bin/sed 's|<pubDate>[^<]*</pubDate>||g' | shasum --algorithm 256

That means:

Updating the documentation.
Updating audit.
Updating the test.
Updating cask-repair.
Updating all casks, since the result will be different for most.

Making this issue first to see if there are any objections or better solutions.

How about instead of complicating this even further, we implement this as an internal command, which doesn't have the limitations sed has? This way we also don't have to always sync this command and the audit code. Copy-pasting curl --compressed --location --user-agent 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36' "{{appcast_url}}" | /usr/bin/sed 's|<pubDate>[^<]*</pubDate>||g' | shasum --algorithm 256 is a pain anyways.

@reitermarkus could you be more specific? How do you envision this working as an internal command? Do you mean an internal command to calculate it?

Yes, an internal command which uses the same logic that audit uses. Something like _appcast_checkpoint?

I’m absolutely fine with that. It would simply output the value, correct?

Closing in favour of https://github.com/caskroom/homebrew-cask/issues/24811. We should consider this ready to be implemented. There seems to be no objections to your suggestion.


Mounting Documents in Docker no longer shows up in settings > Admin Settings > Documents

Bug Report
Important: Before submitting a bug report, please check whether a similar issue or feature request has already been posted in the Issues or Discussions section. It's likely we're already tracking it. In case of uncertainty, initiate a discussion post first. This helps us all to efficiently focus on improving the project.
Let's collaborate respectfully. If you bring negativity, please understand our capacity to engage may be limited. If you're open to learning and communicating constructively, we're more than happy to assist you. Remember, Open WebUI is a volunteer-driven project maintained by a single maintainer, supported by our amazing contributors who also manage full-time jobs. We respect your time; please respect ours. If you have an issue, We highly encourage you to submit a pull request or to fork the project. We actively work to prevent contributor burnout to preserve the quality and continuity of Open WebUI.
Installation Method
services:
  open-webui:

    image: ghcr.io/open-webui/open-webui:cuda
    container_name: open-webui
    ports:
      - "5353:8080"
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]

    env_file: .env.openwebui
    volumes:
      - open-webui:/app/backend/data
      - ${DIR_PATH}:/app/backend/data/docs
    extra_hosts:
      - "host.docker.internal:host-gateway"
    restart: always

volumes:
  open-webui:

Environment

Open WebUI Version: v0.3.32

Ollama (if applicable):  v0.3.13

Operating System: Ubuntu 24.04.1 LTS x86_64

Browser (if applicable): Chromium Version 129.0.6668.100 (Official Build) snap (64-bit)

Confirmation:

[x] I have read and followed all the instructions provided in the README.md.
[x] I am on the latest version of both Open WebUI and Ollama.
[x] I have included the browser console logs.
[x] I have included the Docker container logs.
[ x] I have provided the exact steps to reproduce the bug in the "Steps to Reproduce" section below.

Expected Behavior:
When I used an earlier version I was able to mount a directory in my docker compose(docker image) and then create a model with "awareness" of all the documents in the directory. When I queried the agent it would use the knowledge in the directory to return a response along with references to the documents.
I would like to leverage this behavior again.
Actual Behavior:
Mounted directories do not appear in the app; I  have explored the following locations.
settings > Admin Settings > Documents
workspace > knowledge
workspace > create a model > select knowledge
Reproduction Details
docker compose up
Replace <path/to/doc/dir> with path to desired document dir.
services:
  open-webui:
        image: ghcr.io/open-webui/open-webui:cuda
    container_name: open-webui
    ports:
      - "5353:8080"
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]

    env_file: .env.openwebui
    volumes:
      - open-webui:/app/backend/data
      - <path/to/doc/dir>:/app/backend/data/docs
    extra_hosts:
      - "host.docker.internal:host-gateway"
    restart: always

volumes:
  open-webui:

Logs and Screenshots
openwebui-container-log-10-16-2024.json.log
Additional Information
I went into the docker container docker exec -it open-webui /bin/sh to /app/backend/data/docs and my documents are there.

🗑 Deprecated 'DOCS_DIR': Removed the outdated 'docs_dir' variable in favor of more direct file management solutions, with direct file directory syncing and API uploads for a more integrated experience.

Source: https://github.com/open-webui/open-webui/releases/tag/v0.3.31


Animation not in effect at end point (time 0) when playing backwards

If an animation is playing backwards then its end point is 0 (all other timing parameters being default) and it should not be in effect at that point.
Blink CL: https://codereview.chromium.org/597463002

Fixed as part of megacommit #306


Add 4.15.2 schema and upgrade path

Description
Add upgrade path and schema for 4.15.2
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

Let's merge this based on Travis run, do @davidjumani - LGTM it too?


ELB limitation, SNI

Add a limitation in the ELB section

@ThanosBaskous looks good, I'm not native english writer so I usually accept any corrections to my phrasing

Thank you @theist!


HIVE-25299: Incorporate timezone while converting timestamp to numeric data types

@adesh-rao  Please migrate all this UDF to genericUDF and use timestamp convertor instead of adding timezone related change in each one. As timestamp convertor already have everything required for timezone

The jira was just to fix the timestamp conversion. Also, UDFToInteger seems to be used for acid related code too (contains a method to convert recordidentifier to int).
Instead of doing refactoring and fixing timestamp conversion in the same jira, We can create a followup jira to refactor the UDF. I will create that create and attach the link here.

@adesh-rao Could you pls add unit tests?

@sankarh added/modified qtests


[Feature] Menus should only show drinks that can be made

It would be great if I could add a list of drinks to the menu, and then have he system only display the cocktails for which ingredients are available.
At the moment, if I'm out of an ingredient then I need to edit the menu and remove any cocktail that uses it, then add them back once the ingredient is back in stock.
It would be good to have the system handle this and "hide" any cocktail that requires an ingredient that is out of stock.

I will second this - and possibly also have the option to automatically create a menu with the on hand ingredients.

and possibly also have the option to automatically create a menu with the on hand ingredients.

Brilliant idea! If this is possible as well, then that would be amazing!

Menus are intended to be static and have prices attached to cocktails.
I'll move this feature to #288


[CARBONDATA-1469] Optimizations for Presto Integration

This PR has added following new features
-- Optimized Stream Readers to handle Nulls in vector efficiently
-- Added TimestampStreamReader and ShortStreamReader to handle Timestamp and Short datatype correctly.
-- Modified the Filter code for efficient filter pushdown to Carbondata.
-- Optimize the POM to reduce the dependency size.

Verified that Build is passing for 2.1
All test cases are passing
Manually verified some queries to make sure everything is working fine.

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/667/

retest this please

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/672/


Added PIMPL to StreamLoggerWriter in order to hide implementation and…

… reduce compile time

Looks ok, I may merge :)


[CHALLENGE SUBMISSION] - Challenge Three (Typescript & Angular)

Please provide the following information for your submission:
What is your name? (First, Last)
Stuart Leaver
Where is your GitHub Repo ?(Link to your challenge solution)
https://github.com/stuartleaver/seasons-of-serverless/tree/main/03-the-longest-kebab
What Challenge is this for? (Challenge number between 1 and 7)
3
(Optional) Anything else we should know? e.g., language used, location, blog post, tell us how you solved this solution, including any challenges you faced solving it.
Typescript. No C# is sight.
Why not take the opportunity to use a different language from normal. So for this challenge, I went for writing the Azure Function in Typescript. There is then the UI in Angular, and as before, hosted using a Static Web Site.
Try it out at - https://www.thelongestkebab.cloud
I think I've committed to buying domain names now 🤣
The length calculation came from reading Turkish Ground Lamb Kebabs (Adana Kebabs). Taking into account the amount of meat in that recipe, the number it servers, and the length of the skewers suggested, it came to about 156g equalled 25.4cm. It may only be an estimation, but these challenges are all about having fun.

Wow, it's amazing. Somehow I feel like you could create a tutorial about this series of epic recipes....

From all of us at Developer Relations at Microsoft, thank you for participating in #SeasonsOfServerless and submitting a solution!

Feel free to share your solution on Twitter with the tag #SeasonsOfServerless.

Thanks for your awesome submission!
🎉 We've now added you and your solution to the Hall of Fame. 🎉

Wow, it's amazing. Somehow I feel like you could create a tutorial about this series of epic recipes....

@jlooper I did have that thought as well and that it may be good as a "summary" at the end of the series. I've got some time off work over the festive period, so I'll see what happens.


Changing the Device Name Implicitly Unlinks It

In order to test my workaround for #33, I plugged in an iPhone 6Plus and gave it this name:
Zaphod’s iPhone 6Plus lolgtfo gôt milk? This is a long name

My workaround worked and the device was linked. I quit the app. Then I went and changed the name to:
Zaphod’s iPhone 6Plus

Then ran the app again. The app checks for auth requests on startup, as usual, by calling requestViewController.showRequest, but gets back an error:
41403 - Device is not linked

Does changing the device name really unlink it?
Also, what substring should I search for in all error messages to determine whether any given call that expects to be linked, but is not? I want to notice this in all situations so I can update the status of the display and put the device back in on boarding mode. Should the SDK also notice and remove all of its data and configuration?

@theory How exactly are you changing the name of the device? The WL SDK will not let you change the name since some requests will rely on that value to make it part of requests to the API. That's something we're rethinking so the identifier of the device does not rely on the device name to fix a few issues like when changing the same, choosing to make use of same name for several devices, etc.
I'll let @ashiranian24 go over your other questions regarding error handling with the WL SDK for iOS.

I am going into the OS Settings, General => About => Name, and typing a new name.

Oh interesting. I wouldn't have thought that could affect the WL SDK. That should not be the case. I've  created a ticket for us over here and we'll start going over it.

I realized how you're using the apostrophe given by the OS. So I'm wondering if it's still present after the device name cleanup. Is everything working just fine after linking and before quitting the app?

Yep.

Well, let me try to authenticate.

Okay, after getting the error that the device is not linked, going through the linking process again, I get a new error:
2016-08-24 13:07:46.984 IC Mobile[384:30400] *** Assertion failure in +[LKKeychain saveEncryptionKey:forKey:], /Users/ani/Projects/WhiteLabel/LaunchKeyWhiteLabel/LaunchKeyWhiteLabel/Crypto/LKKeychain.m:987
2016-08-24 13:07:46.985 IC Mobile[384:30400] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'SecItemCopyMatching failed: -34018'
*** First throw call stack:
(0x182a70f48 0x197623f80 0x182a70e18 0x183964a1c 0x1001880c4 0x1001b051c 0x1002aa518 0x100d01ca8 0x100d01c68 0x100d07710 0x182a281f8 0x182a26060 0x182954ca0 0x18db90088 0x18806cffc 0x1000c3a78 0x197e728b8)
libc++abi.dylib: terminating with uncaught exception of type NSException

So now I'll delete the app and try again.

Hrm, deleted the app and just went through the process again, running from Xcode as usual:

Name the device in system Settings:
 Zaphod’s iPhone 6Plus lolgtfo gôt milk? This is a long name

Launch and link. My code makes the name
 Zaphods iPhone 6Plus lolgtfo gt milk? This is

And the LK service has appended a 2.

Authenticate. Works fine.

Quit the app, change the name to
 Zaphod’s iPhone 6Plus

Launch again, continues to work fine.

WTF? This is how it should behave, of course: Not tied to the system name at all. But it sure as hell was showing up as unlinked just by changing the name earlier today. Bloody Heisenbug.

Yeah I don't know if it was the device being in a weird state from the beginning somehow? @ashiranian24 Will follow up with that when possible to see if there's anything we can to to prevent that from happening if it's happening inside of the SDK in unexpected conditions.

@theory In regards to your earlier question:

Also, what substring should I search for in all error messages to determine whether any given call that expects to be linked, but is not?

The substring that you could search for in all error messages when a device is unlinked is: "DeviceNotLinkedError". I now realize that even though the error for -showRequest says:
41403 - Device is not linked

It's not returning the "DeviceNotLinkedError" string so I will update that for an upcoming patch release.

Should the SDK also notice and remove all of its data and configuration?

When this error is returned, the SDK will clear the data on the device for security reasons and so no past data is kept if/when the device gets linked again.

It's not returning the "DeviceNotLinkedError" string so I will update that for an upcoming patch release.

Great.

When this error is returned, the SDK will clear the data on the device for security reasons and so no past data is kept if/when the device gets linked again.

What are the chances you could add a notification when this error condition is hit, so the app can just watch for that and clean up, rather than having to look for it in every single error?

Yes I can add a NSNotification for when a device is unlinked and you can add an observer for it wherever you need to. Adding event-based notifications has been a gradual process but I can definitely add that one for an upcoming patch release.

Great, thank you.
Not sure if it should just be for when a request is returned saying the device is unlinked, or if it should also be sent when a device is unlinked within the SDK. Maybe? Probably? Hrm…

@theory I just wanted to follow up with you to see if this issue has occurred again? I cannot reproduce it and I have a feeling it may have been related to the validator issue. Now with the deviceUnlinked notification and with the improved validators in v2.3.0, hopefully this issue is solved. Please let me know if you happen to see this again. Thanks!

Update (using SDK v2.3.0): I can't get it to unlink again, but I do see this:

Link device with a really long name.
The name gets truncated, great!
Change the device name in Settings, General => About => Name
Visit the device list again.
Long name still used for "this Device", but new short name starts appearing in "Other devices".

Attempted to recreate the final issue mentioned in this thread and can't with the current v3.0.1 release. Changing the device name in the OS will not change anything with the list of devices retrieved from the backend. Closing issue.


Add the global company view for all people and their skills

Inspired by @mrobinson.
Add a new view that shows skills for everyone in the company and not just your team. Usually you are just looking for someone who can help answer your question.

This can be done as a special filter on the already existing team view, by adding a "whole company" item in the selector and showing data for all teams.


Show experimental flags and subcommands if enabled

Signed-off-by: John Stephens<EMAIL_ADDRESS>

Should we have a test for this? @vieux?

LGTM @thaJeztah not sure about test, since commands don't stay in experimental very long, it'll be a pain to maintain.

LGTM


requirements: Include requirement for setuptools

This wasn't required on x86/linux but I discovered it was required for arm/macos

Docs for aa86bb9fb557a0f72f651468024f9b0656b9677e are browsable at: https://ci.foundries.io/projects/fio-docs/builds/2641/docs/artifacts/html/index.html

@doanac good catch. It would appear that I already had it installed, and so never encountered any issues when running the docs locally. I will go ahead and merge


Add searchable description of deleteKeyCode

We get a question at least once per month in the Discord server asking how to disable the button that deletes nodes. If a user currently searches for "backspace," this page doesn't appear as a result. Adding this short description under the Keys headline should make this section searchable and less people should have to troubleshoot this.

thanks @johnrobbjr !


How does the input dimension change in resBlock as padding is always "SAME"?

`
def resBlock(x, num_outputs, kernel_size = 4, stride=1, activation_fn=tf.nn.relu,
normalizer_fn=tcl.batch_norm, scope=None):

    assert num_outputs%2==0 #num_outputs must be divided by channel_factor(2 here)
    with tf.variable_scope(scope, 'resBlock'):
        shortcut = x
        if stride != 1 or x.get_shape()[3] != num_outputs:
            shortcut = tcl.conv2d(shortcut, num_outputs, kernel_size=1, stride=stride,
                        activation_fn=None, normalizer_fn=None, scope='shortcut')
        x = tcl.conv2d(x, num_outputs/2, kernel_size=1, stride=1, padding='SAME')
        x = tcl.conv2d(x, num_outputs/2, kernel_size=kernel_size, stride=stride, padding='SAME')
        x = tcl.conv2d(x, num_outputs, kernel_size=1, stride=1, activation_fn=None, padding='SAME', normalizer_fn=None)
        x += shortcut
        x = normalizer_fn(x)
        x = activation_fn(x)
    return x

In the resBlock above, all the three convolution layers have padding as SAME. Then how does the input image height and width decrease during the encoding part?

@meetdave06 For stride one, "SAME" padding means that the output spacial dimensions equal the input spacial dimensions. When you have "SAME" padding and a stride greater than one, the padding added is the minimum amount so that your final filter fits and doesn't overhang. It's easy to see that in this case, that's a padding of 1 on either side, and cuts the spacial dimensions in half each time it happens.


Asset Pipeline 2.0 Support

Added integration support for asset-pipeline 2.0 and resolves issue #1  (this is not backwards compatible with 1.9.x) If you want to take this a step farther you can move stuff out into a gradle binary project onto maven central for support with other frameworks as well.
Thanks

Thanks for your help, David, now it works.


make utilities work with non-UTF-8 inputs

Since the String types in Rust are by nature UTF-8, many of these utilities make the implicit assumption that all inputs will be UTF-8 encoded. It might be useful to expand the capabilities to include non-UTF-8 string handling as well. #553 does this for expand and unexpand, but many other utilities don't fare so well (e.g., fmt).

The problem is that getopts returns Strings, so unless it gets patched or this project switches to something else, it's never going to work.
See also #203

@Arcterus the bot seems misconfigured, it's marking accepted issues as stale.

I configured the bot this way.
It didn't see any chance for 3 years, this is why it is marked as staled (which is clearly the case here)

For that definition, it is indeed stale, however it is still an open issue. Marking actual issues as "closed" hurts the community. Why do this?

Because keeping bugs open for years without any activity isn't providing any benefit for anyone and reopening bugs is cheap.

Reopening bugs is cheap for you, in that it annoys somebody else. I'm sorry you want to treat your community this way, but you can do what you want.
Luckily the real coreutils treat product quality better. If you're happy being a toy reimplementation rather than providing a usefuly rewrite, that is a valid choice. You should probably update your README though.

@remram44 I think you're going a bit too far there.
@sylvestre I'm not sure why you would want to close an issue for a bug just because there hasn't been activity.  It's not like the bug has disappeared.  If anything, I think this just makes it harder to keep track of things.  It's fine to mark stuff as stale, but only stale PRs should be closed IMO.
Also, I don't actually think this is stale.  All the PRs switching from getopts to clap help with this issue.

Also, I don't actually think this is stale. All the PRs switching from getopts to clap help with this issue.

Yeah, you probably saw that I opened plenty of good first bugs for this. ;)
It is probably more concrete than 6 years old inactive bugs.

Well, this bug encompasses more than just switching to clap (although admittedly that is a significant portion of it).  So, I guess we can either split this into a new bug for every utility or make this more of tracking issue (the latter is my preference).


🧢 Expose area::State's Rect in Memory

Currently, there is no way of obtaining any information on windows from Memory, even though this is in fact stored in there. This PR exposes the area::State struct as public and adds a function to obtain said State for a window.

I added the doc-links on Window and Area. I renamed window_rect to area_rect as it's actually generic for all areas.


Close button in search panel text box is confusing

Just doing some clicking around on staging and noticed the little 'x' doesn't close the search panel after you've clicked the magnifying glass.  Clicking the magnifying glass a second time does close it though.

Yeah this one is kind of confusing. The little "x" in the text box clears out the search terms, it's not for closing the search. The search icon at the top is what toggles the search box open/closed.
I think we should have the UI team make a recommendation on this, as we constantly make this mistake in trying to close the box with the little x inside the text box and we've been working with this UI for months.

Renaming this one for clarification that it's working as designed, but functionality could be designed better.

@dongniwang fyi.

One possible solution here is to make the "x" in the text box not only clear the search text, but also close the box / exit search.

For reference, here's the "x" button we're talking about:

@jbakermd @gashcrumb Thanks for bringing this to my attention!
I was not able to get on to the staging site and see it myself for some reason...
But I did take a look at a PatternFly live example. See screenshot below as well. I think we're using the PatternFly Find pattern.

Basically, the PatternFly behavior is clicking on both the search icon and the "x" would close the search input box. So I think we can jus follow what PF suggests here. And actually there's no way to clear the text...
cc: @sjcox-rh

@dongniwang perfect. thanks for the clarification. I'll change the behavior to close the box instead of just clear the text.


shuffle makes no sense

Hi,
in the file function voxelize_spconv, which is in model_zoom.py, you shuffle all points by
cat_pt_ind = cat_pt_ind[shuffled_ind,:]
and then the output unq and processed_pooled_data is still in the order of the grid, which is done automatically by scatter_max function.
 pooled_data = torch_scatter.scatter_max(processed_cat_pt_fea, unq_inv, dim=0)[0]
It seems this step makes no point in the function.
Usually, we shuffle the data in the dataloader, which has been done automatically, instead of shuffle the date within the batch.

Hi,
Thanks for the question.
Actually, the shuffling operation here is preparing the data for the random sampling in this line. If we do not perform shuffling, then the sampling will not be random.
As for the scatter operation later, it has no relationship with the shuffling operation above. The above shuffling is done at the point level. Later the randomly sampled points will be converted to voxel by scatter operation.
If you have further confusion, feel free to continue this discussion.


Switch to non-deprecated action for asset upload on release branch

Test run here - https://github.com/dibarbet/omnisharp-vscode/actions/runs/5337543533/jobs/9673725833
Test release - https://github.com/dibarbet/omnisharp-vscode/releases/tag/vTest

Could we invoked the new task once and give it all the file names?

Testing 1 step now - https://github.com/dibarbet/omnisharp-vscode/actions/runs/5338486389


realsense2_camera: 2.2.22-1 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository realsense2_camera to 2.2.22-1:

upstream repository: https://github.com/IntelRealSense/realsense-ros.git
release repository: https://github.com/IntelRealSense/realsense-ros-release.git
distro file: noetic/distribution.yaml
bloom version: 0.10.1
previous version for package: 2.2.21-1

realsense2_camera
* Add reset service.
* fix timestamp domain issues
  - Add offset to ros_time only if device uses hardware-clock. Otherwise use device time - either system_time or global_time.
  - Warn of a hardware timestamp possible loop.
* Choose the default profile in case of an invalid request.
* Avoid aligning confidence image.
* Add an option for an Ordered PointCloud.
* Contributors: Isaac I.Y. Saito, Itamar Eliakim, Marc Alban, doronhi

realsense2_description
* Fix mass of d415
* Consistent add_plug in xacros and launch files
* Contributors: Manuel Stahl, Tim Übelhör, doronhi

Depends on #28343


Poly1305 test vectors

Hello and thanks for this great project. I look forward to when encryption is on by default everywhere.
I am currently porting this project to C#. Test vectors for NH passed easily, however I'm having trouble with Poly1305. As far as I understand it, Poly1305 isn't the stock algorithm, there was a few tweaks to it. How do the other.json and Poly1305.json test vectors work? For the first entry in other.json, the key is 851f... and the message to MAC is f3f6, resulting in f4c6... correct? What is the mask_hex for? I've tried a number of different things, including running the C code in a C++/CLI project to aid in porting, and am still unable to get a test vector to pass.

There are no tweaks - we use a function defined in the Poly1305 paper exactly the way it's defined. In the paper, it's used to build an AES-based MAC, while in RFC 7539 it's used to build an AEAD mode that also uses ChaCha20; we use it for a third purpose. The other.json test vectors are taken directly from the Poly1305 paper, so they illustrate the use of this function to build a MAC; the "mask" is added to the output of the function we use to generate the MAC.


Minor fixes in infos-list with alias display (touchable area, icon, t…

Description
The goal of this PR is to fix minor issues in infos-list with alias display:

whole row as touchable area
chevron icon
tune when coming back from info list

Changes include

[x] Bugfix (non-breaking change that solves an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)
[ ] Tests
[ ] Documentation
[ ] Other (for changes that might not fit in any category)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (API_LEVEL_22@8f2486f). Learn more about missing BASE report.

Additional details and impacted files
@@               Coverage Diff               @@
##             API_LEVEL_22     #816   +/-   ##
===============================================
  Coverage                ?   35.76%
===============================================
  Files                   ?       13
  Lines                   ?     1591
  Branches                ?        0
===============================================
  Hits                    ?      569
  Misses                  ?     1022
  Partials                ?        0

Flag
Coverage Δ

unittests
35.76% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Game crashes upon opening

Since the latest mod update, the game will not open with the mod installed. I have created a test modrinth config to ensure it is this mod's fault, and with 1.20.4 fabric and only this mod, the game crashes. Here are the crash logs:
Log 1
[09:51:50] [main/INFO]: Loading Minecraft 1.20.4 with Fabric Loader 0.15.6
[09:51:50] [main/INFO]: Fabric is preparing JARs on first launch, this may take a few seconds...
[09:51:50] [main/INFO]: Loading 5 mods:
- fabricloader 0.15.6
-- mixinextras 0.3.2
- java 17
- minecraft 1.20.4
- packrule-menus 1.2.0+1.20.1
[09:51:50] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/C:/Users/{COMPUTER_USERNAME}/AppData/Roaming/com.modrinth.theseus/meta/libraries/net/fabricmc/sponge-mixin/0.12.5+mixin.0.8.5/sponge-mixin-0.12.5+mixin.0.8.5.jar Service=Knot/Fabric Env=CLIENT
[09:51:50] [main/INFO]: Compatibility level set to JAVA_17
[09:51:54] [Datafixer Bootstrap/INFO]: 198 Datafixer optimizations took 148 milliseconds
[09:51:56] [Render thread/INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]
[09:51:56] [Render thread/INFO]: Setting user: {MINECRAFT_USERNAME}
[09:51:56] [Render thread/INFO]: Backend library: LWJGL version 3.3.2-snapshot
[09:51:57] [Render thread/INFO]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.2).
[09:51:57] [Render thread/INFO]: Reloading ResourceManager: vanilla
[09:51:57] [Render thread/WARN]: Error loading class: tk/estecka/clothgamerules/api/ClothGamerulesScreenFactory (java.lang.ClassNotFoundException: tk/estecka/clothgamerules/api/ClothGamerulesScreenFactory)
Log 2
crash-2024-03-02_09.51.57-client.txt

Thanks for the report, this will be fixed in v1.2.1


GEMM fusion (over slice or not)

From the 22 Feb 2024 performance model review of Distilgpt2:
There are several gemms that are applied together(this is the tailend of attention):
@17 = hip::hip_copy_literal[id=main:@literal:6] -> half_type, {348, 2304}, {2304, 1}
@18 = hip::hip_copy_literal[id=main:@literal:73] -> half_type, {768, 2304}, {2304, 1}
@21 = gpu::gemm[alpha=1,beta=1,compute_fp32=1,trans_batch=0,solution_idx=0](@20,@18,@17,@19) -> half_type, {348, 2304}, {2304, 1}
@22 = reshape_lazy[dims={1, 348, 36, 64}](@21) -> half_type, {1, 348, 36, 64}, {801792, 2304, 64, 1}
@23 = transpose[permutation={0, 2, 1, 3}](@22) -> half_type, {1, 36, 348, 64}, {801792, 64, 2304, 1}
@35 = slice[axes={1},starts={24},ends={36}](@23) -> half_type, {1, 12, 348, 64}, {801792, 64, 2304, 1}
@36 = gpu::gemm[alpha=1,beta=0,compute_fp32=1,trans_batch=1,solution_idx=0](@32,@35,@34) -> half_type, {1, 12, 348, 64}, {267264, 64, 768, 1}
@37 = hip::hip_copy_literal[id=main:@literal:72] -> half_type, {768, 768}, {768, 1}
@38 = load[offset=1069056,end=1603584](@1) -> half_type, {348, 768}, {768, 1}
@39 = transpose[permutation={0, 2, 1, 3}](@36) -> half_type, {1, 348, 12, 64}, {267264, 768, 64, 1}
@40 = reshape_lazy[dims={348, 768}](@39) -> half_type, {348, 768}, {768, 1}
@41 = gpu::gemm[alpha=1,beta=0,compute_fp32=1,trans_batch=0,solution_idx=0](@40,@37,@38) -> half_type, {348, 768}, {768, 1}

We have something like X * (Y*A + b) * C (where * is matmul) if we get rid of the slice(which is undoing some of the horizontal fusions).
So we could possibly rewrite it as X * (Y*A*C + b*C), which after const folding we would just have X * (Y*A' + b') which gets rid of the gemm completely.
This case can be generalized to also not have the slice operator, simplifying the manipulations needed.
Deliverables:

Figure out how to implement the GEMM fusion over the slice and create a matcher for it

Instead of matching the slice we can try to apply this rewrite before horizontal fusion.
Also, we could start but just writing a matcher for A * B * C that rewrites it to A * (B * C). If this could be applied before horizontal fusion than this would work.


Add troubleshooting guide for using pip in conda environments

Our official conda package supports stable/GA packages. If someone wants to use a beta package with conda, they will need to install it with pip. This can lead to environment issues which can be hard to troubleshoot, conda details this in their blog here: https://www.anaconda.com/blog/using-pip-in-a-conda-environment
We should create a troubleshooting guide (if it doesn't exist already) to help users navigate how to set their conda environment to work with pip/pypi successfully.

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Azure.Identity:0.44308805,Cosmos:0.058227994,Storage:0.042192772'

Closing since this isn't an Azure SDK-specific problem and the linked article provides good information on how to solve t.


save to filesystem, don't store in memory

Summary
We were using up a lot of memory with the old implementation. Since we're just saving them to disk in the asset build process, let's save them to disk in the first place.
How?
Stop using webpack-dev-middleware. Use the standard webpack API which can watch() for changes. This writes the bundles to disk.
Still include the web API, but only use it for starting a bundle, reloading a config, and checking if a bundle is completed yet.

Looks great! CR :mag:

dev_block 👍  on https://github.com/iFixit/multi-user-dev-server/pull/2#discussion_r142209871

un_dev_block 👍

TY! CR :mag:

CR :fire:


Add auto merge

@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/pydatamail-feedstock#2.


Add Babel config for production environment

In https://github.com/airbnb/react-dates/pull/791 I added an ESM build,
but ended up breaking the production build for gh-pages. Storybook
builds with NODE_ENV=production, so this should fix that problem.
@majapw

Coverage remained the same at 86.778% when pulling<PHONE_NUMBER>2120200dac93b739206fcf2c786443 on production-build into 9ae7efae6aaf0629c64c06c73e136dc2a36dbc4e on master.


Cut 0.3.0 release

Codecov Report

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

@@           Coverage Diff           @@
##           master      #49   +/-   ##
=======================================
  Coverage   65.21%   65.21%
=======================================
  Files          45       45
  Lines        1173     1173
  Branches      114      114
=======================================
  Hits          765      765
  Misses        310      310
  Partials       98       98

Flag
Coverage Δ

#unittests
65.21% <ø> (ø)
: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 256ce7d...b630c67. Read the comment docs.


How to send parameters as json inside body.

<!--
I am Using 13.1 V of moya

```swift

case .signUp(pasKey: let passKey, userName: let userName, phoneNumber: let phoneNumber, emailId: let emailId, address: let address):

 These are the parameter I need to send in Moya body request with json,
I has set encoding Tyoe as jsonencoding default.
but still it is not sending json to server please let me know

        return ["auth":["passKey": passKey],"name": ["userName": userName],"contact": ["phone": phoneNumber,"email":emailId],"document": [["type": "hhhhh","name": "hfvh licence","description": "nothing for now","image": "www.//dknkdnkd.com"]],"address": ["streetAddress": address,
                "locality": "string",
                "subLocality": "string",
                "region": "string",
                "country": "string",
                "postalCode": "string",
                "formattedAddress": "string",
                "landmark": "string",
                "geo": [
                    76.35,
                    30.25]]

I am hiring this api o postman its working fine but when I use Moya it gives me incorrect response because from Moya I am unable to send above parameters as json,

In the task variable you would set
For a POST request:
.requestParameters(parameters: ["some" : "params"],, encoding: JSONEncoding.default)
The parameters here are set in the body
For a GET request:
.requestParameters(parameters: ["some" : "params"], encoding: URLEncoding.default)
The parameters here are set as a query in the URL
e.g. https://example.com?some=params
Notice that POST uses JSONEncoding.default and GET uses URLEncoding.default.
If GET is set to JSONEncoding.default, you will get an error.


[Bug]: DropdownMenuSubContent menu items, gets cut off out of screen on mobile

This bug can clearly be seen even on the official shadcn website: https://ui.shadcn.com/docs/components/dropdown-menu

This bug occurs only on mobile (obviously). Perhaps we need a different approach on how to display these sub menu items on mobile so they dont get cut off screen? Imagine how bad it would get if there are multiple sub menu item contents, level 3-4-5 etc. They wouldnt even be seen on the screen.
What do you think is the best way to solve this from the UI/UX POV?

Bumping this thread. Any updates @shadcn ?

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.

Any updates on this issue? I've also noticed that the dropdown gets cut off vertically if it doesn't have enough space. And it doesn't have scroll enabled to handle this. It can be seen on the official documentation site.

Refer back to radix-ui disscussion
https://github.com/radix-ui/primitives/issues/1749
The latest comment seem to works with a small adjustment
div[data-radix-popper-content-wrapper]:has(> div[data-side='right']) {
  left: calc(
    min(
      0px,
      var(--radix-popper-available-width) +
        (-1 * var(--radix-popper-anchor-width))
    )
  ) !important;
}

div[data-radix-popper-content-wrapper]:has(> div[data-side='left']) {
  left: calc(
    max(
      0px,
      (-1 * var(--radix-popper-available-width)) +
        var(--radix-popper-anchor-width)
    )
  ) !important;
}


team-building changes

Move stuff around in team-building. team-building is used for "New chat" and adding members to a team.
@keybase/picnicsquad
The bar with selected people is still old style. Upgrading it is not covered by this PR.
macOS

iOS

^ The bar with selected people is still old style. Upgrading it is not covered by this PR.

Argh this doesn't work on android. Cause the rapid mounting and unmounting of Input causes the keyboard to flicker and often it gets stuck without a keyboard.

CI has passed in spirit. Circle is broken for all PRs

CI has passed in spirit. Circle is broken for all PRs. Ready for review :)


Stateful best practices

I guess this could a section on his own.

This addresses this section of the TODO. I will have a closer look at it soon.

More: https://itnext.io/stateful-applications-in-kubernetes-808a60bc109

https://dbexamstudy.blogspot.com/2021/11/is-kubernetes-slowing-down-my-database.html
Things that you can control in your Kubernetes cluster:

◉ Whether the Linux kernel uses 4KB, 2MB or 1GB Linux pages on your Linux x8664 Kubernetes nodes
◉ How many Linux huge pages [2MB or 1GB] that you configure
◉ The requests and limits for the memory and huge page resources of your Kubernetes applications
   ◉ A database is considered an application in Kubernetes


from-name AND api key label both not working with api v2

I've tried from-name in wercker.yml and setting my v2 api token label, but the from name is still being set as my own name.
    after-steps:
        - hipchat-notify:
            token: $HIPCHAT_TOKEN
            room-id: 111111
            from-name: Wercker

It looks like the from-name property was removed, but it is still listed in the properties.

from-name no longer needed. The name comes from the label you give when creating the HipChat room token.

Thanks for the help. I discovered the difference between room based & account based tokens and I got it working now. Thanks!


Bad output with $num-bg-jobs

The $num-bg-jobs variable no longer works as expected:
~> put $num-bg-jobs
▶ <unknown 0>

The number of background jobs does go up and down properly, but the "" text breaks some tools/themes that expect just a number.  I believe it may be related to this commit https://github.com/elves/elvish/commit/fc420bad4fdc9079aab5dc7ca9d7f3f6d762045f?

Thanks for reporting, I forgot about it :)


Add type to Autocomplete option button to prevent form submission

Just a small change needed to the Autocomplete options that will prevent the containing form to be submitted on selection.
Adding type="button" fixes the issue.

Thought I fixed this when I fixed the same issue for select. I will take a look at it tonight or tomorrow and push an update. Thank you!


python312Packages.labgrid: 23.0.6 -> 24.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.labgrid is: Embedded control & testing library
meta.homepage for python312Packages.labgrid is: https://labgrid.org
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 24.0 with grep in /nix/store/rwdy93pa727a1qvwcmnqv9lh6yv9r7ck-python3.12-labgrid-24.0
found 24.0 in filename of file in /nix/store/rwdy93pa727a1qvwcmnqv9lh6yv9r7ck-python3.12-labgrid-24.0

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

python311Packages.labgrid
python312Packages.labgrid

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/rwdy93pa727a1qvwcmnqv9lh6yv9r7ck-python3.12-labgrid-24.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.labgrid https://github.com/r-ryantm/nixpkgs/archive/6fd55442d257c9b06a3193f30f2c6beca0486197.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/6fd55442d257c9b06a3193f30f2c6beca0486197#python312Packages.labgrid

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/rwdy93pa727a1qvwcmnqv9lh6yv9r7ck-python3.12-labgrid-24.0
ls -la /nix/store/rwdy93pa727a1qvwcmnqv9lh6yv9r7ck-python3.12-labgrid-24.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages built:

python311Packages.labgrid
python311Packages.labgrid.dist
python312Packages.labgrid
python312Packages.labgrid.dist

Maintainer pings
cc @Emantor for testing.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 334158 at ac8470c1 run on x86_64-linux 1

2 packages built successfully:

python311Packages.labgrid
python312Packages.labgrid


feature request: spectrogram plugin height property

Right now the spectrogram plugin does not have any way to indicate the dimensions it needs to fit in, and it would be super useful if it did, in order to present users with an Izotope RX style "waveform overlaid on the spectrum analysis" view of the audio they're working with.

Izotope RX style "waveform overlaid on the spectrum analysis" view

:100:


Wait for rollout

What type of PR is this?
/kind bug
/area devfile
What does does this PR do / why we need it:
fixes problem when odo push wouldn't wait for new Pod after there was a change in Deployment
Which issue(s) this PR fixes:
Fixes #2661
How to test changes / Special notes to the reviewer:
use devfile component
odo push
update devfile
odo push
second push used to fail

/retest

/approve

I can see 5 legitimate failures in the CI related to devfile @kadel .
• Failure [7.157 seconds]
odo devfile push command tests
/go/src/github.com/openshift/odo/tests/integration/cmd_devfile_push_test.go:15
  when devfile push command is executed
  /go/src/github.com/openshift/odo/tests/integration/cmd_devfile_push_test.go:63
    should not build when no changes are detected in the directory and build when a file change is detected [It]
skipped 80 lines unfold_more
[odo]  ✓  Deleted project : mwcfllxvyl
Setting current dir to: /go/src/github.com/openshift/odo/tests/integration
Deleting dir: /tmp/551487786
• Failure [7.227 seconds]
odo devfile push command tests
/go/src/github.com/openshift/odo/tests/integration/cmd_devfile_push_test.go:15
  when devfile push command is executed
  /go/src/github.com/openshift/odo/tests/integration/cmd_devfile_push_test.go:63
    should build when no changes are detected in the directory and force flag is enabled [It]
skipped 50 lines unfold_more
[odo]  ✓  Deleted project : ctdcckqsqe
Setting current dir to: /go/src/github.com/openshift/odo/tests/integration
Deleting dir: /tmp/958871729
• Failure [6.993 seconds]
odo devfile push command tests
/go/src/github.com/openshift/odo/tests/integration/cmd_devfile_push_test.go:15
  Verify devfile push works
  /go/src/github.com/openshift/odo/tests/integration/cmd_devfile_push_test.go:45
    Check that odo push works with a devfile [It]
skipped 66 lines unfold_more
[odo]  ✓  Deleted project : eahsapgsib
Setting current dir to: /go/src/github.com/openshift/odo/tests/integration
Deleting dir: /tmp/631770455
• Failure [7.340 seconds]
odo devfile push command tests
/go/src/github.com/openshift/odo/tests/integration/cmd_devfile_push_test.go:15
  when devfile push command is executed
  /go/src/github.com/openshift/odo/tests/integration/cmd_devfile_push_test.go:63
    should be able to create a file, push, delete, then push again propagating the deletions [It]
skipped 70 lines unfold_more
[odo]  ✓  Deleted project : aylyrhgjru
Setting current dir to: /go/src/github.com/openshift/odo/tests/integration
Deleting dir: /tmp/325446482
• Failure [7.431 seconds]
odo devfile push command tests
/go/src/github.com/openshift/odo/tests/integration/cmd_devfile_push_test.go:15
  when devfile push command is executed
  /go/src/github.com/openshift/odo/tests/integration/cmd_devfile_push_test.go:63
    should delete the files from the container if its removed locally [It]
skipped 90 lines unfold_more
[Fail] odo devfile push command tests when devfile push command is executed [It] should delete the files from the container if its removed locally
/go/src/github.com/openshift/odo/tests/helper/helper_run.go:34

I can see 5 legitimate failures in the CI related to devfile @kadel .

ouch, messed something up after rebasing with latest master :-/

Looks good to me, Second push is succeeded with this PR,  just wondering why Push devfile component openlibertydevfile  is getting printed two times.
adisky@localhost openLibertyDevfile]$ odo push
 •  Push devfile component openlibertydevfile  ...
 ✓  Checking file changes for pushing [1ms]
 ✓  Waiting for component to start [35ms]
 ✓  Syncing files to the component [22s]
 ✓  Push devfile component openlibertydevfile [1m]
 ✓  Changes successfully pushed to component
```

/retest


Point describe async at describe resource

Switch the DescribeAsync call to point at the documented Describe URL, added a GetBasicInformationAsync to call the Basic Information resource that Describe Async was previously calling. Added some unit tests that can be easily extended to cover the authorization failure cases that are currently' TODO'd in the library without having to call out to an external resource (works locally in NCrunch and VS, hope CI likes them). Added a functional test for the new BasicInformation call.

I was able to get the metadata passing object
var description = await client.DescribeAsync(Account.SObjectTypeName);


9gag extraction is broken again [HTTP Error 403]

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2021.02.10
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

youtube-dl -F https://9gag.com/gag/av5nvyb
[9gag] av5nvyb: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
SYs-MBP:~ sy$ youtube-dl -v -F https://9gag.com/gag/av5nvyb
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-F', u'https://9gag.com/gag/av5nvyb']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.02.10
[debug] Python version 2.7.16 (CPython) - Darwin-20.3.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[9gag] av5nvyb: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 632, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2275, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 435, in open
    response = meth(req, response)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 548, in http_response
    'http', request, response, code, msg, hdrs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 473, in error
    return self._call_chain(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 407, in _call_chain
    result = func(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 556, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

Description

Test link:
https://9gag.com/gag/av5nvyb

youtube-dl https://9gag.com/gag/av5nvyb
[9gag] av5nvyb: Downloading JSON metadata
[download] Destination: Guess who's back-av5nvyb.mp4
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 4879k  100 4879k    0     0   406k      0  0:00:12  0:00:12 --:--:--  400k
[curl] Downloaded 4996839 bytes
[download] 100% of 4.77MiB in 00:12

Looks like the extractor is broken for Python 2.7 only. Works with Python 3.9.1

Downloaded source with this fix and the issue still persists on python 2.7
Let me know, if you need something tested on python 2.7

Downloaded source with this fix and the issue still persists on python 2.7
Let me know, if you need something tested on python 2.7

as the commit message states, it's a fix for the title, this issue will be closed if a fix has been pushed to fix the 403 error(Cloudflare CAPTCHA).

Downloaded source with this fix and the issue still persists on python 2.7
Let me know, if you need something tested on python 2.7

as the commit message states, it's a fix for the title, this issue will be closed if a fix has been pushed to fix the 403 error(Cloudflare CAPTCHA).

gotcha! apologies for the confusion. appreciate your hard work!


How can I change the default font of the theme ??

Due to i know little about css and html ,i don't know how to change the font hinting and the font type.
Could you tell some details to me ?? Please. Thank you!

Read this http://nicewebtype.com/notes/2009/10/30/how-to-use-css-font-face/.
The just of it is, add the font file to the fonts directory, create an @font-face rule in the style.css file. Then add the font-family rule here https://github.com/artur9010/lightdm-webkit-material/blob/master/assets/css/style.css#L8-L12. That will apply it to the whole login screen.

Thanks!


Problems with "nested" type parameters

I am creating an instance of a type-parameterized class from a type parameterized trait.
Both type parameters are unconstrained.
I feed the class a type parameter that is also an unconstrained type parameter.
the compiler complains:
CLASS_TYPE_PARAMETER #any is not a subtype of TRAIT_TYPE_PARAMETER #any: the subtype has no constraint.
In my superficial understanding of the type system, it should be possible to use an unconstrained type param for another unconstrained type param.
This small snippet illustrates my problem:
trait Generator[T]
  fun box generate(): T

  fun map[U](mapFn: {(T!): U} val): Generator[U] =>
    MappedGenerator[T, U](this, mapFn)

class MappedGenerator[S, V] is Generator[V]

  let _source: Generator[S] box
  let _mapFn: {(S!): V} val

  new create(source: Generator[S] box, mapFn: {(S!): V} val) =>
    _source = source
    _mapFn = mapFn

  fun box generate(): V =>
    _mapFn(_source.generate())

class TestGenerator is Generator[Bool val]
    fun box generate(): Bool val => true

actor Main
  new create(env: Env) =>
    let mapped = TestGenerator.map[Bool]({(b: Bool): Bool => not b})
    env.out.print("does it work? " + mapped.generate().string())

This is what the compiler says:
0.14.0 [release]
compiled with: llvm 3.9.1 -- cc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Error:
main.pony:5:20: type argument is outside its constraint
    MappedGenerator[T, U](this, mapFn)
                   ^
    Info:
    main.pony:8:42: argument: V #any
    class MappedGenerator[S, V] is Generator[V]
                                             ^
    main.pony:8:23: constraint: U #any
    class MappedGenerator[S, V] is Generator[V]
                          ^
    main.pony:8:42: V #any is not a subtype of U #any: the subtype has no constraint
    class MappedGenerator[S, V] is Generator[V]
                                             ^

Somebody can correct me if I'm wrong, but it seems like this should be allowed.
Especially because it compiles okay if the Generator.map method is removed, and the MappedGenerator is created "by hand". This suggests it has something to do with the mutually recursive relationship between Generator and MappedGenerator.

I believe this is the same bug as #1875. It builds fine with my fix from PR #1888.

I can confirm that this particular case is fixed with #1888
Great stuff! :) can't wait for the release

Unfortunately this PR is blocked by another issue (#1887), and I'm a bit too busy at the moment to implement the fix required for that one. Maybe we should just merge PR #1888 with the included workaround, and revert it later.
I'll close this since it's confirmed to be the same as #1875, and mark the PR for discussion on this week's sync.


Theme.merge()

I learned about the upcoming Theme System Updates today, and oh boy I am so pumped. Since we're doing a theme system overhaul, now might be a good time to resolve that issue from 7 years ago!

This pull request adds a merge() method for the Theme widget that implements the logic of the main ThemeData constructor.
// before
final ThemeData themeData = Theme.of(context);
final ButtonThemeData buttonTheme = themeData.buttonTheme;
return Theme(
  data: themeData.copyWith(buttonTheme: buttonTheme.copyWith(shape: newShape)),
  child: child,
);

// after
return Theme.merge(
  data: ButtonThemeData(shape: newShape),
  child: child,
);

Theme.merge() accepts a nice variety of arguments, including:

ThemeData
InputDecorationTheme, ButtonThemeData, and all of the other standard theme classes
Any ThemeExtension subclass
Brightness.dark works too!

I understand that this is an inordinate amount of boilerplate for literally 1 function. Maybe instead of looking through the diffs, we can all take a look at this beautiful demo!
 Demo source code
import 'package:flutter/material.dart';

void main() {
  final Widget materialApp = MaterialApp(
    theme: ThemeData(colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple)),
    debugShowCheckedModeBanner: false,
    home: const HomePage(),
  );

  runApp(materialApp);
}

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

enum ThemeCycle {
  basic,
  dark,
  green,
  darkCyan,
  blueBeveled,
  scarletStadium,
  continuousChartreuse,
  blackBar;

  Object get data {
    return switch (this) {
      basic => ThemeData(),
      dark => Brightness.dark,
      green => ColorScheme.fromSeed(seedColor: Colors.green),
      darkCyan => ColorScheme.fromSeed(
          seedColor: const Color(0xFF00FFFF),
          brightness: Brightness.dark,
        ),
      blueBeveled => ThemeData(
          colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
          buttonTheme: const ButtonThemeData(
            shape: BeveledRectangleBorder(
              borderRadius: BorderRadius.all(Radius.circular(10)),
            ),
          ),
        ),
      scarletStadium => ThemeData(
          colorScheme: ColorScheme.fromSeed(
            seedColor: const Color(0xFFC00010),
            brightness: Brightness.dark,
          ),
          buttonTheme: const ButtonThemeData(shape: StadiumBorder()),
        ),
      continuousChartreuse => ThemeData(
          colorScheme: ColorScheme.fromSeed(
            seedColor: const Color(0xFF80FF00),
            brightness: Brightness.dark,
          ),
          buttonTheme: ButtonThemeData(
            shape: ContinuousRectangleBorder(
              borderRadius: BorderRadius.circular(42),
            ),
          ),
        ),
      blackBar => ThemeData(
          colorScheme: ColorScheme.fromSeed(seedColor: Colors.black),
          appBarTheme: const AppBarTheme(
            backgroundColor: Colors.black,
            foregroundColor: Colors.white,
            titleTextStyle: TextStyle(fontWeight: FontWeight.w100, fontSize: 24),
          ),
          textTheme: const TextTheme(labelLarge: TextStyle(fontWeight: FontWeight.w100)),
        ),
    };
  }

  // convert camelCase to multiple words
  @override
  String toString() {
    final characters = name.characters.map(
      (c) => switch (c.toLowerCase()) {
        final lowered when lowered != c => ' $lowered',
        _ => c,
      },
    );
    return characters.join();
  }
}

class _HomePageState extends State<HomePage> {
  ThemeCycle themeCycle = ThemeCycle.basic;
  DynamicSchemeVariant dynamicSchemeVariant = DynamicSchemeVariant.tonalSpot;

  @override
  Widget build(BuildContext context) {
    final List<CycleButton> cycleButtons = [
      CycleButton(
        label: 'preset:  $themeCycle',
        onPressed: () {
          const values = ThemeCycle.values;
          final next = values[(themeCycle.index + 1) % values.length];
          setState(() {
            themeCycle = next;
          });
        },
      ),
      CycleButton(
        label: 'variant:  "${dynamicSchemeVariant.name}"',
        onPressed: () {
          const variants = DynamicSchemeVariant.values;
          final next = variants[(dynamicSchemeVariant.index + 1) % variants.length];
          setState(() {
            dynamicSchemeVariant = next;
          });
        },
      ),
    ];

    final Object themeData = themeCycle.data;

    return Theme.merge(
      data: dynamicSchemeVariant,
      child: Theme.merge(
        data: themeData,
        child: Builder(
          builder: (context) => AnimatedTheme(
            duration: Durations.medium1,
            curve: Curves.easeOutSine,
            data: Theme.of(context),
            child: Scaffold(
              appBar: AppBar(
                title: const Text('Theme.merge()'),
              ),
              body: ThemeDemo(cycleButtons),
            ),
          ),
        ),
      ),
    );
  }
}

class CycleButton extends StatelessWidget {
  const CycleButton({required this.onPressed, required this.label, super.key});
  final VoidCallback onPressed;
  final String label;

  @override
  Widget build(BuildContext context) {
    const style = TextStyle(color: Colors.white, fontSize: 16, fontWeight: FontWeight.w600);
    return Expanded(
      child: Padding(
        padding: const EdgeInsets.fromLTRB(6, 12, 6, 0),
        child: Material(
          color: Colors.black,
          borderRadius: const BorderRadius.only(
            topLeft: Radius.circular(16),
            topRight: Radius.circular(16),
          ),
          clipBehavior: Clip.antiAlias,
          child: InkWell(
            overlayColor: const WidgetStatePropertyAll(Colors.white12),
            onTap: onPressed,
            child: Padding(
              padding: const EdgeInsets.all(8.0),
              child: Center(
                child: Text(label, style: style, textAlign: TextAlign.center),
              ),
            ),
          ),
        ),
      ),
    );
  }
}

class ThemeDemo extends StatelessWidget {
  const ThemeDemo(this.cycleButtons, {super.key});
  final List<CycleButton> cycleButtons;

  @override
  Widget build(BuildContext context) {
    final ThemeData theme = Theme.of(context);
    final ColorScheme colorScheme = theme.colorScheme;
    final List<(Color, Color, String)> samples = [
      (colorScheme.primary, colorScheme.onPrimary, 'primary'),
      (colorScheme.primaryContainer, colorScheme.onPrimaryContainer, 'primary container'),
      (colorScheme.secondary, colorScheme.onSecondary, 'secondary'),
      (colorScheme.secondaryContainer, colorScheme.onSecondaryContainer, 'secondary container'),
      (colorScheme.tertiary, colorScheme.onTertiary, 'tertiary'),
      (colorScheme.tertiaryContainer, colorScheme.onTertiaryContainer, 'tertiary container'),
      (colorScheme.surfaceContainerLowest, colorScheme.onSurface, 'surface container (lowest)'),
      (colorScheme.surfaceContainerHighest, colorScheme.onSurface, 'surface container (highest)'),
      (colorScheme.inverseSurface, colorScheme.onInverseSurface, 'inverse surface'),
    ];

    return Column(
      children: [
        for (final (background, foreground, label) in samples)
          Expanded(
            child: Container(
              margin: const EdgeInsets.symmetric(horizontal: 12, vertical: 6),
              decoration: ShapeDecoration(
                shape: theme.buttonTheme.shape,
                color: background,
              ),
              alignment: Alignment.center,
              child: Text(
                label,
                style: theme.textTheme.labelLarge!.copyWith(
                  color: foreground,
                  fontSize: 16,
                ),
                textAlign: TextAlign.center,
              ),
            ),
          ),
        Expanded(
          child: Padding(
            padding: const EdgeInsets.symmetric(horizontal: 6),
            child: Row(
              mainAxisAlignment: MainAxisAlignment.spaceEvenly,
              crossAxisAlignment: CrossAxisAlignment.stretch,
              children: cycleButtons,
            ),
          ),
        ),
      ],
    );
  }
}

 Demo

The good news is that most of this boilerplate will probably go away once we start using Static Metaprogramming in the framework!

Hey @nate-thegrate! Since this is a draft and failing some tests, we'll likely hold off on review until you give the word. Let us know when you are ready for some feedback! :)

Hey @nate-thegrate! Since this is a draft and failing some tests, we'll likely hold off on review until you give the word. Let us know when you are ready for some feedback! :)

Sounds great! I'm going to try fixing a few bugs I introduced (and maybe also mitigate the $\textcolor{green}{\textsf{+1,447 }}\textcolor{#c00000}{\textsf{−374}}$ diffs with an extension type or something). I'll "un-draft" the PR once that's done, which will hopefully be soon!

I'm posting a reference here, for my own sanity and for the people reviewing.
Overview
ThemeData and ColorScheme now have a config member that just stores whatever you passed into the constructor. Theme.merge() uses it to set a new ThemeData value.
Also, ColorScheme.fromSeed() no longer has any required parameters, in case you wanted to do something like:
Theme.merge(
  data: ColorScheme.fromSeed(onPrimary: Colors.black), // changes onPrimary without changing seedColor
  child: child,
)

Here's the pull request in pseudocode form:
theme_data.dart
/// Stores whatever you put into the [ThemeData] constructor.
class ThemeConfiguration {
  const ThemeConfiguration({
    this.colorScheme,
    this.useMaterial3,
    // and like a hundred other things too that I'll just ignore here
  });

  ThemeConfiguration copyWith(
    ColorScheme? colorScheme,
    bool? useMaterial3,
  ) {
    return ThemeConfiguration(
      colorScheme: colorScheme ?? this.colorScheme,
      useMaterial3: useMaterial3 ?? this.useMaterial3,
    );
  }

  ThemeConfiguration merge(Object other) {
    if (other is ThemeConfiguration) {
      return copyWith(
        colorScheme: other.colorScheme,
        useMaterial3: other.useMaterial3,
      );
    }
    if (other is ColorScheme) {
      if (colorScheme.config case var colorSchemeConfiguration?) {
        return copyWith(colorScheme: colorSchemeConfiguration.merge(other));
      }
      return copyWith(colorScheme: other);
    }
    throw ArgumentError();
  }

  ThemeData applyDefaults() {
    // logic from ThemeData constructor is copy-pasted here

    return ThemeData.raw(
      config: this,
      colorScheme: colorScheme,
      useMaterial3: useMaterial3,
    );
  }
}

class ThemeData {
  factory ThemeData({
    ColorScheme? colorScheme,
    bool? useMaterial3,
  }) {
    final config = ThemeConfiguration(
      colorScheme: colorSheme,
      useMaterial3: useMaterial3,
    );
    return config.applyDefaults();
  }

  final ColorScheme colorScheme;
  final bool useMaterial3;
  final ThemeConfiguration config;
}

color_scheme.dart
/// Stores whatever you put into the [ColorScheme.fromSeed] constructor.
class ColorSchemeConfiguration {
  const ColorSchemeConfiguration({
    this.seedColor,
    this.brightness,
    this.dynamicSchemeVariant,
    // and like 50 other things that I'll just ignore here
  });

  final Color? seedColor;
  final Brightness? brightness;
  final DynamicSchemeVariant? dynamicSchemeVariant;

  ColorSchemeConfiguration copyWith() // same idea as ThemeConfiguration.copyWith()
  ColorSchemeConfiguration merge()    // same idea as ThemeConfiguration.merge()

  ColorScheme applyDefaults() {
    // logic from ColorScheme.fromSeed() is copy-pasted here
  }
}

class ColorScheme {
  ColorScheme.fromSeed(
    Color? seedColor,
    Brightness? brightness,
    DynamicSchemeVariant? dynamicSchemeVariant,
  ) {
    final config = ColorSchemeConfiguration(
      seedColor: seedColor,
      brightness: brightness,
      dynamicSchemeVariant: dynamicSchemeVariant,
    );
    return config.applyDefaults();
  }

  final Brightness brightness;

  /// Set to `null` unless the [ColorScheme.fromSeed] constructor is used.
  final ColorSchemeConfiguration? config;
}

theme.dart
This one isn't pseudocode, since the actual implementation was really simple—I just used @Hixie's strategy from #9358.
class Theme {
  static Widget merge({
    Key? key,
    required Object data,
    required Widget child,
  }) {
    return Builder(
      builder: (BuildContext context) {
        final config = Theme.of(context).config;
        final ThemeData newThemeData = config.merge(data).applyDefaults();
        return Theme(key: key, data: newThemeData, child: child);
      },
    );
  }
}

Is 1 convenient widget worth over 1500 lines of extra code to maintain? Perhaps not, but static metaprogramming is hopefully just around the corner. 🙃

I wish you hadn't used ThemeData.buttonTheme in the example that supposed to motivate this PR. Sadly ButtonThemeData and MaterialButton are vestigial and should be deprecated.

I've given this a brief look, let me know if I'm understanding the approach correctly:
A factory constructor, like ThemeData(), contains parameters that are assigned to final fields as well as parameters that are used to compute final fields.  The dependencies between factory constructor parameters are complex and not always documented. This makes applying copyWith to such a class problematic.  Using copyWith, updating fields is easy enough, but also updating their dependent fields (per the logic in the factory constructor) is at least difficult.
So, if I'm understanding this proposal correctly, merge avoids the problem by combining per-instance saved copies of the factory's constructor parameters, and applying the factory constructor to the result?

@HansMuller yes sir!

I guess another potential benefit of this PR is that the configuration classes have const constructors, and it'd be pretty easy to alter the Theme widget so it can accept either ThemeData or ThemeConfiguration.
I'm definitely on the fence as far as whether it's an overall improvement for the codebase (though macros would definitely change things).

This is an ambitious change and an impressive project. That said, I don't think we should land it. Doing things like this would really benefit from a macro facility and - unfortunately - would have best been tackled when the Flutter API was first established.  It looks like a pattern that might make sense for all of the types that define collections of parameters that could be viewed as styles (like TextStyle), i.e. where a merge operation would make sense, and it implies recursively merging types for which the meaning of merge isn't entirely clear.  For example: ThemeData objects that have been altered with copyWith or ButtonStyles with complex WidgetStateProperty parameters.
Sorry that I can't be more supportive, this is an interesting change and clearly quite a bit of work.

No worries!
I really appreciate your time & consideration, and I agree that closing this one is probably for the best.


Node.js version in Dockerfile

During environment setup, the latest Node.js version will be installed.
I was wondering why there is a specific Node version specified in the Dockerfile? Isn't it better to just pull the node image instead of node:<version>? No need to constantly update the version.

Probably! Would you like to do a PR?
On Tue, May 15, 2018 at 2:40 PM, Carsten<EMAIL_ADDRESS>wrote:

During environment setup
https://apostrophecms.org/docs/tutorials/getting-started/setting-up-your-environment.html,
the latest Node.js version will be installed.
I was wondering why there is a specific Node version specified in the
Dockerfile? Isn't it better to just pull the node image instead of
node:? No need to constantly update the version.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/apostrophecms/apostrophe-boilerplate/issues/8, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAB9fZQyLyguZ2RWdsW-vSlax2Nucc8fks5tyyESgaJpZM4UAEUA
.

--
THOMAS BOUTELL, CHIEF SOFTWARE ARCHITECT
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

#9

I think LTS might make more sense here.
On Thu, May 17, 2018 at 12:30 PM, Carsten<EMAIL_ADDRESS>wrote:

#9 https://github.com/apostrophecms/apostrophe-boilerplate/pull/9
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/apostrophecms/apostrophe-boilerplate/issues/8#issuecomment-389928396,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9fZBjuiVzo-psB9t5VhunJ_1myYnOks5tzaW3gaJpZM4UAEUA
.

--
THOMAS BOUTELL, CHIEF SOFTWARE ARCHITECT
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

So, you recommend to install LTS locally, too? According to the tutorial, the local dev environment will be set up on latest Node.
When the developer installs latest Node.js locally, uses features of that version and then creates a Docker image based on an older Node.js (LTS) version, wouldn't this create conflicts?

The tutorial recommends to install node with homebrew, it doesn't recommend
a version. But here we have to express an opinion, and I think lts is a
sensible opinion to express, since nodejs.org says the LTS is "recommended
for most users."
On Thu, May 17, 2018 at 1:40 PM, Carsten<EMAIL_ADDRESS>wrote:

So, you recommend to install LTS locally, too? According to the tutorial
https://apostrophecms.org/docs/tutorials/getting-started/setting-up-your-environment.html,
the local dev environment will be set up on latest Node.
When the developer installs latest Node.js locally, uses features of that
version and then creates a Docker image based on an older Node.js (LTS)
version, wouldn't this create conflicts?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/apostrophecms/apostrophe-boilerplate/issues/8#issuecomment-389949665,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9fcdyheiVBE8At3EsIOyb5gtOY4zrks5tzbYlgaJpZM4UAEUA
.

--
THOMAS BOUTELL, CHIEF SOFTWARE ARCHITECT
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

I get the point that latest versions are not always great for production. And I think the developer is sensible enough to check requirements of the app before dockerizing. 😆


Don't call private component methods from the component handler.

This creates a public alias for every private downgrade method,
and switches the component handler to using the aliases instead.
@Garbee, @surma PTAL!

LGTM. Completely forgot that "private" means even the Component Handler shouldn't call it. :frowning:

LGTM. @Garbee’s ACK has more weight, tho ;)

@Garbee In C++ terms, the componentHandler should have been a 'friend', in which case this would be fine. But JS has no friends! (rimshot)

Thanks for the LGTMs! Merging.


Add files via upload

@hvaler lib/domains/university/students.txt represents a domain students.university, not students.esic.university.
Also, please provide us with a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.
You can provide us with any of the following:

A copy of instruction (a hard-copy or electronic one) given to you by the school that tells you to use an email address in this email domain
An URL of a page at the official school website that says that students use this email domain
A reference to a recognized journal where an article was published by someone from the school, with explicit affiliation to the school, and e-mail address from the email domain
A WHOIS data that link the email domain to the school somehow
A copy of official letter from the school representative saying that the school provides e-mail addresses in this domain to the students
Anything else that can prove this fact in similar way, i.e. can be verified independently.

@hvaler You might miss my previous comment. Please react.

@hvaler I am sorry, this request remains unanswered for a while. I have to close it without merging. Please reopen and comment if you have an update regarding the aforementioned issue. Thank you for your understanding!


Windows WSL Related Setup

I'm submitting a ...
Possible update to Windows 10 Windows Subsystem for Linux (WSL) Related Setup steps or added information.  You may use this or not as you desire.
Action taken (what you did)
I was only able to get this to work by changing the version of node to 8.11.3.  I also had too make sure AVG Antivirus/Firewall/Windows Firewall settings allowed bash.exe/port 3000 TCP/UDP traffic. Unfortunately, I was all over the place resolving this issue so I can't provide steps.  The following are the steps I took to get things working that I was able to record, just in case you see some ideas to add to the documentation.
sudo apt-get update
nvm use 8.11.3
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
sudo apt-get install git
git clone git://github.com/askmike/gekko.git
cd gekko
npm install --only=production
cd exchange
npm install --only=production
cd ..
Not related but notable mentions (in my opinion):
- VcXsrv, Windows X Server
https://sourceforge.net/projects/vcxsrv/
Allows opening sublime text editor (or other gui linux applications) in Windows via X Server and connect directly to the Linux folders for editing directly.  Without this or another solution, you may have issues editing files.
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
sudo apt-get update
sudo apt-get install sublime-text
DISPLAY=<IP_ADDRESS>:0.0
export DISPLAY
subl
Once running, for clipboard between Windows and Sublime you may need to disable the "Clipboard may use PRIMARY selection" setting in VxXsrv. Taskbar Notification > Right Click "X" icon >
- Forgotten password to WSL:
https://winaero.com/blog/reset-password-wsl-linux-distro-windows-10/
From DOS
ubuntu config --default-user root
ubuntu.exe # (to run WSL in the current Windows command prompt)
whoami # (to see who I'm currently logged in as)
tail -3 /etc/passwd # (to see the last three users added to the Ubuntu system)
passwd user01 # (to change the password for user01)
exit # (to exit WSL)
ubuntu config --default-user user01 # (to set the default user for the WSL terminal)
- WSL2
There is experimental WSL2 but this requires non-released version of Windows as of 12/22/2019.  This version allows mapping with windows for using VSCode and other editors.
https://docs.microsoft.com/en-us/windows/wsl/wsl2-install

I am unfortunately not maintaining this project anymore. I'm marking the whole repo as read only.
Read more here: https://medium.com/@gekkoplus/archiving-open-source-gekko-dba02e6efc7


Getting webpack error after update to 2.19.0

Don't know if it is related to #4216 because I'm using Angular 4.4.4 and that is a React issue, so I'm posting this as a separate issue.
I got the following error after the update:
__WEBPACK_IMPORTED_MODULE_2_moment__ is not a function

I'm using the following moment packages
"moment": "2.19.0",
"@types/moment": "2.13.0",

The code where I get the error is quite simple:
import * as moment from 'moment';
...

  if (moment().year() !== this.mainData.activeYear)

...

+1 - Same issue with Angular 4

Same here. Not using Angular or React. This is my webpack error:
WARNING in ./~/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/data/jenkins/workspace/project/node_modules/moment/src/lib/locale'
./~/moment/src/lib/locale/locales.js 65:16-60
./~/moment/src/lib/locale/locale.js
./~/moment/src/moment.js
./script.js

Same problem with vuejs and webpack.

Same here with webpack, although the issue is triggered by moment-timezone. We changed the dependency from "moment": "^2.18.1" to "moment": "~2.18.1"

same problem when moment upgrade to version 2.19.0
WARNING in ./~/_moment<EMAIL_ADDRESS>Module not found: Error: Can't resolve './locale' in '/Users/XXX/code/gitlab/web-editor/node_modules/moment@2.19.0@moment/src/lib/locale'
@ ./~/_moment<EMAIL_ADDRESS>65:16-60
@ ./~/_moment<EMAIL_ADDRESS>@ ./~/_moment<EMAIL_ADDRESS>@ ./~/_antd<EMAIL_ADDRESS>@ ./~/_antd<EMAIL_ADDRESS>@ dll lib

Same problem here with 2.19.0

Laravel Mix (webpack) gives the following:
WARNING  Compiled with 1 warnings                                                 2:26:12 PM
This relative module was not found:
* ./locale in /moment/src/lib/locale/locales.js

Same issue on this 2.19.0 version

This version  ( 2.19.0 must be fixed )
for the 'moment'  ahahah, install the 2.18.1
"moment": "~2.18.1"

Same issue here 😢 We'll downgrade back to 2.18 until this is resolved.

Same problem here...

react
WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in 'blahblahblah/node_modules/moment/src/lib/locale'
 @ ./node_modules/moment/src/lib/locale/locales.js 65:16-60
 @ ./node_modules/moment/src/lib/locale/locale.js
 @ ./node_modules/moment/src/moment.js
 @ ./src/client/components/ArticlesGrid/index.js
 @ ./src/client/containers/StuffPage/index.js
 @ ./src/client/routes.jsx
 @ ./src/client/index.js
 @ multi (webpack)-dev-server/client?http://<IP_ADDRESS>:8050 webpack/hot/dev-server babel-polyfill ./src/client/index.js

@mymtw - as a community, we don't allow swearing on the forms so your comment has been updated. Please refrain in the future.

Got this one after upgrading to 2.19...
node_modules/webpack/lib/IgnorePlugin.js:20
					(!contextRegExp || contextRegExp.test(result.context))) {
					                                 ^

TypeError: contextRegExp.test is not a function

Even after using ignore plugin to skip locales on my webpack config file
new webpack.IgnorePlugin(/^\.\/locale$/, [/moment$/])

Locking the version of moment in package.json will help:
"moment": "2.18.0"

However, if the latest moment version (2.19.0) is being pulled by your dependencies, the above won't work (run find ./node_modules/*/node_modules -iname moment to check other versions of moment in your app)
You can instead use webpack externals:

Add moment to your externals webpack configuration:

+            externals: {
+                moment: 'moment',
+            },

Use the moment.js file from CDN - put this in your index.html (or index.ejs) file:

Downgraded to ~2.18.0 which circumvents this for the time being.

Here is a reproduction step that works for me.  I am assuming you have create-react-app installed globally:
> create-react-app my-app
> cd my-app
> # Prove the app it working correctly
> npm run start
> npm install moment

Update src/app.js with something like:
 import '.App.css';

+ import moment from 'moment'

class App extends Component {

+

+ Today is {moment().format()}
+

Then
> npm run start

Expect website to load.
Actual, fails with a Error: Can't resolve './locale' error.
Extra context, works after doing
> npm install<EMAIL_ADDRESS>

This is interesting. I just updated moment on my own code that I work on for my job, and started webpack. As far as I can tell I have the latest of all webpack dependencies (there are several, and I've only checked a few), and moment 2.19.0, and everything is fine.
I'll try this create-react-app path next.

This was not a very happy morning with this error!

Ditto on this error.

npm install --save<EMAIL_ADDRESS>This fixes the problem for time being. 2.19.0 was giving me same error about 2 hours back.
Downgraded to version 2.18.1 and it worked fine.

Well, ended up doing something that is against all recomended things to do...
~/node_modules/moment/src/lib/locales.js changed line 65 (basicly added a dot)
pretendingNotToRequireV2('./locale/' + name);
To
pretendingNotToRequireV2('../locale/' + name);
Advice against this and probably downgrading to 2.18 is better! :)

We can also corroborate this scenario.

2.19.0 broke our latest production build :(. Reverting back to 2.18.1 seems to be working fine.

Closing as a duplicate of #4216 - track there.


Text Adventures to learn Git

Remember those great games Zork or Adventure! ?
It would be really awesome if we  could write a game like that but it teaches you Git.

You made changes to your file

git add

You have not been eaten by a grue.
Also this is similar
https://try.github.io/levels/1/challenges/1
We might do well to send students there after the workshop for further training.

Stuff that's already been done
https://github.com/Gazler/githug
https://github.com/git-game/git-game
Legend of Zelda
http://ningbit.github.io/blog/2013/06/12/8-bit-git-the-challenges-of-creating-a-git-based-game/


Controller vibration not working on Android

Godot version
Godot_v3.5.1-stable_win64
System information
Android 12
Issue description
Using Input.start_joy_vibatrion() works fine on the PC, but when I try to play it on Android, even though the controller is cabled to it, it doesn't vibrate at all.
I'm also allowing all the permissions.
Steps to reproduce
Just make a project usign "Input.start_joy_vibration"
Minimal reproduction project
Novo Projeto de Jogo.zip

Which controller model are you using, and how are you connecting the controller (e.g. using an USB-C cable)?

Which controller model are you using, and how are you connecting the controller (e.g. using an USB-C cable)? Does controller vibration work in other Android games on the same device?

Xbox Series controller. I tested via bluetooth and USB-C.
The vibration works fine in other games, only with godot I'm having this problem

does this has some fix or any workaround?

does this has some fix or any workaround?

Not that I heard of until now.

The same behavior in HTML5 exports: no vibrations for XBox Series controller, bluetooth or wired, OSX or Windows.  Maybe this bug is more general than just Android and should be renamed?

Using Input.start_joy_vibatrion() works fine on the PC, but when I try to play it on Android, even though the controller is cabled to it, it doesn't vibrate at all.

Unfortunately the native android library does not support any type of controller vibration. You could workaround applying vibration to the android device itself with Input.vibrate_handheld().

Using Input.start_joy_vibatrion() works fine on the PC, but when I try to play it on Android, even though the controller is cabled to it, it doesn't vibrate at all.

Unfortunately the native android library does not support any type of controller vibration. You could workaround applying vibration to the android device itself with Input.vibrate_handheld().

Actually, it does support when you use it via a cable connection. Games like Call of Duty have this kind of support.

Actually, it does support when you use it via a cable connection. Games like Call of Duty have this kind of support.

There are no signs of controller rumble or vibration in android most recent documentation.
https://developer.android.com/develop/ui/views/touch-and-input/game-controllers/
Said so, there are no implementations currently of it in godot android code. The implementation can be made though, like you said trough cable connection, but that would require more knowledge about hdi devices.

?
https://developer.android.com/develop/ui/views/touch-and-input/game-controllers/controller-features
"Haptics technology delivers physical sensations to the user through vibrations or movements. For example, when an explosion occurs in the game, the controller vibrates, allowing the player to feel the impact realistically."
It is indeed available on Android, as mentioned in the link you sent. That said, it's a matter of Godot providing support, especially since it's happening on other platforms, as @michaelgundlach said before...


[Mosaic GPU] Improve default kernel name and add option to customize

This allows users to distinguish Mosaic GPU kernels from other kernels when using profiling programs such as Nsight Systems.
The new default behavior is to use mosaic_gpu_<def_name>_kernel as the kernel name, where <def_name> is the name of the Mosaic GPU Python kernel function passed to as_gpu_kernel or as_torch_gpu_kernel.
We also add a new kernel_name optional argument to as_gpu_kernel and as_torch_gpu_kernel. If kernel_name is not None, the resulting kernel name is mosaic_gpu_<kernel_name>_kernel. This is useful when the Mosaic GPU Python kernel function is constructed through metaprogramming so that the final specialized kernel can have different meaningful names depending on the metaparameters.
Previously the kernel name was always main_kernel.

Can you add a test to tests/mosaic/gpu_test.py please?

Can't think of a clean way to test this at the moment. https://github.com/jax-ml/jax/pull/24805 would provide a way to test end-to-end, since a CUPTI-based profiler can return pairs (kernel name, ms).