Avoid hand-writing norad to/from flatbuffers

Filling in flatbuffers is quite tiresome:
  // https://google.github.io/flatbuffers/flatbuffers_guide_tutorial.html
  let mut builder = flatbuffers::FlatBufferBuilder::with_capacity(1024);

  let creator = ufo.meta.creator.map(|c| builder.create_string(&c));

  // to/from norad's IntegerOrFloat, which uses f64 also anticipated to be tiresome

  let meta = MetaInfo::create(&mut builder,
      &MetaInfoArgs {
          creator: creator,
          format_version: ufo.meta.format_version as u16,
          format_version_minor: ufo.meta.format_version_minor,
          ..Default::default()
      });

Imagine https://github.com/googlefonts/flatfont/blob/main/ufoff/src/main.rs scaled to all the fields of https://github.com/linebender/norad/blob/master/src/fontinfo.rs. Tractable but not a whole lot of fun.
If we had something that could "see" the fields of structs hopefully we could generate To/From UFO. Derive or attribute macros (https://github.com/dtolnay/syn/issues/516 has an example) seem to offer a potential path to do this. However, these appear to at best receive non-recursive visibility into fields of a target struct. Makes sense, they operate on the source tokens, referenced types aren't even defined yet.
flatfont-side it looks to me like we'd end up needing to modify the flatc output, such as to slap macros on things. Tbh I'd be OK with that, we can script it and we can have tests that fail if we bugger it up. However, there is another option: slap macros to generate to/from flatbuffer routines onto the https://github.com/linebender/norad types. That would conveniently mean norad learns how to directly operate on flatfont's and that seems like a good thing.

Feel like tagging our Rust ninja friends?


Add Drag In and Drag Out events

Leaved comments in this commit for code review before merge.
known isues:

DnD HTML5 API: If drag too fast to another browser UI element (ej. dev tools) the HTML5 DnD dragLeave event is not triggered (not an issue from this code) ... a workaround could be to force a fallback to get the element at pointer position when dragging back to the browser window.

This PR resolve #2075 #979 #460 #1468 #2159 #1269

Usage
Sortable.create(inboxEl, {
    group: 'inbox',

    onDragIn:  (e) => console.log("+++++ drag in Inbox"),
    onDragOut: (e) => console.log("----- drag out Inbox"),
    onDrop: (e) => console.log("Doped!") // Somewhere inside X,Y of this sortable. Even if no onEnd event.
});

Svelte demo
REPL: https://svelte.dev/repl/98f5c00046754b13bd4aae4d362b20e2?version=3.50.0

Nice!

@roy-mdr Is it going to merge in to the main library? How long do we have to wait for it?

@roy-mdr Is it going to merge in to the main library? How long do we have to wait for it?

Unfortunately its not my decision but the original developers :/ Hopefully soon!

@owen-m1 Any idea on when it is going to merge?
P.S. If there are no core maintainers for this project right now, how about we recruit some? I would love to contribute to this library.

@SyedMSawaid Yeah I'm happy to add you if you'd like to contribute, I don't have a lot of time anymore

Any updates on this PR?


Fix cloudformation ImageId regression

The following commit removed the ability to use the
value set by the ImageId parameter.
https://github.com/buildkite/elastic-ci-stack-for-aws/commit/7d2ec14d1dc87ae32b98e7b75905e3d1fe6c8d51
Signed-off-by: Jeremiah Snapp<EMAIL_ADDRESS>

Good find @jeremiahsnapp!


Liquibase 4.26.0 changeset execution fails for oracle DB with dbms='timesten'

Search first

[X] I searched and no similar issues were found

Description
Hi Team,
While trying to execute below changeset connecting to oracle DB, we are getting an exception
<changeSet author="eIUM" id="syzygy-timers-1" dbms="!timesten">
        <preConditions onFail="MARK_RAN">
            <not>
                <tableExists tableName="FSM"/>
            </not>
        </preConditions>
        <createTable tableName="FSM">
            <column autoIncrement="true" name="ID" type="BIGINT">
                <constraints primaryKey="true"/>
            </column>
            <column name="FT_EXP" type="VARCHAR(100)"/>
            <column name="ENTITY_ID" type="VARCHAR(100)"/>
            <column name="ENTITY_TYPE" type="VARCHAR(100)"/>
        </createTable>
    </changeSet>

	**<changeSet author="eIUM" id="syzygy-timers-1-tt" dbms="timesten">**
**        <preConditions onFail="MARK_RAN">**
**            <not>**
**                <tableExists tableName="FSM"/>**
**            </not>**
**        </preConditions>**
**        <createTable tableName="FSM">**
**            <column name="ID" type="BIGINT">**
**                <constraints primaryKey="true"/>**
**            </column>**
**            <column name="FT_EXP" type="VARCHAR(100)"/>**
**            <column name="ENTITY_ID" type="VARCHAR(100)"/>**
**            <column name="ENTITY_TYPE" type="VARCHAR(100)"/>**
**        </createTable>**
**    </changeSet>**
<changeSet author="eIUM" id="syzygy" dbms="oracle,timesten">
         <preConditions onFail="MARK_RAN">
            <not>
                <sequenceExists sequenceName="FSM_SEQ"/>
            </not>
        </preConditions>
        <createSequence
                incrementBy="1"
                sequenceName="FSM_TIMER_SEQ"
                startValue="1"/>
    </changeSet>

however facing below issue during execution
Caused by: liquibase.exception.CommandExecutionException: liquibase.exception.ValidationFailedException: Validation Failed:
     1 changes have validation failures
          timesten is not a supported DB

	at liquibase.command.CommandScope.execute(CommandScope.java:237)
	at liquibase.Liquibase.lambda$update$0(Liquibase.java:222)
	at liquibase.Scope.lambda$child$0(Scope.java:184)
	at liquibase.Scope.child(Scope.java:193)
	at liquibase.Scope.child(Scope.java:183)
	at liquibase.Scope.child(Scope.java:162)
	at liquibase.Liquibase.runInScope(Liquibase.java:1371)

this changeset was working on earlier version of liquibase : 4.8.0.
Could you help me with resolution
Steps To Reproduce
execution the above changeset with oracle db throws the above error with liquibase 4.26.0
Expected/Desired Behavior
the changeset execution should not fail with
timesten is not a supported DB
when the underlying db is oracle
Liquibase Version
4.26.0
Database Vendor & Version
oracle 18.3
Liquibase Integration
No response
Liquibase Extensions
liquibase-core
OS and/or Infrastructure Type/Provider
rhel-8.x
Additional Context
No response
Are you willing to submit a PR?

[X] I'm willing to submit a PR (Thank you!)

Hi @sachin234s, thank you for reporting this issue.
Are you running Liquibase through the CLI, with Docker or with any other extensions?

we are invoking the changeset during our java application startup. its supposed to work when the underlying db is oracle. We are not facing similar issue with mysql db

I can confirm that this is as issue when running with Oracle, but not with other databases (PostgreSQL, MySQL).
Looking at the code, it seems to be stemming from the validateDefinition function at liquibase/database/DatabaseList.java#104.
I'll be forwarding this to the development team so they can guide you for the PR submission process. Feel free to ask any questions you may have.
Thank you, Tatiana

Thanks for the details shared. However could you also confirm if this changeset will work when the underlying database is (oracle timesten)?

@sachin234s timesten is not currently a supported database.
However, looking further into the issue, I found that it's not actually an Oracle problem, but an edge case of the database validation workflow.
I'll try to explain it clearly:
If the changeset has dbms="supportedDB, nonSupportedDB", two things can happen:

You are executing the changeset with either of those databases, supported or not. This will generate the error.
You are using a different database. This will work fine.

What's happening here is that the dbms attribute is a filter, so the changeset won't be run if the database used isn't specified there.
The way Liquibase is validating this currently, it's first looking through the list of databases in the dbms attribute. If the current database does not match any of them, it skips the changeset altogether.
If the current database does match one of them, then it will check for the validity of all specified DBs.
This means that, even if the DB you're using is supported, if you've specified one non-supported DB, the changeset will be marked as invalid and won't be executed.
I hope this gives you some more insight into the source of the bug.
@MalloD12 is looking into this, and he's available to guide you through the PR process.
Let us know if you have any more questions.
Thank you,
Tatiana

Hi @sachin234s,
We have been looking into this issue earlier with Tatiana some other from the team, and this is working as designed. Whenever you specify an invalid dbms execution will end up with a validation error message. With an invalid dbms I mean something that's not included in the list of maintained DBs you can find here. If you are keen to implement what we can do is to add a new configuration into the ChangeLogParserConfiguration and this way use that flag to control whether you want to disabled this validation or not for a case like the one you use in one of your changesets:
<changeSet author="eIUM" id="syzygy" dbms="oracle,timesten">

Thanks,
Daniel.

Thanks @MalloD12 , @tati-qalified  for detailing,
For the moment, We are planning to proceed as below
<changeSet author="eIUM" id="syzygy" dbms="oracle">// replacing dbms="oracle,timesten"
         <preConditions onFail="MARK_RAN">
            <not>
                <sequenceExists sequenceName="FSM_SEQ"/>
            </not>
        </preConditions>
        <createSequence
                incrementBy="1"
                sequenceName="FSM_TIMER_SEQ"
                startValue="1"/>
    </changeSet>


university student project edits

Hello! I am a university student taking a technical writing course. For one project we need to make suggested edits to repos on github.
Please use the following suggestions at your discretion :)

removed instances of hedging, and contractions to increase formal language
reduced pronoun use to reduce ambiguity
minor edits to increase clarity

Proposed changes:

close https://github.com/RasaHQ/rasa/issues/4836

Status (please check what you already did):

[ ] made PR ready for code review
[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog
[ ] reformat files using black (please check Readme for instructions)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you for your time!

One last thing, can you please sign the CLA? https://github.com/RasaHQ/rasa/pull/4837#issuecomment-558456956

@compSciKai do you mind signing the contributor agreement? https://github.com/RasaHQ/rasa/pull/4837#issuecomment-558456956

I’ll close this for now - let us know if you still want to move this forward

Hi @tmbo
I have tried going through the portal to sign in the correct channels without success. Any suggestions on how to sign successfully?

@compSciKai maybe its not working because the PR is closed? 🤔 What do you mean by "without success" -- whats happening when you try?


[Item] Platinum Talon

Platinum Talon
Builds from: Iron Talon, Hand of Midas, Sacred Relic (6350)
Stats:

40 attack speed
5 armor
60 damage

Abilities:
Platinum Quell - Increases attack damage against non-hero units, based on whether the equipped hero is ranged or melee.
Passive
Attack Damage Bonus (Melee): 50% GPM
Attack Damage Bonus (Ranged): 25% GPM
Greed - gain gold whenever you damage a unit.
Passive
Gold Gained per Damage Dealt: 5%
Greater Transmutation - kills a non-hero unit for gold equal to 50% that units health and 3x experience. Cannot be used on Ancient Creeps.
Target Unit
Cast Range: 1000
Cooldown: 90 Seconds

Promotes hoarding gold, which I don't like. Closed.

Since it's based on GPM not current savings, you'd think it would promote more intense farming (not sure this is possible in an Angel Arena), not hoarding per se. That said, seems like a snowball for snowball's sake item.


:new: Add Dialog component - With Dialog Element

This implements the dialog component which uses the native dialog element under the hood.
This method reduces the amount of code we are to maintain internally while relying on a high-quality polyfill of the standard for non-supporting browsers. This leads to cleaner code for developers.
@sgomes brought up in the other PR for Dialog that we would be forcing developers into using the dialog without a way to opt-out of some global event handlers the polyfill uses. I went the other way around and made using dialogs at all entirely opt-in. If you don't need dialogs (a good number of sites may never need them) then you simply don't include the polyfill on your site and there is only a minimal amount of extra CSS being added. However, if you do need dialogs then it is up to you to include the polyfill as-needed for your projects workflow.
UPDATE: Having a few issues working out the polyfill. Seems like the JS isn't running like it should be.
Before merge:

[ ] Move CDNJS polyfill for demos to local dep

LGTM, only added a few nitpicks. Thanks @Garbee, this is awesome! :smiley:
I like the approach of having a recommended polyfill that isn't included by default, thus avoiding the whole thing of forcing it on people who aren't using dialogs. We might want to add a warning bar to the component page when we work on the docs for this, but the README looks good.

We might want to add a warning bar

Completely agree. We need to really point it out to people. However, first let's focus on making sure it actually works. I'm having a hell of a time getting the polyfill to run on FF and IE10 so things actually work. If I don't have any luck in my next round (after a few other PRs are in) then I'll ping the devs of the polyfill and see if I can't get some assistance debugging it from them.

Ah, no worries, I'll do a round of testing as well then, and let you know what I find!

Oh, yea. Also for just now while we discussing this implementation I'm pulling in the assets from CDNJS (components template and the demo template, in <head>.) Once we agree that this method is worth taking, I'll move it to a npm dependency that we serve ourselves in these places.

@Garbee I think you'll need to rebase garbee/dialog-element-dialog to master - it's behind some of the drone upgrade stuff we did in the past days, so new drone doesn't understand the older version of .drone.yml.

I'll just do a new branch and copy it over once I'm home. Rebasing MDL
branches has done nothing but blow up on me lately.
On Dec 16, 2015 10:40 AM, "alex"<EMAIL_ADDRESS>wrote:

@Garbee https://github.com/Garbee I think you'll need to rebase
garbee/dialog-element-dialog to master - it's behind some of the drone
upgrade stuff we did in the past days, so new drone doesn't understand the
older version of .drone.yml.
—
Reply to this email directly or view it on GitHub
https://github.com/google/material-design-lite/pull/1929#issuecomment-165147859
.

Can we get this done in this year?

PR #2025 is open to move this with a clean build off master.


fix fix unable to access COS

Proposed changes
After this #30799, we upgrade the aws sdk version from 2.17.257 to 2.20.131.
The default endpoint url style logic seem changes.
So I set pathStyleAccessEnabled(true) to fix this.
Tested on S3, OSS, COS
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


Add breaking change workflow trigger

Adds a workflow that triggers a second workflow which sends a notification to a designated Slack channel on every PR labelled with breaking, whenever any of the following events are triggered on the PR:

closed
reopened
labeled
unlabeled

Depends on https://github.com/rapidsai/shared-workflows/pull/257

/merge


Please fix extension link

While the readme.md point to your extension (your fork), the link on the project point to https://marketplace.visualstudio.com/items?itemName=errata-ai.vale-server
This leads to a 404, and an immediate wrong impression your fork is not maintained.

I think the activity in the repo shows that it's maintained, but will fix now. Thanks!

I know it is, but the first link was a 404, thanks for fixing it quickly

@ccoVeille You're not the first person to mention it and I was doing some work elsewhere anyway :)


Add promises detail page

#37  👈
main

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

Join @vaclavbohac and the rest of your teammates on  Graphite


clean up jspm readme

Our jspm readme still has some references to webpack such as we use webpack for tests

Done!


feat: add delete option to deletable report fields

Details

This PR adds the ability to delete a report field attached to a report, given it was removed from a policy.
Fixed Issues

$ https://github.com/Expensify/App/issues/35331
PROPOSAL: N/A
Tests

Login to Old dot and create a paid policy.
Select the workspace and go to settings.
Enable workspace chat by executing the following commands in the console:

var p = Policy.getActive();
p.policy.isPolicyExpenseChatEnabled = true;
p.save();

Click on Reports option in the LHN and create some report fields.
Login to New dot using the same account.
Open the workspace chat and request some money.
Open the created expense report.
Make sure to have the policyReportFields beta turned on in the code.
Set the values for the report fields.
On Old dot, delete one of the report field.
In New dot, click on the same field in the expense report and verify that three dot menu shows up in the RHN.
Click the three dot menu and verify that an option to delete the field appears.
Delete the field and verify it no longer shows up in the expense report.

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

Offline tests

N/A
QA Steps

Login to Old dot and create a paid policy.
Select the workspace and go to settings.
Enable workspace chat by executing the following commands in the console:

var p = Policy.getActive();
p.policy.isPolicyExpenseChatEnabled = true;
p.save();

Click on Reports option in the LHN and create some report fields.
Login to New dot using the same account.
Open the workspace chat and request some money.
Open the created expense report.
Make sure to have the policyReportFields beta turned on in the code.
Set the values for the report fields.
On Old dot, delete one of the report field.
In New dot, click on the same field in the expense report and verify that three dot menu shows up in the RHN.
Click the three dot menu and verify that an option to delete the field appears.
Delete the field and verify it no longer shows up in the expense report.

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/30054992/13a99a15-28cb-4133-a21a-6c133514ec76

Android: mWeb Chrome

https://github.com/Expensify/App/assets/30054992/bd4b1f49-9405-4479-a5e3-45ae80e5aaed

iOS: Native

https://github.com/Expensify/App/assets/30054992/b08fd9a0-e47b-4628-a661-05f9c34a82bb

iOS: mWeb Safari

https://github.com/Expensify/App/assets/30054992/74edbea1-e8fc-4670-bc56-7c63808e0f72

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/30054992/a2ba8e04-edd0-45ab-a7d2-ac39db6ac1c1

MacOS: Desktop

https://github.com/Expensify/App/assets/30054992/67ce0a10-ab29-4460-b7c5-51ae061c330a

Reviewer Checklist

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

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

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

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

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

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

[ ] If any new file was added I verified that:

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

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

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

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

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

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

BUG? I have to navigate away from the report and back (or refresh) in order for the three-dots menu to show up after deleting the field on OD.

BUG: Unexpected error while updating the field, please try again later error shows when trying to delete a field. BE error is "Invalid ReportID '0' for the report store".

@allroundexperts Friendly bump! :bow:

Hi @jjcoffee!
I'm on it now.

BUG? I have to navigate away from the report and back (or refresh) in order for the three-dots menu to show up after deleting the field on OD.

This would be handled from the backend. I think pusher is not sending the delete event to the ND. @thienlnam Can you check here please?

BUG: Unexpected error while updating the field, please try again later error shows when trying to delete a field. BE error is "Invalid ReportID '0' for the report store".

This seems to be on the backend as well. @thienlnam can you verify?

This would be handled from the backend. I think pusher is not sending the delete event to the ND. @thienlnam Can you check here please?

This is known, there's another big refactor happening right now for pusher updates in the BE. This will be broken until that is finished

This seems to be on the backend as well. @thienlnam can you verify? I'm sending the field like shown here

I can take a look at this one - created an issue to look into it further https://github.com/Expensify/Expensify/issues/375261

Hmm now the delete option never shows, I think because the reportFields now come through as fieldList when OpenReport is called.

Yeah that is one change, additionally for the API call - what are the parameters being sent?
You no longer need to prefix with expensify_ since it comes that way now from the changes listed here https://github.com/Expensify/App/issues/36170#issuecomment-1965132057

We might want to move forward with the FE changes for https://github.com/Expensify/App/issues/36170 before doing this PR

@jjcoffee Ready for review again!

@allroundexperts Sweet, thanks - will take a look tomorrow!

@allroundexperts There seems to now be many unrelated changes here, can we keep this PR to just deleting report fields?

I'm still seeing some BE issues, so I have to actually do a complete sign-out/sign-in after deleting a field in OD, otherwise the field doesn't delete at all. It seems like the pusher update isn't working as the field remains in the Onyx policy object even after this update: {"key":"policy_6D05DA21B79C2F3A","onyxMethod":"merge","value":{"fieldList":{"field_id_DELETE_ME":null}}}
https://github.com/Expensify/App/assets/27287420/2cf4eadf-7a27-4ca8-b3e8-ea9a9a8f783f

Ah good to know, thanks I'll create an issue for this https://github.com/Expensify/Expensify/issues/383330

Quick check on this PR: Can we get the comments addressed this week?

Yes. On it today.

All issues are resolved and this is ready for review again.

@allroundexperts There seems to now be many unrelated changes here, can we keep this PR to just deleting report fields?

I think it makes sense to add the change regarding the option list migration here. At the time of writing this feature, the option list was written in JS and that is now causing lint issues. Also, I feel like if we go via the route of creating new issue for this, things would get dragged even further. As such, lets try to handle these minor last pieces here even if that means an increase in the compensation. As Expensify says, Let's get the shit done once and for all 😄

When adding a new field in OD, it does come through via pusher on ND, but tapping on the field leads to Not found page.

Hmm, if the data is stored correctly in the policy onyx key - then I would imagine this would be a FE issue

@allroundexperts The tick next to the selected option is gone (again? 😄). Other than that testing well and code looks good!

Added the check icon @jjcoffee

Hmm, if the data is stored correctly in the policy onyx key - then I would imagine this would be a FE issue

@thienlnam Just double-checked it's also happening on main. It looks like there's no pusher event to update the report's fieldList, which is why it's showing a not found page. I think we can handle it in a follow-up.

@allroundexperts Sorry, there are conflicts now, can you fix? :smile:

Ah looks like the PR with the conflicts was reverted. New PR is in draft https://github.com/Expensify/App/pull/39711. I have asked there if they can HOLD for our PR to get merged first (I think that makes the most sense here!).

Damn just noticed the perf test is failing. Can you merge main @allroundexperts?

Conflicting PR won't block us, we're good to merge this once the perf test passes @thienlnam :bow:

🚀 Deployed to staging by https://github.com/thienlnam in version: 1.4.61-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
cancelled 🔪

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.61-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[Request] Create a DB:: unprepared command

I was trying to create a trigger using migrations after trying everything I discovered that all DB:: commands are under a "prepare" condition and some MySQL commands cannot run, actually if you are using DB::exec you don't have to prepare at all if you don't have variables to resolve.
This is what I was trying to do: http://paste.laravel.com/fIa
This is the error MySQL gives:  [PDOException]  SQLSTATE[HY000]: General error: 2030 This command is not supported in the prepared statement protocol yet
I think it would be great to have an unprepared statement on DB::
Using getPDO made it work fine for me: http://paste.laravel.com/fIh

Can you explain your solution? I'm getting the same error when installing OctoberCMS (based on Laravel) and using MemSQL on Ubuntu 14.04.2 latest with PHP5 and MySQL client driver after running the command: "php artisan october:up" mentioned here: http://octobercms.com/docs/help/console#console-install. The web gui install errors out too. I have everything installed including all the Apache caveats related to the install and errors as well.
The full error is: " [PDOException] SQLSTATE[HY000]: General error: 2030 This command is not supported in the prepared statement protocol yet "


std::array issue

I use your codes as suggested. But encountered with error: implicit instantiation of undefined template 'std::array<long, 4>' for collision_constraint.hpp.
Fix: add #include inside the collision_constraint.hpp.

Yes, thank you I just had the same compilation error. Will push the fix in a bit.

Fixed 😄


⚠ Turnos 24x7 has degraded performance

In 512718b, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 4612 ms

Resolved: Turnos 24x7 performance has improved in fe996e4.


Typo in kube-lego README.md

I signed it!

@k8s-bot ok to test

Made the "tables->table" fix myself. LGTM


Correct log output when introing createSlice

Initial example block demonstrating createSlice didn't include
type including the slice's name as the prefix.
Also fix missing tilde before block.

Thanks!


How to reproduce the 'oracle' results?

Hi, first of all, thanks for sharing the source code and data.
The problem is when I want to use the 'oracle' setting with BERT encoder, I found the '--gold-attn' argument made slight change on the performance, not as large as mentioned in the paper. So I'm wondering if I made some mistakes on parameter setting? Besides, I found that at the encoding part of the model (maybe '_bert_features' function?), there is no code corresponding to the '--gold-attn' argument.
Looking forward to your reply.

Hi,
Thank you for your interest in our work!
A closer check suggested that this released code base does not contain all the code for running the oracle experiments. We will work on updating this code base.
I am including below the code snippets we used for the encoder-attention oracle experiments in the paper, in case you want it more urgently than we can fully re-test and update the code. (Chen and I currently occupied with other projects in the next few days; let us know if you run into any issues.)
Replace Lines 396-399 with the following (We only did LSTM version in the paper, but I think BERT features should be handled similarly, at lines 274-275):
        if self.args.gold_attn_enc:
            wcontext_list = list()
            ccontext_list = list()

            for i, instance in enumerate(batch['instances']):
                w_att_c_matrix, c_att_w_matrix = attention_matrix_col(instance)
                wcontext_i, alpha_w = self.w_attn_c(wvecs[i].unsqueeze(0), cvecs[i].unsqueeze(0), c_mask[i].unsqueeze(0), gold_attn=w_att_c_matrix, device=self.device)
                wcontext_list.append(wcontext_i.squeeze(0))

                ccontext_i, alpha_c = self.c_attn_w(cvecs[i].unsqueeze(0), wvecs[i].unsqueeze(0), w_mask[i].unsqueeze(0), gold_attn=c_att_w_matrix, device=self.device)
                ccontext_list.append(ccontext_i.squeeze(0))
            wcontext = torch.stack(wcontext_list)
            ccontext = torch.stack(ccontext_list)
        else:
            wcontext, alpha_w = self.w_attn_c(wvecs, cvecs, c_mask)
            ccontext, alpha_c = self.c_attn_w(cvecs, wvecs, w_mask)

Replace forward function in the MatchAttn class (lines 802 forward) with:
    def forward(self, x, y, y_mask, is_score=False, gold_attn=None, device=None):
        # Project vectors
        if self.linear_x:
            x_proj = self.linear_x(x.view(-1, x.size(2))).view(x.shape[0], x.shape[1], -1)
            x_proj = F.relu(x_proj)
            y_proj = self.linear_y(y.view(-1, y.size(2))).view(y.shape[0], y.shape[1], -1)
            y_proj = F.relu(y_proj)
        else:
            x_proj = x
            y_proj = y

        x_proj = self.w(x_proj)

        # Compute scores
        scores = x_proj.bmm(y_proj.transpose(2, 1))
        y_mask = y_mask.unsqueeze(1).expand(scores.size())
        if gold_attn is not None:
            new_score_list = list()
            for idx, ii in enumerate(gold_attn.tolist()):
                for tt in range(len(ii), scores.size(-1)):
                    ii.append(0.0)
                if np.sum(ii) == 0:
                    num_cols = 0
                    for mask_item in y_mask[0][idx]:
                        if mask_item == 0:
                            num_cols += 1
                    new_score_list.append(torch.tensor(len(ii) * [1.0 / num_cols]))
                else:
                    new_score_list.append(torch.tensor(ii))
            for tt in range(len(gold_attn.tolist()), scores.size(1)):
                new_score_list.append(torch.tensor(scores.size(-1) * [0.0]))

            scores = torch.stack(new_score_list).unsqueeze(0).to(device)
        # Mask padding
        scores.data.masked_fill_(y_mask.bool().data, -float('inf'))
        # Normalize with softmax
        if is_score:
            return scores
        alpha_flat = F.softmax(scores.view(-1, y.size(1)), dim=-1)
        alpha = alpha_flat.view(-1, x.size(1), y.size(1))

        # Take weighted average
        matched_seq = alpha.bmm(y)

        return matched_seq, alpha

Hi, thanks for your apply!
Under your suggestions above, I changed the source code, and got the following results on the dev-0 set:

methods
ACC(LF)
ACC(EXE)

ALIGN w/BERT
46.52715939447907
65.09349955476402

+ Encoder oracle
52.09260908281389
68.78895814781835

+ Decoder oracle
47.10596616206589
60.77471059661621

+ Both oracle
52.67141585040071
65.27159394479074

It seems that the 'oracle' signal has worked at the encoding part, although it is not as obvious as without using BERT. Thanks for your suggestions! By the way, there are some bugs in the forward function above. Here is the fixed version (not sure if it is completely correct):
    def forward(self, x, y, y_mask, is_score=False, gold_attn=None, device=None):
        # Project vectors
        if self.linear_x:
            x_proj = self.linear_x(x.view(-1, x.size(2))).view(x.shape[0], x.shape[1], -1)
            x_proj = F.relu(x_proj)
            y_proj = self.linear_y(y.view(-1, y.size(2))).view(y.shape[0], y.shape[1], -1)
            y_proj = F.relu(y_proj)
        else:
            x_proj = x
            y_proj = y

        x_proj = self.w(x_proj)

        # Compute scores
        scores = x_proj.bmm(y_proj.transpose(2, 1))
        y_mask = y_mask.unsqueeze(1).expand(scores.size())

        # Mask padding
        scores.data.masked_fill_(y_mask.bool().data, -float('inf'))
        # Normalize with softmax
        if is_score:
            return scores
        alpha_flat = F.softmax(scores.view(-1, y.size(1)), dim=-1)
        alpha = alpha_flat.view(-1, x.size(1), y.size(1))

        # MODIFIED (gold_attn should after the 'softmax' function)
        if gold_attn is not None:
            new_score_list = list()
            for idx, ii in enumerate(gold_attn.tolist()):
                for tt in range(len(ii), scores.size(-1)):
                    ii.append(0.0)
                if np.sum(ii) == 0:
                    num_cols = 0
                    for mask_item in y_mask[0][idx]:
                        if mask_item == 0:
                            num_cols += 1
                    new_score_list.append(torch.tensor(len(ii) * [1.0 / num_cols]))
                else:
                    new_score_list.append(torch.tensor(ii))
            for tt in range(len(gold_attn.tolist()), scores.size(1)):
                new_score_list.append(torch.tensor(scores.size(-1) * [1.0 / scores.size(-1)]))

            alpha = torch.stack(new_score_list).unsqueeze(0).to(device)

        # Take weighted average
        matched_seq = alpha.bmm(y)

        return matched_seq, alpha

However, the performance of the 'decoder oracle' setting still looks abnormal. Specifically, I simulated this setting by using the --gold-attn argument. So I'm wondering if I made some mistakes during the process? Could you please give me some advice about that? Thanks!

Thank you for pointing out the ordering issue. Yes, the gold_attn portion should come after softmax. And glad to see that the encoder oracle attention seems to be working as expected.
For the decoder part, I don't see any initial suspect at the moment. Chen and I will get back to this issue in a few days.
(While in the paper, we only tested the LSTM encoder, I don't think the oracle decoder attention should break using the BERT encoder.
One variation we did try in our code was to have these two lines in utils.py after line 132
    else:
        att[i] = 1./len(att[i])

But I am not sure this would create any huge difference.
Anyway, we will try to get back to you in a few days, after the EMNLP submission deadline.)
Thank you for your patience!

Hi,
I have tried running decoder oracle with BERT (python main.py --bert --gold-attn), the EM score is 52.49 after 5 iterations (it could increase in later iters). So I think the code is probably correct. A tip for debugging is to print the ``decode_w_attn.attn'', check whether it equals to the attention matrix.
If you still have problems on using oracle for decoding, could you share the log file so it would be easier to do debugging (i.e., loss/accu at each iteration)?
Best,
Chen

Hi, sorry for the late reply! @tzshi @henryzhao5852
After adding the two lines after line 132, the performance of the 'decoder oracle' setting has changed from 47.10596616206589 to 50.84594835262689 on ACC(LF) without retraining. And I get 56.94568121104185 ACC(LF) score when using the 'both oracle' setting with BERT encoder. The performance has indeed improved, but it is stll lower than the result in the paper without BERT.
Besides, I also have tried running decoder oracle using the command mentioned above python main.py --bert --gold-attn, and the ACC(LF) score is 53.38379341050757 after 19 epoches. So I'm wondering whether the results in the paper are obtained by retraining the model? By reading the release code, I found that if the model is retrained using the --gold-attn argument, it means that the model will use the gold attention matrix during the forward process, not only for calculating the training loss. Is this the keypoint to reproduce the performance in the paper?
Looking forward to your reply. Thanks!

Hi,
Yes, oracle experiments assume the annotated (oracle) alignments are given both on training and evaluation. So we train the model from scratch, using oracle alignment (so no loss for decoder attention etc), and alignments are directly used for inference.
Best,
Chen


Docs: Fix typo

This PR corrects a typo in the README file where "Authentification" was incorrectly spelled as "Authentication". The correct spelling is now used.
This is a minor fix and should not affect any functionality.
Check out Contributing and Code of Conduct
A picture of a cute animal (not mandatory but encouraged)

@patsevanton thanks!


add "interacting" read-only option

At any time, we should be able to tell if a user is interacting with the map so we can cancel things like downloading large images, etc.

Possibly complement it with interactbegin and interactend events.
interacting: false
* user clicks while mode == drawPoint
=> interactbegin event
interacting: true
=> interactend event
=> click event
=> shape event
interacting: false


Parser Recurses Infinitely

The current parser is a parser combinator (recursive-descent parser). Since the grammar of Lua is left-recursive, the parser combinator will recurse infinitely.
Some augmentation needs to be added to prevent this (partial pratt parser, etc.).

Abandoned parser combinator approach, doing a hand-written recursive descent parser with some Pratt parser elements. Left-recursion is something I deal with on a case-by-case basis this way.


Github Autosquash

Should we enable this feature to save contributors constantly having to squash and rebase their commits into 1?
https://github.com/blog/2141-squash-your-commits

I believe the feature is already enabled. I'm open to using it, but I don't think we should force squashing. It's rare, but there are occasions when a pull request should legitimately contain multiple atomic commits.

The only downside to enabling but not requiring autosquashing is that the default option is still to create a merge commit. You have to click the tiny arrow in the merge button that appears when you're confirming. If we want to squash by default but sometimes allow merge commits then we could make squash the only option and enable merge commits in those special scenarios.

Oh. It seems I misunderstood commit squashing. I didn't realize that it also avoids a merge commit. The merge commit is very useful, though, as it's the only way to get to a pull request from a commit log (as you are no doubt aware, Ben, from your work on :dromedary_camel:).
Can someone provide a link to a pull request squashed via the GitHub UI?

So I just tested this feature in one of my personal projects. You can see an example of the result of doing an autosquash of a branch with 2 commits here. The PR number and link are actually both in the message of the single commit that's generated. I personally find this to be pretty clean looking.

I've decided not to make use of this feature, for three reasons:

I like to avoid touching commits authored by other people;
were a "squashed" commit to fail CI the PR would appear to have been merged with failing tests; and
master would not be a superset of the feature branch post merge, which would break my workflow (merge via GitHub, git checkout master, git pull origin master, git branch -d <branch>, git push origin :<branch>).


Data transformation -  app and analyzer

modified start page --> added option menu
eda part done
data cleaning part needs to be done
q/a part not tested

zhakas!


How can we make keep checklist style when double enter?

How can we make keep checklist style when double enter?
Like google keep checklist Todo list

There is a set of heuristics rules in the editor. They act as middleware between the code that registers the new input and the code rendering the document.

There are 3 types of rules: insert, delete and retain. In the insert category there is the AutoExitBlockRule

Right now there is no option to override internal rules. But we could easily extend the config object with a dictionary used to disable rules. If you are interested to implement this feature I can explain on discord how it can be done. Right now I'm focused on other goals so I can't quickly implement it myself. I'd appreciate some extra hands on deck.

No follow up so far, closing


Update train compare script

Proposed changes:

Update train compare script to allow whole config comparison

Status (please check what you already did):

[x] made PR ready for code review
[ ] added some tests for the functionality
[x] updated the documentation
[ ] updated the changelog
[x] reformat files using black (please check Readme for instructions)

Should I increase version to 1.3?

There is nothing really to migrate, just retrain


Can not get it to work on Vim 9.1

I've installed it via :CocInstall coc-symbol-line.  After that, the extension appears listed on :CocList extensions but as loaded (+), not as enabled (*).  Nothing happens in Vim at all when opening a file.
I get the following error with :CocOpenLog:
2024-08-05T21:38:59.178 INFO (pid:83310) [plugin] - coc.nvim initialized with node: v21.6.0 after 577
2024-08-05T21:38:59.185 ERROR (pid:83310) [node-client] - request error on "nvim_command" [ 'runtime plugin/coc_symbol_line.vim' ] Error: request error on "nvim_command" - Vim(highlight):E254: Cannot allocate color 0 on api "command" ["runtime plugin/coc_symbol_line.vim"]
    at Object.activate (/home/baco/.config/coc/extensions/node_modules/coc-symbol-line/lib/index.js:5673:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /home/baco/src/dotfiles/vim/pack/lsp/start/coc.nvim/build/index.js:78892:27
2024-08-05T21:38:59.186 ERROR (pid:83310) [extensions-manager] - Error on active extension coc-symbol-line: Error: request error on "nvim_command" - Vim(highlight):E254: Cannot allocate color 0 on api "command" ["runtime plugin/coc_symbol_line.vim"]
    at Object.activate (/home/baco/.config/coc/extensions/node_modules/coc-symbol-line/lib/index.js:5673:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /home/baco/src/dotfiles/vim/pack/lsp/start/coc.nvim/build/index.js:78892:27
2024-08-05T21:38:59.187 ERROR (pid:83310) [server] - unhandledRejection  Promise {
  <rejected> Error: request error on "nvim_command" - Vim(highlight):E254: Cannot allocate color 0 on api "command" ["runtime plugin/coc_symbol_line.vim"]
      at Object.activate (/home/baco/.config/coc/extensions/node_modules/coc-symbol-line/lib/index.js:5673:14)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      at async /home/baco/src/dotfiles/vim/pack/lsp/start/coc.nvim/build/index.js:78892:27
} Error: request error on "nvim_command" - Vim(highlight):E254: Cannot allocate color 0 on api "command" ["runtime plugin/coc_symbol_line.vim"]
    at Object.activate (/home/baco/.config/coc/extensions/node_modules/coc-symbol-line/lib/index.js:5673:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /home/baco/src/dotfiles/vim/pack/lsp/start/coc.nvim/build/index.js:78892:27
2024-08-05T21:39:03.505 INFO (pid:83310) [attach] - receive notification: openLog []
2024-08-05T21:39:04.168 ERROR (pid:83310) [timing] - activate coc-symbol-line timeout after 5000ms

Is the CoC extension working for the non-Neo Vim editor?

It should support vim. I'll fix it when I have time.

I can provide the following log from CoC's node running Node client in debug mode:
coc.log


Add sanity tags for subset of regression tests

Add sanity tags to jdk_io, jdk_lang, jdk_net, jdk_math, jdk_nio, jdk_util, jdk_management
Add exclusions for hotspot tests in sanity group

Could you please also update line 11:
string (defaultValue: 'runtest', description: 'Test Target to execute, default is runtest which will run all tests. You can also select sub-targets such as:\ntop level: openjdk, sanity, extended, system, jck, functional, perf, etc\ndirectory level: prefix a directory with test (eg test_systemtest)\nindividual test: jdk_beans_SE80_0, etc', name: 'TARGET')
test: jdk_beans_SE80_0  to test: jdk_beans_0?
In the new framework target will not need JAVA_VERSION any more. I forgot that in my last commit. Thanks!

Updated description for individual test as you suggested.


Fix #4388: Split IRChecker into ClassDefChecker and IRChecker

First draft of how this could look like. Observations:

Found #4409: Good we started this :)
We should consider a JSParamDef.
I'm toying with the idea of splitting ClassDef#memberDefs more, maybe even use an order preserving map type where applicable. WDYT?
An even bolder idea would be to make different concrete subclasses of ClassDef based on kind (making many of the "you can't have x here checks moot).
We get caching of IR pre link IR checking for free.
I'm bothered that without tree traversal, we have to decide between assertions in trees or checking later.
We should probably call this ClassDef checker.

We should consider a JSParamDef.
I'm toying with the idea of splitting ClassDef#memberDefs more, maybe even use an order preserving map type where applicable. WDYT?
An even bolder idea would be to make different concrete subclasses of ClassDef based on kind (making many of the "you can't have x here checks moot).

For all of these, I think the most important criteria is: would those changes ease the non-checker components (base linker, optimizer, emitter), or make them more difficult? IMO we shouldn't make the job of the "active" components harder just to make the IR checker(s) easier or the IR data structures more type-safe.

We get caching of IR pre link IR checking for free.
I'm bothered that without tree traversal, we have to decide between assertions in trees or checking later.

Actually the caching for free is an argument in favor of doing as much IR checking pre-link, so including a tree traversal.

We should probably call this ClassDef checker.

Yes :-p

Actually the caching for free is an argument in favor of doing as much IR checking pre-link, so including a tree traversal.

Yeah... Although, we wont get away without another traversal :( So if the execution time is traversal bound (and not what we actually do), checking later might be faster in practical scenarios. I do not expect fullLinkJS to run often incrementally... (but then, who knows :P).

For all of these, I think the most important criteria is: would those changes ease the non-checker components (base linker, optimizer, emitter), or make them more difficult? IMO we shouldn't make the job of the "active" components harder just to make the IR checker(s) easier or the IR data structures more type-safe.

I'll prepare some PRs so we can discuss about concrete changes :)

@sjrd WDYT about the changes I pointed out. Shall I split them into a separate commit?

Regarding deprecated methods: I'm not a fan of attempting to keep compatibility in a part of the codebase where we clearly do not guarantee this (also, it's not actually obvious how to do it).
With that, I believe I have addressed all the comments. I have not resolved the ones where the changes were non-trivial so it's easier to keep track of what to look at.

Also: I expect there is going to be another CI failure. I didn't fix it, because the logs were gone already.

I have removed the braces after the definition of Apply (this caused scalastyle to fail).

CI is hit by #4672.


Improvements to service discovery tutorial

Description
https://jira.mesosphere.com/browse/DOCS-2038
Urgency

[ ] Blocker
[ ] High
[ x] Medium

Requirements

Test all commands and procedures.
Build content locally and test for formatting/links.
Add redirects to dcos-website/redirect-files.
Change all affected versions (e.g. 1.7, 1.8, and 1.9).
See the contribution guidelines.

@sascala updates made as requested

Review request pls oss-team

@pleia2 - changes as requested

@joerg84 changes as requested


buggy on macos

close() doesn't work if setClosable(false)
setTitleBarStyle(TitleBarStyle.hidden);  doesn't work
setSize() doesn't work
Is there a usable fork?    Bugs on Linux and macOS (I haven't tested windows)
Also, on linux, if you setResizable(false), you can't call setSize().  I just don't want it resizable in the UI.  Programmatically I should be able to setSize.

Works on my MacOS
Lijy also uses MacOS so it definitely works on his

testing now.  close() doesn't work if setClosable(false)

setSize() doesn't work if setResizable is false.
example is broken too.

I see the window come up like a normal window, and after a second converts to this wacky window that has windows buttons on right.

set background to blue, setTitleBarStyle to normal. what is this??

testing now. close() doesn't work if setClosable(false)

Afaik you can do exit(1); instead

setTitleBarStyle(TitleBarStyle.hidden); doesn't work

Idk why that doesn't work on your machine

setSize() doesn't work if setResizable is false.

Idk why that doesn't work on your machine

I see the window come up like a normal window, and after a second converts to this wacky window that has windows buttons on right.

Yes that's how this plugin works by default.

set background to blue, setTitleBarStyle to normal. what is this??

That is the background, specifically the window behind the Flutter view, colored blue, but in yours, the window button has disappeared which makes it look weird.
I do agree that some code and the documentation should be further improved.
Also, I do not know what your intended behavior for TitleBarStyle.hidden. However, as an alternative, I suggest you use flutter_acrylic as it has more control over the MacOS window.

OK, I'll try the flutter_acrylic.
I just need a normal macOS window.  I'm running a bare bones mac with the latest OS.  I only installed xcode and flutter, so I have no idea why it doesn't work.  Maybe my xib file is old.  This project was created a year ago.

You can try regenerating the macos folder

Delete macos folder
Run flutter clean
Run flutter create --platforms=macos .

testing now. close() doesn't work if setClosable(false)

When setCloseable(false) is set, close() will not work, this is not a bug.


The text styles from subtitles does not works

This player always uses custom text styles, even the subtitles with text styles.
I suggest that default to use the text style from subtitles, and add an option to force custom text styles.

https://github.com/moneytoo/Player#how-do-i-change-subtitle-font-size-or-color

If you want to apply additional formatting defined in subtitles, leave this option off.

Thanks. But some param from subtitles does not works, like fontname, even I added the font file into the mkv file.

Thanks. But some param from subtitles does not works, like fontname, even I added the font file into the mkv file.

What subtitle format is that? In case of SSA the support is quite limited: https://github.com/google/ExoPlayer/issues/8435#issuecomment-762449001

ASS subtitles and TTF font in MKV file
Part of reporting from MediaInfo
General
Format                         : Matroska
Attachments                    : jf-openhuninn-1.1.a.ttf

In this case it's indeed limited by the support of ExoPlayer/Media3.


Fix arguments in docstrings.

This PR fixes the mismatched argument names in docstring according to the function signatures and detail descriptions.

Can one of the admins verify this patch?

Jenkins, please test this!

@dongjoon-hyun Thanks for your commit, can you rebase master and I'll merge?
Thanks!

@ilblackdragon: I can merge if you'd like (no testing needed it seems)

Oh, thank you @ilblackdragon and @vrv .
And, sorry for a little bit late response. :)


SAML Authentication with WIA (Windows Integrated Authentication)

Hi
Modern browsers support the transfer of Windows Integrated Authentication from the operating system to the browser. This has the advantage that the user does not have to login again with the IDP like ADFS.
Unfortunately, although it's Chrome within Nativefier, this does not work. The normal login dialog appears. See the screenshot.

Tested on a Mac with different user-agent string.
Any plans or ideas?
Best, Mario

You might need to change the setting of saml