Infinite loop when passing {} as data for FlatList

Description
If you pass a non-array object to FlatList data property, ReactNative javascript thread gets stuck in a infinite loop, due to FlatList._getItemCount returning NaN.
Reproduction Steps
Pass any object that doesn't has length property to FlatList.
Sample Code
https://snack.expo.io/BJrFCR9QZ
Simply: <FlatList data={{}} />
Solution
Change FlatList._getItemCount to test for the data.length:
_getItemCount = (data: ?Array<ItemT>): number => {
  return (data && data.length) ? Math.ceil(data.length / this.props.numColumns) : 0;
};

https://github.com/facebook/react-native/blob/master/Libraries/Lists/FlatList.js#L470
Additional Information

React Native version: "0.44.0",
Platform: any

@facebook-github-bot label icebox

This but is certainly not fixed yet in 0.52.0
I noticed this bug because the unreliable API our customer had built randomly returned objects instead of arrays for some lists (probably because in PHP arrays are really what we'd call objects in javascript). And this froze the app completely each time a flatlist was fed an object.
Either the flatlist should tolerate objects and behave as if fed an empty array possibly logging a warning; or it should throw an exception so that the app can crash properly. Making the app unresponsive without an error message is not good.
And it's really annoying to have to safeguard every usage of a FlatList with a length check something like this:
  {uglyApiResponse.listOfSomething.length > 0 ? (
    <FlatList
      data={uglyApiResponse.listOfSomething}
      keyExtractor={item => item.id}
      renderItem={({ item }) => (
        <SomethingLine data={item} />
      )}
    />
  ) : (
    <Text>
      ERROR: Invalid format of uglyApiResponse.listOfSomething expected array
    </Text>
  )}

just to avoid an unresponsive app when the API serves garbage

Weird, i tried to make a synthetic test to force the problem now that the API is fixed, and it seems there is some kind of check when you try to supply a literal object like in the description here or a variable assigned to an object. (Mabe because it's somehow optimized away by the js engine when written like this?):
// This seems to work ok:
const ExampleScreen = props => {
  return <FlatList data={{}} />;
};

// This seems to work ok as well:
const ExampleScreen = props => {
  const somedata = {};
  return <FlatList data={somedata} />;
};

But it still goes into an infinite loop if you use an attribute that happens to be an object:
// This causes infinite loop and 100% cpu usage:
const ExampleScreen = props => {
  const somedata = {
    someattribute: {},
  };
  return <FlatList data={somedata.someattribute} />;
};

Please submit a new issue if this is still happening in v53.

The issue still exists. It enters into an infinite loop:
` var pendingList = [
{id: 'estudiar', status: false},
{id: 'leer1', status: false},
{id: 'jugar', status: false},
{id: 'netflix', status: false},
];
const extractKey = ({id}) => id;
export default class FlatList extends Component {
render () {
return (

HELLO

style={style.container}
data={pendingList}
renderItem={({item}) =>  Each item is: {item.id}}
keyExtractor = {extractKey}

);
}
}`
react-native-cli: 2.0.1
react-native: 0.53.3
If there is a new issue opened please tell me which one.

@Benzer1406 No, I haven't bothered to create a new issue, yet. I started looking at the source myself and try to see if I could fix it myself.
Unfortunately the tests run by npm test doesn't seem to be testing the actual execution of the code, and the flow tests npm run flow seems to be testing type information code that seems to be ignored when the actual code is executed.
The tests for the List library seems to mock (too) much of the actual execution; and it seems to be content if the FlatList tag is somehow translated into a RCTScrollView and this conversion by ReactTestRenderer.create does not seem to invoke the infinite loop bug.
The flow tests seem to cause errors about bad datatype when the data property is not an array; while in production code you can put all sort of junk in that property and it will either work (if it's a valid array) or either an empty list or infinite loop if it's not; no warnings is ever produced as long as it's not null.
I have to  somehow figure out a way to write a test that actually causes the infinite loop (that I know is still there) so that I can verify that any fix actually fixes the problem.

@strindhaug  Thanks for your detailed answer. Yes, I was figuring out and pondering about the fact that the problem was indeed an issue of a bad datatype. I could just figure out up to that point and reiterate the loop, but have no idea what it causes or what needs to be done to get out of the loop.
Meanwhile I changed to the classic <ListView> even though it is deprecated, but at least it works.


Rendering with the sourcecode Content Type Engine is painfully slow

WinPrint's Source Code Content Type Engine works by

Processing the file via the prismjs Node-based syntax highlighting tool (which generates HTML).
Rendering the resulting HTML using the github.com/litehtml HTML renderer.

Litehtml is quite slow.
The fix will be to find a faster html rendering engine that supports print scenarios. My dream is to be able to coerce VS Code into letting me access all of it's file rendering, removing both the dependency on PrismJS and litehtml.

Fixed via AnsiCte/Pygments!


Checks against your own code

If I understand right right now running check script ruleset, it check any usage of deprecated call inside script based on the @deprecated annotations defined by the ruleset (usually vendor or composer.lock).
However you might want to use this tool four handling migration in your own app, ex:
/**
 * @deprecated Use NewModel instead
 */
class LegacyModel {...}

class NewModel {...}

This is doable by running deprecation-detector src src for example, but I find it weird. Plus that means in this use case, you actually have to run two times the command:
$ deprecation-detector src composer.lock
$ deprecation-detector src src

It would make more sense IMO to include src (or rather the directory being checked) to the ruleset by default.

Good catch :+1:


ReadOnly Array flatMap stack overflow

What version of Effect is running?
2.2.3
What steps can reproduce the bug?
import { pipe } from 'effect/Function';
import * as RA from 'effect/ReadonlyArray';

const arr: number[][] = [[]];
for (let i = 0; i < 135000; i++) {
  arr[0].push(i);
}

const flattened = pipe(
  arr,
  RA.flatMap((x) => x),
);

console.log(flattened.length);

What is the expected behavior?
135000
What do you see instead?
RangeError: Maximum call stack size exceeded
at ....../node_modules/.pnpm/effect@2.2.3/node_modules/effect/dist/cjs/ReadonlyArray.js:1046:9
Additional information
https://stackoverflow.com/questions/61740599/rangeerror-maximum-call-stack-size-exceeded-with-array-push

Possibly also a problem in other places where spread operator is used...

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply#using_apply_and_built-in_functions

I find 6 other places where this potentially also is a problem:
[https://github.com/search?q=repo%3AEffect-TS%2Feffect push(...&type=code](https://github.com/search?q=repo%3AEffect-TS%2Feffect push(...&type=code)


Performance could be a lot better

Hey all, I used this library in a project of mine, and in the process discovered that during the processing of each message, a rather large amount of memory is used, far more than necessary. I created a fork with the goal of bringing down the amount of heap allocations as much as possible (primarily for the server). I think I succeeded:
BenchmarkOriginalParsePacket-4        107958         10519 ns/op        4584 B/op         16 allocs/op
BenchmarkMyParsePacket-4             1000000          2298 ns/op         320 B/op         10 allocs/op

This is when running on repl.it, the performance on an 8th gen I7 is much better (around 310 ns/op).
I would like to contribute back some of these changes (some of them are not suited for concurrent workloads without introducing locking). As well as start a discussion about what else could be improved (there are some stuff that I didn't get to).
Please feel free to explore my fork. I should note, I originally (in my master branch) divided up the single file into multiple to make it easier to modify without getting lost, perhaps this is a change that should be introduced as well.
https://github.com/hypebeast/go-osc/compare/master...chabad360:patch-1

Hey,
Thanks a lot for your input. I'm always happy to receive a PR for your performance improvements. Furthermore, I'm also open to discuss the restructuring. Maybe you can create two PRs: one for the perf. improvements and one for the restructuring. This makes it  a little bit easier for me. And first I want to merge the PRs #39, #40 and #41 before I start with a restructuring.

Perfect, the compare link that I put in the OP is compatible with the current structure. But I think I would rather do a restructuring first, as that would help make it more clear where the various optimizations are happening. Also it extremely simple to do, as the code it self is quite organized into what would become various files.

Let's move the conversation about this over to #48, this way we can easily discuss actual code.

Thanks for the PR. I'll have a look in the next days.

One major performance bottleneck that I ended up fixing when running on a rpi with high osc load was the dispatching logic. For some reason the current baseline implementation compiles the regexp patters for each message processing hook for each message. I ended up putting the patterns as compiled regexps into an array and bailing after the first match and optimizing the most used message handlers to the start of the array.

I haven't even touched the dispatch portion yet (and I think it could be much more efficient) mainly because I just use a contains in my logic.
But I do intend to make a significant rewrite or this library, so this will definitely be included.


Incorrect process detection ("Process is already running")

Description
The new process detection (in 420558e74413b63aa479a31a44d6039d6b255d66) seems to be problematic when run with sudo. This is probably because sudo creates another copy of the process entry with root permissions, and then runs that. So there will be two copies in the process list.
If I switch to root, the command works just fine.
How to reproduce

Run sudo docker-gc

What do you expect
Command completes successfully
What happened instead
docker-gc detects the original sudo request as a separate process, and refuses to run
Software:

bash version: GNU bash, version 4.3.42(1)-release
fgrep version: grep (GNU grep) 2.25
sudo version: Sudo version 1.8.16

Full backtrace
$ sudo docker-gc
[Mon Jun 27 11:47:26 EDT 2016] : docker-gc : Process is already running with PID 6817

hey @drewmnoel thanks for the heads up. I've reverted that previous change at https://github.com/spotify/docker-gc/pull/112


[BEAM-782] support runner names to be partial or case insensitive

R: @aaltay PTAL
Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Coverage decreased (-0.05%) to 69.714% when pulling 985d0655f3055adbebd86bf5db3e7ee85a35bc4c on sb2nov:BEAM-782-runner-capitalization into af02b8c32baa80365a0605d3e94e0b10ded369ff on apache:master.

LGTM. Thank you.


Please Provide Documentation for Android

I get that your sdk is "closed" for whatever reasons deemed applicable, but at the very least can there be some detail documentation / tuts (that use modern android practices, Holo theme is 4 years old, you can do better than that.) like the iOS sdk has? After digging through the archive files and de-compiling the classes.jar file it becomes immediately apparent that the android support is an afterthought.
On your community portal there is mention that Estimote beacons can be monitored via the open source Android Beacon Library from Radius networks, yet there is very little information on how to set the beacons layout paremeter for monitoring.
Sorry for sounding like a complainer but a tech that is this pervasive and powerful needs support across the board, it can only bring more success to everyone at the end of the day.

Thanks for a constructive feedback @RingoMckraken. We strive to have SDK as simple as possible. It is doing only ranging, monitoring for our devices and their configuration. It'd like to ask you more questions.
Documentation. So far we have verbose SDK Demos along with section how to use it. We had recognised that we can do better and we introduced Estimote Developer site where we put tutorials. Android one soon. Can you tell me more what do you expect when you did say "detail documentation"?
Holo theme point taken. But what do you mean that we do not adhere modern Android practices?
As a author of this SDK, I'm interested why you had said that Android support is an afterthought. Estimote is fully committed to Android.
Regarding Android Beacon Library. Estimote beacons are iBeacon compatible and if this library can handle iBeacons than you can use it. We cannot provide any more details about iBeacon as it is Apple's proprietary protocol.

First I'd like to thank you for such a concise and friendly response. That speaks volumes for Estimote's commitment to the development community at large. Second I'd like to apologize for my tone in the issue raised on this repo, I'm a hardcore android guy in a world of iOS first so I definitely think we feel each other's pain on the need to uphold the standards and best practices of the platform(s) we have to support.
To further elaborate and address your questions, and this is something all android dev's (foot in mouth) struggle with, is the lightning pace that this tech evolves. I/O this year unleashed a plethora of updates and support libraries with much welcome to the community, although not completely encompassed in the native documentation, these practices continue to evolve to become the de-facto standard for "how it's done". The tools we use on a daily basis and the native sdk's we use are a direct reflection of that, constant updates that force developers to look around the corner to see what production code could be affected and what level of refactoring will have to take place to accommodate the changes for an ever diverse user base with differing hardware specs, os versions, custom OEM forks, etc.
What I mean specifically by documentation is the on boarding experience itself. Say you are a code shop that has a handful of devs on both sides of the fence. This shop gets a BLE beacon related project for a critically acclaimed client. One side  gets a clean paint by numbers step by step (and I may just have a hard time finding these docs) guide on the meat and potatoes of integrating the tech into their production code(albeit proprietary), while the other gets a link to github repo a small readme, and is left to stack overflow / the web (not to say that's a bad thing, and yes that is a bit of a dramatic stretch). The one side get's their code written quick as wind and is off running to the races. Meanwhile, the other is backwards configuring their environment, build system, and "the latest and greatest" to make it work (on a platform where 45% of the target market won't even be able to use it,) and has to explain why they spent a little more time to get their code to work. This is the plight of a lot of developers out that and we are scrambling to just get it to work so we can implement application logic and fine tune the code to not crash on a myriad of devices.
Thank you again for responding and listening to the community. At the end of the day, I'd love to see a million giving constructive feedback and vice versa to help you guys and the community at large support every platform available in the market. Look at the competition and help us do that. We got your back and will support you.

@RingoMckraken Just to reassure you.
We are working on generic getting started with beacons guide. What it is, what concepts are behind it etc. In addition to that we will have getting started in Android & iOS guides.


Frame Processor Error: crop is not a function (it is undefined), js engine: VisionCamera

You need to update the babel.conf.js file according to the readme.
Then run the following to reset the cache.
npx react-native start --reset-cache

not happening  tried everything you said

You also need to install react-native-worklets-core

Hi,
I have the same error.
I already use other FrameProcesors and they work. I already have the babel.conf and<EMAIL_ADDRESS>installed.

@rochfeu use v1.1.0

Ahh. 😢
I need to use 1.3.3 for another frameProcessor.

using "react-native-worklets-core": "1.1.0"
console.log(crop); // undefined

Should be fixed in v1.3.0. https://github.com/tony-xlh/vision-camera-cropper/issues/9


Static Text Block sample not showing properly in IE11

What to say, IE11 rox

I am using Maxthon Browser (v <IP_ADDRESS>0 ) from Maxthon.com.
It also shows similar output, where as Firefox works perfectly fine.
regards
Shailesh

Fixed in latest. IE11 can't do automatic height for flex items.


nuimo_app: multiple nuimos threading issue

Happens 50% of the time when nuimo_app is started with multiple nuimos configuration (at the moment can be done only manually)
Connecting Nuimo controller  ee:ce:c0:08:3c:aa <Thread(Thread-2, started -1271925648)>
Connecting Nuimo controller  fd:35:69:1c:a3:64 <Thread(Thread-4, started -1290800016)>
started_connecting Nuimo controller  fd:35:69:1c:a3:64 <Thread(Thread-4, started -1290800016)>
started_connecting Nuimo controller  ee:ce:c0:08:3c:aa <Thread(Thread-2, started -1271925648)>
connect_succeeded Nuimo controller  ee:ce:c0:08:3c:aa <Thread(Thread-2, started -1271925648)>
connect_succeeded Nuimo controller  ee:ce:c0:08:3c:aa <Thread(Thread-4, started -1290800016)>
connect_succeeded Nuimo controller  fd:35:69:1c:a3:64 <Thread(Thread-4, started -1290800016)>

As visible from this added traces the BLE connection is started for two nuimos on two different threads but the connect succeeded is received three times.
The controller ee:ce:c0:08:3c:aa after this unexpected double response behaves as it is controlled by two apps (two threads)
to be investigated. It takes place only when two nuimos are configured and it is easily recognisable.
Has been decided to merge the PR #243 code even if this issue is present so that, in the meantime, it is possible to adapt the setup_app for multiple nuimos and test it on the master branch.

I discovered that the issue is related to BLE connection procedure. When the services_resolved() method is called before connect() the issue takes place:
root@senic-hub-beta:~# /usr/bin/nuimo_app -c /var/data/senic-hub/production.ini
2017-08-04 08:05:22,594 INFO  [phue] Attempting to connect to the bridge...
2017-08-04 08:05:22,595 INFO  [phue] Using ip: <IP_ADDRESS>
2017-08-04 08:05:22,596 INFO  [phue] Using username: 3xuMbR9oTL7HeI9tNeBpEqOWXbdcr4j15uAlLqkm
__init__ Nuimo controller  fd:35:69:1c:a3:64 <_MainThread(MainThread, started -1225097216)>
2017-08-04 08:05:23,139 INFO  [phue] Attempting to connect to the bridge...
2017-08-04 08:05:23,140 INFO  [phue] Using ip: <IP_ADDRESS>
2017-08-04 08:05:23,141 INFO  [phue] Using username: 3xuMbR9oTL7HeI9tNeBpEqOWXbdcr4j15uAlLqkm
__init__ Nuimo controller  ee:ce:c0:08:3c:aa <_MainThread(MainThread, started -1225097216)>
nuimo_apps {'fd:35:69:1c:a3:64': <senic_hub.nuimo_app.NuimoApp object at 0xb4e1e630>, 'ee:ce:c0:08:3c:aa': <senic_hub.nuimo_app.NuimoApp object at 0xb4d5cd70>}
Connecting Nuimo controller  fd:35:69:1c:a3:64 <Thread(Thread-2, started -1271925648)>
started_connecting Nuimo controller  fd:35:69:1c:a3:64 <Thread(Thread-2, started -1271925648)>
Connecting Nuimo controller  ee:ce:c0:08:3c:aa <Thread(Thread-4, started -1290800016)>
started_connecting Nuimo controller  ee:ce:c0:08:3c:aa <Thread(Thread-4, started -1290800016)>
Listening to changes of:  /var/data/senic-hub/nuimo_app.cfg
gatt services_resolved
gatt connect
gatt called connect_succeeded
gatt  connect_succeeded
gatt called services_resolved
gatt services_resolved
connect_succeeded Nuimo controller  fd:35:69:1c:a3:64 <Thread(Thread-4, started -1290800016)>
connect_succeeded Nuimo controller  fd:35:69:1c:a3:64 <Thread(Thread-2, started -1271925648)>
gatt connect
gatt called connect_succeeded
gatt  connect_succeeded
gatt called services_resolved
gatt services_resolved
connect_succeeded Nuimo controller  ee:ce:c0:08:3c:aa <Thread(Thread-4, started -1290800016)>

Solved with gatt library version 0.2.6


Bug fix

5b61288 is ok, others need a bit more fixing.

I'm gonna merge this for now. If any misbehaviors ensue, we'll fix them separately.


new power idea

Power Replication - Pros : Can replicate another Players Power Cons : Can only Replicate one Power and can only last for 1 minute

Good idea👍


Null StoreMediaOptions.Directory and StoreMediaOptions.Name Generates ArgumentNullException

In version 2.6.0, the new regular expression code filter out invalid characters in StoreMediaOptions.Name and StoreMediaOptions.Directory in MediaImplementation.VerifyOptions, throws an ArgumentNullException when those properties are null on Android (maybe others?).  Should be able to use the StoreMediaOptions without having to specify the Name and Directory properties when calling TakePhotoAsync and TakeVideoAsync.
Workaround is to set them to an empty string.

Yes, will fix right now, I think null sets it to the default. Let me clean up.  and release a new beta

beta 3 will be out in like 5 minutes with fix only impacts android


[RFD] Developer Guidelines

This RFD serves as a set of principles we have found to be useful in developing for OpenCHAMI at LANL.  Not all will apply to every development effort, but you should acknowledge when you deviate and you should be ready to explain why your deviation is warranted or when our rules should change.
Go Basics

Where possible, we support the same go language deprecation policy as the go project itself. go.dev/devel/release  Any time we make a new release of a go program, we should ensure that the go.mod lists a supported version of the language and that we have retested it with updated libraries.

Each major Go release is supported until there are two newer major releases.  We fix critical problems, including critical security problems, in supported releases as needed by issuing minor revisions (for example, Go 1.6.1, Go 1.6.2, and so on).

Our default http router is go-chi because it is a drop-in replacement for mux and it supports middleware and subrouters.
 import "github.com/go-chi/chi/v5"

Our default release process is based on github actions and goreleaser.  Together, these two tools provide us with build attestation and SLSA SBOMs.  A current example of using the two tools together can be found in the cloud-init server repository

LANL runs nightly integration tests on hardware in their datacenter.  Artifacts to be tested must be compiled for x86 and released through github actions.

Architecture principles

Opt-In to complexity The users of OpenCHAMI will run the gamut of experience and sophistication from the most junior sysadmin on their first cluster to teams that mange hundreds of thousands of nodes.  When faced with a choice on how to implement a feature, make the simplest path the most straightforward and allow admins to choose complexity rather than having it thrust upon them.

Avoid Distributed Systems Problems associated with distributed state are often the most pernicious to debug and require software with a healthy dose of complexity.  Avoiding these problems completely sometimes means making other sacrifices, but it generally pays dividends in operations by reducing downtime.  Instead of relying on a central database or consensus algorithms, find as many other ways to approach the problem through delegation, federation, or slowly changing state machines.  Only when you have thoroughly exhausted all other options is a distributed system a possibility.

OpenCHAMI is OS-Agnostic First and foremost, OpenCHAMI operates at the hardware management layer of system management.  It is concerned with securely establishing and maintaining an extensible inventory system with associated services to provide boot management, console access, and power management.  Users can bring whatever Operating System and Programming Environment is best for their sites.  They can even choose different operating systems on different parts of the clusters.
Programs that run on the compute nodes are out of scope for OpenCHAMI.

I recommend using Conventional Commits and setting repos to use squash merges only.

Conventional Commits is a standardized commit message format. It establishes title and footer formats designed to be both human- and machine-readable.
For example:
feat: remove deprecated foobar functions

Removes the deprecated GreenGiraffe() and PurpleMongoose()
functions from the foobar interface. Code using foobar must
migrate to TealGiraffe() and VioletMongoose().

BREAKING CHANGE: foobar.GreenGiraffe() and
  foobar.PurpleMongoose() removed. Migrate to
  foobar.TealGiraffe() and foobar.VioletMongoose()

The authors have their own "why use this?" commentary; my rationale is primarily:

Having a standard format provides quick at-a-glance information about what a commit is and what area it modifies (if you use the optional scope).
Changelogs are important, but hand-writing them is tedious and error-prone. A machine-readable format, particularly an established one with existing tooling already written for it allows for quick generation of a complete log with diff links, letting humans focus on writing about major highlights.

Squash merges combine all commits in a PR into a single commit before merging into the target branch, with a revised message and title.
I recommend disabling merge commits, and maybe disabling rebase merges.
Squash merges as the primary or only merge option have advantages for commit history and changelog cleanliness. PRs are often imperfect when opened, and the commit history within them can get a bit messy.
Squashing at the end lets whoever merges the PR author a clean message before changes actually land in main, and relieves PR authors of the need to ensure all commits are clean up front (it's nice to try, and doing so speeds up the end summarization, but the best laid plans of mice and devs often go awry).
GitHub automatically sets the squashed commit title to PR title (#PR-number), which lets the titles link to the PR page in their UI. It concatenates all commit messages in the PR to create the body. Both these can be modified before merging, and the body usually should be, to strip out the various "chore: fix linter complaint" messages and consolidate duplicate footers.

While I generally prefer squash merges for simpler features, I think that they maybe lose too much information on bigger features.   On the other hand, there's nothing to force people to clean up their commits otherwise, so I am not as firm in this opinion as I might otherwise be.
I think that the commit format is fine.


*: bump grpc to 1.12.2 (#1265)

What problem does this PR solve?
cherry-pick #1265
What is changed and how it works?
This PR bumps the version fo grpc to 1.12.2 in order to fix the data race problem.
Check List
Tests

No code

/run-all-tests tidb=release-2.1 tikv=release-2.1

/run-all-tests tidb=release-2.1 tikv=release-2.1


CMOS-301: Allow setting a path prefix

Also renamed the docs subpath to /docs, partly to avoid confusing routes and partly to avoid ridiculous URLs like /cmos/cmos/cmos/0.1/index.html.

I've done a fair amount of testing (though I'll see about adding some integration tests), but it'd be good if you could give it a whack too.

CI doesn't run integration tests so triggered a nightly run at https://github.com/couchbaselabs/observability/actions/runs/1806121948.

Nightly run in https://github.com/couchbaselabs/observability/actions/runs/1807050337

Nightly tests are struggling (see https://issues.couchbase.com/browse/CMOS-311), but the tests relating to this change specifically are passing at least.


⚠ Bofrost.fr has degraded performance

In f14136c, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1713 ms

Resolved: Bofrost.fr performance has improved in 9cbf8fb.


Support for OpenLiberty as MP 2.2

fixes #128

Adds MicroProfile spec for MP 2.2 (was missing in MP 2.2 support)

Update the lookup of the profile

First with the version
If not found, just on implementation

So that we can have a more 'general'
In the liberty example, first look for liberty-2.2 profile, if not found look for the liberty profile.

New PR will be created using functionality introduced in #141


The "New Project Request Received" page contains a short message thanking the submitter and notifying them of the projected timeline for a response, followed by a "Return to Dashboard" button

Superseded by #259


vaultwarden-sqlite: 1.30.1 -> 1.30.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for vaultwarden-sqlite is: Unofficial Bitwarden compatible server written in Rust
meta.homepage for vaultwarden-sqlite is: https://github.com/dani-garcia/vaultwarden
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.30.2 with grep in /nix/store/dbk0bnk7b7n8kj4zl45zy5a1cyy1l2f1-vaultwarden-1.30.2
found 1.30.2 in filename of file in /nix/store/dbk0bnk7b7n8kj4zl45zy5a1cyy1l2f1-vaultwarden-1.30.2

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

6 total rebuild path(s)

6 package rebuild(s)

First fifty rebuilds by attrpath
nixos-install-tools
tests.nixos-functions.nixos-test
vaultwarden
vaultwarden-mysql
vaultwarden-postgresql
vaultwarden-sqlite

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/e504fc24514f0eab117f9d0803a5598728a84230#vaultwarden-sqlite

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/dbk0bnk7b7n8kj4zl45zy5a1cyy1l2f1-vaultwarden-1.30.2
ls -la /nix/store/dbk0bnk7b7n8kj4zl45zy5a1cyy1l2f1-vaultwarden-1.30.2/bin

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

1 package blacklisted:

nixos-install-tools

3 packages built:

vaultwarden
vaultwarden-mysql
vaultwarden-postgresql

Maintainer pings
cc @msteen @ivan for testing.

https://github.com/NixOS/nixpkgs/pull/285225

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for vaultwarden-sqlite is: Unofficial Bitwarden compatible server written in Rust
meta.homepage for vaultwarden-sqlite is: https://github.com/dani-garcia/vaultwarden
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.30.3 with grep in /nix/store/36nnlj1n28g2rx8px6mx70s6qzgiwm17-vaultwarden-1.30.3
found 1.30.3 in filename of file in /nix/store/36nnlj1n28g2rx8px6mx70s6qzgiwm17-vaultwarden-1.30.3

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

6 total rebuild path(s)

6 package rebuild(s)

First fifty rebuilds by attrpath
nixos-install-tools
tests.nixos-functions.nixos-test
vaultwarden
vaultwarden-mysql
vaultwarden-postgresql
vaultwarden-sqlite

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/36nnlj1n28g2rx8px6mx70s6qzgiwm17-vaultwarden-1.30.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/041cd4c612fa07b10b9b13da1d72de025bb3aaec#vaultwarden-sqlite

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/36nnlj1n28g2rx8px6mx70s6qzgiwm17-vaultwarden-1.30.3
ls -la /nix/store/36nnlj1n28g2rx8px6mx70s6qzgiwm17-vaultwarden-1.30.3/bin

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

1 package blacklisted:

nixos-install-tools

3 packages built:

vaultwarden
vaultwarden-mysql
vaultwarden-postgresql

Maintainer pings
cc @msteen @ivan for testing.


Express Form (Block Type) missing a check on the form entity (delete function)

Upon deleting the block or page versions, it may fail on this Block Type, since "$this->getFormEntity()" can return null (instead of an object).

For the sake of a uniform way, I checked is_object (since it's been used in the rest of the controller). Feel free to do otherwise of course :)


400 Bad Request

I am trying to send a HTTP Request like that "(https://api.opencagedata.com/geocode/v1/json?q=199 Trần Quốc Hoàn, Phường Mai Dịch, Quận Cầu Giấy, Thành phố Hà Nội&key=*********")" (key is private so i dont want to public here)
But i only get response is unexpected token at '
400 Bad request
 Your browser sent an invalid request.  '
I think I have some problems with URL of the request but i can't find solution for it. Please give me some solutions for it

I get the same response with curl:
% curl 'https://api.opencagedata.com/geocode/v1/json?q=199%20Trần%20Quốc%20Hoàn,%20Phường%20Mai%20Dịch,%20Quận%20Cầu%20Giấy,%20Thành%20phố%20Hà%20Nội&key=mysecretkey'

400 Bad request

Your browser sent an invalid request.

I don't think the problem is related to this gem. Maybe that server doesn't handle unicode query params?
% curl 'https://api.opencagedata.com/geocode/v1/json?q=myasciiquery&key=mysecretkey'
{"documentation":"https://opencagedata.com/api","licenses":[{"name":"see attribution guide","url":"https://opencagedata.com/credits"}],"results":[],"status":{"code":401,"message":"invalid API key"},"stay_informed":{"blog":"https://blog.opencagedata.com","twitter":"https://twitter.com/opencagedata"},"thanks":"For using an OpenCage Data API","timestamp":{"created_http":"Sun, 26 May 2019 20:07:18 GMT","created_unix":1558901238},"total_results":0}

Hi, Ed from OpenCage here. You need to URI encode the query. So should be
q=199%20Tr%E1%BA%A7n%20Qu%E1%BB%91c%20Ho%C3%A0n%2C%20Ph%C6%B0%E1%BB%9Dng%20Mai%20D%E1%BB%8Bch%2C%20Qu%E1%BA%ADn%20C%E1%BA%A7u%20Gi%E1%BA%A5y%2C%20Th%C3%A0nh%20ph%E1%BB%91%20H%C3%A0%20N%E1%BB%99i&key=YOUR_API_KEY&pretty=1

As OpenCage API docs says:

In API best practices it says:

If you are geocoding non-English locations, please don't forget to set the optional language parameter.

@freyfogle :+1: :smile:

Just a quick note to say thanks for posting this issue. We have now changed our documentation to try to make the need for URL encoding more clear.

@freyfogle :+1:


Ping function

Hi,
Is there already functionality to ping the database in Propel? I have a long running process that might not do anything in long time and the database might go away during that time (database is MySQL and error code I see sometimes is 2006 MySQL server has gone away). It would be nice to have some kind of functionality to ping the database during this process for example every 15 minutes or so. For MySQL there is mysqli_ping function but for other databases it might need some other functions like SELECT 1; or so.
What do you think?

Hey i know its closed, but im also facing this issue. any fixes?


Bicep provisioning - inconsistent behavior in local generated bicep and generated manifest for azd when the parameter contains preserved brackets {}

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
For bicep provisioning, when WithParameter expression contains preserved brackets {}, the local generated bicep is evaluated successfully, while the manifest file does not escape the preserved brackets and results in an invalid manifest file.
Expected Behavior
No response
Steps To Reproduce
Below test case shows the inconsistent behavior in local run and the generated manifest:

    [Fact]
    public async Task SetParametersWithExpressionContainingBrackets()
    {
        using var builder = TestDistributedApplicationBuilder.Create();

        var container = builder.AddContainer("foo", "image")
            .WithHttpEndpoint()
            .WithEndpoint("http", e =>
            {
                e.AllocatedEndpoint = new(e, "localhost", 1023);
            });

        var suffixContainingBrackets = "{bracketwrapped}";
        var bicep0 = builder.AddBicepTemplateString("bicep0", "param name string")
               .WithParameter("endpointExpr", ReferenceExpression.Create($"{container.GetEndpoint("http")}/{suffixContainingBrackets}"));

        var parameters = new JsonObject();
        await BicepProvisioner.SetParametersAsync(parameters, bicep0.Resource);

        // local value is successfully evaluated with endpoint value replaced
        Assert.Equal("http://localhost:1023/{bracketwrapped}", parameters["endpointExpr"]?["value"]?.ToString());

        var manifest = await ManifestUtils.GetManifestWithBicep(bicep0.Resource);
        // the generated manifest does not escape `{bracketwrapped}` and as a result this is an invalid manifest file and `{bracketwrapped}` is considered as a parameter to be replaced
        var expectedManifest = """
            {
              "type": "azure.bicep.v0",
              "path": "bicep0.module.bicep",
              "params": {
                "endpointExpr": "{foo.bindings.http.url}/{bracketwrapped}"
              }
            }
            """;
        Assert.Equal(expectedManifest, manifest.ManifestNode.ToString());
    }

The generated manifest is invalid and when azd up it throws ERROR: generating bicep from manifest: evaluating bicep module parameter endpointExpr: malformed binding expression, expected <resourceName>.<propertyPath> but was: bracketwrapped
Exceptions (if any)
The generated manifest should escape brackets and generate ` "endpointExpr": "{foo.bindings.http.url}/{{bracketwrapped}}"
.NET Version info
.NET SDK:
Version:           8.0.304
Commit:            352dc5a01f
Workload version:  8.0.300-manifests.56cd0383
MSBuild version:   17.10.4+10fbfbf2e
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.22631
OS Platform: Windows
RID:         win-x64
Base Path:   C:\Program Files\dotnet\sdk\8.0.304\
.NET workloads installed:
[aspire]
Installation Source: VS 17.12.35209.166, VS 17.11.35219.272
Manifest Version:    8.1.0/8.0.100
Manifest Path:       C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.aspire\8.1.0\WorkloadManifest.json
Install Type:              Msi
Host:
Version:      9.0.0-preview.7.24405.7
Architecture: x64
Commit:       static
Anything else?
No response

cc @vhvb1989 we’ll need to handle this in azd

@davidfowl will you escape the brakets? ( {{  }} ) ?
or do we want azd to just bring the text as it is, if it fails to parse the expresion?   For example, if the user's expr is {bar.bindings.http.url} and bar does not exists, do we want to take it as text?  (that fixes this issue but might lead to issues when an error should be really returned)

We can escape brackets in the manifest


RFTools crafter disconnect on right click

I used RFTools crafters and after updating from FTB infinity 1.2.1 (RF Tools 2.54)  to 1.3.4 (RF Tools 2.71) I can no longer right click any previously set up without getting disconnected with the error message "A fatal error has occured, this connection is terminated".
EDIT: This is true for all the machines I've tested so far, regardless of being placed pre- or post update:
Dialing Device
Dimension builder
Dimension inscriber
All crafter stages
Machine infuser

Can you give me the client crash log please?

I am not getting any crash log, just getting disconnected.

Just the console log would probably help then

Did you check the logs folder? There should be a crash log there. You don't disconnect at random.  All the reconnects from 21:56:23 and onwards is from disconnecting due to right-clicking any of the machines I mentioned.
And the most recent crash log I've got is from 12/04, and not remotely related to your machines, unfortunately.

That's not very useful I'm afraid. BTW. Do you have a foreign language minecraft perhaps? In that case upgrading RFTools will fix it.

It's running in english.
Will try updating and reporting back later whether it's still broken or not.

And you have some (good) news?

Yes! Only just got around to updating the modpack, sorry. It seems to have been fixed in the update. :)


it not work on web, navigation is not defined, but got {adivroot,router} object where to got navigation?

文件链接

it is my error

啥用的。。我也加了 react-native-web 😞


Rewrite the fsm component of raft

Apply: Implementing log submission operations for raft clusters
Snapshot: Implementing snapshot operations for raft clusters
Restore: Implementing storage operations for raft clusters

// fsm implements raft.FSM interface
type fsm struct {
	//implement me
}

func newFSM() raft.FSM {
	return &fsm{}
}

func (f fsm) Apply(log *raft.Log) interface{} {
	//TODO implement me
	panic("implement me")
}

func (f fsm) Snapshot() (raft.FSMSnapshot, error) {
	//TODO implement me
	panic("implement me")
}

func (f fsm) Restore(snapshot io.ReadCloser) error {
	//TODO implement me
	panic("implement me")
}

Do we have the structure of the log.Data?

The initial consideration is to record the information of meta components and corresponding operations. Do you have any ideas?


Miller Columns system

The option of having the "Miller Columns system" could be add to the project?
In order to increase the efficiency navigating deep folder structures...

feature request

I would also like the option to have Miller Columns, and Disclosure Triangles. Both are native in macOS Finder, and very useful.

Files v2 has ColumnView 💪 For tree view: #1928

Oh awesome. What's the time estimate for seeing a release version of v2?

October 4th


ActiveRecordCallbacksOrder: "after_create is supposed to appear before before_destroy"

The definition of the cop is "This cop checks that Active Record callbacks are declared in the order in which they will be executed".
The "create" and "destroy" callbacks cannot happen in the same action and so should not be even compared. But even if I'd assume that they can, still "before" makes sense to happen before "after".
Expected behavior
All "before_destroy" callbacks are allowed to appear before "after_create".
In general, all "before" callbacks should be allowed before all the "after" callbacks, except "validation".
Actual behavior
The error message "after_create is supposed to appear before before_destroy" shown.
RuboCop version
Include the output of rubocop -V or bundle exec rubocop -V if using Bundler. Here's an example:
$ rubocop -V
0.89.1 (using Parser <IP_ADDRESS>, rubocop-ast 0.3.0, running on ruby 2.6.2 x86_64-linux)

The callbacks order was taken from https://guides.rubyonrails.org/active_record_callbacks.html#available-callbacks
Also, logically deletion of object is supposed to happen after its creation, so I would expect to see all deletion callbacks after creation callbacks regardless before_ or after_ prefixes.

The callbacks order was taken from https://guides.rubyonrails.org/active_record_callbacks.html#available-callbacks
Also, logically deletion of object is supposed to happen after its creation, so I would expect to see all deletion callbacks after creation callbacks regardless before_ or after_ prefixes.

In the linked documentation all the destroy callbacks are separate from
create or update.
I actually wouldn't care if it also wouldn't require that destory callbacks
happen before "after_save", which also doesnt make sense.
What I'm asserting is that there's no reason to compare destroy callbacks
with others. It should have a separate order.
On Fri, Jan 1, 2021, 22:51 fatkodima<EMAIL_ADDRESS>wrote:

The callbacks order was taken from
https://guides.rubyonrails.org/active_record_callbacks.html#available-callbacks
Also, logically deletion of object is supposed to happen after its
creation, so I would expect to see all deletion callbacks after creation
callbacks regardless before_ or after_ prefixes.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rubocop-hq/rubocop-rails/issues/412#issuecomment-753380776,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHKEBT43NTEC2VF6FY4O4DSXYYUZANCNFSM4VEW4N5A
.

In the linked documentation all the destroy callbacks are separate from
create or update.
I actually wouldn't care if it also wouldn't require that destory callbacks
happen before "after_save", which also doesnt make sense.
What I'm asserting is that there's no reason to compare destroy callbacks
with others. It should have a separate order.
On Fri, Jan 1, 2021, 22:51 fatkodima<EMAIL_ADDRESS>wrote:

The callbacks order was taken from
https://guides.rubyonrails.org/active_record_callbacks.html#available-callbacks
Also, logically deletion of object is supposed to happen after its
creation, so I would expect to see all deletion callbacks after creation
callbacks regardless before_ or after_ prefixes.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rubocop-hq/rubocop-rails/issues/412#issuecomment-753380776,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHKEBT43NTEC2VF6FY4O4DSXYYUZANCNFSM4VEW4N5A
.


how to use group by in join-monster?

I want to use group by in join-monster, but I can't find anything instruction about it in the docs.
new GraphQLObjectType({
  description: 'global query object',
  name: 'Query',
  fields: () => ({
    //...
    groupNum: {
      type: new GraphQLList(new GraphQLObjectType({
        name: "groupNum",
        fields: {
            account_id: {
              type: GraphQLInt
            },
            numComment: {
              type: GraphQLInt
            },
            /*
            user: {
              type: User
            }
            */
        },
      })),
      resolve: () => knex.raw(`select account_id, count(comment_id) as numComment from likes where comment_id > 5 group by account_id having count(comment_id) > 10

`).then(num => num)
    }
  })
})

I execute sql by knex in resolve, but i want this query, but have no idea get  graphqlobject ‘user’ ?
query{
groupNum {
    account_id
    user{
        fullName,
        //...
    }
    numComment
  }
}

so, can you help me out ? thank you!

The support for GROUP BY isn't fully there yet. Currently you can do some types of aggregation by putting it in a subquery, like so. But a more general method has not been conceived.

ok, I create new graphqlobject and run group by in sqlTable, then sqlJoin the User, it work.


Stopped working with update

I couldn't find release notes, but it looks like you added overseer support. However, reconfiguring with sonarr+radarr fails with unknown error, even though the it remembers the crdedentials.
Adding overseer is a good idea, but I use jellyseer.

Could you share the error you're getting? If you go to Settings > System > Logs, and then make the request, do you get some kind of error showing up? Or do you get the error upon configuration?
I recently helped someone who had issues when omitting http:// from the radarr and sonarr url. Might be the same issue, but might be something different.

I went to reconfigure it again. But this time it forgot all the credentials. When I entered them again, it worked. Who knows why. Thanks for looking at it.

Weird, maybe something with the update messed the configurations a bit. I'm able to change configurations and the changes are picked up instantly. I'll keep this issue opened until I change the code to automatically add http:// in front of locally filled in IPs

You also made a breaking change in the update, when you changed the action names. I fixed my automations when I discovered that.

That was intentional. Adding Overseerr would make the original action names service ambiguous, hence why I added the service name to the action names.

That is what I figured. It makes sense. Maybe release notes? But that would be added work.

That is what I figured. It makes sense. Maybe release notes? But that would be added work.

Yea, would be best. I actually don't use Hass myself. I just set it up a couple days ago because I wanted to use my voice to request content, and since Google Assistant removed any possibility of integrating such things yourself in 2023, I setup home assistant, made Hassarr, but then felt it was overkill since I don't own any smart devices. So whenever someone posts a bug, I'm literally installing it back onto my server, debug it, push a fix and remove it again.
I'm a bit busy now that it's the holidays, so I'll try to knock out a few more requested bug fixes next time I have some spare time.


provide JSON-LD context

Hi, thanks for maintaining the CMO!
I'm in the process of formalizing a data schema we developed for our open-source electronic lab notebook (https://github.com/cheminfo/data_schema, https://github.com/cheminfo/cheminfo-json-schema) and I'd like to reference the keys we use to the CMO. But I'm not sure what the best way to do this would be. Since we're going to use JSON-LD it would be great if the CMO could provide some @context. This library https://github.com/stain/owl2jsonld seems to be able to do it.
Would you consider maintaining something like this? I could look into making a pull request for setting up a GitHub actions that automatically does the conversion.

Hello,
I am not an expert in this but I wonder whether this:
https://github.com/ontodev/robot/blob/master/robot-core/src/main/resources/obo_context.jsonld
would help?
Colin.

can you clarify what is required? The OBO jsonld context may be sufficient, or do you want one entry per term?

i'm really sorry for the delay in following this up. Ideally, we'd like to have one entry per term.

Hello Kevin,
I'm not familiar with JSON-LD - could you provide an example of this? In any case it sounds straightforward to do.
Colin.

btw this is the URL that should be used for the OBO context http://purl.obolibrary.org/meta/obo_context.jsonld
this doesn't answer your question though, this seems maybe a niche use case though?


Disable NAT, leave all other features intact

Hello all.
I haven't tried this project yet but I intend to soon. Before I do, can someone tell me if it might be possible to disable the router's NAT functionality leaving all other features intact?
My goal is to take advantage of all the normal Google Wifi features but leave the private IP addresses visible to a firewall upstream.  On the firewall, I will apply a NAT and also install a static route for the private network behind the Google Wifi device.  (I'm using the firewall today, but it only sees the outside address of Google Wifi for all traffic.  Also, bridge mode would work, but then I lose a bunch of useful features like mesh, priority, etc)
I'm hoping this is done with iptables or similar and can be easily changed.
Thanks for any info.

I was able to accomplish this quite easily once rooted.  Simply had to comment the masquerade line in firewall.conf.
Everything else appears to work including port forwarding (which no longer translates the IP but does allow the traffic through).
I do have an issue since rooting but doesn't seem to be related to the NAT.  I've detailed it in another post about historical usage data.


Improve the docs file structure

Our Jekyll theme currently requires every page of our docs to live in the root docs directory. We create the sidenav hierachy manually in _data/sidenav_doc.yml.
We should look into other ways to organize pages and generate the sidenav. One idea would be to use collections to group sections of the doc and then rewrite the sidnav script to generate the sidenav hierarchy automatically.

This hasn't come up as a real problem or priority, so closing.


v13: Renamings and refactorings

#1700
Todos:

[x] Rename NSwag.Annotations

Move JsonExceptionConverter to NJS?

Do not transform variables on document update

Remove JsonExceptionConverter from NSwag and use from NJS

Changed default:
ExceptionClass = "ApiException";


TestName and RunID automation ideas

Hi Mike,
I have tried to use standard JMeter functions like ${__time()} and ${__TestPlanName} for RunID and TestName fields which are required by your plugin to automate these names and keep them independent for each run. But these values could not be resolved by plugin and in grafana I could not see a different RunID based on time function. Is plugin restricting usage of any JMeter builtin functions ?
This is just a nice to have feature to automate the RunID each time I execute a test.

Hi @sravanthnag
all JMeter functions are working fine, with no restrictions. Yon can use any JMeter function. Make sure that you are using proper syntax.
The example

The result is

BR,
Mike


[pulsar-io] upgrade debezium version

Motivation
Upgeade debezium version for io connector.

Don't we have to update license files as well?

we don't have version defined into license file

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@rdhabalia I think the debezium integration failed. Please take a look at those errors.

@rdhabalia I think the debezium integration failed. Please take a look at those errors.

@rdhabalia it seems that debezium integration tests are still failing.

@rdhabalia it seems that debezium integration tests are still failing.

Is there anyway we can help to land this? i check the failure and see a few unrelated issue like rabbitmq and presto.

/pulsarbot run-failure-tests

@lxcid we have some issues on CI, if the failures are not related to the patch then we simply rerun the tests.
There is an ongoing effort to fix all flakes and also to reduce overall CI time for PR validation

Thanks @eolivelli for the reply! our assessment is still very rough and not reliable but we wanted to integrate pulsar for a while, and have been tracking the debezium part which is our blocker. finger cross in seeing it get landed! thanks so much!

/pulsarbot run-failure-tests

@rdhabalia Can you take a look at the integration failures? It might be still related to debezium.

I hope I can help a bit, I'm diving the codes, and compiling. the process take a long time, meanwhile, I'm looking at the failing test and it seems really weird that the test case is validating Avro instead of Json when the code obviously uses Json.
https://github.com/apache/pulsar/blob/16a2240a5af8402cf655049292d669378e694fa3/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/PulsarFunctionsTest.java#L168-L171

I'll continue to dig to see if I can figure it out.

@rdhabalia this PR is superseded by the more recent #11204


[unbranded Client CodeGen] Support paging for unbranded

Clear and concise description of the problem
Based on the current agreement, with @list, @pageItems and @nextLink, we could generate the paging operation similar with Azure style.
The current priority is to solve the problem we are facing for TypeSpec-ToDo to unblock the E2E demo.
### actions
- [ ] https://github.com/Azure/autorest.python/issues/2936
- [ ] https://github.com/Azure/autorest.java/issues/2992
- [ ] https://github.com/Azure/autorest.csharp/issues/5184
- [ ] https://github.com/Azure/autorest.typescript/issues/2932

Checklist

[x] Follow our Code of Conduct
[x] Read the docs.
[x] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

The unbranded paging core types have been added into System.ClientModel code (a few days ago), but I am not sure if there is a version released for this change.


Editor store not being updated

I've been scratching my head over this one but It appears that  the columns block isn't updating the editor store value in the text area on the form submission (either by form submission event or just ye olde submit button).
The only thing present in the store is the defaults used when initialising the sir trev instance (And yes, I'm using the latest instance of the 'Mr Trevor' fork which still works perfectly fine when not calling the columns block).
On a side note, I've had a look through the core mr trev vs sir trev and the only real difference I can find at the moment is lines 10537 - 10539;
getTextBlockHTML: function() {
    return this._scribe.getHTML();
},

vs
getTextBlockHTML: function() {
    return this._scribe.getContent();
},

Everything else seems to relate to the format bar (which I've updated updated/rolled back but to no effect other than making the format bar wander off if you have to scroll).

Hi Chris!
Yeah, you're right! It looks like Sir Trevor has changed it's Blocks API, so we need to call another method to store content. I'll fix it tomorrow.
Thanks!

Phew thought I was going mad and/or buggered it over. The odd thing is I'm using another block that's behaving itself just fine, had a look over things but couldn't see what I was missing.
If you can let me know how you get on I'd be grateful.

Chris,
I've tested the latest plugin release with latest Mr. Trevor installed via bower and have found nothing wrong with it. It updates textarea on form submit as it should do.
Here's an example installation: http://demo.e1stuff.com/sir-trevor/.
It outputs textarea content on form submit.
$('form').bind('submit', function () {
    $('#st-json-debug').text($('.sir-trevor').val());
    return false;
});

And as far as I see it works.
Can you provide example on which I can reproduce the issue? Or am I missing something?

I think I see the problem (got Bower going yesterday but hadn't got round to compairing files with the ones in my project yet), The originals I had (dated 2015-03-12) are not the same as the ones that bower provided (dated 2015-03-13) plus quite a few lines of code different, and that was just on the 'mr-trevor' file. So I'll update with the bower files and let you know how I get on.

In a really frustrating turn of things it's still spitting out;
{"data":[{"type":"columns","data":{"columns":[{"width":6,"blocks":[]},{"width":6,"blocks":[]}],"preset":"columns-6-6"}}]}

No matter what gets changed. I'm going to take it back to a basic page without the rest of the files I've got going on (It's been added to a bootstrap framework) and see if I can figure out what's disturbing it if I start from the group up.

Does the demo working ok for you?
How you SirTrevor is initialized? Maybe it's because of some extra options?

The demo's working fine, I've got it working at my end on a blank template (sod's law) and I'm just in the process of rebuilding the page it's been failing on... So far it's working fine so once I know it's working right I'll compare with the original and let you know what I find.

Great!
Good luck! :)

So good so far, still getting format wandering off (easy to replicate, just add enough blocks/text to require scrolling and there you go).
From what I can see it was being sensitive to being opened after another custom block. That's pretty much the only thing I can find that's triggering it.
So pretty much a case of calling the blocks js file directly after the Mr Trevor file is called.
What's bizarre is I did think that might be the case and stripped it out while testing but to no avail.
Anyways, I'm closing this since it's working. Thanks for your help though.


Move Data Visualization in Figma to Foundation on Production

[ ] Remember to replace the guage example in dark mode: wrong font colors!


⚠ Bofrost.lu has degraded performance

In 010da7e, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1239 ms

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


Update README.md and Create CONTRIBUTING.md

Changes:

Add a new usage section in the README
Create a new contributing document

LGTM, thanks @yash2002109


Scannet Semantic Segmentation Results

Hi,
I have downloaded the pretrained model from model zoo from this link: http://kaldir.vc.in.tum.de/3dsis/contrastive_scene_contexts/pretrain/partition8_4096_100k.pth and trained the model for semantic segmentation on Scannet initialized with pretrained weights. I got 72.7 mIoU. Is this within the standard deviation? I used 8 GPUs with 48 batch size for 20k iterations. I did not change anything in the config file. Here is my log file:
ddp_main.log

There could be variance, but 72.7 is a bit low. Are you using ME0.4.3?

Yes.

I re-run the scannet semantic segmentation with the partition8_4096_100k.pth pre-trained weights, and got 73.4 which should be within the deviation, see the log: ddp_main.log
I never saw the number was below 73 actually, but it does not mean 72.7 is impossible. The difference now I can think of now could be the data used, let me upload the data we generated. Do you have the same pytorch/cuda/v100 etc? not sure that could be a reason. Btw the released partition8_4096_100k.pth was a re-trained model after code refactoring, since you raised this up, I will also test the pre-trained models before refactoring)

I use the same pytorch and cuda. It would be great if you could upload the data you generated.

check this out: https://drive.google.com/file/d/1UtVXBPOiLnczQCdM2-0WouS3zRL8ldzw/view?usp=sharing

I re-run the scannet semantic segmentation using the weights pre-trained before code refactoring and got 73.8, see the log: ddp_main.log


Key-Value arguments

Declarative commands should have a key-value argument type introduced.
This key-value will always be optional.
Example implementation
val player by username()
val after by keyValueArgument<Date>()
val order by keyValueArgument<OrderByEnum>()

("history" / player) {
    + after // Register the after argument (optonal, but will show in usage display)
    + order // Alternatively call .withKeyValue(order) for java

    runs<CommandSender> {
        val records = Database.queryHistory(player)
            .recordsAfterDate(after())
            .orderBy(order())
            .get()

        if (records.isEmpty)
            return@runs reply(!"&cThat user has no records.")

        for (record in records) {
            reply(!record)
        }
    }
} register this

This example command would be invoked like this:
/history MattMX --after 13/06/2024 --order date_asc

The argument type's format should be relatively customizable.
/history MattMX -after:13/06/2024 -order:date_asc

These arguments should have permissions requirements for whomever executes them.
val max_results by keyValueArgument<Int>()

// `value` is the supplied value as an Int at invocation.
max_results requires { sender.getHighestPermissionLevel("history.max_results") >= value }
max_results permission { sender.reply(!"&cYou can't query that many max results!") }
max_resutls default 10

// ...


chore(main): release 0.1.0

:robot: I have created a release beep boop
0.1.0 (2024-03-24)
Features

finish forms implementation (#24) (70221b5)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/commonhorizoncommun/design-system/releases/tag/v0.1.0 :sunflower:


ControlPath directories not being created

When SSH'ing to new addresses, the ControlPath is not being created:
$ ssh <IP_ADDRESS>/region
unix_listener: cannot bind to path /tmp/bastion-<IP_ADDRESS>/region22user.25gMzAj6vme04YH8: No such file or directory

If I create the directory first and attempt again, it succeeds.
$ mkdir /tmp/bastion-<IP_ADDRESS> && ssh <IP_ADDRESS>/region

Have the same issue, please fix this.

one workaround is us %C for %h

%C    Hash of %l%h%p%r.

  controlpath<EMAIL_ADDRESS>


FeatureRequest: reduce live grep (buffer variant) filename

https://github.com/linrongbin16/fzfx.nvim/discussions/435

hi @damanis, sorry for being so late, I submit #620  to improve this feature.

hi @damanis, I had add FzfxBufLiveGrep command for a No Filename live grep on current buffer in #622 . Please pull main branch and try!

Hi @linrongbin16
This configuration works.
  { '<leader>xs', '<cmd>FzfxBufLiveGrep args<cr>' },
  { '<leader><Leader>xs', '<cmd>FzfxBufLiveGrep cword<cr>' },

P.S. I'm not sure it is right idea use args and cword instead of buf_args and buf_cword. Unification should be more correct.

Hi @damanis, The command itself has Buf, no need to add it in sub commands.


Create readme for Footer

How to create a Readme for Footer ?

Copy each component code and paste it in Tailwind Playground
Take a screenshot of that. (Make sure to have a proper aspect ratio. 16:9 will be good) and add it to the readme in the table format
Make sure to enclose the screenshot under anchor tag so that one can just choose the footer and after clicking that image will be redirected to the code of that component.
NOTE:- Make sure each component screenshot is of equal size so that it fits in the layout.

For Reference you can see Button Readme

Please assign me @Rajdip019


1.0.0 rc

Release PR
Interested parties
@cvicary

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
141

Relevant Lines:
143

💛  - Coveralls


Make button border style configurable

Short description of what this resolves:
Makes it possible to configure button style variables $button-default-border and $button-default-active-border from a user sass file.
Just like all other ionic sass variables.
Changes proposed in this pull request:
added !default flag to $button-default-border and $button-default-active-border
Ionic Version: 1.3.1
Related to: #5576

Thanks @andischerer!

Thanks for merging in.


feat(application integration): Add example for creating auth configs

Description
Fixes #
Note: If you are not associated with Google, open an issue for discussion before submitting a pull request.
Checklist
Readiness

[ *] Yes, merge this PR after it is approved
[ ] No, don't merge this PR after it is approved

Style

[ *] My sample follows the rules described for Terraform in the Effective Samples style guide
[* ] My sample follows the other requirements and best practices in the Contributing
guide

Testing

[* ] I have performed tests described in the Contributing guide:

[* ] Tests pass: terraform apply
[ *] Lint pass: terraform fmt check

Intended location

[* ] Yes, this sample will be (or already is) included on cloud.google.com
Location(s): https://cloud.google.com/application-integration/docs/configure-authentication-profiles#createAuthProfile

[ ] No, this sample won't be included on cloud.google.com
Reason:

API enablement

[ ] If the sample needs an API enabled to pass testing, I have added the service to the Test setup file

Review

[ *] If this sample adds a new directory, I have added codeowners to the CODEOWNERS file

Created this new PR as the old one had Lint errors. This new PR also has the same error so closing this one and focussing on pr-658


Formatting long if/else chains

We don't have a switch or match statement yet, so it's natural to emulate it with long if/else chains.
But prettier plugin doesn't format it well (i.e. it never tries to break if/else statements). In the following example, line breaks are inserted only because there are x == N expressions.

https://www.squiggle-language.com/playground?v=0.8.5#code=eNqrVkpJTUsszSlxzk9JVbJSqlCwVTCOyYvJy0xTALJtFQwVSjJS8xRilHLy89IVEERZYk5pqoJhjJJCak5xqgJUeUyegoIRXh1GWHQY49VhDNMRo%2BTvHxAco6RUCwDZcDn6

I've been running into this. Switch statements might be a preferable thing to prioritize, not sure.

Here's one that's done poorly:
https://squigglehub.org/models/ozziegooen/helpers


GH-3156: Remove inmem global state

Closes #3156
This PR removes InMemoryGlobalState and related structs such as InMemoryWasmTestBuilder. In tests, we use the LMDB database set up in $TMPDIR by default, which gets wiped out after a test finishes. It defaults to /tmp or similar, depending on your system configuration.

bors r+

bors r-

bors r+


Docs:  Update EKS GSG to clarify deployment in ENI vs. overlay mode

Signed-off-by: Dan Wendlandt<EMAIL_ADDRESS>

Coverage increased (+0.01%) to 46.846% when pulling 13ce932eb3480a9450a6410cd66bc0aa94be0191 on danwent:eks-overlay-note into 7bb9ed6af20fb58bfcdc4ae07996c6764dfb3ca2 on cilium:master.


Make Cli.getVersion() public

At org.asteriskjava.fastagi.DefaultAgiServer.Cli
To be able to retrieve the version string.
Also better if you can add an static function for the same.

For what reason?

To be able to retrieve the version string.


Vimeo90K triplet test dataset performance issue

Hi,
I am impressed with your new video frame interpolation paper.
When I tested, I got 32.59dB in vimeo90K triplet test set.
According to your Middleburry.py in dataset directory, I fixed VimeoSepTuplet class to VimeoTriplet class like below.
What is the problem in my fixed code?
I am wondering if I could get custom triplet interpolation code which takes two input frames and yields an intermediate frame.
    class VimeoTriplet(Dataset):
        def __init__(self, data_root):
            self.data_root = data_root
            self.image_root = os.path.join(self.data_root, 'sequences')

            test_fn = os.path.join(self.data_root, 'tri_testlist.txt')

            with open(test_fn, 'r') as txt:
                self.seq_list = [line.strip() for line in txt]

        def __getitem__(self, index):
            im1 = Image.open('%s/%s/im1.png'%(self.image_root,self.seq_list[index])).convert('RGB')
            gt = Image.open('%s/%s/im2.png'%(self.image_root,self.seq_list[index])).convert('RGB')
            im3 = Image.open('%s/%s/im3.png'%(self.image_root,self.seq_list[index])).convert('RGB')

            im1, gt, im3 = map(to_tensor, (im1,gt,im3))

            return [im1, im1, im3, im3], [gt]

        def __len__(self):
            return len(self.seq_list)

Your code looks alright. FLAVR is designed (and trained) to take multiple frames from video as input and render the output video with higher frame rate. As such, duplicating input frames is suboptimal as it does not reflect the true motion characteristics in the video, hence the performance with duplicating triplets will be low.

I understand why the suboptimal results appear when duplicating input frames.
Since FLAVR takes more than 4 input frames, its performance seems get large gain compared to other methods.
Isn't it unfair compared to other video interpolation methods that use 2 frames as input?

In the paper, we also show comparisons with QVI which takes 4 input frames.

Multi-frame interpolation algorithms (SuperSlomo, QVI, EQVI, FLAVR) and single-frame interpolation algorithms (DAIN, CAIN, SoftSplat) are usually compared on different benchmarks. FLAVR has made some efforts to unify these two types of algorithms.

@hzwer Yes, that's is right. we indeed make an attempt to unify benchmarks across all the prior works which work in very different settings.


Improve API docs for List.of, List.from

Forking this from https://github.com/dart-lang/site-www/issues/736.
Current API descriptions for List.from and List.of aren't sound enough to get the semantic difference between them and their expected use-cases. Please see the discussion starting from this comment.
/cc @munificent

Agreed, I'm reading the docs and I have NO IDEA what to use, and why they both exist.

This also applies to Map.of and Map.from.

An in-depth explanation of the difference is here: https://github.com/dart-lang/sdk/issues/45840#issuecomment-827497363.


enyo.requestAnimationFrame() not documented in the API docs

enyo.cancelRequestAnimationFrame() is, but there is no description.

Forgot the auto close with the commit message :(
Fixed in 7b198b59d65f8553dda683fb674c65413a7fc135


Added URLs

added Imgur search, Flickr Hivemind and Ghiro Forensics

@mrpnkt would you mind refreshing your branch?

Closing PR.  Sites are in main branch already.  Would welcome any future PRs or suggestions!


Support for DNS 8 Live

Just for info, a DNS 8 live seems to be similar, but slightly different unfortunately. It's AJAX polling (of ajdnsinfo.cgx as a POST which may have HTTP Basic Auth) rather than websockets, but the data seems to be pretty similar (different root node):
<dns8>
    <chan idx="0" bgn="0" end="0">
        <activ>-16.0 -16.0</activ>
        <power>-80 -80</power>
        <level dB="-80.000000"/>
        <atten dB="-16.000000"/>
        <dns learn="0" on="1" dsp="1"/>
    </chan>
    <chan idx="1" bgn="1" end="1">
        <activ>-17.2 -17.2</activ>
        <power>-80 -80</power>
        <level dB="-80.000000"/>
        <atten dB="-17.157894"/>
        <dns learn="0" on="1" dsp="1"/>
    </chan>
    <chan idx="2" bgn="2" end="2">
        <activ>-16.0 -16.0</activ>
        <power>-80 -80</power>
        <level dB="-80.000000"/>
        <atten dB="-16.000000"/>
        <dns learn="0" on="1" dsp="1"/>
    </chan>
    <chan idx="3" bgn="3" end="3">
        <activ>-16.0 -16.0</activ>
        <power>-80 -80</power>
        <level dB="-80.000000"/>
        <atten dB="-16.000000"/>
        <dns learn="0" on="1" dsp="1"/>
    </chan>
    <chan idx="4" bgn="4" end="4">
        <activ>-16.0 -16.0</activ>
        <power>-80 -80</power>
        <level dB="-80.000000"/>
        <atten dB="-16.000000"/>
        <dns learn="0" on="1" dsp="1"/>
    </chan>
    <chan idx="5" bgn="5" end="5">
        <activ>-16.6 -16.6</activ>
        <power>-80 -80</power>
        <level dB="-80.000000"/>
        <atten dB="-16.600002"/>
        <dns learn="0" on="1" dsp="1"/>
    </chan>
    <chan idx="6" bgn="6" end="6">
        <activ>-16.0 -16.0</activ>
        <power>-80 -80</power>
        <level dB="-80.000000"/>
        <atten dB="-16.000000"/>
        <dns learn="0" on="1" dsp="1"/>
    </chan>
    <chan idx="7" bgn="7" end="7">
        <activ>-16.0 -16.0</activ>
        <power>-80 -80</power>
        <level dB="-80.000000"/>
        <atten dB="-16.000000"/>
        <dns learn="0" on="1" dsp="1"/>
    </chan>
    <group idx="0" bgn="0" end="0">
        <dns dsp="1" on="1" learn="0"/>
        <activ>-16.0 -16.0</activ>
        <power>-80 -80</power>
        <level dB="-80.000000"/>
        <atten dB="-16.000000"/>
        <band idx="0">
            <activ>-16.0 -14.9</activ>
            <power>-80 -80</power>
            <level dB="-80.000000"/>
            <atten dB="-16.000000"/>
        </band>
        <band idx="1">
            <activ>-16.0 -16.0</activ>
            <power>-80 -80</power>
            <level dB="-80.000000"/>
            <atten dB="-16.000000"/>
        </band>
        <band idx="2">
            <activ>-16.0 -16.0</activ>
            <power>-80 -80</power>
            <level dB="-80.000000"/>
            <atten dB="-16.000000"/>
        </band>
        <band idx="3">
            <activ>-16.0 -16.0</activ>
            <power>-80 -80</power>
            <level dB="-80.000000"/>
            <atten dB="-16.000000"/>
        </band>
        <band idx="4">
            <activ>-16.0 -16.0</activ>
            <power>-80 -80</power>
            <level dB="-80.000000"/>
            <atten dB="-16.000000"/>
        </band>
        <band idx="5">
            <activ>-16.0 -14.9</activ>
            <power>-80 -80</power>
            <level dB="-80.000000"/>
            <atten dB="-16.000000"/>
        </band>
    </group>
    <global on="1" learn="0"/>
</dns8>

That's interesting, I have an old email from cedar where they confirmed the dns 8D used websockets (which was already obvious from looking at the traffic) and seemed to indicate the DNS 8 Live did too, with no further detail.
Without a common transport protocol would it make much sense to keep it as a single module, rather than forking and adapting?

It addition to the differing root node there are fewer global properties returned.
I was crossing my fingers that the only difference would be the root node name, but that was fairly hopeful.

@peternewman  is this something you are interested in creating a PR for? With the differing underlying transport I am disinclined to add support 'on spec' without being able to test it. Futhermore I guess, because of that change I am on the fence regarding if this should even be added to this module, or if it should be forked and have the transport layer replaced in a new module. Thoughts?


net: l2: ethernet: pending ARP queries lead to dropped net_pkt instances

Describe the bug
If ethernet_ll_prepare_on_ipv4 fails, the struct net_pkt provided to ethernet_send is silently dropped, not freed.
https://github.com/zephyrproject-rtos/zephyr/blob/c211cb347e0af0a4931e0e7af3d93577bcc7af8f/subsys/net/l2/ethernet/ethernet.c#L634-L637
https://github.com/zephyrproject-rtos/zephyr/blob/c211cb347e0af0a4931e0e7af3d93577bcc7af8f/subsys/net/l2/ethernet/ethernet.c#L724-L725
ethernet_ll_prepare_on_ipv4 fails when net_arp_prepare fails, which in turn occurs whenever there is already a pending ARP request for an address.
https://github.com/zephyrproject-rtos/zephyr/blob/c211cb347e0af0a4931e0e7af3d93577bcc7af8f/subsys/net/l2/ethernet/arp.c#L404-L413
Impact
All net context buffers are eventually consumed.
Environment (please complete the following information):

Zephyr v3.6

I believe I have misunderstood how this software is supposed to work.
ARP failures queue the packet for later transmission, and therefore should not be dropped.
Root cause of my issue appears to be an excessive time for the ARP response, which made it look like the bufferes were being dropped.


Add Image to Excel

I want to add an image.jpg to excel cell but can not find how to do it, any solutions?
The desired result is this one:

Any solution ?

Any solution ?


[installation] protozero compilation error

This may be better reported upstream..Not sure. Sorry if this is not the right place.
Installing pyosmium I run into a compiler error when compiling protozero:
protozero found in 'protozero-1.6.3'.
x86_64-linux-gnu-g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
error: Setup script exited with error: command 'x86_64-linux-gnu-g++' failed with exit status 4

My best guess is this is a memory constraint related error.. This is on a Linode 2G with (you guessed it) 2GB of RAM.

From the error message in the other issue you created you can see that you don't have enough memory. Pyosmium and libosmium have a lot of templates so this is not entirely unexpected. Cross-compile on a different machine.


Title updated to be more clear

Prep was replaced with Preparation to clarify the context of the title

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Please check

I'm closing this PR since it changes the headings of one of our curriculum's main sections and this change would have to be made at many other locations to reflect the one you're making here.
If you feel like this needs to remain open, please add further clarification and reopen the PR.


[meshery-linkerd] updated go.mod version to 1.17 and updated dependencies

Signed-off-by: Jared Byers<EMAIL_ADDRESS>Description
The static checks action is failing. This change is to try and resolve this issue and unblock other PRs from being merged.
I changed the go version to 1.17 in go.mod to match the version of go used when compiling. Ran go mod tidy to update dependencies. Aside from changing the go version, the remaining changes are all generated during go mod tidy.
Notes for Reviewers
I ran staticcheck locally and did not see any errors, so hopefully this fixes the issue.
Signed commits

[X] Yes, I signed my commits.

The check is still failing with these changes. 😞 @Aisuko, any idea how to fix this?

The check is still failing with these changes. 😞 @Aisuko, any idea how to fix this?

Thakns for the contributing @jbyers19. In fact, we hit same issue here, let's merge that PR first https://github.com/meshery/meshery-linkerd/pull/256
So, the error may not related to your PR.

@jbyers19 Thanks.


Fix broken emoji (Safari, Firefox)

Details

This PR fixes two issues -

Broken emoji ui at default skin tone selector (safari)

Black outlined emoji in Firefox (ubuntu/windows)

Fixed Issues

$ https://github.com/Expensify/App/issues/9123
Tests

Open Expensify at Safari
Open emoji picker menu
Select a skin tone (other than default yellow)
Verify the hand emoji isn't broken

Open Expensify at FireFox (windows/Ubuntu)
Open emoji picker menu
Verify the hand emoji is colored (not black and white)

[x] Verify that no errors appear in the JS console

PR Review Checklist

Contributor (PR Author) Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn’t already exist
[ ] The style can’t be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

PR Reviewer Checklist

[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn’t already exist
[ ] The style can’t be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

QA Steps

Open Expensify at Safari
Open emoji picker menu
Select a skin tone (other than default yellow)
Verify the hand emoji isn't broken

Open Expensify at FireFox (windows/Ubuntu)
Open emoji picker menu
Verify the hand emoji is colored (not black and white)

[x] Verify that no errors appear in the JS console
[x] Verify that no errors appear in the JS console

Screenshots

Web

Mobile Web

Desktop

iOS

Android

Made the requested changes.
cc: @parasharrajat

Will look into it.

We can see this issue on composer too and to fix that we will have to use the fallback fonts.
For the messages we can add the font here - https://github.com/Expensify/App/blob/eb54f232638d6a41db9170de591506d464941850/src/pages/home/report/ReportActionItemFragment.js#L109
And for composer

How are you passing the fallback fonts?

@parasharrajat, I tried using  ${fontFamily.GTA}, ${fontFamily.EMOJI_TEXT_FONT} on line 136
https://github.com/Expensify/App/blob/eb54f232638d6a41db9170de591506d464941850/src/styles/styles.js#L133-L136
but it didn't work. I also tried applying only fontFamily.EMOJI_TEXT_FONT ( contains two fonts ) and it also failed.
It only works when only one font is used.

Which platform has issues? Could you please share some videos of where it worked including the fix and before the fix?

Asked for the help on slack. Here's the thread.

A few little comments, overall looking fantastic

Will make the changes in 2-3 days.
Visiting family :)

@thesahindia thanks for making the requested changes 7 days ago, would you please tag us when this is ready for review again so we don't delay so long? :D
Also since it has been 7 days since your last commit, would you please merge main & test again to make sure there's no regressions?

Done 🚀
cc: @parasharrajat @Beamanator

@Beamanator It's ready for the review now.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

Uhh not emergency, all tests were passing 🤔 I don't believe there were any failing tests when this was merged

🚀 Deployed to staging by @Beamanator in version: 1.1.90-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅