fix: use placeholder on the search input

Details

This PR edits the TextInput on the Invite Members page, such that it uses label instead of placeholder.
Fixed Issues

$ https://github.com/Expensify/App/issues/18158
PROPOSAL: https://github.com/Expensify/App/issues/17873#issuecomment-1519654007
Tests

Go to a workspace and click on "Manage members"
Verify that the Find a member input has a label style similar to the one on other pages ie Search page

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

Offline tests

N/A
QA Steps

Go to a workspace and click on "Manage members"
Verify that the Find a member input has a label style similar to the one on other pages ie Search page

[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 / Chrome
[x] iOS / native
[x] iOS / 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 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 correct English and 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 a new component is created I verified that:

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

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

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@Santhosh-Sellavel @andrewgable One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

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

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

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that 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
[ ] 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Assigning @parasharrajat here since we are treating this as a regression and un-assigning @Santhosh-Sellavel : )

I disagree that this is a regression from the original PR. We solved all the components that were using the Options List in the original PR. This is completely unrelated. If we needed to change all the instances in the app that should have been clarified on the original issue/PR.

I think we should treat it as a regression because the original issue's intent and title was to fix "Placeholder padding inconsistent among different fields" and this P.R. fixes that for a field we could have included there, but I agree there is room for discussion : ) (also the original issue didn't specify which fields we should update).

So we can do a full audit of the App on this issue and find other places which need to be updated as well and make those changes in this PR.

We discussed that in slack here, do you mind adding to that discussion?
cc @sakluger because yesterday we discussed if this should be treated as a regression

I can bump the Slack thread for regression chat. I am not convinced that this is a regression. That title does not clarify either what needs to be updated. Based on the issue description only the Search page was mentioned and we updated a lot of other pages which were similar to the search so IMO that task was done. Even if this and other inputs need to be updated, it should be communicated otherwise there is no way for us to know what needs to be changed in UI as UI is always fixed/confirmed in each PR and the expectation is that it is correct after each PR merge.

Makes sense @parasharrajat! Do you mind if we wait on @sakluger input on this before we deciding anything or start a thread?

Do you think we should do an audit of the App before we merge this PR? Or we should only fix the issue and close the PR.

IMO we should just fix and close this : )

: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.

Sorry for the delay! I agree with @PauloGasparSv that we should just fix this one field for now.

I also agree with @PauloGasparSv that we should treat as a regression based on the original issue's intent to fix inconsistent padding across multiple fields.

🚀 Deployed to staging by https://github.com/PauloGasparSv in version: 1.3.12-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.12-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/PauloGasparSv in version: 1.3.12-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Fix the crazy UI on the comments boxes

Hi @lasse-offerzen I'm new to open source and would like to contribute as a Junior Dev


Default value for time in Controller

I want to set default value for insert date item in Conteroller like this
public function store(StoreRequest $request)
{
$request->merge(['date'=>now()]);
// Or
$this->dare=now();
return parent::storeCrud();
}
and didnt work
how to do that?

Hi @A-Ronagh ,
I wonder - would a default value on the "date" field make more sense? That way, it's also obvious to the user how that date ended up there?
$this->crud->addField([   // Date
    'name' => 'birthday',
    'label' => 'Birthday',
    'type' => 'date',
    'default' => '2015-05-05'
]);

Cheers!

P.S. I'll go ahead and close this issue so we don't clog the section. Feel free to open it again if you encounter problems or comment if you have follow-ups.

I want to set value for model filed befor save and dont have any ui to user set that I want to set this value for save in db how can i achive this ????
public function store(StoreRequest $request)
{
//how to set value for filed to save in db ??????
return parent::storeCrud();
}

You can set up a Model Observer.
What this will do is, whenever the model is saved/created it can run code.
If you follow the instructions here https://laravel.com/docs/4.2/eloquent#model-observers
You could do something like
Public function created(User $user){
$user->date = date('Y-m-d H:i:s');
$user->save();
}
So when we a new model is created, it will insert the time into the database?

@A-Ronagh although I agree with @OwenMelbz 's solution, for such a small task I'd use

The 'default' attribute. Most fields have it. So if you set something like below, the default value will come pre-populated in the field.

$this->crud->addField([ // Text
    'name' => 'title',
    'label' => "Title",
    'type' => 'text',
    // optional
    'default' => 'some value'
]);

Eloquent Mutators on your model. This is more general - this function will be run every time you change this attribute in the database using Eloquent, wether you do it from the CRUD panel or any other place (your front-end, for ex).

    public function setFirstNameAttribute($value)
    {
        $this->attributes['first_name'] = strtolower($value);
    }

Observers, like @OwenMelbz suggested. They're an even more general way to accomplish this. This is closer to an event-driven architecture: "before article is created do this".

Hope this helps you or future searchers. Cheers!

@tabacitu the reason I suggested the observer was because i think @A-Ronagh said that there was no UI / field for this date field.
So if you added a field with a default, that would then create a field element would it not? I guess you could make it a hidden field to prevent it from showing on the UI.
So if you want to make sure the date field is not visible on the form, you can either make it a hidden field, and use the default param, or you could use the observer method? (does that make sense? )

I done it like this
public function store(StoreRequest $request)
{
 $this->request->request->set('myfield', $mydefaultvalue);

  // your additional operations before save here
  $redirect_location = parent::storeCrud();
  // your additional operations after save here
  // use $this->data['entry'] or $this->crud->entry
  return $redirect_location;
}

protected function store(StoreRequest $request){
$vebol=$this->request->request->set('custom_path', 'MyDefaultValue');// I want to get the default value + input value from the user
    // your additional operations before save here
    // $redirect_location = parent::storeCrud();
    // your additional operations after save here
    // use $this->data['entry'] or $this->crud->entry
    // return $redirect_location;
    print_r($vebol);

when I print it I don't see the result. Could anyone can help me?

@sokvebolkol this is 2016 thread. You have to share you laravel/backpack version.


Optimize constant nodes creation and cleanup

This PR optimizes the way we create and cleanup value nodes.
When adapting constants (e.g. when doing interpolate({ inputRange: [0,1]}) we generate new nodes for start and end of the range) we've been creating new animated value nodes. This kind of nodes can never be updated on the native side and hence there is no need to send its final value back to JS when they get detached.
On top of there there are several constant values that are frequently used across the library and product code with reanimated. Those can only be instantiated once and reused in all the places. That list includes 0, 1 and -1 for now.
These two changes reduce the number of nodes instantiated by one third on colors/index.js example (from 88 down to 57) and reduce the number of nodes we call getValue for by 94% (from 88 down to 5).

This PR seems to cause significant problems
#417


I want to give all user dropdown list for select user

User:{
     type: String,
		label: "User",
		autoform : {
			options: function () {
                var list = [];
                Meteor.users.find().forEach(function (element) {
                    list.push({
                        label: element.username, value: element._id
                    })
                });
                return list;
            }
		}
}

But its give error
Also Subscribe Meteor.Users
Meteor.publish(null, function () {
	return Meteor.users.find({}, {fields: {_id: 1,username: 1}});
});

This seems more like an autoform question, but I don't see anything wrong with the code. Without knowing what the error is, can't help much here.

Hello, You need write like this:
options: function () {
  if(Meteor.subscribe('xxx-publishname').ready()) {
        return  XXX.find({}).fetch();
    }
 })


[MODORDERS-645] Remove and add order line fund distribution before invoice approval

Purpose
MODORDERS-645 - Invoice payment fails if order line fund distribution is changed before invoice approval
Approach
Added a new cross-module test.


make compatible with CMake 3.10.2

Revised for versions which do not support target_link_libraries()
for object libraries. Instead, an interface library is created
for every object library, which is added using a new function add_object().
Dependencies are collected manually by traversing the linked interface libraries.

Approved out of hate to humankind.


Batch timer is now Info level instead of debug

This will allow batches to be part of the logging that's enabled via
SLF4J.

LGTM


Not compatible with the latest version of iText

With all the dependencies that one can encounter using this plugin in along with others like the export plugin, I had manually added a dependency to the latest version of iText, but it seems that this breaks if you try use the inLine images. It appears they have changed the constructor of the ImageResource class. They could really have left the original constructor!
Here is the related commit on flying saucer:
https://github.com/flyingsaucerproject/flyingsaucer/commit/f529ecccebaf1941754110eaf2287f392eda139d

Also if you choose the following dependency:
org.xhtmlrenderer:core-renderer:R9-github-2011-01-11
rather than the earlier R8
you will get:
NoSuchMethodError: com.lowagie.text.pdf.BaseFont.getCharBBox(I)


feat: Use websocket to continuously surface runtime log into the UI

Description
Instead of polling constantly, using a websocket to deliver the stdout and stderr from a started runtime.
Output Window padding fixes.

Task Item
Fixes #6511 #6750

Coverage increased (+0.04%) to 51.182% when pulling 89f5c9bef0d772a88b776111020658112d4b7aa3 on feature/websocket-runtime into 1838c341203dc910c756f6b05a8be5dfc65b3333 on main.


Add return class framework to support summaries and visualization

This will be a significant effort overall but this is the first step towards adding the ability to "post-process" the data that is returned by the queries to generate summaries and to visualize the data.
The current get_xxx() (e.g., get_metrics()) methods return a pd.Dataframe.  I propose that we make them all return an instance of a new class (e.g., Metrics(), etc.) that has a pd.Dataframe property, but that we can extend to have other methods such as .summarize([some args]) and .plot() or .scatter_plot().  Alternatively, we could extend the pd.Dataframe class, but I am not sure all the implications of that.  It is work investigating. Check this out: https://pandas.pydata.org/docs/development/extending.html#
The first step is to figure out some patterns that will work and implement some basic summarize and plot functionality, then we can move to more complex cases.

Just adding some notes based on some initial exploration.  It seems like pandas dataframe accessors could be an option.
We could create a custom accessor class that contains methods to summarize and plot metrics and/or timeseries, which gets registered as a DataFrame accessor when the class is imported .
Then, the queries would still return a DataFrame or GeoDataFrame, but our custom class methods would also be available through the accessor name:
    df = tds.get_metrics(
        group_by=group_by,
        order_by=order_by,
        include_metrics=include_metrics,
        include_geometry=True,
    )

then access our summarize and plot methods like:  df.teehr.<our custom method>
for example
    # Call the summarize_metrics method using the teehr accessor.
    summary_df = df.teehr.summarize_metrics(
        group_by=group_by,
        percentiles=[0.25, 0.5, 0.75]
    )

Definitely more to think about though!


In the admin end order details page, VAT details are showing out of window in mobile view.

Description
At the admin end open the order overview page then selects the View option, Now scroll down and move to the item section. Here "Item" Section is not responsive. In it, "VAT" details are not visible in the mobile view. Some parts of "VAT" details are showing out of the window.
Possible Solution
Order detail should be responsive.
Additional context

Hello,
Within our company roadmap and work capacity, we try to address each bug or improvement request but admit that not each one will be resolved. To continue our culture of honesty and openness, we are closing this issue to focus on our roadmap on behalf of all Shopware users.
If you feel like this issue is still impacting you, please create a new issue and let us know.
Thank you again for your valuable feedback.


Install as a Clojure CLI tool

Hi there!
Problem
Generating reports programmatically from the code may be too cumbersome: I need to add license-finder to my deps.edn, then add a few lines to a build.clj and then configure my CI or fire up my IDE with Clojure REPL to check the licenses.
Sometimes I may also want to generate a license report for someone else's Clojure library. Maybe because the authords don't use license-finder and I am not sure if their project's license is compliant with the dependencies they use.
How I'd like to solve the problem?
I want to be able to generate a license report from the command line with no need to change files in the project I generate a report for.
Starting from Clojure CLI v<IP_ADDRESS>9 you can intall a library as a tool.
Many Clojure tools use it already, e.g. antq for checking outdated deps, clj-watson a vuln detection tool, deps-new a tool for bootstrapping a Clojure app or a lib, and so forth.
We could do something similar:
# Install tool (latest version)
clojure -Ttools install-latest :lib com.github.scarletcomply/license-finder :as license-finder

# Install tool (certain version)
clojure -Ttools com.github.scarletcomply/license-finder '{:git/sha "..."}' :as license-finder

# Remove tool
clojure -Ttools remove :tool license-finder

# Update tool
clojure -Ttools install-latest :tool license-finder

# Generate report with sensible defaults
clojure -Tlicense-finder report

# Generate report for all deps including transitive ones
clojure -Tlicense-finder report :transitive? true

I've drafted a PR that covers the problem, please take a look.

Thanks for raising this! We will have a look at your PR soon!


docs: update README

Dropping the fork message (IIUC, it is no longer a fork of setup-python).
Fixing the version message, which is a very confusing 1.0.0 instead of v2.0.0.

Good catch, thank you!


What is limit and also it's broken

There seems to be an extra parameter, limit, that is allowed:
https://github.com/tad-lispy/node-damerau-levenshtein/blob/59cf1487f750ef562666c4d2cf5c377a73e334a2/index.js#L5
Yet if you ever put in a number that is smaller than the total steps the method fails:
e.g.
levenshtien("abc", "def")    // OK
levenshtien("abc", "def", 5) // OK    (since `steps` is 3, and 3 < 5)
levenshtien("abc", "def", 3) // OK    (since `steps` is 3, and 3 = 3)
levenshtien("abc", "def", 2) // fails (since `steps` is 3, and 3 > 2)

results in:
TypeError: Cannot read property '0' of undefined
      at module.exports (index.js:46:29)

I can't figure out what it was meant to accomplish. 🤔
Perhaps remove it altogether?

Hm... Very good find. Thanks.
I suppose it is meant to prevent very long and expensive computations. Imagine you have a large collection of strings, perhaps every word in a given language or DNA sequences. You want to filter only similar ones (for spell checking or something like that). So you may say that word is similar when the distance is no more than 4 steps. To optimize the process you want to set a limit - once a given string reaches fifth step you want to terminate the computation and move on.
So I think the limit should stay, but it should not throw an error. That's a bug and we need to fix it.
My quick idea is to return:
{
  steps: undefined,
  similarity: undefined,
  relative: undefined
}

In this case undefined seems like a proper value - we don't know how many steps, or how similar it is so it is literally undefined. It should also work with the above use case (filtering), because undefined < 10 === false and undefined > 10 === false. So for example:
very_long_array_of_words.filter((word) => {
  return levenshtien(word, "nosorożec", 5).steps < 5
})

Also Array.prototype.sort puts undefined after any number, so if you would sort by steps or similarity, the ones outside of the limit will be treated as least similar.
Would it be difficult to annotate it with TS? I think it should be possible: either Number or undefined.
But that's just a very quick idea. What do you think? What is your use case?

I don't have a use case -- I was just looking at the code and was surprised to see an undocumented argument 🤷♂
I'll be happy to document the feature in the README as well as fix its behavior somehow (I think returning undefined is an elegant way to communicate to the module's user that something is wrong.
I'll look into it after #14 and #15 settle 😁


Web - consider a chrome extension to avoid the CTRL+W issue

Suggestions from @bolinfest on how to tackle the CTRL+W issue https://github.com/microsoft/vscode/issues/137767#issuecomment-978544329

@egamma but is that the right solution, given the concerns in https://github.com/microsoft/vscode/issues/137767#issuecomment-978544329? When I read that comment I feel that this is not the right direction going forward because it was proven to have issues and side effects.
If people were to keep their main vscode.dev workspaces as PWA (https://github.com/microsoft/vscode/issues/135553), I think the situation would improve. Even setting the tab to fullscreen helps.

@bpasero I don't feel like there is a clear "best solution" here. Switching to fullscreen mode is a great option when you want to focus on VS Code Web, but it is a fairly significant context switch if you are bouncing back and forth between your VS Code Web Chrome tab and your other tabs.
In terms of discoverability, the Chrome extension could be presented as an "upsell" of sorts when the user hits cmd+w the first time and hits the onbeforeunload handler. I'm not saying that's necessarily what should happen, just that there are options.

I agree, and would always prefer a PWA over fullscreen mode, especially because that has the added value that you can use the OS window manager to manage the VSCode web application and not have your development environment buried in other tabs of the browser.
Another possible alternative would be to run all VS Code web instances with one user profile and the normal web development tabs with a different user profile.
Unfortunately the browser does not really allow you to do lots of things from the beforeunload handler, i.e. the dialog that you can let the browser open is not configurable at all.


⚠ PrivateHD has degraded performance

In a191a4d, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 3762 ms

Resolved: PrivateHD performance has improved in 5401f13.


Add file with expected interface. Refs #137

Add file with expected interface for Bob example. Refs #137

Thanks for the PRs @ricemery ! I think they all look fine and can be merged.
But do you want to keep the .keep files? (sorry for the pun).

The .keep files can go.
But, I'll handle that as a separate PR. I'll delete the .keep files from
the first 10 exercises in 1 PR, since the lack of the .keep file will not
break anything. The other PRs I wanted to handle individually, so that each
exercise change was isolated from the others.
Thanks for the suggestion.
On Mon, May 15, 2017 at 8:56 PM abo64<EMAIL_ADDRESS>wrote:

Thanks for the PRs @ricemery https://github.com/ricemery ! I think they
all look fine and can be merged.
But do you want to keep the .keep files? (sorry for the pun).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/exercism/xscala/pull/357#issuecomment-301668736, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABeHG6HE3qILfjbOpZ37ChNsZG7TiKlEks5r6R6EgaJpZM4Nb8pJ
.

Looks great!


Crystal takes all my RAM and CPU and continues forever

I've just installed the latest build of Crystal. When I try to compile my project, Crystal takes 90% of my RAM (>2GB) and 25%-75% of my CPU and never completes. What's going on?
If you require code to repro this, I can zip my entire project and send it to you somehow.

We'll need to know the crystal version you are using and your code. If possible you can try to reduce it by chopping parts of the code until you get to the smallest code that reproduces the problem.

I've tried that. Whenever I change the code, the problem moves to a different part. The same code works in one file and not in another. It's a heisenbug, and therefore impossible to repro.
One thing I can tell you: When I change code like the following
module I::FS
   ...
end

module I::IO
   ...
end

to the following
module I_FS
   ...
end

module I_IO
   ...
end

the program will once again compile! It makes no sense!
Also, if I declare the original module I::FS etc in my main file, there is no problem. But if I declare it in an include, it fails. Sheer madness!
I'm using the current Debian repo version of Crystal (0.15.0 [0f62400]), which would appear to be the newest version.

Almost the same here with Crystal 0.15.0 on Ubuntu Trusty 64bits. It took an awful lot of time to compile a project (it didn't with 0.14) and it eventually failed with #2393 :
/home/github/posix $ crystal build --stats --release -o bin/main src/main.cr
Parse:                             00:00:00.1608960 (  50.25MB)
Semantic (top level):              00:00:00.0910500 (  74.25MB)
Semantic (abstract def check):     00:00:00.0020230 (  74.25MB)
Semantic (type declarations):      00:00:00.0100260 (  82.25MB)
Semantic (initializers):           00:00:00.0027280 (  82.25MB)
Semantic (main):                   00:00:05.3511520 ( 572.18MB)
Semantic (cleanup):                00:00:00.0001130 ( 572.18MB)
Semantic (recursive struct check): 00:00:00.0010980 ( 580.18MB)
Codegen (crystal):                 00:00:02.1503900 ( 630.18MB)
Codegen (bc+obj):                  00:01:55.2220020 ( 630.18MB)
Codegen (linking):                /opt/crystal/src/llvm/ext/llvm_ext.o: dans la fonction « LLVMNewDIBuilder »:
llvm_ext.cc:(.text.LLVMNewDIBuilder+0x25): référence indéfinie vers « llvm::DIBuilder::DIBuilder(llvm::Module&) »

Actually it also happens with 0.14.2 (takes lots of time and linking fails). Compare with 0.13.0:
/home/github/posix $ crystal build --stats --release -o bin/main src/main.cr
Parse:                             00:00:00.1941020 (  50.34MB)
Semantic (top level):              00:00:00.0825340 (  74.34MB)
Semantic (abstract def check):     00:00:00.0055340 (  74.34MB)
Semantic (type declarations):      00:00:00.0020130 (  74.34MB)
Semantic (main):                   00:00:00.3971600 ( 130.40MB)
Semantic (cleanup):                00:00:00.0000070 ( 130.40MB)
Semantic (recursive struct check): 00:00:00.0007280 ( 130.40MB)
Codegen (crystal):                 00:00:00.3226970 ( 130.52MB)
Codegen (bc+obj):                  00:00:09.9701850 ( 130.52MB)
Codegen (linking):                 00:00:00.7653440 ( 130.52MB)

I'm investigating where the problem originates from.

@asterite the culprit is 9a3f239fdee1410b6002cf3a10afebaaf8648d8c (add a pass to type instance variable initializers). It hogs memory up and makes bc+obj codegen tragically slow in some cases. I'll try to reduce.

@ysbaddaden Thank you so much for bisecting! Is there any code (big or small) I can use to reproduce this?

Nevermind, just saw it happens with icr,I'll try it later on linux.

I wasn't able to reproduce it with icr on linux. I'll need more info.

@stugol Does your project depend on the compiler's source code (that is, do you do require "compiler/crystal/**" or something similar?)

No...? Why on earth would I do that?

Because @ysbaddaden sent me some code and it turned out that the slowness came because of some type annotations added in the compiler.
I just made this commit which improved that (his project only needs the parser, not the whole compiler).
But it seems your issue is a separate one. Please send me a zip with your project to my email address (it's on my GitHub profile) and I'll be able to help.

Done

Yes, I have also ran into this with icr. Ever since 0.14 I've been unable to compile it on my VPS (ran out of memory ~1.5GB).
At least with this change it compiles, and very quickly! But, of course, that's a solution only for this specific case.
What I can reproduce, at the very least, is when compiling icr on my VPS with Crystal 0.13 everything is fine, while latest master keeps chugging for very long and then is killed due to memory overuse.

I can only confirm what @ysbaddaden said. Here are the final lines of my bisect session (cr is an alias to compiled crystal):
----crystal-icr----master----$ time cr build --release -o bin/icr src/icr/cli.cr
Using compiled compiler at .build/crystal
real    1m35.866s
user    1m35.337s
sys     0m0.533s
----crystal----(9a495cf...)|BISECTING----$ git bisect bad
Bisecting: 2 revisions left to test after this (roughly 2 steps)
[c2f569c16493d1bc40633df5319e524ce6123e63] Compiler: inherit instance variable type declaration from generic modules
----crystal----(c2f569c...)|BISECTING----$ make
CRYSTAL_CONFIG_PATH=`pwd`/src ./bin/crystal build  -o .build/crystal src/compiler/crystal.cr
Using compiled compiler at .build/crystal
----crystal-icr----master----$ time cr build --release -o bin/icr src/icr/cli.cr
Using compiled compiler at .build/crystal
real    0m8.147s
user    0m8.097s
sys     0m0.160s
----crystal----(c2f569c...)|BISECTING----$ git bisect good

There are only 'skip'ped commits left to test.
The first bad commit could be any of:
92b758f65fd1c53f32d1bf8fb4eedc027f268fae
9a3f239fdee1410b6002cf3a10afebaaf8648d8c
d3b6f33236e77e75f74dde2ec2f0e140477766c1
f018c1f1644c45144a8c5dd44a97ee543e72a9f0
9a495cf2bf4dc9f81bea9808a3b0c33de7d0d3f0
We cannot bisect more!

Reduced:
# can be run with --prelude=empty
struct Nil
  def method(x : Problem)
    0
  end
end

class Foo
  macro def method(x : Problem) : Int32
    {% for ivar in @type.instance_vars %}
      @{{ivar.id}}.method(x)
    {% end %}
    42
  end
end

class Problem
end

module Moo
  class Problem
  end

  class Bar < Foo
    @foo : Foo?
  end
end

Moo::Bar.new.method(Problem.new)

The current way we implement macro defs involves copying the def into subclasses. The problem is that method argument types were being looked up in the subclasses, so the restriction x : Problem would not match a Problem because it would try to match it against Moo::Problem in the case of Bar (imagine copying the macro def inside Bar).
The solution is easy, I'll push it soon.

Also worth noting: it didn't work in previous versions of the compiler either.

@BlaXpirit I just tried changing icr to only require "compiler/crystal/syntax" and indeed it compiles very fast now.
Even though it might look like a workaround, it's not. The compiler's code wasn't well organized and you had to require the whole thing, even if you just wanted to parse source. With the added type annotations, which soon will be kind of required, what happened is that the compiler was able to reach methods that it previously couldn't. For example some subclasses of Exception redeinfed to_s, and there some methods were looked up (in the compiler), and eventually the whole compiler was typed. Now I moved some classes and type annotations to the "semantic" directory, so if you don't require that the compiler won't reach it.
As I told @ysbaddaden in an email, I believe this was something good because it forced us to better organize the code (Crystal has that effect in other aspects too, by being strict with types).
I know running out of memory by trying to compile icr sounds crazy, but that probably happens too when trying to compiler the compiler in a machine without much memory, and that's why we want a change. The most affected project is the compiler, but I'm sure other projects will reach a similar size so it's better if we have a language that supports that :-)
In conclusion, there were two issues here, but now both should be fixed.


Switch to performing some checks at compile time

This PR builds on https://github.com/taylordotfish/tagged-pointer/pull/1 and introduces three main changes:

Switch BITS from usize to u32, this matches std's assumption that the bit width of pointers (usize) will not exceed 2^23. This originates from LLVM here.
Ensure that mask and alignment are calculated at compile-time by making them an associated constant.
Make use of https://github.com/rust-lang/rfcs/pull/2345 to check the basic alignment vs requested BITS properties at compile time.

Some design decisions:

Since the checks from 3. are required to ensure SAFETY (maybe not for the lib, but definitely for the client) I have moved them into PtrImpl (with minimal duplication in fallback)
I have kept these checks enabled in fallback since users will want to be able to switch between the two without running into compilation errors.
I have kept the "However, if its alignment is not at least 2BITS, this function may panic" behavior disabled for fallback, one may want to actually enable the panic here for the same reason as above.
Testing of 3. is no longer so easy - there is no should_panic equivalent for shouldnt_compile. I opted to use compiletest_rs which is commonly used in such situations. Unfortunately it comes with a few issues since one needs to manually link in the tagged_pointer.rlib to the compile-fail tests.
Due to the dependency on compiletest_rs and this issue, std is enabled for cargo test (only).

Thanks, merged. I made a few modifications, mostly related to compatibility:

The panics in constants are nice, but to keep compatibility with the older Rust versions that tagged-pointer supports, I modified the compile-time checks to use the array indexing hack instead:
const ASSERT: bool = {
    ["assertion 1 failed"][!condition1 as usize];
    ["assertion 2 failed"][!condition2 as usize];
    // etc.
    true
};

The error messages aren't quite as nice, but everything still gets checked at compile-time.

I agree it makes more sense for BITS to be a u32, but this is unfortunately a breaking change. However, I added a type alias to make it easier to change the type in a future breaking version.

An alternative to the compiletest-rs tests is to (ab)use doctests:
/// ```compile_fail
/// // code that shouldn't compile
/// ```
mod test {}

This isn't as flexible as compiletest-rs, since you can't check error messages (although, to be fair, the old should_panic tests didn't either, even though they could have), but it does have the advantage of not requiring any dependencies, so I've duplicated the compiletest-rs tests as doctests. I've still kept the original compiletest-rs tests around, but I made compiletest_rs an optional dependency—the tests will run when the dependency is enabled.

I re-added the wrapping_sub when subtracting offset in PtrImpl::get. Although unlikely, align_offset could theoretically return an offset larger than Self::ALIGNMENT, and we don't want to panic in this case. I also updated the comment to reflect the importance of applying the mask—it's not just for the unlikely case where offset >= Self::ALIGNMENT; it's also crucial in the much more likely case where offset is zero.

(Also, thanks for updating “dereferencable” to “dereferenceable”. I had to do a git blame on Rust's source to make sure I wasn't going crazy—it did used to be spelled “dereferencable”.)


Repo sync for protected CLA branch

The pull request is created from main637849694723738932 to main to fix git push error for protected CLA branch

@ghogen : Thanks for your contribution! The author(s) have been notified to review your proposed change. @evanwindom


Bugs everywhere important issue which can imporve many things

I'm trying to resolve the issue where there is one panel in which there is one

where  in the attach file in panel i have put scroll in col-md-6 where in internet explorer its not working with keyboard keys..
Now in second col-md- 5
I have inserted bootstrap select box where in internet explorer and Mozilla Firefox scroll is not changing.
Now in  col-md-1 where im calling modal dialog box where my header and footer are fixed where double scroll is coming and also not working with keyboard keys.
[chirag.zip](https://github.com/Grsmto/simplebar/files/1206415/chirag.zip)
I'm expecting a solution with resolving issues in the file.
Also guide with latest js and css which i only need to use with the file.
A demo will be wonderful for me if you can make it.

Hi,
Sorry for the late reply, if you provide me an example using jsfiddle.net instead of what you sent (I wasn't able to test it).
Closing this as it doesn't seem to be a bug but more a usage problem.


Game crashing when opening "Heroes" menu

Recently the game started crashing when I tap "Heroes" before starting a level. I assume the save file somehow got corrupted. I am happy to provide a copy of my save file for debugging, but I don't know where the save file is located.

Well, the saved games are in the "shared preferences" directory, and in recent Android versions it has become very difficult to access these files. Actually, I don't know how to get this without a debugger (that's how I do this) or a rooted device.
Is this reproducible, or did it happen only once?

It is reproducible, but I don't know what I did to get the game to this state where it crashes every time I try to open the heroes menu.
I was able to pull the shared preferences for the game, I've attached it. The original file name was prefs.xml.xml, but GitHub doesn't let me upload it with the .xml file extension.
prefs.xml.txt

I should have noted this in my original issue: I can play levels of the game, the level select screen works, and my hero upgrades seem to still be in effect. Everything except the heroes menu seems to be working.
I did encounter another strange (graphical?) glitch at some point, but I cannot reproduce it. It was as if the game wasn't clearing the screen between frames. That glitch happened after this heroes menu bug already started happening, but it only happened once.

Thanks for the additional information. I still have no real idea about what causes the crash on the hero screen, but I think it's not related to the save game file. Sometimes the program fails to determine the dimensions of the screen, and Android doesn't like when one tries to draw on zero-sized bitmap; but that is only speculation. If ever you can figure out how to reproduce it, let me know ...
The other glitch you mentioned I have already noticed. If you move the viewport, it'll go away. I have not found this bug yet, but I'll try to solve this.

After clearing the app storage and cache in system settings the game works again. So it seems to be somehow related to some kind of data that the game saves. I'll let you know if I ever manage to reproduce it.

I have the same issue. I suspect it's from collecting an unexpected cryptocoin limit.

At least one bug has been fixed: By mistake, the game calculated a negative number of cryptocoins, which effectively let it crash.

V1.33 does not have the problem.

Seems to have been fixed then. I'm closing the issue. Thanks for reporting!


[corechecks/snmp] Make mergeProfiles return a deepcopy

What does this PR do?
[corechecks/snmp] Copy during mergeProfiles
Shouldn't lead to perf issues since profiles mergeProfiles is only called during profile loading time that is not in the critical path of the integration.

Motivation
Avoid accidental modification

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Just to confirm: We haven't seen any issue with this yet, but it could maybe lead to one right?

@FlorianVeaux Yes, that's right.


refactor: historic -> historical and HistoricBlockData  -> BlockHeader

Fixes https://github.com/AztecProtocol/aztec-packages/issues/3471
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

Benchmark results
Metrics with a significant change:

note_history_trial_decrypting_time_in_ms (10): 354 (+55%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 44bf30b0 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
222,828
868,196
3,449,540

l1_rollup_execution_gas
841,915
3,595,304
22,204,909

l2_block_processing_time_in_ms
2,023 (-1%)
7,725 (-1%)
31,326 (-1%)

note_successful_decrypting_time_in_ms
313 (-1%)
914 (-1%)
3,412 (+3%)

note_trial_decrypting_time_in_ms
21.0 (-14%)
39.4 (-15%)
197 (-1%)

l2_block_building_time_in_ms
18,686 (-1%)
73,777
296,469

l2_block_rollup_simulation_time_in_ms
15,141 (-1%)
59,818
240,562

l2_block_public_tx_process_time_in_ms
3,497 (-1%)
13,810
55,362 (-1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
22,871 (+1%)
44,382 (+1%)

note_history_successful_decrypting_time_in_ms
2,199 (-1%)
4,205 (+1%)

note_history_trial_decrypting_time_in_ms
164 (+1%)
:warning: 354 (+55%)

node_database_size_in_bytes
3,306,820
3,649,124

pxe_database_size_in_bytes
29,748
59,307

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
200
43,077
20,441

private-kernel-ordering
115
25,833
9,689

base-rollup
2,542
659,500
873

root-rollup
89.9 (-1%)
4,072
1,097

private-kernel-inner
260
64,484
20,441

public-kernel-private-input
171 (-1%)
25,203
20,441

public-kernel-non-first-iteration
168
25,245
20,441

merge-rollup
10.8 (-1%)
2,592
873

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
10,323
25,938


Fix @var in SessionTestCase.

Description
Fix @var in SessionTestCase.
MockSession is not SessionHandler.
Checklist:

[x] Securely signed commits
[x] Component(s) with PHPdocs
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

Thank you @kenjis

Thank you @kenjis


Reduce amount of chatter in the console, but implement -verbose flag to show otherwise omitted print statements

See https://github.com/kegsmr/sc4mp-server/issues/42


ReferencesTests.testReferencesInMacro times out on Windows

ReferencesTests.testReferencesInMacro hits the 5 minute timeout on Windows. Investigate why.

Synced to Apple’s issue tracker as rdar://137922381


Deploying recent changes, mostly related to applications

As in the title.
It's a draft until #581 gets merged; but from then on we can test it on staging. Maybe we could ask someone from the Students' Council to try it too (though they are quite busy right now).

Can this go into staging first? I'd like to thoroughly test any registration/admission-related code before it start causing issues with TTT or prospective students.

as in: sit down tomorrow night and start the application period on the staging instance, and manually go through the registration process for a fake user.

Yes, that would be nice:) Just merge it into staging manually; we don't need a PR for that. And thanks in advance 😊

I'll get the tests pass tonight with a separate PR.

Should I still check out the tests? I have done #589 but I now see you've made progress since then.


Bump version to 0.3.3.

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

Project coverage is 91.19%. Comparing base (d7172f0) to head (2655b56).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #149   +/-   ##
=======================================
  Coverage   91.19%   91.19%
=======================================
  Files           4        4
  Lines         602      602
  Branches       47       47
=======================================
  Hits          549      549
  Misses         53       53

Flag
Coverage Δ

unittests
91.19% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Possible bug in templates

Hi David
Trying to mix dlib and OpenCV on the same project I got this error (or a naive C++ programmer :-)). Could you take a look?
// g++ -Wall -fno-strict-aliasing -fPIC  -fopenmp -fpermissive -Werror -DDEBUG  -pg -g3
// -DSHMEM -DDLIB_PNG_SUPPORT -DDLIB_JPEG_SUPPORT -I. -I../../include/ -I/usr/local/include/
// -I./Frontal/dlib-master/   -c -o face_detect.o face_detect.cpp
#include <stdio.h>
#include
#include <dlib/opencv.h>
#include <dlib/matrix.h>
#include <dlib/geometry.h>
#include <dlib/pixel.h>
#include <dlib/image_processing.h>
#include <dlib/image_transforms.h>
#include <dlib/image_io.h>
#include <dlib/image_processing/frontal_face_detector.h>
#include "opencv2/opencv.hpp"
#include "opencv2/imgcodecs.hpp"
using namespace std;
using namespace dlib;
using namespace cv;
int main(int argc, char* argv[])
{
// std::cout << "Model: " << argv[1] << "\nImg: " << argv[2] << std::endl;

dlib::frontal_face_detector detector = dlib::get_frontal_face_detector();

cv::Mat img = cv::imread(argv[2], 1);
std::cout << img.cols << "x" << img.rows << std::endl;

dlib::cv_image<dlib::bgr_pixel> img_dlib( img );

// trying to comment out the cv_image above and read the the file again, same errors
// dlib::matrix<dlib::rgb_pixel> img_org;
// dlib::load_image(img_org, argv[2]);
// dlib::array2d<unsigned char> img_dlib_gray;
// dlib::assign_image( img_dlib_gray, img_org);

std::vector<dlib::rectangle> dets = detector(img);
int dets_n = dets.size();

printf("Detected faces: %d \n", dets_n);

return 0;

}
/*
xxx@yyyy Teste ]$ g++ -Wall -fno-strict-aliasing -fPIC  -fopenmp -fpermissive -Werror -DDEBUG  -pg -g3 -DSHMEM -DDLIB_PNG_SUPPORT -DDLIB_JPEG_SUPPORT -I. -I../../include/ -I/usr/local/include/ -I./Frontal/dlib-master/   -c -o face_detect.o face_detect.cpp
In file included from ./Frontal/dlib-master/dlib/image_processing/remove_unobtainable_rectangles.h:10:0,
from ./Frontal/dlib-master/dlib/image_processing.h:20,
from face_detect.cpp:16:
./Frontal/dlib-master/dlib/image_processing/scan_fhog_pyramid.h: In instantiation of ‘void dlib::impl::create_fhog_pyramid(const image_type&, const feature_extractor_type&, dlib::array<dlib::array<dlib::array2d > >&, int, int, int, long unsigned int, long unsigned int, long unsigned int) [with pyramid_type = dlib::pyramid_down<6u>; image_type = cv::Mat; feature_extractor_type = dlib::default_fhog_feature_extractor]’:
./Frontal/dlib-master/dlib/image_processing/scan_fhog_pyramid.h:633:48:   required from ‘void dlib::scan_fhog_pyramid<Pyramid_type, Feature_extractor_type>::load(const image_type&) [with image_type = cv::Mat; Pyramid_type = dlib::pyramid_down<6u>; Feature_extractor_type = dlib::default_fhog_feature_extractor]’
./Frontal/dlib-master/dlib/image_processing/object_detector.h:433:9:   required from ‘void dlib::object_detector<image_scanner_type_>::operator()(const image_type&, std::vectordlib::rect_detection&, double) [with image_type = cv::Mat; image_scanner_type_ = dlib::scan_fhog_pyramid<dlib::pyramid_down<6u> >]’
./Frontal/dlib-master/dlib/image_processing/object_detector.h:507:16:   required from ‘std::vectordlib::rectangle dlib::object_detector<image_scanner_type_>::operator()(const image_type&, double) [with image_type = cv::Mat; image_scanner_type_ = dlib::scan_fhog_pyramid<dlib::pyramid_down<6u> >]’
face_detect.cpp:45:53:   required from here
./Frontal/dlib-master/dlib/image_processing/scan_fhog_pyramid.h:601:71: error: invalid use of incomplete type ‘struct dlib::image_traitscv::Mat’
typedef typename image_traits<image_type>::pixel_type pixel_type;
^~~~~~~~~~
In file included from ./Frontal/dlib-master/dlib/opencv/../matrix/../array2d/../geometry/rectangle.h:12:0,
from ./Frontal/dlib-master/dlib/opencv/../matrix/../array2d/array2d_kernel.h:10,
from ./Frontal/dlib-master/dlib/opencv/../matrix/../array2d.h:7,
from ./Frontal/dlib-master/dlib/opencv/../matrix/matrix_mat.h:10,
from ./Frontal/dlib-master/dlib/opencv/cv_image.h:11,
from ./Frontal/dlib-master/dlib/opencv.h:10,
from face_detect.cpp:12:
./Frontal/dlib-master/dlib/opencv/../matrix/../array2d/../geometry/../image_processing/generic_image.h:123:12: note: declaration of ‘struct dlib::image_traitscv::Mat’
struct image_traits;
^~~~~~~~~~~~
...
Followed on with several other errors caused by
*/

Don't pass an opencv Mat to a dlib function, which is what you are doing in the detector call.

or a naive C++ programmer :-)
Really!
Thanks


Increased response time on psr7 update

Summary of problem
I'm using guzzle HTTP/guzzle bundle version 5.3.0 which use psr7 version 1.3.0 and elasticsearch-php bundle version 5.3.1 in project. On updating the guzzle bundle to version 6.2.3 (which requires psr7 version >= 1.3.1), the response time of the search being done using elastic search increases significantly (from 13 ms to 170 ms). Any idea what might be the reason behind the increase in response time? I'm using signing handler as follows:
    private function signingHandlerForEs()
    {
        $psr7Handler = Aws\default_http_handler();
        $signer = new SignatureV4('es', 'ap-southeast-1');
        $credentialProvider = $this->getCredentialProvider();

        return function (array $request) use ($psr7Handler, $signer, $credentialProvider) {
            $request['headers']['host'][0] = parse_url($request['headers']['host'][0], PHP_URL_HOST);

            $psr7Request = new Request(
                $request['http_method'],
                (new Uri($request['uri']))
                    ->withScheme($request['scheme'])
                    ->withHost($request['headers']['host'][0]),
                $request['headers'],
                $request['body']
            );

            $signedRequest = $signer->signRequest(
                $psr7Request,
                call_user_func($credentialProvider)->wait()
            );

            $response = $psr7Handler($signedRequest)->wait();

            return new CompletedFutureArray([
                'status' => $response->getStatusCode(),
                'headers' => $response->getHeaders(),
                'body' => $response->getBody()->detach(),
                'transfer_stats' => ['total_time' => 0],
                'effective_url' => (string) $psr7Request->getUri(),
            ]);
        };
    }

System details

Operating System: Ubuntu
PHP Version : 7.0.4
ES-PHP client version : 5.3.1
Elasticsearch version : Amazon elasticsearch (https://aws.amazon.com/elasticsearch-service/)

Pretty sure this is not related to guzzle/psr7 as there are no performance relevant changes. I'm afraid you need to debug and profile this yourself. I can recommend https://blackfire.io/ for that. Just do one profile before and one after the update. Then you'll see the source problem.


Support for custom links in relations.

Currently when defining a relation, a foreign key column is required.
In some cases it might be desirable to specify a custom relation where, for example, one wants to provide the related IDs manually.
Support for this could be easily added by applying filterCondition on the condition generated by filterByModels(https://github.com/yiisoft/yii2/blob/master/framework/db/ActiveRelationTrait.php#L447)  and  https://github.com/yiisoft/yii2/blob/master/framework/db/ActiveQuery.php#L522
In these functions a condition is generated by iterating over the ActiveQuery::$link property, providing an empty array results in a 0 = 1 condition; while intuitively it should be 1 = 1.
Adding this functionality can be done in 2 ways:

Support empty column in the link parameter for active record relations.
Support false or null in the link parameter for active record relations.

While 1 is intuitive, it might break backward compatibility for users that rely on not getting any query results (since 0 = 1 will never be true).
If that is an issue, you could add support for false / null instead, currently these values will throw errors and that behavior can be replaced without creating any unexpected behavior.

Users not using it will not notice the difference.

Never mind, this will cause issues when populating related records since Yii won't know which related record belongs to which primary record.


Fixed CBL Java Core 547 - Missing "contentURL" property on attachments

added unit test for Attachment.getContentURL()

This can be merged when this one https://github.com/couchbase/couchbase-lite-java-core/pull/552 get merged.


TextField inside Offstage and Stack not showing keyboard

Steps to Reproduce
I'm building a bottom navigation where every tab has its own navigation. I need to include a MaterialApp for each tab. I wrap each one inside an Offstage and all the offstages inside a Stack.
Everything is working except the Textfield, they never show the keyboard. They receive the tap but they won't show any keyboard (the physical keyboard of my mac won't work either).

This is what happens when i tap on the Textfields:
http://www.giphy.com/gifs/69oi3ZjKDYidS2vQmz
I simplified the code to reproduce the problem:
void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    Stack stack = new Stack(
      children: <Widget>[
        _getStackPage(false),
        _getStackPage(true), // set offstageFlag to false to show keyboard
      ],
    );

    MaterialApp mainMaterialApp= new MaterialApp(
      home: new Scaffold(
        body: stack,
      ),
    );

    return mainMaterialApp;
  }

  Widget _getStackPage(bool offstageFlag) {
    Offstage offstage = new Offstage(
      offstage: offstageFlag,
      child: new MaterialApp(
        home: new Scaffold(
          body: new Center(
            child: new TextField(),
          ),
        ),
      ),
    );

    return offstage;
  }
}

Logs
Launching lib/main.dart on iPhone 6 in debug mode...
Running Xcode clean...                                       0.9s
Starting Xcode build...
 ├─Assembling Flutter resources...                    3.4s
 └─Compiling, linking and signing...                  2.0s
Xcode build done                                             6.5s
    CADisplay.name = LCD;
    CADisplay.deviceName = PurpleMain;
    CADisplay.seed = 1;
    tags = 0;
    currentMode = <FBSDisplayMode: 0x604000099960; 375x667@2x (750x1334/2) 60Hz sRGB SDR>;
    safeOverscanRatio = {0.89999997615814209, 0.89999997615814209};
    nativeCenter = {375, 667};
    pixelSize = {750, 1334};
    bounds = {{0, 0}, {375, 667}};
    CADisplay = <CADisplay:LCD PurpleMain>;
}
Syncing files to device iPhone 6...                          1.9s

🔥  To hot reload your app on the fly, press "r". To restart the app entirely, press "R".
An Observatory debugger and profiler on iPhone 6 is available at: http://<IP_ADDRESS>:8100/
For a more detailed help message, press "h". To quit, press "q".

Flutter Doctor
[✓] Flutter (Channel beta, v0.2.8, on Mac OS X 10.13.4 17E199, locale en-IT)
    • Flutter version 0.2.8 at /Users/enrico/Projects/Frameworks/flutter
    • Framework revision b397406561 (4 weeks ago), 2018-04-02 13:53:20 -0700
    • Engine revision c903c217a1
    • Dart version 2.0.0-dev.43.0.flutter-52afcba357

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /Users/enrico/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = /Users/enrico/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.4.0

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] VS Code (version 1.22.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Dart Code extension version 2.12.0

[✓] Connected devices (1 available)
    • iPhone 6 • 1CB3B003-E6C2-41AA-BFB9-C6D3BBC565BA • ios • iOS 11.3 (simulator)

• No issues found!

The issue is because you have a MaterialApp widget inside another MaterialApp. It's nothing related to Offstage. You also "can" but probably don't want Scaffold inside another Scaffold.
import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new Scaffold(
        body: new Stack(
          children: <Widget>[
            _getStackPage(false),
            _getStackPage(true), // set offstageFlag to false to show keyboard
          ],
        ),
      ),
    );
  }

  Widget _getStackPage(bool offstageFlag) {
    Offstage offstage = new Offstage(
      offstage: offstageFlag,
      child: new Center(
        child: new TextField(),
      ),
    );

    return offstage;
  }
}

@enricoquarantini just put a Navigator in your code then. Create each tabs' Navigator with a different initialRoute and you might as well use the same onGenerateRoute callback to create the routes. Perhaps post one of your inner MaterialApp implementations and I can better explain how to integrate it.

@slightfoot thank you, but it doesn't resolve the problem.
I replaced the nested MaterialApp with a Navigator, but the keyboard doesn't appear.
void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    Stack stack = new Stack(
      children: <Widget>[
        _getStackPage(false),
        _getStackPage(true), // set offstageFlag to false to show keyboard
      ],
    );

    MaterialApp mainMaterialApp = new MaterialApp(
      home: stack,
    );

    return mainMaterialApp;
  }

  Widget _getStackPage(bool offstageFlag) {
    Navigator navigator =
        new Navigator(onGenerateRoute: (RouteSettings settings) {
      return new MaterialPageRoute(
        builder: (_) => new Scaffold(
              body: new Center(
                child: new TextField(),
              ),
            ),
      );
    });

    Offstage offstage = new Offstage(
      offstage: offstageFlag,
      child: navigator,
    );

    return offstage;
  }
}

I just ran into the same issue with stacked views used in BottomNavBar.

I'm stuck right here too. This isn't good, I hope the good folks around here come up with a fix.

@Hixie

@Hixie The problem is that Offstage widgets are not excluded from the FocusScopeNode logic, and as Navigators create a FocusScope tree with autofocus true, the last one in the widget tree automatically gains focus no matter if it is actually visible or not.
The other problem is that when you tap on a text field that is inside a Navigator that is currently not focused, it doesn't gain focus and the Keyboard doesn't show up.
cc @xster as I saw him solve a similar issue here https://github.com/flutter/flutter/pull/14431

Creating a separate MaterialApp for each tab is likely to get you in all kinds of trouble. You're better off having a separate Navigator rather than a separate MaterialApp.

@Hixie that issue is not related to having separate MaterialApps. The problem is related to the fact that there are different Navigators inside the same stack on the same hierarchy level.
e.g.
new Stack(
  fit: StackFit.expand,
  children: [navigatorA, new Offstage(offstage: isActive, child: navigatorB)]
);

As I wrote above, navigatorB gets automatically focused as soon as it's first inserted into the Widget tree (the FocusScope that it generates has autofocus true) even if it's inside an Offstage widget with the offstage bool set to true.
Now, if you have a TextField inside navigatorA, even if navigatorB is offstage and not visible, and even if the user can interact with it (and with all the other elements in the active navigatorA's route), once they tap on it, the keyboard doesn't show up.
I really had an hard time trying to figure out why if a user explicitly taps on a textfield that is inside any FocusNode, the active FocusNode doesn't get set on all the parents up to the root, but only on the first one.
That would solve this specific issue although it would masquer what imho is the real issue: offstage FocusScopes should be entirely excluded from the FocusScopeNode logic, as items inside an offstage widgets wouldn't have any possible form of user interaction on them.

right, you want a Navigator on the outside of that Stack as well. Typically, the one provided by the MaterialApp.
OffStage doesn't do anything except turn off painting and make the layout ignore the child. It's not a way to remove widgets from the app. It's a way to measure widgets before showing them.

@Hixie let's assume for a moment that the two navigators inside the stack are not full screen and both of them are visible and occupy some portion of the screen: I don't get why if there is one text field on each of them, the interactions with the keyboard would work on just one of them and be ignored on the other one. Why the tap on the textfield doesn't apply the focus on all the parent FocusScopeNodes up to the root?

If they're just next to each other and there's no ancestor focus scope then they're both going to think they're the root, which will cause weirdness. That's why I was suggesting having a root MaterialApp with the two Navigators inside that.
It may still not work, in which case it's probably because our focus code is a bit primitive right now. :-)

Thanks for the suggestion @Hixie . I just gave a try to your proposed solution and unfortunately it doesn't seem to work. If you try this minimal example you will notice that if you tap on the top TextField, although you can see the ink splash, the keyboard won't open.
On the bottom one, everything is working as expected.
import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

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

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new Stack(
        fit: StackFit.expand,
        children: <Widget>[
          new Positioned(
            top: 100.0,
            left: 0.0,
            right: 0.0,
            height: 150.0,
            child: new Navigator(
              onGenerateRoute: (_) => new MaterialPageRoute(
                    builder: (_) => new Center(child: new TextField()),
                  ),
            ),
          ),
          new Positioned(
            top: 250.0,
            left: 0.0,
            right: 0.0,
            height: 150.0,
            child: new Navigator(
              onGenerateRoute: (_) => new MaterialPageRoute(
                    builder: (_) => new Center(child: new TextField()),
                  ),
            ),
          ),
        ],
      ),
    );
  }
}

With the following change inside FocusScopeNode, the behaviour is fixed.
void requestFocus(FocusNode node) {
    assert(node != null);
    if (_focus == node)
      return;
    _focus?.unfocus();
    node._hasKeyboardToken = true;

    // bubble up the focus on all parents up to the root
    FocusScopeNode current = this;
    while (current != null) {
      current._parent?.setFirstFocus(current);
      current = current._parent;
    }

    _setFocus(node);
  }

However reading the docs of that method, it seems that the former behaviour was intentional. I still don't understand what are the cases in which when you request the focus of an element you shouldn't bubble up the focus to all the parents but I might be missing the bigger picture.

My understanding is the original user intent (including from the tweet: https://twitter.com/omariskamal/status/1006131705495805953) is to have a permanent iOS-style navigation bar shared between screens, correct?  Maybe we should file a separate bug about Flutter offering an official example of such?  (FYI @xster)

@sroddy your last snippet is mostly on the right path. This is what the CupertinoTabScaffold does to manage focus (it also uses multiple navigators inside a stack of offstages) https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/cupertino/tab_scaffold.dart#L229.
Is the root of your request that you want the Material tab bar to behave the same way navigation-wise with the Cupertino tab bar? There are some recent changes to the Material specs to this point https://github.com/flutter/flutter/issues/18740.
cc @willlarche who's collecting feature requests for the Material spec to take on more iOS-y patterns.

@xster,
@Hixie was writing a couple of messages above in this thread:

OffStage doesn't do anything except turn off painting and make the layout ignore the child. It's not a way to remove widgets from the app. It's a way to measure widgets before showing them.

Considering that using OffStage to show/hide different subtrees in a complex widget hierarchy looks to be an accepted practice, even in the official code, I think that the FocusScope logic should be clever enough to exclude the parts of the widget tree that are actually not available for focus instead of relying on "fragile imperative tricks" like the one in the tab scaffold (no offenses here :) ) to achieve the desired outcomes.

To be clear, that isn't an accepted practice. To hide a subtree, just don't include it in the tree.

Ok. I thought it was because it’s currently used here: https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/cupertino/tab_scaffold.dart#L295

Hello,
Thank you all for your hard work.
Is there any progress/solution/workaround that we can apply right now for this issue?

@sroddy the requestFocus fix from you is also working for me. Are there any plans on integrating this fix into the framework? This is currently a major issue for us because we need to use multiple Navigator instances.

@wwwdata great answer that worked for me too!


Build docker images using the build arguments instead of sed'ing Dockerfile

Impact of the new feature
WMCore CD pipeline
Is your feature request related to a problem? Please describe.
Just because I already started this work:
https://github.com/dmwm/WMCore/pull/11638
I'd rather not trash bin it.
Describe the solution you'd like
Instead of replacing the TAG - via sed command - directly in the WMCore Dockerfiles available under:
https://github.com/dmwm/CMSKubernetes/tree/master/docker/pypi
use the docker --build-arg to pass the correct tag in the command line.
Describe alternatives you've considered
Keep sed around
Additional context
None

Hi @amaltaro

Just because I already started this work:  #11638 I'd rather not trash bin it.

I completely agree with you. Lets push this to the end.

Sigh, reopening this! The implementation works as expected, but it turns out that when the GH workflow is going to publish the new image to the CERN registry, it loads the Dockerfile once again, which results in a TAG=None.
There is no specific docker build/run in the GH workflow:
https://github.com/dmwm/WMCore/blob/master/.github/workflows/docker_images_template.yaml#L49
so I have to research what needs to be done in this case.

I will have to revisit this docker build GH workflow because:

with the current changes, it still fails for reqmgr2ms-unmerged (see #11652 for further details)
the docker action v1 is being deprecated
it is not efficient, as it builds the image twice
apparently the Login step is not required

For that, I better setup a private repository to test it, otherwise it will be a bunch of useless commits until finally converging. Apologies for that mess!

Hi @amaltaro
Just to link here some more details I wrote last week related to few of the bullets from above:

the docker action v1 is being deprecated

https://github.com/dmwm/WMCore/pull/11642 - pay attention to the NOTE in the issue description, when upgrading to docker action v2 about the changing of the path to context parameter. Please also do not overlook the fact that the repsitory  parameter is deprecated and will affect how we create those image tags before uploading.

it is not efficient, as it builds the image twice

https://github.com/dmwm/WMCore/issues/11641 - I tried to put a short description of my findings on how those two builds happen one after another. I think the reason why we have ended up with that is because the docker/build module usually considers the Docker files/context to be provided within the current githup repository, while  we download/fetch them from CMSkubernetes. I am pretty sure we may leave the first step to only cover the Docker context downloading and within the docker/build-upload module/action we can do the full build and upload (provided we have properly tagged them).

apparently the Login step is not required
Well in most of the examples I've seen in the net, the login step is actually present, while the user and password parameters to the docker/build-upload  action are skipped.


Add a Dangerfile

Both https://github.com/danger/danger.systems/pull/80 and https://github.com/danger/danger.systems/pull/72 are now fully blocked on my opinions, I cannot make my opinions until I have enough data -  I won't have enough data until Danger gives me it.
So, lets get to that.

          1 Message

:book:
Hey

  Generated by :no_entry_sign: danger


the variables are initialized but cant pass

Challenge Understanding Uninitialized Variables has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Initialize these three variables
var a = 6;
var b = 15;
var c = "I am a String";
//a = 6;
//b = 15;
//c = "I am a String";
// Do not change code below this line

a = a + 1;
b = b + 5;
c = c + " String!";

I had the same problem at first, read the instructions carefully.

@Kelvinson
Thanks for reporting this. But your code is incorrect.
GitHub Issues are for reporting bugs on the website only.
Please use the HelpJavaScript chat room for getting challenge related help.
Happy Coding.


Potential memory leak

System Info
I'm running a docker container to run BAAI rerank-base model on a local PC with RTX 4090 and intel i9-13900KF, 64GB RAM

Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
After calling '/rerank' request many times (around 400,000 times with 5000 texts each) RAM memory usage increases significantly(from 6GB to 42+GB).
Memory usage before:

after:

Expected behavior
Is this behavior expected? Since I'm unfamiliar with rust and its basic concepts, any feedback would be helpful.
Thanks!

@novak2000 i'm too having this issue, I tried on laptop in CPU when i try to use Embed4all or SentenceTransformer, both had huge increase in memory after each request

It seems its linked to an issue with Hyper: https://github.com/hyperium/hyper/issues/1790
#161 solves the issue by using another memory allocator.

I seem to still be running into this issue of steadily growing mem usage of the text-embeddings-router process. This is with TEI 1.1.0, but I also tested 1.0.0 with same results.
Running with docker:
docker run --name tei --gpus all -e CUDA_MEMORY_FRACTION=1.0 -p 8081:80 -v $volume:/data --pull always ghcr.io/huggingface/text-embeddings-inference:1.1.0 --model-id $model --tokenization-workers 4 --max-batch-tokens 131072 --max-batch-requests 1024 --pooling cls
model is: BAAI/bge-small-en-v1.5

Do you have a graph of the memory increase? And if you have v1.0.0 vs v1.1.0 that would be amazing.

I don't have a pretty graph, but here are 3 ps outputs over the past 24 hrs, the first one is from just after starting the docker image, the 2nd is from not long after, and the 3rd is from a minute ago where you can see the mem percentage has grown to 8.2% of the server's ram, from the first output's 3.6%
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     3341091 12.0  3.6 54668960 583220 ?     Ssl  18:48   0:01 text-embeddings-router --model-id BAAI/bge-small-en-v1.5 --tokenization-workers 4 --max-batch-tokens 131072 --max-batch-requests 1024 --pooling cls

root     3341091  2.5  3.9 54762532 638616 ?     Ssl  18:48   0:51 text-embeddings-router --model-id BAAI/bge-small-en-v1.5 --tokenization-workers 4 --max-batch-tokens 131072 --max-batch-requests 1024 --pooling cls

root     3341091 65.2  8.2 55811112 1338148 ?    Ssl  Mar06 594:48 text-embeddings-router --model-id BAAI/bge-small-en-v1.5 --tokenization-workers 4 --max-batch-tokens 131072 --max-batch-requests 1024 --pooling cls

I'm embedding with default config with 1 milion vector without any issue, maybe worker cause leak?

BTW I forgot to mention regarding 1.0.0 vs 1.1.0, I tried both and performance seemed similar in regards to the mem use growing.
The worker/client program in my case is on a separate server, and the embedding throughput it's inferencing is in the range of 5 to 10 million requests to the TEI server per 24 hrs.

Ok I will keep this in my prio list but it must be very deep in the stack and might take some time to find.

The worker/client program in my case is on a separate server, and the embedding throughput it's inferencing is in the range of 5 to 10 million requests to the TEI server per 24 hrs.

That's great :) It's always nice to hear that the project is running in prod with some real throughput requirements.

Ok if you need any other details let me know. The instance is on AWS, a g5.xlarge (1 nvidia A10G gpu), using the AMI:
Deep Learning AMI GPU PyTorch 2.1.0 (Ubuntu 20.04) 20231103
id: ami-0ac1f653c5b6af751
the gpu is being shared, 90% of it is a separate vllm text generation server, the other 10% gets used by TEI.

Just to mention that I'm also running into the same issue again.
I'm using version 1.0

@novak2000 can you use 1.1 and keep the memory resources limit? I'm wondering if the container will be killed or not on 1.1.

I'm sending you docker stats before and after running a simple test, with around 25k requests to the server(each of the requests has between 100 and 1000 texts to embed and ~1000 texts to rerank)
models used:
reranker: BAAI/bge-reranker-base
embedding: sentence-transformers/multi-qa-MiniLM-L6-cos-v1
before:

after ~10k requests(it looked like they were working stable just beneath the memory limit):

after ~20k requests, the embedding server got killed and restarted on failure:

Let me know if you need more details

I ran the tests again, and this time both services were killed
graph of memory consumption:

Ok thanks for this info.
I'm more or less off this week so I will keep digging when I find the time.

Any news on this ? I'm running into the same issue and it's not usable in production.

Yes it seems that there was a leak in one of our dependency. This is othogonal to the problem of allocator reported above.
We updated the depency and added a logic to trim os pages in #307.
See: https://www.algolia.com/blog/engineering/when-allocators-are-hoarding-your-precious-memory/ for more info on the subject.
I will release 1.3 with this PR today. Will you be able to test it and report if the problem is indeed fixed?

I can try it today if you want but I don't see the 1.3 release for the moment.

It's released now.

@djanito, were you able to try it out?


Image tag in HelmRelease is erroneously converted to another value

We have a HelmRelease object in Git, with the following section under the values key:
image:
      repository: REDACTED
      tag: 0362525

When Flux grabbed the release to deploy it, we got an ImagePullBackoff. After some investigation, we noticed that the tag field in the Flux configuration (kubectl get helmreleases) was a different one from the one above. It seems that when the tag is a number (not enclosed in quotes), its value is somehow changed by Flux when the HelmRelease is fetched and parsed from git. Unfortunately I do not have the value that we saw in the parsed object. Enclosing the tag in quotes solves the issue.

@gtseres this is how YAML works, if a value resembles a number it will convert it. When using numbers as image tags you have to enclosed them in quotes.

When working with numbers that should be interpreted as strings you should always enclose them in quotes as otherwise they will indeed end up as something else.
Flux already does this when updating manifests (tag: '0362525') so my assumption is the HelmRelease got added by a human without quotes around the tag. If you would have given a manual helm install the HelmRelease values the same mutation would have occurred.


footer  working but not header

Home
About Us
Our Products
Contact Us
Help
Support
You should be able to add a task check it off and delete it.
The body text was working then added something and it stopped working
@neilmispelaar

Hi @Fuzzyspuffyy
Can you please turn on GitHub pages on your repo.
There is a video in Brightspace on how to do it if you have questions.

Once GitHub pages is turned on then I can test your assignment.
Thanks!

Hello;
github-2023-02-13

Hello; @neilmispelaar
github-2023-02-13

I am not shore @neilmispelaar
github-2023-02-13.mp4.zip - vidio

Got it working:
https://imd1005-web-development-winter-2023.github.io/assignment-03-Fuzzyspuffyy/

Great try to far @Fuzzyspuffyy
Here is the error you are having that is causing your issue when trying to add tasks:
There is no such method as document.getElementsById is not a function.
It's actually document.getElementById() - https://imd1005.ca/284

Thank You @neilmispelaar
I do not know Why I can not see the text in the nav only on the footer pg.
Using  Exercise 10 - CSS Flexbox
What else should I add and do?
Trying to do this I am not sure If it is too much
https://www.youtube.com/watch?v=jrE_tm7nlX4
TOP 20 PURE CSS ANIMAL DESIGNS WITH CODE 🦄
Thank You for all your help appreciate it.

Your top nav has text. You just have it set to the same colour as the background colour so that's why you can't see the text.
If you change the colour of the text in the top nav then you'll see it.

I watched this video - https://www.youtube.com/watch?v=jrE_tm7nlX4 - but I'm not quite sure I understand how you want to incorporate it into your assignment?
If you could share a sketch or a description of what you are trying to build I might be able to help, but with that video I just don't have enough information to go on.

Oky @neilmispelaar will change the colour

like this but on the bottom left

@Fuzzyspuffyy
I would recommend you download an image that you want to use and then insert it onto your page and then position it using flexbox or grid.
Notes on images: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img
I'm not sure where to get pictures that you can use, but I usually go to https://unsplash.com and https://www.pexels.com

Do I need to add a flexbox to separate the contents right now there is no space in-between. @neilmispelaar

Can you share a screenshot?
I'm not sure what you mean by "there is no space in-between". Space in between where exactly? Separate what contents?
Do you want to separate the To do items?
I would use CSS and add Margins and Padding to add space to the list items.
https://developer.mozilla.org/en-US/docs/Web/CSS/margin
https://developer.mozilla.org/en-US/docs/Web/CSS/padding
https://www.w3schools.com/css/css_boxmodel.asp

"there is no space in-between"

You'll have to use the margin property to add space.
https://developer.mozilla.org/en-US/docs/Web/CSS/margin
You can experiment with something like this in your CSS file (just add the right class for your to do list elements)
margin-top: 5rem;
margin-bottom: 5rem;

Okay I think I figures them out using
Learn CSS Box Model In 8 Minutes
https://www.youtube.com/watch?v=rIO5326FgPE
I do not know if I am in the right path @neilmispelaar
IT LOOKS good

@Fuzzyspuffyy
Looking better.
I would continue to focus on the Todo Items.
Maybe put a border around the To Do Items, and try to style them a bit more.
Don’t forget to check the HTML Validator to make sure there aren’t any errors with your code.
https://validator.w3.org/
Your app can delete and add todos which is great.
The only issue is that when you mark a todo as done (using the checkmark) and then add a new todo, the checkmark is removed.

Okay I have added and fixed the look to what I like
https://www.pexels.com/photo/frame-with-motivational-inscription-on-wall-4467010/
Will now focus on the Todo Items, border around the To Do Items, when you mean try to style them a bit more how (in what way).
@neilmispelaar

I am trying to fix the problem but now the Add new tasks button is not working .
@neilmispelaar

@Fuzzyspuffyy
Don't forget to check the console log. It will give you clues as to what is going wrong.
In your browser - right click -> select inspect -> and then choose the "console" tab.
You'll see any JavaScript errors pop up - like the one below.
Console log error:

How to get to the console:

Okay, Thank You @neilmispelaar, I fixed the problems and worked on:
Maybe put a border around the To Do Items, and try to style them a bit more.
The only issue is that when you mark a todo as done (using the checkmark) and then add a new todo, the checkmark is removed.
Are there other things you would like me to add?
I think it all works now Bed...

I’ll do a “Code Review” on your code today and then you can use the results of that to decide what else you should work on to enhance your Assignment 03.

Okay @neilmispelaar
I have also changed and modified some things.

Hi @Fuzzyspuffyy
Well done getting the check mark functionality working!
I've completed a Code Review for you - https://github.com/imd1005-web-development-winter-2023/assignment-03-Fuzzyspuffyy/issues/3
I'll leave it up to you if you want to continue working on this or mark it as complete.


Fix lowering of Builtin.createAsyncTask and Builtin.createAsyncTaskFuture

@swift-ci Please smoke test os x

@swift-ci Please test

@swift-ci please clean test windows platform

Windows builder ran out of space again

I don't think a failing windows build blocks merging.


introduce requirements.txt to simplify installation of dependencies for Jupyter notebooks

incorporated into https://github.com/ewasm/benchmarking/pull/29


Props Component / Yarn Workspaces

Is it possible to source components from another project in my yarn workspaces
I have the following x2 yarn workspaces

MyProject

src
components

some-component.js

Demo

.docz
components

some-file.mdx

Inside some-file.mdx i am able to import some-component and it renders using the <Playground> component but i see no prop table if i use <Props of={SomeComponent} />
I've see in the Project Configuration that it's possible to change the src in doczrc.js but i can't seem to get it working
I've tested the directory path is correct
const directoryPath = path.join( process.cwd(), "../MyProject/src/components")
and i am able to see that all my "component" files are found when i log the directoryPath but i still see no prop table.
Any ideas?

Ah ha! i think i've got it!
const directoryPath = path.join( process.cwd(), "../MyProject/src/components")
It's not src that i needed in doczrc.js but  ...
export default {
  ...
  docgenConfig: {
    searchPath: directoryPath,
  },
}

The example from the monorepo helped me out 👉 doczrc.js](https://github.com/doczjs/docz/blob/master/examples/monorepo-separate-docs/packages/docs/doczrc.js)

@PaulieScanlon I am having the issue where <Props /> is not working. When I tried your solution, my console continues to run with this happening over and over again
success onPreExtractQueries - 0.005s
success extract queries from components - 0.053s
success write out requires - 0.014s
success onPreExtractQueries - 0.020s
success extract queries from components - 0.018s
success write out requires - 0.002s

did you happen to come across this issue as well?


Build for NRF5340 host fails when BLE_HS_FLOW_CTRL is set

When target has
    BLE_HS_FLOW_CTRL: 1

Target fails to build due to missing reference to
ble_hci_trans_set_acl_free_cb
Error: /opt/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld: /mnt/026804076803F865/work/mynewt/bin/targets/nordic_pca10095-bleprph/app/@apache-mynewt-nimble/nimble/host/@apache-mynewt-nimble_nimble_host.a(ble_hs_flow.o): in function `ble_hs_flow_startup':
/mnt/026804076803F865/work/mynewt/repos/apache-mynewt-nimble/nimble/host/src/ble_hs_flow.c:241: undefined reference to `ble_hci_trans_set_acl_free_cb'
/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld: /mnt/026804076803F865/work/mynewt/repos/apache-mynewt-nimble/nimble/host/src/ble_hs_flow.c:269: undefined reference to `ble_hci_trans_set_acl_free_cb'

https://github.com/apache/mynewt-nimble/pull/976


Bump json-schema to version 0.2.5 and allow future patch updates

Bump json-schema to version 0.2.5
Set version constraints to allow future patch updates (semantic versioning)

@ferranvila thank you for reviewing the pull request! There still appears the message "Review required" at the bottom of this PR. Do we have to explicitly mark this PR as "reviewed" to be able to merge it?

There is CVE-2021-3918 by now - json-schema should be updated to newly published version 0.4.0.
All versions up to 0.3.0 are vulnerable and already flagged by security scanners...

There is CVE-2021-3918 by now - json-schema should be updated to newly published version 0.4.0. All versions up to 0.3.0 are vulnerable and already flagged by security scanners...

Created #32 to take that into account, incorporating also this PR.

Fixed in 017f744