Error in can-compile-brunch - "You probably need to execute npm install ..."

I am installing a previously working brunch project on a new machine, I'm running into an error in the can-compile-brunch module:
➜  kiosk git:(lib-updates) ✗ brunch watch
/usr/local/lib/node_modules/brunch/lib/watch.js:447
      throw new Error("You probably need to execute `npm install` to insta
            ^
Error: You probably need to execute `npm install` to install brunch plugins. SyntaxError:     /Users/nina/Documents/Sites/MyGreatKiosk/kiosk/node_modules/can-compile-brunch/node_modules/can-    compile/node_modules/jsdom/lib/jsdom/level1/core.js:432
  set nodeName() { throw new core.DOMException();},
               ^
Unexpected token )
  at /usr/local/lib/node_modules/brunch/lib/watch.js:447:17
  at Array.map (native)
  at loadDeps (/usr/local/lib/node_modules/brunch/lib/watch.js:432:8)
  at loadPackages (/usr/local/lib/node_modules/brunch/lib/watch.js:452:13)
  at /usr/local/lib/node_modules/brunch/lib/watch.js:472:17
  at /usr/local/lib/node_modules/brunch/lib/helpers.js:604:12
  at /usr/local/lib/node_modules/brunch/lib/helpers.js:565:16
  at /usr/local/lib/node_modules/brunch/lib/helpers.js:511:12
  at /usr/local/lib/node_modules/brunch/node_modules/read-components/index.js:263:16
  at /usr/local/lib/node_modules/brunch/node_modules/read-components/index.js:72:14
  at FSReqWrap.cb [as oncomplete] (fs.js:226:19)

It appears that this is thrown by the jsdom library in can-compile-brunch.
My library versions are:
osx = 10.9.5
brunch = 1.8.5
npm = 2.12.1
The contents of my package.json
{
  "author": "Me",
  "name": "mgk",
  "description": "My Great Kiosk",
  "version": "0.0.1",
  "homepage": "",
  "private": true,
  "repository": {
    "type": "git",
    "url": "https://github.com/me/mgk"
  },
  "scripts": {
    "start": "brunch watch --server",
    "test": "brunch test"
  },
  "dependencies": {
    "auto-reload-brunch": ">= 1.0 < 1.8",
    "can-compile-brunch": "^0.1.1",
    "clean-css-brunch": "^1.7.1",
    "coffee-script-brunch": "^1.8.1",
    "compass": "^0.1.0",
    "compass-brunch": "0.0.2",
    "css-brunch": "^1.7.0",
    "eco-brunch": "^1.7.5",
    "javascript-brunch": "^1.7.1",
    "sass-brunch": "^1.8.8",
    "stylus-brunch": "^1.8.1",
    "uglify-js-brunch": "^1.7.7"
  }
}

To install the application, I ran the following commands:
cd kiosk
sudo npm i
sudo npm install -g brunch
sudo gem install sass
sudo gem install compass

After receiving the error, I tried running 'npm install' and 'sudo npm install' as suggested, but received the same error.
Can you let me know if this is compatible with a different node or brunch version? Or is there something about this configuration that is incorrect to you can see?
Thanks!

There was a problem with the can-compile-brunch version, I made a minor fix to the npm module and updated the package.json with the new version, It should be error free now.
The new can-compile-brunch version is 0.1.2
I am using:
node 0.12.4
npm 2.10.1
brunch 1.8.3
If you run into more problems with the module, you can remove the can-compile-brunch dependency, as it's just a wrapper around can-compile, the only difference is that it does not integrate with brunch by default.

Thanks for your help!


updating IONIC version to v7 for formly/ionic to work with esbuild.

Formly currently supports ionic v6 and I wanted to know what is the timeline for updating it to ionic v7
Starting Ionic v7 they have started to support angular v17 and angular latest shinny builder which esbuild and vite, so if formly migrates to ionic v6 then projects using ionic v7 and above can successfully migrate to esbuild.

Duplicate of #3902 #3919
We'll start first on Angular upgrade which is our top priority for now, then next UI IONIC...


I cannot install extension of VScode

when i click on extension its says "We cannot connect to the extensions marketplace at this time please try again later".
How can i solve this issue for this reason i cannot install my important extension and my internet connection is fully fine .

Same here.
Cannot connect to market.
video
https://youtu.be/njbbeECNbi8
Visual Studio Code 1.46.1
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04 LTS
Release:	20.04
Codename:	focal

Please follow these steps

Help -> Toggle Developer Tools -> Network
Then check for any network failed requests while browsing and installing the extensions if found all requests fails then its probably a proxy or DNS issue at your end.
To confirm its a DNS issue check if you can access this page https://ms-python.gallerycdn.vsassets.io/extensions/ms-python/python/2019.8.29288/1565127378610/Microsoft.VisualStudio.Services.Icons.Default, if you cannot please try configuring your DNS like pointing to <IP_ADDRESS> as suggested here? https://<IP_ADDRESS>/dns/. Otherwise please contact your network administrator.
If it is not a network issue, please share the logs from the following locations

Help -> Toggle Developer Tools -> Console
View -> Command Pallette... -> Toggle Shared Process -> Console
View -> Open View… -> Log (Shared)
View -> Open View… -> Log (Window)

Thanks a lot for the help.


Examples of spawning Informer tasks

I just upgraded an "old" kube-rs app to use the latest futures goodness. It was quite a learning curve to go from thread::spawn() to futures spawn. Perhaps some examples will help the next soul?
My code manages ingress objects and tls secrets to go along with them. I scan on boot, looking for expired certs. I also start an informer so new ingresses get certs ASAP.
Spawning a task for periodic full sweep of ingresses:
# buddy is a wrapper around kube client
let full_sweep_loop = interval_at(
    Instant::now().add(Duration::from_secs(60)),
    Duration::from_secs(60 * 60 * 12),
)
# must move the client wrapper in to the future so it can be yielded to each closure invocation
.zip(repeat(buddy.clone()))
.for_each(async move |(_, x)| {
    let res = x.sweep_all_ingresses().await;
    if res.is_err() {
        error!("full poll error: {:?}", res.err().unwrap());
    }
});

let full_poll_task = tokio::spawn(full_sweep_loop);

spawning a task for the informer to work:
let informer_loop =
    tokio::spawn(async move { buddy.ingress_informer_poller().await.unwrap() });

where ingress_informer_poller looks like:
    pub async fn ingress_informer_poller(&self) -> Result<(), Error> {
        let mut stream = self.kube_client.ingress_informer.poll().await?.boxed();

        while let Ok(Some(evt)) = stream.try_next().await {
            let ing = match evt {
                WatchEvent::Added(ing) => ing,
                WatchEvent::Modified(ing) => ing,
                WatchEvent::Deleted(ing) => {
                    trace!(
                        "ingress deleted: {:#?}",
                        ing.metadata.as_ref().unwrap().name
                    );
                    continue;
                }
                WatchEvent::Error(ErrorResponse {
                    status,
                    message,
                    code,
                    ..
                }) => {
                    info!("status: {}\nmessage: {}\ncode: {}", status, message, code);
                    unimplemented!("TODO");
                }
            };
            if self.kube_client.is_certbuddy_compatible(&ing) {
                self.handle_ingress(&ing).await?;
            }
        }
        Ok(())
    }

then we need to join the two tasks so they are held and continue to be driven by tokio:
let (res1, res2) = tokio::join!(full_poll_task, informer_loop);
res1.unwrap();
res2.unwrap();

Usually you'd want to join (or try_join) the futures directly, rather than spawning them. That way, you retain error handling and the ability to cancel them.

Informer now returns one event for every object by default on boot (except for deleted ones), that might make it easier.
But if you actually need periodic sweeps of external resources (because the owning kube object got deleted and the controller booted), then hopefully the WIP Controller<T> from #184 will provide better examples on how to do this.

As this issue is quite old and examples have received quite a lot of futures based revamping (as well as controller-rs + version-rs being added to examples in readme). So feel happy closing this now after #299
But for some closure for this particular setup in the new kube-runtime context:
This particular example herein now could be done with:

reflector on Api<Ingress>, which then takes the reflector's reader into some periodic sweep task (very much like most reflector examples).
watching try_flatten_applied on the reflector stream and calling a handle_ingress_apply fn on every watcher event that produces

The certificate management example seems like a common use case. An example that does this in some basic form would be very helpful!

I have forgotten what I was trying to do with this, time to close the ticket!


Alternate proposal for pattern B of AddPersonalBankAccount

Details
Proposing an alternate solution for @ctkochan22 's PR.
The main change is that we now add a pendingAction to a new item in bankAccountList (instead of personalBankAccount).
Fixed Issues
Part of https://github.com/Expensify/Expensify/issues/214739
Tests
Test adding a personal bank account via Plaid Fidelity
1. Online test:
Enter a wrong password and submit. An error should appear on the form:

Enter a good password. You should see a success view:

Click on Continue. You should see your bank account on the list of payment methods:

Delete it.

2. Offline test:
Start Connecting to Plaid online. Once you see the plaid bank accounts selector, go offline.
Submit a wrong password.
You should get redirected to the payments page, with your bank account shown as pending:

Then when going back online, you should see a red dot next to your bank account:

As well as in 2 other places (avatar and payments menu):

Clicking on your bank account from the payments page.
It should bring you back to your form, with an error message.

Go back offline and submit a good password.
You should be redirected to the payments page and see your bank account as pending:

Go back online, you should see it as normal:

PR Review Checklist

PR Author Checklist

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

[ ] I added steps for local testing in the Tests section
[ ] 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)
[ ] 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 included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed 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 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)
[ ] 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 followed the guidelines as stated in the Review Guidelines
[ ] 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)
[ ] 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)

[ ] 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.
[ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] 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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] 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 other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] 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)

[ ] 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.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

QA Steps

[ ] Verify that no errors appear in the JS console

Screenshots

Web
Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

This looks great. I wish I thought of it hehe

I kind of want to merge? Once we finalize on a UX, I can take over from there?


Additional dependencies

Discussed in https://github.com/cdalvaro/docker-salt-master/discussions/233

Originally posted by abhi1693 March  7, 2024
What is the best way to install additional dependencies into the container so that it persists across reboots?
As requested by @abhi1693, it's a good enhancement for this project to add support for additional dependencies.
The main idea is to be able to install python packages when the container starts before running salt-master so modules that require extra packages can fulfill their requirements.
Two approaches can be taken:

Install dependencies providing a requirements.txt file
Specify python packages using an environment variable

Both approaches can be implemented. Since one method can be more suitable than the other depending each configuration.
I think we can use the environment variables PYTHON_PACKAGES_FILE and PYTHON_PACKAGES to specify the requirements.txt file and a list of packages, respectively.
Allowing both systems at the same time can be confusing, so the first one will take priority over the second one. So, when the env variable PYTHON_PACKAGES_FILE is defined, PYTHON_PACKAGES will be ignored.
PYTHON_PACKAGES will be directly forwarded to the pip install command. So, as long it respects pip install format, all pip functionality will be supported.

I think I would prefer requirements.txt. So, if I understand correctly, the entrypoint will read this file and invoke salt-pip install <pkg> on startup? Salt packages its own python if I'm not wrong so running salt-pip seems more preferable than pip install to me.

I think I would prefer requirements.txt. So, if I understand correctly, the entrypoint will read this file and invoke salt-pip install <pkg> on startup? Salt packages its own python if I'm not wrong so running salt-pip seems more preferable than pip install to me.

🎯 That's it! I think I'll have ready tomorrow.


Migrate kafka-cruise-control

Migrate kafka-cruise-control to itself repository
Clean references from this repository

Migrated on https://github.com/devops-ia/helm-charts/commit/9ba94adfa2d628740c8bc9de55f08a3a7ee8dc76


Not Signed

When compiling my solution I get the following error as the assembly is not signed.
CSC : error CS8002: Referenced assembly 'Tanneryd.BulkOperations.EF6, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' does not have a strong name.

I have no current plans to sign the assemblies. If you need signed assemblies in your project just download the code, add it to your project and sign it yourself.


Unused sampling variable, due to assigning data to self in dac_audio.c

https://github.com/pine64/bl_iot_sdk/blob/eba302dc8550e01d89f8510ed8ca470d766d4b88/customer_app/sdk_app_dac/sdk_app_dac/dac_audio.c#L211-L213

I'll fix that. Stand by.

https://github.com/pine64/bl_iot_sdk/pull/47 cleans this up.
I hopped on it because this was code I'd stared at yesterday.


[FEAT]: Create Controller method to return all replies of a Comment

Is your feature request related to a problem? Please describe.
This feature will return all replies under a comment and return as json
Describe the solution you'd like
A controller method to implement the endpoint /comments/{commentId}/replies
Describe alternatives you've considered
Additional context

can i work on this

i am working on it already
@The-indigo

Create another issue, there are works to be done


[bug] ZodError: Expected string, received number

describe the bug
I've set up the Obsidian Time Logs pipe and confirmed that it's working by seeing the time entries appearing in Obsidian, but when I look at the logs, it appears that there is an error occurring. (see below)
system info

os: macos <IP_ADDRESS>
screenpipe version: 0.17.5 (20241214.235553)

additional context
Here is what I see in the logs:
2024-12-16T05:08:07.261578Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] error in work log pipeline: 14 |   constructor({
2024-12-16T05:08:07.261621Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] 15 |     name: name14,
2024-12-16T05:08:07.261629Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] 16 |     message,
2024-12-16T05:08:07.261636Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] 17 |     cause
2024-12-16T05:08:07.261642Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] 18 |   }) {
2024-12-16T05:08:07.261650Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] 19 |     super(message);
2024-12-16T05:08:07.261656Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]          ^
2024-12-16T05:08:07.261913Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] AI_TypeValidationError: Type validation failed: Value: {"title":"Automated Monitoring of Screenpipe Activity","description":"Conducted automated monitoring of screenpipe activity, including pipe execution and action server listening.","tags":["#automatedmonitoring","#mediar-ai","#screenpipe"],"timeSpent":5}.
2024-12-16T05:08:07.261926Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] Error message: [
2024-12-16T05:08:07.261932Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]   {
2024-12-16T05:08:07.261940Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "code": "invalid_type",
2024-12-16T05:08:07.261948Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "expected": "string",
2024-12-16T05:08:07.261954Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "received": "number",
2024-12-16T05:08:07.261960Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "path": [
2024-12-16T05:08:07.261966Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       "timeSpent"
2024-12-16T05:08:07.261972Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     ],
2024-12-16T05:08:07.261978Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "message": "Expected string, received number"
2024-12-16T05:08:07.262453Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]   }
2024-12-16T05:08:07.262460Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] ]
2024-12-16T05:08:07.262468Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       at new _AISDKError (/Users/nateaune/.screenpipe/pipes/pipe-obsidian-time-logs/node_modules/@ai-sdk/provider/dist/index.mjs:19:5)
2024-12-16T05:08:07.262642Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       at new _TypeValidationError (/Users/nateaune/.screenpipe/pipes/pipe-obsidian-time-logs/node_modules/@ai-sdk/provider/dist/index.mjs:368:1)
2024-12-16T05:08:07.262651Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       at wrap (/Users/nateaune/.screenpipe/pipes/pipe-obsidian-time-logs/node_modules/@ai-sdk/provider/dist/index.mjs:324:90)
2024-12-16T05:08:07.263048Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       at safeValidateTypes (/Users/nateaune/.screenpipe/pipes/pipe-obsidian-time-logs/node_modules/@ai-sdk/provider-utils/dist/index.mjs:306:3)
2024-12-16T05:08:07.263055Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       at /Users/nateaune/.screenpipe/pipes/pipe-obsidian-time-logs/node_modules/ai/dist/index.mjs:2838:47
2024-12-16T05:08:07.263059Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       at processTicksAndRejections (native:7:39)
2024-12-16T05:08:07.263062Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]
2024-12-16T05:08:07.263065Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] 159 |     const json = JSON.stringify(obj, null, 2);
2024-12-16T05:08:07.263068Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] 160 |     return json.replace(/"([^"]+)":/g, "$1:");
2024-12-16T05:08:07.263178Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] 161 | };
2024-12-16T05:08:07.263183Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] 162 | class ZodError extends Error {
2024-12-16T05:08:07.263187Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] 163 |     constructor(issues) {
2024-12-16T05:08:07.263190Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] 164 |         super();
2024-12-16T05:08:07.263193Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]               ^
2024-12-16T05:08:07.263196Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] ZodError: [
2024-12-16T05:08:07.263212Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]   {
2024-12-16T05:08:07.263215Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "code": "invalid_type",
2024-12-16T05:08:07.263217Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "expected": "string",
2024-12-16T05:08:07.263220Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "received": "number",
2024-12-16T05:08:07.263222Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "path": [
2024-12-16T05:08:07.263224Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       "timeSpent"
2024-12-16T05:08:07.263226Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     ],
2024-12-16T05:08:07.263229Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "message": "Expected string, received number"
2024-12-16T05:08:07.263292Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]   }
2024-12-16T05:08:07.263308Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] ]
2024-12-16T05:08:07.263316Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]  errors: [
2024-12-16T05:08:07.263323Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]   {
2024-12-16T05:08:07.263332Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "code": "invalid_type",
2024-12-16T05:08:07.263339Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "expected": "string",
2024-12-16T05:08:07.263346Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "received": "number",
2024-12-16T05:08:07.263353Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "path": [
2024-12-16T05:08:07.263359Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       "timeSpent"
2024-12-16T05:08:07.263365Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     ],
2024-12-16T05:08:07.263373Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]     "message": "Expected string, received number"
2024-12-16T05:08:07.263379Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]   }
2024-12-16T05:08:07.263385Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs] ]
2024-12-16T05:08:07.263390Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]
2024-12-16T05:08:07.263397Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       at new ZodError (/Users/nateaune/.screenpipe/pipes/pipe-obsidian-time-logs/node_modules/zod/lib/index.mjs:164:9)
2024-12-16T05:08:07.263405Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       at error (/Users/nateaune/.screenpipe/pipes/pipe-obsidian-time-logs/node_modules/zod/lib/index.mjs:587:31)
2024-12-16T05:08:07.263444Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       at validate (/Users/nateaune/.screenpipe/pipes/pipe-obsidian-time-logs/node_modules/@ai-sdk/ui-utils/dist/index.mjs:1331:98)
2024-12-16T05:08:07.263453Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       at safeValidateTypes (/Users/nateaune/.screenpipe/pipes/pipe-obsidian-time-logs/node_modules/@ai-sdk/provider-utils/dist/index.mjs:228:31)
2024-12-16T05:08:07.263464Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]       at /Users/nateaune/.screenpipe/pipes/pipe-obsidian-time-logs/node_modules/ai/dist/index.mjs:2396:47
2024-12-16T05:08:07.263474Z ERROR screenpipe_core::pipes::pipes: [pipe-obsidian-time-logs]

yes this the reason: https://en.wikipedia.org/wiki/Hallucination_(artificial_intelligence)
just wait the next iteration and it will work, or pick a bigger/better model
it will hallucinate 5-10% of the time depending on the model


Expand DAG usage in QNode

Context:
Use DAG instead of simple queues wherever possible within the qnode module. This PR expands on CircuitGraph functionality added in #295. It refactors the following methods:
Description of the Change:

QNode._op_successors: This will now use CircuitGraph.descendants to determine successors.

QNode._best_method: This will now allow for finite method even if operation has successors, as long as they are not observables. This was also refactored to use CircuitGraph and for readability.

QNode._pd_analytic: This was slightly refactored to accommodate for DAG functionality

QNode._transform_observables: This was moved out of _pd_analytic for readability

QNode.cg was added, and is set inside CircuitGraph.construct. It is populated by an updated graph based on QNode.queue, QNode.ev and QNode.variable_ops.

CircuitGraph.update_node was added to support updating a specific node by index (needs improvement.)

CircuitGraph.get_nodes was added to support retrieving nodes by index.

CircuitGraph.get_ops was updated to use CircuitGraph.get_nodes.

CircuitGraph.observables was added to return an up-to-date observables queue based on the graph.

CircuitGraph.operations was added to return an up-to-date operations queue based on the graph.

CircuitGraph.observable_nodes was added.

CircuitGraph.operation_nodes was added.

CircuitGraph.descendants and CircuitGraph.ancestors were slightly refactored for readability.

Benefits:

Non-Gaussian operations that are successors of parametrized Gaussian operations, but with no successor observables, should now allow analytic gradient computation.

Possible Drawbacks:

Ideally, Gaussian observables that are not successors to any parametrized Gaussian gates should no longer need to be transformed. However, this breaks the existing tests, and needs to be investigated.

Related GitHub Issues: #169

@zzzeid, due to the increased importance of the CircuitGraph class, lets move it out of utils.py (where it is a bit buried) to its own module circuit_graph.py. Please also make an issue regarding any suggested improvements to the CircuitGraph class :slightly_smiling_face:


Ncbi update

The ncbi.py file is now updated to reflect the better implementation from the pubmed-dl repository. Everything works as intended.
A pytest test update is required where the response status code is asserted, here:
https://github.com/PathwayCommons/semantic-search/blob/286b58fa7bd3c31c5323f6e8186c9a849b3a01d0/tests/test_main.py#L34-L39
This is a screenshot of the failed test response:

@Anwesh1 Will you update the base branch from master to develop? Lets keep merging into develop for the time being. I will try to figure out why the test fails

@Anwesh1 This code fails for the following example:
{
        "query": "9887103",
        "documents": ["9887103", "30049242", "22936248"],
        "top_k": 3
}

That is what the test is catching. Just FYI when a test breaks the idea is to dig into why, not assume the test is broken (although it could be).

@JohnGiorgi I see. This would mean that the new ncbi.py file is not handling the case where only the uid is provided right?

@JohnGiorgi  I see, this change to the ncbi file sort of stopped our ability to run the program if only the uid was provided right? Not exactly sure why that is.

@Anwesh1 Looks like it. I would go through the changes in the new code to try and determine where the error lies. Using a debugger and setting breakpoints while making a post request with the data that triggers the error should be helpful.

Hey, @JohnGiorgi I've been trying to find the root cause but I seem to be unable to do so. Can you please tell me where the Entity is checked? So if it is either 200 OK or 422 Unprocessable Entity. I can't seem to find out why it is unable to read it when only the uid is provided.

Can you copy and paste the full error message from your terminal please?

It isn't an error on my terminal. It is an error on Insomnia because the only PMID format is Unprocessable. My terminal looks like this:

Insomnia returns this:

@jvwong's error is because biopython isn't a dependency in setup.py. I added it. @Anwesh1 whenever you add functionality that requires a dependency, remember to add it to the setup.py
@Anwesh1 Based on that error code, I would go looking for any generators in the new ncbi.py code. That is likely where the error is. At some point, we have a generator object that we try to index, e.g. my_generator[3]. I am not sure why this stack trace is not more informative? I would have expected a line number

This looks like the offending code
https://github.com/PathwayCommons/semantic-search/blob/bb98563d6b9816a2ab11f9053743263b8d55b2c6/semantic_search/schemas.py#L32

Oh right, forgot to add that sorry.
As for generators, I think we only have 1, in the uids_to_docs function.

Oh right, you just mentioned that above.

That is definitely the root cause because after changing it, the error description in Insomnia changed to this:

I tried changing list to a dict because stack overflow says that a dictionary is required for mapping but the error looks like this for the dict:

Sorry @JohnGiorgi, I can't seem to find a fix for this issue. Do you think you could possibly help me out tomorrow during or after our call? Thanks


app: init backend/frontend framework and docker compose

For production, you only need to do:
# Make sure you are in the /app/ directory
make

For development, you need to first install dependencies. Make sure you have node and pnpm installed.  Then do:
# Make sure you are in the /app/ directory
make devlock
make devbackend
make devfrontend  # In another terminal

For linting and formatting, do:
# Make sure you are in the /app/ directory
make devlint

There seems to be some issue with ChromaDB. I cannot get the max_age key from the ChromaDB-returned metadata even though in the cleaned dataset it is there (though null). We may need to verify how None, nan, pd.NA behaves in ChromaDB metadata. I doubt this caused the issue.
backend-1   | INFO:     <IP_ADDRESS>:56052 - "GET /chat/6894888983713546240/NCT04402970?query=a HTTP/1.1" 500 Internal Server Error
backend-1   | ERROR:    Exception in ASGI application
backend-1   | Traceback (most recent call last):
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 406, in run_asgi
backend-1   |     result = await app(  # type: ignore[func-returns-value]
backend-1   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
backend-1   |     return await self.app(scope, receive, send)
backend-1   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
backend-1   |     await super().__call__(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/applications.py", line 113, in __call__
backend-1   |     await self.middleware_stack(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in __call__
backend-1   |     raise exc
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__
backend-1   |     await self.app(scope, receive, _send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/middleware/cors.py", line 93, in __call__
backend-1   |     await self.simple_response(scope, receive, send, request_headers=headers)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/middleware/cors.py", line 144, in simple_response
backend-1   |     await self.app(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
backend-1   |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
backend-1   |     raise exc
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
backend-1   |     await app(scope, receive, sender)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__
backend-1   |     await self.middleware_stack(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
backend-1   |     await route.handle(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
backend-1   |     await self.app(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
backend-1   |     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
backend-1   |     raise exc
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
backend-1   |     await app(scope, receive, sender)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
backend-1   |     response = await f(request)
backend-1   |                ^^^^^^^^^^^^^^^^
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
backend-1   |     raw_response = await run_endpoint_function(
backend-1   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
backend-1   |     return await dependant.call(**values)
backend-1   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend-1   |   File "/veritastrial/main.py", line 113, in chat
backend-1   |     metadata = _get_metadata_from_id(CHROMADB_COLLECTION, item_id)
backend-1   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend-1   |   File "/veritastrial/utils.py", line 105, in _get_metadata_from_id
backend-1   |     return _clean_metadata(metadatas[0])
backend-1   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend-1   |   File "/veritastrial/utils.py", line 71, in _clean_metadata
backend-1   |     maxAge=metadata["max_age"],
backend-1   |            ~~~~~~~~^^^^^^^^^^^
backend-1   | KeyError: 'max_age'

There are also errors like this:
backend-1   | INFO:     <IP_ADDRESS>:53052 - "GET /meta/NCT02512419 HTTP/1.1" 500 Internal Server Error
backend-1   | ERROR:    Exception in ASGI application
backend-1   | Traceback (most recent call last):
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 406, in run_asgi
backend-1   |     result = await app(  # type: ignore[func-returns-value]
backend-1   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
backend-1   |     return await self.app(scope, receive, send)
backend-1   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
backend-1   |     await super().__call__(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/applications.py", line 113, in __call__
backend-1   |     await self.middleware_stack(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in __call__
backend-1   |     raise exc
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__
backend-1   |     await self.app(scope, receive, _send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/middleware/cors.py", line 93, in __call__
backend-1   |     await self.simple_response(scope, receive, send, request_headers=headers)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/middleware/cors.py", line 144, in simple_response
backend-1   |     await self.app(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
backend-1   |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
backend-1   |     raise exc
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
backend-1   |     await app(scope, receive, sender)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__
backend-1   |     await self.middleware_stack(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
backend-1   |     await route.handle(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
backend-1   |     await self.app(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
backend-1   |     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
backend-1   |     raise exc
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
backend-1   |     await app(scope, receive, sender)
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
backend-1   |     response = await f(request)
backend-1   |                ^^^^^^^^^^^^^^^^
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/fastapi/routing.py", line 327, in app
backend-1   |     content = await serialize_response(
backend-1   |               ^^^^^^^^^^^^^^^^^^^^^^^^^
backend-1   |   File "/home/veritastrial/.local/share/virtualenvs/veritastrial-kzK3DMfj/lib/python3.11/site-packages/fastapi/routing.py", line 176, in serialize_response
backend-1   |     raise ResponseValidationError(
backend-1   | fastapi.exceptions.ResponseValidationError: 1 validation errors:
backend-1   |   {'type': 'string_type', 'loc': ('response', 'metadata', 'interventions', 2, 'description'), 'msg': 'Input should be a valid string', 'input': None}


Make Entity (de)serializable

Hi,
For a networking game I'd like to use Entity as an identification for players (a player client would send to the server an Entity along other data).
If this is sound, would it be possible to make Entity (de)serializable to be able to send it in network packets ?

In an ECS, in theory, an entity is a virtual value. It does not exist and acts as glue for components. From that perspective, I think using Entity is a bad idea, because you want to send nothing as identification.
In the case of Legion (and other ECS implementations), Entity contains some data. For example the index, which is a linear incremented integer value. Syncing on Entity within Legion means syncing the u32 index, which imho is a bad idea. You'd have to sync the game worlds of all clients, so they use the same index for the same entities which results in the same player object in the game.
I propose the following: Your client registers with the server and the server assigns your player a private token (which allows updating your own data - always remember that users are evil by default). At the same time, every player also gets a public token, which all other clients may use for identification (for example to query a player's status). The client may stay connected or make separate calls, and it can use the given token for identification when sending requests to the server. You can store your private token in your global game storage and add a component for all player objects, which holds the public token for them.

Ok, so say I store some kind of Id in each "player entity". I may receive packets from each client quite often with e.g. commands from the players, along with an Id field.
How do I update the player entities with the data from the clients ? Do I have to do a linear search via a filter for the matching Id ?

This is why legion needs to support component grouping like the EnTT ECS library.  Something like an ID component (I generally go with a UUID if it's a lot of potential entities) really should be in it's own bimap and not packed with the rest of the data.

While waiting for this to happen, what would you suggest to access a given entity in O(1) time ?

How many unique ID's do you expect?  O(1) is hard to get unless you want to allocate an array for all possible values of it or so, which is easy if it's a low amount.  Regardless, an array would work, using an id as the index and the value is the entity ID, keep an ID component on the entity for the reverse mapping and make it immutable.  Keep a 'free list' (queue or so) of deactivated ID's as entities are destroy'd.

So basically I'm using Entity as direct access handle, but via an indirection through an array which index I can serialize.
OK thanks, will do.

FWIW I did the separate array + freelist trick, but that was too much back-and-forth for nothing IMHO. I finally resorted to make Entity serializable via this piece of code:
use legion::entity::Entity;
use serde::{Deserialize, Serialize};
use std::convert::{From, Into};

type EType = u64;

#[derive(Serialize, Deserialize, PartialEq, Debug)]
pub struct Serdent(EType);

impl From<Entity> for Serdent {
    fn from(entity: Entity) -> Self {
        let etype: EType = unsafe { std::mem::transmute(entity) };
        Serdent(etype)
    }
}

impl Into<Entity> for Serdent {
    fn into(self) -> Entity {
        unsafe { std::mem::transmute(self.0) }
    }
}

So I hit some of the same issues trying to implement save states, and while it obviously doesn't make any sense to deserialize entities and use them with the ECS directly, I would like to avoid having to use something like enum MaybeEntity { Id(u32), Entity(legion::Entity) } on every component that refers to another entity. If Entity had a public constructor, I could at least serialize them and deserialize them safely as ids. As it is, I also have to rely on transmute and hope that doesn't break anything.


Update annotations doc with base-url-scheme

Update annotations doc with base-url-scheme

This change is

Coverage remained the same at 44.407% when pulling a22e91b4058ac1810098deb50b49f85c0017f4ac on danielqsj:update-annotation-doc into f0144a1df4bb16a921fbea46d73dea9977a93a4b on kubernetes:master.

/lgtm

@danielqsj thanks!


setupTests.js entry missing after eject

This is how the setupFiles section looks after ejecting:
    "setupFiles": [
      "<rootDir>/config/polyfills.js"
    ],

In previous version:
    "setupFiles": [
      "<rootDir>/config/polyfills.js",
      "<rootDir>/src/setupTests.js"
    ],

Which previous version? Can you clarify which versions you refer to?

I think in v0.4.0 it was working fine Dan.

I checked, and it’s not a bug.
If src/setupTests.js exists when ejecting, it will be included in setupFiles.
Otherwise it will not.
We can’t include it unconditionally because Jest will (rightly) throw an error about missing file.
We could potentially generate it on eject but I don’t think it’s very important.
I made a small tweak: now is uses a relative path instead of an absolute one after ejecting (d279aa038aa40d216f453ac92a90e982f24cb67a). But I believe current behavior is correct.

Could I suggest this being added to the documentation somewhere? Happy to do it if you tell me where. I've just spent the last couple of days bashing my head against the desk wonder why setupTests wasn't running in my ejected app...

Hi @gaearon , I was struggling as @te-chris was for this issue.
I think that including unconditionally isn't the right decision, but writing it in the doc would be really helpful, I made a PR here: https://github.com/facebookincubator/create-react-app/pull/3656
I wasted almost one day :( , then I found this thread


Fix README path for build

Without this, I get the following error:
❯ npm start

><EMAIL_ADDRESS>start
> npm run watch

><EMAIL_ADDRESS>watch
> rollup -c -w

[!] Error: ENOENT: no such file or directory, open 'README.md'
Error: ENOENT: no such file or directory, open 'README.md'
    at Object.openSync (node:fs:599:3)
    at Object.readFileSync (node:fs:467:35)
    at updateReadmeOutputTable (/home/nyuszika7h/code/undiscord/rollup.config.js:179:21)
    at Object.<anonymous> (/home/nyuszika7h/code/undiscord/rollup.config.js:185:1)
    at Module._compile (node:internal/modules/cjs/loader:1119:14)
    at Object.require.extensions.<computed> [as .js] (/home/nyuszika7h/code/undiscord/node_modules/rollup/dist/shared/loadConfigFile.js:614:20)
    at Module.load (node:internal/modules/cjs/loader:997:32)
    at Function.Module._load (node:internal/modules/cjs/loader:838:12)
    at Module.require (node:internal/modules/cjs/loader:1021:19)
    at require (node:internal/modules/cjs/helpers:103:18)

This rollup config was based in my https://github.com/victornpb/template-library-with-rollup template repo, but this part is actually not being used by this project, because undiscord isn't a library. I removed this entire portion of code in #455, so I'm closing this PR because this fix is no longer necessary. But Thank you anyway.


Real "PollInterval" vs current "poll delay"

Hi! Currently (due to historical reasons), PollInterval is actually a "poll delay":
https://github.com/awaitility/awaitility/blob/936c7634825ce9838628dac5fc6681b356f2b1a8/awaitility/src/main/java/org/awaitility/pollinterval/PollInterval.java#L25
Sometimes, it takes a significant amount of time to execute the condition, and its execution time may as well serve as the delay.
It would be helpful to have an option to poll in intervals, so that if the interval duration is 100ms, and the condition executes in 25ms, then next condition will be evaluated in 100-25=75ms, not fixed 100ms.

Here is a naive implementation if it helps:
.pollInterval(new PollInterval() {

    final Duration interval = Duration.ofMillis(200);

    Instant lastTimestamp = Instant.now();

    @Override
    public Duration next(int pollCount, Duration previousDuration) {
        var now = Instant.now();
        var executionDuration = Duration.between(lastTimestamp, now);

        var result = interval.minusMillis(Math.min(interval.toMillis(), executionDuration.toMillis()));
        lastTimestamp = now.plus(result);
        return result;
    }
})


go: 1.14.2 -> 1.14.3

https://golang.org/doc/devel/release.html#go1.14.minor

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Seems no new failures, mainly not related to the Go update IMO.
nixpkgs-review pr results:
7 package marked as broken and skipped:
dcrd dcrwallet meguca packetbeat packetbeat6 rkt storebrowse
43 package failed to build:
aerc bat-extras.prettybat bazel-remote bazel-watcher coyim datadog-agent deepin.dbus-factory deepin.dde-api deepin.dde-control-ce$
ter deepin.dde-daemon deepin.dde-dock deepin.dde-file-manager deepin.dde-kwin deepin.dde-launcher deepin.dde-session-ui deepin.de$
pin-desktop-base deepin.deepin-desktop-schemas deepin.deepin-wallpapers deepin.go-dbus-generator deepin.startdde dep2nix gocryptf$
gvisor hound imgproxy minishift onionshare onionshare-gui out-of-tree pond prometheus-varnish-exporter syncthing-gtk python37Pac$
ages.jupyter-repo2docker python38Packages.jupyter-repo2docker qmk_firmware sourcehut.buildsrht sourcehut.gitsrht sourcehut.hgsrht
styx vimPlugins.YouCompleteMe xmloscopy ycmd zoxide
773 package built


v0.20.0 docs update

What kind of change does this PR introduce?
Docs update

Coverage remained the same at 100.0% when pulling cc44b8a71ecfff975cc0f09f189bfdf21bebb4b8 on v0.20.0-docs into 0db34fe92de00df5e6cc40918470dfe53bbff68d on master.

Shall we merge this @toomuchdesign ? 🚀


helix-machines image generation broken

The pipeline is failing with authorization errors:
https://dev.azure.com/dnceng/internal/_build/results?buildId=2293369&view=logs&j=3dc8fd7e-4368-5a92-293e-d53cefc8c4b3&t=45862c6e-83c5-515f-73e2-e7009eff9f9b

Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description

There is no application with the ID that the logs show in the Microsoft Entra ID tenant. Will try to understand what is involved here.

https://github.com/dotnet/dnceng/issues/1070 is the superior issue and deserves to win.

Not at all! I didn't come back to update with the force option or anything. I do mean it that your issue was better.


Adding the possibility to exclude default values when serializing

Add 2 Resolver to allow to exclude default value for some types (bool, int, short, long, double, decimal, enum)

Sorry, a bad manipulation leads to the closure of this PR.. I did another one.


docker-build.sh is missing

Make sure these boxes are checked before submitting your issue - thank you!

[X] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[X] I have checked the issue tracker for the same issue and I haven't found one similar.

Superset version
0.28.1
Expected results
There is docker-build.sh file in contrib/docker or there is a new installation instruction.
Actual results
There is no docker-build.sh file in contrib/docker, so I can't install the application using these installation steps:
https://superset.incubator.apache.org/installation.html
Steps to reproduce
Just try to install.

Please check commit 02aa3c6395a381e59dced848df55cb1daf733e95.
Obviously the doc is not updated.
@@ -43,22 +43,29 @@ If you know docker, then you're lucky, we have shortcut road for you to
initialize development environment: ::
 git clone https://github.com/apache/incubator-superset/

cd incubator-superset
cp contrib/docker/{docker-build.sh,docker-compose.yml,docker-entrypoint.sh,docker-init.sh,Dockerfile} .
cp contrib/docker/superset_config.py superset/
bash -x docker-build.sh
docker-compose up -d
docker-compose exec superset bash
bash docker-init.sh

cd incubator-superset/contrib/docker

prefix with SUPERSET_LOAD_EXAMPLES=yes to load examples:

docker-compose run --rm superset ./docker-init.sh

you can run this command everytime you need to start superset now:

docker-compose up

Documentation has been updated (https://github.com/apache/incubator-superset/blob/master/docs/installation.rst) but the actual page hasn't been updated yet

rngadam-mac:docker rngadam$ docker-compose run --rm superset ./docker-init.sh
Starting superset_postgres_1 ... done
Starting superset_redis_1    ... done
Building superset
ERROR: Dockerfile parse error line 46: unknown instruction: &&

missing backlash in the Dockerfile

https://github.com/apache/incubator-superset/pull/6567/files

ended using  prebuilt https://github.com/amancevice/superset instead

While installing using the new documentation I am getting this error in the last step
docker-compose up
superset_1  |   File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 95, in find_best_app
superset_1  |     module=module.__name__
superset_1  | flask.cli.NoAppException: Failed to find Flask application or factory in module "app". Use "FLASK_APP=app:name to specify one.
superset_1  | <IP_ADDRESS> - - [02/Jan/2019 09:58:15] "GET /health HTTP/1.1" 500 -
superset_1  | Traceback (most recent call last):
superset_1  |   File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 95, in find_best_app
superset_1  |     module=module.__name__
superset_1  | flask.cli.NoAppException: Failed to find Flask application or factory in module "app". Use "FLASK_APP=app:name to specify one.
superset_1  | <IP_ADDRESS> - - [02/Jan/2019 09:58:46] "GET /health HTTP/1.1" 500 -
superset_1  | <IP_ADDRESS> - - [02/Jan/2019 09:59:16] "GET /health HTTP/1.1" 500 -
superset_1  | Traceback (most recent call last):
superset_1  |   File "/usr/local/lib/python3.6/site-packages/flask/cli.py", line 95, in find_best_app
superset_1  |     module=module.__name__
superset_1  | flask.cli.NoAppException: Failed to find Flask application or factory in module "app". Use "FLASK_APP=app:name to specify one.
superset_1  | <IP_ADDRESS> - - [02/Jan/2019 09:59:46] "GET /health HTTP/1.1" 500 -
superset_1  | <IP_ADDRESS> - - [02/Jan/2019 10:00:16] "GET /health HTTP/1.1" 500 -
superset_1  | <IP_ADDRESS> - - [02/Jan/2019 10:00:46] "GET /health HTTP/1.1" 500 -
superset_1  | <IP_ADDRESS> - - [02/Jan/2019 10:01:16] "GET /health HTTP/1.1" 500 -

These are first few error messages, getting same errors repeatedly
How to fix this ?

Refer this if getting above issue https://github.com/apache/incubator-superset/issues/6543


Review app configuration PRs

https://github.com/Azure/azure-sdk-for-java/pulls/mrm9084

Closing this issue, there's no need to track this as a task.


How to export light plots with ggcyto ?

Hello, first of all thank you for this insane work
I'm working on huge cohorts of bacterial cytometry analysis. I've worked for quite sometime now with your suit and other and I didn't find a way to export plot in a light manner.
I usually have GatingSet of 400  samples and I like to export pdf of my gatings and store them for later. The pdf can weight up to 100 Mo with pseudo color type plots, I might ligth them up using dotplots but I really like the pseudocolor visualization.
I didn't find this topic in the issues.
Thanks for your help and have  a nice day
Rémy

Transform it to bitmap.


Update readme. CognitoSyncManager doesn't work

Getting TypeError: AWS.CognitoSyncManager is not a function.
AWS.CognitoSync()  returns the client successfully.

AWS.CognitoSyncManager seems to work just fine here


Add ReplaceNodeScanWithIndexSeek optimization rule

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: ljcui:x: Wang ZhiyongWang Zhiyong seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Use the lifecycle manager to prevent Envoy from exiting until Wasm done.

Signed-off-by: John Plevyak<EMAIL_ADDRESS>

@bianpengyuan

https://github.com/envoyproxy/envoy-wasm/issues/465


[entropy_src/rtl] Remove unused state from ack_sm

In the entropy_src_ack_sm, the ACK_IMMED state allows the entropy_src to immediately output any seeds which may be available when the module is first enabled.  Since the entropy_src flushes its internal state when it is enabled, this condition is not expected, and so this state is never expected, and appears as an FSM coverage gap. (Note: interestingly enough, UNR analysis seems to claim that this state is somehow still reachable, even though this condition is not expected.)
Given that this state is at best an unused optimization, it's here removed to help close FSM coverage.
Signed-off-by: Martin Lueker-Boden<EMAIL_ADDRESS>

LGTM, how I would do it.


chore: update axiom strategy address

Summary
Closes: https://github.com/snapshot-labs/sx-monorepo/issues/186

We should also change the ABI in the subgraph

You can take it from Etherscan

@bonustrack I didn't see any changes in the ABI, however I see that it was deployed with querySchema of A09CC16CCAA32B96CA5C404C1B4BE60D7883A7178F432E8F9F3C22157FC0F873 that I can't decode (parseBytes32String doesn't work on this), before it was<PHONE_NUMBER>000000000000000000000000000000000000000000000000000000 - decoding into 0.
So I'm not sure what it should be in https://github.com/snapshot-labs/sx-monorepo/pull/4 without further docs.

Merging so we can index updated axiom strategies on prod server - I have issues running local node due to rate limits.


how to build web production in expo-router starter

Current Behavior
No response
Expected Behavior
No response
Tamagui Version
lastest

Platform (Web, iOS, Android)
web

Reproduction
none

System Info
No response

Man, don't expect anyone to help you if you can't even spare the time to properly describe and address your issue. Please, let's respect others' work.


Placeholder behavior not as expected

I just upgraded to version 2.0.3 and the behavior of the placeholder seems to have changed in version 2.0.2 (I believe due to #114).
Behavior prior to 2.0.2
When the placeholder attribute was set, the <code> element was empty until a value is set. The placeholder text is a different, darker color than the actual text color, as it should be.

Behavior after 2.0.2
When the placeholder is set and no value is specified, the placeholder is also listed in the <code> tag, so it overlays the actual placeholder. This means that the color is not as dark as it used to be and for some reason, the edges of the font seem rougher (not noticeable in screenshot).

Is there a way I can not add the value of the placeholder to the <code> tag, so that the behavior stays the same like versions before 2.0.3?

@leonardomathon oh, i fixed it.

@jaywcjlove awesome, though, the release CI failed

@leonardomathon CI passed.

Thanks, it's fixed.


Reworking Excel support to allow for reading of big files

Pull Request Description

Closes #8111 by making sure that all Excel workbooks are read using a backing file (which should be more memory efficient).

If the workbook is being opened from an input stream, that stream is materialized to a Temporary_File.

Adds tests fetching Table formats from HTTP.

Extends simple-httpbin with ability to serve files for our tests.

Ensures that the Infer option on Excel format also works with streams, if content-type metadata is available (e.g. from HTTP headers).
Implements a Temporary_File facility that can be used to create a temporary file that is deleted once all references to the Temporary_File instance are GCed.

Important Notes

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[ ] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[ ] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

I disallowed nesting of Test.group. It is a nice feature that we may at some point implement - but currently it is not working correctly (as it has never been implemented), but despite that - it was used in a few places.
The problem is - the test results are reported but the failures are not counted towards the final count - and so our CI test suite may succeed even if some of the nested tests are failing - because they are not counted.
Example:
from Standard.Base import all

from Standard.Test import Test, Test_Suite
import Standard.Test.Extensions

main = Test_Suite.run_main spec

spec =
    Test.group "My group" <|
        Test.specify "test OK" <|
            2+2 . should_equal 4

        Test.group "nested group" <|
            Test.specify "nested test OK" <|
                2+2 . should_equal 4

            Test.specify "nested test bad" <|
                2+2 . should_equal 3

yields:
nested group:  [1/2, 130ms]
    - nested test OK [0ms]
    - [FAILED] nested test bad [129ms]
        Reason: 4 did not equal 3 (at C:\NBO\repr\test.enso:18:17-36).
My group:  [1/1, 17ms]
    - test OK [17ms]
1 tests succeeded.
0 tests failed.
0 tests skipped.

As we can see, the nested group is reported in the wrong place. That is not great but acceptable. But the failing (and successful) tests are not counted towards the summary. Moreover - the test suite exited with exit code 0 (success), even though there are failing tests here.
To avoid missing failing tests, I disallow nested groups and I'm fixing any encountered ones in our test suite by un-nesting them. If we want test group nesting - that's a cool idea - but it will need a proper design and implementation before we can use it.

Can I please ask someone from engine to accept the build.sbt changes? cc: @Akirathan @hubertp @JaroslavTulach


[spark-2.1.x] making EventHub API call every batch

error file=/home/travis/build/hdinsight/spark-eventhubs/core/src/main/scala/org/apache/spark/eventhubscommon/RateControlUtils.scala message=File line length exceeds 100 characters line=78

there is a 100 chars limit per line

thanks, merged


Multiple components example

Could you also include example with multiple components? How to combine Reducers?

#9 added an example for this, planning to expand on it myself when I find time

Example should be clearer now


fix: remove to_type in cast index

The value type in a mapping has no effect whatsoever on the slot it occupies, so to avoid confusion we should remove it.
The slot of all of these mappings are computed using the same command (assuming they occupy the same slot):
mapping(address => address);
mapping(address => uint);
mapping(address => T);

The command being cast index address <key> <slot>.
To get the slot of a nested mapping, e.g. mapping(k1 => mapping(k2 => T)) you would do:
cast index k2 <key 2> $(cast index k1 <key 1> <slot>)

k1 being the type of key 1 and k2 being the type of key 2. Note how the order is inverted, i.e. the above command would access  mapping[key 1][key 2].
Closes #2141

Hey @onbjerg, sorry to dig through this merged issue, but I'm trying to use the cast index with a kind of nested mapping and struct.
The mapping is mapping(string => CustomStruct)
And the CustomStruct is as it follows:
struct CustomStruct {
    bool register;
    CustomData[] data;
  }

Can you give me a lights, how one would calculate the index for the CustomData?
Thank you!


Loading too many package.json files

Description
lint-staged attempts to load foreign package.json files, i.e other than /package.json in project root
Longer explanation:
I made a test in my workspace which resulted in demo-project/node_modules directory, which was not under .gitignore.
Having this done, I started to notice json errors when committing:
SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at jsonParse (file:///app/node_modules/lint-staged/lib/loadConfig.js:30:43)
    at Object.load (/app/node_modules/lilconfig/dist/index.js:144:35)
    at async loadConfig (file:///app/node_modules/lint-staged/lib/loadConfig.js:65:20)
    at async Promise.all (index 60)
    at async searchConfigs (file:///app/node_modules/lint-staged/lib/searchConfigs.js:84:3)
    at async runAll (file:///app/node_modules/lint-staged/lib/runAll.js:128:24)
    at async lintStaged (file:///app/node_modules/lint-staged/lib/index.js:107:17)

which made me enable debug to see where it comes from:
--- /app/node_modules/lilconfig/dist/index.js~    2022-12-16 16:52:54.000000000 +0200
+++ /app/node_modules/lilconfig/dist/index.js    2022-12-16 16:55:47.000000000 +0200
@@ -141,7 +141,9 @@
             validateLoader(loader, loaderKey);
             const content = String(await fsReadFileAsync(absPath));
             if (base === 'package.json') {
+                console.log('load: ', absPath);
                 const pkg = await loader(absPath, content);
+                console.log('loaded: ', absPath);
                 return transform({
                     config: getPackageProp(packageProp, pkg),
                     filepath: absPath,
(END)

which printed and that it loaded tons of package.json from demo-project/node_modules.
I think it's bug that lilconfig is called in a way that it goes searches the files recursively:

https://github.com/okonet/lint-staged/blob/fa15d686deb90b7ffddfbcf644d56ed05fcd8a38/lib/loadConfig.js#L50

I do not read from the readme it should do that, it should find the files from project root only.

Steps to reproduce

open project where you have lint-staged configured
mkdir test
cd test
yarn add typescript # or whatever
cd ..
edit node_modules/lilconfig/dist/index.js as above
touch test
git add test
yarn lint-staged

Debug Logs

expand to view
COPY THE DEBUG LOGS HERE

Environment

OS: irrelevant
Node.js: irrelevant
lint-staged: 13.1.0

even simper reproducer:

mkdir 1243
echo kalasaba > 1243/package.json
git add 1243/package.json
yarn lint-staged

lint-staged must not try to load 1243/package.json file!

Workaround: add explicitly tell which config to use: lint-staged -c .lintstagedrc.json

Hi, lilconfig maintainer here. Lilconfig can only search recursively towards file system root. This makes me think that it is not lilconfig that "discovers" newly added package json files in a new workspace node_modules. Looking at the lint staged source code it looks like it uses git to infer all not gitignored filepaths to look up configuration files.
https://github.com/okonet/lint-staged/blob/50f95b3d51e69074ab5ff5ddb7147828fcd85b7b/lib/searchConfigs.js#L62
Which makes sense for a mono repo support. All node_modules in a repository should be added to a gitignore file. +1 to @iiroj  comment above.

Yes, exactly. We enumarete all possible files from git, and then pass those to lilconfig. 👍

Could there be a way to turn off config search? Or at least fail silently on JSON.parse?
I want to add lint-staged to Bun's codebase, but it errors trying to parse this empty package.json file used in a test fixture.

Would it make sense to just silently ignore all invalid package.json files? Lint-staged is only interested in a package.json file that contains the lintStaged key anyway...

@privatenumber I opened a PR here which would hide the JSON.parse error for invalid package.json files: https://github.com/okonet/lint-staged/pull/1281
Note that this doesn't change any exit codes because currently even with the error lint-staged basically just ignores the config file.

That works, thanks @iiroj 🙏

Hello @privatenumber and @glensc, would version 13.2.1 work any better?

@iiroj here's my reproducer:

https://github.com/okonet/lint-staged/issues/1243#issuecomment-1355022571

if it passes, it's fixed!

Worked great for me, thanks @iiroj

@glensc to be precise, lint-staged does try to load the file so that it can autodiscover configuration for monorepo support. With the fix in 13.2.1 it just silently ignores errors from package.json files so the output should look a bit nicer.
I will mark this issue as resolved, thanks!


Make replies stop duplicating usernames if replying to someone replying to themselves

Edge case, but should be easy to fix.

Actually, might be better to never include currently logged-in user's username at all in replies.

Seems like this one might rely on #2 since we need to store the current user's username somewhere in order to compare it

Can't find a way to do this without Manton adding a new endpoint, since the only endpoint that returns a username requires a username.


[release-4.6] Bug 1913800: Ensure the mysql connector java jar is present in image

Manual cherrypick of #58
(copying-and-pasting that PR description here)
Update the opt_maven_install.sh helper script, which is used to help combine the ART and CI Dockerfiles, to get the mysql-connector-java JDBC driver JAR in the Hive image. We use to get this package for free before the introduction of RHEL8 base images during the 4.6 release, and that package was swapped out for the mariadb equalivent. This is causing upgrades to fail from <4.6 metering versions to 4.6+ as that package is no longer present.
In the case of ART, pull from PNC build, else pull from maven and copy that JAR into the destination container.
This image was tested by deploying metering with the Hive image that CI outputted (and mirrored to quay to avoid setting up pull secrets). This results in the following MeteringConfig custom resource:
apiVersion: metering.openshift.io/v1
kind: MeteringConfig
metadata:
  name: "operator-metering"
  annotations:
    "ansible.operator-sdk/verbosity": "1"
spec:
  unsupportedFeatures:
    enableHDFS: true

  storage:
    type: "hive"
    hive:
      type: "hdfs"
      hdfs:
        namenode: "hdfs-namenode-0.hdfs-namenode:9820"

  hive:
    spec:
      image:
        repository: quay.io/tflannag/hive
        tag: mysql
      config:
        db:
          driver: com.mysql.jdbc.Driver
          username: testuser
          password: testpass
          url: jdbc:mysql://mysql.tflannag.svc.cluster.local:3306/metastore

The MySQL instance is 5.7, which was created using the registry.redhat.io/rhscl/mysql-57-rhel7@sha256:9a781abe7581cc141e14a7e404ec34125b3e89c008b14f4e7b41e094fd3049fe image. I imported that image as an ImageStream and created that instance using oc new-app ....

/retest
/refresh

/lgtm

/lgtm
/approve

/bugzilla refresh

/lgtm


Version 5.0 not on cocoa pods?

CocoaPods could not find compatible versions for pod "SWXMLHash":
In Podfile:
SWXMLHash (~> 5.0.0)
shows 4.9 on cocoa pods site

That is weird. I'm wondering if there was a caching issue with CocoaPods or something else going on. I can confirm that I saw 4.9.0 on the site as well, but when I tried to republish from here, I got the following:
[!] Unable to accept duplicate entry for: SWXMLHash (5.0.1)

Then I checked the site and it says 5.0.1 now.
Can you double check again on your side?

i think its good now. Maybe i needed a repo update but it appears fine now. thanks.


Rename Redshift Spectrum to Redshift

Renames Redshift Spectrum to Redshift.
If a previously existing redshift connection is set via config or seed data, its driver field must be changed to redshift instead of redshiftSpectrum

This is also removes the "experimental" label as well.
Fixes #647


Leaving a discussion and returning to the board gives error

{each} iterates only over array like objects

Was occurring because when leave discussion, board is reloaded. However, doing so returns basic version of units. Thus, if was rendering one of the unit's discussions, no longer have access to it.

Perhaps a better design would only be to call join/load at start, and when return, call something else.


add zip to linux install

Thanks to @preethi826 for helping find this. VCPKG bootstrap fails with zip not being installed.

Out of curiosity, what requires zip?

VCPKG bootstrap fails on a new Ubuntu if we follow the instructions. The error message indicates that Zip is missing.

Do we need to update other places, like this one:
https://github.com/Azure/azure-sdk-for-c/blob/248e7108574e9f15aa2ca29f4bfd2d6bc9cf2c73/sdk/samples/iot/docs/how_to_iot_hub_samples_linux.md#prerequisites

sudo apt-get install build-essential curl unzip tar pkg-config git openssl libssl-dev

Not sure: There are two ways to install VCPKG right now. One is automatic (handled by cmake) and it requires zip.
Last time I tested the manual VCPKG system (a few months ago on a clean system) everything worked as documented. It may be that this is a recent change in VCPKG or that unzip is actually sufficient.


index.d: Use MREF to fix broken DDox links

Partial fix for issue 14085.

chmgen does it (and can be run on any platform to do parsing without CHM generation), it's just not integrated into the build system.

I'll look into integrating it then

CyberShadow/DAutoTest — Build failed

I guess this needs a re-push/base after https://github.com/dlang/dlang.org/pull/1791?

I guess this needs a re-push/base after dlang/dlang.org#1791?

I don't know how other CI systems do it, but DAutoTest first tests commits it never tested before (in reverse chronological order), then it tests commits it tested before but not with that merge target (also in reverse chronological order). Meaning, it should get to this PR very quickly.

I guess I should add auto-merge label prioritizing... but it's almost never blocking merges right now anyway, so...

I don't know how other CI systems do it, but DAutoTest first tests commits it never tested before (in reverse chronological order), then it tests commits it tested before but not with that merge target (also in reverse chronological order). Meaning, it should get to this PR very quickly.

Ah I didn't know that. I always though it only runs a commit hash once. Nice!

I guess I should add auto-merge label prioritizing... but it's almost never blocking merges right now anyway, so...

Yeah don't bother yourself - the other CIs are the bottleneck ;-)

Oops, this doesn't actually fix anything right now since DDox does not use index.d yet.
Oh well, it's nice to have for when it does get around to that, and switching to MREF is good by itself.


Bootstrap in dioxus cli from path leads to issue whereas url is fine

Hi,
Dioxus @0.5
when using dx new and setting the app,  we can later add css and js script:
Excerpt of my Dioxus.toml:
# CSS style file

style = ["/path/to/bootstrap.min.css"]

# Javascript code file
script = ["/path/to/bootstrap.bundle.min.js"]

When using bootstrap from my file system, chrome tells me
Uncaught SyntaxError: Unexpected token '<'
but from the cdn (which is the same file I downloaded locally)
# CSS style file

style =<EMAIL_ADDRESS>
# Javascript code file
script =<EMAIL_ADDRESS>
No error message, and it runs as expected.
Anything I missed ?
Thanks,

Ok, We have to put the files in the asset or dist folders for it to work.
Solved!


Parser confusion when using tabulation

I have the following code :
route : Route (String -> Html)
route = match
    [
    	"/"                 :-> Home.display
    ,   "/src/Main.elm"   	:-> Home.display
    ,   "/CV.elm"         	:-> CV.display
    ] 	display404

When I execute my code I have this error :
Error in ./src/Routing.elm:

Parse error at (line 15, column 5):
unexpected "\t"
expecting whitespace, a newline, an expression or closing brace ']'

The line 15 is :
    "/"                 :-> Home.display

If I use spaces to indent and not tabulation, I don't have any problem. I think, this would be great to use allow space and tabulation as te tabulation as easier to play with in editor.

Tabs are not permitted in Elm source code for now because things are indentation sensitive. Depending on your editor settings, something might look aligned but not actually be.
I can imagine being stricter about formatting such that it becomes possible to use tabs, but that would need a much more formal proposal. I am going to close this for now, but as we make progress on projects like elm-format we can revisit this.


Added a license to the work

As per chat w/ @andreypopp, added an MIT license so that potential users of this project can use it without fearing they will get sued for copyright infringement later on.
Before this is merged, I need a 👍 thumbsup from:

@jordwalke
@andreypopp
@cristianoc

To signify:

You own the work you contributed (or you have the right to distribute it under MIT license), this matters if you did it at work.
You agree to license it under MIT license.

Thanks

Thank you for surfacing this issue, but I have independently added an MIT-LICENSE file that has nothing to do with this pull request or the discussion on this issue.


help

/Users/karim/Downloads/BTCWalletMiner-1/Program.cs(1,7): error CS0246:  The type or namespace name 'ProgramSettings' could not be found (are you missing a using directive or an assembly reference?)
/Users/karim/Downloads/BTCWalletMiner-1/Program.cs(2,7): error CS0246:  The type or namespace name 'ProgramBitcoin' could not be found (are you missing a using directive or an assembly reference?)

what you could and should do: just run the .exe

a question if you find a balance as it proceeds? Where is the private key information stored? or how to check?

that is a feature that will be added in future versions


Missing preprocessedImageForTesseract:sourceImage: in 4.0.0 CocoaPods release

The method preprocessedImageForTesseract:sourceImage:, needed to bypass the threshold processing done by Tesseract, is missing from 4.0.0 release, which is the one pulled by CocoaPods.
(master): https://github.com/gali8/Tesseract-OCR-iOS/blob/master/TesseractOCR/G8RecognitionOperation.m#L78
(4.0.0): https://github.com/gali8/Tesseract-OCR-iOS/blob/4.0.0/TesseractOCR/G8RecognitionOperation.m
Is there anything you guys need to do in order to push this release? Might be able to help because we're using this for an important project.

Seems that the method is already in 4.0.0, but not exposed in the G8RecognitionOperation https://github.com/gali8/Tesseract-OCR-iOS/blob/4.0.0/TesseractOCR/G8Tesseract.mm#L385

Hi, I have the same issue with this. Have you found a workaround @alvaromb ?


[Known issues - Official builds] Identify official builds as high impact builds

We would like to identify when a known issue is impacting an official build, in those cases it would be considered a high impact build.
There are a couple of items here:

[ ] Identify which pipelines are for official builds
[ ] Record the definition id of the known issues, we could also get this information from the TimelineBuilds table if we prefer
[ ] Once we have the data, how and where are we going to expose this? Is it our landing page report, GitHub issue report, or what is the expectation in this area?

Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description

this was already solved on this Report closing


Set encoding to true (Bug fix for flavor)

For offline scripts it shows the flavor as “Choose SQL Language”, this is because in flavorStatus.ts line 150 when we compare (uri === currentUri), the value of current Uri is "file:///d%3A/GitHub/PGExtension/TestDatabase/1ae730a9.sql" whereas the value for uri is "file:///d:/GitHub/PGExtension/TestDatabase/1ae730a9.sql" which ends up returning label ‘Choose SQL Language’.
In queryInput.ts we set public get uri(): string { return this.getResource().toString(true); }
This is the variable that we use in doChangeLanguageFlavor. And as we compare this with getEditorUri() later in flavorStatus.ts, it does not match. So enabling encoding here as well to get the encoded string in both the cases.

This PR fixes #

Related Issue: https://github.com/microsoft/azuredatastudio/issues/8077


⚠ Bofrost.lu has degraded performance

In 2b9ebae, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2032 ms

Resolved: Bofrost.lu performance has improved in 63b20f9 after 26 minutes.


HTTP client: Work around HTTPS proxy use bug due to callback design flaw

See discussion in #17088, where the real solution was postponed to 4.0.
This PR preliminarily fixes the issue that the HTTP(S) proxy environment variables were neglected when determining whether a proxy should be used for HTTPS.

The check_update failure is just another instance of the New Year Problem #13765:
Run git diff --exit-code
diff --git a/crypto/asn1/charmap.h b/crypto/asn1/charmap.h
index ac1eb076..95928ca6 100644
--- a/crypto/asn1/charmap.h
+++ b/crypto/asn1/charmap.h
@@ -2,7 +2,7 @@
  * WARNING: do not edit!
  * Generated by crypto/asn1/charmap.pl
  *
- * Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2000-2022 The OpenSSL Project Authors. All Rights Reserved.
  *
  * Licensed under the Apache License 2.0 (the "License").  You may not use
  * this file except in compliance with the License.  You can obtain a copy

etc.

This pull request is ready to merge

Merged - thanks @t-j-h, @levitte, and @t8m for reviewing and comments.


Problem. The onchange method is triggered automatically.

Hi.
Thanks this component.
I have a problem.
Scenario:
There is a model on the StackNavigation page. I made a choice here. Then I switched to my InıtalPage page.
If I made a choice from Modal. The onchange method is triggering at this time too

sory. solution => https://github.com/peacechen/react-native-modal-selector/issues/140

@kadir-akbulut
A number of people have encountered this type of issue.  What solution did you find works best?


[6.2 Equalizer] Setting up an empty equalized list produces an error

When setting up a dynamically-populated list, there is nothing within to be watched. This causes an error which halts initialization:

foundation-custom.js:199 TypeError: Cannot read property 'top' of undefined(…)

This is caused by the way that lastElTopOffset is set:
 getHeightsByRow(cb) {
    var lastElTopOffset = this.$watched.first().offset().top,
        groups = [],
        group = 0;

By first checking to see that there is something being watched, this error will not be triggered.
getHeightsByRow(cb) {
    var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0,
        groups = [],
        group = 0;

:+1: Thanks. Pull request: https://github.com/zurb/foundation-sites/pull/8526


Remove redundant transformations set on image load which cause failur…

Remove redundant transformations set on image load which cause failures with latest libpng
The transformations are set after PNG file is already loaded through png_read_png(). The code below handles actual bits per pixel, and the transformation been set had no effect. But transormations set after image read were causing failures (err msg "invalid after png_start_read_image or png_read_update_info" followed by image load abort) with latest libpng, making PngCodecTest failing in Mono, as well as loading all the images with bpp < 8 and paletted images.

Hello! I'm the build bot for the Mono project. I need approval from a Mono team member to build this pull request. A team member should reply with "approve" to approve a build of this pull request, "whitelist" to whitelist this and all future pull requests from this contributor, or "build" to explicitly request a build, even if one has already been done. Contributors can ignore this message.

.. If there was a need to perform these transformations on PNG load it could be done through the flags to png_read_png, but this would break functionality (that's what I've tried initially but got PngCodecTest test failing with wrong bitmap format resulting ifrom GdiPlus).

@gofman if you're still willing to move this forward, do you have a simple test case that illustrates the issue you're fixing with this PR?

Hello! I'm the build bot for the Mono project.
I need approval from a Mono team member to build this pull request. A team member should reply with "approve" to approve a build of this pull request, "whitelist" to whitelist this and all future pull requests from this contributor, or "build" to explicitly request a build, even if one has already been done.
Contributors can ignore this message.

I just reproduced the issue on B&W png image, I am attaching it. If to replace test.png image with this one in tests and run testgdi, without my patch it shows an error on loading png file: "libpng error: invalid after png_start_read_image or png_read_update_info", image is not displayed. It is fixed by the patch. I just tested that with libpng 1.6.27 (the error shows up starting from some version of libpng, quite an old one though).
It's been a while since I investigated this issue, but as I recall now this code I am removing was redundant even in older versions of libpng (as this attributes cannot be set at this stage of reading png file), but older versions simply ignored that while newer give an error. The bitmaps are actually loaded (converted) by existing code without the requested expansion to 8 bit.

I rebased my fork to the current upstream. There is a commit by Miguel de Icaza merged after my original pull request (4ae938972 'Fix libgdiplus to handle 2bpp color PNG files') which, in particular, adds a comment above the lines I am removing: "/* NB: none of these png_set_* methods actually do anything after png_read_png() is called! */". The problem is that with the (relatively) new libpng versions these png_set... actually break the thing causing a fatal error.

@gofman Thanks for the prompt reply! I had another look into this. Yes, it seems the code never worked; if it breaks (because the call to png_set_* comes after png_read_png, which is invalid, and newer versions of libpng are more strict about this), removing that block already helps.
The original intent was to expand PNG images with a pixel depth of 2 bit to 8 bit, because that's what GDI+ does as well. I don't know why GDI+ does that, and I think deviating from the GDI+ behavior is better than crashing.
If anyone ever wants to match the GDI+ behavior, the easiest way to do that seems to be to pass PNG_TRANSFORM_EXPAND to png_read_png, but only when the pixel depth is exactly 2.
To know the pixel depth, you'd need to call png_read_info; but I don't think you can call png_read_png after that, so you'd need to close and reopen the file. That can be tricky when you're reading from a stream (because you would need to seek to the beginning of the file, and the stream may be forward-only).
@akoeplinger LGTM, would look even better with a unit test. Let me see if I can do something about that.

@qmfrederik Regarding the unit test, there was already a unit test in main Mono tree (mcs/class/System.Drawing/Test/System.Drawing) which was already failing for me with Mono/gdiplus built with current libpng, while this change fixed it. I could possibly put an extra test to gdiplus test here in libgdiplus if it makes sense, but the problem this patch is fixing still will be reproducable with the new libpng only.

Makes sense, thanks!


geodesic sectors sample

demonstrates how to make geodesic sectors/ellipses

@john0005 this one is ready for review


Gradle compatibility update

Added namespace and removed package declaration to make it compatible with newer Gradle versions

Thanks for your PR, I appreciate your effort.
However I didn't manage to merge your PR. As part of upgrading the example app to Android 14, I also made this change. (it was easier for me to read the build.gradle error message and understand it as part of the upgrade).

All is good, I can finally stop using the fork :)


Installation fails on Ubuntu 20.04

pip3 install openexr==1.3.5 (and also 1.3.4) fails when trying to build the wheel on Ubuntu 20.04:
 OpenEXR.cpp:36:10: fatal error: ImathConfig.h: No such file or directory
     36 | #include <ImathConfig.h>
        |          ^~~~~~~~~~~~~~~
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Previous versions are working fine.

Same here

Same trouble on Debian 10.11.

Woha! I really messed up here!
I though it will be working both in newer and older OpenEXR versions. Thanks for reporting, I am fixing that!

@toaarnio @hq-jiang @yarovd Hey guys! I just drop every single query to the Imath headers. Can you give it a shot again please?

Compilation passes, but linking fails:
/usr/bin/ld: cannot find -lOpenEXR
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-g++' failed with exit status 1

Also, could you remove the broken releases from PyPI? All dependent packages are failing to install at the moment.

For me, it fails with the same linking error

Thanks, it seems to be working on my local machine. Still checking out CI.

Yep. It works now, thanks
Requirement already satisfied: openexr in /usr/local/lib/python2.7/dist-packages (1.3.7)

It's working! Thanks!

still failing for bionic and python 3.8

Hey @segalinc !
It works nice to me. I just needed to install zlib1g-dev before executing pip3
sudo apt-get install zlib1g-dev