CodeLLaMA + LoRA: RuntimeError: CUDA error: an illegal memory access was encountered

I am getting this error when trying to do inference with CodeLLaMA34B from The-Bloke + a LoRA trained on the same model using alpaca_lora_4bit.
Commenting out the generator.lora line works.
Hardware is dual RTX 3090 but I'm keeping context length low to a few tokens so that I can test with a single card, here's the output when running a single card, very low context length:
Traceback (most recent call last):
  File "/home/asd/pytests/exllama/test.py", line 230, in <module>
    result_text = generator.generate_simple(prompt, max_new_tokens = 800)
  File "/home/asd/pytests/exllama/generator.py", line 316, in generate_simple
    self.gen_begin(ids, mask = mask)
  File "/home/asd/pytests/exllama/generator.py", line 186, in gen_begin
    self.model.forward(self.sequence[:, :-1], self.cache, preprocess_only = True, lora = self.lora, input_mask = mask)
  File "/home/asd/pytests/exllama/model.py", line 967, in forward
    r = self._forward(input_ids[:, chunk_begin : chunk_end],
  File "/home/asd/pytests/exllama/model.py", line 1011, in _forward
    attn_mask = torch.zeros(batch_size, 1, seq_len, past_len + seq_len, dtype = torch.float16, device = devs[0])
RuntimeError: CUDA error: an illegal memory access was encountered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

Also
Traceback (most recent call last):
  File "/home/asd/pytests/exllama/test.py", line 230, in <module>
    result_text = generator.generate_simple(prompt, max_new_tokens = 800)
  File "/home/asd/pytests/exllama/generator.py", line 322, in generate_simple
    token = self.gen_single_token(mask = mask)
  File "/home/asd/pytests/exllama/generator.py", line 352, in gen_single_token
    logits = self.model.forward(self.sequence[:, -1:], self.cache, lora = self.lora, input_mask = mask)
  File "/home/asd/pytests/exllama/model.py", line 967, in forward
    r = self._forward(input_ids[:, chunk_begin : chunk_end],
  File "/home/asd/pytests/exllama/model.py", line 1053, in _forward
    hidden_states = decoder_layer.forward(hidden_states, cache, buffers[device], lora)
  File "/home/asd/pytests/exllama/model.py", line 530, in forward
    self.self_attn.fused(hidden_states, cache, buffer, self.input_layernorm, lora)
  File "/home/asd/pytests/exllama/model.py", line 404, in fused
    attn_weights /= math.sqrt(self.config.head_dim)
RuntimeError: CUDA error: an illegal memory access was encountered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

I can confirm various issues with GPTQ and Lora - I have tested all available drivers and cuda combinations I have also used Exllama docker.
I either have the issue reported above or this:
RuntimeError: probability tensor contains either inf, nan or element < 0
Interestingly above error occurs when I try inference on long context and forget to put rope base running with Transformers as well.

This appears to be related to CodeLLaMA34B as its 13B variant works with LoRA and about 13K context (haven't tried more).

I an confirm this issue doesn't replicate in EXL2 LorA implementation, so I don't think its worth to troubleshoot.


Running on server

Can't render on server because of window object usage - would be nice to have isClient/isServer checking during initialization

The dist folder contains outdated version of dragSupported property
dragSupported: 'ontouchstart' in window

Fixed in acd8d00d120f911808e46207783522e06850760b


Question: Is there a way to detach menubar applications?

Description
First, thank you for building this! it's awesome and I was able to build a cool app with it.
I want to implement this feature where a user can click a button and detach the window from the tray so that it becomes it's own separate window. The user should also be able to re-attach the window so it's back to appearing when clicking on the system tray icon. Is this possible?
I know I can create a new BrowserWindow and probably hack this together, but I'd like to use my existing window instead.
Thanks!

I am also interested in this!

@ahmed-musallam did you ever figure something out for this? I think it would be cool as well.

@rwwagner90 I have not, not yet. ;(

Hi, this is implemented in https://github.com/webcatalog/neutron
It has an option in preference to letting users select whether use the menubar app or use the windowed app. The concept is just if (menubar) { create window } else { create menubar } .
And sadly, it requires a restart. But I think just destroy the menubar app and create a window is not that hard. As the main process is always running and handling the window creation.


Does Gnina/Smina allow you to fix certain bonds to not be rotatable during docking?

Issue summary
Does Gnina/Smina allow you to fix certain bonds to not be rotatable during docking?
Steps to reproduce
Your system configuration
Operating system:
Compiler:
CUDA version (if applicable):
CUDNN version (if applicable):
Python version:

If you provide a PDBQT file as input, it will respect exactly what is in the file as far as which bonds are rotatable (and also protonation states in atom types - so make sure those are right).

Ah sorry I didn't know that this Information was in the pdbqt file format. Thanks for explaining that!


Help me please: I tried to get all items that contain deleted items.

I tried to get all items that contain deleted items.
How can I do it using scope?
[scopes.contact]: {
include: [{
model: Contact.scope('deleted'),
as: 'contact'
}]
},

Hey @webmaster0820 can you provide an example repo with your sequelize/model setup?

thanks for reply, sure

export class ContactFamily extends Model {
@ForeignKey(() => Contact)
@Column({
	type: DataType.INTEGER.UNSIGNED,
	allowNull: false,
	field: 'contact_id',
})
contactId?: number;

@BelongsTo(() => Contact, 'contact_id')
contact!: Contact;

@Scopes(() => ({
contacts: {
include: [{
model: Contact,
as: 'contact',
}]
},

What about:
@Scopes(() => ({
  deletedContacts: {include: [Contact.scope('deleted')]},
  // ...
}))
@Table
export class ContactFamily extends Model<ContactFamily> {
  // ...
}

Usage
const family = await ContactFamily.scope('deletedContacts').findOne();

it will contains all contact such as deleted contacts and undeleted contacts

?

@webmaster0820 It depends on how the scope deleted of the Contact model is defined:
Contact.ts

@Scope(() => ({
  deleted: {where: {deleted: true}}
}))
@Table
class Contact extends Model<Contact> {
  @Column
  deleted: boolean;
}

So that Contact.scope('deleted').findAll() returns all deleted entries.

Closing this due to inactivity


Add support for akka

I would love to have support for akka.

This project can be as reference:
https://github.com/levkhomich/akka-tracing

This should be helpful https://github.com/spring-projects/spring-insight-plugins/tree/master/collection-plugins/akka

Hi,
I'd love to have AKKA support too !
Are there  plans for supporting this framework ?
Thanks
Olivier


How to properly run linen.ConvTranspose

Hi there,
I am trying to understand how to properly run linen.ConvTranspose to match torch.nn.ConvTranspose2D using the following snipped:
import torch
import torch.nn as nn
import flax.linen as nn_flax
import numpy as np
import jax.numpy as jnp

channels = 256
in_size = 24
factor = 4
resize = nn.ConvTranspose2d(channels, channels, kernel_size=factor, stride=factor, padding=0)

resize_flax = nn_flax.ConvTranspose(
    channels, kernel_size=(factor, factor), strides=(factor, factor), padding="VALID", use_bias=True
)

input_tensor = np.random.rand(1, in_size, in_size, 256)

# compare input output from flax and pytorch
resize_flax_out = resize_flax.apply({"params":{"kernel":resize.weight.data.permute(2, 3, 1, 0).numpy(), "bias":resize.bias.data.numpy()}}, jnp.array(input_tensor))
resize_out = resize(torch.tensor(input_tensor).permute(0, 3, 1, 2).float())

torch.testing.assert_allclose(torch.from_numpy(np.array(resize_flax_out)).permute(0, 3, 1, 2), resize_out)

I the last line's test is not passing and I was wondering if the following is the correct way to run and use ConvTranspose or if I missed something :) !
Thanks a lot in advance!

It appears that the transposed convolution from PyTorch does not give the same result as the one from Flax/Jax. Closing this issue


Option to consider - Pop out to new Window

Having the qgrid is great, it's very functional, consider an option to add a "pop-out" button, where if the user clicks on the button, it takes the qgrid and opens a new window with the data in it. (with another Qgrid). This new window would not be constrained by the iPython notebook display size, and could be resized to work with whatever screen real-estate the user may have.

Thanks, good idea.  Qgrid should be able to work in Jupyterlab once I merge the project I'm currently working on, and in Jupyterlab you can do cool stuff with widgets like drag them onto a separate tab which appears next to your notebook.  I'm hoping that functionality may satisfy this need (haven't actually gotten qgrid working in Jupyterlab yet) but if not I could look into adding a "pop-out" button as you describe.

I was inspired by your idea and added a "full screen" button in the qgrid 1.0 beta.  It's not quite what you're asking for because it doesn't open a separate window, but it serves a similar purpose.  I'm going to close this because I don't expect to do work on this beyond adding the full screen button.
The grid inline with the notebook:

Full screen mode:


Update data structure for blocks

Add to and from fields to the data. Use 100x0000000000000000000000000000000000000000000000000000000000000000 as a default to value.

For example, the data structure for a transaction should be:
{
to: ...
from: ...
hash: ...
data: { ... }
signature: ...


No animation for bookmark icon on Main tab

Steps to reproduce the behavior:

Run Radzima app
Tap on the bookmark icon on Main tab
Tap on Saved tab
Check added object

Actual result: 2. No animation for bookmark icon
Expected result: 2. Bookmark icon is highlighted
https://user-images.githubusercontent.com/88732450/190687289-af3b8326-7790-4f28-87c9-4e6ed5a60185.mp4
Radzima app version

Build 1082
Device iPhone X
iOS 15.5

NOTE: Same behavior on Saved tab

Verified on iPhone X iOS 15.5, build 1083


[BUG]

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
i cannot see the chat, i only see chat bubbles but i can still send a message but still i cant see the chat

this is the chat on a normal roblox

Can I see the flags you have configured in the Bloxstrap menu?

Issue has been awaiting clarification for over a month, closing as stale. If you have anything further to add, just respond and I'll reopen.


conntrack: don't limit NAT table size to CT table size

@gentoo-root noticed a weird thing in the code - we currently limit the NAT table to the CT table size:
	if c.NATMapEntriesGlobal > c.CTMapEntriesGlobalTCP+c.CTMapEntriesGlobalAny {
		if c.NATMapEntriesGlobal == NATMapEntriesGlobalDefault {
			// Auto-size for the case where CT table size was adapted but NAT still on default
			c.NATMapEntriesGlobal = int((c.CTMapEntriesGlobalTCP + c.CTMapEntriesGlobalAny) * 2 / 3)
		} else {
			return fmt.Errorf("specified NAT tables size %d must not exceed maximum CT table size %d",
				c.NATMapEntriesGlobal, c.CTMapEntriesGlobalTCP+c.CTMapEntriesGlobalAny)
		}
	}

This doesn't seem to make sense - a connection typically needs two NAT entries (SNAT + RevSNAT). So if the CT table is fully populated, only half of the connections can use NAT? We should clarify why that limit exists, or fix it.

Circling back - I believe the idea here was that typically we also create a F_RELATED CT entry for each connection. So for every connection we get two CT entries, and budget for two NAT entries.
This even makes sense for SNATed Nodeport connections on the LB - here we get one CT_SERVICE entry, one CT_EGRESS entry and two NAT entries.
So maybe EgressGW is the exception here, when it creates just one CT entry on the gateway node but still needs two NAT entries.


Command Aliases starting new game

Occurs in games that uses classes in Game folder.
Using two different aliases to call the command will make two command class because of the HashMap.
For example, calling =hangman start, then =hm end will say the game haven't started yet, because they creates two different command classes.

Possible solution: creates another HashMap (per guild) specifically for commands that requires this use. And creates all objects and fill them in the HashMap.
For example,
commands.put("hangman", new HangManCommand());
commands.put("hm", new HangManCommand());

Should be
HangManCommand hm = new HangManCommand();
guildObj.put("hangman", hm);
guildObj.put("hm", hm);


prepare release 19.2.0

Something broke in the interaction with the most recent version of flake8 (somewhere between 3.5.0 and 3.7.6). I'll fix that first.

Apparently a recent version of flake8 and/or pyflakes broke checking of typeshed. I'll require an older version of flake8 for now for this release.


Guaranteed Debug Config?

Hi - I'm trying to debug my build.  I have homebridge running but can't connect the Home App.  Is there some resource or config that is guaranteed to work so that I can isolate the issue?

@marcoraddatz  - after several days of trial and error, I decided to go with the qnap console instructions.  Five minutes later, everything is up and running and connected in the Home app.  Previously, I was following the QNAP GUI instructions, and the main difference is the network configuration.  The GUI instructions say to put the container in bridge mode, and that doesn't work for me.  The console instructions start the container in host mode, and that is the only difference between the working and not working attempts.


Broken link (and maybe other fixes I find)

Final fixes for production release!
Changes

fix link on MP worksheet on sources page

Review

@amymok @virginiacc

Checklist

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

good catch!


Indentation in generated go code is unreasonable

When using let statements in Oden, the resulting indentation degenerates very quickly.
The following simple Oden code:
package main

import fmt

main : -> ()
main() = let x = 5 y = 3 in
  fmt.Println(x + y)

produces the following go code
package main
import fmt "fmt"
func main() {(func() struct{} {var x int = 5
                               return (func() struct{} {var y int = 3
                                                        fmt.Println([]interface{}{(x + y)}...)
                                                        return struct{}{}})()})()}

Line four is indented 32 spaces and line five with 57.
Even though reading the code is not a primary concern, I'd appreciate a bit more readability.

Totally agree on this. Should we perhaps start by creating the separate AST for Go code and then improving the pretty print of that?

Sounds like a good approach.
On Fri, Mar 25, 2016, 11:23 Oskar Wickström<EMAIL_ADDRESS>wrote:

Totally agree on this. Should we perhaps start by creating the separate
AST for Go code and then improving the pretty print of that?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/oden-lang/oden/issues/79#issuecomment-201231653

Related to #84.


Document Recording feature

Now that recording has been implemented, its use should be documented in the README :)
I'll do this when I get time.

Until I found this issue I had assumed there was no recording and was going to have to go with DVR. Having it be even lightly documented in the README would help immensely.

Sorry @brentleyjones, it's my fault for letting this drag on for so long after I implemented recording. The documentation for recording will be included in the Swift 3 PR #67. You can take a look at the docs  for recording in my Swift 3 branch: https://github.com/mluisbrown/Vinyl/blob/mb/swift3/README.md#recording
For Swift 2.x there is little difference other than the renaming of URLRequest and URLSession

Awesome!

Resolved by #67, so closing.


build pipeline improvements improvements in deps

create the requiremets.txt using it in both local dev and container build
improve the presubmit to build image and publish temp site into GCS. ref https://github.com/openshift/release/pull/46561 (<-- blocked by this PR)

@elmiko still a draft, I would like to review the release presubmit too. Ptal in advance?
/assign @elmiko

local tests look good to me, i'm happy to go in this direction

cool, thanks for the validation @elmiko . I belive we need to go with this https://github.com/openshift/release/pull/46561 first, then we can get a final presubmit validation running in this PR. I just rebased and resolved one issue of build cluster reported in CI, would you mind to review it?
The rehearsal just completed publishing this preview (with recent platform external changes): https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/origin-ci-test/pr-logs/pull/openshift_release/46561/rehearse-46561-pull-ci-openshift-infrastructure-provider-onboarding-guide-main-build-publish-preview/1734645017395335168/artifacts/test/artifacts/site/index.html


[SQL Index and Data Source Cache] Plasma fails on BtreeIndexBenchmarkSuite

When running with config spark.sql.oap.mix.data.memory.manager set to plasma, memoryManager will throw 'unsupported method' exception.

Plasma cache don't support cache Index currently. You can use mix cache if you need cache index.
We don't intend to fix this issue in OAP 0.8.2, 0.9 release. Will fix in next version.


docs: RFC modules

A crude draft on module and multiple queries per file. It's much more concrete than the type system one.

No mod {} — is it worth the complication, as opposed to just files?

Good idea, it does not bring much to the table. We can also add it later without breaking changes.

No mod.rs — instead foo/foo.rs (it actually has _foo.rs, but why the leading underscore?) — I like this, it reduces the number of mod.rs files

I also like this. The pain with mod.rs is searching because you have to look at folder names instead of just file name.
The underscore is here so it's first alphabetically.

Are you thinking that imports would be implicit? Or would that be a separate discussion?

(We can discuss here)
I'm not exactly sure what do you mean:
Implicit use foo.*. That is problematic because it will cause broken code just by adding a module. We do it now it std module and it's already causing bugs.
Implicit mod foo. I'd like to avoid automatic file discovery, because would allow attacks that place malicious mod.prql in common locations like Downloads/ and hope you try to compile a .prql file in same directory. It's not a huge risk now, but it would be backward incompatible to remove later.

Thinking about it I realize that similar attacks could be possible by injecting project.prql with current proposal.
Huh. I'll do another pass on the proposal.

Implicit use foo.*. That is problematic because it will cause broken code just by adding a module. We do it now it std module and it's already causing bugs.

So are you thinking that we'd have use foo as a way of importing? (Currently I don't see this in the RFC — ofc no prob if we do it later)

The underscore is here so it's first alphabetically.

Hmmm, I don't love the underscore aesthetically, given it's the "main" file, but only aesthetically, low weight.

Implicit use foo.*. That is problematic because it will cause broken code just by adding a module. We do it now it std module and it's already causing bugs.

So are you thinking that we'd have use foo as a way of importing? (Currently I don't see this in the RFC — ofc no prob if we do it later)

We don't have to add it now, because you can use longer idents: foo.bar.baz. But yes, ultimately, use will be needed.

The underscore is here so it's first alphabetically.

Hmmm, I don't love the underscore aesthetically, given it's the "main" file, but only aesthetically, low weight.

I agree, it doesn't look nice. We could do without it, but that:

makes it hard to find the "parent" file in a directory,
has a conflict when you want to have modules foo and foo.foo (because both want to have a file at foo/foo.prql). I'd be fine with forbidding that all together.

I agree, it doesn't look nice. We could do without it, but that:

makes it hard to find the "parent" file in a directory,
has a conflict when you want to have modules foo and foo.foo (because both want to have a file at foo/foo.prql). I'd be fine with forbidding that all together.

Do we even really needed modules in paths like that?
Maybe only foo should be allowed, not foo.foo with dot.

The documention doesn't mention how to load a module. I expected to find a include "foo.prql", import Foo, using AcmeCorp.Foo, or use Foo statement.

It does, but perhaps not clearly enough. You just use module foo and that will import foo.prql.

Do we even really needed modules in paths like that?
Maybe only foo should be allowed, not foo.foo with dot.

I don't think we can afford that. It would be a ruff arbitrary prohibition that may lead to IDE's overwriting your source files when you rename some module. And we (almost) run into such case in prql-compiler: we have a module with path tests::test. https://github.com/PRQL/prql/tree/main/prql-compiler/src/tests

I've updated the RFC with all the suggestions. I hope I've also made it more readable @snth :D

Overall I'm very excited about this. I added some comments.

I think that we have a consensus on the outline for modules. There are things left to discuss, but we can get to them in separate issues.

Great work!


closes #11 add Option to set darkColorRgba and lightColorRgba

add the option to change the Color of the QR-Code

published version 2.6 to the PSGallery


TOTK imgs returning server error

Just saw this, thanks for letting me know. For some reason, the tests are not catching this error. I'm taking a look right now.

Hello! I'm testing the API but TOTK Images don't work. Any issue?

It hasn't been fixed since the original comment, unsure what would need to go into fixing it. I started a new job around when I posted this but I can make time if there is a desire and @gadhagod wants to make it happen. No stress or worries either way!

Thanks for bringing this to my attention again @ManuelMunozDeFrutos. That endpoint should now be throwing a 501 Not Implemented error instead of an internal server error. This is the expected behaviour as TOTK images have not been added yet.
Congratulations on the new job @XavierLora! I'll try to revive this project in terms of development this summer (school ends in one day), and hope to have TOTK images up soon. I apologize for such a late response!


FORMS-241 # Handle Chrome User Media Deprecations

Refactor the Webcam element to uncouple the popup functionality from the button
Make sure we are not using deprecated functions and properties
Make it so the the future MediaDevice API can be implemented easier

Great stuff here. I like that you've left space for the fallback (the seemingly unnecessary abstraction did throw me for a second). And templates are good. :)
Is it feasible to have tests for this functionality? Bearing in mind that we do have tests for geolocation (which causes a browser permission pop-up, which I'm guessing is the yucky part).

yeah i was thinking about tests over the last couple of days. i had isolated tests we were talking about in mind when writing this, so each file should be able to have its dependencies mocked and tested, so i should be able to test the view and model by using the _models and _views property

Added model and some view tests

LGTM :+1:

UX review from rachel


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

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

Comparison is base (7333e2a) 95.69% compared to head (a3e922e) 95.69%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #852   +/-   ##
=======================================
  Coverage   95.69%   95.69%
=======================================
  Files           1        1
  Lines         395      395
  Branches       53       53
=======================================
  Hits          378      378
  Misses         17       17

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


⚠ Bofrost.de has degraded performance

In b183158, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1902 ms

Resolved: Bofrost.de performance has improved in 3a0a679 after 17 minutes.


Scale Gesture is not recognized correctly using trackpad.

Is there an existing issue for this?

[x] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Create a gesture detector and add a callback on ScaleUpdate to inspect the focal point of the scale gesture and the number of pointer that it has.
 GestureDetector(
      onScaleUpdate: (d) {
        print("Focal Point: ${d.focalPoint} Scale: ${d.scale}, Pointer Count: ${d.pointerCount}");
      },
      child: Container(
        color: Colors.red,
        child: Center(),
      ),
   );

Then try to pinch and zoom first with a trackpad and then with a touch device.
Expected results
When Using The Touch device, the focalPoint stays correctly around the center of the gesture (give or take a take a few pixel due to human error) and the pointerCount is 2 as expected.
Actual results
When performing the same gesture on the trackpad (I am using the same device,  a windows laptop with a touch screen), the focal point changes a lot (it appears to coincide with the location of one pointer) and the pointerCount is 1 despite using two fingers to perform the action.
Code sample
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onScaleUpdate: (d) {
        print("Focal Point: ${d.focalPoint} Scale: ${d.scale}, Pointer Count: ${d.pointerCount}");
      },
      child: Container(
        color: Colors.red,
        child: const Center(),
      ),
    );
  }
}

Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.13.6, on Microsoft Windows [Version 10.0.22621.2283], locale en-US)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[X] Android toolchain - develop for Android devices
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
[√] Chrome - develop for the web
[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.4.0)
[!] Android Studio (not installed)
[√] VS Code (version 1.83.0)
[√] Connected device (3 available)
[√] Network resources

! Doctor found issues in 2 categories.

Windows doesn't say how many pointers, I set it to 1. Maybe a mistake, it should be 2? Also the focal point is just passed on from Windows. Depending on your driver, it may not move at all. But I didn't hear of it moving strangely.

The focal point on my machine appears to be one of the fingers, instead of somewhere in the middle of them. When I try the same gesture on other applications, like figma, the zoom seems to work correctly (as it does using touch in flutter). Is this normal behaviour?

I don't know what's normal here, in Windows, the driver has a lot to do with it. We don't receive the exact finger positions from Windows, it figures out the zoom and focal point for us. And to be honest, there are many drivers that do different things depending on the program, treating Google Chrome better for example. So if I can rephrase it, when you're zooming with trackpad in flutter, moving finger A will change both the scale and focalPoint, but moving finger B will just change the focal point? What's the device mdoel?

I tested it with the following code:
void main() => runApp(GestureTestApp());

class GestureTestApp extends StatelessWidget {
  GestureTestApp({super.key});

  final ValueNotifier<Offset> focalPointDebugger = ValueNotifier<Offset>(Offset.zero);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: GestureDetector(
        onScaleUpdate: (d) {
          // print("Focal Point: ${d.focalPoint} Scale: ${d.scale}, Pointer Count: ${d.pointerCount}");
          focalPointDebugger.value = d.focalPoint;
        },
        child: Container(
          color: Colors.red,
          // draw a stack, with a red background and a blue dot which is positioned
          // at the focal point of the scale gesture
          child: Stack(
            children: [
              ValueListenableBuilder<Offset>(
                valueListenable: focalPointDebugger,
                builder: (context, value, child) {
                  return Positioned(
                    left: value.dx,
                    top: value.dy,
                    child: Container(
                      width: 20,
                      height: 20,
                      color: Colors.blue,
                    ),
                  );
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}

And I got this result:
https://github.com/flutter/flutter/assets/54724353/b864c53c-588c-494a-9fcd-9ec921f9a428
In the first part I try to do a scale gesture using the touchscreen and it works as espected. While in the second part, the focalPoint moves on a straight line, which is however unrelated to the finger position (I was wrong), it seems to stay on the topLeft to bottomRight line.
I am using microsoft surface.

OK, so this is a bug in my file here https://github.com/flutter/engine/blob/main/shell/platform/windows/direct_manipulation.cc within ConvertToGestureData function. transform[4] and transform[5] will change as you zoom in, even if focal point doesn't change, because they represent the top left of the viewport. Instead, the pan_x and pan_y should be calculated based on the center of viewport rectangle. I don't think it is a very big change, but I don't have any time or equipment to do this myself any time soon.

cc @loic-sharma

OK, so this is a bug in my file here https://github.com/flutter/engine/blob/main/shell/platform/windows/direct_manipulation.cc within ConvertToGestureData function. transform[4] and transform[5] will change as you zoom in, even if focal point doesn't change, because they represent the top left of the viewport. Instead, the pan_x and pan_y should be calculated based on the center of viewport rectangle. I don't think it is a very big change, but I don't have any time or equipment to do this myself any time soon.

I was able to fix this issue by modifying the converter.dart file like so.
Basically, now when a PointerPanZoomUpdateEvent occurs, it's set up so that either panning or zooming can happen, but not both at the same time. This ensures that the focal point remains same when zooming in and out.
If these adjustments fit well with the project's requirements, I'm keen to submit a pull request. Just give me the green light, and I'll get right on it!

@Dusk-afk Thanks for finding a fix that works for you. However your fix will break some trackpads which do let both pan and scale change at the same time properly. The fix needs to be in win32 code I linked above, I just don't have a PC any more to work on it.


Documentation: Rename latest Release title

Latest release has a title:
"Dependency updates, kotlin 1.8.21"
Expected:
"5.0.0"
It should probably follow naming convention of releases as done in the past.

Thanks, Done

have retroactively done the same to our previous releases too :-)


feat: add [wolff, queuing_bytes] telemetry event for ram/disk usage observability

Part of https://emqx.atlassian.net/browse/EMQX-13074

tagged 4.0.3


Fixing minor issues

This merge request fixes issues #1, #2 and #3 opened by @l1br3.

This PR fixed the issues I was having with #2 hookOptions.

Hi! Can someone please merge this pull request?
Thanks!
Lorenzo

npm install --save handhead/sails-hook-webpack2
Temporary (or not)


creating a dash board to facilitate the user

Is your feature request related to a problem? Please describe.
the user can not see his/her details
if he/she wish to the change the username of any other necessary details..
Describe the solution you'd like
the user can see his/her details in dashboard and can also login/logout the website
Describe alternatives you've considered
a button can be created on top right corner where user icon will be shown
Additional context
Pls assign this issue to me under gssoc'23 tag

We don't need this as the login function is simply handled by the wallet


Out of memory exception with 7.4.1

Describe the bug
Scan of a (proprietary) repository triggered via mvn org.owasp:dependency-check-maven:7.4.1:aggregate -Dformats=HTML,CSV,XML,JSON,JUNIT fails with java.lang.OutOfMemoryError, after consuming [INFO] Final Memory: 1581M/3909M.
Same repository worked with 7.4.0 on the same host with same maven configuration and heap size: [INFO] Final Memory: 62M/2573M
Repository has 300+ node_modules directories (apparently nested within modules inside the top-level node_modules dir).
I cannot share the package.json, but I could provide other statistics if they are relevant.
Version of dependency-check used
The problem occurs using version 7.4.1 of the maven plugin. It does not occur with 7.4.0.
Log file
Stack trace of failure:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOf(Arrays.java:3332)
        at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
        at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:472)
        at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:486)
        at java.lang.StringBuilder.append(StringBuilder.java:166)
        at org.owasp.dependencycheck.exception.ExceptionCollection.lambda$getMessage$2(ExceptionCollection.java:215)
        at org.owasp.dependencycheck.exception.ExceptionCollection$$Lambda$380/257065944.accept(Unknown Source)
        at java.util.ArrayList.forEach(ArrayList.java:1257)
        at org.owasp.dependencycheck.exception.ExceptionCollection.getMessage(ExceptionCollection.java:212)
        at org.apache.maven.exception.DefaultExceptionHandler.getMessage(DefaultExceptionHandler.java:271)
        at org.apache.maven.exception.DefaultExceptionHandler.handle(DefaultExceptionHandler.java:121)
        at org.apache.maven.exception.DefaultExceptionHandler.handleException(DefaultExceptionHandler.java:93)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:879)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

To Reproduce

Run mvn org.owasp:dependency-check-maven:7.4.1:aggregate -Dformats=HTML,CSV,XML,JSON,JUNIT on a repository with ~400 node_modules directories within modules of top_level node_modules directory.

Expected behavior
mvn should work with modest memory requirements.
Additional context

From the stack trace, it seems that it fails when composing a large list of exceptions, but I have no idea why there would be many more of them between 7.4.1 and 7.4.0 given the same repository state.

Would you be able to share one or a few open-source node components from your package json that have a significant tree of nested node modules inside? That would make it easier for me (not being that familiar with the node ecosystem, so I don't know which packages typically haul in an ocean of transitive dependencies) to create a reproducer and debug what's going on.

Gut feel regarding the out-of-memory is that your build runs into a bunch of OSSindex rate limit HTTP 429 (as I've also seen reports of many 429s with recent ODC versions I suspect that to be at the root of the 'too many exceptions in the exception collection triggering the out-of-memory on creation of the log message)


Pandas binding

Hello,
I'm exploring if making a Pandas binding is an achievable task. So far I just need a limited subset of features: CSV(write), HDF5(read/write) and DataFrame(creation, indexing and HDF5/CSV export).
There was a limitation mentioned that the package does not ship with its own stubs or type annotations. Could you please explain it a little more?

Would be really great if you wanted to do this. Pandas do definitively not ship their own Fable bindings so this is not a problem. I should rephrase that sentence.

oh, I just realized that Fable.Python compiles to python code (who would expect! 😆 ). However, I would like to use pandas in the Fable.JS web app. Now I'm thinking, what would be the best way to do so. At the moment I have the only idea of using AJAX, but it's going to be quite ugly for what I'm trying to achieve

You could try out Fable.Giraffe and Remoting (it's built-in). That gives you a Fable app with a Python backend that can easily be integrated with Pandas etc.

Hmm, that requires a backend. I wanted to create a self contained web app. Let me hang on it for a while.


replace set_all_accounts_rooted_at_exn with set_batch_accounts

Follow up from https://github.com/CodaProtocol/coda/issues/1576
We are changing the interface for get_all_accounts_rooted_at from t -> addr -> account list to t -> addr -> (addr * account) list. The set_all_accounts_rooted_at would work akwardly with this interface. Instead, we should have a function set_batch_accounts that first adds the accounts and then compute their corresponding hashes on their merkle_paths
cc: @cmr

set_batch already exists, thanks to the new ledgers.


k3s-agent not starting on ec2 error "failed to get CA certs"

Environmental Info:
K3s Version:

k3s version v1.29.6+k3s1 (83ae095a)
go version go1.21.11
Node(s) CPU architecture, OS, and Version:

Linux ip-172-31-6-131 6.8.0-1008-aws #8-Ubuntu SMP Sat Apr 20 00:46:25 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
both master, agent same types ec2 t2-micro running same ubuntu image
Cluster Configuration:

1 server (<IP_ADDRESS>)
1 agent (<IP_ADDRESS>)
Describe the bug:

while installing agent it gets stuck at
ubuntu@ip-172-31-6-131:~$ curl -sfL https://get.k3s.io | K3S_URL=https://<IP_ADDRESS>:6443 K3S_TOKEN=<<token-omitted>> sh -
[INFO]  Finding release for channel stable
[INFO]  Using v1.29.6+k3s1 as release
[INFO]  Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.29.6+k3s1/sha256sum-amd64.txt
[INFO]  Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.29.6+k3s1/k3s
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[INFO]  Skipping installation of SELinux RPM
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Creating /usr/local/bin/ctr symlink to k3s
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s-agent.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s-agent.service
[INFO]  systemd: Enabling k3s-agent unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service.
[INFO]  systemd: Starting k3s-agent

Steps To Reproduce:

Installed K3s: on server using curl -sfL https://get.k3s.io | sh -s - --docker
on agent using curl -sfL https://get.k3s.io | K3S_URL=https://<IP_ADDRESS>:6443 K3S_TOKEN=<<token-omitted>> sh -

Expected behavior:

agent starts successfully
Actual behavior:

agent stuck at "[INFO]  systemd: Starting k3s-agent"
Additional context / logs:

while stuck at install (curl from agent to master)

curl -vs https://<IP_ADDRESS>:6443/cacerts
*   Trying <IP_ADDRESS>:6443...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 6443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs

after agent (k3s-killall, k3s-agent-uninstall) and master (sudo systemctl restart k3s) (curl from agent to master)

curl -vs https://<IP_ADDRESS>:6443/cacerts
*   Trying <IP_ADDRESS>:6443...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 6443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Request CERT (13):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (OUT), TLS alert, unknown CA (560):
* SSL certificate problem: self-signed certificate in certificate chain
* Closing connection

logs from journalctl

ubuntu@ip-172-31-6-131:~$ journalctl --no-pager -u k3s-agent.service
. . . (older logs omitted for brevity)
Jun 29 19:22:12 ip-172-31-6-131 systemd[1]: Starting k3s-agent.service - Lightweight Kubernetes...
Jun 29 19:22:12 ip-172-31-6-131 sh[3294]: + /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service
Jun 29 19:22:12 ip-172-31-6-131 k3s[3301]: time="2024-06-29T19:22:12Z" level=info msg="Acquiring lock file /var/lib/rancher/k3s/data/.lock"
Jun 29 19:22:12 ip-172-31-6-131 k3s[3301]: time="2024-06-29T19:22:12Z" level=info msg="Preparing data dir /var/lib/rancher/k3s/data/a3c3f3dba66f03ed65b7c1266e2afdb9c108e60efd20c57fa804a3931f5febad"
Jun 29 19:22:15 ip-172-31-6-131 k3s[3301]: time="2024-06-29T19:22:15Z" level=info msg="Starting k3s agent v1.29.6+k3s1 (83ae095a)"
Jun 29 19:22:15 ip-172-31-6-131 k3s[3301]: time="2024-06-29T19:22:15Z" level=info msg="Adding server to load balancer k3s-agent-load-balancer: <IP_ADDRESS>:6443"
Jun 29 19:22:15 ip-172-31-6-131 k3s[3301]: time="2024-06-29T19:22:15Z" level=info msg="Running load balancer k3s-agent-load-balancer <IP_ADDRESS>:6444 -> [<IP_ADDRESS>:6443] [default: <IP_ADDRESS>:6443]"
Jun 29 19:22:26 ip-172-31-6-131 k3s[3301]: time="2024-06-29T19:22:26Z" level=info msg="Waiting to retrieve agent configuration; server is not ready: /var/lib/rancher/k3s/agent/client-kubelet.crt: Get \"https://<IP_ADDRESS>:6444/v1-k3s/client-kubelet.crt\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"
Jun 29 19:22:54 ip-172-31-6-131 k3s[3301]: time="2024-06-29T19:22:54Z" level=info msg="Waiting to retrieve agent configuration; server is not ready: failed to get CA certs: Get \"https://<IP_ADDRESS>:6444/cacerts\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"

Make sure that you have opened the correct ports between your nodes, ref: https://docs.k3s.io/installation/requirements#inbound-rules-for-k3s-nodes
If the server and agent are not on the same private network, and the agent cannot connect to the server by it's private IP, ensure that you're properly setting the --node-external-ip on the server, to an address that is reachable by the agent. Also ensure that the agent and server are both able to connect to the server by that address.

@brandond both server and agent are in the same subnet in same VPC however, API Server port 6443 is open but Kubelet Metrics port 10250 is not but strangely enough after when I didn't see any solution and shutdown and came back next day and turn the instances on again, both the server and the agent were up and deployments made on server were perfectly being scheduled on agent, what I found is that in above scenario if we just restart (did another experiment to prove it) both server and agent connect successfully, thanks for pointing out the ports I'll keep at-least metrics port also open next time, still my issue is resolved so thanks again !!


beta update

cc @prury if you find something highly critical, let me know, want to push it out in hour.
would like to merge around 2:30pm CET, like in 70 mins
shortlist

https://github.com/kodadot/nft-gallery/issues/9757

Mass Mint has worked for me

Beta Update

https://github.com/kodadot/nft-gallery/pull/9754
https://github.com/kodadot/nft-gallery/pull/9753
https://github.com/kodadot/nft-gallery/pull/9748
https://github.com/kodadot/nft-gallery/pull/9746
https://github.com/kodadot/nft-gallery/pull/9744
https://github.com/kodadot/nft-gallery/pull/9743
https://github.com/kodadot/nft-gallery/pull/9742
https://github.com/kodadot/nft-gallery/pull/9741
https://github.com/kodadot/nft-gallery/pull/9735
https://github.com/kodadot/nft-gallery/pull/9733
https://github.com/kodadot/nft-gallery/pull/9732
https://github.com/kodadot/nft-gallery/pull/9724
https://github.com/kodadot/nft-gallery/pull/9715
https://github.com/kodadot/nft-gallery/pull/9707
https://github.com/kodadot/nft-gallery/pull/9706
https://github.com/kodadot/nft-gallery/pull/9705
https://github.com/kodadot/nft-gallery/pull/9704
https://github.com/kodadot/nft-gallery/pull/9693
https://github.com/kodadot/nft-gallery/pull/9692
https://github.com/kodadot/nft-gallery/pull/9691
https://github.com/kodadot/nft-gallery/pull/9690
https://github.com/kodadot/nft-gallery/pull/9689
https://github.com/kodadot/nft-gallery/pull/9688
https://github.com/kodadot/nft-gallery/pull/9687
https://github.com/kodadot/nft-gallery/pull/9686
https://github.com/kodadot/nft-gallery/pull/9676
https://github.com/kodadot/nft-gallery/pull/9675
https://github.com/kodadot/nft-gallery/pull/9674
https://github.com/kodadot/nft-gallery/pull/9673
https://github.com/kodadot/nft-gallery/pull/9666

@yangwao

https://github.com/kodadot/nft-gallery/issues/9759

above comment and this one i consider critical:

https://github.com/kodadot/nft-gallery/issues/9762

i know a lot of effort was put on by everyone, but i do not recommend sending it into prod

but i do not recommend sending it into prod

interesting, with mass mint I was not able to reproduce this one, let's see


[$500] No space between description & show more option

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

Version Number: 1.3.87-1
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @krishna2323
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1697621145743689
Action Performed:

Open Request money & select manual tab
Enter amount  & select any user
Hover on description menu item and observer there is no gap between description & show more option
Go back to step one & select distance tab
Hover on finish point and observe the space between finish point & add stop option

Expected Result:
There should be some gap between description & show more option
Actual Result:
There is no gap between description & show more option
Workaround:
unknown
Platforms:

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

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/38435837/2f91fab2-f2db-4c2d-a532-1d1045021750

Android: mWeb Chrome

https://github.com/Expensify/App/assets/38435837/d3d40065-219a-48ab-bf30-9738ffef24c8

iOS: Native

https://github.com/Expensify/App/assets/38435837/bc4f4634-cce5-46cf-80a6-34ce5125de03

iOS: mWeb Safari

https://github.com/Expensify/App/assets/38435837/746346be-3588-448b-8543-c55059eb3bd1

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/38435837/f4ef5ba5-eb6f-4f69-8e06-ccf6ffb67b7f

MacOS: Desktop

https://github.com/Expensify/App/assets/38435837/cfd2dc04-e89b-46a6-b128-d56140bbd930

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01e92101d63dc7fd51
Upwork Job ID:<PHONE_NUMBER>897327104
Last Price Increase: 2023-10-20

Issue OwnerCurrent Issue Owner: @roryabraham

Proposal by contributor reported the bug
Please re-state the problem that we are trying to solve in this issue.
No space between description & show more option
What is the root cause of that problem?
We don't apply any margin or padding to top of the show more container.
What changes do you think we should make in order to solve the problem?
We can either apply margin/padding bottom to description menu item or margin/padding top to the show more container.
We are using 4px padding for "Add Stop" option and I think it will be the best option but we can discuss about it and then apply.
Result

Proposal
Please re-state the problem that we are trying to solve in this issue.
No space between the description & show more option
What is the root cause of that problem?
The components MenuItemWithTopDescription inside of OptionsSelector (in MoneyRequestConfirmationList component in src/components/MoneyRequestConfirmationList.js) are all aligned using a flex-direction row with the same distance when the 'show more' option is displayed has no margins.
What changes do you think we should make in order to solve the problem?
The best solution is adding the prop styles.mt2 in style as next, this going to add a margin-top of 2 and produce the space needed, this is the code needed (in file src/components/MoneyRequestConfirmationList.js line 619):
<View style={[styles.flexRow, styles.justifyContentBetween, styles.mh3, styles.alignItemsCenter, styles.mb2, styles.mt2]}>
These are the results:
Web:

Mac Desktop:

Android:
https://github.com/Expensify/App/assets/5216036/0d834be6-d1cb-4b77-a5b8-b306a9aea9bc
IPhone/IOS:
https://github.com/Expensify/App/assets/5216036/cc0bacf6-f2d5-466d-b389-4fcf05e824a6

Proposal
Please re-state the problem that we are trying to solve in this issue.
No space between the description & show more option
What is the root cause of that problem?
There is no margin-top
https://github.com/Expensify/App/blob/86e75ad6c95cd5927800bb62b848857716da52f6/src/components/MoneyRequestConfirmationList.js#L619
What changes do you think we should make in order to solve the problem?
We need to add margin-top
<View style={[styles.flexRow, styles.justifyContentBetween, styles.mh3, styles.alignItemsCenter, styles.mv2]}>

https://github.com/Expensify/App/blob/86e75ad6c95cd5927800bb62b848857716da52f6/src/components/MoneyRequestConfirmationList.js#L619
What alternative solutions did you explore? (Optional)

@shawnborton Design help needed here!
Can you please check and suggestion - do we really need additional spacing between last button and Show More chip?
This is how we currently have it now:

This is after any new padding coming in place (chip will take more space, and visually it show a bigger gap - when menu item is not in hover state):

If we need to add margin - can you please tell how much it should be. Thanks!

We had it earlier and I think mistakenly removed in this PR https://github.com/Expensify/App/pull/28110/files#diff-dc0f934ad9e583b0f7ac049563a3dcacbfe314e9c16b5c6f8bba6e5a5225a86cL478
cc: @akinwale

We had it earlier and I think mistakenly removed in this PR https://github.com/Expensify/App/pull/28110/files#diff-dc0f934ad9e583b0f7ac049563a3dcacbfe314e9c16b5c6f8bba6e5a5225a86cL478 cc: @akinwale
We can use styles.mv2 here instead of styles.mb2
https://github.com/Expensify/App/blob/69cf29e32950f915ea888fe294dfdea6a9fabbb5/src/components/MoneyRequestConfirmationList.js#L619

The idea from that PR was to remove the bottom margins from all push-to-page buttons. https://github.com/Expensify/App/issues/27052 for context.

@akinwale, I think we didn't wanted to remove the spacing between "show more" button.

Yeah, I think the ideal solution here would be to add a top margin (or padding?) to the "show more" button. If there's another push-to-page button below "Description" (e.g. "Date" or "Merchant"), we don't want a bottom margin separating those.

Proposal from @m-natarajan looks good to me https://github.com/Expensify/App/issues/30039#issuecomment-1771888313
All proposals are correct - in root case and area to apply a fix - just @m-natarajan was the faster one
🎀 👀 🎀 C+ reviewed

Proposal from @m-natarajan looks good to me #30039 (comment) All proposals are correct - in root case and area to apply a fix - just @m-natarajan was the faster one 🎀 👀 🎀 C+ reviewed

@narefyev91 Small correction here. @m-natarajan is on the QA / Applause (I think?) team reposting the solution posted by the issue reporter, @Krishna2323.

@narefyev91 @roryabraham Is there any update related to who is assigned to resolve this bug?

@narefyev91 @roryabraham Is there any update related to who is assigned to resolve this bug?

Hey - i think we waiting final decision from @roryabraham

@roryabraham removing the overdue here

@roryabraham bump on this

Assigned to @m-natarajan

Done, sorry @Krishna2323.

waiting on the PR

Payouts due:
Issue Reporter: $50 @Krishna2323 (pre bounty change)
Contributor: $500 @{handle}
Contributor+: NA
Eligible for 50% #urgency bonus? N


Avoid implicit type coercion

Uses a more self-explanatory notation.

Thanks for the different PRs you're sending. For such small updates, it may be easier to combine it with other refactorings in the same PR.

You're probably right. Was just trying to stick to "one change, one PR" a bit too much. :)

You're right that it's ideally what should be done, but the last few PRs where minor one-liner changes without any logic modification. The benefits of single-change PRs are hindered by the noise of creating a new PR every time.
I sent you an email to see if you're interested in joining the org: you're very active so it would be nice.


Does not work on Raspberry Pi

I tried installing and running the libcaer samples on a raspberry pi. I did compile and install from source, as the prebuilt armhf package does not work on Raspberry Pi (See https://wiki.debian.org/RaspberryPi. It does install though.). Compiling and installation works without problems.
I then tried to compile the DAVIS C example:
gcc -std=c11 -pedantic -Wall -Wextra -O2 -o davis_simple davis_simple.c -D_DEFAULT_SOURCE=1 -lcaer

It runs, but does not detect the connected DAVIS:
pi@raspb[~/caer]$ ./davis_simple
2017-11-01 10:34:29 (TZ+0100): DEBUG: davisOpenInternal: Initializing DAVIS.
2017-11-01 10:34:29 (TZ+0100): CRITICAL: DAVIS ID-1: Failed to open device.
pi@raspb[~/caer]$

which is listed by lsusb:
pi@raspb[~/caer]$ lsusb -v
Bus 001 Device 011: ID 152a:841b Thesycon Systemsoftware & Consulting GmbH
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x152a Thesycon Systemsoftware & Consulting GmbH
  idProduct          0x841b
  bcdDevice            0.04
  iManufacturer           1
  iProduct                2
  iSerial                 3
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              400mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0

Any ideas? This is not urgent.

Hi, that standard ARMv7 packages are incompatible is known, the link you posted explains it, there's nothing we can do there, we use the auto-build support from Launchpad and cannot influence how things are built. But this situation should be well known to anyone using RasPi.
Regarding not finding the device, lsusb's "Couldn't open device, some information will be missing" is key. That means the user you're running as doesn't have permissions to open the device read/write, please add the appropriate udev rules as described in the DAVIS240 user guide. This is a requirement on all Linux systems.


Server - Utilities - Logging

Implement https://spec.modelcontextprotocol.io/specification/server/utilities/logging/

part of #18


Frontend: Fix bugs and some follow ups

Several bug fixes described in the individual commits. This pull isn't cohesive, but is easier than 5 individual one-commit pulls.

Title:

Signature counts are now correct (this used to have 4 CR spots)

Search input box is now snappy, instead of laggy
Navbar now ends up left-edge aligned with content:

QA :+1:

CR :goat: through b3c970e


Add HTML import error callback

As it is  described in the spec, there can be thrown an error event when HTMl import was failed:
The link element fires a simple event called load for successful loading attempt.
For failed attempt, it fires a simple event named error.

I created this PR to catch 404 errors when performing import. My point is that app-router should itself fire an event containing URL of requested <link> resource.
@erikringsmuth @jmalonzo PTAL.
See also #101

@web-padawan Thanks for this. I kinda prefer @nomego's approach here. If I merge that, can you please add the Uri and importUri fields in to the event detail?
Thanks.

Sure, I'll update this PR to fit your feedback.

@web-padawan Thanks. I just merged PR #101.

@jmalonzo that's done. I rebased my PR and added properties to event detail object.
It would be nice to run build and to tag those changes with a new version tag, WDYT?

UPD: routeDetail already contains reference to app-route node, as well as the path, so maybe duplicating them is obsolete?

Hmm yeah you're right. I think the current routeDetail should suffice?

I agree. Will close the PR in favor of using that. Thanks!


Bdd

Codecov Report

Merging #104 (5c66964) into main (519645c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #104   +/-   ##
=======================================
  Coverage   96.21%   96.21%
=======================================
  Files           5        5
  Lines         396      396
=======================================
  Hits          381      381
  Misses         15       15

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 519645c...5c66964. Read the comment docs.


Add proc-macro to index, and new feature resolver.

This adds the "pm" field to the index so that Cargo can detect which packages contain a proc-macro without downloading the package.
The second commit builds on that to support proc-macros in the new "de-unification" of the new feature resolver. This prevents dependencies shared between proc-macros and other dependency kinds from having features unified.
cc #7915

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

NOTE: This modifies cargo publish without a feature gate. I can add one, but I figure this could be generally useful independent of the new resolver. crates.io will ignore the field for now. The patch to crates.io is relatively trivial.

I think it should be OK.  I'm not super confident this is the right decision, but I just can't get around the potential difficulty, risk and complexity of trying to rebuild features while packages are downloaded.  The main drawback here is the slow rollout since proc-macros will need to be published with a new version to get the new behavior (and that may not be obvious to the proc-macro author, since it is the proc-macro users who care about this).
I just realized I forgot to update the registry documentation, so I just pushed a fix for that.

@bors: r+
Ok I think in that case let's go ahead and try to get this in the works, and we can adapt the roll-out as time progresses.

:pushpin: Commit 1c28d89b7e29030d0560081623dc6bf727d28bc5 has been approved by alexcrichton

:hourglass: Testing commit 1c28d89b7e29030d0560081623dc6bf727d28bc5 with merge 92d0ce80694fa888ff5b59e4323c1dfa6cdc2ba8...

:sunny: Test successful - checks-azure
Approved by: alexcrichton
Pushing 92d0ce80694fa888ff5b59e4323c1dfa6cdc2ba8 to master...

@alexcrichton I wanted to discuss a concern I had about this.
If a proc-macro is published with an older Cargo where the pm field is not in the index.  Then, some time in the future, they publish with a new Cargo that updates the pm field.  This means when they publish, it may cause feature resolution to change for anyone using that proc-macro with the new resolver.  That may be surprising, especially if the proc-macro author doesn't know about or use the new feature resolver.  There's a bit of "spooky action" going on.
Do you think that is enough of a concern that this is maybe a bad idea to move forward with?
I was initially thinking of just "update all proc-macros in the index" to avoid that, but then I was thinking, after doing that, old Cargo's would keep putting old data into the index. So maybe that isn't such a good solution.

Hm no that's actually a really good point and I would indeed be worried about that.
I do think though that a "rewrite the index" strategy would still work. The main gotcha there though would be that we'd have to update crates.io to work whenever Cargo doesn't send a proc-macro field. crates.io itself would have to parse Cargo.toml, for example, looking for proc-macro = true (or something like that).
I agree though that if we can't fix this we should probably back this out to prevent the action-at-a-distance from happening.

Yea, I thought about the option of having crates.io parse Cargo.toml.  I was hoping it already did that, but it doesn't. I'm not sure how difficult or expensive that would be. I know that the crates.io team would prefer to have the actual .crate upload go through a separate channel (to deal with the heroku 30-second upload timeout), and needing to parse the crate might make that more difficult.
I'll ponder this a bit.  I think the only other option is to have Cargo do feature resolution after downloading, and that would require some significant changes to how the code is structured that I would prefer to avoid.  I could maybe hack together some prototypes to see how difficult it would be.  Another thought I had was to have a simple pre-pass that would determine the minimum set of crates to download, and then build the unit graph.  If that could be done in a relatively small amount of code, that might be another option.

I do agree that the ideal would be doing feature resolution after all the downloads so we have full manifest information, but I thought that you tried that earlier and said it would be an extremely large undertaking. That being said I think it's fine to download extra crates even if we don't end up using them in a few corner cases.

Another option to avoid the action-at-a-distance concern is to have the proc-macro authors opt into the new behavior - maybe by setting [package] proc-macro = 2 or something like that. Then you still get the advantage of having the information in the index without a magic change whenever a crate is next released.


Release/6.0.0

:white_check_mark: Build TheIdServer 6.0.1+6.build.2455 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/32df54d9da by @aguacongas)


Test node v0.12 and io.js in Travis

This project is not being tested in Travis (nor is going to be), so this PR doesn't apply.


Convert TextManager to an EventedModel

Description
This converts the existing TextManager to an EventedModel as suggested by @sofroniewn in PR 2047, which removes some boilerplate code associated with defining properties and events. PR 2047 effectively uses Python's built-in dataclass whereas this uses a Pydantic model, which is more consistent with our value/data-like classes in napari.
Here's a summary of changes compared to head, most of which are implementation details (i.e. the high level behavior and interface should not change).

TextManager now inherits from EventedModel. Attributes are declared instead of defining property getters + setters.
Some of TextManager attributes are exposed using their Enum type (i.e. anchor, blending, mode) instead of the equivalent string. Let me know if these are supposed to be hidden implementation details and I'll use the strings instead.
TextManager::_mode is now a hidden attribute with the TextMode type, as this is only used for testing, so we should avoid exposing a larger public API than is needed.

This my first time using Pydantic and there are a few things here that I'm unsure about.

How best to handle the positional arguments of the TextManager constructor. I explicitly defined the constructor to handle that, but let me know if Pydantic has something like dataclass' InitVar.
Similarly, how best to handle hidden attributes, and if exposing a read-only property of them is a good idea.
Am I using validator's as intended? Here I'm using them for two purposes - raising errors and coercing input arguments to the desired field types.
How to document TextManager. It would be nice to only document attributes to avoid duplication, but unsure if that's standard.

Type of change

[ ] Bug-fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

This is more like a refactor than a new feature.
How has this been tested?

[x] The existing test suites for text, points, and shape continue to pass
[x] Manually tested adding points and shapes to a layer.

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

Might want to wait on reviews until I fix those failing tests - they're making rethink a design decision here.

Might want to wait on reviews until I fix those failing tests - they're making rethink a design decision here.

Ok, I'll wait to do a detailed pass, will just answer a few general questions below. All-in-all looks like it is moving in the right direction

Some of TextManager attributes are exposed using their Enum type (i.e. anchor, blending, mode) instead of the equivalent string. Let me know if these are supposed to be hidden implementation details and I'll use the strings instead.

I think that's ok - we do that in https://github.com/napari/napari/blob/472ea41d0724b6d457ee033b3c5aecb87e13b460/napari/components/scale_bar.py#L39

Similarly, how best to handle hidden attributes, and if exposing a read-only property of them is a good idea.

I have done that in other places, I think it is ok

Am I using validator's as intended? Here I'm using them for two purposes - raising errors and coercing input arguments to the desired field types.

That sounds reasonable

How to document TextManager. It would be nice to only document attributes to avoid duplication, but unsure if that's standard.

There is some discussion around that in https://github.com/napari/napari/pull/2750#issuecomment-860257439 that you might want to join in on. Can come in later PRs though

This is ready for review now.
The last change big change that made the tests pass is that I made values a public attribute. That's important for (de)serialization of TextManager, as when a TextManager with already generated values is serialized, we want to deserialize that with the same values rather than regenerate them. I think that's why the current TextManager::_get_state maps values to text. Similarly, I clobber the text positional argument in the constructor when values are given. In general, I found text and values to be a bit confusing, so let me know if I made any mistakes here.
One upside of exposing values is that we can use that event to capture all changes to the text values. I think that fixes some modifications through add and remove that previously did not emit the corresponding event, but let me know if they are not supposed to do that.
One downside of exposing values as a public attribute is that it encourages modification from outside of TextManager, though we were already doing that internally, and I'm not too concerned about it.
I think there are some other ways to solve the text/value issue, so I'm very open to other ideas, especially if they can also help clarify how and what TextManager is doing in some cases.
I continued to run into a couple of issues using Pydantic.

I had to make numpy array attributes None by default and then set defaults in their validators (which had to use pre=True, always=True.
I also had to use pre=True and always=True for the Enums, otherwise they would sometimes be read as strings in some of the tests. We might want to consider exposing them as strings, which would also avoid some conversions elsewhere.

Feel free to point out any mistakes or misinterpretations!

Thanks for the reviews @sofroniewn and @kevinyamauchi! I've addressed and pushed the minor requests from @sofroniewn, but feel free to mention anything else.

I also had to use pre=True and always=True for the Enums, otherwise they would sometimes be read as strings in some of the tests. We might want to consider exposing them as strings, which would also avoid some conversions elsewhere.

Hmm indeed. I think @jni likely has a preference from strings. Would be good to standardize across the code base. Maybe @tlambert03 has thoughts here too.

If there's time, I'll bring this up in the dev meeting today. Based on the behavior I've seen, I'm leaning towards strings too, but I haven't made any changes here yet.

I also agree text vs. values was confusing.

I think it's still confusing (text is still an input parameter and _set_text is still a hidden method that is used externally), but that's something I might follow up after this PR.

I agree with this. I think if we want to be able to deserialize TextManager without regenerating the values, we will have to serialize TextManager._text_format_string, so the TextManager in 'property' mode will know how to add new text elements. I don't think ser/deser was fully working with the old TextManager, so I don't think it is critical to fix for this PR - I just wanted to flag the issue.

Thanks for pointing this out. Agreed, that I'll probably try to get this in, then fix this issue (with at least one test) in a follow-up.

Oops. Forgot to run some tests locally before pushing. I made some test assertions a bit less specific, but also less fragile (i.e. only check ndarray.size == 0 instead of comparing against an ndarray created from numpy.empty which is sensitive to dtype, which doesn't seem particularly interesting in the test).
Hope everything passes this time.

Thanks for these updates and the thanks for the review @kevinyamauchi! I think this is good to go in now!! 🚀

Thanks for the review @tlambert03 - some really useful comments, especially around Pydantic and our Array class.

Because of the logic provided in the Array field validator.

Agreed that having the defaults defined next to the field definitions improves readability. I actually used the even more concise values: Array[str] = [] which I assume is equivalent to values: Array[str] = Field(default=[]), but it would be good to confirm.
I also agree with you on the constructor and confusion around text and values - see my line comment reply for more details. I can try to see if there's a simple change I can add to this PR, but I can't do that until Monday. If the changes seem non-trivial or there's value to merging this PR in sooner, then it's probably worth following up with another PR, but I'm good either way.

Agreed that having the defaults defined next to the field definitions improves readability. I actually used the even more concise values: Array[str] = [] which I assume is equivalent to values: Array[str] = Field(default=[]), but it would be good to confirm.

yeah, those two will have the same result ... except perhaps from the perspective of a linter, which doesn't like the bare list, but doesn't seem to mind the Field (though that seems to be more of a loophole than any sound basis).  bare list works for me :)


chore: update local node

Description:
This PR updates local-node to latest version and bumps all used images as well.
Related issue(s):
Fixes #
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

@AlfredoG87 Yep, this new version have the needed changes.


Successfully installed catboost wants to import as _catboost

I'm trying to use a model trained outside dbt to predict labels via python under dbt-fal
system deets:
Running with dbt=1.5.9
Registered adapter: fal=1.5.4
Registered adapter: postgres=1.5.9

fal-project.yml:
environments:
  - name: ml
    type: venv
    requirements:
      - scipy
      - pandas
      - numpy
      - statsmodels
      - catboost

catboost was just added, and the first run of the file below produced a long installation log to stdout, ending with
[builder]  [info]    Successfully installed [...] catboost-1.2.2 [...]
Running the python model below with dbt run select ... gives me the subsequent error
from catboost import CatBoostRegressor
from pandas import concat

def model(dbt, fal):
    dbt.config(fal_environment="ml")

    df: pandas.DataFrame = dbt.ref("tr_rep_gentrification_prediction_inputs")

    X = df\
        .drop(['col0', 'col1', 'col2'], axis=1)\
        .fillna(0.0)

    model = CatBoostRegressor()
    model.load_model('cb_model.cbm')

    pred = model.predict(X)
    results = concat([df, pred], axis=0)

    return(results)

stdout:
No module named '_catboost'
22:55:01  1 of 1 ERROR creating python table model trans.tr_rep_gentrification_prediction_outputs  [ERROR in 42.02s]
22:55:02
22:55:02  Finished running 1 table model in 0 hours 0 minutes and 58.89 seconds (58.89s).
22:55:02
22:55:02  Completed with 1 error and 0 warnings:
22:55:02
22:55:02  No module named '_catboost'

At the very least the module appears to be picking up a leading underscore. Why? This hasn't happened previously with any of the other imports.

Also posted here.

Bizarrely, if I remove catboost from fal-project.yml and try to dbt run the file again, I get a similar error (as one would expect in this case) but no leading underscore.

No module named 'catboost'
21:53:25  1 of 1 ERROR creating python table model trans.tr_rep_gentrification_prediction_outputs  [ERROR in 30.31s]
21:53:26
21:53:26  Finished running 1 table model in 0 hours 0 minutes and 47.16 seconds (47.16s).
21:53:26
21:53:26  Completed with 1 error and 0 warnings:
21:53:26
21:53:26  No module named 'catboost'

But to solve your issue, you could try putting from catboost import CatBoostRegressor inside the model function definition.

@mederka Ohh, sorry! I've done so here https://github.com/fal-ai/dbt-fal/issues/915#issue-2089028341. Thanks for suggesting the fix, though I got the same error.


Typo in paper

Part of JOSS review (openjournals/joss-reviews#1837):
Could you fix the legend of figure 1? i.e.: "Figure 1: Figure1. ....", there is a duplication of "Figure 1".
There is also a problem with the reference Bailey2015-ft which is not considered during the generation of the pdf.

Fixed by https://github.com/PhanstielLab/coralp/commit/171b45d22642240322eebb164775bb184a1361c0.


Unified tokenizer update PR

[x] #140
[x] #141
[x] #135

Testing now: https://wandb.ai/eric-james-wang/huggingface/runs/lx49ni2g


lsp: support textDocument/documentSymbol

Hi, I am missing a feature of the symbol list(the 'Ctrl+Shift+O' menu) in your vscode extension. The result could look like this:

It would only have to contain the top-level templ, css, script and type declarations.

This feature is driven by the following LSP capability: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentSymbol
Implementing this should unlock this feature for both vscode and other clients supporting this capability (nvim).

I took a look at how to implement this.
The feature is supposed to list useful stuff in the file - variables etc., and then you can navigate the file using those symbols.
But at the moment, the types for templ's templ (parser.HTMLTemplate), css and other top level elements don't store their position in the templ object model, so first step is to add a field to store that information.
 type HTMLTemplate struct {
+       Position   Range
        Expression Expression
        Children   []Node
 }

Then, populate it during parsing like this:
var template = parse.Func(func(pi *parse.Input) (r HTMLTemplate, ok bool, err error) {
	// templ FuncName(p Person, other Other) {
+	r.Position.From = NewPosition(int64(pi.Index()), uint32(pi.Position().Line), uint32(pi.Position().Col))
	var te templateExpression
	if te, ok, err = templateExpressionParser.Parse(pi); err != nil || !ok {
		return
	}
	r.Expression = te.Expression
+	r.Position.To = NewPosition(int64(pi.Index()), uint32(pi.Position().Line), uint32(pi.Position().Col))

Next, the LSP proxy (in templ/proxy/server.go) has a parseTemplate function. This function doesn't currently store the object model of templ files in the struct, like it does with the source map, or diagnostics (DiagnosticCache), so the next step is to get the server to store a map of file URI to list of symbols in the struct so that we can grab them when DocumentSymbol is called. It shouldn't be an lsp.DocumentSymbol that's stored in the cache, because they're in different packages and we'd end up with a circular dependency, but will be close enough structurally.
Finally, when DocumentSymbol is called, need to call the Go LSP first, then do the rest. Something like this.
func (p *Server) DocumentSymbol(ctx context.Context, params *lsp.DocumentSymbolParams) (result []interface{} /* []SymbolInformation | []DocumentSymbol */, err error) {
	p.Log.Info("client -> server: DocumentSymbol")
	defer p.Log.Info("client -> server: DocumentSymbol end")

        //TODO: Convert the templ URI to a Go URI.
	//result, err = p.Target.DocumentSymbol(ctx, params)
	//if err != nil {
		//return
	//}
        //TODO: Rewrite the positions that came back, and remove any items that are not in the source map cache.

        //TODO: Grab the symbol data from the `*Server` symbol cache, and populate the results.
	result = append(result, lsp.SymbolInformation{
		Name:          "templ",
		Kind:          lsp.SymbolKindFunction,
		Tags:          []lsp.SymbolTag{},
		Deprecated:    false,
		Location:      lsp.Location{},
		ContainerName: "",
	})
	result = append(result, lsp.SymbolInformation{
		Name:          "css",
		Kind:          lsp.SymbolKindFunction,
		Tags:          []lsp.SymbolTag{},
		Deprecated:    false,
		Location:      lsp.Location{},
		ContainerName: "",
	})
	result = append(result, lsp.SymbolInformation{
		Name:          "script",
		Kind:          lsp.SymbolKindFunction,
		Tags:          []lsp.SymbolTag{},
		Deprecated:    false,
		Location:      lsp.Location{},
		ContainerName: "",
	})
	return
}

If someone wants to have a crack at it, let me know. With tests etc. it's probably a day's work.


Only  player one slot works

Testing out the latest build "giongto35/cloud-game/cloud-game:master" only player one slot works no matter what square you select for everyone connected. It seems to be across multiple emulators as well, N64 and SNES is what I tested specifically.

It works for NES, SNES games on cloudretro.io and locally (even with the latest master branch update).
Maybe your selection of games doesn't work well with multiplayer (controller) setup.


suggestions for review

I think these are right - they correct the errors for my own test project.

I see some of the fixes in those other PRs, but still missing import * as React from 'react'; and the declare keyword on the namespaces and classes in the .d.ts?  No?

@JasonKleban @dlee thanks guys! You almost sent these fixes simultaneously 👍 Because typings are generated automatically by phenome I have updated phenome and main d.ts build script. I ask you to get latest repo, npm install, and run npm run build-react:dev and check typings in build folder. If everything is ok I’ll do the release

@JasonKleban after running build command, you should see output in build/react/ folder. All you mention should be there

And make sure you call npm install to get latest phenome

Ok great!  I won't be able to verify for at least 8 hours - in case you're itching to release.

Looks good to me

Will do the release tomorrow

What branch?  master seems to have many problems to me


Prevent Crash on IOS when changing media

Duplicate of
https://github.com/muslimtv/flutter_playout/pull/67
please merge!

Merged in 2.0.2-rc1


Not using provided FormatEvent

I have an issue with your library because the logs are reported using a Layer which bypasses the FormatEvent of tracing_subscriber.
In my use case I have made my own FormatEvent which I use in place of the default one provided by tracing-subscriber. This allows me to customize the log lines.
:thinking: I don't know if I have a solution for this... FormatEvent is using a Writer to write the log lines (which is provided by the user). Maybe it would be possible to spawn a task that would read the log lines from a Reader and call the log() function from there but logging in the browser console is kinda complicated because there are log arguments to change the colors and stuff... I would probably need to serialize things.

Interesting! I had not seen this capability, before, but it looks pretty neat.
The main issue that we need to consider is how do we allow or disallow usage of color styling, which is something that I feel improves the legibility of the logs (using console.log("%cWARN", "color: orange", "Warning message"))?
https://developer.mozilla.org/en-US/docs/Web/API/console#usage
I suppose for the time being we could enable toggling the prefix & additionally use the FormatEvent (behind a fmt feature) for the rest of the message's printing.
WDYT?

Interesting! I had not seen this capability, before, but it looks pretty neat.
The main issue that we need to consider is how do we allow or disallow usage of color styling, which is something that I feel improves the legibility of the logs (using console.log("%cWARN", "color: orange", "Warning message"))?
https://developer.mozilla.org/en-US/docs/Web/API/console#usage
I suppose for the time being we could enable toggling the prefix & additionally use the FormatEvent (behind a fmt feature) for the rest of the message's printing.
WDYT?

It's been a long time. :grin:
hmm what you say sounds right? I think. If I understand right you would allow logging with the FormatEvent in a crate feature. Otherwise it would use the current behavior that you have. I guess that's the best we can do.
Meanwhile I think I implemented something custom. I probably won't get back to it before a long time so don't feel to urge to implement anything. Maybe my use case is kinda rare and not necessarily worth the effort.


add anonymize-ip example to README

add anonymize-ip example to README.md as its not yet documented but useful

Thanks for adding this in.


Favicon bug fix and enhancement

Describe your changes
Bug fix and enhancements for favicons to fix prior PR

restored option to enable/disable favicons
removed toggle from text input Option type
added isFavIcon prop to enable favicon specific text feature  - icon preview

Issue ticket number and link
Checklist before requesting a review

[ x ] I have read and understand the Contributions section
[ x ] Target branch is releaseCandidate and not master
[ x ] I have performed a self-review of my code
[ x ] I ran the unit tests and my PR does not break any tests
[ n/a ] I documented the changes I've made on the CHANGES.md and followed actual conventions
[ n/a ] I added a new section on how-to.md (optional)

Thank you @nshulman this is great ! I'm loving the preview of the favicon that's a good idea 👏


Cannot figure out how to set Dark Mode

How do I make the app go into dark mode?  I guessed "- WASTEBIN_DARK_MODE=1" which didn't work but I don't see any documentation to make it the default theme.
I ended up rebuilding the docker file and just copied over the dark theme into the light theme as a workaround.  Just a little strange.

It's entirely client-side and based on your browser settings.

Hey no problem. I was just expecting to see a settings page where you can change the "theme" from dark / bright etc.  Feel free to close this.