fix(examples): reduce origin advance error to warn

Description
Reduces the origin advance error to warning.
If the next block isn't available causing an intended block fetch failure, this will error which happens often.
We should also work in some backoffs to the providers, especially for frequently repeated method calls like origin advancing.

#372  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @refcell and the rest of your teammates on  Graphite

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

Project coverage is 77.7%. Comparing base (3b48fcb) to head (57dc57d).
Report is 1 commits behind head on main.

Additional details and impacted files

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


no random forrests?

Sadly not yet, with the usual contributions welcome caveat. You might be interested in @mmottl's aifad.

Though AIFAD isn't a random forest approach in the classical sense, some flags allow you to use randomness for classification tree generation to avoid myopic solutions found by purely greedy heuristics.  This can lead to trees that compress the data better.  One could conceivably combine several random classification trees to form an ensemble.
Another tree-based OCaml algorithm (gradient-boosted trees) can be found here: https://github.com/alexbaretta/dawg

I have added oc45 and orandforest to opam very recently.
Thanks to @mmottl for the interesting pointers.


German phone number with three digit Extension

First of, my goal is not to figure out which part of a phone number is the extension. That would probably require more of an index of valid phone numbers and figure out which digits would be the extension based of off that.
I have, for example a phone number like this: 0234/123456-10
That works without any problems, finds the area code etc. However if you add one more digit to it, which is also a valid number it's no longer possible to parse the number. E.g. "0234/123456-106" will not work even if it's a valid phone number.
My requirement is to be able to just enter the number as is and validate it.
The only solution i could currently think of for my scenario would be to cut of the last digit and see if that turns out to be a valid number and after that just add all the removed numbers back.
BTW, as for entering a number with an extension or printing it the common way for german numbers is to use a minus sign in between the number and the extension. So it would look like this 012345/987654-0.

The library doesn’t consider - as a separator for an extension number as it’s also a formatting separator for other formats (US for example which is<PHONE_NUMBER>) so the number 0234/123456-10 is parsing as<PHONE_NUMBER>10 with the extension number being appended.
I’ll have to do some thinking about how to cater for this.

The most reliable option for you is trimming the extension number based upon the presence of the - before calling PhoneNumber.Parse(string).

The most reliable option for you is trimming the extension number based upon the presence of the - before calling PhoneNumber.Parse(string).

Yes. That might be one way to handle it. However most user input is expected to be without any seperators between the numbers. Some numbers have an extension and you wouldn't even know about it until you saw more numbers to the same base number.

Germany has variable number lengths for some area codes so you’re going to really struggle if there isn’t even a separator in the input.

Comig back to this i've found the following.
https://www.bundesnetzagentur.de/DE/Fachthemen/Telekommunikation/Nummerierung/ONRufnr/Laenge/Länge_ONRufnr_Basepage.html
Which says that numbers can be 11 digits long and the recommondation is to stay below 13 digits in general. The site also provides a list for all the area codes and the number of digits. But looks like most have 11 digits.
Sadly the information doesn't seem to be available in english, even looked around there but couldn't find it.

This is the latest German numbering plan, published to the ITU and this is what I’ve used to build the data file for the library. You’ll notice that most geographic numbers have a min national significant number length of 6 and max of 11. Whilst only 11 digit numbers have been assigned since 2011, I suspect any assigned prior retain shorter lengths.

@shriek1 good news, I’ve implemented a solution that seems to work, I have a bit more testing to do but if all goes to plan I’ll release 3.5.6 shortly with the implementation.

@TrevorPilley Nice, thank you! Didn't see this until today. Will update and see if it's working better now.


[ Fix : Adding Users ( Reviewer, Editor, Admin ) to an Organization via 'Add New' Button ]

Describe the bug
At http://localhost:5173/org/settings/org_handle the Add New button which is supposed to add users to the current organization is not working.
And here users should have been added according to the permission level, like Reviewer, Editor, Admin, so an editor or admin should have been able to edit tutorials created by other users in the same organization.
To Reproduce
Steps to reproduce the behavior:

Go to http://localhost:5173/org/settings/org_handle
Go to users via sidebar.
Click on Add New button it isn't doing anything.

Expected behavior
A modal should have popped up allowing the admins or editors to add users to the organization.
Video
https://github.com/c2siorg/Codelabz/assets/123815256/11869c1d-3946-4b87-9541-ac9365cb97dd
Desktop (please complete the following information):

OS: Windows
Browser Chrome

For this as well I have created a pr in the scorelab bro :)

What's the PR number??

I saw your PRs, well my approach would be different and multiple PRs would be acceptable for this issue I think... So I'll soon raise the PR @Aditya-Sakpal brother. Make sure to review it :) please 🙏

Well you can raise the pr , but @Maahi10001 has strictly told us to not to repeat prs and issues. So as a fellow contributor I would suggest you to work on some different issues like you can add some new stuff in the Quill Editor , for that you can refer my previous prs in this repo itself . I know at this time it is very difficult to find something new , but we need to keep trying

C'mon @Aditya-Sakpal, look at my PR, it's pretty neat!!!

good stuff bro :)


[fluidsynth] Update to 2.1.0

Update fluidsynth  to latest released version 2.1.0.
Related issue #9834
Note: No feature needs to test.

LGTM, thanks!


Valgrind action

I caused a memory leak in #120 (fixed now). A bit embarrassing, especially since tools exist that can help us discover these. One such tool is Valgrind. We can run that in the CI just to be sure, using Python's valgrind suppression file: https://svn.python.org/projects/python/trunk/Misc/valgrind-python.supp.

I'm going to do this next. We should ship good code, and this is an important check to have.


[Bug Report] Table's data set contains a collection of child fields, which can cause errors that cannot be compiled

Element UI version
2.6.3
OS/Browsers version
win 10  chrome73
Vue version
2.6.10
Reproduction Link
https://codepen.io/anon/pen/zXKeYQ?editors=1111
Steps to reproduce
使用table组件的时候，不使用reserve-selection 功能与显示树形数据时，拉取的数据集中的Object带有children字段，并且是一个集合，这时候会报 ** 'if there's nested data, rowKey is required.'** 错误，无法通过编译
What is Expected?
顺利通过编译，不会报错
What is actually happening?
无法通过编译  提示 ** 'if there's nested data, rowKey is required.'**  错误

When using remote and filterable, the suffix icon is empty.

Duplicate of #15170


Example notebook doesn't run - data file not found

The example notebook tries to load a data file that is not available. I found a copy here via here.
The python package h5py is also required to run the demo.

Hi @psychemedia! Thank you so much for the issue! I've created a PR to address the first point of your issue here at data-exp-lab/widgyts#34. Do you think this extra cell would have been descriptive enough for your experience?
Did you get an h5py dependency error with the notebook in this repository? I know I've made an notebook out there with a larger dataset (the Pop II Prime example) that uses h5py, but that's not in the examples folder of this repository. I'd like to make sure we properly document needing to use h5py, but I can't seem to find it in here.

Hi @munkm
My issue was mainly about just being able to quickly run the demos using MyBinder. eg https://mybinder.org/v2/gh/data-exp-lab/widgyts/master
To make things more reproducible in the notebook, you could include an example of how to download and unzip the file.
#Download the file
from urllib.request import urlretrieve

data_url = 'http://yt-project.org/data/IsolatedGalaxy.tar.gz'
savefile = 'IsolatedGalaxy.tar.gz'

urlretrieve(url, filename=savefile)

#Extract the file
import tarfile
tar = tarfile.open(savefile, "r:gz")
tar.extractall()
tar.close()

And yes, it seems to work fine with that demo file without the h5py package in MyBinder.
By the by, this is overkill but it gives a progress meter which may be useful when downloading large files:
!pip install tqdm
#https://github.com/tqdm/tqdm#hooks-and-callbacks

from tqdm import tqdm

class TqdmUpTo(tqdm):
    """Provides `update_to(n)` which uses `tqdm.update(delta_n)`."""
    def update_to(self, b=1, bsize=1, tsize=None):
        """
        b  : int, optional
            Number of blocks transferred so far [default: 1].
        bsize  : int, optional
            Size of each block (in tqdm units) [default: 1].
        tsize  : int, optional
            Total size (in tqdm units). If [default: None] remains unchanged.
        """
        if tsize is not None:
            self.total = tsize
        self.update(b * bsize - self.n)  # will also set self.n = b * bsize

def get_data_file(url, savefile=None):
    fn = url.split('/')[-1]
    savefile = fn if savefile is None else savefile

    with TqdmUpTo(desc=fn) as t:
        urlretrieve(url, filename=savefile, reporthook=t.update_to, data=None)

    return savefile

data_url = 'http://yt-project.org/data/IsolatedGalaxy.tar.gz'
datazip = get_data_file(data_url )

By the by, there's a typo in galaxy_display.ipynb: If you do not have IsoaltedGalaxy -> If you do not have IsolatedGalaxy

Ah, thanks for pointing out the typo! I'll do a quick fix for that.
I'm a little hesitant to add a cell execution that downloads and extracts our files here. I really like that your example would make things more reproducible for binder, but I do think it forces a user running the notebook locally to download data to the folder containing the notebook, which might not be their normal process. Though widgyts is a separate project from yt, I do think it's a positive in this example that we're maintaining continuity stylistically with other examples in the yt project. I realize these are my personal opinions so I'll leave this issue open for a while to get more feedback from the community!

@xarthisius may have some thoughts, too!


Fix block stack table

Fixes the block stack table with the following logic:

on CALL: fn_hash contains the parent function hash; it is only set to callee_hash in the next row
on SYSCALL: fn_hash also contains the parent function hash; it remains unchanged by a syscall
on END for call/syscall: block stack logic resets the fn_hash columns to the parent fn hash only in the next row

Related: https://github.com/0xPolygonMiden/miden-vm/issues/483 for docs


Expose additional compatibility methods on Schema Registry client

New methods on the client that had already been implemented on the REST service:

IsCompatibleAsync (overload for specific version)
GetCompatibilityAsync/SetCompatibilityAsync
GetGlobalCompatibilityAsync/SetGlobalCompatibilityAsync

It looks like @dstelljes hasn't signed our Contributor License Agreement, yet.

The purpose of a CLA is to ensure that the guardian of a project's outputs has the necessary ownership or grants of rights over all contributions to allow them to distribute under the chosen licence.
Wikipedia

You can read and sign our full Contributor License Agreement here.
Once you've signed reply with [clabot:check] to prove it.
Appreciation of efforts,
clabot

[clabot:check]

@confluentinc It looks like @dstelljes just signed our Contributor License Agreement. :+1:
Always at your service,
clabot

Thanks for the PR @dstelljes - sorry it took such a long time to get to. Couple of things to change, else LGTM and would love to get it in 1.3.

done, thanks!

@mhowlett, anything else you want adjusted here? Just rebased onto master.

Closing now that https://github.com/confluentinc/confluent-kafka-dotnet/pull/2097 has merged


IP67 case 2d and 3d models

People have asked for these so might as well add them somewhere in guides...
ip67case.zip

Shall we add on the https://github.com/NebraLtd/Helium-Guides/blob/main/docs/outdoor-hotspot/overview.md

Yes maybe we can upload to the files to the media directory and then add the links in the dimensions section perhaps

On second thought, maybe better to have
Folder for docs->media->cases->outdoor and then indoor as well to keep it better organised. As some people have asked about those files too and at some point was going to open source everything anyway so could be a better way

Ok 👍. docs->media->cases->outdoor  .

This is the 3d files for light gateway
Light.zip
Need to find/get the ones for indoor as well

On second thought, maybe better to have
Folder for docs->media->cases->outdoor and then indoor as well to keep it better organised. As some people have asked about those files too and at some point was going to open source everything anyway so could be a better way

Added the outdoor resource list, having an issue with the link and I'll for that soon.  link: https://github.com/NebraLtd/Helium-Guides/blob/main/docs/outdoor-hotspot/overview.md


Minimum number of deletion to make it a palindrome in C++

💥 Proposal
(A clear and concise description of what the proposal is.)
Have you read the Contributing Guidelines on Pull Requests?
I would like to add the code for printing Minimum number of deletion to make it a palindrome using Dp in cpp. Please /assign this issue to me[GSSOC'21].
(Write your answer here.)
yes

/assign


feat: supported Llama 3 8B and Llama 3 70B models

Resolves #93

/deploy-review

/deploy-review

/deploy-review

/deploy-review


Fix/37207: Display not found page instead Tag Page

Details
Prevent user from accessing to Tag page when request money to DM 1:1 chat
Fixed Issues

$ https://github.com/Expensify/App/issues/37207
PROPOSAL: https://github.com/Expensify/App/issues/37207#issuecomment-1964375989
Tests

Request money
Enter amount
Select DM 1:1 chat
Click on description page
In the URL, change description to category or tag/1
(on native app or desktop app, using deeplink)
Verify that the Not found page display

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

Offline tests

Same above
QA Steps

Same above

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

PR Author Checklist

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

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] 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.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/141406735/ca09eda3-4826-4637-8b4e-301896181c83

Android: mWeb Chrome

https://github.com/Expensify/App/assets/141406735/7072ab20-5976-4b76-be00-1c915496931c

iOS: Native

https://github.com/Expensify/App/assets/141406735/3c332951-b618-47b5-8872-fdc4339dbc08

iOS: mWeb Safari

https://github.com/Expensify/App/assets/141406735/f035fe7a-d41b-433e-8319-2e479bbd9967

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/141406735/afafc9de-99c5-4c74-8aee-66dd3eda9ca8

MacOS: Desktop

https://github.com/Expensify/App/assets/141406735/04db667d-645a-48d6-9dc0-e066da989089

@mkhutornyi We have a conflict with this issue where the tag is editable even after paid. I also noticed that we have the same issue: the category and the description are editable even after the request is paid. So I created a new bug here because it is not related to our PR

We have a conflict with https://github.com/Expensify/App/issues/36264 where the tag is editable even after paid.

Also see a regression from https://github.com/Expensify/App/issues/36264

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

🚀 Deployed to staging by https://github.com/jasperhuangg in version: 1.4.49-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/luacmartins in version: 1.4.50-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


clicking links on release note fixes results in broken page

When I click the  "new features" or bugs fixed links on the release notes popup:

It opened the link in the popup window but it had a broken stylesheet and basically stuff looked broken (cannot reproduce it now, as it now seems to load those in Internet Explorer even though I do have Chrome set as my default browser.

No wait, I realized I accidentally clicked on the older entries down the list, thats why the "move to github" is first - but the point is still the same: it opens the links in MSIE. Not even Edge, but MSIE.

Solution idea: Change to WebViewer2

Ok, I looked into this and the best thing would be to use the new WebView2 chromium based control that has to be installed via nuget. I will give it a try. But it would also not use the preferred Browser on your PC.
Another totally different approach could be to launch an actual browser with the regular release notes page as soon as the user clicks into the release notes. This might actually be the best compromise and short term solution.


Unprocessed Data

Hi everyone,
Getting this error: Error: Decoding error on OPEN_ORDER: unprocessed data left on queue (["","","","",null]).
How can I debug this?

Hello,
Thanks for reporting.
Cloud you please provide some information about the order?
I was unable to reproduce this issue.
Ideally add a test case to ./src/test/unit/api/order to help improving the reliably of the API.
Thanks

I am also getting the error on version 1.3.19 in the following code snippet:
createOrder(req: any) {
    const options = req.body.options;

    // Preparing the contract based on request options
    let contract: Contract;
    if (options.secId) {
      // If secType is FIGI, use this specific contract definition
      contract = {
        secIdType: "FIGI",
        secId: options.secId,
        exchange: options.exchange,
      };
    } else {
      // Default contract definition for other secTypes
      contract = {
        symbol: options.symbol,
        exchange: options.exchange,
        currency: options.currency,
        secType: this.getSecType(req),
      };
    }

    // Handling specific contract attributes based on secType
    if (contract.secType === "STK" && options.primaryExch) {
      contract.primaryExch = options.primaryExch;
    }

    // Futures
    if (contract.secType === "FUT" && options.lastTradeDateOrContractMonth) {
      contract.lastTradeDateOrContractMonth =
        options.lastTradeDateOrContractMonth;
    }
    if (contract.secType === "FUT" && options.localSymbol) {
      contract.localSymbol = options.localSymbol;
    }
    if (contract.secType === "FUT" && options.multiplier) {
      contract.multiplier = options.multiplier;
    }

    // Single order
    const singleOrder: Order = {
      orderId: this.nextOrderId++,
      action:
        options.orderAction === "BUY" ? OrderAction.BUY : OrderAction.SELL,
      orderType: this.getOrderType(req),
      totalQuantity: options.quantity,
      lmtPrice: options.orderType === "LMT" ? options.lmtPrice : undefined,
      auxPrice: options.orderType.startsWith("STP")
        ? options.auxPrice
        : undefined,
      account: this.account,
      transmit: true,
      tif: options.tif,
    };

    // Placing the single order
    this.ib.placeOrder(singleOrder.orderId!, contract, singleOrder);
    winston.log("info", `Order placed with ID: ${singleOrder.orderId}`);
  }

When sending this:
{
  "bracketOrder": false,
  "options": {
      "orderAction": "BUY",
      "symbol": "SPY",
      "exchange": "SMART",
      "lmtPrice": 1,
      "takeProfitLimitPrice": 1.2,
      "stopLossPrice": 0.9,
      "currency": "USD",
      "quantity": 1.0,
      "secType": "STK",
      "tif": "GTC",
      "orderType": "LMT"
  }
}

Thanks.
Could you please provide the value of singleOrder when calling this.ib.placeOrder(singleOrder.orderId!, contract, singleOrder);?
Don't forget to hide you account number.

Thank you for answering. It looks like the order id is set correctly and increases with incoming signals. The order is also being placed in TWS, but the error remains.
Here is my complete log (I changed the account number):
{"level":"info","message":"Listening to requests on 443"} {"level":"info","message":"Connecting to database..."} {"level":"info","message":"Connection to database established."} Broker connected Next valid order ID: 519 {"level":"info","message":"Signal received."} {"level":"info","message":"Placing order AAPL"} {"level":"info","message":"Contract Data: {\"symbol\":\"AAPL\",\"exchange\":\"SMART\",\"currency\":\"USD\",\"secType\":\"STK\"}"} {"level":"info","message":"Order Data: {\"orderId\":519,\"action\":\"BUY\",\"orderType\":\"LMT\",\"totalQuantity\":1,\"lmtPrice\":1,\"account\":\"DU1234567\",\"transmit\":true,\"tif\":\"GTC\"}"} {"level":"info","message":"singleOrder.orderId! 519"} {"level":"info","message":"Order placed with ID: 519"} {"level":"info","message":"::ffff:<IP_ADDRESS> - - [13/Apr/2024:23:19:17 +0000] \"POST /webhooks/test HTTP/1.1\" 200 2 \"-\" \"Thunder Client (https://www.thunderclient.com)\"\n"} Error code 505 for reqId -1: Decoding error on OPEN_ORDER: unprocessed data left on queue (["","","","",null]). Please report to https://github.com/stoqey/ib {"level":"info","message":"Order 519 status: PreSubmitted"} Error code 505 for reqId -1: Decoding error on OPEN_ORDER: unprocessed data left on queue (["","","","",null]). Please report to https://github.com/stoqey/ib {"level":"info","message":"Order 519 status: PreSubmitted"}
And the complete implementation (I removed the createBracketOrder()-, getSecType()- and getOrderType()-functions for simplicity):
import * as dotenv from "dotenv";
dotenv.config({ path: __dirname + "/.env" });
import {
  IBApi,
  EventName,
  ErrorCode,
  Contract,
  SecType,
  Order,
  OrderType,
  OrderAction,
} from "@stoqey/ib";
import winston from "../config/winston";

class Broker {
  clientId: number;
  account: string;
  ib: IBApi;
  nextOrderId: number;

  constructor(_mode: string) {
    this.account =
      _mode === "LIVE"
        ? String(process.env.TWS_LIVE_ACCOUNT)
        : String(process.env.TWS_PAPER_ACCOUNT);
    this.clientId =
      _mode === "LIVE"
        ? Number(process.env.TWS_LIVE_CLIENT_ID)
        : Number(process.env.TWS_PAPER_CLIENT_ID);
    this.ib = new IBApi({
      port:
        _mode === "LIVE"
          ? Number(process.env.TWS_LIVE_PORT)
          : Number(process.env.TWS_PAPER_PORT),
    });
    this.connect();
    this.nextOrderId = 0;
    this.setupListeners();
  }

  connect() {
    this.ib
      .connect(this.clientId)
      .on(EventName.connected, () => console.log("Broker connected"));
  }

  disconnect() {
    this.ib.disconnect();
    console.log("Broker disconnected");
  }

  setupListeners() {
    this.ib
      .on(EventName.nextValidId, (orderId) => {
        this.nextOrderId = orderId;
        console.log(`Next valid order ID: ${orderId}`);
      })
      .on(EventName.error, (err: Error, code: ErrorCode, reqId: number) => {
        console.error(`Error code ${code} for reqId ${reqId}: ${err.message}`);
      })
      .on(EventName.orderStatus, (orderId: number, status: string) => {
        winston.log("info", `Order ${orderId} status: ${status}`);
        if (status === "Submitted" || status === "Filled") {
          console.log(`Order ${orderId} processed with status: ${status}`);
        }
      });
  }

  createOrder(req: any) {
    const options = req.body.options;

    // Preparing the contract based on request options
    let contract: Contract;
    if (options.secId) {
      contract = {
        secIdType: "FIGI",
        secId: options.secId,
        exchange: options.exchange,
      };
    } else {
      // Default contract definition for other secTypes
      contract = {
        symbol: options.symbol,
        exchange: options.exchange,
        currency: options.currency,
        secType: this.getSecType(req),
      };
    }

    // Handling specific contract attributes based on secType
    if (contract.secType === "STK" && options.primaryExch) {
      contract.primaryExch = options.primaryExch;
    }

    // Futures
    if (contract.secType === "FUT" && options.lastTradeDateOrContractMonth) {
      contract.lastTradeDateOrContractMonth =
        options.lastTradeDateOrContractMonth;
    }
    if (contract.secType === "FUT" && options.localSymbol) {
      contract.localSymbol = options.localSymbol;
    }
    if (contract.secType === "FUT" && options.multiplier) {
      contract.multiplier = options.multiplier;
    }

    // Single order
    const singleOrder: Order = {
      orderId: Number(this.nextOrderId++),
      action:
        options.orderAction === "BUY" ? OrderAction.BUY : OrderAction.SELL,
      orderType: this.getOrderType(req),
      totalQuantity: Number(options.quantity),
      lmtPrice: options.orderType === "LMT" ? Number(options.lmtPrice) : undefined,
      auxPrice: options.orderType.startsWith("STP")
        ? options.auxPrice
        : undefined,
      account: this.account,
      transmit: true,
      tif: options.tif,
    };
    winston.log('info', 'Contract Data: '+JSON.stringify(contract))
    winston.log('info', 'Order Data: '+JSON.stringify(singleOrder))

    // Placing the single order
    winston.log('info', 'singleOrder.orderId! ' +singleOrder.orderId!)
    this.ib.placeOrder(singleOrder.orderId!, contract, singleOrder);
    winston.log("info", `Order placed with ID: ${singleOrder.orderId}`);
  }

}

module.exports = Broker;

Hello,
I can't reproduce your issue with v1.3.19:
info Contract Data: {"symbol":"SPY","exchange":"SMART","currency":"USD","secType":"STK"}
info Order Data: {"orderId":0,"action":"BUY","orderType":"LMT","totalQuantity":1,"lmtPrice":1,"account":"undefined","transmit":true,"tif":"GTC"}
info singleOrder.orderId! 0
info Order placed with ID: 0
info Contract Data: {"symbol":"SPY","exchange":"SMART","currency":"USD","secType":"STK"}
info Order Data: {"orderId":1,"action":"BUY","orderType":"LMT","totalQuantity":1,"lmtPrice":1,"account":"undefined","transmit":true,"tif":"GTC"}
info singleOrder.orderId! 1
info Order placed with ID: 1
Broker connected
Next valid order ID: 2
Error code 10149 for reqId 0: Invalid order id: 0
info Order 1 status: PreSubmitted

I called createOrder twice because the first one failed because of a zero order Id but not decoding error.

The error started appearing again (for any orders) after the recent TWS update.

"1.3.21"

TWS <IP_ADDRESS>

What is TWS <IP_ADDRESS>? I have TWS 10.19.2n, dated May 22 2024.
Can you provide a link to the location where you found it?

What is TWS <IP_ADDRESS>? I have TWS 10.19.2n, dated May 22 2024. Can you provide a link to the location where you found it?

My bad, TWS 10.30.1a Jun 10, 2024

The issue is still here :(

Hello, I have a similar problem since today after I reinstalled my PC and had to do use npm install again
I am using TWS build 10.29.1h, Jun 5, 2024 10:53:32 PM
here is the program output with order and other details aswell
14/06/2024 18:49:31.197	[LOG]IB API connected (demo) 14/06/2024 18:49:31.198	[DEBUG]nextValidId: 20  14/06/2024 18:49:31.214	[LOG][IBAPI]id: -1 / code: 2104 / Market data farm connection is OK:usfarm.nj 14/06/2024 18:49:31.215	[LOG][IBAPI]id: -1 / code: 2104 / Market data farm connection is OK:usfuture 14/06/2024 18:49:31.215	[LOG][IBAPI]id: -1 / code: 2104 / Market data farm connection is OK:usfarm 14/06/2024 18:49:31.215	[LOG][IBAPI]id: -1 / code: 2106 / HMDS data farm connection is OK:ushmds 14/06/2024 18:49:31.216	[LOG][IBAPI]id: -1 / code: 2158 / Sec-def data farm connection is OK:secdefil 14/06/2024 18:49:47.111	[DEBUG][Order 8(20)]prepareOrder: order({"side":"LONG","orderFlag":null,"secType":"FOP","symbol":"MES","tradingClass":"X3B","expiration":"20240618","action":"BUY","count":1,"strike":"5425","right":"PUT","orderType":"LMT","outsideRTH":1,"tif":"DAY","conId":"708847529","underConId":"620731036","parentSymbol":"ES","parentConId":703139398,"parentUnderConId":551601561,"exchange":"CME","multiplier":5,"currency":"USD","id":8,"insertId":8,"tradeId":3,"date":1718383787011,"comboId":null,"isNew":true,"contract":{"conId":"708847529","exchange":"CME"},"account":"DU5784856","ibApiOrderId":20,"midAdjustTick":0,"failCount":0,"firstSubmitTime":1718383787109,"lastMidUpdate":1718383787109,"lastSubmitAttemp":1718383787109,"canTransmit":false}), placeOrderType({"action":"BUY","lmtPrice":0,"totalQuantity":1,"transmit":false,"orderType":"LMT","account":"DU5784856","tif":"DAY","orderRef":"RS/3/8"}) 14/06/2024 18:49:47.113	[DEBUG][Order 9(21)]prepareOrder: order({"side":"LONG","orderFlag":null,"secType":"FOP","symbol":"MES","tradingClass":"X3B","expiration":"20240618","action":"SELL","count":1,"strike":"5425","right":"CALL","orderType":"LMT","outsideRTH":1,"tif":"DAY","conId":"708846212","underConId":"620731036","parentSymbol":"ES","parentConId":703138996,"parentUnderConId":551601561,"exchange":"CME","multiplier":5,"currency":"USD","id":9,"insertId":9,"tradeId":3,"date":1718383787011,"comboId":null,"isNew":true,"contract":{"conId":"708846212","exchange":"CME"},"account":"DU5784856","ibApiOrderId":21,"midAdjustTick":0,"failCount":0,"firstSubmitTime":1718383787112,"lastMidUpdate":1718383787112,"lastSubmitAttemp":1718383787112,"canTransmit":false}), placeOrderType({"action":"SELL","lmtPrice":0,"totalQuantity":1,"transmit":false,"orderType":"LMT","account":"DU5784856","tif":"DAY","orderRef":"RS/3/9"}) 14/06/2024 18:49:48.376	[DEBUG][Order 8(20)]processOrderQueue: order({"side":"LONG","orderFlag":null,"secType":"FOP","symbol":"MES","tradingClass":"X3B","expiration":"20240618","action":"BUY","count":1,"strike":"5425","right":"PUT","orderType":"LMT","outsideRTH":1,"tif":"DAY","conId":"708847529","underConId":"620731036","parentSymbol":"ES","parentConId":703139398,"parentUnderConId":551601561,"exchange":"CME","multiplier":5,"currency":"USD","id":8,"insertId":8,"tradeId":3,"date":1718383787011,"comboId":null,"isNew":true,"contract":{"conId":"708847529","exchange":"CME"},"account":"DU5784856","ibApiOrderId":20,"midAdjustTick":0,"failCount":0,"firstSubmitTime":1718383787172,"lastMidUpdate":1718383788277,"lastSubmitAttemp":1718383788376,"canTransmit":true,"parentBid":17.5,"parentAsk":18,"mid":17.75,"bid":17.5,"ask":18,"forceUpadte":false,"lastMid":17.75}), LMTOrder({"action":"BUY","lmtPrice":17.75,"totalQuantity":1,"transmit":true,"orderType":"LMT","account":"DU5784856","tif":"DAY","orderRef":"RS/3/8"}) 14/06/2024 18:49:48.377	[DEBUG][Order 9(21)]processOrderQueue: order({"side":"LONG","orderFlag":null,"secType":"FOP","symbol":"MES","tradingClass":"X3B","expiration":"20240618","action":"SELL","count":1,"strike":"5425","right":"CALL","orderType":"LMT","outsideRTH":1,"tif":"DAY","conId":"708846212","underConId":"620731036","parentSymbol":"ES","parentConId":703138996,"parentUnderConId":551601561,"exchange":"CME","multiplier":5,"currency":"USD","id":9,"insertId":9,"tradeId":3,"date":1718383787011,"comboId":null,"isNew":true,"contract":{"conId":"708846212","exchange":"CME"},"account":"DU5784856","ibApiOrderId":21,"midAdjustTick":0,"failCount":0,"firstSubmitTime":1718383787172,"lastMidUpdate":1718383788277,"lastSubmitAttemp":1718383788376,"canTransmit":true,"parentBid":18.75,"parentAsk":19.25,"mid":19,"bid":18.75,"ask":19.5,"forceUpadte":false,"lastMid":19}), LMTOrder({"action":"SELL","lmtPrice":19,"totalQuantity":1,"transmit":true,"orderType":"LMT","account":"DU5784856","tif":"DAY","orderRef":"RS/3/9"}) 14/06/2024 18:49:48.579	[ERROR][IBAPI]id: -1 / code: 505 / Decoding error on OPEN_ORDER: unprocessed data left on queue (["","","","",null]). Please report to https://github.com/stoqey/ib 14/06/2024 18:49:48.580	[LOG][Order 8(20)]Submitted BUY 1x FOP MES LMT 20240618 5425 PUT 14/06/2024 18:49:48.582	[DEBUG][Order 8(20)]bid=17.75, ask=18, parentBid=17.5, parentAsk=18(2) 14/06/2024 18:49:48.687	[ERROR][IBAPI]id: -1 / code: 505 / Decoding error on OPEN_ORDER: unprocessed data left on queue (["","","","",null]). Please report to https://github.com/stoqey/ib 14/06/2024 18:49:48.688	[LOG][Order 9(21)]Submitted SELL 1x FOP MES LMT 20240618 5425 CALL 14/06/2024 18:49:55.222	[DEBUG][Order 8(20)]processOrderQueue: order({"side":"LONG","orderFlag":null,"secType":"FOP","symbol":"MES","tradingClass":"X3B","expiration":"20240618","action":"BUY","count":1,"strike":"5425","right":"PUT","orderType":"LMT","outsideRTH":1,"tif":"DAY","conId":"708847529","underConId":"620731036","parentSymbol":"ES","parentConId":703139398,"parentUnderConId":551601561,"exchange":"CME","multiplier":5,"currency":"USD","id":8,"insertId":8,"tradeId":3,"date":1718383787011,"comboId":null,"isNew":true,"contract":{"conId":"708847529","exchange":"CME"},"account":"DU5784856","ibApiOrderId":20,"midAdjustTick":0,"failCount":0,"firstSubmitTime":1718383787172,"lastMidUpdate":1718383795017,"lastSubmitAttemp":1718383795221,"canTransmit":true,"parentBid":17.25,"parentAsk":17.75,"mid":18,"bid":17.75,"ask":18,"forceUpadte":false,"lastMid":18,"lmtPrice":17.75,"auxPrice":0,"submitted":1718383788580,"permId":2096909561,"status":"SUBMITTED"}), LMTOrder({"action":"BUY","lmtPrice":18,"totalQuantity":1,"transmit":true,"orderType":"LMT","account":"DU5784856","tif":"DAY","orderRef":"RS/3/8"}) 14/06/2024 18:49:55.410	[ERROR][IBAPI]id: -1 / code: 505 / Decoding error on OPEN_ORDER: unprocessed data left on queue (["","","","",null]). Please report to https://github.com/stoqey/ib 14/06/2024 18:49:55.500	[ERROR][IBAPI]id: -1 / code: 505 / Decoding error on OPEN_ORDER: unprocessed data left on queue (["","","","",null]). Please report to https://github.com/stoqey/ib 14/06/2024 18:49:55.501	[LOG][Order 8(20)]Filled BUY 1x FOP MES LMT 20240618 5425 PUT @18 14/06/2024 18:49:55.501	[ERROR][IBAPI]id: -1 / code: 505 / Decoding error on OPEN_ORDER: unprocessed data left on queue (["","","","",null]). Please report to https://github.com/stoqey/ib 14/06/2024 18:49:56.067	[ERROR][IBAPI]id: -1 / code: 505 / Decoding error on OPEN_ORDER: unprocessed data left on queue (["","","","",null]). Please report to https://github.com/stoqey/ib 14/06/2024 18:49:56.068	[LOG][Order 9(21)]Filled SELL 1x FOP MES LMT 20240618 5425 CALL @19 14/06/2024 18:49:56.178	[ERROR][IBAPI]id: -1 / code: 505 / Decoding error on OPEN_ORDER: unprocessed data left on queue (["","","","",null]). Please report to https://github.com/stoqey/ib

Sorry but once again I can't reproduce the problem:
    const refContract: Contract = {
      conId: 708846212,
      exchange: "CME",
      symbol: "MES",
    };
    const refOrder: Order = {
      action: OrderAction.BUY,
      lmtPrice: 1,
      totalQuantity: 1,
      transmit: true,
      orderType: OrderType.LMT,
      account: "DU5784856",
      tif: "DAY",
      orderRef: "RS/3/9",
    };

 PASS  src/tests/unit/api/order/placeOrder.test.ts (7.576 s)
  Place Orders
    ✓ Stock placeOrder (1034 ms)
    ✓ What if Order (803 ms)
    ✓ Crypto placeOrder (3555 ms)
    ✓ Option placeOrder (781 ms)
    ✓ Issue #203 (652 ms)

Test Suites: 1 passed, 1 total
Tests:       5 passed, 5 total
Snapshots:   0 total
Time:        9.675 s, estimated 31 s
Ran all test suites matching /.\/src\/tests\/unit\/api\/order\/placeOrder.test.ts/i.
✨  Done in 10.61s.

on TWS 10.29.1h
If somebody can contact me via PM and give me an access to his API maybe I would be able to reproduce this bug.
BTW I am using node v20.12.2 on a MacBook Air M1.

const contract = {
  symbol: "ES",
  exchange: "CME",
  currency: "USD",
  lastTradeDateOrContractMonth: '20240920',
  secType: SecType.FUT,
};
const order = {
  orderType: OrderType.LMT,
  action: OrderAction.BUY,
  lmtPrice: 5400,
  orderId: 999,
  totalQuantity: 1,
};

The order above shows Decoding error on OPEN_ORDER: unprocessed data left on queue (["",null]). Please report to https://github.com/stoqey/ib - code: 505 - reqId: -1

Thanks for your report.
Unfortunately, once again, it works fine for me:
 PASS  src/tests/unit/api/order/issue203.test.ts (10.576 s)
  Issue #203
    ✓ mafianekcek report (382 ms)
    ✓ fanazhe report (9617 ms)

Test Suites: 1 passed, 1 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        11.906 s, estimated 41 s

Could you maybe provide some more information about the exec env: OS, arch, Node release, IB GW or TWS release number, ... also I am available for a joint debug session on your environment.

Thanks for your report. Unfortunately, once again, it works fine for me:
 PASS  src/tests/unit/api/order/issue203.test.ts (10.576 s)
  Issue #203
    ✓ mafianekcek report (382 ms)
    ✓ fanazhe report (9617 ms)

Test Suites: 1 passed, 1 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        11.906 s, estimated 41 s

Could you maybe provide some more information about the exec env: OS, arch, Node release, IB GW or TWS release number, ... also I am available for a joint debug session on your environment.

My test env: 64-bit Windows 10 Enterprise 22H2, Core i5, NodeJS v20.12.2, TWS Build 10.30.1j
In both live and paper mode can get the Decoding error on OPEN_ORDER:... error.

I have the same issue both on live and paper mode.
IBKR Error: Error: Decoding error on OPEN_ORDER: unprocessed data left on queue (["",null]). Please report to https://github.com/stoqey/ib


crono logs auth token required : Portus + LDAP config

anyone can tell me why crono is filling up my disk with this kind of logs ?
registry_1 | <IP_ADDRESS> - - [28/Dec/2015:07:17:33 +0000] "GET /v2/_catalog?n=100 HTTP/1.1" 200 20 "" "Ruby"
registry_1 | time="2015-12-28T07:17:43.548451343Z" level=warning msg="error authorizing context: authorization token required" environment=staging http.request.host=registry.[domain].com http.request.id=e3e6ef26-0022-4d92-a902-5b6174ed60a1 http.request.method=GET http.request.remoteaddr=<IP_ADDRESS> http.request.uri="/v2/_catalog?n=100" http.request.useragent=Ruby instance.id=223612f2-7984-44d0-8538-417bf01766c5 service=registry version=v2.1.1
registry_1 | <IP_ADDRESS> - - [28/Dec/2015:07:17:43 +0000] "GET /v2/_catalog?n=100 HTTP/1.1" 401 161 "" "Ruby"

seems i have to make crono "login" into the registry, but i may have missed how to :(
any clues maybe ?

Which version of portus are you using, how did you deploy it?

deployed using docker-compose using a cloned repo last tuesday.
i've build portus_web container without the ENV regarding compose
and deployed the whole stack using this compose file:
web:
  image: portus_web
  command: puma -b 'tcp://<IP_ADDRESS>:3000' -w 3
  environment:
    VIRTUAL_HOST: webregistry.[mydomain].com
    VIRTUAL_PORT: 3000
    RAILS_ENV: production
    PORTUS_KEY_PATH: /etc/nginx/ssl/registry.[mydomain].com.key
    PORTUS_SECRET_KEY_BASE: [my key]
    PORTUS_MACHINE_FQDN: webregistry.[mydomain].com
    PORTUS_PASSWORD: [Portus Password]
    PORTUS_PRODUCTION_HOST: db
    PORTUS_PRODUCTION_USERNAME: root
    PORTUS_PRODUCTION_PASSWORD: [PASSWORD]
    PORTUS_PRODUCTION_DATABASE: portus
    AUTH_ENABLED: 0
    FILTERED_METHOD: 0

  volumes:
    - /home/synodocker/conf/registrycerts:/etc/nginx/ssl/
    - /home/synodocker/conf/Portus/config-prod.yml:/portus/config/config.yml
  links:
    - db
  container_name: webregistry.[mydomain].com
  domainname: [mydomain].com
  hostname: webregistry

crono:
  image: portus_web
  command: /usr/bin/supervisord
  environment:
    RAILS_ENV: production
    PORTUS_KEY_PATH: /etc/nginx/ssl/registry.[mydomain].com.key
    PORTUS_SECRET_KEY_BASE: [my key]
    PORTUS_MACHINE_FQDN: webregistry.[mydomain].com
    PORTUS_PASSWORD: [Portus Password]
    PORTUS_PRODUCTION_HOST: db
    PORTUS_PRODUCTION_USERNAME: root
    PORTUS_PRODUCTION_PASSWORD: [PASSWORD]
    PORTUS_PRODUCTION_DATABASE: portus
    CATALOG_CRON: "10.seconds"
  links:
    - db
  container_name: portus_cron
  hostname: portuscron

db:
  image: library/mariadb
  environment:
    MYSQL_ROOT_PASSWORD: [PASSWORD]
  container_name: portus_db
  hostname: portusdb

registry:
  image: library/registry:2.1.1
  volumes:
    - /conf/registryv2:/registry
    - /registry_data:/var/lib/registry/
    - /conf/registrycerts:/etc/nginx/ssl/
  entrypoint: /registry/entry.sh
  env_file: /conf/registryv2/environment
  links:
    - web
  environment:
    VIRTUAL_HOST: registry.[mydomain].com
    VIRTUAL_PORT: 5000
    FILTERED_METHOD: 1
    AUTH_ENABLED: 0
    DOCKER_REGISTRY: 1
  container_name: registry.[mydomain].com
  domainname: [mydomain].com
  hostname: registry
``

how does crono gets authenticated to the registry ?
is there anywhere to pass the correct credentials ?
as far as i dig in, it seems it's a credential issue as we have connected portus to our LDAP server

Crono uses the "portus" special user that is created during the initialization of the database. That should work even when LDAP is being used.

@flavio thanks for your reply, as i have a portus user in my LDAP , can i use it ? how to pass the password of my LDAP account ?

The crono job allocates a new instance of RegistryClient from there. The instance is instatiated here. As you can see the RegistryClient constructor uses the portus username and the secret password by default.
I don't suggest to change this piece of code to get the password from LDAP. Most users do not want to introduce artificial user inside of their LDAP directory.

@flavio thanks a lot, i won't change a piece of code :)
if i understand correctly their is a portus user created as DB initialization, i guess the password is portus ?
this user then can access the registry right ?
and these are credentials used by crono right ?

As you can see here the password is stored inside of rails' secrets.
The value of the password depends on the rails environment that you are using. You are using the compose setup, which is meant just for testing. So you are using the development environment, which inherits from the default one: "portus1234". This is insecure of course, that's why on production mode we behave in a different way.

then i really don't understand why crono trigger these logs ... as i override this password using:
   PORTUS_PASSWORD: [Portus Password]
i can't figure out why my registry complains.
any chances i can put crono in debug mode ?

Are you sure the database has been initialized when running on production mode?
Are you also sure other users can actually log into the registry?

here how i start my env:

docker-compose -f [mycompose.yml] up -d
docker-compose -f [mycompose.yml] run --rm web rake db:create
docker-compose -f [mycompose.yml] run --rm web rake db:migrate
docker-compose -f [mycompose.yml] run --rm web rake db:seed

all my ldap users can login into portus AND to the registry (tested by pushing docker images).

Try to remove the portus user from the database and then do:
docker-compose -f [mycompose.yml] run --rm web rake portus:create_api_account

"Try to remove the portus user from the database and then do:"

directly in the mysql db or using rake ?

There's no rake task for that, you have to do that manually. Either from mysql or using rails' console (if you are familiar with it)

ok, i'll try and let you know ASAP
thanks for your precious help @flavio

FYI, i had to remove the namespace of the user portus as well.
i'll try restart crono and see how it goes

ok i did it all ,
new error now (knocking my head!):
registry_1 | time="2015-12-29T09:23:44.41544458Z" level=warning msg="error authorizing context: insufficient scope" environment=production
as if the portus user doesn't have sufficient privileges ?

That's new to me, we need more time to look into that issue.

no problemo, if needed more informations let me , i'll try and dig in

all right , starting from scratch but with a registry allready populated.
crono works correctly as it updates the mysql db with the already populated docker images of the registry.
i still have those logs filling up my disk:
time="2015-12-29T09:54:52.823027845Z" level=warning msg="error authorizing context: authorization token required" environment=production http.request.host=registry.mydomain.com http.request.id=81e0c8f5-961b-4bdd-983a-bc7559a155e4 http.request.method=GET http.request.remoteaddr=<IP_ADDRESS> http.request.uri="/v2/_catalog?n=100" http.request.useragent=Ruby instance.id=26d898e8-f780-4cf5-b34e-e8b0f8568806 service=registry version=v2.1.1
<IP_ADDRESS> - - [29/Dec/2015:09:54:52 +0000] "GET /v2/_catalog?n=100 HTTP/1.1" 401 161 "" "Ruby"
time="2015-12-29T09:54:52.971118778Z" level=info msg="response completed" environment=production http.request.host=registry.mydomain.com http.request.id=06084a15-b001-40a0-b0c4-4a5adf25c90a http.request.method=GET http.request.remoteaddr=<IP_ADDRESS> http.request.uri="/v2/_catalog?n=100" http.request.useragent=Ruby http.response.contenttype="application/json; charset=utf-8" http.response.duration=4.43801ms http.response.status=200 http.response.written=30 instance.id=26d898e8-f780-4cf5-b34e-e8b0f8568806 service=registry version=v2.1.1
<IP_ADDRESS> - - [29/Dec/2015:09:54:52 +0000] "GET /v2/_catalog?n=100 HTTP/1.1" 200 30 "" "Ruby"
time="2015-12-29T09:54:52.984795674Z" level=warning msg="error authorizing context: insufficient scope" environment=production http.request.host=registry.mydomain.com http.request.id=f46bc5bb-f944-4a13-8695-10497e0d4c01 http.request.method=GET http.request.remoteaddr=<IP_ADDRESS> http.request.uri="/v2/alpine/tags/list" http.request.useragent=Ruby instance.id=26d898e8-f780-4cf5-b34e-e8b0f8568806 service=registry vars.name=alpine version=v2.1.1
<IP_ADDRESS> - - [29/Dec/2015:09:54:52 +0000] "GET /v2/alpine/tags/list HTTP/1.1" 401 167 "" "Ruby"
time="2015-12-29T09:54:53.123398323Z" level=info msg="response completed" environment=production http.request.host=registry.mydomain.com http.request.id=f061399c-0469-49cb-9f4a-f6c5915a9364 http.request.method=GET http.request.remoteaddr=<IP_ADDRESS> http.request.uri="/v2/alpine/tags/list" http.request.useragent=Ruby http.response.contenttype="application/json; charset=utf-8" http.response.duration=2.520922ms http.response.status=200 http.response.written=38 instance.id=26d898e8-f780-4cf5-b34e-e8b0f8568806 service=registry version=v2.1.1
<IP_ADDRESS> - - [29/Dec/2015:09:54:53 +0000] "GET /v2/alpine/tags/list HTTP/1.1" 200 38 "" "Ruby"

everything seems to be running fine, but it generates too much logs :(
i'm now sure it's related to crono as, i no more have logs when i stop crono
i just can't find what's going on :(

This is how I get it fixed.
Login into the database:
USE portus;
SHOW TABLES;
SELECT * FROM users;
DELETE FROM users WHERE username = 'portus';
SELECT * FROM teams;
DELETE FROM teams WHERE name = 'portus';
SELECT * FROM namespaces;
DELETE FROM namespaces WHERE name = 'portus';

docker exec -i -t portus bash
rake portus:create_api_account


Make a page start popping when swiping right anywhere on the screen.

Use case
Adding the ability to pop a page when the user swipes anywhere on the screen adds lots of convenience for the user and their overall experience.
Having to reach all the way across the device(for right-handed people) to navigate back is pretty annoying especially for users on larger devices such as iPads, other tablets, and really any modern phone. Apps such as Twitter and Instagram have this feature and its very convenient.
Proposal
Add a PageRoute which makes it possible to start navigating back when swiping right anywhere on the screen.
Swipeable_Page_Route already has such functionality however it has a few drawbacks:

You always have to explicitly push the SwipeablePageRoute everytime like so:
 Navigator.of(context).push(SwipeablePageRoute(builder: (context) => myPage()));
When a widget on the page is horizontally scrollable like a horizontal ListView or a TabBarView, rather than the widget scrolling when the user swipes right, the page starts to pop.

SwipeablePageRoute is a "specialized CupertinoPageRoute" so I suppose that's the best place to start. I have tried to such behavior but I wasn't too successful with it.

You can use get,It encapsulates this function. You can see how it is implemented.

Hello @pavittarsingh315. Flutter follows Google's Material and Apple's Cupertino guidelines to design components. These include navigation. Apps like Twitter have this feature, yes, but it's most likely implemented by the developer or by some third party library. I don't think this proposal makes sense for Flutter.
Some possible solutions are to build your own transition or, as @wuweijian1997 said, use GetX or copy their implementation in your own codebase. I'm closing this issue as this is not a valid feature request. You're welcome to comment if you disagree.
Google Material guidelines
Apple Cupertino guidelines


JS API: Filter options to hide histogram bars and category counts in 'categorical' filter.

In some cases, 'categorical' filter can be used for UI purposes, and then category counts and histogram bars become visual garbage.

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-14799

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-16059


Sanitize transport config by embedding of transport.StreamDialer & PacketDialer types

This PR proposes using embedding of transport.StreamDialer & transport.PacketDialer types with SanitizedConfig string that holds the sanitized config for the wrapped dialer.

@fortuna I appreciate it if you could review the changes. I applied your comments/feedback on the example PR. All TODO items are implemented and the code is cleaned up.

decided to pursue changes in PR #152


How to change Artist Name and Song Name?

Plz help me

@quocvietktc
I can help, just go to my repo, I have example you can use


Add flag to return .createMany output as .findMany output

Problem
Using createMany returns output as a the count of row inserted
Suggested solution
Add a boolean flag to support to return the added values instead of row count added. It should have the option to return response just like the findMany output

+1
having the return values (IDs) would also help to get a workaround for the lack of nested createMany https://github.com/prisma/prisma/issues/5455

Closing as duplicate of #8131 indeed. Leave a 👍 there if you have not yet.


vgg_face model,only compatible with Theano

I've already converted the caffe vgg_face model to keras,but it's only compatible with Theano.
I've also tried many times to use the convert_kernel function in keras.utils.np_utils to make it compatible with Tensorflow,but I can't get the right result.

This is a VGG16 model, which is already included in this repo. What you should do is provide new weights for the existing model and make them loadable by the existing model.

Please refer to https://github.com/fchollet/deep-learning-models/issues/1 and http://www.robots.ox.ac.uk/~vgg/software/vgg_face/,what I've upload is the weight convertd from VGG_FACE,the network architecture is as same as VGG16,but It's used for Face Recogntion.

Here is two test pic,which belong to the first class and last class,respectively.


Fix installation from gemfile shared across different directories

@faucct ping on my last comment about ~?

ping @faucct

Hello, had no time to finish the thing yet. Will be done in couple weeks.

ping @faucct is this still being worked on?

Finally rebased. Please, review this once again.

Any news @faucct? I copied the test you added to both 2-0-stable and current master (in both 2.x and 3.x mode), and it passed in all cases, so we really nee a description of what this is fixing. Thanks!

I guess this can be closed if the tests are passing.

Ok, if you run into related trouble, make sure to let us know!


Fix autodetect restarting platform from OpenShift to Kubernetes

Signed-off-by: Gary Brown<EMAIL_ADDRESS>

@rubenvp8510 Would you be able to review? It is related to https://issues.redhat.com/browse/TRACING-1117

cc @jpkrohling for future reference :)

This looks good.

@kevinearls @rubenvp8510 Thanks - will merge then.


changing pactl to use default sink

pactl allows to configure a default sink.
Better use that instead of allways using sink 0.

Thanks!


Update porting-guides.md

Adding functionality to port to x86 in addition to UWP
Includes:
-Addition of x86 in opening paragraph
-(UWP only) callouts on common steps 3 and 4
-Replaced deprecated step 5 with x86 instructions
-other verbage to help with flow
-optional screenshot of build setting menu available if requested.
Suggest also removing .net portability analyzer

Docs Build status updates of commit 10eb2d0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/porting-guides.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit ff54bd4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/porting-guides.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

@jessemcculloch can you make @hferrone  a required reviewer for this?

Docs Build status updates of commit ff50578:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/porting-guides.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


GH949, Fix object_tracker to accept NULL handles in destroy/free calls

ObjectTracker emitted errors when a destroy/free call was made with VK_NULL_HANDLE, which is allowed by the spec.
No positive test for this since it happens to crash in many drivers.  Fixes #949.

Fixed and pushed to Master.


Add GTM libs

Details

Fixed Issues
$ https://github.com/Expensify/App/issues/50938
Tests

[ ] Verify that no errors appear in the JS console

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

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 the expected offline behavior in the Offline steps 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 tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

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

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] 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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] 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 is localized by adding it to src/languages/* files and using the translation method

[ ] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] 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
[ ] I verified that if a function's arguments changed that all usages have also been updated correctly
[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] 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(theme.componentBG))

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] 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.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

This firebase upgrade requires use_frameworks which seems to not be compatible with some of our packages and the new fabric architecture.

We're using react-native v0.75, but it's not 100% clear if use_frameworks works yet
I attempted to set it up but get a 'react_native_plaid_link_sdk-Swift.h' file not found build error.

I'm going to try to move forward without a firebase upgrade and see if it still works in the DebugView.

I'm having Android build issues, but I can successfully build iOS without react-native-firebase upgrades. Unfortunately, I see no events in the DebugView which I think would be fixed by the upgrade.
I managed to fix the plaid error by defining the USE_FRAMEWORKS macro that enables our patch-package fixes. However, now I'm getting a new error 'react/renderer/consistency/ShadowTreeRevisionConsistencyManager.h' file not found which looks consistent with others having this issue here. I'm not sure how to workaround that atm.

Alright I've split this into two PR's. This one just adds the GTM library with no firebase upgrade. https://github.com/Expensify/App/pull/51413 does both.
Good news is I got the DebugView to work on iOS! I needed to add both -FIRDebugEnabled  and -FIRAnalyticsDebugEnabled as launch options. I also needed to disable WARP before launching the app to fix this SSL issue:
Task <4437D34D-9C89-4E5D-8BF9-79F390C7C655>.<1> finished with error [-1200] Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." UserInfo={NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, NSErrorPeerCertificateChainKey=(
    "<cert(0x15f437000) s: firebaselogging-pa.googleapis.com i: Gateway Intermediate ECC Certificate Authority>",
    "<cert(0x113042a00) s: Gateway Intermediate ECC Certificate Authority i: Cloudflare for Teams ECC Certificate Authority>"
), NSErrorClientCertificateStateKey=0, NSErrorFailingURLKey=https://firebaselogging-pa.googleapis.com/v1/firelog/legacy/batchlog, NSErrorFailingURLStringKey=https://firebaselogging-pa.googleapis.com/v1/firelog/legacy/batchlog, NSUnderlyingError=0x600000f6f660 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, kCFStreamPropertySSLPeerTrust=<SecTrustRef: 0x6000075213f0>, _kCFNetworkCFStreamSSLErrorOriginalValue=-9802, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802, kCFStreamPropertySSLPeerCertificates=(
    "<cert(0x15f437000) s: firebaselogging-pa.googleapis.com i: Gateway Intermediate ECC Certificate Authority>",
    "<cert(0x113042a00) s: Gateway Intermediate ECC Certificate Authority i: Cloudflare for Teams ECC Certificate Authority>"
)}}, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <4437D34D-9C89-4E5D-8BF9-79F390C7C655>.<1>"
), _kCFStreamErrorCodeKey=-9802, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <4437D34D-9C89-4E5D-8BF9-79F390C7C655>.<1>, NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef: 0x6000075213f0>, NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made.}

Alright this is code complete and testing well. We'll move forward without upgrading Firebase for now.

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


Not able to reset config

Hi guys,
I don't know if its a bug or its me unable to figure out how to reset config and boot ESP into configuration mode from normal mode.
Here's what I do:

I have a dedicated button and I use a button library that calls events on buttons presses, hold, long holds, etc. So I don't use the Homie.setResetTrigger() function in setup.
This button press just sets a boolean flag resetFlag
This is my loop

  if(resetFlag){
    Homie.reset();
  }
  Homie.loop();
  ... other stuff in loop
  if(resetFlag){
    ESP.restart();
  }

The device restarts, but it doesn't boot in configuration mode. It is in normal mode and connects successfully to WiFi again. I tried some kund-fu with Homie.setIdle(false/true) but its still the same result. I'm using latest git code from yesterday, 18th Nov.

no need to call ESP.restart(). Homie wil do that for you afaik.

Well, it doesn't. :(

It works! Sorry about that. I removed the ESP.restart();  and all works good now. Please remove this issue.


FCREPO-1627 (https://jira.duraspace.org/browse/FCREPO-1627)

After failed attempts to rebase the fcrepo-1627 branch, this pull request deprecates #841.

Raising a ClientErrorException with a 403 status code for attempts to create graphs using PUT requests for resources under pairtree Nodes within FedoraLdp#createOrReplaceObjectRdf; Implementing FedoraLdpIT#testPutOnPairtree for the case in which clients attempt to PUT graphs under pairtree Nodes

The build passes for me locally, so I restarted the Travis build and it passed.
But I also did some testing with limiting the pairtree to a single character to test collisions (see https://github.com/escowles/fcrepo4/commit/48d1aa5e7672e2f5b969dace4b2dc1ee745bdb78), and found that this PR makes any collision fail, even POSTing to /rest when it generates a collision.
I am also concerned about the implications of this PR for multiple applications using the repository.  What if one app uses auto-generated IDs, but another app generates its own UUIDs and formats them to fit the same pairtree pattern?  Should PUT requests to create objects that happen to be in the same terminal pairtree element fail?  Why?
These can both be addressed by only preventing creation of nodes in non-terminal pairtree nodes.

The idea here is that pairtree nodes are an internal construct and should not be used by client applications as first-class resources.
Can you clarify what you mean by "These can both be addressed by only preventing creation of nodes in non-terminal pairtree nodes."? Specifically, what you mean by "non-terminal pairtree nodes".
In the example where a resource is created at: /rest/ab/cd/ef/gh/some-uuid
If the above resource where created by F4 or the client passing in the full path, then the intermediate nodes will be pairtrees, i.e. ab and cd and ef and gh are all pairtrees.
The implementation in this PR disallows the creation of the following, subsequent resource: /rest/ab/cd/ef/gh/foo
By "non-terminal pairtree nodes", are you suggesting that in the above scenario the creation of /rest/ab/cd/ef/gh/foo be allowed but /rest/ab/cd/ef/foo not? If so, the distinction is lost on me for how that helps.
As a note, the following, analogous ticket for POST is already in the codebase: https://jira.duraspace.org/browse/FCREPO-1505

Andrew-
I have two things in mind:

If a POST to /rest creates /ab/cd/ef/gh/abcdefgh1234, and a subsequent POST to /rest creates /ab/cd/ef/gh/abcdefgh4567, then the second POST should succeed.  With a current master build it succeeds, but with this PR, it fails.

If a POST to /rest creates /ab/cd/ef/gh/abcdefgh1234, and another application creates its own identifer /ab/cd/ef/gh/abcdefghZZZ1, then that separate client should be able to create that path.  Of course the application minting its own identifiers would need to take care to prevent collisions with existing (or potential future) repository-minted identifiers.  But there are many ways to do that without preventing the use of the same hierarchy.

This ticket (https://jira.duraspace.org/browse/FCREPO-1627) is intended to prevent the case of directly PUTting to a pairtree resource. The implementation in this PR pushes that logic lower in the stack, which has the result of impacting a broader range of use cases. I would suggest we do one of two things:

Clearly define the full scope of scenarios where we expect resource creation operations to work and scenarios where we expect them to fail. OR
Move the logic of this PR higher in the stack to address the specific scenario of: PUT /pair/tree/new-resource

My PR looks like a mess, but this commit adds an IT based on my previous comment that currently fails:
https://github.com/escowles/fcrepo4/commit/fa260241ccaacdb042367804f2fd4d5f481e81ae
If we allow minting identifiers externally, and suggest using a pairtree for performance reasons, and auto-create intermediate nodes, then I think we should also allow creating new leaf nodes in those auto-created intermediate nodes.

I think I agree with @escowles . Why discriminate?

@escowles, do you have thoughts on this comment?
https://github.com/fcrepo4/fcrepo4/pull/901#issuecomment-139782825

"1) Clearly define the full scope of scenarios where we expect resource creation operations to work and scenarios where we expect them to fail."
I think LDP does this pretty well already.  I don't see that pairtreeness comes into it.

@awoods: I am very sympathetic to restricting POSTs.  POSTing to a container seems well-understood, but POSTing to a pairtree node seems more likely to be a mistake, or to be intended to do something different from what Fedora will actually do.
On the other hand, I think restricting PUTs will break the ability to use external identifiers and auto-created intermediate nodes.  If I want to create /a/b/c now, and might want to later create /a/b/x and /a/x/y, then I would have to create all the intermediate nodes myself.
So I'm open to discussing scenarios where we expect PUTs to be disallowed, but I am skeptical that there are any other than the fcr: namespaced endoints.

@escowles, thanks, that is helpful. If I understand you correctly, your suggestion is to simply disregard this PR and associated ticket?

Yes, my preference would be to close this PR and FCREPO-1627.

+1

I tested this and it works as expected.
POST generates a resource at
http://localhost:8080/rest/3d/5b/53/28/3d5b5328-ab8e-4e19-8308-b458b897e8f2

[...]

The build passes for me locally, so I restarted the Travis build and it passed.

Thank you Jared (by means of JIRA) and Esme for testing this.
Further, my apologies for not undertaking the proper measures to discuss such architectural concerns with the community.  That an identifier minting service could easily introduce conflicts into functionality which limits the creation and updates of resources under pairtree nodes is something which I obviously overlooked.

Yes, my preference would be to close this PR and FCREPO-1627.

+1

Decided to discard this PR.

Still, good work by @jrgriffiniii to get this issue clarified.

Thank you very much @ajs6f, I look forward to working to address whichever issues I can.


usePrepareContractWrite not working as expected

I'm trying to use usePrepareContractWrite and useContractWrite as follows:
const { config } = usePrepareContractWrite({
  ...contractStore.wagmiConfig, // address, abi
  functionName: 'addToTeam',
  args: [props.address],
  onSettled(data, error) {
    console.log('Prepare settled', { data, error })
  },
})

const { isLoading, write } = useContractWrite(config)

const onClick = () => {
  console.log(config, write)
}

onSettled is called with success state, and I can see the request key has been prepared. However when the onClick handler is called, config.request is still undefined, as is the write function.

If I pass the same arguments to useContractWrite in unprepared mode it works fine.

@0x62 Yes, I know this problem, the reason is because config is not responsive, I will fix this problem in the next beta version

@0x62 A new version has been released. Please use the latest version. There are some changes in the API. Please check the README or example. This issue will be closed first.

Thanks, confirmed working


Add keydown listener to backdrop to enable static offcanvas to close on Esc

Description
Added keydown event listener to backdrop.
Updated static offcanvas to close on esc when data-bs-keyboard = true, which is also the current default setting for this attribute.
If data-bs-keyboard = false the offcanvas will not close on any esc press.
Motivation & Context
This is a bug fix and provides offcanvas with similar behavior on esc keydown to modal, esc pressed on either static offcanvas or its backdrop will close it.
Type of changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactoring (non-breaking change)
[ ] Breaking change (fix or feature that would change existing functionality)

Checklist

[X] I have read the contributing guidelines
[X] My code follows the code style of the project (using npm run lint)
[ ] My change introduces changes to the documentation
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[X] All new and existing tests passed

Live previews
Change can be verified using this code snippet (showcases all scenarios):

    <button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#staticBackdrop"
        aria-controls="staticBackdrop">
        static offcanvas closes on esc
    </button>

Offcanvas

            <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>

                I will not close if you click outside of me, but will close on esc

    <button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-keyboard="false"
        data-bs-target="#staticBackdropNoKeyboard" aria-controls="staticBackdrop">
        static offcanvas closes on esc
    </button>

Offcanvas

            <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>

I will not close if you click on press esc outside of me.

    <button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#nonStaticBackdrop"
        aria-controls="staticBackdrop">
        non-static offcanvas
    </button>

Offcanvas

            <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>

I will close if you click outside of me.

Related issues
Closes #37155

Hey @Ronid1 . Thanks for the effort here.
I checked some things, but in the end you will need to add the proper tests too

@GeoSot I made changes according to your review and added tests. The pipeline is clear now.

Made changes requested by @louismaximepiton.  Bundlewatch seems to be failing due to max size. Can you please help? @GeoSot

I have it in my mind, and I apologize for the delay. Team, at this point, has as priority the major css changes.
So I have postponed it, in order to discuss it later. And of course, we will handle the bundlewatch then 😄
Many many thanks for your patience


Creating Appointment Function

Implement creating appointment function with command format: createApt  /

Resolving the user story in #3


test_oauth.py fails to import oauth2 unless oauth2 is already installed

Running the tests without installing oauth2 fails, this appears to be a simple case of not updating the library path before doing the import. The error is below.
python-oauth2/tests$ python test_oauth.py
Traceback (most recent call last):
File "test_oauth.py", line 29, in
import oauth2 as oauth
ImportError: No module named oauth2

Fixed in #62


flaky execution smoke test

https://dev.azure.com/monacotools/Monaco/_build/results?buildId=110168&view=logs&jobId=3792f238-f35e-5f82-0dbc-272432d9a0fb&j=3792f238-f35e-5f82-0dbc-272432d9a0fb&t=b4255493-5d6b-5e5c-80d7-ebab0307fbf4

I was debugging this last night. It was flaky in web for me but totally fine in desktop. Will debug more


Calculate feature map shape patchcore

Fixing https://github.com/openvinotoolkit/anomalib/issues/40

There seem to be some code quality issues, see logs here. Did you use pre-commit?

There seem to be some code quality issues, see logs here. Did you use pre-commit?

now I did :)

@alexriedel1, I'll run the CI now. We could merge as soon as the tests pass

@alexriedel1, I'll run the CI now. We could merge as soon as the tests pass

ahh sorry I didn't commit after the formatting changes were made, gonna fix it

Checks complain about some formatting issues. If you could run black -l 120 anomalib from the main root directory, black should be able to format the file, and the CI would pass.

Checks complain about some formatting issues. If you could run black -l 120 anomalib from the main root directory, black should be able to format the file, and the CI would pass. Apologies for this bureaucracy, but this is needed for the maintanence.

Sorry for making this such a mess :D

Sorry for making this such a mess :D

No problem at all! Thanks a lot for the contribution!


[Revise] deptry 0.4.6 is available

Summary of request
deptry version 0.2.9 was used, but verison 0.4.6 is available now. We will use the latest version in test workflow.
The current Version
CovsirPhy version I used: 2.26.2

@fpgmaas FYI.

This wiil be completed as well as #1146 today if no issues found in test workflow.


Provided data files and normalization efforts

Hi everyone
Thanks for providing your extensive database for others to play around with :)
I was wondering about the provided tpm files for precise 2.0: What norm step took place for tpm_log_norm_qc? Is all provided data (tpm_log, tpm_log_qc and tpm_log_norm_qc) been processed as described in https://doi.org/10.1093/nar/gkaa810 (including DESeq2 normalization) or have procedures and QC been altered?
Thanks in advance

All the data has been processed as reported in this paper (which should be identical to the paper you linked):
The pipeline used itself is from here:
https://github.com/avsastry/modulome-workflow
log-TPM means log2-transformed transcripts per million
log_tpm_qc is the output of the QC protocol: https://github.com/avsastry/modulome-workflow/tree/main/3_quality_control
log_tpm_qc_norm is the above dataset, but centered to a reference condition.

Actually quick note, we used featureCounts here, instead of DESeq2. See the pipeline linked above


duplicate output file for watch app: on task

Hi, i was trying to get xcodegen running for a customer of my company and encountered a problem when i was adding the watch app and the watch extension. We have multiple projects where we have integrated xcodgen without any big issues, but we were not able to fix this problem on our own. So i am asking for help to get this project to build again.
When i try to build any configVariant, watch or iOS i get this error. When i remove any watch releated configuration the project builds.

I removed a view config variants, and replaced some parts for privacy reasons as the yml grows very fast. The xcodegen version i use is 2.18.0.
The yml files are attached below. Let me know if there's anything else you need from us that can help make troubleshooting or fixing this easier. Thanks!
###########################################################
#  project.yml
###########################################################

configs:
  Distribution Debug: debug
  Distribution Release: release
  Production Debug: debug
  Production Release: release
name: projectName
options:
  deploymentTarget:
    iOS: '12.0'
    watchOS: '6'
  generateEmptyDirectories: true
  groupSortPosition: top
  minimumXcodeGenVersion: 2.18.0
  postGenCommand: ./Build-Phases/xcodegen_prebuild.sh
settingGroups:
  baseSettingsGroup:
    base:
      CURRENT_PROJECT_VERSION: 225
      DEVELOPMENT_TEAM: XXXXXXXXXX
      ENTITLEMENTS: projectName/projectName.entitlements
      GOOGLE_SERVICE_INFO_PATH: ${PROJECT_DIR}/${TARGET_NAME}/Firebase/$(PRODUCT_BUNDLE_IDENTIFIER)/GoogleService-Info.plist
      MARKETING_VERSION: 2.3.1
    configs:
      Distribution:
        APP_PRODUCT_NAME: projectName
        CODE_SIGN_ENTITLEMENTS: ${ENTITLEMENTS}
        PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}
      Distribution Debug:
        CODE_SIGN_IDENTITY: Apple Development
        PROVISIONING_PROFILE_SPECIFIER: match Development ${PRODUCT_BUNDLE_IDENTIFIER}
        SWIFT_ACTIVE_COMPILATION_CONDITIONS:
          - DISTRIBUTION
          - DEBUG
      Distribution Release:
        CODE_SIGN_IDENTITY[sdk=iphoneos*]: 'CodeSignIdentity'
        DEVELOPMENT_TEAM: YYYYYYYYYY
        PROVISIONING_PROFILE_SPECIFIER: match AdHoc ${PRODUCT_BUNDLE_IDENTIFIER}
        SWIFT_ACTIVE_COMPILATION_CONDITIONS: DISTRIBUTION
      Production:
        APP_PRODUCT_NAME: projectName
        CODE_SIGN_ENTITLEMENTS: ${ENTITLEMENTS}
        PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}
      Production Debug:
        CODE_SIGN_IDENTITY: Apple Development
        DEVELOPMENT_TEAM: XXXXXXXXXX
        PROVISIONING_PROFILE_SPECIFIER: match Development ${PRODUCT_BUNDLE_IDENTIFIER}
        SWIFT_ACTIVE_COMPILATION_CONDITIONS:
          - RELEASE
          - DEBUG
      Production Release:
        CODE_SIGN_IDENTITY[sdk=iphoneos*]: 'CodeSignIdentity'
        DEVELOPMENT_TEAM: YYYYYYYYYY
        PROVISIONING_PROFILE_SPECIFIER: match AppStore ${PRODUCT_BUNDLE_IDENTIFIER}
        SWIFT_ACTIVE_COMPILATION_CONDITIONS: RELEASE
settings:
  base:
    BASE_BUNDLE_IDENTIFIER: bundle.indentifier
    BASE_PATH: projectName
    DEBUG_INFORMATION_FORMAT: dwarf-with-dsym
    SWIFT_VERSION: '5.0'
    TARGETED_DEVICE_FAMILY:
      - 1
      - 2
    VERSIONING_SYSTEM: apple-generic

include:
  - path: xcodegen/project_ios.yml
    relativePaths: false
  - path: xcodegen/project_watchos.yml
    relativePaths: false

###########################################################
#  project_ios.yml
###########################################################

targets:
  NotificationService:
    dependencies:
      - framework: Vendor/ibm-mobile-push/IBMMobilePushNotificationService.framework
        type: library.static
        embed: false
        link: true
    platform: iOS
    settings:
      base:
        TARGETED_DEVICE_FAMILY:
          - 1
          - 2
        SWIFT_OBJC_BRIDGING_HEADER: projectNameNotificationServiceExtension/projectNameNotificationServiceExtension-Bridging-Header.h
        LIBRARY_SEARCH_PATHS: "$(inherited) $(PROJECT_DIR) $(PROJECT_DIR)/Vendor/ibm-mobile-push/IBMMobilePushNotificationService.framework"
      configs:
        Distribution:
          DEVELOPMENT_TEAM: YYYYYYYYYY
          PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.projectNameNotificationServiceExtension
        Distribution Debug:
          CODE_SIGN_IDENTITY: 'Apple Development: Developer (ZZZZZZZZZ)'
          PROVISIONING_PROFILE_SPECIFIER: match Development ${PRODUCT_BUNDLE_IDENTIFIER}
        Distribution Release:
          CODE_SIGN_IDENTITY[sdk=iphoneos*]: Apple Distribution
          PROVISIONING_PROFILE_SPECIFIER: match AdHoc ${PRODUCT_BUNDLE_IDENTIFIER}
        Production:
          DEVELOPMENT_TEAM: YYYYYYYYYY
          PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.projectNameNotificationServiceExtension
        Production Debug:
          CODE_SIGN_IDENTITY: 'Apple Development: Developer (ZZZZZZZZZ)'
          PROVISIONING_PROFILE_SPECIFIER: match Development ${PRODUCT_BUNDLE_IDENTIFIER}
        Production Release:
          CODE_SIGN_IDENTITY[sdk=iphoneos*]: Apple Distribution
          PROVISIONING_PROFILE_SPECIFIER: match AppStore ${PRODUCT_BUNDLE_IDENTIFIER}
      groups:
        - baseSettingsGroup
    sources:
      - path: projectNameNotificationServiceExtension
      - group: projectNameNotificationServiceExtension
        path: projectName/Resources/MceConfig.json
    type: app-extension
  projectName:
    dependencies:
      - sdk: AdSupport.framework
      - sdk: iAd.framework
      - embed: false
        framework: Vendor/ibm-mobile-push/IBMMobilePush.framework
        link: true
        type: library.static
      - target: NotificationService
      - target: projectName watch
    platform: iOS
    postBuildScripts:
      - inputFiles:
          - ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
          - $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
        name: Crashlytics
        script: '"${PODS_ROOT}/FirebaseCrashlytics/run"'
    preBuildScripts:
      - name: Build Scripts
        script: '"${SRCROOT}/Build-Phases/_runscripts.sh"'
      - name: Firebase Info Plists
        script: '"${SRCROOT}/Build-Phases/GoogleService_Info_plist.sh"'
    scheme:
      configVariants:
        - Distribution
        - Production
      testTargets:
        - projectNameTests
        - projectNameUITests
    settings:
      base:
        LIBRARY_SEARCH_PATHS: $(inherited) $(PROJECT_DIR) $(PROJECT_DIR)/Vendor/ibm-mobile-push/IBMMobilePush.framework
        OTHER_SWIFT_FLAGS: $(inherited)
        PRODUCT_MODULE_NAME: projectName
        PRODUCT_NAME: $(APP_PRODUCT_NAME)
        SWIFT_OBJC_BRIDGING_HEADER: projectName/projectName-Bridging-Header.h
      groups:
        - baseSettingsGroup
    sources:
      - buildPhase: none
        group: projectName
        path: projectName/Firebase
      - createIntermediateGroups: true
        path: projectName/Sources
      - createIntermediateGroups: true
        group: projectName
        path: projectName/Resources
      - buildPhase: resources
        createIntermediateGroups: false
        group: projectName/Resources
        path: projectName/tessdata
        type: file
      - path: projectName/Info.plist
      - path: projectName/projectName.entitlements
      - buildPhase: none
        group: projectName
        path: project.yml
      - buildPhase: none
        group: projectName/Resources
        path: shared/strings.ini
      - buildPhase: none
        group: projectName/Resources
        path: shared/colors.xml
      - buildPhase: resources
        createIntermediateGroups: false
        group: projectName/Resources
        path: projectName/container
        type: file
      - buildPhase: none
        group: projectName
        path: projectName/projectName-Bridging-Header.h
    type: application
  projectNameTests:
    dependencies:
      - target: projectName
    platform: iOS
    settings:
      base:
        TEST_HOST: $(BUILT_PRODUCTS_DIR)/$(APP_PRODUCT_NAME).app/$(APP_PRODUCT_NAME)
      groups:
        - baseSettingsGroup
    sources:
        path: projectNameTests
      - path: projectName/Sources/Model/Promotion.swift
      - path: projectName/Sources/Model/Game.swift
    type: bundle.unit-test
  projectNameUITests:
    dependencies:
      - target: projectName
    platform: iOS
    settings:
      base: null
      groups:
        - baseSettingsGroup
    sources:
      - path: projectNameUITests
    type: bundle.ui-testing

###########################################################
#  project_watchos.yml
###########################################################

targets:
  projectName watch:
    dependencies:
      - target: projectName watchkitapp Extension
    platform: watchOS
    scheme:
      configVariants:
        - Distribution
        - Production
    settings:
      base:
        TARGETED_DEVICE_FAMILY: 4
        DEVELOPMENT_TEAM: XXXXXXXXXX
        ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
      configs:
        Distribution:
          DEVELOPMENT_TEAM: YYYYYYYYYY
          PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.watchkitapp
        Distribution Debug:
          CODE_SIGN_IDENTITY: 'Apple Development: Developer (ZZZZZZZZZ)'
          PROVISIONING_PROFILE_SPECIFIER: match Development ${PRODUCT_BUNDLE_IDENTIFIER}
        Distribution Release:
          CODE_SIGN_IDENTITY[sdk=iphoneos*]: Apple Distribution
          PROVISIONING_PROFILE_SPECIFIER: match AdHoc ${PRODUCT_BUNDLE_IDENTIFIER}
        Production:
          DEVELOPMENT_TEAM: YYYYYYYYYY
          PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.watchkitapp
        Production Debug:
          CODE_SIGN_IDENTITY: 'Apple Development: Developer (ZZZZZZZZZ)'
          PROVISIONING_PROFILE_SPECIFIER: match Development ${PRODUCT_BUNDLE_IDENTIFIER}
        Production Release:
          CODE_SIGN_IDENTITY[sdk=iphoneos*]: Apple Distribution
          PROVISIONING_PROFILE_SPECIFIER: match AppStore ${PRODUCT_BUNDLE_IDENTIFIER}
    sources:
      - path: projectNameWatch
      - group: projectNameWatchExtension
        path: projectNameWatchExtension/Resource
    type: application.watchapp2
  projectName watchkitapp Extension:
      dependencies:
      framework: Vendor/ibm-mobile-push/IBMMobilePush.framework
    platform: watchOS
    settings:
      base:
        TARGETED_DEVICE_FAMILY: 4
      configs:
        Distribution:
          DEVELOPMENT_TEAM: YYYYYYYYYY
          PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.watchkitapp.watchkitextension
        Distribution Debug:
          CODE_SIGN_IDENTITY: 'Apple Development: Developer (ZZZZZZZZZ)'
          PROVISIONING_PROFILE_SPECIFIER: match Development ${PRODUCT_BUNDLE_IDENTIFIER}
        Distribution Release:
          CODE_SIGN_IDENTITY[sdk=iphoneos*]: Apple Distribution
          PROVISIONING_PROFILE_SPECIFIER: match AdHoc ${PRODUCT_BUNDLE_IDENTIFIER}
        Production:
          DEVELOPMENT_TEAM: YYYYYYYYYY
          PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.watchkitapp.watchkitextension
        Production Debug:
          CODE_SIGN_IDENTITY: 'Apple Development: Developer (ZZZZZZZZZ)'
          PROVISIONING_PROFILE_SPECIFIER: match Development ${PRODUCT_BUNDLE_IDENTIFIER}
        Production Release:
          CODE_SIGN_IDENTITY[sdk=iphoneos*]: Apple Distribution
          PROVISIONING_PROFILE_SPECIFIER: match AppStore ${PRODUCT_BUNDLE_IDENTIFIER}
        groups:
         - baseSettingsGroup
    sources:
      - path: projectNameWatchExtension
      - group: projectNameWatchExtension
        path: projectName/Sources/Utilities/LocalizableSwiftGen.swift
      - group: projectNameWatchExtension
        path: projectName/Sources/ApplicationDelegates/ConfigurationApplicationDelegate.swift
    type: watchkit2-extension
    ```

It looks to me that the buildPhase for Info.plists of the Apple Watch app container are set to sources thereby copying the file rather than including the proper way:

Note that Info.plist files will never be added to any build phases, no matter what this setting is.

The workaround for this is to set the buildPhase manually to none.
@RalfK92 take a look at your Info.plists generated in the your Xcode project and see which one is included as a target. All Info.plists should be uncheck for all targets and included by other means.

Thanks for your reply. I will take a closer look when back at work after the Christmas break.

@leogdion  I had now time to check the things that you mentioned.
All Target Memberships are unchecked for all Info.plist files in the project. Even without specifying buildPhase: none.  I tried to use buildPhase: none on the sources that i include but that did not helped with the error.
The other files (Assets.xcassets and Interface.storyboard) that are contained in the watchkitapp have to be in an buildPhase so excluding them would make no sense in my opinion.
Do you have any other idea to takle this problem?

Since Xcode 13.3 i got it to work, so i'm going to close this issue.