Prevents void item corruption if certain items are disabled in the config

Steps to reproduce:

Create a new r2modman profile.
Install TooManyItems and DebugToolkit
Launch the game. Default configs will be generated, don't change them yet.
Start a new run.
Open console with CTRL + ALT + ~.
Give Will-o'-the-wisp and Voidsent Flame. Should be give_item 66 and give_item 67 respectively (or any other pair of normal item + void version).
Verify that normal item gets corrupted by the void item.
Close the game.
In TooManyItems.cfg enable custom config, disable every item, and save changes.
Launch the game again.
Repeat steps 4, 5, and 6 (item IDs will be different: give_item 54 and give_item 55).
Verify that the normal item doesn't get corrupted now.

Here's a profile code that you can import to set things up faster: 0190924e-e957-d6ee-fa81-f79875cbcfe4. I already disabled all items in the TooManyItems.cfg, but Use Custom Config has been set to false.
I'm not sure which set of items cause this to happen when disabled, since it takes a while to test different combinations, but from my testing the set includes at least Thumbtack, Iron Heart, Defiled Heart, Soul Ring, and Shadow Crest.
Oh, and I might as well include this while I'm at it:
The void items Defiled Heart and Shadow Crest don't actually specify which items they corrupt in their descriptions.

Can confirm. Ran into the same issue after I disabled couple of items from the mod in the config.

Sorry, I was on vacation. This is fixed in version 0.4.6.


Add a 'Median' field to the dashboard and make the response time percentile fields support floating-point numbers

Description
The goal is to make the dashboard behave closer to the aggregate report listener.
The aggregate report listener supports floating-point numbers like 99.9, 99.99, 99.999 ... in aggregate_rpt_pctX properties.  Since the StatisticsSummaryConsumer reads exactly the same properties, it's reasonable to change the percentiles from int to double. Users should expect to see the same fields regardless of in which mode they start JMeter, GUI or command line.
For the same reason, the 'missing' Median field is added.
Motivation and Context
For online shopping sites/apps, it's essential to know the 99.9...th percentile of response time, as there may be thousands or millions of concurrent requests during the sales/promotion campaigns.
And median (50th pct) can describe the distribution of response times better than average, as it isn't a normal distribution.
How Has This Been Tested?

The changes don't break any unit test on my macbook (macOS 10.15.1)
Looks ok with the new and modified fields both in the HTML dashboard and in the statistics.json
Set aggregate_rpt_pctX to 90, 95 and 99, the result is the same as JMeter 5.2.1
Set aggregate_rpt_pct3 to 100, the value of 100th percentile equals to the Max field

Data:
https://github.com/keithmork/hugo-blog/blob/master/static/file/pull-request/jmeter/20190319_kpi.jtl.zip
Command:
rm -rf /path/to/dashboard

JVM_ARGS="-Xmx2g" ./bin/jmeter -g "/path/to/kpi.jtl" \
 -o "/path/to/dashboard" -j "/path/to/generate_report.log" \
 -Jjmeter.reportgenerator.overall_granularity=5000 \
 -Jjmeter.reportgenerator.statistic_window=-1 \
 -Jaggregate_rpt_pct1=99.9 \
 -Jaggregate_rpt_pct2=99.99 \
 -Jaggregate_rpt_pct3=99.999

open /path/to/dashboard/index.html

Screenshots (if appropriate):

Types of changes

New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the code style of this project.
[ ] I have updated the documentation accordingly.

Codecov Report

Merging #567 into master will decrease coverage by 0.74%.
The diff coverage is 63.88%.

@@             Coverage Diff              @@
##             master     #567      +/-   ##
============================================
- Coverage     56.08%   55.34%   -0.75%
+ Complexity    10013     9966      -47
============================================
  Files          1024     1032       +8
  Lines         62918    63358     +440
  Branches       7070     7157      +87
============================================
- Hits          35290    35064     -226
- Misses        25155    25819     +664
- Partials       2473     2475       +2

Impacted Files
Coverage Δ
Complexity Δ

...c/core/src/main/java/org/apache/jmeter/JMeter.java
40.37% <0.00%> (-0.06%)
45.00 <0.00> (ø)

.../apache/jmeter/gui/AbstractJMeterGuiComponent.java
90.47% <ø> (-0.71%)
20.00 <0.00> (ø)

...rc/main/java/org/apache/jmeter/gui/GuiPackage.java
13.54% <0.00%> (-0.18%)
14.00 <0.00> (ø)

...org/apache/jmeter/gui/tree/JMeterTreeListener.java
6.81% <0.00%> (-0.42%)
3.00 <0.00> (ø)

...va/org/apache/jmeter/gui/util/JSyntaxTextArea.java
59.75% <ø> (-2.22%)
14.00 <0.00> (ø)

...n/java/org/apache/jmeter/threads/JMeterThread.java
68.31% <0.00%> (-0.69%)
104.00 <0.00> (ø)

.../main/java/org/apache/jmeter/util/JMeterUtils.java
52.29% <25.00%> (+3.33%)
73.00 <1.00> (+2.00)

.../jmeter/visualizers/ViewResultsFullVisualizer.java
40.14% <50.00%> (-0.29%)
17.00 <0.00> (ø)

...g/apache/jmeter/gui/action/LookAndFeelCommand.java
49.45% <57.40%> (+4.16%)
9.00 <3.00> (+4.00)

.../jmeter/testelement/AbstractScopedTestElement.java
94.11% <80.00%> (-5.89%)
21.00 <3.00> (+3.00)
:arrow_down:

... and 213 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c06f048...76c6b9a. Read the comment docs.


Find a way to build a parser for cli output for nmcli on linux

Found an approach with tersed output for nmcli. Built a parser in parser-poc-nmcli branch.


Instrumentation errors

Hi,
Been testing ActiveJdbc the whole week. Great work!
However, I bumped into problems with "instrumentation". Gone through the wiki and can't still figure out why it has to be manually done by the developer.
Added the pom entries from the "Simple Maven example" and I'm still having the same error:
Exception in thread "main" org.javalite.activejdbc.InitException: failed to determine Model class name, are you sure models have been instrumented?

Is there no way to make it transparent? Like without having to tweak the IDE on every project just to get "instrumentation" functionality? You know just update the Maven POM and build?
Apparently the maven build doesn't instrument the model classes or am I missing something?
Tried it on Eclipse Kepler and Intellij...same results.
Don't want to burden the team I'm handing over these projects to with all these extra details.
It's supposed to be a config-free data access library after all.
Any takes?
Thanks,
Ozzy

@ozzioma , understand your concern.
Honestly, I have been developing with ActiveJDBC since 2009, and view instrumentation as a simple post-compile step that is directly integrated into my IDE and into my build. I experienced absolutely no issues with instrumentation through the years. However some people find it annoying. This is why we implemented Dynamic Instrumentation. Unfortunately it has some issues with Java 8 lambdas. If you are not using Java 8 or not using ActiveJDBC models inside lambda expressions, you can use dynamic instrumentation.
I personally use static instrumentation and  IntellyJ Idea.  I recorded a clip today on how to use it to do rapid application development. You can see it here: http://javalite.io/instrumentation.
I will close this issue, as this is not an issue. However if you like, you can continue commenting here.
Thanks

I keep a fork of activejdbc that requires no instrumentation. Let me know if you'd like to use that also.

@ipolevoy thanks for the response!
On the "Dynamic Instrumentation" angle, the way I see it...you've just turned my project into an "activejdbc" project. Not cool. It's supposed to be config-free, no tweaking-the-JVM wrestling bouts...just compile and you should be good to go. At least an argument could be made for Spring jdbc and jdbi in that respect, even though activejdbc appears to be simpler.
I think some options should be made available to users who require more flexibility/customization.
For example, I understand you could override the table name using the @Table annotation.
Based on my understanding of ActiveJdbc so far, the @Table annotation could be used to resolve the table name when using DTO classes extending the  "Model" base class.
Don't you think that will be a nice option added, thus avoiding the need for that type of instrumentation?
@tchoulihan Sure man...buzz me up.Tnx.

@ozzioma Sure, here's how to use it:
The maven:
		<dependency>
			<groupId>com.github.tchoulihan</groupId>
			<artifactId>activejdbc</artifactId>
			<version>1.4.19-SNAPSHOT</version>
			<exclusions>
				<exclusion>
					<groupId>opensymphony</groupId>
					<artifactId>oscache</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

Setup a sample table:
@Table("User")
public static class User extends Model {}
public static final User USER = new User();

Use JDBC for that table:
import static com....User
User user = USER.findFirst("id = ?", userId);

@ipolevoy thanks, few clarifications needed though...

seeing static modifiers cannot be used on package level classes or stand-alone classes, does that imply the "User" class above is a nested class?

why the double declaration/instances before class usage? Any caveats I should be aware of?

Thanks

@ozzioma its not ipolevoy btw, this is a fork I made because of problems I had with instrumentation.

seeing static modifiers cannot be used on package level classes or stand-alone classes, does that imply the "User" class above is a nested class?

Yes user is a nested class, I generally put all my tables in a single class file, called Tables.java, but its not necessary.

why the double declaration/instances before class usage? Any caveats I should be aware of?

Its necessary to avoid instrumentation, I could go into it, but basically the new User() is necessary to instantiate a user as a specific type of Model.
Its really simple to use, just use the table constant USER or all caps version in every case. Let me know if you have any problems.

@ozzioma , the comments above from @tchoulihan refer to his fork of the project that does not require instrumentation. However, we decided not to merge that fork into the project. If you like, you can use @tchoulihan work.
If you want to full understand why instrumentation is required to  provide concise API, please refer to http://javalite.io/instrumentation#what-is-instrumentation
Thanks

@tchoulihan sorry for the WrongUserNameException...LOL.
Tried it out...same "failed to determine Model class name, are you sure models have been instrumented?" exception.
Besides the number of steps needed to use a single class is a bit much IMO. What if you have a database with say 60 tables and 100 views?
@ipolevoy, tnx, I've seen the documentation and the video. For some reason, the Maven Tools windows here does not display the avtivejdbc-instrumentation plugin. Still ended up with the same error message.
I understand the adding of static methods from super class to subclass bit...but is there any penalty for making them instance methods?
I'm sure the "get" and "set" base methods can be accessed from child classes and the table name CAN be resolved from the @Table annotation...my opinion anyways.
I might be wrong, but I don't really see any need for "instrumentation" just to resolve a table name or use base methods from a child class. If there is no performance or marshalling penalty for making the "where", "get" and "set" methods instance methods in the Model base class then...
Also, not all tables follow the standard English "nouns/verbs" naming convention. You could have table names like "CallRecords_Jan_2015", "CustomerAcctsQ1" etc. You should be able to explicitly specify the table name and not depend on the framework to infer it for you.
I'm just saying customization options should be available in addition to the default options. In ALL projects I've worked on, I always had to fall back on explicitly specifying the table names when using ORMs...as the default inference options seem not to handle real-word use cases. Your mileage may vary.
Sorry if I don't get it the way you understand it...could be a learning experience for me.
All said, the batch insert functionality works for me. Used it for importing a bunch of CSV files and it was smooth.
Thanks.

@tchoulihan seems Maven could not locate your artifact. Is it published to which repository?

@ozzioma you might need to add this to your build tag:
<repositories>
		<repository>
			<id>sonatype-nexus-snapshots</id>
			<name>Sonatype Nexus Plugin Snapshots</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>sonatype-nexus-plugin-snapshots</id>
			<name>Sonatype Nexus Plugin Snapshots</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>

@tchoulihan ok worked...but the awkwardness remains. Not really an option going by that way of declaring static classes and instantiating a constant variable for each object/table. Could be simpler I believe.
Except if there is hidden Java caveat concerning instance methods inherited from super classes I'm not aware of.
Never knew accessing methods from a super class could be this demanding.
Any takes on my above reply to ipolevoy?
Thanks.

ozzioma I tried a lot of different ways to do it, but this seemed to me the best java way to do it, IE, instantiating using new. It only adds one line of initialization from the original. I'm using it in two different projects right now, and is fully stable. You're welcome to try to come up with a different way though, fork the main repo.

@ozzioma , I recorded a video tutorial for you: http://javalite.io/instrumentation. Have you had a chance to view it?

@ipolevoy I've seen the video and I acknowledged in one of my earlier responses.
For some reason, the instrumentation plugin is not showing up in Intellij.
Neither is the instrumentation plugin working in Eclipse or Netbeans either...
Don't know why...guess I might be missing out some details.
Thanks for the follow up.

@ozzioma , if instrimentaion plugin is not showing up in IntelliJ then you did not configure it.
The video shows the entire process starting from pulling a simple project from Github. It can't be easier. Please, ensure that you have the plugin configured as here: https://github.com/javalite/simple-example/blob/master/pom.xml#L18
Try the same https://github.com/javalite/simple-example as in the video, see that it works.

@ipolevoy I have it exactly configured in the Maven POM xml.
Infact I had to copy and paste the pom file exactly as it is from the sample project.
The Intellij Maven sidebar on my PC does not display or recognize the instrumentation plugin...don't really know why.
Also I tried the same Maven project setup in Eclipse Kepler...still didnt work.
Not figured it out yet.  Appreciate.

@ozzioma , looks like you are using instrumentation plugin and dynamic instrumentation (org.javalite.instrumentation.JavaAgent) .
Not sure if this is the actual problem, but you need either one or another, but not both.
I suggest you pull down the simple example I'm referring and get it loaded into IntelliJ to see the plugin the same way as I show in video. If that one works, there must be an issue with your setup.


Scroll to top button

when more function are displayed then the user has to scroll a lot to reach to top , scroll to top button will improve this experience

Please add hacktoberfest tag

hey I have raised a PR. Kindly review it and I'm contributing under Hactoberfest 2024


change some numeric behavior

Closes #467.

Pull Request Test Coverage Report for Build 657

9 of 9 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.008%) to 96.077%

Files with Coverage Reduction
New Missed Lines
%

tests/test_black.py
1
97.72%

Totals

Change from base Build 646:
0.008%

Covered Lines:
2694

Relevant Lines:
2804

💛  - Coveralls

Pull Request Test Coverage Report for Build 657

9 of 9 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.008%) to 96.077%

Files with Coverage Reduction
New Missed Lines
%

tests/test_black.py
1
97.72%

Totals

Change from base Build 646:
0.008%

Covered Lines:
2694

Relevant Lines:
2804

💛  - Coveralls


Portfolio data

Added the portfolio property to the Bill class so that we can now retrieve the portfolio data of a bill if it exists.

CI/CD not working :(

Also need to all portfolio to data https://github.com/connorhsm/Aus-Bills/blob/d1b0f0ef0116bf5ceb1c1a32a7fd4f76cec084c2/ausbills/federal_parliment.py#L301


Release 06-09-2018

Codecov Report

Merging #264 into 0 will decrease coverage by 3.22%.
The diff coverage is 20.38%.

@@            Coverage Diff             @@
##                0     #264      +/-   ##
==========================================
- Coverage   34.66%   31.43%   -3.23%
==========================================
  Files         119       84      -35
  Lines        4705     2424    -2281
  Branches        0        6       +6
==========================================
- Hits         1631      762     -869
+ Misses       3074     1662    -1412


Formatter: Adds empty space to empty comments in code blocks

The following example:
# Here is the doc of a method, and contains an example:
#
# ```
# result = foo
#
# puts result
# ```
def foo
  # ...
end

There is no space after # between result = foo and puts result line, however the format tool adds one.
This result in some trailing spaces warning when merging branches with Git.
Thank you. :heart: :heart: :heart:

It probably should just make a final pass to strip trailing whitespace

@jhass Great idea, I was going to fix this particular case. Doing that I found that there are more cases where trailing spaces are left. I'll fix it soon :-)

I hope that now that the formatter is in the wild we'll fix these details and some bugs once and for all :-)


Support for attributes with different dtypes when serialising to netcdf4

At the moment, bool and dates aren't supported as attributes when serializing to netcdf4:
>>> da = xr.DataArray(range(5), attrs={'test': True})
>>> da
<xarray.DataArray (dim_0: 5)>
array([0, 1, 2, 3, 4])
Dimensions without coordinates: dim_0
Attributes:
    test:     True

>>> da.to_netcdf('test_bool.nc')
...
TypeError: illegal data type for attribute, must be one of dict_keys(['S1', 'i1', 'u1', 'i2', 'u2', 'i4', 'u4', 'i8', 'u8', 'f4', 'f8']), got b1

>>> da = xr.DataArray(range(5), attrs={'test': pd.to_datetime('now')})
>>> da
<xarray.DataArray (dim_0: 5)>
array([0, 1, 2, 3, 4])
Dimensions without coordinates: dim_0
Attributes:
    test:     2017-08-03 13:02:29

>>> da.to_netcdf('test_dt.nc')
...
TypeError: Invalid value for attr: 2017-08-03 13:02:29 must be a number string, ndarray or a list/tuple of numbers/strings for serialization to netCDF files

I assume bool attributes aren't supported by netcdf4-python and dates are difficult (could always just write these as a string), but this would be really nice to have if possible.
As an aside, using h5netcdf works for bools, but coerces them to int64.

These aren't supported by the netCDF4 file format, so there's not a straightforward way to add them.
We could add some custom serialization logic (like we do for variable dtypes like bool), but without the ability to put an attribute on an attribute I don't see how we could round-trip this safely.
I suppose as a last resort we could write such attributes as bytestrings in some custom serialization format, but then it has the downside of not being readable by any other tool.

I guess this could work as part of your PR https://github.com/pydata/xarray/pull/1421 to support using pickle for array values.

Still relevant


State file issues with latest version

Hello, been using helmfile for awhile now, however after updating to the latest version, I am not clear on what has changed that is breaking my previous setup.
We have historically had a helmfile per deployment so a structure like
stable/service1.yaml
stable/service2.yaml
And would call these helmfiles with something like
helmfile -f stable/service1.yaml template

However in the latest version I am unable to get helmfile to work in any combination of commands. See output below.
stobiewan|[ops][helmfile:master][~/git/helmfile/stable/test] > helmfile template
no state file found. It must be named helmfile.d/*.{yaml,yml}, helmfile.yaml, or charts.yaml, or otherwise specified with the --file flag

stobiewan|[ops][helmfile:master][~/git/helmfile/stable/test] > helmfile --file ./helmfile.yaml template
specified state file ./helmfile.yaml is not found

stobiewan|[ops][helmfile:master][~/git/helmfile/stable/test] > helmfile template --file ./helmfile.yaml
Incorrect Usage: flag provided but not defined: -file

NAME:
   helmfile template - template releases from state file against env (helm template)

USAGE:
   helmfile template [command options] [arguments...]

OPTIONS:
   --args value                  pass args to helm template
   --set value                   additional values to be merged into the command
   --values value                additional value files to be merged into the command
   --output-dir value            output directory to pass to helm template (helm template --output-dir)
   --concurrency value           maximum number of concurrent downloads of release charts (default: 0)
   --skip-deps helm repo update  skip running helm repo update and `helm dependency build`

flag provided but not defined: -file

stobiewan|[ops][helmfile:master][~/git/helmfile/stable/test] > ls
helmfile.yaml

Contents of helmfile.yaml are
repositories:
  - name: "gitlab"
    url: "https://charts.gitlab.io"

releases:
  - name: gitlab-runner
     namespace: {{ .Namespace }}
     chart: gitlab/gitlab-runner
     version: !!string 0.0.1
     atomic: true
     wait: true

Not really sure what is needed in the newer versions to resolve this issue. Any help would be appreciated as the docs are also not super clear on this.
Thanks!

Closing issue: This was a problem on my side with my environment.

May I ask what your problem was? We also cannot get it working with the same error..

what was the problem in environment, am getting same error tring to deploy  helmfile through azure pipeline

In my example, the helmfile.yaml was in a different directory. You can either execute helmfile from that directory or pass in -f helmfile/helmfile.yaml to the helmfile command.


Add performance tests for BaseOptionsList

Details
Add performance tests for BaseOptionsList
Fixed Issues
$ https://github.com/Expensify/App/issues/38168
PROPOSAL: https://github.com/Expensify/App/issues/38168#issuecomment-1992446249
Tests
These are new performance tests, does not need manual testing.
PR Author Checklist

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

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

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

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

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

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

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

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

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@ShridharGoel looks like there's a few lint/type errors

Also assigning @jayeshmangwani as C+ from the original issue 😁

Thanks for the assigning @grgia, contributor may have made some mistake in the Fixed Issues section of the checklist, that's why issue does not auto assigned to me.

cc @OlimpiaZurek can you review when you get a chance, thanks!

@ShridharGoel Whenever you create a PR, please follow the template guidelines, Fixed Issues section should be like below when you create a PR(or draft PR)
$ https://github.com/Expensify/App/issues/<issueID>
PROPOSAL: https://github.com/Expensify/App/issues/<issueID(comment)>

@ShridharGoel please add [NoQA] in PR title

would you correct your checklist item
 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

Left one small comment, LGTM

@jayeshmangwani can you make the rest of the checklist please?

@mountiny I am still reviewing code, checking some codes, will complete checklist in an hour

Reviewer Checklist

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

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] 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)
[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 checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] 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
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] 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)
[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] 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(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

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

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@ShridharGoel NAB: added a comment here
cc: @mountiny, checklist completed, added comment
🎀 👀 🎀 C+ reviewed

@ShridharGoel The migration is handled separetely

Going to merge now

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.56-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/yuwenmemon in version: 1.4.56-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


compile cuda source of 'pair_wise_distance' function...

compile cuda source of 'pair_wise_distance' function...
NOTE: if you avoid this process, you make .cu file and compile it following https://pytorch.org/tutorials/advanced/cpp_extension.html
when the code run to here ,it paused sometimes. However sometimes it can run successfully and generate results.
Have you searchers met that problem? And I will be grateful if you could help me address this issue.

I also encountered this problem. Have you solved it

I also encountered the same problem and couldn't find a suitable solution. May I ask if you have resolved it?

If you want to compile it only once, you can checkout the "setup.py" script in this PR


Support external buffers/images in glTFs

@kring I split this out into a separate PR from #355, can you have a look? There are a few TODOs that can be searched in the diff for decisions I felt were questionable:

There are two types we currently have for HTTP headers, CesiumAsync::IAssetAccessor::THeader and CesiumAsync::HttpHeaders. I needed to convert from one to another, and it seemed to require a copy. Should we consolidate those two types?
There is a very suspicious lambda captured pointer around L407 in GltfReader.cpp, but in this specific case I think it's thread-safe. But I would like to get someone to confirm that, or someone to discourage me from capturing that just out of principle.


How to use tun2proxy in Android development?

I have compiled the so library for Android tun2proxy, but I don't know how to use it. Please provide some usage examples. Thank you very much！

https://github.com/ssrlive/rust_on_android


Console log errors

Greetings, I've been playing around with the demo and have it up and running however I'm wondering if anyone else is seeing a couple errors I am getting in the console or know how to resolve them.
main.js:70 Uncaught TypeError: Cannot read property 'uid' of undefined
at checkIfDeviceExists (main.js:70)
at n. (main.js:82)
at n.emit (universalModuleDefinition:2)
at n.emit (universalModuleDefinition:3)
at n.emitAll (universalModuleDefinition:1)
at n.onping (universalModuleDefinition:1)
at n. (universalModuleDefinition:3)
at n.emit (universalModuleDefinition:2)
at n. (universalModuleDefinition:2)
at n.r (universalModuleDefinition:2)
and when I click on the marker on the map getting
Uncaught TypeError: Cannot read property 'length' of undefined
at Function.each (jquery.min.js:2)
at displayData (main.js:20)
at .Ne. (main.js:55)
at Object..x.trigger (js?key=AIzaSyBHVJcV0apLoTInbKmW80suUGKCbnXbPR4:102)
at IT.handleEvent (marker.js:40)
at .lg.xg (map.js:31)
at Vx..k.$d (map.js:44)
at Vx..k.Gi (map.js:44)
at Object..x.trigger (js?key=AIzaSyBHVJcV0apLoTInbKmW80suUGKCbnXbPR4:102)
at Qt. (common.js:121)
When I console log the data it is coming back as undefined even though I do see that it's getting data from the emulator app.

Ok I figured out the reason why I'm getting the 'length' of undefined it's due to clicking the marker on the map before getting any ping data.
However I am still getting the main.js:70 Uncaught TypeError: Cannot read property 'uid' of undefined
and a new one popped up main.js:86 Uncaught TypeError: Cannot read property 'getPath' of null
at n. (main.js:86)
Any help figuring out why these console log error are popping up would be greatly appreciated.


Use in a VirtualBox

Has anyone ever tried running this in a VirtualBox?  It doesn't seem to be able to find buttons and the like.

Hi danhi
What kind of exceptions do you get? Make sure that a user is logged in in the virtualbox vm. Maybe also make sure that the virtualbox window is completely visible.

Don't know what I was doing wrong before but it works great now, even when the VM is minimized, which makes running long tests much more convenient.  I can't say enough how much this product has helped me in doing a better job of testing out my app.  Thanks for all the good work!


Add README file

README file for the project is missing.

i can do this

@tyler-le you can proceed with it

@Asymmentric
do you want me to put content in the readme or do you want me to simply make an empty readme file?

It would be really great if you would put content also.
You can go through the working of the project and update the readme accordingly.


Optimizer and LRScheduler step() calls seem to be in wrong order

Hi, I am running a training job using the the current default VERI-Wild config and I am getting the following warning:
UserWarning: Detected call of `lr_scheduler.step()` before `optimizer.step()`. In PyTorch 1.1.0 and later, you should call them in the opposite order: `optimizer.step()` before `lr_scheduler.step()`.  Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate
At the same time I am getting Gradient overflow.  Skipping step, loss scaler 0 reducing loss scale to 32768.0 warnings at the begginning of training, so it seems I am starting with a LR that is way too large when using the default configuration. I didn't have any luck finding a way to invert the order of the step() calls, as the codebase is quite complex.
Anyone know how can I fix this? Thanks!

It is not a bug, gradient overflow is due to fp16 mixed-precision training. You can check this in nvidia/apex.

UserWarning about the order of lr_scheduler.step() and optimizer.step()：
This is because there is a learning rate adjustment in the warmup stage in the training process, which is placed after each iter, while optimizer.step() is placed after each epoch. The warmup stage causes the warning.
During the stage after warmup, lr_scheduler.step() is placed after optimizer.step() according to the right order of pytorch suggestion.
So you can ignore this warning, the program is running correctly.

Actually, optimizer.step() is placed after each iter, so this warning is caused by fp16 training.
When you turn off fp16, this warning will not appear. When fp16 is enabled, there may cause gradient overflow problem, so it will skip the optimizer.step() in this iter. Then this warning will appear.

Actually, optimizer.step() is placed after each iter, so this warning is caused by fp16 training.
When you turn off fp16, this warning will not appear. When fp16 is enabled, there may cause gradient overflow problem, so it will skip the optimizer.step() in this iter. Then this warning will appear.

Well, I got it wrong. Thank you for your reply. (^-^)

Thanks for the answer! Just to check, the message UserWarning: Detected call of `lr_scheduler.step()` before `optimizer.step()`... is caused by fp16 mixed-precision training? Is this a pytorch bug in their warning messages? Because the warning message is completely wrong then!


Improve hash mixing in FST's double-barrel LRU hash

Description
Spinoff from this cool comment, thanks to hashing guru @bruno-roustant:
Instead, we should multiply with the gold constant BitMixer#PHI_C64 (make it public).
This really makes a difference in the evenness of the value distribution. This is one of the secrets of the HPPC hashing. By applying this, we get multiple advantages:

  * lookup should be improved (less hash collision)
  * we can try to rehash at 3/4 occupancy because the performance should not be impacted until this point.
  * in case of hash collision, we can lookup linearly with a pos = pos + 1 instead of quadratic probe (lines 95 and 327); this may avoid some mem cache miss.
  *
(same for the other hash method)

This is a simple change, we just need to test on some real FST building cases to confirm good mixing "in practice".  The new IndexToFST tool in luceneutil is helpful for this.

@dweiss will probably say more than me about the awesome BitMixer#PHI_C64 constant!

I borrowed that constant in BitMixer from Sebastiano Vigna, I believe. Here is a nice overview of its origin/ rationale:
https://softwareengineering.stackexchange.com/questions/402542/where-do-magic-hashing-constants-like-0x9e3779b9-and-0x9e3779b1-come-from
I can only confirm that a good hash redistribution function, along with linear probing, give very good results in most hash/index redistribution problems I've seen.

I opened a PR to make use of this constant : #12716
Also, I was thinking if this constant could be utilised in other hash function implementations as well in the codebase?


[SPARK-40318][SQL] try_avg() should throw the exceptions from its child

What changes were proposed in this pull request?

Similar to https://github.com/apache/spark/pull/37486, https://github.com/apache/spark/pull/37663 and https://github.com/apache/spark/pull/37764, this PR refactors the implementation of try_avg() so that the errors from its child should be shown instead of ignored.
Why are the changes needed?

Fix the semantics of try_avg() function
Does this PR introduce any user-facing change?

Yes, after changes, the error from the child of the try_avg function will be shown instead of ignored.
How was this patch tested?

New UT

Merging to master


PR from forked final version of front-end and api deployed at Heroku Hateless

Front-end based on MUI library (basically modern bootstrap for ReactJs to imitate Android's Material Design)—see more
Add new component for front-end web app (src/components):

AccountTable (Accounts.js)
Navigation Top Bar (Appbar.js)
Authentication (AuthProvider.js)
Chart widget (based on recharts.js, Chart.js)
Footer (Copyright.js)
Dashboard View (Dashboard.js)
Demo Form to send message to api (DemoForm.js)
Daily Request Table (Deposits.js)
Sign In View (SignIn.js)
Demo Widget (TextCheckForm.js)
General-purpose ultility function (Utils.js)

this pull request should not have been merged, since it is breaking existing functionality and added artifacts (pickle-files) to the repository which should not be there. Also tests are breaking / heavily depend on the environment. There are way too many changes for a single pull-request (it should have been done in multiple requests)

it's supposed to be for reference only (as the latest front-end files are not merged yet into the project). Github supports PR reversion I think @JohnnyDoesStuff

the intention of my comment was just to be informative to maybe provide some feedback for the future. We submitted a earlier commit to our professor for the project.


[D5] 2.5 [Feature #5} [User Feature] [complete / incomplete] [Yi Kiat]

Feature 5

[x] completed
[ ] incomplete


Alert is not fired

I have the strange behavior, that my alert is never fired, when the condition is met:

Do I miss something?

@sharpSteff I'm curious what does the alert history show on the right of that second screenshot? Does it show red bars, grey bars or green bars?

@MikeShi42 gray bars

How do I change the day alert interval ?

@sharpSteff You can change the alert interval with the dropdown UI

@wrn14897
Ah now I understand. My query counts errors in a certain span, which is basically just a little spike since its a one time event. That can never fullfil the Alert criteria.


add Edge support

Open in Edge

Thanks a lot for this. Nicely put together with a good clean icon. Saved me a job 👍


Skip flaky test on Windows

https://github.com/flutter/flutter/issues/34446

cc @jonahwilliams in case we're using a different way to access Platform now to make things work on Web.
LGTM.


Fix all #ignored tests

Test cases included in PR #64 and #65 are ignored for now due to limitations of preview 10 that error codes should be limited to single digit. Should I create a new Error contract in the mean to remove the ignore in these test cases?

The error code errors are fine, leave them at ignore, but make a comment.


Kirkstone updates

Removing connman from the -dev images and a few other things

awesome! Thanks @drewmoseley
LGTM

Fix #13


Can't parse @foo.bar

This tag:
https://github.com/algorand/algorand-sdk-testing/blob/master/features/integration/applications.feature#L8
Cannot be parsed:
Failed to parse: Failed to parse feature
It seems works for other cucumber libraries (other langs).

Thanks for the quick fix @ilslv @tyranron !


maintain: upgrade deprecated Node 12 GitHub actions to Node 16 actions (companion to PR #53)

Some of the GitHub Actions used in the project CI workflow use Node 12 and are deprecated, as dicsussed in PR #53, which adds a Dependabot configuration to automatically scan the project CI configuration and submit pull requests that upgrade the GitHub Actions used by the project.
This pull request is a companion pull request to PR #53 that upgrades the GitHub Actions used in project CI to Node 16 actions, and will avoid having to wait for Dependabot to submit PRs that will make similar changes.

Closing because this PR has been obsolesced by #56, #57, #58, and #59.


Fix JCenter dependencies

Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #858 (464f06e) into main (43a8197) will decrease coverage by 0.15%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #858      +/-   ##
============================================
- Coverage     92.21%   92.06%   -0.16%
  Complexity      660      660
============================================
  Files            80       80
  Lines          1940     1940
  Branches        164      164
============================================
- Hits           1789     1786       -3
- Misses          110      113       +3
  Partials         41       41

Impacted Files
Coverage Δ

...java/com/amazon/dataprepper/pipeline/Pipeline.java
88.57% <0.00%> (-4.29%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 426eca3...464f06e. Read the comment docs.


The draw state validation layer reports that a timer query from 2 frames ago is unavailable or inflight.

Moved from gitlab 99 (more discussion there)
The draw state validation layer reports that a timer query from 2 frames ago is unavailable, even though the command buffer the timer query was issued in has already been waited on and is being reused.
"Cannot get query results on queryPool<PHONE_NUMBER>28 with index 4 which is unavailable."
This error is still reported even when using VK_QUERY_RESULT_WAIT_BIT on vkGetQueryPoolResults.
When rendering from multiple threads I often also get:
"Cannot get query results on queryPool<PHONE_NUMBER>84 with index 4 which is in flight."

This is quite old at this point. Simple testing seems to indicate this is fine but one of the reasons this was unresolved was failure to repro so it would be good to know if this issue is still showing up.

I verified that the issue still exists with latest master.
I've attached an executable that reproduces the problem to LunarXChange issue #526.
Thanks!

Karl, is anyone on your end able to take a look at the repro?

Sure, I'll take a look.

I was able to repro this and I did some instrumentation and sent a lot of detail to Michael.  The basic problem is that a WaitForFences on fences that are in CB(s) unrelated to the queries is having an unwanted side effect on the query pool tracking in the validation layer.  The tracking is correct when the WaitForFences completes for the CB that had the WriteTimestamp in it that updated the query pool index  in question.  But a subsequent WaitForFences updated the query pool layer state with the state of a CB that wasn't using the query pool index updated by the WriteTimestamp in the previous CB.  The CB that wasn't using the query pool index (correctly) had this index (4) recorded as unavailable.  This "unavailable" state overwrote the "available" layer state from the previous CB
Returning to Michael who may have more knowledge of the design of this part of the layer.

I'm still not sure why this is happening after some back and forth with Karl. I did submit some reworking of the query state tracking so it would be good to know if this still repros after that.

Fix committed.


ortelius-v11-dev-env | remote: Permission to ortelius/ortelius-v11-dev-env.git denied to sachajw

@sbtaylor15 when you have a chance, can you allow me to push my changes to "ortelius-v11-dev-env"
Currently, I am getting remote: Permission to ortelius/ortelius-v11-dev-env.git denied to sachajw.
Unless, of course, you would prefer me to fork and raise a PR, which is also perfectly fine.
https://github.com/ortelius/ortelius-v11-dev-env
Thank you. :-)

Hi @sbtaylor15 Arvind gave me admin rights to ortelius-v11-dev-env so I am good for now.


PRs that change docs require tickets

Before merging, we should update the PR for the new proposal from platform meeting: https://pre-release.mattermost.com/private-core/pl/fw1jng7kwjrwdqzt4euqn3un6a


terraform-cloud-agent: initialize derivation & NixOS service module

This change adds a derivation for the terraform-cloud-agent executable and a NixOS module that defines a systemd service for running that agent.

I'm opening the pull request so I can checkpoint the team programming work we've done on this. However, before I merge it (assuming I have approvals), I need to:

Specify a specific user and group and drop privileges for the systemd service; and,
Verify the NixOS module works.

@jsoo1 additionally, what release branch in our fork should I backport to?

No need to backport! Thank you!

Closing in favor of #203. @jsoo1 do you mind giving me a review of that PR?


Extract text line by line

Is there a way to extract text line-by-line instead of page-by-page. There aren't helpful \n's in the code for this. I guess I could always just create a new line every set number of characters. Just wondering if this is a built-in feature.

Actually there are new lines in the text, this is solved.

@vlall Could i ask you how you read one page then read line-by-line?
I also need to process one page line-by-line but the build-in function only have print(pdf[page-id]).
Thanks

@laris You can use the str.splitlines function to do that. For example, to read the first page line-by-line:

page = pdf[0]
for line in page.splitlines():
    print(line)  # Or do whatever you want with the line instead of printing it

@laris You can use the str.splitlines function to do that. For example, to read the first page line-by-line:
page = pdf[0]
for line in page.splitlines():
    print(line)  # Or do whatever you want with the line instead of printing it

Thank you @jalan , sorry I'm new to learn py.


ARROW-1049: [java] vector template cleanup

It should produce the same code as before. Just removing dead branches and refactoring the code to reduce the use of "if type ==" instances


Replace Hallo with Draftail in table blocks

The goal was to have replaced Hallo in rich text table blocks by the time Wagtail 2.8 was launched.
This change is necessary because rich text table cells no longer use Hallo for editing.
Additions
Add support for Draftail in JobListingPageFormTests

cfgov/jobmanager/tests/models/test_pages.py

Updates made to add Draftail support to the following files:

table-block.js
package.json
yarn.lock
test.py

Removals
Hallo configuration to support rich text table cells is removed
Removed legacy wagtail admin rich text editor Hallo in base.py
Removed hallotoolbar from table-block.css
Updates made to remove Hallo support from the file:

table-block.css
wagtail_hooks.py

Changes

Converted from HTML to raw JS for Draftail initialization
Updated modal close event listener when user clicks save button
Changed data-hallo-editor to richtext in insertRichTextDeleteControl
Replace Hallo with Draftail in table blocks in cfgov/templates/wagtailadmin/js
Changed WAGTAILADMIN_RICH_TEXT_EDITORS to use DraftailRichText instead of HalloRichText in test.py

Renamed hallobutton to draftailButton in:

html_editor.js
ask_cfpb_tips.js

How to test this PR
You can checkout this branch locally and use ./runserver.sh
or use the Docker container that this Pull Request creates to:

Open or create a wagtail page
Modify the rich text
Click to save the changes
Verify the changes are correctly saved with no errors locked

Screenshots
Notes
I feel the priority is to verify the functionality of clicking the save button that closes the modal.
It is very important that whatever is in the rich text editor is written to the table cell.
If that feature is NOT working, the Pull Request should not be merged until that
operation is confirmed to be working once the save button is clicked by the user.
todos

Verify draftail is properly setup in the model.
Adding specific rich text buttons for bold, italics, etc. could be added in this PR,
or another PR could be created to enhance the draftail modal to add rich text buttons in the next sprint

Checklist

[x] PR has an informative and human-readable title

PR titles are used to generate the change log in releases; good ones make that easier to scan.
Consider prefixing, e.g., "Mega Menu: fix layout bug", or "Docs: Update Docker installation instructions".

[x] Changes are limited to a single goal (no scope creep)
[x] Code follows the standards laid out in the CFPB development guidelines
[x] Future todos are captured in comments and/or tickets
[ ] Project documentation has been updated, potentially one or more of:

This repo’s docs (edit the files in the /docs folder) – for basic, close-to-the-code docs on working with this repo
CFGOV/platform wiki on GHE – for internal CFPB developer guidance
CFPB/hubcap wiki on GHE – for internal CFPB design and content guidance

Front-end testing

Browser testing
Visually tested in the following supported browsers:

[ ] Firefox
[ ] Chrome
[ ] Safari
[ ] Edge 18 (the last Edge prior to it switching to Chromium)
[ ] Internet Explorer 11 and 8 (via emulation in 11's dev tools)
[ ] Safari on iOS
[ ] Chrome on Android

Accessibility

[ ] Keyboard friendly (navigable with tab, space, enter, arrow keys, etc.)
[ ] Screen reader friendly
[ ] Does not introduce new errors or warnings in WAVE

Other

[ ] Is useable without CSS
[ ] Is useable without JS
[ ] Does not introduce new lint warnings
[ ] Flexible from small to large screens

Another thought I have is that it might be worth writing a functional test with Cypress for the existing Hallo table block rich text editor, and using that to test the Draftail editor.

Here are my notes from when @cwdavies and I were exploring draftail last week:

A user edits a cell by double clicking it. We override the default handsontable editing experience in order to do our fancy modal rich text editing experience. (docs)
The editing experience we provide involves opening a modal with an embedded rich text editor (formerly hallo but we're moving to draftail). We initialize the rich text editor immediately after opening the modal.
TODO: Ensure draftail is set up properly in the modal (we probably need to add formatting options for bold, italics, etc.).
TODO: Update our modal close event listener so that when the user clicks the save button (closing the modal), export whatever is in the modal's draftail rich text editor and write it to the handsontable table cell. We used to do this with hallo by just calling .html() on the editor instance but with draftail I think we have to take the editor's raw ConstantState object and use the draft-convert library to convert it to html which then gets injected into the cell using instance.setDataAtCell().

Another thought I have is that it might be worth writing a functional test with Cypress for the existing Hallo table block rich text editor, and using that to test the Draftail editor.

💯

@bartonw and @contolini I believe I found a solution to setting up draftail in the model. There are now specific rich text buttons for bold, italics, h2, h3, h4, ol, ul, etc. When you get a change would you run a git pull on the draftables branch and take a look. However, I have not been successful in exporting whatever is in the modal's draftail rich text editor and writing that to the handsontable table cell. It is though the table cell is read-only as the contents does not get changed when you click the save button. Should the contents be saved as JSON or HTML?

This doesn't seem quite there yet...
Looking at the Coronavirus stimulus page, which has a table block on it with some rich text (http://localhost:8000/admin/pages/13837/edit/), it looks like there's a raw text box being included, and changes to the text don't actually get saved to the table block. In addition, we're missing a quite a lot of Draftail's editor features:

I believe all the functionality from hallo is now present

Remaining tasks:

[ ] Fix bug where on editing a cell with a document, it shows up as a link in the editor
[ ] Do not show raw text box in editor

Questions/Inconsistencies:

[ ] In the Hallo editor there is a P tag button. Draftail considers a P tag button to be the unstyled/default state. I would think that the editor is fine without it but don't want to make assumptions.
[ ] In the Hallo editor there is a remove link button. In draftail it seems like this is handled by just removing the link text. I think this is ok but don't want to assume.
[ ] The order of the buttons is now different. I think this is fine but don't want to assume.
[ ] There wasn't a test file corresponding for this file:
- Is it ok to keep it untested?
- Is there a django test covering the functionality that I'm unaware of?
- Should we add unit tests?
- Should we add cypress tests?

@Scotchester can you take a look at this when you get a chance? Thanks!

Sorry I haven't had a chance to take a close look at this. Too many meetings going on. Tomorrow looks clear enough for me to take a deep dive, though!

Remaining tasks:

[ ]  Fix bug where on editing a cell with a document, it shows up as a link in the editor

On looking at this more, I believe this was already happening in the previous version, just wasn't noticeable because previous editor did not show link vs document icon. Don't know if it is worth the time it takes to fix it since it doesn't affect user functionality at all, as links and documents function similarly

I'm not 100% sure what you mean by this, but I assume I'll get it once I see it in action. I'll take a look and let you know.

Questions/Inconsistencies:

[ ]  In the Hallo editor there is a P tag button. Draftail considers a P tag button to be the unstyled/default state. I would think that the editor is fine without it but don't want to make assumptions.
[ ]  In the Hallo editor there is a remove link button. In draftail it seems like this is handled by just removing the link text or clicking on it which gives the user the option to edit or remove. I think this is ok but don't want to assume.
[ ]  The order of the buttons is now different. I think this is fine but don't want to assume.

Yes, definitely good to use these as default in Draftail (no P button, no remove link button, and default button order).

[ ]  There wasn't a test file corresponding for this file:

Is it ok to keep it untested?
Is there a django test covering the functionality that I'm unaware of?
Should we add unit tests?
Should we add cypress tests?
Comment: Based on more investigation, it looks like the JS files in unprocessed are tested. The test files were not located where I expected them to be. I am going to create a test file and attempt to unit test table-block.js

Yes, I think we should create unit tests for this file. Should've had them before :) A simple Cypress functional test would probably also be good.


Markdown preview: Code block has two-toned background

Issue Type: Bug
Found while verifying https://github.com/Microsoft/vscode/issues/52710
When using a code block in a markdown document, the block has a darker background around the block, and then a lighter margin, regardless of theme:

Previously the background was all the same color:

VS Code version: Code - Insiders 1.25.0-insider (07d89abf1522a67f0e8105770505077f454ab021, 2018-06-28T05:11:09.274Z)
OS version: Darwin x64 17.4.0

Thanks. Duplicate of #53246. Just checked in fix


Bump cargo version

r? @alexcrichton
We need a bump of the cargo version to pick up the Android cross-build fix for Servo.

This change is

Also, please cargo publish after this lands so that we can pick it up in Servo :-)


Review of Part 1

This is a review of Part 1, and includes the following changes:

Some updates to the narrative for flow.
Updates to the bulleted list of questions the installer asks. Each bullet now details the exact question asked, before indicating the choice the user should make.
Updates the skeleton to the latest versions of each code and configuration file, to ensure they're up-to-date with what was released in v1.
Adds a composer.lock to the project; as folks follow along, it'll be useful to have the exact versions of components used.

This no longer updates to use the default/recommended packages; see #17 for the PR containing those changes.


Installl SQL 2016 on Windows Docker 1903 error

I've been trying to install SQL Server 2017 Developer Edition inside a Docker container based on windowsservercore:1903, but I get install errors on the initial piece, which is installing the SQL 2008 Support Files. The install works fine on Windows 1903 (actual OS, not Docker) and SQL 2017 works fine, but the problem we continue to use 2016 in our production application.
summary.txt error
Error description:             An error occurred during the installation of assembly 'Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion="10.0.5500.0",version="<IP_ADDRESS>0",culture="neutral",public
KeyToken="89845DCD8080CC91",processorArchitecture="MSIL"'. Please refer to Help and Support for more information. HRESULT: 0x80070002.
Error help link:               http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=13.0.4001.0&EvtType=SqlSupport.msi%40CreateShortcuts%401935%3A0x800
70002
snippets from inside the detailed log file
SI (s) (C4:24) [20:08:52:490]: Executing op: End(Checksum=0,ProgressTotalHDWord=0,ProgressTotalLDWord=57322331)
12/05/2019 20:08:53.151 [7620]: Assembly Install: Failing with hr=800700b7 at FusionMoveDirectory, line 3199
12/05/2019 20:08:53.151 [7620]: Detailed info about C:\Windows\assembly\tmp\2WKMTETX
12/05/2019 20:08:53.151 [7620]:         File attributes: 00000010
12/05/2019 20:08:53.151 [7620]:         Security info:
12/05/2019 20:08:53.151 [7620]:                 Owner: S-1-5-18
12/05/2019 20:08:53.151 [7620]:                 Group: S-1-5-18
12/05/2019 20:08:53.151 [7620]:                 DACL information: 10 entries:
12/05/2019 20:08:53.151 [7620]:                 ACE[0]: Type = 0x00, Flags = 000, Mask = 001f01ff, SID = S-1-5-32-544
12/05/2019 20:08:53.151 [7620]:                 ACE[1]: Type = 0x00, Flags = 01b, Mask = 10000000, SID = S-1-5-32-544
12/05/2019 20:08:53.151 [7620]:                 ACE[2]: Type = 0x00, Flags = 000, Mask = 001f01ff, SID = S-1-5-18
12/05/2019 20:08:53.151 [7620]:                 ACE[3]: Type = 0x00, Flags = 01b, Mask = 10000000, SID = S-1-5-18
12/05/2019 20:08:53.151 [7620]:                 ACE[4]: Type = 0x00, Flags = 000, Mask = 001200a9, SID = S-1-5-32-545
12/05/2019 20:08:53.151 [7620]:                 ACE[5]: Type = 0x00, Flags = 01b, Mask = a0000000, SID = S-1-5-32-545
12/05/2019 20:08:53.151 [7620]:                 ACE[6]: Type = 0x00, Flags = 000, Mask = 001200a9, SID = S-1-15-2-1
12/05/2019 20:08:53.151 [7620]:                 ACE[7]: Type = 0x00, Flags = 01b, Mask = a0000000, SID = S-1-15-2-1
12/05/2019 20:08:53.151 [7620]:                 ACE[8]: Type = 0x00, Flags = 000, Mask = 001200a9, SID = S-1-15-2-2
12/05/2019 20:08:53.151 [7620]:                 ACE[9]: Type = 0x00, Flags = 01b, Mask = a0000000, SID = S-1-15-2-2
12/05/2019 20:08:53.151 [7620]: Assembly Install: Failing with hr=800700b7 at FusionMoveDirectory, line 3200
12/05/2019 20:08:53.151 [7620]: Detailed info about C:\Windows\assembly\GAC_MSIL\Microsoft.NetEnterpriseServers.ExceptionMessageBox\<IP_ADDRESS>__89845dcd8080cc91
12/05/2019 20:08:53.151 [7620]:         File attributes: ffffffff
12/05/2019 20:08:53.151 [7620]:         Security info:
12/05/2019 20:08:53.151 [7620]: Assembly Install: Failing with hr=80070002 at FusionMoveDirectory, line 3214
12/05/2019 20:08:53.151 [7620]: Detailed info about C:\Windows\assembly\GAC_MSIL\Microsoft.NetEnterpriseServers.ExceptionMessageBox\<IP_ADDRESS>__89845dcd8080cc91
12/05/2019 20:08:53.151 [7620]:         File attributes: ffffffff
12/05/2019 20:08:53.151 [7620]:         Security info:
MSI (s) (C4:24) [20:08:53:151]: Assembly Error:The system cannot find the file specified.
MSI (s) (C4:24) [20:08:53:151]: Note: 1: 1935 2: {543BB510-3829-46A8-918B-1BE3422516B4} 3: 0x80070002 4: IAssemblyCacheItem 5: Commit 6: Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion="10.0.5500.
0",version="<IP_ADDRESS>0",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL"
12/05/2019 20:08:53.151 [7620]: Assembly Install: Failing with hr=80070002 at CAssemblyCacheItem::LegacyCommit, line 1449
MSI (s) (C4:24) [20:08:53:168]: Product: Microsoft SQL Server 2008 Setup Support Files  -- Error 1935. An error occurred during the installation of assembly 'Microsoft.NetEnterpriseServers.ExceptionMessageBox,fi
leVersion="10.0.5500.0",version="<IP_ADDRESS>0",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL"'. Please refer to Help and Support for more information. HRESULT: 0x80070002. assemb
ly interface: IAssemblyCacheItem, function: Commit, component: {543BB510-3829-46A8-918B-1BE3422516B4}
Error 1935. An error occurred during the installation of assembly 'Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion="10.0.5500.0",version="<IP_ADDRESS>0",culture="neutral",publicKeyToken="89845DCD808
0CC91",processorArchitecture="MSIL"'. Please refer to Help and Support for more information. HRESULT: 0x80070002. assembly interface: IAssemblyCacheItem, function: Commit, component: {543BB510-3829-46A8-918B-1BE
3422516B4}
12/05/2019 20:08:53.184 [7620]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 393
12/05/2019 20:08:53.184 [7620]: Detailed info about C:\Windows\assembly\tmp\ZJS8XAGZ\Microsoft.SqlServer.CustomControls.dll
12/05/2019 20:08:53.184 [7620]:         File attributes: 00000080
12/05/2019 20:08:53.231 [7620]:         Restart Manager Info: 1 entries
12/05/2019 20:08:53.231 [7620]:                 App[0]: (7620) Windows Installer (msiserver), type = 3
12/05/2019 20:08:53.231 [7620]:         Security info:
12/05/2019 20:08:53.231 [7620]:                 Owner: S-1-5-18
12/05/2019 20:08:53.231 [7620]:                 Group: S-1-5-18
12/05/2019 20:08:53.231 [7620]:                 DACL information: 5 entries:
12/05/2019 20:08:53.231 [7620]:                 ACE[0]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-32-544
12/05/2019 20:08:53.231 [7620]:                 ACE[1]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-18
12/05/2019 20:08:53.231 [7620]:                 ACE[2]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-5-32-545
12/05/2019 20:08:53.231 [7620]:                 ACE[3]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-1
12/05/2019 20:08:53.231 [7620]:                 ACE[4]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-2
12/05/2019 20:08:53.231 [7620]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 393
12/05/2019 20:08:53.231 [7620]: Detailed info about C:\Windows\assembly\tmp\8XZ3B8RB\Microsoft.SqlServer.CustomControls.dll
12/05/2019 20:08:53.231 [7620]:         File attributes: 00000080
12/05/2019 20:08:53.279 [7620]:         Restart Manager Info: 1 entries
12/05/2019 20:08:53.279 [7620]:                 App[0]: (7620) Windows Installer (msiserver), type = 3
12/05/2019 20:08:53.279 [7620]:         Security info:
12/05/2019 20:08:53.279 [7620]:                 Owner: S-1-5-18
12/05/2019 20:08:53.279 [7620]:                 Group: S-1-5-18
12/05/2019 20:08:53.279 [7620]:                 DACL information: 5 entries:
12/05/2019 20:08:53.279 [7620]:                 ACE[0]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-32-544
12/05/2019 20:08:53.279 [7620]:                 ACE[1]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-18
12/05/2019 20:08:53.279 [7620]:                 ACE[2]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-5-32-545
12/05/2019 20:08:53.279 [7620]:                 ACE[3]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-1
12/05/2019 20:08:53.279 [7620]:                 ACE[4]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-2
12/05/2019 20:08:53.279 [7620]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 393
12/05/2019 20:08:53.279 [7620]: Detailed info about C:\Windows\assembly\tmp\DD1ABHJQ\Microsoft.SqlServer.WizardFrameworkLite.dll
12/05/2019 20:08:53.279 [7620]:         File attributes: 00000080
12/05/2019 20:08:53.342 [7620]:         Restart Manager Info: 1 entries
12/05/2019 20:08:53.342 [7620]:                 App[0]: (7620) Windows Installer (msiserver), type = 3
12/05/2019 20:08:53.342 [7620]:         Security info:
12/05/2019 20:08:53.342 [7620]:                 Owner: S-1-5-18
12/05/2019 20:08:53.342 [7620]:                 Group: S-1-5-18
12/05/2019 20:08:53.342 [7620]:                 DACL information: 5 entries:
12/05/2019 20:08:53.342 [7620]:                 ACE[0]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-32-544
12/05/2019 20:08:53.342 [7620]:                 ACE[1]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-18
12/05/2019 20:08:53.342 [7620]:                 ACE[2]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-5-32-545
12/05/2019 20:08:53.342 [7620]:                 ACE[3]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-1
12/05/2019 20:08:53.342 [7620]:                 ACE[4]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-2
12/05/2019 20:08:53.342 [7620]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 393
12/05/2019 20:08:53.342 [7620]: Detailed info about C:\Windows\assembly\tmp\YQ81MENI\Microsoft.SqlServer.WizardFrameworkLite.dll
12/05/2019 20:08:53.342 [7620]:         File attributes: 00000080
12/05/2019 20:08:53.391 [7620]:         Restart Manager Info: 1 entries
12/05/2019 20:08:53.391 [7620]:                 App[0]: (7620) Windows Installer (msiserver), type = 3
12/05/2019 20:08:53.391 [7620]:         Security info:
12/05/2019 20:08:53.391 [7620]:                 Owner: S-1-5-18
12/05/2019 20:08:53.391 [7620]:                 Group: S-1-5-18
12/05/2019 20:08:53.391 [7620]:                 DACL information: 5 entries:
12/05/2019 20:08:53.391 [7620]:                 ACE[0]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-32-544
12/05/2019 20:08:53.391 [7620]:                 ACE[1]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-18
12/05/2019 20:08:53.391 [7620]:                 ACE[2]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-5-32-545
12/05/2019 20:08:53.391 [7620]:                 ACE[3]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-1
12/05/2019 20:08:53.391 [7620]:                 ACE[4]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-2
...
MSI (s) (C4:24) [20:08:55:803]: Note: 1: 1708
MSI (s) (C4:24) [20:08:55:803]: Product: Microsoft SQL Server 2008 Setup Support Files  -- Installation failed.
MSI (s) (C4:24) [20:08:55:803]: Windows Installer installed the product. Product Name: Microsoft SQL Server 2008 Setup Support Files. Product Version: 10.3.5500.0. Product Language: 1033. Manufacturer: Microsoft
Corporation. Installation success or error status: 1603.

Did you ever find a solution for this?

Old issue but in case anyone else comes across this, I found a workaround.
The summary.txt points to SqlSupport_KatmaiRTM_Cpu64_1_Local_1.log which reports 3 assemblies not installing due to HRESULT 0x80070002 which is "file not found".
The assemblies are the 10.x versions of Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll, Microsoft.SqlServer.CustomControls.dll and Microsoft.SqlServer.WizardFrameworkLite.dll and should be beneath C:\Windows\assembly\GAC_MSIL. The 13.x versions seem to be present.
To resolve, include in the DOCKERFILE commands to create needed folders and copy the missing dll files before starting the setup command. The needed dll files are available in the installation media under \1033_ENU_LP\x64\Setup\sql2008support\windows\gac, though they have scrambled filenames.
Below are the source files and destination paths/filenames where they should be copied to:
q2bdsrkb.dll > C:\Windows\assembly\GAC_MSIL\Microsoft.NetEnterpriseServers.ExceptionMessageBox\<IP_ADDRESS>__89845dcd8080cc91\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll
-kku9gg-.dll > C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.CustomControls\<IP_ADDRESS>__89845dcd8080cc91\Microsoft.SqlServer.CustomControls.dll
yo4jf9kp.dll > C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.WizardFrameworkLite\<IP_ADDRESS>__89845dcd8080cc91\Microsoft.SqlServer.WizardFrameworkLite.dll

This appears to be present again in Server 2022 CU's. RTM installs fine across all container OS, but CUs fail on Server core 20h2 and 2022ltsc. 1809 works. The workaround is similar to what @jermicus described above. Copy these directories in from a completed CU installation in ahead of the CU install (or SQL install with updates enabled):
'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.NetEnterpriseServers.ExceptionMessageBox.resources'
'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.SqlServer.CustomControls.resources'

Thank you so much @eshess and @jermicus ! You are Life Saver!
Worked 2 days to figure why my SQL Server 2022 cannot update CU11 into Docker Container.
My luck that the 2 directories you said , Eli, were on my old SQL Server installation before i convert it
To be containerize. We all need that Microsoft will return to Windows!
 WINDOWS, NOT LINUX !  you are windows guys.
cheers.
Zahi.

I just wanted to add that the needed files for SQL 2022 can be extracted from the CU without having to install it or even have a SQL Server. I wrote a short PS script to make it get the files and put them into a tar file that can be used in the container build: https://gist.github.com/jermicus/a117c6727894407161ba9ac72fd02bce

@jermicus thanks for the script, it made things much easier.

I ran into this same error recently for SQL2022 on Windows Container. I was able to get it working by adding /ENU parameter in the Install action.
Here is a sample docker file,
FROM mcr.microsoft.com/windows/servercore:ltsc2022
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
COPY SQLServer2022-DEV-x64-ENU.box .
COPY SQLServer2022-DEV-x64-ENU.exe .
COPY SQLServer2022-KB5033663-x64.exe .
RUN Start-Process -Wait -FilePath SQLServer2022-DEV-x64-ENU.exe /qs, /x:sqlsetup
RUN .\sqlsetup\setup.exe /q /ACTION=Install /ENU /INDICATEPROGRESS /INSTANCENAME=MSSQLSERVER /FEATURES=SQLEngine,IS /UPDATEENABLED=0 /SQLSVCACCOUNT='NT AUTHORITY\NETWORK SERVICE' /SQLSYSADMINACCOUNTS='BUILTIN\ADMINISTRATORS' /TCPENABLED=1 /NPENABLED=0 /IACCEPTSQLSERVERLICENSETERMS
RUN .\SQLServer2022-KB5033663-x64.exe /q /IAcceptSQLServerLicenseTerms /Action=Patch /InstanceName=MSSQLSERVER /hideconsole
RUN stop-service MSSQLSERVER ;
set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql16.MSSQLSERVER\mssqlserver\supersocketnetlib\tcp\ipall' -name tcpdynamicports -value '' ;
set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql16.MSSQLSERVER\mssqlserver\supersocketnetlib\tcp\ipall' -name tcpport -value 1433 ;
set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql16.MSSQLSERVER\mssqlserver' -name LoginMode -value 2 ;
start-service MSSQLSERVER


ocr-numbers: generate tests from canonical data

Description

lib/ocr_numbers_cases.rb
exercises/ocr_numbers/example.tt
exercises/ocr_numbers/example.rb (had to update it to handle argument errors and the old version was ... wordy)

Motivation and Context

Generate tests with canonical data exercism/x-common#625

How Has This Been Tested?
rake test
Types of changes
Just a note: version 0 of ocr-numbers used non-standard naming for the tests and sample solution; both used OCR rather than camel casing the problem name. I standardized the naming.
As with pig-latin, I changed the tests so a class is not required.

Thanks @hilary :heart:


[Bug] Test-storybook passes even though StorybookTestRunnerError is emitted.

Describe the bug
I intentionally write an interaction test designed to fail. The interaction test correctly logs an page.evaluate: StorybookTestRunnerError:  but the test-runner passes the test anyways
Steps to reproduce the behavior

build-storybook -c <path_to<.storybook>>
npx http-server storybook-static
yarn test-storybook --url <server_url> -c <path_to_<.storybook>>

Expected behavior
The test that logs the StorybookTestRunnerError fails
Screenshots and/or logs
The full error message is
 page.evaluate: StorybookTestRunnerError:
    An error occurred in the following story. Access the link for full output:
    http://<IP_ADDRESS>:6008/iframe.html?path=/story/admin-components-datasourceinstancetable-interactive-datasourceinstancetable--interactive-table&addonPanel=storybook/interactions/panel

    Message:
     Unable to find an element with the text: Burgerawegaweg. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

A clear and concise description of what the bug is.
### Environment

OS: OS X
Node.js version: 19.0.1
NPM version:: Using yarn

Additional context
Add any other context about the problem here.

@kevin-xu-glean Can you share a reproduction?

Hey there, I'll be closing this issue from lack of reproduction. Please upgrade to the latest version of the test-runner and let us know if this issue happens again! I tested in many ways and couldn't reproduce the issue. Thank you!


Android Basics: Persist data with Room - Problem with the starter code

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-persisting-data-room
In which task and step of the codelab can this issue be found?
Solution code
Describe the problem
I got this error: Type of the parameter must be a class annotated with @Entity or a collection/array of it, when I finished the codelab and I fixed it by updating the room_version defined in the build.gradle.  It's currently using 2.2.6, I've updated to 2.3.0.
Steps to reproduce?
Do all steps of the codelab, the run the app.
Additional information
I checked the branch room and there, this version is already updated.

I solved this issue this same way .

thanks it really helped me

thanks helped me too

Any reference explanations???
Should we use latest version for every dependencies with yellow highlight or how to know ????


Update release notes of v3.1.0 and v3.1.1

:Release Notes:

Update release notes of v3.1.0 and v3.1.1

:Detailed Notes:

Update release notes of v3.1.0 and v3.1.1 in CHANGELOG.md

:Testing Performed:N/A
:Issues Addressed: N/A

It's corrected


Unable to convert markdown TM syntax to extension

VSCode Version: 1.0.1-alpha
OS Version: Mac OS X 10.11

Steps to Reproduce:

create an extension from https://raw.githubusercontent.com/textmate/markdown.tmbundle/master/Syntaxes/Markdown.tmLanguage
Run the extension
create a README.md file with below contents
open it

Crash:
//Users/bpasero/Development/Microsoft/monaco/out/vs/workbench/electron-browser/shell.js:240 Cannot read property 'split' of null: TypeError: Cannot read property 'split' of null
    at DecodeMap.getTokenIds (file:////Users/bpasero/Development/Microsoft/monaco/out/vs/editor/node/textMate/TMSyntax.js:127:34)
    at decodeTextMateToken (file:////Users/bpasero/Development/Microsoft/monaco/out/vs/editor/node/textMate/TMSyntax.js:218:36)
    at Tokenizer.tokenize (file:////Users/bpasero/Development/Microsoft/monaco/out/vs/editor/node/textMate/TMSyntax.js:190:33)
    at Object.tokenize (file:////Users/bpasero/Development/Microsoft/monaco/out/vs/editor/node/textMate/TMSyntax.js:111:92)
    at Model.TextModelWithTokens._updateTokensUntilLine (file:////Users/bpasero/Development/Microsoft/monaco/out/vs/editor/common/model/textModelWithTokens.js:540:60)
    at Model.TextModelWithTokens._revalidateTokensNow (file:////Users/bpasero/Development/Microsoft/monaco/out/vs/editor/common/model/textModelWithTokens.js:497:22)
    at file:////Users/bpasero/Development/Microsoft/monaco/out/vs/editor/common/model/textModelWithTokens.js:450:27

Contents:
# README
## This is the README for your extension "test-ts"
You can author your README using Visual Studio Code.  Here are some useful editor keyboard shortcuts:

* Split the editor (`Cmd+\` on OSX or `Ctrl+\` on Windows and Linux)
* Toggle preview (`Shift+CMD+V` on OSX or `Shift+Ctrl+V` on Windows and Linux)
* Press `Ctrl+Space` (Windows, Linux) or `Cmd+Space` (OSX) to see a list of Markdown snippets

### For more information
* [Visual Studio Code's Markdown Support](http://code.visualstudio.com/docs/languages/markdown)
* [Markdown Syntax Reference](https://help.github.com/articles/markdown-basics/)

**Enjoy!**

@aeschli fyi

The tmgrammar has the following empty capture on line 1078:
				<key>raw</key>
				<dict>
					<key>captures</key>
					<dict>

						<key>2</key>
						<dict/>

I created https://github.com/Microsoft/vscode-textmate/issues/10.
As a workaround just remove these two lines.

👍


How to maintain your own fork of spark?

Couple of years ago I've cloned spark and have started to have my own changes in repository (because my set of software and settings couldn't be 100% same as somebodies else). From time to time I've cherry-pick`d some commits from upstream. But now I have ~2 years history of commits in upstream I want to incorporate to my fork of spark (and then somehow apply changes with ansible).
So it is more like question and not an issue. What is the best practice?
How to:

have simultaneously my own fork  with my own changes some roles are commented out and etc
pull upstream changes
have changes (from commits) applied to my installation

The idea is that you would clone the repository, track changes from the master branch here (wether you do so in the master branch on your clone, or put them in some other branch), and make your personal changes in a different branch. Then you just merge changes from my upstream master branch to your personal branch.
GitHub has documentation on this sort of thing:
https://docs.github.com/en/github/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork
https://docs.github.com/en/github/collaborating-with-pull-requests/working-with-forks/syncing-a-fork#syncing-a-fork-from-the-command-line
Ansible is idempotent, so you should be able to just run the playbook again to apply any new additions to your system.
Removing old things is a manual process. If I decide to drop a software package from spark, for example, I don't write a task to uninstall it. I just remove the lines from the task that installed it. So you'd have to manually look through the commits for things like that and pacman --remove ... the package. The same goes for removing files from spark. For example, the recent Tor change in 144226d. When you look through the commit you'd see that spark is no longer pushing the old Tor systemd override file. To match that change on your system you would rm -r /etc/systemd/system/tor.service.d.

@pigmonkey do you see some automated way to find all packages not installed by spark? And Same for configuration files in /etc and other places like that?

No.


How to display preview image in Django template once you have its path?

When I use preview-generator on a .pdf it returns a path: /tmp/preview_cache/66736b859e3928a04fcacedead81224a-256x256.jpeg
What do I need to do in order to display the preview image in a django template? I'm guessing I need to set it up so that when the preview image is generated it is stored in /media/, and then I should be able to get the URL for it.
Can any other Django users give me some clarification on the best way to do this? Thanks for any help!

Hi @vbroskas
I have done this in Django. I have shown the preview of the pdf file. So I have created an iframe and added the pdf URL with appending domain name. It means I have returned DOMAIN_NAME + the_path of file. In your case you are using a temp folder, I am suggesting you store the file in Django static folder and then return the path. You can create an image tag with a returned URL and append it to the body.


A section title with a page var will not be shown properly in toc

Say:
+++
loc_a = 5
+++

## Some title {{loc_a}}

it will show fine on the page but not in the toc ({{loc_a}})

fixed with an additional pass of html2


Flash of unstyled content with Mantine & mismatched initial UI

Which project does this relate to?
Start
Describe the bug
I am working on a project using the Mantine component library and am trying out Start. I have set up the basic Start configuration and a basic configuration of Mantine. When I visit the app URL in the browser, the app loads, but there are two problems.

There is a brief flash of unstyled content.
There is a warning message that "Hydration failed because the initial UI does not match what was rendered on the server." It also informs me that "Warning: Expected server HTML to contain a matching

I think they want you to link css files like this in loader:
import mantineCssUrl from '@mantine/core/styles.css?url'

//...

  links: () => [{ rel: 'stylesheet', href: mantineCssUrl }]

As in example:
https://github.com/TanStack/router/blob/main/examples/react/start-trellaux/app/routes/__root.tsx#L17,L39

This worked for me! Thanks!

@drew-dulgar I'm running into the same as mentioned in #1917. I believe the ColorSchemeScript is necessary when using SSR since it's setting the data-mantine-color-scheme attribute based on the scheme in local storage. I'm hopeful this can be resolved in Start so that scripts can be added to the head when necessary in cases like this and not duplicated in the root div.

I think they want you to link css files like this in loader:
import mantineCssUrl from '@mantine/core/styles.css?url'
//...
links: () => [{ rel: 'stylesheet', href: mantineCssUrl }]
As in example:
https://github.com/TanStack/router/blob/main/examples/react/start-trellaux/app/routes/__root.tsx#L17,L39

I didn't realize the ?url was needed in the import, that fixed it for me. Thanks!


Data ingestion of Aero, Ennadai, Hongyuan and Zoinge in 2018CPEATData

Kathe,
I think this time is right. If not please let me know.
Regards.

Fantastic. Thank you!
-Kathe


Migration ComponentResponseTime

In Camel 2 and 3 we had the ComponentResponseTime header or property. In Camel 4 it is called ResponseTime. This header/property is used in 291 production flows. I propose to write a migration for this, so that users don't have to change this name change manually.

This is the old way:
${header.componentResponseTime}
And this is the new way:
${property.ResponseTime}

Migration in components settings: ${header.ComponentResponseTime} into ${property.ResponseTime}


Modular Network Protocol Nodes

Changed from Hardcoded Network Protocol to a much more modular one. Allows for specific protocol configurations. Or even developer's own Multiplayer peer implementation.

This pull request introduces a breaking change. However, it does warn when not set. I'll update the getting started documentation to match this change later.


Update: Neovim.Neovim.Nightly version 0.9.0

Pull request has been automatically created using 🛫 WinGet Releaser.
Microsoft Reviewers: Open in CodeFlow

@wingetbot run


Drag icons are broken (result in a crash)

Do you mean DND?

Yes

@ammen99 it's not just icons then. Occasionally dragging text in Epiphany will make everything freeze. The only way to fix this is to kill wayfire from another VTE

drag icons is the wlroots term for everything you drag, including text snippets

Resolved in master.