http library should redefine some of the enums from 'dart:io'

This issue was originally filed by<EMAIL_ADDRESS>
Now that the http library supports both browser and console contexts, libraries intending to use the library to provide requests are unable to use some of the useful enums defined in 'dart:io', (specific to my use case, HttpHeaders and HttpStatus).
It would be useful if the http library could redefine or reexport some of these classes.

This issue has been moved to dart-lang/http#18.


Adjust existing e2e tests to provide custom Pypi index URL

Issue link

RHOAIENG-310
Depends on https://github.com/project-codeflare/codeflare-common/pull/32
What changes have been made

Added support for defining PyPI connection properties, minor fixes for ODH tests.
Verification steps

Run e2e tests in disconnected environment with provided env variables.
Checks

[x] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[x] Manual tests
[ ] Testing is not required for this change

@jiripetrlik @abhijeet-dhumal Please take a look. e2e tests should work well now in disconnected environment, pip address is passed using env variable. For ODH TestMCADRay I had to pass values using requirements.txt due to https://issues.redhat.com/browse/RHOAIENG-65.
ODH TestMnistPyTorchMCAD is not fixed for disconnected cluster yet, need to find and adjust proper image for training execution. I didn't want to block the PR because of that.


[Question] is it possible to run h2ogpt headless?

As the title suggest, I wanna know if i can run h2ogpt headless and expose like an API endpoint to inference it.
I know gradio client exist and it has API, but that's just too unstable for my usecase. besides  i havent been able to use the API with auth enable at all.
The latest official how to, it aint working.
https://github.com/h2oai/h2ogpt/commit/9f2094be2377fd15305339d07ab9e4fd45ac5fcc#commitcomment-134691283

Auth with API not possible, but perhaps gradio team finally updated to allow, I need to check on it: https://github.com/h2oai/h2ogpt/issues/946

@us8945 take a look a the notebook.


Help

When i go to page its only blank nothing more i set it up all and nothing please help thank you

I also have this problem, could anyone help?


fix(nuxt, vite): do not use cjs utils to resolve/alias vue

🔗 Linked issue
https://github.com/nuxt/nuxt/issues/14146
❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Vite and Nitro correctly resolve vue dependencies, and it is far better to defer resolution to the bundlers than override it ourselves, particularly with support for non-hoist:
You can test with this plugin:

Details
const logger = {
  name: 'log',
  writeBundle (_options, bundle) {
    for (const file in bundle) {
      const chunk = bundle[file]
      if (chunk.type === 'asset') { continue }
      const resolvedVueFiles = chunk?.moduleIds.filter(i => i.includes('vue'))
      if (resolvedVueFiles?.length) {
        console.log(resolvedVueFiles)
      }
    }
  }
}

export default defineNuxtConfig({
  experimental: {
    // you can try with and without
    externalVue: false
  },
  nitro: {
    rollupConfig: {
      plugins: [logger]
    }
  },
  vite: {
    plugins: [logger]
  }
})

(In my testing, before this PR, with externalVue: false vue was actually being bundled twice in nitro bundle.)
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

I've tested it in the framework repo here. Are there module resolution changes coming upstream from nitro?

I think this might have broken this particular Nuxt Config setting (Nuxt 3.6.2 with Nitro 2.5.2):
vite: {
    build: {
      rollupOptions: {
        output: {
          manualChunks(_id) {
            return 'index'
          }
        },
      },
    },
  },

I now get a bunch of <BLAH> cannot be included in manualChunks because it is resolved as an external module by the "external" option or plugins.

@sei-jdshimkoski Maybe you you could open an issue with reproduction? I don't have an issue with that code in a minimal sandbox.

I think this might have broken this particular Nuxt Config setting (Nuxt 3.6.2 with Nitro 2.5.2):
vite: {
    build: {
      rollupOptions: {
        output: {
          manualChunks(_id) {
            return 'index'
          }
        },
      },
    },
  },

I now get a bunch of <BLAH> cannot be included in manualChunks because it is resolved as an external module by the "external" option or plugins.

Same question. Did you fix it?

Sorry, was out of town and away from my computer. I'll try to open an issue with reproduction today.

Ticket is here: https://github.com/nuxt/nuxt/issues/22127


Fix broken 'help' link in README

Yes, it's quite jarring to be seeing a warning about wrong SSL cert. (Since it's for herokuapp.com)


Adding option to tie ADAGE weights together

The original ADAGE used tied weights (and was written in Theano). The previous ADAGE version in this repo did not have a tied weights constraint (meaning that the encoder and decoder weights were free to vary independently). We observed relatively poor performance of ADAGE models compared to other compression techniques (see simulation_results.md and z_dimensions_hyperparameter_sweep_results.md). We hypothesized that one of the reasons could be because of the lack of ADAGE tied weights.
There used to be an option to tie weights in the Keras autoencoder class (keras-team/keras#180, keras-team/keras#3261) but this has since been removed.
The pull request adds this functionality as a custom layer and also modifies the DataModel class to use these options.

Thanks for comments @danich1 and @jaclyn-taroni - ready for re-review


Feat objection

Information

Type
Breaking change

Feature
No

@stefanvanherwijnen I added unit test and some small additional decorators (and example code to create other kind of decorator).  You can review PR later ;)
I'll merge it now!
Thanks for your contribution!
Romain

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

v6.10.0
GitHub release

Your semantic-release bot :package::rocket:


[Docs]: Document that --runInBand forks a worker when --workerIdleMemoryLimit is set

Page(s)
https://jestjs.io/docs/troubleshooting#tests-are-failing-and-you-dont-know-why
https://jestjs.io/docs/cli#--runinband
Description
It would be helpful to note that, when --workerIdleMemoryLimit is set, --runInBand does not "Run all tests serially in the current process, rather than creating a worker pool of child processes that run tests" as stated in https://jestjs.io/docs/cli#--runinband. Instead, it creates a single-worker pool. Due to this, the Troubleshooting instructions in https://jestjs.io/docs/troubleshooting#tests-are-failing-and-you-dont-know-why are incomplete; it's necessary to unset --workerIdleMemoryLimit if one is set before attempting to use the Node.js debugger.
Solving this via updating docs is one answer. Alternatively, one thought is to update the fix that was added in https://github.com/jestjs/jest/pull/13846 to only apply to the --maxWorkers=1 case, but not to --runInBand, which could be reverted to its previous behavior of running tests in the parent process (can PR this if it sounds like an acceptable answer). Another option is to add a warning when both --runInBand/--maxWorkers=1 and --workerIdleMemoryLimit are set (restricting it to the case where Node received the --inspect or --inspect-brk flag, if this is possible). (And yet another option is to simply wait until only Node 20+ is supported, and remove --workerIdleMemoryLimit then.)
(Repro steps are here to see the current vs. expected behavior when attempting to follow the current Troubleshooting steps: https://github.com/bregenspan/jest-idle-memory-limit-bug-repro)

Thank you! I was just pulling my hair out over this exact problem. Removing workerIdleMemoryLimit made runInBand work as expected again.

Hmm, seems like a bug to me that runInBand isn't respected when passing workerIdleMemoryLimit 🤔 there shouldn't be any worker to limit the memory of

Looking into it a little more, the fix in https://github.com/jestjs/jest/pull/13846 is not to blame; it checks for globalConfig.runInBand but runInBand is always undefined even when --runInBand is passed to the CLI.
@SimenB I still have to test, but I think your fix in https://github.com/jestjs/jest/pull/14578/files should resolve this issue as well.


Why generate extra closure wrapper for class?

TS code:
class Client {
    prop: string;

    constructor() {
        this.prop = "a";
    }

    method() {
        console.log("A method");
    }

    static stProp: string = "val";
}

Generated es5 code(module type is commonjs):
var Client = (function () {
    function Client() {
        this.prop = "a";
    }
    Client.prototype.method = function () {
        console.log("A method");
    };
    Client.stProp = "val";
    return Client;
}());

I am just wondering why not just generate a function without wrapper:
function Client() {
    this.prop = "a";
}
Client.prototype.method = function () {
    console.log("A method");
};
Client.stProp = "val";

Isn't this simpler and smaller?

I think it is because of spec compliancy. A function declaration is hoisted to the top of the scope, so you can already call the function before the definition.
Per spec, classes are not hoisted, so they need to be undefined before the declaration.

For spec compliancy, I think we can also achieve the goal by generating code like this which is simpler:
var Client = function () {
    this.prop = "a";
};
Client.prototype.method = function () {
    console.log("A method");
};
Client.stProp = "val";

For someone reading the JavaScript, the closure is both more idiomatic and easier to understand. It places the imperative class definition in a single physical place.

Please use Stack Overflow for questions. This has been asked and answered before.
http://stackoverflow.com/questions/31051670/why-does-typescript-wrap-class-in-anonymous-function
http://stackoverflow.com/questions/24999452/how-to-do-class-implementation


[BUG]  When icons_launcher:creat is executed, the snap folder is created. What does this do? Can it be generated in the corresponding platform folder instead of the project directory

When icons_launcher:creat is executed, the snap folder is created. What does this do? Can it be generated in the corresponding platform folder instead of the project directory

The snap folder is for Linux platform configuration more detail.


Cannot connect to Philips Hue Bridge

[x] I confirm that this is an issue rather than a question.

Bug report
Cannot bind my Philips Hue bridge
Steps to reproduce

Select Led Instance > Led Output > Led Controller
Set Controller type to "philipshue"
Click on "Philips Hue Entertainment Wizard"
Enter the bridge IP address (same network of Hyperion server)

What is expected?
No bridge will be discovered even if providing the correct address.
What is actually happening?
Hue bridge should be found.
Also tried to create a new client, pushing the link button when is requested, but with no luck.
Log is providing this error:
LEDDEVICE         : <ERROR> Invalid port [0] for host: (192.168.1.***)! - Port must be in range [0 - 65535]
hyperiond[9]: Invalid port [0] for host: (192.168.1.***)! - Port must be in range [0 - 65535]
hyperiond[9]: Invalid port [0] for host: (192.168.1.***)! - Port must be in range [0 - 65535]

Inside docker container that is running Hyperion I can wget the index.html form that IP address and I can confirm that it is reachable and it is my HUE bridge.
System

Docker container running Hyperion v2.0.14

Set the Port = 80 on the LED-Configuration page.
If you do not see the port, change to Expert settings.
Please note that for Hue-Entertainment API additional ports need to be opened in docker.
See here  for reference.


Utils Kernel Decoupling

Initial implementation done for #1 . Do some spot checking/testing and test when acceptable.

No blocking issue found. Merge approved.


Bug in compute_scale_factors

At the following lines:
    common_reference_values = np.array(reference_values.loc[common_miller_indices])
    common_values_to_scale = np.array(values_to_scale.loc[common_miller_indices])

are not passed as numpy arrays the optimization returns incorrect scaling parameters. I am yet to understand exactly why this happens

resolved by #32


How many bachelor Materials are there in a MProductGroup?

At #233 , I implemented MPGVisualizer which generates diagrams that visualize the internal state of a MProductGroup object. By the diagrams I can see what Material objects are contained in a MProductGroup.
What is interesting in the diagrams could be that sometimes I fail to make pairs of Materials. I need to recognize that I have orphans. The diagram let me know it. See the example.
https://github.com/kazurayam/materialstore/blob/0.8.3-SNAPSHOT/src/test/java/com/kazurayam/materialstore/dot/MPGVisualizerTest.java

I want to be informed when I have 1 or more bachelor Materials. I want to stop my tests when I have any bachelors so that I can take care of them.
I want MProductGroup class to have some method or return value which let me know of the number of unpaired Materials.

v0.8.3-SNAPSHOT


Support for logging metrics with Logback

This is a feature request.
Problem:
Metrics cannot be configured with the standard logging properties described in https://github.com/prebid/prebid-server-java/blob/master/docs/config.md#logging-properties
Proposed Solution:
Add a log reporter in src/main/java/org/prebid/server/spring/config/metrics/MetricsConfiguration.java that enables users to activate metric logging from prebid-config.yaml with options specified in logback configuration files (e.g. prebid-logging.xml) as mentioned in https://github.com/prebid/prebid-server-java/blob/master/docs/config.md#logging-properties

Closed as done, feel free to re-open if you have other questions


Bump technologie detection

👋
Hi again @AliasIO
This PR introduces:

Typo fix in the technologie name

ps: I mistakenly dropped that commit while rebasing the PR last time 🙇♂.
Thank you!

Thanks!


Add launch icon on mac for parallel launches

This is from Willy Moss. 2.4 installs on a Mac like a normal Mac app. Thats great. But, when you double click on the launcher icon, you only get a serial VisIt. There is no option to launch a parallel VisIt. Willy wants to launch with np 8 argument. In the past, he did that by making an alias with full path to VisIt binary (script) appending np 8 to the command line. He was able to fix this simply by using new path to VisIt binary launcher script for 2.4. But, he'd like a launcher icon that either a) asks for number of processors or b) can be programmed to set number of processors or c) always uses all processors that are available.
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 902
Status: Rejected
Project: VisIt
Tracker: Feature
Priority: Normal
Subject: Add launch icon on mac for parallel launches
Assigned to: -
Category: -
Target version: -
Author: Mark Miller
Start: 11/22/2011
Due date:
% Done: 0%
Estimated time:
Created: 11/22/2011 07:26 pm
Updated: 11/29/2011 07:02 pm
Likelihood:
Severity:
Found in version: 2.12.3
Impact: 3 - Medium
Expected Use: 3 - Occasional
OS: OSX
Support Group: DOD/Ale3D
Description:
This is from Willy Moss. 2.4 installs on a Mac like a normal Mac app. Thats great. But, when you double click on the launcher icon, you only get a serial VisIt. There is no option to launch a parallel VisIt. Willy wants to launch with np 8 argument. In the past, he did that by making an alias with full path to VisIt binary (script) appending np 8 to the command line. He was able to fix this simply by using new path to VisIt binary launcher script for 2.4. But, he'd like a launcher icon that either a) asks for number of processors or b) can be programmed to set number of processors or c) always uses all processors that are available.
Comments:
Actually, the setup host profiles window should set up host profiles for serial and parallel so the engine chooser dialog will come up when a file is opened. We opted to reject this ticket and add a ticket regarding setup of host profiles on Mac

related to #916


Fix tests

[ ] Added or updated tests
[ ] Documented user facing changes
[ ] Updated CHANGELOG.md

Changes
Fixes tests (see https://github.com/nunomaduro/larastan/runs/4821437963 for example)
Breaking changes
No

Thank you @bastien-phi!
I'm not sure when to make changes in CheckDispatchArgumentTypesCompatibleWithClassConstructorRuleTest.
@nunomaduro When to be PHPStan v1.4 compatible?

Thank you. But I fixed it little bit differently here: https://github.com/nunomaduro/larastan/commit/3808babc9c8df50465294e5697b50b121d3f492f

Good job !


Share CFD data

Create simple CFD data and share it with the collaboration

I've finally generated the CFD data to compress with Baler.
The data can be found in the following link: CFD data on Dropbox

snapshot folder contains a .hdf5 file with the flow at a single time step.
time_series folder contains the temporal evolution of the flow (20 time steps).

Some pictures of the domain and how the flow looks like:

Simulated domain. It is 3D but only 3 cells thick in y direction.

Flow velocity in the x direction.

Streamlines (i e. lines tangent to the velocity vector at each cell, they give an idea of the flow path).
Data structure contained in the .h5 files:

Each time step is stored in a HDF5 group as Time_x, where x is the time step number.
Each group contains the following datasets:

LaTyp: marker that indicates the type of cell. 0 is solid, 1 is fluid, other numbers are different boundary conditions.
Rho: density
Ux: x component of the velocity vector
Uy: y component of the velocity vector
Uz: z component of the velocity vector.

Each dataset is an array of Nx * Ny * Nz points, where Nx = 250 is the number of cells in the x direction, Ny = 3 is the number of cells in the y direction and Nz = 101 is the number of cells in the z direction.  So each dataset has a total of 75750 points.

I would also like to add that this is just a test case, the size of the files is smaller than what a standard CFD simulation would contain. In a standard CFD simulation each dataset would contain around 10-100 million points.


$.select* should not fire change event if the value is not changed

The problem
Since selenide 6.10.0, change event is always fired when $.select* is invoked. It should not fire if the value is unchanged
Tell us about your environment

Selenide Version:  6.10.0
Chrome\Firefox\IE Version: Chrome 108

Code To Reproduce Issue [ Good To Have ]
I'm submitting a PR with tests in place

#2063

fixed by https://github.com/selenide/selenide/pull/2063


The context menu for the Transfer Deadletter subqueue is in a bad state

It looks like this:

Also, when a menu item is selected it will execute the actions associated with the two top menu items.
I suggest the same context menu should be used for the Transfer DLQ as the standard DLQ. Also, as much code as possible should be shared between them. This also applies to the code handling queues and subscriptions, where duplicate code should be minimized.

Fixed in #768


Use hlarp to compare HLA type from different samples

When I use hlarp to compare HLA type from different samples for the same patient, I get output for each sample name separately. Is there a way to force hlarp to ignore the sample description in the parsing of output?
For example:
$ hlarp compare --optitype /path/to/normal/optitype/output --optitype path/to/tumor/optitype/output
normal-patient_id_N	jaccard similarity: -nan
	A*02:01	OptiType2
	A*29:02	OptiType2
	B*44:02	OptiType2
	B*44:03	OptiType2
	C*05:01	OptiType2
	C*16:01	OptiType2
tumor-patient_id_T	jaccard similarity: -nan
	A*02:01	OptiType1
	A*29:02	OptiType1
	B*44:02	OptiType1
	B*44:03	OptiType1
	C*05:01	OptiType1
	C*16:01	OptiType1
Average jaccard similarity across runs: -nan

The semantics of the path arguments to compare (ex, --optitype) are a bit confusing.
When you supply a path, hlarp still has to have some logic for aggregating the different outputs and grouping them according to "sample"'s to compare (example patient1, patient2 ...). What is happening, as far as I understand, is that it is not grouping them for comparison, so it looks like there are 2 different samples (normal-patient_id_N,  tumor-patient_id_T). When it comes time for comparison OptiType1 (the first invocation) is missing tumor-patiend_id_T and therefore it compares against the empty set, leading to nan. Similarly for OptiType2.
The --optitype invocation (I think like all the other tools that hlarp currently supports) takes it's sample value from the directory preceding the "timestamped" OptiType output.
For example, with the Upenn data set I have OptiType results that live in:
/some/other/path/120013_TGACCA/2016_05_09_12_12_48/2016_05_09_12_12_48_result.tsv
hlarp looks for something like 2016_05_09_12_12_48_result.tsv. And a folder with the same timestamp that contains in. It actually takes the last folder (ie. it would ignore 2016_01_01_00_00_00/2016_01_01_00_00_00_result.tsv), and return's that result (perhaps best not to drag up the terrible memories of why I wanted that). Afterwards it uses the name of the folder that contains the optitype output folder as the sample name.
In general, this is a bit of a tricky problem. The most general solution would be to take a regex with special identifiers (ex. sample_name) to be used in a group so that one could extract samples generally. Or we can agree on a small set of simple conventions. The current conventions (sample name = containing directory) main benefit is simplicity of implementation. But I am happy to help implement any other solutions that could make your analysis easier.

Thanks again. Agreed, this would be a tricky problem to solve generally.
For my use case, I'm not using hlarp compare to aggregate results across different samples -- for that use I used multiple.  When I want to compare, it would be nice for me to say --compare-all which would essentially ignore sample identifiers & just compare anything I add to the command line. That might be one way to get around the need for a regex / etc.
A mini hack I tried in the meantime was to generate the hlarp report output, apply a regex to the source descriptions & pass this as hlarp compare --hlarp-file. In this case, it also didn't compute the jaccard similarities... Perhaps i am not using this command correctly?
Here is the output:
## generate filtered hlarp report
$ hlarp multiple --optitype /path/to/tumor-patient_id_T_SCR/2016_11_13_11_31_48 --optitype /path/to/normal-patient_id_N/2016_11_13_10_00_34 | perl -p -e 's/OptiType_.*-(.*)_(T_SCR|N)/Optitype-$1/g' > hlarp_output
$ cat hlarp_output
class,allele,qualifier,confidence,run
1,A*02:01,,,Optitype-patient_id
1,A*02:07,,,Optitype-patient_id
1,B*07:02,,,Optitype-patient_id
1,B*44:03,,,Optitype-patient_id
1,C*07:02,,,Optitype-patient_id
1,C*14:03,,,Optitype-patient_id
1,A*02:01,,,Optitype-patient_id
1,A*02:01,,,Optitype-patient_id
1,B*07:02,,,Optitype-patient_id
1,B*44:03,,,Optitype-patient_id
1,C*07:02,,,Optitype-patient_id
1,C*14:03,,,Optitype-patient_id

## hlarp compare on reformatted output
$ hlarp compare --hlarp-file hlarp_output
Optitype-CA209009_12_115	jaccard similarity: -nan
	A*02:01	hlarp_outputx3
	A*02:07	hlarp_output
	B*07:02	hlarp_outputx2
	B*44:03	hlarp_outputx2
	C*07:02	hlarp_outputx2
	C*14:03	hlarp_outputx2
Average jaccard similarity across runs: -nan

So I gathered from this that I had to pipe the various optitype outputs to different hlarp-files, each using the same sample identifiers to get the summary I wanted. Curious to know if this seems reasonable & if I'm barking up the right tree?
Thanks again --

So I gathered from this that I had to pipe the various optitype outputs to different hlarp-files, each using the same sample identifiers to get the summary I wanted. Curious to know if this seems reasonable & if I'm barking up the right tree?

It is reasonable. compare is meant to look for similarity across all the arguments (you need more than one argument or otherwise you'll get nan output) and then sample's within those arguments. For hlarp-file's the samples are in the last column called "run". So if you want to rename output it would be better to rename them to same patient id. You also don't need multiple in this case, since it is the one adding "OptiType" to the sample name (ie, run column). You could just use hlarp optitype /path instead.

@rleonid apologies I missed your ping about this yesterday - for now I am piping various outputs to compare using hlarp-files as described above. I ended up using multiple (rather than optitype, for example) so that I could include results from multiple samples in a single command.
So at this point the issue is a nice-to-have rather than a requirement for use. Have a nice holiday & happy to discuss if you like.

Ok, let's discuss in person when we're both back in the lab. It sounds like you have the HLA-types that you need.


add auto completion of sub commands

We should have a way to autocomplete sub commands (using tab) and flags so that it is easier for users.

@RinkiyaKeDad,
Please assign this Issue #16 to me, and I started working on the issue.
Here is the Pull Request #20

Assigned. Thanks for the PR!

/remove-lifecycle stale

Hey @RinkiyaKeDad If Can  I work on this

/good-first-issue
Hey @GrooveCS can you please let us know if you're still working on this?

@GrooveCS can you please confirm if you're still interested in picking this up?

@RinkiyaKeDad  I would be happy to give it a head-start

Hey @ShivamTyagi12345 since we've not heard from Parris for some time now I believe it's okay if you assign yourself and start working on this. Once again thanks for picking this up. And @GrooveCS, thank you so much for starting the work and setting the groundwork for this feature!

Hey @ShivamTyagi12345 since we've not heard from Parris for some time now I believe it's okay if you assign yourself and start working on this. Once again thanks for picking this up. And @GrooveCS, thank you so much for starting the work and setting the groundwork for this feature!

Thanks, @RinkiyaKeDad @GrooveCS  .Starting today

hey @RinkiyaKeDad  Can you please suggest some resources that you feel would be helpful for this issue.

Hey @ShivamTyagi12345 really sorry I missed your ping on this issue. This was something even I wasn't familiar with so some investigation was required. Looks like someone has already raised a PR to fix this. If you're still interested could you take a look at some other good first issues? You should find a good list here: https://go.k8s.io/good-first-issue
Regarding learning go, I found this to be very helpful when I was getting started - https://gobyexample.com/
Let me know if you need any other help!

/remove-lifecycle rotten


Private channel not working

Hello,
I'm getting this JS error on the console:
app.js:167 Uncaught ReferenceError: receiverId is not defined
Here is my complete code:
PrivateChatController:
event(new PrivateMessageEvent($chat, $receiverId));
PrivateMessageEvent:
namespace App\Events;

use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use App\User;
use App\PrivateChat;

class PrivateMessageEvent implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    public $privateChat, $receiverId;
    /**
     * Create a new event instance.
     *
     * @return void
     */
    public function __construct(PrivateChat $privateChat, $receiverId)
    {
        $this->privateChat = $privateChat;
        $this->receiverId = $receiverId;
    }

    /**
     * Get the channels the event should broadcast on.
     *
     * @return Channel|array
     */
    public function broadcastOn()
    {
        return new PrivateChannel('private-chat.' . $this->receiverId);
    }
}

Bootstrap.js
import Echo from "laravel-echo"

window.Echo = new Echo({
    broadcaster: 'socket.io',
    host: window.location.hostname + ':6001'
});

window.Echo.private(`private-chat.${receiverId}`)
    .listen('PrivateMessageEvent', (e) => {
		console.log(e);
});

channels.php
Broadcast::channel('private-chat.{receiverId}', function ($user, $receiverId) {
    return true; // this is just for debugging to allow anyone to listen on this channel
    //return $user->id === $receiverId;
});

laravel-echo-server.json
{
	"authHost": "http://localhost",
	"authEndpoint": "/broadcasting/auth",
	"clients": [],
	"database": "redis",
	"databaseConfig": {
		"redis": {},
		"sqlite": {
			"databasePath": "/database/laravel-echo-server.sqlite"
		}
	},
	"devMode": true,
	"host": null,
	"port": "6001",
	"protocol": "http",
	"socketio": {},
	"sslCertPath": "",
	"sslKeyPath": ""
}

In background queue:work and laravel-echo-server are already running
Upon firing that event, I'm getting this message on the laravel-echo-server console:
Channel: private-private-chat.
Event: App\Events\PrivateMessageEvent
CHANNEL private-private-chat.

Notes:

I'm successfully able to listen to the public channel. The only issue with the private channel.
Using latest Laravel version i.e 5.4
I have done all the things as per the official docs:
https://laravel.com/docs/master/broadcasting
https://github.com/tlaverdure/laravel-echo-server

I have spent more than 10 hours and tried everything I could, but no luck.
Thanks

Hi @xparthx,

app.js:167 Uncaught ReferenceError: receiverId is not defined

First of all, try to open app.js and find the line 167. It can help to understand the issue better.
My guess is that you do not define receiverId before  window.Echo.private(private-chat.${receiverId}) call.
Let's take a look at your Bootstrap.js:
window.Echo.private(`private-chat.${receiverId}`)
    .listen('PrivateMessageEvent', (e) => {
		console.log(e);
});

I personally do not use such placeholder as ${receiverId}. Instead, I use a simple JS concatenation to pass a parameter to the channel, for example:
window.Echo.private(`private-chat.` + receiverId)
    .listen('PrivateMessageEvent', (e) => {
		console.log(e);
});

And I would make sure that receiverId is defined before window.Echo.private(private-chat. + receiverId).
Hope it helps.
Konstantin

Also, I would not call window.Echo.private(private-chat. + receiverId) in Bootstrap.js. I would call it when and where I can get the receiverId parameter.
The receiverId can be a part of your page url or can be represented by a hidden element in your template, for example:
<input type="hidden" id="receiver_id" value="{{$receiver_id}}" />

In case you use hidden element, just get its value and pass to the Echo.private() method.
var receiverId = document.getElementById('receiver_id').value;
window.Echo.private(`private-chat.` + receiverId)
    .listen('PrivateMessageEvent', (e) => {
		console.log(e);
});

Something like that.
To sum up, I understand your pain. Some points of the documentation are not so obvious.
Frankly, I also spent a lot of time trying to make Echo + Echo Server work my first time. But don't try to solve the problem alone. Ask the community.

Hey @kkomelin,
Thanks for your reply.

I have placed that socket.io code into resources\assets\js\bootstrap.js which came out of the box with the Laravel.
I wrote it there because it was written in Laravel's official doc:
https://laravel.com/docs/master/broadcasting#receiving-broadcasts

public/js is just the compiled file of the resources/assets/js/app.js using Laravel mix
Line 168 contains that error. Please see the screenshot.

I have used placeholder ${receiverId} just because it was written there on Laravel's official doc. I had already tried with simple JS concatenation but it still didn't work.

Also, I would not call window.Echo.private('private-chat.' + receiverId) in Bootstrap.js. I would call it when and where I can get the receiverId parameter.
-> That Js error occurs as soon as I visit the page. The event which broadcast, get only triggers upon form submission. So I think that is the main issue. I think I should call this code upon submission of that form instead of calling it directly in the bootstrap.js:

window.Echo.private(`private-chat.${receiverId}`)
    .listen('PrivateMessageEvent', (e) => {
		console.log(e);
});

Thanks

So I think that is the main issue. I think I should call this code upon submission of that form instead of calling it directly in the bootstrap.js:

Exactly. That's what I meant.
And the Laravel docs do not instruct you to put window.Echo.private() to bootstrap.js, as far as I know. Moreover, they don't instruct you where to put this code at all. That's the problem of the docs. What is obvious for the author can be not so obvious for users.
Anyway, try to put window.Echo.private() where the receiverId is known and defined.
For instance, I run this code on chat page load for one of my apps.

Yes, that was the main issue. That solved half of the issue as it can get now receiverId .
Now everything works great without any error. But I'm not getting any output on the console while listing that event:
$('#group-chat').on('submit', function(e) {
	var form = $(this);
	e.preventDefault();
	$.ajax({
		url: form.attr('href'),
		method: 'POST',
		data: form.serialize(),
		success: function(data) {
			form.find('#chat-message').val('');
			window.Echo.private(`chat.${data}`)
			.listen('PrivateMessageEvent', (e) => {
				console.log('test'); // Doesn't print anything
			    });
		}
	});
});

Console output from the echo server
Channel: private-chat.93
Event: App\Events\PrivateMessageEvent
CHANNEL private-chat.93
[11:40:45 PM] - JOKGoYrrjyTgIsLZAAAV authenticated for: private-chat.93
[11:40:45 PM] - JOKGoYrrjyTgIsLZAAAV joined channel: private-chat.93

Thanks

It's probably necessary to explain how the event broadcasting works:

User A sends a chat message through the form submit (or Ajax).
Your laravel app (route) receives the submit request and initiates event broadcasting broadcast(...)->toOthers().
The event goes to the Laravel Queue which uses Redis pub/sub (let's call it queue as well).
Since Laravel Echo Server listens to the certain kind of events in the Redis queue and receives the event of the User A.
After receiving the event, Laravel Echo Server broadcasts the event to other clients.
Finally, User B receives the User A's message.

So, you should run the event listener window.Echo.private() for User B only, and it should be somewhere on the page load.
And your form submit route callback should broadcast() the event.
From your code sample it seems like you start listening to the event only after sending the first message. I assume that if you don't send any messages, you won't receive messages from other users.
Just in case, I recommend you re-reading Laravel Broadcasting docs from start to the end to strengthen your knowledge.

Yes, it makes sense.
But the issue is if I listen for that event on page load instead of the AJAX callback then again I'll get that receiverId undefined error.
I have read Laravel Broadcasting doc many times but it still doesn't tell how to tackle this issue. I don't blame doc for that. No doc can explain how to do some specific task - it has to generalise and so it is.
Would be good if you can just explain verbally that what I'm doing wrong here.
Appreciate your help.
Thanks

ok, I got that working i.e listens for an event on page load without getting that receiverId undefined error.
var receiverId = null;

window.Echo.private(`chat.${receiverId}`)
    .listen('PrivateMessageEvent', (e) => {
        console.log(e); // Not getting excute
});

Console output from the echo server
[11:45:56 AM] - vmqOY60cgP4ASis7AAAG authenticated for: private-chat.null
[11:45:56 AM] - vmqOY60cgP4ASis7AAAG joined channel: private-chat.null
Channel: private-chat.6
Event: App\Events\PrivateMessageEvent
CHANNEL private-chat.6

So now the only issue that on the JS, the event is not getting listen.
Thanks

The problem is in your architecture. Why do you need this receiverId? To check the access rights?
I would create a model, called Chat, and use chatId instead of receiverId, so that the app could always access chatID and received subscribed users by this chatId. Something like that.

Would be good if you can just explain verbally that what I'm doing wrong here.

First of all, I have no clue what you're trying to achieve. Secondly, I can't see your app code. So, it's difficult for me to say exactly. Moreover, it's your job and not mine. Correct?
That's all I can help with. Good luck with the project!
Konstantin

Hello,
Finally, I got everything working in a correct way. You were right about my architecture. It was wrong. Now I know when/how to fire event and when/how to listen for that event.
Thanks a lot for your support so far.

Hi @xparthx,
You're welcome.
I'm glad you did it yourself. Congrats!
Best,
Konstantin

paparyku in the buildin

@xparthx could you explain what you were doing wrong with the architecture? I am facing this exact same problem after reading through the docs a few times the solution is not clear.  I am trying to figure out how to make echo listen to a post.${postId}.comment channel which is a private channel but I have absolutely no clue how to access the postId since the receiver of the message is not committing any action, it should just listen on the channel where the postId is dynamic.

Sorry right now I'm bit busy, so can't help much.
But you can get idea from my repo:
https://github.com/xparthx/laravel-realtime-chat
Thanks
On 18 Jul 2017 8:38 p.m., "Joseph Crawford"<EMAIL_ADDRESS>wrote:

@xparthx https://github.com/xparthx could you explain what you were
doing wrong with the architecture? I am facing this exact same problem
after reading through the docs a few times the solution is not clear. I am
trying to figure out how to make echo listen to a post.${postId}.comment
channel which is a private channel but I have absolutely no clue how to
access the postId since the receiver of the message is not committing any
action, it should just listen on the channel where the postId is dynamic.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tlaverdure/laravel-echo-server/issues/158#issuecomment-316094478,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEC5uwlgMj4eVYNUhUJ8L5HsJZX-uu6gks5sPMpYgaJpZM4M4ZjM
.

afşkmsafşkmsafaşsf

Hey there, this issue was opened a while ago. I'm going to close this issue, if this issue still exists, please open a new issue or open a Pull Request.


Onboarding TCA intro

This PR is meant to be an intro to TCA.  It contains an implantation of a basic store to provide Onboarding Step data that can drive an interactive Onboarding screen.  Tests were added as well for review.
This code should and will change over time, it's meant for discussion sake and for reviewing some of the basic concepts of TCA in contrast to a more imperative solution.  The actual onboarding screen has more requirements and a different design.  This current implementation is a standalone View that can drive most requirements of the Screen, however there is no navigation included in this PR.  Navigation will be added in a later PR at which time we can implement the skip capability and the Loading screen to the Onboarding Feature.
This View can be previewed in Xcode and run in preview mode to interact with it.  Running the app itself will not display this view at this time.

This code review checklist is intended to serve as a starting point for the author and reviewer, although it may not be appropriate for all types of changes (e.g. fixing a spelling typo in documentation).  For more in-depth discussion of how we think about code review, please see Code Review Guidelines.
Author

[x] Self-review: Did you review your own code in GitHub's web interface? Code often looks different when reviewing the diff in a browser, making it easier to spot potential bugs.
[x] Does the code abide by the Coding Guidelines?
[x] Automated tests: Did you add appropriate automated tests for any code changes?
[ ] Code coverage: Did you check the code coverage report for the automated tests?  While we are not looking for perfect coverage, the tool can point out potential cases that have been missed.
[ ] Documentation: Did you update Docs as appropiate? (E.g README.md, etc.)
[x] Run the app: Did you run the app and try the changes?
[x] Did you provide Screenshots of what the App looks like before and after your changes as part of the description of this PR? (only applicable to UI Changes)
[x] Rebase and squash: Did you pull in the latest changes from the main branch and squash your commits before assigning a reviewer? Having your code up to date and squashed will make it easier for others to review. Use best judgement when squashing commits, as some changes (such as refactoring) might be easier to review as a separate commit.

Reviewer

[x] Checklist review: Did you go through the code with the Code Review Guidelines checklist?
[x] Ad hoc review: Did you perform an ad hoc review?  In addition to a first pass using the code review guidelines, do a second pass using your best judgement and experience which may identify additional questions or comments. Research shows that code review is most effective when done in multiple passes, where reviewers look for different things through each pass.
[x] Automated tests: Did you review the automated tests?
[ ] Manual tests: Did you review the manual tests?You will find manual testing guidelines under our manual testing section
[ ] How is Code Coverage affected by this PR? We encourage you to compare coverage before and after your changes and when possible, leave it in a better place. Learn More...
[ ] Documentation: Did you review Docs, README.md, LICENSE.md, and Architecture.md as appropriate?
[ ] Run the app: Did you run the app and try the changes? While the CI server runs the app to look for build failures or crashes, humans running the app are more likely to notice unexpected log messages, UI inconsistencies, or bad output data.

We can certainly pin to a version 👍
TCA does not suggest a folder structure.  The one we've used here is to have a Feature level folder, with it's store contained within and a subfolder for Views of that Feature.  There are a few different ways to avoid merge conflicts if we want to solve for that now.  I would however suggest that we discuss those options internally and apply one as needed if this team runs into this issue enough to warrant adding another tool.
I can take a stab at updating those docs 👍

We can certainly pin to a version 👍
TCA does not suggest a folder structure.  The one we've used here is to have a Feature level folder, with it's store contained within and a subfolder for Views of that Feature.  There are a few different ways to avoid merge conflicts if we want to solve for that now.  I would however suggest that we discuss those options internally and apply one as needed if this team runs into this issue enough to warrant adding another tool.
I can take a stab at updating those docs 👍

@pacu  The version has been pinned and the architecture file has been updated.


docs: clean up English in hacking guide

thanks, fixed

LGTM

Semaphore fails because the patch is not rebased. But that's not a big issue for documentation.


[Flaky Timeout Test] RunOperationShouldWaitFor10SecondsForOperationIfServerBusy

Library name
Microsoft.Azure.ServiceBus
Please describe the feature.
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1529722&view=ms.vss-test-web.build-test-results-tab&runId=31174692&resultId=119958&paneView=debug
Test should eliminate realtime waits or make wait times much shorter.

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Service Bus:0.44838202,Azure.Core:0.07995368,KeyVault:0.039936915'


⚠ Bofrost.lu has degraded performance

In 59f0fdd, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2126 ms

Resolved: Bofrost.lu performance has improved in 75259ec after 16 minutes.


Not working with latest versions?

I try to enable chromecast plugin but seems like it does not work or I am missing something. Here is JSFiddle
It does not work if I load plugin through player options neither if I load it dynamically. But player's activePlugins_ property shows like plugin is successfully registered.

Need to follow the instructions more closely.

You're missing the cast framework:

You didn't define the techOrder:
techOrder: ['chromecast', 'html5']

Also it won't work in jsfiddle's sandbox:

I added missing script and defined the techOrder as suggested but I still can't make it work - JSFiddle - I tried this JSFiddle example on real server without success.

copied your fiddle and it works fine on my end. only issue I'm seeing is that after casting, I need to hit play again to start playback on the chromecast.


Checking keys of two jsons against eachother

So, I have two JSON configuration files that may be nested multiple layers deep. One consists of all possible parameters a user can input set to their default value. The other is JSON input from a user. I want to check that no key (including nested keys) exists in the user JSON that does not exist in the configuration JSON.
Is there a simple way to do this?
Thank you very much in advance!

@simulationcloud Do you need further assistance?

No, you answered my question. Thank you very much!

On February 10, 2019 at 3:52 PM Niels Lohmann<EMAIL_ADDRESS>wrote:
@simulationcloud https://github.com/simulationcloud Do you need further assistance?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/nlohmann/json/issues/1465#issuecomment-462171083 , or mute the thread https://github.com/notifications/unsubscribe-auth/AfyT_ueB2eV7shoih7gOlPLEx-HjiPFEks5vMIafgaJpZM4aadm6 .


Handling component properties, not only fields

Hello,
First I want to say I really enjoy Entitas, and the efforts you put in easing coding in Unity :)
I noticed that the CodeGen isn't handling component properties actually, only fields. Could this case be handled? It would be very convenient, I'm using NoesisGUI and the XAML bindings require properties.

Hi, I'm glad you like it :)
The reason I removed support for properties is because you can actually hide logic in getters and setters. Components represent data only and properties could indicate sth else.
What is your use-case with NoesisGUI? Can that be solved differently?

Well, my current use is implementing a group of entities as a DependencyProperty. Let's say those entities are Countries. This way in my xaml file, I can easily call the DependencyProperty as an ItemsSource named Countries. I couldn't fill a ListBox more easily, let's say I want to show country names, I just need a {Binding country.Tag} (country being a CountryComponent and Tag the Property) set in a DataTemplate. If I want to show more data, I just need more bindings like this one.
For now I can see two other ways to achieve this. Due to the nature of Entitas (it's reactive), I could handle adding/updating/removing myself, that means way more lines of C# code and avoiding the binding feature. Also I could create a data Model that would mimic my components structure, except fields would be properties this time. To sum it up, it can be solved differently but it's far from convenient.
I understand why you're enforcing this rule, but a guideline should be enough, don't you think ? :)

You could always create a separate interface with your properties defined then refer to the component by that interface if you wanted.

I'll reenable support for properties in the next version

@Roms6 Read-Write properties are now supported in Entitas 0.29.0
Please let me know if it works for you now.

Hey @sschmid, thanks for reenabling this feature. I just made a quick test, and it seems the CodeGenerator is behaving the same way : properties are just ignored. I made a simple TestComponent with a string property (fully declared, not an auto-property).

My bad... I saw the TypeReflectionProvider is not updated yet... sorry :) I'll update it!

I fixed it. Here are the zip files, so you don't have to wait for the next release ;)
Entitas-CSharp.zip
Entitas-Unity.zip

It works like a charm. Thank you very much :)

Awesome! You're welcome :)

I just noticed we can't visualize / edit component properties through the Unity Editor. But I guess that's more a matter of finishing making Entitas "friendly" towards component properties.

You are right. I will reopen this issue to remind to fix that.

Hey! Should work now in release 0.29.1
Updated VisualDebugging and CodeGenerator

Thank you, I just updated it and everything seems perfect :)


[Error]: Trying to use Extension Outpainting in colab

What happened?
I have tried to install this extension:
https://github.com/zero01101/openOutpaint-webUI-extension
When installing and reloading the UI there is no problem.
In fact I am able to see the tab of the extension and open it.

The problem is that inside the extension I get an error, this:
'Have you run the webui with the flag '--api', or is the flag '--gradio-debug' currently active?'
in the lower left corner, in a red message, (it looks a bit bad) and also it doesn't let me use the extension because it is blocked.

Inside the extension git they refer to this workaround as a possible solution.
https://github.com/TheLastBen/fast-stable-diffusion/discussions/1161
I understand that the first part does not apply because there is no problem but I would like to know how I can change the flag to true.

Colab cell output
No errors in colab output

Which colab and model(s) were you using when the error occurred?
All
Which Public WebUI Colab URL were you using when the error occurred?
remote.moe
If you used HiRes mode when the error occurred, please provide the Hires info
No response

Hi @Arhadrianman10 ❤ it is working please add --api

I added --api but I get a bunch of validation errors for model checkpoint, options and other stuff. I wonder if it's look in the wrong place for those files. I'm testing this on colab btw: https://colab.research.google.com/drive/1hzlynbVswaFjxjPUq3rlqIGjuH_amZSV
From your screenshot it looks like the colab interface you tested that command with. How were you able to get it to work without getting those validation errors?


Correction for raw affiliation CRMN Sousse, Centre for Research on Microelectronics and Nanotechnology, Monastir, Tunisia

Correction needed for raw affiliation CRMN Sousse, Centre for Research on Microelectronics and Nanotechnology, Monastir, Tunisia
raw_affiliation_name: CRMN Sousse, Centre for Research on Microelectronics and Nanotechnology, Monastir, Tunisia
new_rors: 00dmpgj58;02xj61x84
previous_rors: 00dmpgj58
works_examples: W2405362194
contact: 3708c8a8f3c3a6151f11652ebd0e4c4a:3b37e2850a4392d09342f7417b53 @ ens-lyon.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-01. The new affiliations should be visible within the next 7 days.


fix: cls for scf cant update index, dont throw and use warning

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Code Signing Fails in XCode 10

I have the same issue with CSVImporter as another user did with with another framework installed with Carthage (https://github.com/alejandro-isaza/Upsurge/issues/97).  After archiving, I go to upload to the AppStore.  If I chose to manually select the Provisioning Profiles this screen shows.

However, whether or not I use automatic or manual management of certificates, when I go to validate/distribute I get the error "Code signing "CSVImporter.framework" failed."

In the above examples, I removed the .dSYM files from the Build Phases, per the advice from a stack overflow page (https://stackoverflow.com/questions/34529583/couldnt-find-platform-family-in-info-plist-cfbundlesupportedplatforms-or-mach-o).  However, when I make sure to keep the .dSYM file in the "Copy Files" of the "Build Phases" and follow the instruction from the Carthage site for adding frameworks to a project (https://github.com/Carthage/Carthage#adding-frameworks-to-an-application), I get the following error:
"Couldn't find platform family in Info.plist CFBundleSupportedPlatforms or Mach-O LC_VERSION_MIN for CSVImporter"

Any help with this would be most appreciated.
Thanks!

What platform and which version of it is your project targeting?
Also, are you including any other frameworks via Carthage? If not, please try to do this to see if this is a problem specific to CSVImporter or if it's a general configuration issue. For example you can try adding Alamofire to your project.

This is a project for iOS, deployment target is set to the latest, 12.1, however I’ve also tried this for 11.0 deployment with the same result.
FWIW, I have tried removing the CSVImporter framework and I get the same kind of report about the HandySwift framework which I included Witt Carthage. Is there another configuration piece I should be looking at? Thanks!

For HandySwift I can pretty safely say that it is working with Xcode 10 since we are deploying many apps with it regularly. So I'm guessing it's something with your configuration. Can you post your Info.plist content? Other than that I could help you if you could privately provide me with the .xcodeproj file at least (no code needed) – just send it to github [at] cihatguenduez [dot] com – and I'll try to figure out if you have a misconfiguration or what the issue is with CSVImporter. Also you Cartfile and Cartfile.resolved contents and Carthage versions could help.

Here is my Info.plist

Cartfile:
github "Flinesoft/CSVImporter" ~> 1.7
github "Flinesoft/HandySwift" ~> 2.7
Cartfile.resolved:
github "Flinesoft/CSVImporter" "1.9.1"
github "Flinesoft/HandySwift" "2.7.0"
Your personal email failed on me...is all the spelling correct?  I can try to resend if the issue isn't apparent from the information in this post.

Ah sorry, it's not "[dot] com" but "[dot] de" – my bad. I can't find issues in the info above at first glance, so the project would definitely be useful.

So after about a week I have come across the "solution" to this problem.  I will post all the details here for others' reference and this issue can be closed.
Firstly, an additional detail that may help other's recognize this issue is the IDEDistribution.standard.log file that was produced when I was getting errors.  The specific error is "did not contain a "archived-expanded-entitlements.xcent" resource."

It turned out the primary issue was that the frameworks were included in the "General -> Embedded Binaries".  Removing them from this section allowed the auto signing process to work.  It did give me a few hiccups, which I will describe below.  Here are the screen shots of my settings:

In Build Phases:

Which was successful:

At first, when I removed the frameworks from the Embedded Binaries my application would crash when I tried to run it again on my phone through Xcode. HOWEVER, after I uploaded the successful archive to App Store Connect and distributed it to myself through TestFlight it worked just fine, both as a stand alone a Beta App AND when I reconnected it to Xcode to continue working on it directly.
This was a pain to work through, so I hope it helps others who encounter the same issue.


Child process exec options, fixes maxBuffer size problem

This PR closes #3 and closes #7.
Increase maxBuffer size to prevent #3, !!! OUTPUT ERROR or Unexpected end of JSON input errors. This is because child_process stdout being truncated when validator check a lot of files.

Version
maxBuffer
Documentation link

8.x LTS
200 * 1024
child_process.exec(command[, options][, callback])

10.x LTS
200 * 1024
child_process.exec(command[, options][, callback])

12.x
1024 * 1024
child_process.exec(command[, options][, callback])

@yunusga thx a lot!

@yunusga  - I'am just already updated new version at npm - 1.3.0,
and my thanks in readme.md https://github.com/dutchenkoOleg/node-w3c-validator#contributors-

@dutchenkoOleg, cool 👍


oracle_tablespaces seems to dislike OMF

Hi,
As we're using OFM all over the place, I run into the following issue:
when running this task for the second time, it breaks, because the original datafile, created at the initial run, is not in the list of 'wanted' datafilee, and then tries to delete it:
tasks:

name: Create tablespace
ari_stark.ansible_oracle_modules.oracle_tablespace: hostname={{ hostname }} service_name={{ service_name }} user={{ user }} password={{ password }}
tablespace={{ tablespace_name }} content={{ content }} bigfile={{ bigfile }} state={{ state }} size={{ size }}

May it should 'detect' OMF and ignore the datafiles bit?  (My table spaces get new datafilee whenever the Cloud control sees they reach 85%, so I won't use Ansible to 'add datafiles')
Kins regards,
P.

Update:
Here's what AWX comes up with when I run the playbook for the 2nd time: (Playbook is below)
All is delegated to localhost, as the oracle modules are not installed locally on all my DB-servers, but just on the ansible workers.
{
"msg": "ORA-03261: the tablespace ANSIBLE_TEST has only one file",
"code": 3261,
"request": "alter tablespace ANSIBLE_TEST drop datafile '/u02/app/oracle/oradata/datastore/.ACFS/snaps/T12RLFXB/T12RLFXB/datafile/o1_mf_ansible__jr779w83_.dbf'",
"ddls": [],
"invocation": {
"module_args": {
"hostname": "blmoda02-1.ndl.norbert-dentressangle.com",
"service_name": "T12RLFXB",
"user": "sys",
"password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"mode": "sysdba",
"tablespace": "ANSIBLE_TEST",
"content": "permanent",
"bigfile": false,
"state": "present",
"size": "1G",
"username": "sys",
"autoextend": false,
"datafiles": [],
"default": false,
"port": 1521,
"read_only": false,
"maxsize": null,
"oracle_home": null,
"nextsize": null
}
},
"_ansible_no_log": false,
"changed": false,
"_ansible_delegated_vars": {
"ansible_host": "localhost"
}
}

hosts: all
gather_facts: no
vars:
user: "sys"
password: "{{ sysdba_password }}"
mode: "sysdba"
tasks:

name: Create tablespace
delegate_to: localhost
ari_stark.ansible_oracle_modules.oracle_tablespace:
hostname: "{{ hostname }}"
service_name: "{{ service_name }}"
user: "{{ user }}"
password: "{{ password }}"
mode: "{{ mode }}"
tablespace: "{{ new_username }}"
content: permanent
bigfile: no
state: present
size: 1G
name: Create User
delegate_to: localhost
ari_stark.ansible_oracle_modules.oracle_user:
hostname: "{{ hostname }}"
service_name: "{{ service_name }}"
user: "{{ user }}"
password: "{{ password }}"
mode: "{{ mode }}"
schema_name: "{{ new_username }}"
schema_password: "{{ new_password }}"
state: present
default_tablespace: "{{ new_username }}"
profile: DEFAULT
name: Grant roles and object privs
delegate_to: localhost
ari_stark.ansible_oracle_modules.oracle_grant:
hostname: "{{ hostname }}"
service_name: "{{ service_name }}"
username: "{{ user }}"
password: "{{ password }}"
mode: "{{ mode }}"
grantee: "{{ new_username }}"
state: present
privileges:
- "UNLIMITED TABLESPACE"
- "CONNECT"
- "RESOURCE"
- "AQ_ADMINISTRATOR_ROLE"
- "AQ_USER_ROLE"
- "CREATE PROCEDURE"
- "CREATE VIEW"
objects_privileges:
SYS.V_$LOCK:
- "select"
SYS.V_$LOCKED_OBJECT:
- "select"
SYS.ALL_OBJECTS:
- "select"
SYS.V_$SESSION:
- "select"
SYS.V_$DATABASE:
- "select"
SYS.GV_$LOCK:
- "select"
SYS.GV_$LOCKED_OBJECT:
- "select"
SYS.GV_$SESSION:
- "select"
SYS.GV_$INSTANCE:
- "select"
SYS.DBMS_SHARED_POOL:
- "execute"
DBMS_AQADM:
- "execute"
DBMS_AQ:
- "execute"


Cached Objects in Wrong Context

The simple solution to #2218 - reverts previous change.  Goal is to return objects in the main object context not in the private context.

This looks correct, maybe @blakewatters can confirm?


Guidance on the usage of Compact() on a MemoryCache

Problem description
I am using a MemoryCache to cache the result of a computationally expensive action on my ASP.NET Core 2.2 MVC application. The cached result can be used by subsequent requests. I am using the AddMemoryCache() extension and setting a size limit in the cache options of 2GB.
I'm then storing strings only in the cache and setting the cache entry sizes to be the length of the string.
When load testing to saturate the cache, what i'm observing is that the cache size limit will be reached, but soon afterwards memory continues to be consumed, putting the server under memory pressure and degrading performance.

I understand that I ought to be calling Compact on the cache, to remove the least recently used entries and create space for new entries. I'm not currently doing this.
Describe the solution you'd like
What I'd like to see is some guidance in the documentation on how and when it is appropriate to call Compact(). Some considerations I cannot find information on:

When / how often should I check to see if Compact() ought to be called?
Is calling Compact() computationally expensive? Is it proportionate to how much of the cache is compacted?
Is doing this in a request-response context a bad idea? Will it block the request from completing until Compact() is finished?
If calling in a request context is a bad idea, when should I call it? In a BackgroundService perhaps?

Thanks in advance for any guidance on this matter.
ETA:
I set a long cache eviction time on my entries (24 hours). The keys are determined by a content hash and I am happy for LRU eviction to decide on entry removal.

I'm then storing strings only in the cache and setting the cache entry sizes to be the length of the string.

FYI strings are two bytes per character. You're not limiting to 2gb, you're limiting to ~2,000,000 characters which is 4gb.

I've had a quite a voyage of discovery today about my understanding of MemoryCache. It went in this order:

As you said @Tratcher strings consume more memory than their length. It's 2 bytes per character, plus a small amount of memory for object info.

However, entries into a cache consume more memory than the object to be stored! The cache is fundamentally a collection of ConcurrentDictionary<object, CacheEntry>, seen here

So, how do you determine how much memory a CacheEntry takes up? Well there's no nice (or not nice) way of reliably finding out an object's physical memory footprint (that I've found), and CacheEntry is not a trivial type, so actually trying to be accurate about the physical memory cost of an entry is now near enough impossible.

I've decided to abandon this approach and use load tests to determine a conservative number of entries based on a representative sample of data that is being cached. E.g. each entry will count as 1 in a SizeLimit of 1000.
Setting a CompactionPercentage is trimming entries from the cache on an LRU basis, so this should suffice for my use case.
I do think that the documentation for this could be improved and made more explicit. Particularly given the docs state:

If the web app was primarily caching strings, each cache entry size could be the string length.

Which i think is potentially quite misleading.

The main concept that's tricky to grasp here is that the cache size limit does not specify units, its intentionally not trying to measure memory because as you noticed, that's hard. The limit is in units of your own choosing, allowing you to assign weights to objects that make sense for your scenario. String length is a fine weight, it's directly proportional to the size of the object, but if your goal unit is in memory usage then you have to do some math.

Made a minor PR to docs to remove all instances of SizeLimit being referenced as the “memory size limit” - https://github.com/aspnet/AspNetCore.Docs/pull/15047

To answer more of your direct questions:
When / how often should I check to see if Compact() ought to be called?
Depends on multiple factors for your particular use-case.  You'll be trading off the benefit of releasing of stale entries versus the cost of checking each item to see if it is expired.  The cost of releasing items is linearly correlated to the number of items in the cache.
Is calling Compact() computationally expensive? Is it proportionate to how much of the cache is compacted?
Yes, to a degree.  It requires iterating every entry in the cache and checking if the entry is expired or not -- this process is O(n).  At the same time, it also builds 3 different lists for the different priorities in case it needs to remove more items in priority LRU mode to reach your target compaction amount -- the addition of these items into the lists are O(n log n) because we don't pre-allocate space into these lists.
Note that the Compact method will remove all expired entries regardless of the provided compaction percent or target removal size.
Is doing this in a request-response context a bad idea? Will it block the request from completing until Compact() is finished?
It is a bad idea, it will block the request from completing until Compact is finished.
If calling in a request context is a bad idea, when should I call it? In a BackgroundService perhaps?
I'd personally recommend calling it from a background thread, using any one of the many different ways that you can spawn background threads.  Internally, ThreadPool.QueueUserWorkItem is used for the OvercapacityCompaction feature for size limited caches.

Added - What literal method call/parameter value should I use?
This wasn't asked and I don't think is mentioned - there is no Compact() method, only Compact(double percentage).  If you specify a non-zero percentage value, it will remove items in a priority LRU mode -- i.e. it will remove items that are potentially non-expired.
If you want it to not remove items from the cache in LRU mode, you either need to:

Add cache entries with CacheItemPriority.NeverRemove, or
Call Compact(0) only

In looking at these, I've found that some of the xml comments refer to "memory pressure" -- I plan to submit a PR to correct the wording appropriately.

Nicely said @brandondahler.

In looking at these, I've found that some of the xml comments refer to "memory pressure" -- I plan to submit a PR to correct the wording appropriately.

Indeed, there used to be an application memory pressure mechanic but it was too unreliable so we removed it.
One other thing to consider is that it's common to use the cache without ever calling Compact. Cache entries have many built in triggers for their own removal depending on the expiration mechanism (e.g. IChangeToken, cancellation tokens, file change notifications, etc.). The cache also checks for expired items (by date/time) in the background every time you add something.
The real point of compact is to be called if you have some external indication that the application is low on memory or is entering an idle mode.

Thank you both @brandondahler and @Tratcher for the detailed responses. I think these two points in particular were relevant to my use case:

There will be a significant amount of the items in the cache will likely expire during that period of time, and
The amount of memory being tied up in the cache is important enough.

We were storing large (>100kb & <500kb) strings in MemoryCache and only relying on the LRU mechanism to invalidate and evict objects, which was happening at fairly high frequency because of a wide range of cacheable items, where the frequency of item access is highly variable.
When setting the size limit to 'sensible' value, we found that when under load, the Compaction would run each minute (or more often if configured), and those items evicted were no longer available in MemoryCache, but the memory being consumed was not being freed up.
We found that this was because the Garbage Collector was not being run while ASP.NET was under CPU load due to handling requests. Memory continued to be consumed until the server started to experience memory pressure.
This was occurring despite:

The cache also checks for expired items (by date/time) in the background every time you add something.

I didn't test to see if calling Compact() would have helped this scenario.
A couple of potential mitigations to this scenario i don't like the idea of:

We're hosting in IIS; so we 'could' limit the IIS app pool memory available.
Manually invoke GC.Collect()

Neither of these feel like good ideas, especially GC.Collect()!
We've decided to not use MemoryCache for this case, as we have other processes running on the server (Node in our case) that contend for memory, and running production workloads where the server is under continuous memory pressure does not help with confidence from an operational point of view.
Thank you for looking to update the docs for MemoryCache, i think removing references to physical memory will help developers be more mindful of the right use cases for MemoryCache, and help disassociate the idea of physical memory being a direct and simple metric for SizeLimit

We found that this was because the Garbage Collector was not being run while ASP.NET was under CPU load due to handling requests. Memory continued to be consumed until the server started to experience memory pressure.

Memory pressure is always the GC cleanup trigger. it doesn't matter if there is CPU load or not.
Removing the items from the cache does not remove them from memory, only the GC can do that. MemoryCache's job is to keep things from being GCd until you're done with them.


Add support for passing in arguments for methods used to store dynamic data

Summary

Hello team, hope you're all well. I'd like to request for a feature to be able to pass in arguments to methods used for storing dynamic data.
Background and Motivation
I was working on some complicated test scenarios with many variations and found myself having to write methods that are almost identical to each other for generating a list of list of N booleans:
For example:
private static IEnumerable<object[]> GenerateBoolListWith3Flags()
{
    bool[] boolArray = new bool[] { true, false };

    var testData = new List<object[]>();

    foreach (var flag0 in boolArray)
    {
        foreach (var flag1 in boolArray)
        {
            foreach (var flag2 in boolArray)
            {
                testData.Add(new object[] { flag0, flag1, flag2 });
            }
        }
    }

    return testData;
}

private static IEnumerable<object[]> GenerateBoolListWith6Flags()
{
    bool[] boolArray = new bool[] { true, false };

    var testData = new List<object[]>();

    foreach (var flag0 in boolArray)
    {
        foreach (var flag1 in boolArray)
        {
            foreach (var flag2 in boolArray)
            {
                foreach (var flag3 in boolArray)
                {
                    foreach (var flag4 in boolArray)
                    {
                        foreach (var flag5 in boolArray)
                        {
                            testData.Add(new object[] { flag0, flag1, flag2, flag3, flag4, flag5 });
                        }
                    }
                }
            }
        }
    }

    return testData;
}

Then use it as follows:
[TestMethod]
[DynamicData(nameof(GenerateBoolListWith3Flags), DynamicDataSourceType.Method)]
public void Test1(
    bool flag0,
    bool flag1,
    bool flag2)
{
    ...
}

[TestMethod]
[DynamicData(nameof(GenerateBoolListWith6Flags), DynamicDataSourceType.Method)]
public void Test2(
    bool flag0,
    bool flag1,
    bool flag2,
    bool flag3,
    bool flag4,
    bool flag5)
{
    ...

I was hoping to refactor and combine the dynamic data source methods into one, but I realized I can only achieve this if I am able to pass in an argument

Proposed Feature

A new attribute such as DynamicDataMethodArgumentAttribute:
[TestMethod]
[DynamicData(nameof(GenerateBoolListWithNFlags), DynamicDataSourceType.Method)]
[DynamicDataMethodArgument(3)]
public void Test1(
    bool flag0,
    bool flag1,
    bool flag2)
{
    ...
}

[TestMethod]
[DynamicData(nameof(GenerateBoolListWithNFlags), DynamicDataSourceType.Method)]
[DynamicDataMethodArgument(6)]
public void Test2(
    bool flag0,
    bool flag1,
    bool flag2,
    bool flag3,
    bool flag4,
    bool flag5)
{
    ...
}

private static IEnumerable<object[]> GenerateBoolListWithNFlags(int n)
{
    bool[] boolArray = new bool[] { true, false };

    var testData = new List<object[]>();

    // Generate test data with n elements per row

    return testData;
}

I understand this may be a very specific usecase, but I think it may also be useful if we somehow want to change up the dynamic data returned depending on passed arguments.
Please let me know if there are any workarounds, other suggestions, or if this is feasible. Thank you!
Alternative Designs

n/a

Hi @cdepano,
Thanks for the suggestion! It indeed looks like an interesting feature.
We need to investigate how we want to implement it (e.g. how many arguments, what type, does it fit the ITestDataSource mode etc).

NUnit has a similar inline approach to this, with [Values] and [Combinatorial].
With those features Test2 can in NUnit be written as:
[Test, Combinatorial]
public void Test2(
    [Values] bool flag0,
    [Values] bool flag1,
    [Values] bool flag2,
    [Values] bool flag3,
    [Values] bool flag4,
    [Values] bool flag5)
{
    ...
}

I think @cdepano was referring to something like ParameterizedSourceExampleFixture in NUnit doc https://docs.nunit.org/articles/nunit/writing-tests/attributes/testcasesource.html


Big Crashe in android/Signing, MainActivity method updateUI

Hello,
Because the code is not checking for:
« if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) »
source: https://developers.google.com/identity/sign-in/android/people
The samples crashes with one of my account<EMAIL_ADDRESS>when it tries to getDisplayname().
The file with a bug is https://github.com/googlesamples/google-services/blob/master/android/signin/app/src/main/java/com/google/samples/quickstart/signin/MainActivity.java
Regards and continue with the nice job,

@marcosmbbrito Thanks for the report.  This normally happens if you don't have the Google+ API enabled for your project in the Google Developers Console.  Try double-checking that and seeing if it fixes your issue.
I agree that such a null check would be useful, if you want to submit a pull request I could merge it.

I have the same issue, but it crashed in M preview 3, not on lollipop. Here is logcat:
Process: com.google.samples.quickstart.signin, PID: 13729
java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String com.google.android.gms.plus.model.people.Person.getDisplayName()' on a null object reference
at com.google.samples.quickstart.signin.MainActivity.updateUI(MainActivity.java:107)
at com.google.samples.quickstart.signin.MainActivity.onConnected(MainActivity.java:173)
at com.google.android.gms.common.internal.zzj.zzg(Unknown Source)
at com.google.android.gms.common.api.zze.zzmH(Unknown Source)
at com.google.android.gms.common.api.zze.onConnected(Unknown Source)
at com.google.android.gms.common.api.zzg$2.onConnected(Unknown Source)
at com.google.android.gms.common.internal.zzi$zzg.zznO(Unknown Source)
at com.google.android.gms.common.internal.zzi$zza.zzc(Unknown Source)
at com.google.android.gms.common.internal.zzi$zza.zzr(Unknown Source)
at com.google.android.gms.common.internal.zzi$zzc.zznQ(Unknown Source)
at com.google.android.gms.common.internal.zzi$zzb.handleMessage(Unknown Source)

I encountered exactly same issue and I have enabled Google+ API at the beginning. It turns out I didn't signed in the application properly.
Everything works well after following the instruction on this page- App signing
It would be nice if the Integrating Google Sign-In documentation get into signing in a little bit more  : )
Overall, thanks for the nice work  =D
PS: I have tested on device (5.1.1) and emulator (API 23). Both works well.


Update libbpf to 1.4.0

Update the libbpf submodule to version 1.4.0 to get the latest and greatest.

@alexforster can you please take a look? Also, can we have a new release with this libbpf version, please?


docs: Adding OutlineVariantColor to docs

GitHub Issue: #
PR Type
What kind of change does this PR introduce?

Documentation content changes

Description
Adding:
<Color x:Key="OutlineVariantColor">#C9C5D0</Color>
...
<Color x:Key="OutlineVariantColor">#57545D</Color>

@eriklimakc can you quickly double check if we are not missing any other additional colors in the doc at the same place please

@Mergifyio backport legacy/2x


Add pt-br/docs/reference/glossary/kubectl.md

Add

pt-br/docs/reference/glossary/kubectl.md

Thanks for quick fixing! But I am not a Brazilian Portuguese speaker, format-wise looks good to me. 😅
/uncc

Thanks!
/lgtm
@stormqueen1990 PTAL

/approve
Thanks


1543 start a run modal upgrade

Summary
This PR updates the Run a Playbook modal UI. When the linkRunToExistingChannelEnabled feature flag is enabled, the modal shows channel configuration, and the user can modify it.
When a user runs a playbook from the command line or action menu, the modal doesn't show channel configs but starts a run based on the playbook configuration.
https://user-images.githubusercontent.com/4368372/202961712-76901f29-ea09-4772-9282-72ba11b0a42c.mp4
Ticket Link
Fixes #1543
Checklist

- [ ] Telemetry updated
- [ ] Gated by experimental feature flag

[x] Unit tests updated

@trilopin Fixed changing existing channel issue, added server e2e tests.
@abhijit-singh resolved you requests, this is how modal looks like now:


304 breaks local caching.

In Electric.Plug.ServeShapePlug, specifically here https://github.com/electric-sql/electric/blob/main/packages/sync-service/lib/electric/plug/serve_shape_plug.ex#L359, we check the etag of a request and return 304 if it matches:
conn
|> send_resp(304, "")
|> halt()

This doesn't set any caching headers. So ... the response comes back as max-age=0, private, must-revalidate:
curl -v 'http://localhost:3000/v1/shape?table=todos&offset=0_0&handle=69883540-1732638738539'
> ...
< HTTP/1.1 304 Not Modified
< date: Tue, 26 Nov 2024 16:42:15 GMT
< vary: accept-encoding
< cache-control: max-age=0, private, must-revalidate

This breaks local caching in the browser, which breaks offline support for Electric apps. Looking at the request in the Chrome dev tools, it comes through as 200 rather than a 304 (which is confusing, seems to be a Chromium bug https://issues.chromium.org/issues/40205097) but it is the 304 response and the cache-control header has max-age 0, must revalidate, so isn't cached in the local file cache:

I came across this because I noticed that it was breaking offline support:

To reproduce this you have to actually get the 304 request. This is returned when the browser re-fetches a URL after the local file cache has expired. So then re-fetching successfully when online gets a 304, which is then never cached so the offline support only works for the initial request.
Now ... the duration of the cache-control headers is very different for requests with content:

Vs requests that just have an up-to-date message:

Unfortunately because the up-to-date message is needed to trigger rendering of the content, this means that the content that's been loaded and is cached locally can't be used because the client still needs an up-to-date in order to display it.
So:

presumably we need to set cache-control headers on a 304?
can we set a longer expiry on the up-to-date? Because it is the weakest link for expiry of content for offline support. Or if not, what's out strategy here?

Irrespective of the 304 issue — what's your goal here? That useShape works completely offline?

ah ok — so what I think we want here is that a 304 should include cache-control headers to extend the original cache. Probably the same max-age as the original cache. Or whatever the dynamically set max-age is once we have https://github.com/electric-sql/electric/issues/1447 to calculate that.
The problem now is that original cache expires and we never extend it due to not setting a max-age on the 304s.
That solves 1.
For 2 — this seems like a client or end-user configuration problem — we do want fresh data by default and should only fall back on cached data if we know we're offline. There's no easy way to know we're offline or what the state of the cached data is w/o some sort of timeout on fetched responses, etc.
But ultimately, I don't think we should expect offline to work with the raw browser http cache — we don't control it and can't introspect on it. We have no idea if the cache is complete, etc. I think if people want actual offline support then they need to use indexdb/sqlite/pglite/etc. which can control the cache and reason about it.

I’m not sure re 2. The thing is that the ability of the browser to cache responses is very powerful and works for free for people out of the box. So it’s a strong incremental adoption thing that aligns with our positioning and differentiation.
To flip the question around, what are the drivers for not caching data you’ve received? Why can’t we support caching responses for a decent length of time?
The point about wanting fresh data: there’s nothing about keeping the data you have synced cached that precludes the client from constantly trying to fetch fresh data. That’s the current behaviour — it keeps trying to connect.
When it comes to why sync not fetch, the basic affordance of “navigate back to a previously viewed route” -> “look ma no loading spinner” is a big deal. The beauty is that we can deliver it without any of the complexity or code changes required to implement a local persistent store. So it feels worthwhile eyeballing the caching duration and up-to-date stuff to see if we can achieve it.

Most apps don't want to immediately render old data and then a bit later render fresh data. It looks glitchy.
Ultimately it's the app developer who should choose how long to cache data for. So we can add that as an option to the http API. But keeping the default short is good as glitchy uis are annoying for most apps.

Yes, I can see there’s less control with this just-replay-the-requests approach.
I would love for there to be a best of all worlds solution — where the data is just there in the file cache and that doesn’t compromise UX.
I wonder if there might be some cleverness to add a little more control back in, like ignoring all but the last up-to-date message when detecting requests served from file cache.
I think my viewpoint is that once you bind a shape to a state variable with useShape, you are basically buying into a “render whatever has synced and update with fresh data when it comes in” approach. You can obviously force refetch with a custom param and you obviously don’t want to playback lots of flickering transactions.
But that is the UX you’d get with a persisted shape, so if we can provide the same UX without having to implement persistence that would be 🔥 (and is actually how it already works, within the cache window).

Just for context here's a little video of some current behaviour:
https://github.com/user-attachments/assets/7b31c755-9912-4e3f-bc15-276562b4701c


Add missing defines to CUSTOMIZE_BUILD block

This fixes compilation and linking errors when CUSTOMIZE_BUILD is
ON. Any option wasn't actually applied if it wasn't in this list.
I also added a message which makes it a bit easier to confirm you have
successfully enabled an option.

I copied the options in the same order they are defined in CMakeOptions.txt, which is why the merge is a bit hard to read. Ideally, there would be a way to not require this fragile duplication, but I'm not well-versed enough in CMake to know if that's possible.

@makuto Nice! Thanks for the improvement!

@makuto Sorry, I click the wrong button and closed it without merging! :P
Reopened and merged!

Thanks for the quick response!


Telnet server support

Hi,
Is it possible to add telnet server service(telnetd) on freertos in the feature?
Thank you!

If you like, you can try out this simple telnet server
I wrote it as an example of how to use semaphores in combination with sockets.
It allows you to send data to a particular client, or to all (as for logging purposes). Hein

Hi
I will try it, we want run telnet server on freertos and let PC use telnet client to connect to MCU device
to run test command.
Thank you.

That should be possible. Please follow the example code in telnet_main.c.
Any questions can be asked here ( or on the FreeRTOS forum ).

There are also a number of basic networking examples that come with FreeRTOS+TCP which you can download from the FreeRTOS.org site. Most of those are implemented as a single task which should be easy to add to your application.
Inside of this repo (amazon-freertos) we try to focus our examples on typical IoT applications connecting to AWS, and it is usually frowned upon to accept incoming connections like telnetd to execute code on an IoT device due to the security risks this opens up so we are not planning to add such an example to this repo.
Accordingly I am going to close the issue here.
If you need more help it would be best to start a thread on the FreeRTOS forum as suggested by htibosh above so that we can answer it there where other people will also be able to benefit from the discussion.


Key bindings not working on Firefox

Environment

Browser: Firefox
Browser Version: 55.0.2
Operating System: GNU/Linux
Amplitude.js Version: 3.2.3

Issue description
Key bindings don’t work in Firefox, and pressing any key produces a "ReferenceError: event is not defined" error.
Steps to reproduce the issue

Open a page with AmplitudeJS loaded in Firefox.
Press any key on the keyboard.
Check the console for an error message.

What is expected?
No error occurs, and configured key bindings work.
Link to where issue can be reproduced
JS Bin testcase

Same error in FF on Win10

This is fixed in the Dev branch, I didn't pass the event to the handler: https://github.com/521dimensions/amplitudejs/tree/dev


Improve replace_with performance

Current replace_with code seems very inefficient

Find all values.
Compute all paths from values found in (1)
Find values to replace again using paths from (2) to replace

        let paths = {
  (1)          let result = self.select()?;
  (2)         self.compute_paths(result)
        };

        if let Some(ref mut value) = &mut self.value {
            for tokens in paths {
  (3)              replace_value(tokens, value, fun);
            }
        }

It seems like the replace should account in step (1) while running select()

@gkorland  yes, I think it's an improvement point too.
the double dot expressions (..) create duplicate reference as results, so deduplication is required when selecting. I didn't think of this when I first implemented the engine and due to the wide range of tests, i am ignoring this issue on 2.x versions.
I'm thinking about use cases like HTTP proxying or batch processing. I'll try to clean up use cases and to plan for performance improvements if necessary. It is going to proceed in 3.x.
this issue should be rethought when implementing 3.x.

 implementing 3.x. did you mean 0.3.x?

yes. 0.3.x

@freestrings when do you plan to release 0.3.0?

@gkorland I am planning a release next month. after finishing testing Nginx module, it will be next month.

Is it resolved?


Earlgrey: prim_packer.sv doesn't work in Verilator

When prim_packer.sv is appended to Surelog list, there is the following error during verilation:
%Error: [63:64] Range extract has backward bit ordering, perhaps you wanted [64:63]
                                    : ... In instance top_earlgrey_verilator.top_earlgrey.u_kmac.u_msgfifo.u_packer

I created the test of that module: https://github.com/alainmarcel/uhdm-integration/pull/334
The reason of that error is that the module is parsed by Surelog, but its dependencies are parsed by verilator and set different parameter values.

The module should be enabled together with kmac_msgfifo.sv.
It is also used by hmac.sv, but with default parameter values.

Removed from the list in https://github.com/antmicro/verilator/pull/441/


Bump version to 0.16

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Selectors are suggested to take a <two spaces>#<one space>[<expression>] form.see lines [29, 30]
noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Thanks!