Go json unmarshal silent errors

What version of Go are you using (go version)?

$go version go1.16.3 darwin/amd64

Does this issue reproduce with the latest release?
yes
What did you do?
This is my code where one of the struct types didn't match and was silently causing errors in an API.
	if err := json.Unmarshal([]byte(c.Body()), &input); err != nil {
		log.Print(err)
		return c.Status(503).JSON(Fail{Err: "Encoding error occured"})
	}

It reports in the console log: json: cannot unmarshal string into Go struct field LogsBilling.bytes_received of type int
It is the same issue as this link:
https://stackoverflow.com/questions/32708717/go-when-will-json-unmarshal-to-struct-return-error/48273008
They kindly provided a Go Playground to demonstrate it:
https://play.golang.org/p/Z37o-Y9BVI
What did you expect to see?
json unmarshal seems to know there is an error but you cant capture or deal with it with "if err:= ". I think if it knows there is an error, it should be able to set "err:=" and not silently fail with just a log to console.

The setting is available if you use a decoder with DisallowUnknownFields
Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions

@seankhliao I think this is still should be open, I tested it with DisallowUnknownFields and got the same error:
	decoder := json.NewDecoder(bytes.NewReader(c.Body()))
	decoder.DisallowUnknownFields()
	if err := decoder.Decode(&input); err != nil {
		log.Print(err)
		return c.Status(503).JSON(Fail{Err: "Encoding error occured"})
	}

Error response:
json: cannot unmarshal string into Go struct field LogsBilling.bytes_received of type int
My understanding from the documentation is that it throws an error when there are unknown fields, not type mismatching on unmarshal.

DisallowUnknownFields handles the case from the SO post/playground link
as for your own code, as far as i can tell it is correctly and not silently reporting an error


Install logic should detect environment mode

When we access /install.php, it should detect environment mode.
When in installation mode, proceed with install (current process already correct)
When in production mode, it should redirect to home (current process, still show install page)

It might cached as install.php detects the environment you can check environment.php


fix: generate proto file

Description

Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist:

[ ] Code compiles correctly.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Codecov Report

Merging #483 (b118f82) into main (f535dfb) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #483   +/-   ##
=======================================
  Coverage   39.57%   39.57%
=======================================
  Files          81       81
  Lines        6284     6284
=======================================
  Hits         2487     2487
  Misses       3438     3438
  Partials      359      359

Flag
Coverage Δ

e2etests
?

unittests
39.57% <ø> (ø)

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


4-1a

Compared to CLRS2e's 4-1a, doesn't have an explicit assumption that T(n) is constant for n \le 2.

Migrated from CormenSol


mdm code block - allow to add css classes

With dataviewjs code blocks, I can do the following:
```dataviewjs
// ...

dv.container.classList.add('cards', 'cards-cover', 'cards-2-3');
```

Would like to be able to do the same for file class tables like this:
```mdm
fileClass: movie
cssClass: cards cards-cover cards-2-3
```

(Also, I can't find any mention of mdm code block in documentation, only in release notes.)

Good idea
The documentation for mdm is here


FR: add ImageKit endpoints as upload target

Hi,
This is a Feature Request.
imageKit is an alternative of cloudinary.
Do you think it's feasible to add ImageKit as an upload target?
I read their Upload File API but still not figure out how to translate these info into a feasible config code.
Thanks

@andrey-jef Please try with 0.5.0 which supporting imageKit now.

@andrey-jef Please try with 0.5.0 which supporting imageKit now.

Hi @addozhang
Thank you so much. It works.
Could you please also add a parameter to specify the destination folder in imagekit library, where the local image will be uploaded to?
With the current version of plugin (0.5), the uploaded image is sent directly to Files section in ImageKit. I can manually move each files to a specific folder. But if the plugin has an option to do so, will be much more convenient.

@andrey-jef Got it and 0.5.1 released. You can specify folder name in setting panel now.

Thank you for your time investigating the docs and implementing this feature. It works flawlessly on my Win pc.


feat: Add support for public dids in did-exchange protocol

Currently we support "peer" DIDs in exchange request and response. We should also support public dids.
Closes #561
Signed-off-by: Sandra Vrtikapa<EMAIL_ADDRESS>

This PR will need a rebase.

Note: needs followup - see #718


AoT: The keyword 'private' is reserved

OS?
Linux (Ubuntu)
Versions.
angular-cli: 1.0.0-beta.18
node: 6.3.1
os: linux x64
TypeScript Version 2.1.0-dev.20161025 (I believe the same problem occurred with 2.0.3 as well)
Repro steps.
This is the code that the causes the error:
import {Component, Input} from '@angular/core'
import {Location} from '@angular/common'
import {Router, ActivatedRoute, NavigationEnd} from '@angular/router'
import {Angular2Apollo} from 'angular2-apollo'
import gql from 'graphql-tag'
import {NgRedux} from 'ng2-redux'

@Component({
  selector: 'top-bar',
  templateUrl: 'template.html',
  styleUrls: ['style.scss'],
})
export class TopBar {
  constructor(
    private apollo: Angular2Apollo,
    private location: Location,
    private reduxStore: NgRedux<any>,
    private route: ActivatedRoute,
    private router: Router,
  ) {
    ...
  }
}

The log given by the failure.
Module parse failed: node_modules/angular-cli/node_modules/@ngtools/webpack/src/index.js!src/app/components/top-bar/top-bar.ts The keyword 'private' is reserved (20:12)
You may need an appropriate loader to handle this file type.
| toggleRightMenu: Function;
| toggleLeftMenu: Function;
| constructor(private, apollo, Angular2Apollo, private, location, Location, private, reduxStore, NgRedux < any > , private, route, ActivatedRoute, private, router, Router);
| {
|     this.router.events
 @ ./src/app/app.ngfactory.ts 23:0-57
 @ ./src/app/app.module.ngfactory.ts
 @ ./src/main.ts

Have you tried updating to a newer version of angular-cli? I can't reproduce this issue. It looks like an error with the webpack config not handling .ts files properly. What command did you run to get this error?

@SeerUK: I there any newer version than 1.0.0-beta.18? I ran ng serve --aot

Aah, my bad about the version - I thought I'd seen a newer one. That's strange, the code does look fine. Can you reproduce this with a new project with similar code?

I have this error too! I have no idea what to do. I'm running webpack-2.0.0-beta.25 with @ngtools/webpack, so no Angular CLI as I would like to keep my webpack build system.
Here is my error trace:
ERROR in ./src/app/sections/search/components/tag-selector.component.ts
Module parse failed: /Users/skovmand/Code/web/idraetsmusik.dk/idraetsmusik.dk/node_modules/@ngtools/webpack/src/index.js!/Users/skovmand/Code/web/idraetsmusik.dk/idraetsmusik.dk/src/app/sections/search/components/tag-selector.component.ts Unexpected token (14:41)
You may need an appropriate loader to handle this file type.
|         this.currentTagStream = tagChanged;
|     }
|     TagSelector.prototype.EventEmitter = ;
|     return TagSelector;
| }());
 @ ./src/app/sections/search/pages/track-search-by-tag-page.component.ngfactory.ts 31:0-65
 @ ./src/app/app.module.ngfactory.ts
 @ ./src/main.ts

ERROR in ./src/app/sections/search/components/sortable-column.component.ts
Module parse failed: /Users/skovmand/Code/web/idraetsmusik.dk/idraetsmusik.dk/node_modules/@ngtools/webpack/src/index.js!/Users/skovmand/Code/web/idraetsmusik.dk/idraetsmusik.dk/src/app/sections/search/components/sortable-column.component.ts The keyword 'private' is reserved (25:12)
You may need an appropriate loader to handle this file type.
|     sortChangedSubscription;
| Subscription;
| constructor(private, trackSearchEvents, TrackSearchEventService, protected, el, ElementRef);
| { }
| // Since we are initialising the subscription on ngOnInit, we must make sure the stream is replaying events, since there will be a period without listeners.
 @ ./src/app/sections/search/components/all-tracks.component.ngfactory.ts 35:0-56
 @ ./src/app/sections/search/pages/all-tracks-page.component.ngfactory.ts
 @ ./src/app/app.module.ngfactory.ts
 @ ./src/main.ts

In the first error something has disappeared:
TagSelector.prototype.EventEmitter = ;
In the second error it has listed private as a separate parameter:
constructor(private, trackSearchEvents, TrackSearchEventService, protected, el, ElementRef);

Same issue here. I'm using:
$ ng version
angular-cli: 1.0.0-beta.18
node: 6.5.0
os: darwin x64
Typescript: 2.0.6

It has something to do with semicolons ;-) Steps to reproduce:
$ ng new ola
$ cd ola && npm install @angular/compiler-cli @angular/platform-server --save

Edit app.component.ts:
import { Component, Input } from '@angular/core';
import { Location } from '@angular/common';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  @Input() a: string /* missing ; */
  @Input() b: string /* missing ; */
  @Input() c: string /* missing ; */

  constructor(private l: Location) {}
}

$ ng serve --aot # Causes same error as described above

Things I tried:

Remove @Input() decorator -> Fixes issue
Remove 3rd input -> Fixes issue
Add semicolons -> Fixes issue

Im interested in whats really going on here!

Interesting! My codebase is not using semicolons at all. I'll try to see it adding semicolons fixes the error.

Adding semicolons fixes the problem here too.

I have found that if I add semicolons to all @Input and @Output and @ViewChild annotations (maybe other too, haven't checked yet), the errors go away.

This seems like a bug but I can't say if it's on the CLI or on ngc. Will tag and leave open.

Except semicolons error, when you use aot,  should the keyword 'private'  be change to 'public'?

On the contrary; private members are not accessible by templates. The fact they are in JIT is an error (which I think is corrected). Always use public members or @Input.
Closing this as obsolete. Please file a new issue if you still have problems.


Add base class structure for a "score uploader"

Prereqs:

[x] https://github.com/ppy/osu-server-spectator/pull/153
[x] https://github.com/ppy/osu/pull/21587
[x] https://github.com/ppy/osu/pull/21588

Following the structure set by MetadataBroadcaster, this PR adds a ScoreUploader class which performs the background process of waiting for scores to receive ids and doing an upload. Right now it doesn't actually "upload" and instead stores to files as it previously did, however the file name has been renamed to account for the solo-score ID.
https://user-images.githubusercontent.com/1329837/206978833-60d1a4bf-325b-466a-bfd0-7637378be3a4.mp4

@smoogipoo can you check on tests here?

Hold off on this one for a while longer, I want to add more tests.

Should be ready to go, depending on test failure (can't repro locally - adjusting timing in efforts to avoid on CI).

Part of me wants to see osu-queue-processor used in place here

I've suggested using redis more probably about 50 times at this point between us, so I'm not against it. I envision it like server-spectator -> pushes scores + frames to queue -> replay-processor -> pulls items and does basically the same process as here.
Is that what you're envisioning also? Not sure how complicated that's going to be from the perspective of serialisation.

Re: queue processor: It kinda works? https://github.com/smoogipoo/osu-server-spectator/tree/replay-processor-queue
Only thing I'm unsure about is how to handle retries for the score ID retrieval.


Allow exclusion of subject/site using yaml for generate_figure.py

Currently, subjects and sites to exclude from generating figures are defined directly inside generate_figure.py script. It would be better to pass this information as input yaml config file.

@valosekj are you working on this issue ? If not, I can implement a solution for it. Thanks.

@valosekj are you working on this issue ?

No, I am not.

If not, I can implement a solution for it. Thanks.

It would be great 👍


Fix typo where CI tests were never run in chrome

This is simply an oversight. If the tests pass I will merge.
Sadly I don't think the docker cache is being used during builds anymore, but I don't have the energy or wherewithal to go down that undocumented rabbit hole again.

Sadly I don't think the docker cache is being used during builds anymore, but I don't have the energy or wherewithal to go down that undocumented rabbit hole again.

Ok now I'm just confused, this PR builds containers twice as fast as the previous one I merged, but still seems to not cache some stages. Either this is some lucky coincidence of hardware usage, or intermediate PRs are trashing the cache (by e.g., not including the most recent changes to builds).


[Accessibility] [Programmatic Access] Fix an error in the 'Live Chat' tab

Describe the issue
It will be an issue for the screen reader user if the name property of any focusable element is defined as null as they will not get the idea of the control and hence will face issues navigating further.
Actual behavior:
Name property of the controls like edit boxes is defined as null.
Expected behavior:
Name property of the controls like edit boxes should not be defined as null.
Repro Steps:

Open Bot Framework Emulator installed on the system.
Bot Framework Emulator Application with Welcome screen opens.
Navigate on the welcome screen and select Open Bot button.
Open A bot Dialog opens, navigate on the dialog and enter inputs in edit fields and select Connect button.
Bot Gets connected and a new Tab "Live Chat "opens, Navigate on the tab.
Verify the issue.

Changes included in the PR

Added the name property to some elements in the Live Chat page

Screenshots
Test cases executed successfully

The error is not reported anymore

Coverage remained the same at 67.816% when pulling d092fdf649cc59284154dbd92fce40455377df99 on southworks:external/fix/southworks/fix-null-name-in-focusable-elements into 9a794fb17f8d3fe39eeda19c755c96b951c81f40 on microsoft:main.


This tweak seems to not work on Filza v3.7.7-4. Would it be possible to update/fix it?

This tweak seems to not work on Filza v3.7.7-4. Would it be possible to update/fix it?
Originally posted by @The-SamminAter in https://github.com/Skittyblock/FilzaPlus/issues/4

Developer
Apps Developer


undefined reference to `__sync_synchronize'

Hi,
I Get this error:
opt/st/stm32cubeide_1.13.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_<IP_ADDRESS>305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ros/CLionProjects/csmr/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/libmicroros.a(librcutils-atomic_64bits.c.obj): in function `unlock_memory':
atomic_64bits.c:(.text+0xa0): undefined reference to `__sync_synchronize'
/opt/st/stm32cubeide_1.13.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_<IP_ADDRESS>305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ros/CLionProjects/csmr/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/libmicroros.a(librcutils-atomic_64bits.c.obj): in function `__atomic_load_8':
atomic_64bits.c:(.text+0x11c): undefined reference to `__sync_synchronize'
/opt/st/stm32cubeide_1.13.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_<IP_ADDRESS>305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ros/CLionProjects/csmr/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/libmicroros.a(librcutils-atomic_64bits.c.obj): in function `__atomic_store_8':
atomic_64bits.c:(.text+0x198): undefined reference to `__sync_synchronize'
/opt/st/stm32cubeide_1.13.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_<IP_ADDRESS>305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ros/CLionProjects/csmr/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/libmicroros.a(librcutils-atomic_64bits.c.obj): in function `__atomic_exchange_8':
atomic_64bits.c:(.text+0x214): undefined reference to `__sync_synchronize'
/opt/st/stm32cubeide_1.13.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_<IP_ADDRESS>305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ros/CLionProjects/csmr/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/libmicroros.a(librcutils-atomic_64bits.c.obj): in function `__atomic_fetch_add_8':
atomic_64bits.c:(.text+0x2a8): undefined reference to `__sync_synchronize'

How to resolve this error

You can disable building atomic_64bits.c file here: https://github.com/micro-ROS/micro_ros_stm32cubemx_utils/blob/3819f6819cee1ff01c3da58ecbc8bfcbf4b0a2a5/microros_static_library_ide/library_generation/colcon.meta#L26C19-L26C40

You can disable building atomic_64bits.c file here: https://github.com/micro-ROS/micro_ros_stm32cubemx_utils/blob/3819f6819cee1ff01c3da58ecbc8bfcbf4b0a2a5/microros_static_library_ide/library_generation/colcon.meta#L26C19-L26C40

thank you very much

You can disable building atomic_64bits.c file here: https://github.com/micro-ROS/micro_ros_stm32cubemx_utils/blob/3819f6819cee1ff01c3da58ecbc8bfcbf4b0a2a5/microros_static_library_ide/library_generation/colcon.meta#L26C19-L26C40

Another error occurred
/opt/st/stm32cubeide_1.13.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_<IP_ADDRESS>305231506/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ros/CLionProjects/csmr/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/libmicroros.a(librcl-time.c.obj): in function rcl_get_ros_time':
time.c:(.text.rcl_get_ros_time+0xa): undefined reference to __atomic_load_8'

That is the point that you need to have 64 bits atomics in your platform to use micro-ROS. If your native platform does not implement them nor is able to build the provided ones, you need to provide an implementation of __atomic_load_8


'lineBreakStrategyIOS' type  missing for Text, TextInput on 0.71 stable (0.71.12)

Description
'lineBreakStrategyIOS' type on Text & TextInput is missing on 0.71 stable (0.71.12), which is declared on 0.72 stable.
React Native Version
0.71.12
Output of npx react-native info
System:
OS: macOS 13.3
CPU: (10) arm64 Apple M2 Pro
Memory: 794.38 MB / 32.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 16.13.1 - ~/.nvm/versions/node/v16.13.1/bin/node
Yarn: 1.22.19 - /opt/homebrew/bin/yarn
npm: 9.6.7 - ~/.nvm/versions/node/v16.13.1/bin/npm
Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.12.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
Android SDK:
Android NDK: 21.4.7075529
IDEs:
Android Studio: 2022.2 AI-222.4459.24.2221.9862592
Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
Languages:
Java: 11.0.18 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: ^18.2.0 => 18.2.0
react-native: ^0.71.11 => 0.71.11
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce

npx<EMAIL_ADDRESS>init
Text & TextInput 'lineBreakStrategyIOS' type missing

Snack, code example, screenshot, or link to a repository

Do you still experience this issue?
I have four years of experience maintaining facebook/react-native and I specialize in the Text and TextInput components. I currently have 58 facebook/react-native PRs.
If you still experience this issue, I will prepare a patched release with the fix.
Thanks a lot

I'm still experiencing this issue, got a console warning that Faild prop type lineBreakStrategyIOS supplied to Text
I'm on 0.71


update links from old repo to new one; add...

What does this PR do?
update links from old repo to new one; add deprecation notice in readme
Signed-off-by: Nick Boldt<EMAIL_ADDRESS>Screenshot/screencast of this PR
N/A
What issues does this PR fix or reference?
N/A (or see commit message above for issue number)
How to test this PR?
N/A
PR Checklist
As the author of this Pull Request I made sure that:

[x] The Eclipse Contributor Agreement is valid
[x] Code produced is complete
[x] Code builds without errors
[ ] Tests are covering the bugfix
[x] The repository devfile is up to date and works, if one exists
[x] Sections What issues does this PR fix or reference and How to test this PR completed
[x] Relevant user documentation updated
[x] Relevant contributing documentation updated
[x] CI/CD changes implemented, documented and communicated

Reviewers
Reviewers, please comment how you tested the PR when approving it.

/bump patch


Textarea does not have an option to pass rows

Your issue may already be reported!
Please search on the issue tracker before creating one.
Expected Behavior
When passing rows to  it should work.
Current Behavior
rows="7" is hardcoded in Textarea.js
Possible Solution
rows=rest.rows || "7" in Textarea.js
Context

In my project, I don't need this big Textarea. 2 or 3 rows are sufficient.

I also need to change the amount of rows. Is this library really this incomplete?


Unable to override OmniauthCallbacksController#redirect_callbacks

I noticed that my OmniauthCallbacksController#redirect_callbacks override implementation wasn't being used. I dug into this a bit, and it turns out that the override for omniauth_callbacks will never touch this particular route, as it is defined in config/routes.rb (and not lib/devise_token_auth/rails/routes.rb).
I was able to fix this by moving the route definition to the latter file (where the overrides are considered).
match "#{DeviseTokenAuth.omniauth_prefix}/:provider/callback", controller: omniauth_ctrl, action: "redirect_callbacks", via: [:get]

Does this present other issues? Or can we safely move this route definition and remove config/routes.rb?
I can put a PR together with the update if we're okay with moving forward.

I think we're succeeding in doing what you're talking about like this:
mount_devise_token_auth_for 'User', at: 'api/auth', controllers: {
  omniauth_callbacks: 'devise_token_auth/custom_omniauth_callbacks',
}

That helpful?

@nbrustein That doesn't override the redirect_callbacks method for me (it works for other methods but not that specific one). Having the same problem as @tbloncar... any updates?

@nbrustein @frankjwu Right. FWIW, I haven't encountered any issues since implementing the fix I described above.

@frankjwu I just noticed that we also have this in our routes.  So I guess this is why it's working for us:
post "/omniauth/:provider/callback(.:format)", to: 'devise_token_auth/custom_omniauth_callbacks#redirect_callbacks'

I thought that was just ensuring that we handle posts appropriately (as opposed to gets) when using omniauth-saml, but maybe that's the reason it works at all.

@tbloncar i think i'm having the same problem as you. i tried moving the route into lib/devise_token_auth/rails/routes.rb with no luck, however. does your current fork have this change implemented?

@medaglia I don't have this change on my fork, but it looks like I just added the following beneath this line.
match "#{DeviseTokenAuth.omniauth_prefix}/:provider/callback", controller: omniauth_ctrl, action: "redirect_callbacks", via: [:get]
Is this—save the specific location on line 54—the same change that you implemented?

thanks @tbloncar, that resolved my issue.

Okay. Cool. Welcome.

This seems like it should probably get merged into master, especially if you haven't seen any problems with it (@tbloncar).

@tbloncar - if you have a PR for this already, I'll merge it!

Is the fix from @tbloncar been merged ? @booleanbetrayal  thanks.


[BUG] Memory overflow when lora fine-tuning meta-llama/Meta-Llama-3.1-8B-Instruct

Describe the bug
When finetuning a Llama 3.1 Instruct LLM, the memory consumption increases from 90 GB to over 200 GB after approx. 60 iterations. Because of this my M3 Max Macbook with 128GB memory crashes. Below is my config and the command. I cannot provide the data set itself as it contains sensitive data. But below is an example.

To Reproduce
Code Snippet:
mlx_lm.lora --config "fine_tuning/lora_config.yaml"

model: "meta-llama/Meta-Llama-3.1-8B-Instruct"
train: true
data: "fine_tuning/"
seed: 0
lora_layers: 16
batch_size: 4
iters: 2573
val_batches: 25
learning_rate: 1e-5
steps_per_report: 10
steps_per_eval: 200
resume_adapter_file: null
adapter_path: "adapters"
save_every: 100
test: false
test_batches: 100
max_seq_length: 8192
grad_checkpoint: false
use_dora: false
lora_parameters:
  keys: ["self_attn.q_proj", "self_attn.v_proj"]
  scale: 0.5
  rank: 16
  dropout: 0.05
lr_schedule:
  name: cosine_decay
  warmup: 60
  arguments: [1e-5, 62, 0] # passed to scheduler

Structure of train.jsonl and valid.jsonl (each line contains code from one class to test and one unit test)
{"text":"### Code: import 'package:app\/features\/example\/domain\/entities\/entity.dart';\n... ### Test: import 'package:flutter_test\/flutter_test.dart';\n\nvoid main() {\n}\n"}
{"text":"### Code: import 'package:app\/features\/example\/domain\/entities\/entity.dart';\n... ### Test: import 'package:flutter_test\/flutter_test.dart';\n\nvoid main() {\n}\n"}

train.jsonl has 2058 records and valid.jsonl 257.
Expected behavior
Constant memory usage.
Desktop (please complete the following information):

OS Version: Version 14.6.1 (23G93)
MLX-LLM-Version: 0.18.1
Version: Mac15,9 with Apple M3 Max and 128GB Working Memory

Additional context
Found this: https://github.com/ml-explore/mlx-examples/issues/738 but memory checkpointing is deactivated.

It simply has to do with the size of the sequence length. Given that your maximum sequence length is 8192 I think you need to enable gradient checkpointing and possibly reduce the batch size.
With gradient checkpointing and a batch size of 1 I need 53GB of memory for the same 16 layer LoRA that you are doing while I need 134GB without checkpointing. One additional benefit is that with gradient checkpointing the memory required is disentangled from the number of lora layers so you can even fine-tune all layers with 55GB of RAM.

The following table is the memory required for sequence length of 8192.
Batch-size | Checkpointing | Memory
-----------+---------------+-------
  1        |  Yes          |  53 GB
  2        |  Yes          |  84 GB
  4        |  Yes          | 154 GB
  1        |   No          | 134 GB <-- with lora layers == 16

From the numbers above we can tell that your sequence length is actually not quite that big (at least all the time) and that is why the training starts and then the memory blows up.
I would

enable gradient checkpointing
reduce the batch size to 2
possibly transform the model to float16 from bfloat16 to squeeze a tiny bit more speed

Feel free to close the issue or let me know if you think there is another problem.

The following table is the memory required for sequence length of 8192.
Batch-size | Checkpointing | Memory
-----------+---------------+-------
  1        |  Yes          |  53 GB
  2        |  Yes          |  84 GB
  4        |  Yes          | 154 GB
  1        |   No          | 134 GB <-- with lora layers == 16

From the numbers above we can tell that your sequence length is actually not quite that big (at least all the time) and that is why the training starts and then the memory blows up.
I would

enable gradient checkpointing
reduce the batch size to 2
possibly transform the model to float16 from bfloat16 to squeeze a tiny bit more speed

Feel free to close the issue or let me know if you think there is another problem.

Thank you very much, I will test that. Where can I view this table? Is there a command for this? The conversion is done via mlx_lm.convert [...] --dtype float16.
A question about the Layers parameter. I have chosen 16 because it is the default value. In the Lora and Qlora paper and for other libraries I have not found any direct information or a recommendation. Do you have a literature recommendation or do you know where in the paper it is discussed?
Translated with www.DeepL.com/Translator (free version)

I want to wait a little longer before closing the ticket because I'm interested in your opinion on my questions and wanted to give you the opportunity to respond. If you don't want to answer, you can also close the issue as resolve. Otherwise I'll set it to be solved at the beginning of next week.  Thank you so much for your help.

Sorry, for the late reply.

Where can I view this table?

I just created it myself by making a dummy dataset with really long texts and set the max sequence length to 8192. I ran it on an M2 Ultra that's why it ran fine even with 154GB of RAM. It is actually quite interesting as all of these got >400 tokens per second even when using >150GB of RAM.

The conversion is done via mlx_lm.convert [...] --dtype float16

Yes.

A question about the Layers parameter.

There isn't a surefire approach here. The less layers you can get away with the better as it will be faster to train and require less memory. Using gradient checkpointing means you 'll need approximately as much memory as for a single layer but you still spend more time when finetuning all layers as the backward pass needs to run all the way back to the first trained layer.
In the paper they fine-tune all layers iirc. Unfortunately you will need to tune these parameters depending on your dataset and model.
Happy to answer more questions even if you post them in a closed issue ;-) .

There isn't a surefire approach here. The less layers you can get away with the better as it will be faster to train and require less memory. Using gradient checkpointing means you 'll need approximately as much memory as for a single layer but you still spend more time when finetuning all layers as the backward pass needs to run all the way back to the first trained layer.
In the paper they fine-tune all layers iirc. Unfortunately you will need to tune these parameters depending on your dataset and model.

Thank you. :) I have found out that Meta-Llama-3.1-8B-Instruct has 32 layers and have now adjusted the parameter accordingly to 32. What do you mean that I have to adjust the parameter also to the data set? How does the data set influence the layer to finetune?
Maybe you can answer another question for me? Do you also have a recommendation regarding the Lora modules? In the Qlora paper a hyper parameter search was performed (https://arxiv.org/pdf/2305.14314) and they found out that LoRA r is unrelated to final performance if LoRA is used on all layers. Which is why I put all the modules I could find in the Llama Recipes. Do you have any experience/recommendations regarding model performance?
  keys: [
    "self_attn.q_proj",
    "self_attn.v_proj",
    "self_attn.k_proj",
    "self_attn.o_proj",
    "mlp.gate_proj",
    "mlp.down_proj",
    "mlp.up_proj"
  ]


Implemeted add game, add author, display author and game

Hello @Matthieu96Code
In this milestone, below are the highlights of what is required to implement.
Highlights :recycle:

Created a Game class in a separate .rb file.
Created an Author class with an association to the Item class (in a separate .rb file).
All Game class properties visible in the diagram should be defined and set up in the constructor method.
All Author class properties visible in the diagram should be defined and set up in the constructor method.

Implement methods:

add_item method in the Author class
should take an instance of the Item class as an input
should add the input item to the collection of items
should add self as a property of the item object (by using the correct setter from the item object)
can_be_archived?() in the Game class
should override the method from the parent class
should return true if parent's method returns true AND if last_played_at is older than 2 years
otherwise, it should return false

Thank you you for the approval @Matthieu96Code


Ret 3504 func tests skeletons

Before creating a pull request make sure that:

[x] commit messages are meaningful and follow good commit message guidelines
[x] README and other documentation has been updated / added (if needed)
[x] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

closed as template has been used in master/1.2


a genuine calamity

doesn't work on windows at all (codespaces, yay)
drops commands if they have options (omegalul)
deploys global commands in dev mode (why?)
none of the guide actually provides proper explanations or examples, whilst I can just read the source, it still is a pretty shit guide

Hey 👋,
Thanks for your feedback and bringing these issues to our attention.

Windows compatibility: Disploy is designed to be platform-agnostic and should work on any operating system that supports Node.js (that includes Windows 🙃). If you're encountering a specific issue, could you consider providing more details (preferably in a new issue) such as error messages or logs? This will help us identify and fix the problem.

Dropping commands with options: I think I know the issue you're experiencing with commands dropping when options are applied. The logic for diffing what needs to be updated was written in the middle of one of my classes, and it seems it needs a complete rewrite.

Deploying global commands in dev mode: When using disploy dev, the idea is that you'd be using a different Discord application, not your production application, which is why it deploys globally. That being said, we understand that this might not be ideal for all use cases, and we're considering implementing a flag to control this behavior.

Guide and documentation: I appreciate your feedback on our documentation. I strived to make Disploy as user-friendly as possible, and spent days writing up disploy.dev, and personally I agree with you, the docs/guide are a massive mess and hard to understand without any background knowledge. If there are specific areas or topics that you think need more detailed explanations or examples, your contributions would be greatly appreciated. Disploy is an open-source project, and we welcome all community contributions to help make it better.

was a little exaggerated but mostly what's fucked is the create app cli since it looks for a path that doesn't exist on windows, very evident typo in the path to the executable

took quite a while to figure out that that was the issue but good that at least it's on the radar

that doesn't make much sense as a response overall. while developing you need to use guild commands as they populate changes instantly. using a different application does not resolve the fact that pushing global commands while developing is dumb, as you can't rely on any changes to the command structure actually being processed

it's less that they're hard to understand it's just mostly that they're jumbled across with different code examples that apply to different releases which is a little yikes, but overall I'm more concerned with all the functional issues rather than the documentation


Transparent support for 64-bit indexing in device algorithms

Summary
The user-friendly cub::Device* entry points into the CUB device algorithms assume that the problem size can be indexed with a 32-bit int. As evidenced by a slew of bug report against both CUB and Thrust, this often surprises users.
Current Workarounds
In #129, the recommendation is made to have users reach into the implementation details of CUB to directly instantiate and use the underlying cub::Dispatch* interfaces with 64-bit OffsetT types. This is what Thrust has been doing with its THRUST_INDEX_TYPE_DISPATCH macros.
Details
⚠ Note: this section is out of date and under active discussion. See the comments below for the current proposal. ⚠
Currently, the CUB device algorithms will fail if the problem size cannot be indexed using 32-bit integers. Users must reach past the public APIs and into the Dispatch layer to directly instantiate the algorithms with 64-bit index types if they want to use larger inputs. CUB's test harness does not check whether that these instantiations yield correct results, and while performance is expected to suffer with 64-bit indices, this impact is not quantified.
This situation is confusing for users and fragile. Large problem sizes are not uncommon in modern HPC applications, and we should fully support, test, and evaluate the performance of these usecases.
Some concerns have been raised about increasing compile times. Since the algorithm implementations must be instantiated twice, once for each index type, the build time is expected to roughly double. This can be worked around by controlling the instantiation with preprocessor macros. Users that will primarily target large datasets may only want to instantiate the 64-bit indexed path, while users who exclusively deal with smaller data can safely restrict the instantiations to the 32-bit indexed path.
Disabling either of the 32-bit or 64-bit indexed paths will limit the capability of the algorithm at runtime, and users should be able to detect if their problem size is inappropriate for the available indexing options. If the problem size is too large for 32-bit indexing and 64-bit indexing is disabled, the algorithm will fail gracefully with a clearly explained diagnostic. If the problem size is appropriate for 32-bit indexing but only 64-bit indexing is available, the user will be able to request that a warning is written to the CubLog diagnostic stream.
An additional concern is that this will require changes to the device algorithm call signatures, which exclusively use int parameters to pass problem sizes. These will need to be updated to size_t or cuda::std::int64_t. This change will be source compatible with existing usage, and is safe to do in a minor release.
Deliverables

[ ] Device algorithms will detect problem sizes at runtime and dispatch to either 32-bit or 64-bit indexed instantiations.

Use a mechanism similar to what Thrust does with the indexing macros.

[ ] Opt-out of 64-bit or 32-bit instantiations via preprocessor macros.

Save compile time for power users who are able to restrict problem sizes.

[ ] Preprocessor option to log warnings when 32-bit indexing could be used but is disabled.
[ ] Graceful failure with clearly explained diagnostic when 64-bit indexing is required but disabled.
[ ] Test all device algorithms with large problem sizes.
[ ] Unit test for '64-bit indexing required but disabled' diagnostic.
[ ] Remove dispatching code from Thrust and just call CUB device algorithms directly.

Makes Thrust code easier to read, write, and maintain.

Thank you for raising this concern @allisonvacanti. A point of reference for this discussion can be found in https://github.com/cupy/cupy/issues/3309, which in turn points to #129 that you already referenced. An acceptable compromise to me is to keep cub::Dispatch* documented as a public API. Downstream libraries like CuPy need to get this kind of strong guarantee in order to move on and actually use it. We don't have the bandwidth to chase after changes in CUB if it's considered private. Thanks.

@leofang My suggestion was to keep the Dispatch layer private, but automatically switch to 64-bit indices in the Device layer when needed. This way, there's only one entry point that users should need to worry about and they won't have to even consider their input size when calling into CUB -- we'll just do "The Right Thing" for the provided inputs.
Is there a reason you would prefer to continue using the Dispatch layer instead?

I was merely summarizing my thoughts from cupy/cupy#3309. As I said it's a compromise, so if there's an alternative way (like what you suggested) it would be certainly better! 🙂 We haven't done any work using the dispatch layer yet.

Related: #215 from @RAMitchell fixed a number of index truncations in the Agent layer.

It is certainly true that adding int64_t instantiations increases compile time, and that they come with a non-trivial performance penalty. In pytorch land we are working around both these problem by splitting inputs into the chunks that can be processed with int32_t indexing. This may be hard to impossible to do for some algorithms (e.g. sort), but other (reduction, scan, compaction) lend themselves very well to this optimization. In fact, pytorch has its own wrapper around scan that allows it to use int32_t scan from cub for arbitrarily large inputs  https://github.com/pytorch/pytorch/blob/d9e6750759b78c68e7d98b80202c67bea7ba24ec/aten/src/ATen/native/cuda/ScanKernels.cu#L474-L518

Just to update the status of this issue, it's been pushed back to the 1.13-1.14 milestone. I'm working on a new performance monitoring and tuning framework for Thrust/CUB, and I'd like to have that in place before I make any large changes that could impact performance. 64-bit indexing is still one of my top priorities once I can safely start making sweeping changes like this.
@ngimel Thanks for sharing that example -- it sounds an approach that we should explore to optimize these.

This came up in the context of #340, making a note here.
The "preprocessor macros to control 32-bit vs 64-bit vs both code paths" implementation could be something like:
// Create cub/detail/offset_dispatch.cuh and define this CUB_OFFSET_DISPATCH
// macro:

#if defined(CUB_NO_32BIT_OFFSETS) // Always 64-bit offsets

#define CUB_OFFSET_DISPATCH(impl32, impl64, num_items) impl64

#elif defined(CUB_NO_64BIT_OFFSETS) // Always 32-bit offsets

#define CUB_OFFSET_DISPATCH(impl32, impl64, num_items) impl32

#else // Default; Runtime check + select best offsets

#define CUB_OFFSET_DISPATCH(impl32, impl64, num_items)                         \
  do                                                                           \
  {                                                                            \
    if (num_items <= cub::NumericTraits<std::int32_t>::Max())                  \
    {                                                                          \
      impl32;                                                                  \
    }                                                                          \
    else                                                                       \
    {                                                                          \
      impl64;                                                                  \
    }                                                                          \
  } while (false)
#endif

// Use CUB_OFFSET_DISPATCH in the Device layer to pick a Dispatch
// implementation:
struct DeviceRadixSort
{
  template <typename KeyT>
  CUB_RUNTIME_FUNCTION static cudaError_t SortKeys(...,
                                                   std::size_t num_items,
                                                   ...)
  {
    using Dispatch32 = DispatchRadixSort<false, KeyT, NullType, std::int32_t>;
    using Dispatch64 = DispatchRadixSort<false, KeyT, NullType, std::int64_t>;

    CUB_OFFSET_DISPATCH(
      return Dispatch32::Dispatch(...,
                                  static_cast<std::int32_t>(num_items),
                                  ...),
      return Dispatch64::Dispatch(...,
                                  static_cast<std::int64_t>(num_items),
                                  ...),
      num_items);
  }
};

Other notes:

The Device layer functions should accept std::size_t num_items.
Internally we'll use OffsetT = std::int64_t or std::int32_t when instantiating the Dispatch layer templates.

We can revisit this later, but for now stick with signed types. The current implementations are written and tested using signed types, and we'd risk introducing regressions by switching to unsigned.

We should leave the Device layer functions that accept int num_items in place.

This way users won't have to work-around signed-vs-unsigned warnings in code that currently passes int.
Once we have all CUB device algorithms ported to support std::size_t num_items, we can deprecate all of the int num_items overloads at once.

I think other libraries were using int64_t or long long int rather than size_t with the thought being that 2^63 was sufficiently large to handle all cases, and the sign bit could help with sentinels or error codes. If I'm understanding correctly, is the user going to be exposed to a size_t, but internally it was cast to a signed 64-bit? Can the exposed API just be signed 64?

It is certainly true that adding int64_t instantiations increases compile time, and that they come with a non-trivial performance penalty. In pytorch land we are working around both these problem by splitting inputs into the chunks that can be processed with int32_t indexing.

To add more context, in RAPIDS cuDF our input sizes are also limited to int32_t (but this is not without a lot of consternation from users).
This requirement largely comes from the Apache Arrow spec, which historically limited the size of a column to an int32_t.
I'd be curious to look at how various STL implementations handle this problem in various std:: algorithms. Maybe they just always use size_t and don't worry about it.

Looking at something like std::for_each_n, the size parameter type is a template, so that allows configuration and avoids any double instantiation without any macro stuff.
It wouldn't work for existing code, but one option would be making all CUB algorithms be *_n algorithms where the size type is a template.
This is much further out, but we could also look at solving this problem with a ranges like interface for CUB algorithms. The return type of ranges::size is deduced from the static properties of the viewed range. So users could select the CUB instantiation implicitly based on the size_type of their container/range.

Can the exposed API just be signed 64?

I'm concerned about signed/unsigned warnings in the common case of using a container (e.g. std::size_t thrust::device_vector<T>::size()) to produce num_items. If we want to use the extra bit for sentinals, etc, that'd be an implementation detail that shouldn't be exposed in the public API.

Could this be a template parameter?

I haven't thought this through completely, but I'm not opposed to this idea. The int case for existing users would still work, and we can use runtime checks to ensure that the passed in type can be converted to a known-good OffsetT, erroring out if needed.
Since the STL handles it this way I imagine it should be fairly robust. Maybe @brycelelbach @griwes or @ericniebler have thoughts on this.
One potential issue is that if a user calls the same function with different types for the size, they'll instantiate multiple instances of what is essentially the same function. Since pretty much everything in CUB is marked __forceinline__, this could be surprisingly problematic. But maybe this will just motivate us to remove some of those annotations...

Couldn't the index type also be inferred from the std::iterator_traits<It>::difference_type?

This would be correct, but I'd prefer the template over this, mainly for the simpler API :P The "64-bit ptrdiff_t" issue shouldn't be a problem, since we'd check at runtime whether 32 or 64 bit indices should be used in the actual implementation based on the value of num_items.

Updating with an offline conversation, we may want to replace the macros with a per-call solution via a policy class. This would prevent surprises (like changing the behavior of Thrust/stdpar).
It would also open the door for additional customizations, like tuning parameter overrides, launch bounds, etc.

Another update from an offline conversation:
Currently the preferred approach is to use the SizeT provided by the user (that is, the inferred type of num_items), and use that to statically deduce OffsetT, adjusting for signedness, etc as required by the algorithm's implementation:
struct DeviceRadixSort
{
  template <..., typename SizeT, ...>
  CUB_RUNTIME_FUNCTION static
  cudaError_t SortKeys(..., SizeT num_items, ...)
  {

    using OffsetT = /* Either int32 or int64 depending on whether or not int32 can represent the full range of SizeT */
    using Dispatch = DispatchRadixSort<..., OffsetT>;
    return Dispatch::Dispatch(..., static_cast<OffsetT>(num_items), ...);
  }
};

This is a much simpler approach than I previously proposed, and provides the user with the most control and flexibility. For each call into a CUB algorithm, the user can choose the exact behavior they desire:

Don't care about peak performance and just want decent performance, ease of use, fast(ish) compiles, and reliability? Just pass std::size_t.
Don't care about 64-bit support and want maximum performance for your smallish datasets? Just pass an int.
Want the right tool for the job under variable conditions, no matter the cost? Explicitly use runtime dispatch.

If we properly document this as a performance consideration, users should be able to get exactly what they want out of it.
Additional considerations:

Avoiding unnecessary template instantiations is important.

Compiling CUB code is slow. For instance, Thrust's test suite takes 2-3 minutes to build for the CPU threaded backends, but 20-60 minutes for the CUB backend (depending on arch flags).
Consumers of CUB often instantiate our algorithms for at least a dozen types in generic template code. According to @jrhemstad, RAPIDS needs to support 25 distinct types. Other libraries I've worked on stick with the 14 built-in numeric types, and face frequent user complaints about compile times and memory requirements when building the CUB-based backends.

Initial benchmarks show that the overhead of using 64-bit indices for inputs that could be indexed with int32 is roughly 10%.

This isn't great, but it isn't catastrophic. Users can write their own runtime dispatch if they're concerned about this.

How many OffsetT should we support in the deduction?

We'll need to explicitly add tests for each type we support, so I think two should be plenty: int32 and int64.
Use signed types (for now) because we've had issues with some algorithm implementations breaking when OffsetT is unsigned.

This means we technically won't support the case where num_items falls between int64_t and uint64_t (e.g. std::size_t on most platforms).
I don't think this is a real issue, we can kick support for num_items > 2^63 this down the road a little longer :)

We need a way to determine the maximum value of a SizeT at compile-time from host/device code.

std::numeric_limits<T>::max() is not usable from device code.
cub::NumericTraits<T>::Max() is not constexpr (We can change this -- this is likely the short term fix)
Eventually we'll be adding dependency on libcu++, so we can use their numeric_limits implementation when that happens. This is the best long-term fix.

There will be some odd issues around 32-bit SizeT signedness: SizeT = int32_t -> OffsetT = int32_t, but SizeT = uint32_t -> OffsetT = int64_t.

This can be addressed via documentation.
We can also add more tests and make the implementations robust against unsigned OffsetT, but this may be a lot of work for some algorithms.

Updated previous comment to incorporate additional feedback from @canonizer @jrhemstad and @dumerrill.
Changes:

Added static_assert(std::is_integral<SizeT>::value) to Device function body.
Use unsigned offsets instead of signed -- since we'll be porting these algorithms incrementally, we can afford to spend some time fixing any issues that arise from the change in signedness. This avoids surprises when SizeT is uint32 vs int32 (the former would be forced to use int64 signed offsets otherwise).
Added note that there's no point in optimizing for sizeof(OffsetT) < 4, since hardware will promote to 4B anyway.

Use unsigned offsets instead of signed -- since we'll be porting these algorithms incrementally, we can afford to spend some time fixing any issues that arise from the change in signedness. This avoids surprises when SizeT is uint32 vs int32 (the former would be forced to use int64 signed offsets otherwise).

I just happened to be re-reviewing this issue and noticed this.
We should be very careful about forcing things to unsigned. Using unsigned types for loops/indexing can impact performance as the compiler isn't usually able to unroll a loop that uses an unsigned loop variable as it has to allow for the unsigned type to overflow whereas it can assume a signed type will not overflow.

I'm going to close this in favor of https://github.com/NVIDIA/cccl/issues/47 where we will be distill the relevant conclusions from the discussion here.


preserve formatting and comments

Would be nice to include usage of maybe ruamel.yaml to preserve formatting and comments

second that!


after "ldconfig /usr/local/cuda/lib64" I got the error information

/sbin/ldconfig.real: File /usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.418.56 is empty, not checked.
/sbin/ldconfig.real: File /usr/lib/x86_64-linux-gnu/libcuda.so.418.56 is empty, not checked.
/sbin/ldconfig.real: File /usr/lib/x86_64-linux-gnu/libnvidia-fatbinaryloader.so.418.56 is empty, not checked.
/sbin/ldconfig.real: File /usr/lib/x86_64-linux-gnu/libnvidia-ptxjitcompiler.so.418.56 is empty, not checked.
/sbin/ldconfig.real: File /usr/lib/x86_64-linux-gnu/libnvidia-cfg.so.418.56 is empty, not checked.
/sbin/ldconfig.real: File /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.418.56 is empty, not checked.
/sbin/ldconfig.real: File /usr/lib/x86_64-linux-gnu/libnvidia-compiler.so.418.56 is empty, not checked.
Does anyone know, what is wrong? Thanks!

i got the same issue.

The issue is that the container image was built using the nvidia-conainter-runtime instead of runc. This causes the NVIDIA Container CLI to mount these files into the container frokm the host and these are then left as zero-byte files.
Could you confirm which image this is?

The issue is that the container image was built using the nvidia-conainter-runtime instead of runc. This causes the NVIDIA Container CLI to mount these files into the container frokm the host and these are then left as zero-byte files.
Could you confirm which image this is?

i use nvidia-container-toolkit instead of the nvidia-conainter-runtime, but i think maybe is actually caused by the problem you mentioned. i can canfirm the image which i use. how can i solved this problem? thanks for you help.

If you can rebuild the image, you should be able to rebuild without the NVIDIA container runtime (also installed as part of the nvidia-container-toolkit package) and have this issue resolved.
If rebuilding the image is not possible, remove the /usr/lib/x86_64-linux-gnu/*.so.418.56 files from the image and repush / retag it.

thanks, let me try.

If you can rebuild the image, you should be able to rebuild without the NVIDIA container runtime (also installed as part of the nvidia-container-toolkit package) and have this issue resolved.
If rebuilding the image is not possible, remove the /usr/lib/x86_64-linux-gnu/*.so.418.56 files from the image and repush / retag it.

thanks. let me try.

If you can rebuild the image, you should be able to rebuild without the NVIDIA container runtime (also installed as part of the nvidia-container-toolkit package) and have this issue resolved.
If rebuilding the image is not possible, remove the /usr/lib/x86_64-linux-gnu/*.so.418.56 files from the image and repush / retag it.

why?  i saw that host with the container has libnvidia-ml.so but refer to libnvidia-ml.so.

Encountered the same problem as @Davidrjx, has this problem been solved?


[Map] DM-ukXtreme-1on1-LastMan2

Not an Unreal map - the map type is .ut2

URL: https://unrealarchive.org/maps/unreal/1-on-1/D/dm-ukxtreme-1on1-lastman2_24a8897b.html
Hash: 24a8897bea07d4b5107e31716e2b6a70685905cc
Current name: DM-ukXtreme-1on1-LastMan2

Hmm. Wonder how that happened.
Fixed.


delete-your-jquery-functions should be merged with next challenge

NOTE: This is not a major issue
Hi, on the jquery course there is a challenge called delete-your-jquery-functions where you delete the jquery function however I think this is a waste of challenge as you aren't exactly learning anything new or practicing a skill therefore you could merge it with the next challenge instead.

Hello there,
Thank you, for taking the time to open this. I would tend to agree with you. I suspect, when this was originally written, the intent was to prevent the previous/next challenge from being too cluttered/require too many steps.
I do not think anything will be done about these challenges though, as this is not a bug, and no more challenges for this version of the curriculum are being created/removed.
Majority of the work being done is being done on version 7 of the curriculum - I do not think that is the best link explaining the next version, but I cannot find the exact one
I will leave this open as a feature request for others to comment.

Hey @IntegraterGithub,
As Shaun stated:

I do not think anything will be done about these challenges though, as this is not a bug, and no more challenges for this version of the curriculum are being created/removed.

So therefore I will close this issue


[WIP] Setting to control delta job count for each delta write

Description
See the linked ticket. If we write all jobs at once, apparently the rust implementation load all jobs into memory. If large tables are loaded, this will end up creating a large memory footprint.
We may want to add a setting that controls what the max size of all jobs combined in on write operation maybe. For that we would have to read the filesize of each job from the filesystem, but that is doable. I am not sure.
ToDo:

Maybe write better tests
If this setting is not none, we should force loader_parallelism_strategy to be table-sequential, so the write jobs don't lock each other.

@rudolfix the underlying issue in the rust implementation is being worked on here: https://github.com/delta-io/delta-rs/pull/2289. I'm not sure we should fix this ourselves... My worry when we feed in batches is, that if there job somehow aborts for transient reasons, then the whole reference job will be marked as unloaded and all rows of all files are loaded again on the next try and you can end up with double entries. if we split this up into multiple jobs, this will not happen, or if it does, the amount of double rows is less.

Regarding the suggested solution:

replace write disposition: will it work?
upsert strategy: will it catch duplicate primary_key values if they're in different jobs?
might be slower

My take:

current code does the "right" thing
the delta-rs bug is part of their Rust v1.0.0 Milestone that is due by November 20, so hopefully will be solved soon (one of their main committers self-assigned the issue a couple of days ago)
we should not complicate our code base to work around the bug in the meantime

As a workaround for now, users can prevent memory issues in the load step by yielding a smaller data set during extract?

@Gilbert09 is loading the table in multiple loads and option until the rust implementation is fixed? I tend to agree with @jorritsandbrink that the rust implementation should behave properly.

replace write disposition: will it work?

No, this doesn't work right now, I'm having to force users to use merge for these large tables until the Rust implementation is fixed.

might be slower

It's certainly slower - there's a non-nominal cost in overheads coming from somewhere between each job (likely a delta-rs overhead)
In theory, this doesn't actually need to be merged. I've solved half the issue by monkey patching our DLT implementation (see https://github.com/PostHog/posthog/pull/26040) - the real solution here is the rust implementation being fixed which looks like has some progress now

@rudolfix the underlying issue in the rust implementation is being worked on here: delta-io/delta-rs#2289. I'm not sure we should fix this ourselves... My worry when we feed in batches is, that if there job somehow aborts for transient reasons, then the whole reference job will be marked as unloaded and all rows of all files are loaded again on the next try and you can end up with double entries. if we split this up into multiple jobs, this will not happen, or if it does, the amount of double rows is less.

right! we'll need to use transactions then possibly accumulating all data again in the memory... waiting for delta-rs fix is probably the best way. should we close this PR

closing as won't fix (or rather will be fixed by delta rs hopefully)


Denizen AI Control

It'd be cool if we took like... every little last variable an entity has, particularly related to AI, and make it controllable. In theory you can do crazy stuff. A basic example is toggle whether zombies bash down doors. A more fun example would be bashing down /other block types/ and so forth.

:heavy_plus_sign::+1:

Dibs.

Don't you have events to convert?

Probably but this is much more fun.

@Morphan1 how's this coming?

This has always been a rather strange task to handle. From everything I gathered after looking into it when this issue was created, it seems that we'd need to pretty much tear apart entities completely and piece them back together, involving some maps and lists that by default we don't have access to. So that's fun

Good luck sir, you dibbed it

You'd have to poke into the internals of each minecraft AI goal.

This is probably better to just use Citizens for entities with non-standard AI.


fix: use agent_message_success event as stop condition

Update the conversation_events module with latest changes to Dust typescript types
Change streaming logic to use the AgentMessageSuccess  event as the stop condition
Change streaming logic to avoid streaming Chain Of Thought tokens

👋 @fontanierh let me know if you want to backport it here / reopen the PR ;)

👋 hello @MickaelBergem ! I ended up opening it on raycast directly here: https://github.com/raycast/extensions/pull/13601
There's no way to release it from this repo actually so I'm not convinced this repo serves any purpose


More responsive game windows, fixed image loading and improvements int the loading of fonts.

In this PR I haven't focused on anything special, I just wanted to do something different and I experimented with Rust in the process and overall enjoyed it!
I have made small changes, from optimizing the image build of the Dockerfile and improving the robustness of the Go code for the selfhost, to experimenting a lot with Rust and WASM, implementing an asynchronous loading for the images and fonts which seems to have worked fairly well.
You were usually the one who looked at my projects and gave me feedback on them, which always helped me in one way or another. So now it was my turn! Writing Rust is definitely not as easy as TypeScript, it is MUCH more strict with types and can be very difficult to read at times, yet I found your scripts to be well organized and linear!

Blz feliposo kkk, eu basicamente usei log para mensagens de inicialização e erro pq eu ovi alguém falar q era uma boa prática e eu usei variáveis d ambiente pra facilitar a configuração do aplicativo em diferentes ambientes sem ter que alterar o código.


Noble issue?

Hi, I'm trying to install Ble-Bean, but I run into the following error:
<EMAIL_ADDRESS>install /Users/lgaleana/hackathons/quadcopter/nodejs/node_modules/ble-bean/node_modules/noble
node-gyp rebuild
LINK(target) Release/hci-ble
Undefined symbols for architecture x86_64:
"_main", referenced from:
start in crt1.10.5.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Release/hci-ble] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Darwin 14.4.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/lgaleana/hackathons/quadcopter/nodejs/node_modules/ble-bean/node_modules/noble
gyp ERR! node -v v0.12.7
gyp ERR! node-gyp -v v2.0.1
gyp ERR! not ok
npm ERR! Darwin 14.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "ble-bean"
npm ERR! node v0.12.7
npm ERR! npm  v2.12.1
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the noble package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls noble
npm ERR! There is likely additional logging output above.

 Maybe a newer (or older?) one will build for you? I dont recall this project needing to be locked to any specific version of noble.

Can you confirm 1.0 compatibility? Ill bump dep to that if so.

just tested 1.1.0 and looks like ble-bean is good


HSEARCH-3101 Search 6 groundwork - Support aliases for backend factories

https://hibernate.atlassian.net//browse/HSEARCH-3101

Pull Request Test Coverage Report for Build 1

67 of 80 (83.75%)  changed or added relevant lines in 18 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.2%) to 87.126%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

engine/src/main/java/org/hibernate/search/engine/environment/bean/BeanReference.java
2
3
66.67%

engine/src/main/java/org/hibernate/search/engine/environment/bean/impl/BeanCreationContextImpl.java
3
4
75.0%

engine/src/main/java/org/hibernate/search/engine/environment/bean/impl/ConfiguredBeanKey.java
9
10
90.0%

mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateOrmBeanContainerBeanResolver.java
0
1
0.0%

mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingInitiator.java
0
1
0.0%

engine/src/main/java/org/hibernate/search/engine/environment/bean/ImmutableBeanReference.java
4
6
66.67%

mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/definition/annotation/impl/AnnotationProcessorHelper.java
4
6
66.67%

engine/src/main/java/org/hibernate/search/engine/environment/bean/impl/BeanProviderImpl.java
22
26
84.62%

Files with Coverage Reduction
New Missed Lines
%

engine/src/main/java/org/hibernate/search/engine/environment/bean/ImmutableBeanReference.java
1
37.5%

Totals

Change from base Build 94:
0.2%

Covered Lines:
11918

Relevant Lines:
13679

💛  - Coveralls

Very elegant way to do it. Looks good to me.

Merged, thanks


Multiple players playing simultaneously

Hi,
thanks for the great plugin. However, I have a small problem.
I have several video elements on the same page.  How can I automatically pause current player if another one is clicked?
Thanks!

I have same problem and looking for solution too. Any ideas?

This might be a nice feature to implement. Anyone want to take it on?

I found the basis for this on stackoverflow and hacked it until it worked:
/ make an array for the mediaelement players
mediaElementPlayers = new Array();
jQuery('audio,video').mediaelementplayer(
{
audioWidth: 25,
audioHeight: 25,
startVolume: 0.8,
features: ['playpause'],
success: function (mediaElement, domObject) {
          // add this mediaelement to the mediaElementPlayers array
          mediaElementPlayers.push(mediaElement);

          // bind the play event to the pauseAllPlayers function
          mediaElement.addEventListener('play', function(e) {
              pauseAllPlayers(e.target); }, false); }
});

// iterate through the mediaElementPlayers array, pause all players except the one that triggered the event.
function pauseAllPlayers(currentPlayer){
for(i=0; i<mediaElementPlayers.length; i++){
if(mediaElementPlayers[i] != currentPlayer){
mediaElementPlayers[i].pause();
}
}
}

This will be in 2.4.2

Hi, I want to be able to play all players at the same time. I want to create an app where you can select which hls stream I want to display on the screen.
How can I play multiple HLS streams on the same page?
Rgds,
F


Start Menu Folder

The start menu folder is CMDR John Kozak.  Elite Log Agent would be a lot more clear.

Start menu folder will be changed in next update - to "Elite Log Agent". After update, please check autorun - it may break & become disabled as it depends on start menu item. In worst case, can always reinstall the app (settings are preserved)

Released & checked - works on my machine (tm), but please give me a shout if something breaks for you


fix: LSDV-1066: Bbox can be resized if ImageView is zoomed

PR fulfills these requirements

[x] Commit message(s) and PR title follows the format [fix|feat|ci|chore|doc]: TICKET-ID: Short description of change made ex. fix: DEV-XXXX: Removed inconsistent code usage causing intermittent errors
[x] Tests for the changes have been added/updated (for bug fixes/features)
[-] Docs have been added/updated (for bug fixes/features)
[x] Best efforts were made to ensure docs/code are concise and coherent (checked for spelling/grammatical errors, commented out code, debug logs etc.)
[x] Self-reviewed and ran all changes on a local instance (for bug fixes/features)

Change has impacts in these area(s)
(check all that apply)

[ ] Product design
[x] Frontend

Describe the reason for change
User couldn't resize bbox properly if ImageView was zoomed.
What does this fix?
User can resize bbox as he wants if ImageView is zoomed.
Does this change affect performance?
No
Does this change affect security?
No
What alternative approaches were there?
Today is not possible to rotate a bbox if ImageView is zoomed, an alternative approach is lock the bbox to be resized if ImageView is zoomed as rotate works right know.
Does this PR introduce a breaking change?
(check only one)

[ ] Yes, and covered entirely by feature flag(s)
[ ] Yes, and covered partially by feature flag(s)
[x] No
[ ] Not sure (briefly explain the situation below)

What level of testing was included in the change?
(check all that apply)

[x] e2e
[ ] integration
[ ] unit

Codecov Report
Base: 9.41% // Head: 9.41% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (6464227) compared to base (ef5d207).
Patch has no changes to coverable lines.

Additional details and impacted files
@@          Coverage Diff           @@
##           master   #1167   +/-   ##
======================================
  Coverage    9.41%   9.41%
======================================
  Files         109     109
  Lines        7786    7783    -3
  Branches     1953    1951    -2
======================================
  Hits          733     733
+ Misses       5908    5906    -2
+ Partials     1145    1144    -1

Impacted Files
Coverage Δ

...rc/components/ImageTransformer/ImageTransformer.js
0.83% <0.00%> (+0.02%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Rewrite deprecated Redshift tests

See #3842

Codecov Report

Merging #4331 (70628f6) into master (e88e73a) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4331   +/-   ##
=======================================
  Coverage   95.09%   95.09%
=======================================
  Files         493      493
  Lines       55438    55438
=======================================
+ Hits        52718    52720    +2
+ Misses       2720     2718    -2

Flag
Coverage Δ

servertests
52.80% <ø> (+0.01%)
:arrow_up:

test_responses
32.73% <ø> (ø)

unittests
95.00% <ø> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

moto/sns/responses.py
98.58% <0.00%> (+0.56%)
: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 e88e73a...70628f6. Read the comment docs.


The application drops out of the iframe with a fresh install

For bug reporting only! If you're posting a feature request or discussion, please ignore.
Expected Behavior
Install App:

go to partners.shopify.com->Apps->Click on AppName->Test your app->Select Store->Install App
After click on Install App will a window appears with a list of different scopes and different install information
After this -> press Install App btn
After this Subscription page will be appear -> press on the Approve subscription button
After this App will be installed and index page of my App should be appear in iframe.

Current Behavior
Install App:

go to partners.shopify.com->Apps->Click on AppName->Test your app->Select Store->Install App
After click on Install App will a window appears with a list of different scopes and different install information
After this -> press Install App btn
After this Subscription page will be appear -> press on the Approve subscription button -> this redirect me to the index page of my App in the same tab without shopify menu(not in iframe).
But actually App is installed and working well when I open my app from my store-> Apps->My-App.

Failure Information
As I understand, osiset package redirected to home page after billing/process, so Shopify should open it in Iframe.
I tried do force redirect it to the url of my App( https://' .$shopName . '/admin/apps/' .  strtolower(env('SHOPIFY_APP_NAME')) , but shopify app name can sometimes consist of application name and Id(my-app-7), something like:
https://my-shop1.myshopify.com/admin/apps/my-app-7
so, I can't know exactly the url of my application
We are not use AppBridge on the our frontend part.
So, how can I fix this issue?
Steps to Reproduce

go to partners.shopify.com->Apps->Click on AppName->Test your app->Select Store->Install App
After click on Install App will a window appears with a list of different scopes and different install information
After this -> press Install App btn
After this Subscription page will be appear -> press on the Approve subscription button -> this redirect me to the index page of my App in the same tab without shopify menu(not in iframe).

Context
Package Version: v12.0.1
Laravel Version: v7.19.1
PHP Version: v7.2.24

I've experienced the same but resolved it by enabling AppBridge. Just add the following to your blade file:
@if(\Osiset\ShopifyApp\getShopifyConfig('appbridge_enabled'))
    <script
        src="https://unpkg.com/@shopify/app-bridge{{ \Osiset\ShopifyApp\getShopifyConfig('appbridge_version') ? '@'.config('shopify-app.appbridge_version') : '' }}"></script>
    <script>
        var AppBridge = window['app-bridge'];
        var createApp = AppBridge.default;
        var app = createApp({
            apiKey: '{{ \Osiset\ShopifyApp\getShopifyConfig('api_key') }}',
            shopOrigin: '{{ Auth::user()->name }}',
            forceRedirect: true,
        });
    </script>

    @include('shopify-app::partials.flash_messages')
@endif

This will redirect back to Shopify when your application is not in a iframe.

AppBride is required as thats what handles redirecting it back into the iframe.

Thank you guys!
I added those AppBridge code to my index page and this works as expected!


[SPARTA-467] when a policy is deleted, it's checkpoint folder must be removed

GIVEN a Sparta instance
WHEN you run a policy, wait for checkpoint folder to be created at localhost, stop de policy and finally delete the policy
THEN the checkpoint folder should be removed from localhost path
GIVEN a Sparta instance
WHEN you run a policy, wait for checkpoint folder to be created at HDFS, stop de policy and finally delete the policy
THEN the checkpoint folder should be removed from HDFS path

:shipit:

Comment accepted. Will treat it ASAP

Squashing and checks in progress.


Physics Device not connect metro, but works fine on simulator

Description
It works fine on simulator but with physics device it cannot connect.
Sure i'm using the same wifi network, tried many ways like:

Reset my phone
Unpair and reconnect my phone
reset cache (npm start -- --reset-cache)
...

Steps to reproduce

connect ios physics device with usb and same wifi
npx react-native run-ios --udid "my Identifier"
my iphone using IOS 18.1, XS model

React Native Version
0.76.1
Affected Platforms
Runtime - iOS
Output of npx react-native info
System:
  OS: macOS 15.1
  CPU: (8) arm64 Apple M1
  Memory: 338.73 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 22.9.0
    path: /opt/homebrew/bin/node
  Yarn:
    version: 4.1.1
    path: /opt/homebrew/bin/yarn
  npm:
    version: 10.8.3
    path: /opt/homebrew/bin/npm
  Watchman: Not Found
Managers:
  CocoaPods: Not Found
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.1
      - iOS 18.1
      - macOS 15.1
      - tvOS 18.1
      - visionOS 2.1
      - watchOS 11.1
  Android SDK:
    Android NDK: 22.1.7171670
IDEs:
  Android Studio: 2023.1 AI-231.9392.1.2311.11255304
  Xcode:
    version: 16.1/16B40
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 18.0.2
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 15.1.2
    wanted: ^15.1.2
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.76.1
    wanted: 0.76.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: true

Stacktrace or Logs
No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.
info Reloading connected app(s)...

Reproducer
https://github.com/yedi97/reproducer-react-native
Screenshots and Videos
No response

Did you tried running this using Xcode?

I'm also facing the same issue on the Android real device. it works on the simulator.

Did you tried running this using Xcode?

Yes, but it still not works

Hi

Try shaking the iOS device and adding your IP Address manually. Check if it works.
If the above doesn't work, then remove watchman (if you have) then try the same as above.

I tried both methods above before, but it still doesn't work


Interface with xtrack/xfields for tracking with wakes

Description
We add all the features needed for using in xtrack/xfields wakes coming from xwakes.
We include a number of tests and examples showing how to track with wakes.
We also add a folder with mpi tests, which will have to be added to the test suite.
Checklist
Mandatory:

[x] I have added tests to cover my changes
[x] All the tests are passing, including my new ones
[x] I described my changes in this PR description

Optional:

[x] The code I wrote follows good style practices (see PEP 8 and PEP 20).
[x] I have updated the docs in relation to my changes, if applicable
[ ] I have tested also GPU contexts

Need to add acknowledgments!


Refactor Filter Emoji Filter Method

Refactor multiple if conditions into a single line of code.

Refactor multiple if conditions into a single line of code.


No duplicate imports..still getting error

this.unregisterAuthObserver is not a function     at e.componentWillUnmount (StyledFirebaseAuth.js:1)
Using Next.js and demo code:
import StyledFirebaseAuth from 'react-firebaseui/StyledFirebaseAuth'
import firebase from 'firebase'

@puretext there was a potential race condition in the case where the element was unmounted immediately after it was mounted. I just released v3.0.7 that fixes it. Can you see if it fixes your issue?

@nicolasgarnier it does. Thank You


How can i adjust overlapping of lines

For example:  https://stackblitz.com/edit/angular-leader-rrvdhy-u4kfa3
lines from table1 to table3.

Hi @uds214125, thank you for the comment.
I think that you cut corners too much, then nobody can answer that.
Could you explain about the issue?
Also, what does “from table1 to table3” mean? (i.e. are those indexes?)

My bad. I did not explain it.
"from table1 to table3", I meant to this

lines from "profile" to "meta" and "account" to "meta"  are drawing over the "account" and "address" tables.
How can I draw the line which will draw the line like this

I see.
It seems that you mistook the "table4" for the "table3".
An important point is that, since you gave display: flex to the tables, those are positioned flexibly.
For example, this is view via my computer:

That is, you can adjust lines by specifying fixed position to each table.
For example:

Or, you can specify a transparent color to allow you to look tables even if the lines overlap those.

Or, you can specify path and others to adjust lines.

No reply came, then this abandoned issue is closed.


Fix TODOs in apalache.tla.bmcmt

Addressed some of the TODOs. There are still plenty of them. Retargeting for another milestone.

That is too abstract. Closing the issue.


python312Packages.fastcore: 1.5.53 -> 1.5.54

Diff: https://github.com/fastai/fastcore/compare/refs/tags/1.5.53...1.5.54
Changelog: https://github.com/fastai/fastcore/blob/1.5.54/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 328607 run on x86_64-linux 1

6 packages marked as broken and skipped:

python311Packages.fastai
python311Packages.fastai.dist
python311Packages.openllm
python311Packages.openllm.dist
python312Packages.openllm
python312Packages.openllm.dist

22 packages built:

ghdorker
ghdorker.dist
python311Packages.execnb
python311Packages.execnb.dist
python311Packages.fastcore
python311Packages.fastcore.dist
python311Packages.fastdownload
python311Packages.fastdownload.dist
python311Packages.ghapi
python311Packages.ghapi.dist
python311Packages.nbdev
python311Packages.nbdev.dist
python312Packages.execnb
python312Packages.execnb.dist
python312Packages.fastcore
python312Packages.fastcore.dist
python312Packages.fastdownload
python312Packages.fastdownload.dist
python312Packages.ghapi
python312Packages.ghapi.dist
python312Packages.nbdev
python312Packages.nbdev.dist


[ENG-576] Remove MSW from OWA

We use Mock Service Worker in the Hubspot tests, but the upgrade to v2 is causing problems, this PR changes the approach to mock fetch calls with Jest mocks instead.
Validation: the Hubspot tests still make sense and still pass.

:tada: This PR is included in version 1.336.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Cosmos Issue #6253: Port RntbdRequestTimer memory leak fix from V4

READY FOR REVIEW AS PR #6242 AND #6251 ARE COMPLETE
See PR #6251

/azp run java - cosmos - tests

/azp run java - cosmos - tests

/azp run java - cosmos - tests

/azp run java - cosmos - tests

/azp run java - cosmos - tests

Some timeout failures in CI not related to this change.


Smari RC widget should use Rocketlet Infrastructure

Though it was convenient with respect to reducing the number of requests between widget and smart-server to submit the analysis back to the incoming web hook in Rocket.Chat, I propose not to send data - but only a timestamp of the last message analyzed and error code: This trigger can then be propagated to the widget in order to GET the latest results. Else, a huge amount of information would be redundantly stored at the consumer’s (Rocket.Chat)-side. Also, this provides a mechanism to deal with mis-ordered responses.

It is a duplicate of #4


Last update time in not saved in the database

@dsnet After the recent commit ( https://github.com/google/safebrowsing/commit/8330eb8fabf88ed7fdbd4fa84c541a1e42d20e50 ), the command-line sblookup tool re-downloads the database on each run even if less than 30 minutes passed since the last run:
> echo "http://testsafebrowsing.appspot.com/apiv4/ANY_PLATFORM/MALWARE/URL/" | sblookup -apikey=... -db=google.db
safebrowsing: 2016/08/17 00:14:26 database.go:108: database loaded is stale
safebrowsing: 2016/08/17 00:14:29 database.go:280: database is now healthy
Unsafe URL: [{testsafebrowsing.appspot.com/apiv4/ANY_PLATFORM/MALWARE/URL/ {MALWARE ANY_PLATFORM URL}}]

> echo "http://testsafebrowsing.appspot.com/apiv4/ANY_PLATFORM/MALWARE/URL/" | sblookup -apikey=... -db=google.db
safebrowsing: 2016/08/17 00:14:31 database.go:108: database loaded is stale
safebrowsing: 2016/08/17 00:14:36 database.go:280: database is now healthy
Unsafe URL: [{testsafebrowsing.appspot.com/apiv4/ANY_PLATFORM/MALWARE/URL/ {MALWARE ANY_PLATFORM URL}}]

If I insert debug printf statements, they show that the last update time is not saved in the database. Before this commit, it was okay. Could you please check this?

Thanks for the report, I'll look into it


Support for Rocky Linux 9

Hello!
We are thinking of using this for our scverse projects (https://github.com/scverse/anndata, https://github.com/scverse/scanpy, https://github.com/scverse/rapids_singlecell) on our own little server.  We are running Rocky Linux at the moment.  What are the prospects for Rocky Linux 9?  Is the issue just recompiling?
Our server is currently written in Rust so another option would be calling directly from our server into an API here, although I don't see a lib.rs file.  So that could also work if you'd be willing to add that.
Thanks!
Ilan

Hello, I'm not familiar at all with rocky linux. But theoritically yes, you would just need to  compile the runner and also valgrind-codspeed and it should be enough for this to work. Otherwise, you can definitely use GitHub actions runners(running Ubuntu), it's completely free for OSS projects and the project you sent seem to be open source

@art049 Thanks for the reply.  We are also interested in this for large-scale testing i.e., what happens when we throw 15, 30, 100 etc. GB of data at our functions.  For this, we have a benchmarking machine which runs rocky linux.


Remove github references in fava/static/package.json

When I build fava with docker, it complains at the make build-js step because I don't have my github account ssh keys available.
Can you remove the github: from package.json?
https://github.com/aumayr/fava/blob/master/fava/static/package.json#L37
I've been doing it for a while in my own Dockerfile and it just seems to clone from the https url instead of the ssh one.

Sure!
For reference: https://docs.npmjs.com/files/package.json#github-urls


Add missing prefix for CheckoutSessionItemId

Summary
Adds the missing "li_" prefix for CheckoutSessionItemId.
This can be seen in the documentation here:
https://stripe.com/docs/api/checkout/sessions/line_items
I also see the same prefix with the Stripe CLI, using stripe checkout sessions list --expand data.line_items
Checklist

[x] ran cargo make fmt
[x] using conventional commits to hightlight user-facing fixes and features

I also verified the modified crate against data from a live stripe API:
let expand = ["line_items"];
let result = CheckoutSession::retrieve(&client, &session_id, &expand).await?;
println!("{result:#?}");

and observed within the results:
   line_items: List {
        data: [
            CheckoutSessionItem {
                id: CheckoutSessionItemId(
                    "li_1Mh3pWFf8peiXbpDMszIA8TT",
                ),
...

Solid, TY. Going to run CI and merge.


Why it's  instead of  tag？

When I insert an image in .md file:
[alt](http://mydomain.com/img.jpg)
Then generated HTML will be:
<embed src="http://mydomain.com/img.jpg">
Above is not what I want, and I think,it should be:

What can I do？Please help me, thankyou！

Sorry but I cannot reproduce your problem
I tested on the following .md file
[alt](http://mydomain.com/img.jpg)
[alt](http://mydomain.com/img.mp4)

![alt](http://mydomain.com/img.jpg)
![alt](http://mydomain.com/img.mp4)

(notice the different syntax for link and media, i think you have a typo in your issue report. Though judged by that you got a <embed> tag, you probablly correctly used the second syntax)
I got
alt
alt

<video src="http://mydomain.com/img.mp4" controls="">alt</video>

as expected.
Actually, when I then went to my older machine with pandoc 2.11.1, for the video I got an image tag. So I suspect that your pandoc is even older than 2.11.1.
Hence, can you 1) report the version of pandoc caused your problem; 2) update pandoc and see if the issue is gone?

Thanks for your reply! I am so excited about that you send me a reply.
You remindwd me what caused the problem:
Since i am using Aliyun OSS to store my image file, my link accurately is "http://mydomain.com/img.jpg-gz", where "-gz" is a suffix needed by Aliyun OSS if I want to process the image(e.g. add water-mark) before displalying it in the browser.
By the way, my pandoc is on<IP_ADDRESS>
谢谢你的回复，通过你的回复。我发现问题出现在哪里了。因为我是使用阿里云对象存储来存储我的图片，而这样图片的src地址后面有一个样式处理后缀-gz，这就使得pandoc不能识别到图片的后缀，从而生成了一个更通用的embed标签。请问有办法可以解决这个问题吗？还是说我必须去掉额外的后缀(这样我就不能使用阿里云对象存储提供的图像处理功能了，例如加水印)
对了，我的博客地址是:feigeek.com
再次感谢您！
---Original---
From: @.>
Date: Tue, Apr 6, 2021 15:47 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [wzpan/hexo-renderer-pandoc] Why it's <embed> instead of  tag？ (#41)
Sorry but I cannot reproduce your problem
I tested on the following .md file
alt alt
(notice the different syntax for link and media, i think you have a typo in your issue report. Though judged by that you got a <embed> tag, you probablly correctly used the second syntax)
I got
alt alt  <video src="http://mydomain.com/img.mp4" controls="">alt</video>
as expected.
Actually, when I then went to my older machine with pandoc 2.11.1, for the video I got an image tag. So I suspect that your pandoc is even older than 2.11.1.
Hence, can you 1) report the version of pandoc caused your problem; 2) update pandoc and see if the issue is gone?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Looking at the source code of Pandoc, I see that pandoc inspects the extention of the url and generate HTML tags according to it, and does not give anyway to specify the MIME type. This matter is complicated because Pandoc decided to overload the markdown image syntax for audio/video and other things.
Moreover pandoc filter does not help, since the problem happens after filters are invoked.
So there seem only one way around the problem is this: hardcode the raw HTML tag  in you .md file.
With this markdown
![alt](http://mydomain.com/img.jpg)
![alt](http://mydomain.com/img.mp4)

I got

<video src="http://mydomain.com/img.mp4" controls="">alt</video>

Thanks a lot! I got.
By the way, the github flavoured task list (or called todo list) cannot be rendered correctly. However, the pandoc support this feature as they stated that in their mannual.
---Original---
From: @.>
Date: Tue, Apr 6, 2021 17:15 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [wzpan/hexo-renderer-pandoc] Why it's <embed> instead of  tag？ (#41)
Looking at the source code of Pandoc, I see that pandoc inspects the extention of the url and generate HTML tags according to it, and does not give anyway to specify the MIME type. This matter is complicated because Pandoc decided to overload the markdown image syntax for audio/video and other things.
Moreover pandoc filter does not help, since the problem happens after filters are invoked.
So there seem only one way around the problem is this: hardcode the raw HTML tag  in you .md file.
With this markdown

I got
 <video src="http://mydomain.com/img.mp4" controls="">alt</video>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Glad I resolved your issue. I'm closing this one now.
As for this:

the github flavoured task list (or called todo list) cannot be rendered correctly. However, the pandoc support this feature as they stated that in their mannual.
Can you open a new issue and provide a minimal reproducible example there?


Grant ChildProcessSecurityPolicy for MIDI from PermissionManager

PermissionManager should set ChildProcessSecurityPolicy for MIDI SysEx
permission. Otherwise, the browser kills unauthorized renderers that are
going to send MIDI SysEx messages.
Fixes #138.

Awesome, thanks!


Fixes #140392 - Implement workbench.action.exitZenMode

This PR fixes #140392

[x] I've gone over this issue on my own

Issue Summary
According to the original submitter:

Command "workbench.action.exitZenMode" would turn on Zen Mode when not in ZenMode

This occurred because exitZenMode would call toggleZenMode, which fires regardless of whether Zen Mode is on.
Proposed Changes
Added isInZenMode. Switched exitZenMode to call toggleZenMode only when isInZenMode reports the editor is in Zen mode instead.
Testing

Switch to the build of the feature branch.
Assign a hotkey to workbench.action.exitZenMode.

suggested defaults that don't collide with other shortcuts are alt+e alt+w for Windows or Linux, or if on Mac, alt+cmd+g

Try using the hotkey when not in Zen Mode. Ensure that it does not toggle Zen Mode on.
Try using the hotkey when in Zen Mode (on Mac, Zen Mode can be toggled on by default via cmd-k z). Ensure that it toggles Zen Mode off.

No worries! Currently swamped with work. Will ping when I get a chance to implement this

Thanks for working on this! I will be closing it out in favor of #144217


UX to support adding description timestamps

Currently, adding video timestamps to a description is a manual process - must type out time correctly, and have a new line between each - i.e. copy/paste from somewhere else may not wor. Also, a space is needed if 2 stamps are in 1 line too.
There should be a clearer/easier way for creator to timestamp videos. The idea would be to insert the timestamp automatically if a creator has navigated to a certain area of the video. This would need to use a similar tool to how to do thumbnails.

and have a new line between each - i.e. copy/paste from somewhere else may not wor.

This is a temp bug after upgrading remark-breaks and will be fixed by 5525 Remove hack in Timestamp parser now that 'remark-breaks' has addressed the original problem.

Also, a space is needed if 2 stamps are in 1 line too.

Multiple timestamps in a line is supported. I think at least something needs to be in-between timestamps to ease parsing and for final readability anyway? e.g. 1:23-2:45 (any non-numeric) or 1:23 2:45 (space) both works;

Would be great if we could support the YouTube method of turning these values automatically into timestamps.

Would be great if we could support the YouTube method of turning these values automatically into timestamps.

Already supported.  It's a bug if it's not working in [  ] -- most likely that got absorbed as a regular markdown tag or something.

Can file separately, as I think this ticket is about a UI to enter those timestamps instead of the parser.


new files added that match a glob are not detected automatically in development

You have to make a change to the file that includes the glob statement. For example:
foo.sass:
@import foo/*

with foo/bar.sass:
body
  color: red

Load the css in the browser. Then add:
foo/bar2.sass:
body
  background: blue

And refresh the css. I expect to see the new rule, but instead I have to go add a new line or something to foo.sass

I just tried to reproduce this and I could not.  I did the following:

new rails app;
sass rails 5.0.4
no spring

// application.scss

@import "globbed/*";

// globbed/test1.scss

body { background-color: red; }

Loaded page.
Added:
// globbed/test2.scss

body { font-size: 50px; }

Refreshed; saw changes.
Is anyone able create an app that reproduces this?

I'm not working on the project any more, I wouldn't be surprised if it got fixed in the last year. Feel free to close, someone can always open a new issue if they see it again. Thanks!