x/build/env: host-plan9-386-gce (VM Image: plan9-386-v7)

Note that the previous attempt at a plan9/386 builder on GCE didn't work reliably; see #29801.
(I suspect that this builder will need significant attention from @golang/plan9.)

I don't think anyone has plans to resume work on this, and there is a working plan9/386 LUCI builder tracked in #63599. Closing this in favor of that issue.


giltch in flip button

there is not a proper functioning of flip button that is not fliping properly,
i can change it to work in an proper way

@anshikkay You can work on fixing it.
Assigned to you!

Hi, are you still working on this issue? If you've already made a PR with the changes that have been merged then please close the issue. If you have an open PR, please mention this issue number in your PR in order to link them.


1st, top 8, 5-0s for people, cards; Suppress for matchups; Elo for archetypes, cards, maybe decks

We have the facility to generate these things now, might as well spam them everywhere.

All of these now exist except Elo for non-people. That's covered by #1236.


Floating EVPU in dialog:CreateMeasurementEdit

I guess this is mostly addressed to @ThistleSifter.
I'm working on a script using your CreateMeasurementUnitPopup in a FCXCustomLuaWindow, and the EVPU values in MeasurementEdits always revert to integers. How can I force EVPUs to be floats? (Line widths are either EFIX or decimal precision).

FCXMeasurementEdit has three methods that change the underlying format used when converting between measurement units:

SetTypeMeasurementInteger() - Whole EVPUs (this is the default)
SetTypeMeasurement() - EVPUs with decimal
SetTypeMeasurementEfix() - EFIXs with decimal

It sounds like the one you're after is SetTypeMeasurement()

Ah - many thanks @ThistleSifter - that does the trick! Is it usual to get significant rounding errors when swapping Units? 1.75 EVPU, for instance, drops to 1.72 when swapping to points and back. (Script attached if you're interested).
gracenote_slash.txt

Hmm, I'll have to look into that further. In theory it shouldn't, at least not with the example figure you gave.

Without any user changes, these values in EVPU:
measurement_unit = 1
upstem_artic_y_offset = -32
downstem_artic_y_offset = 8
upstem_artic_x_offset = 4
downstem_line_width = 2.25

get stored in the User prefs file as this in cm:
measurement_unit = 3
upstem_artic_y_offset = -32.003746032715
downstem_artic_y_offset = 8.0003700256348
upstem_artic_x_offset = 3.9996180534363
downstem_line_width = 2.2498559951782

Converting back to EVPU shows the rounding errors in the prefs file:
upstem_artic_y_offset = -32
downstem_artic_y_offset = 8
upstem_artic_x_offset = 3.9900000095367
downstem_line_width = 2.2400000095367

I was looking into this just now and I noticed that Finale's inbuilt dialogs have the same issue.
For example, open Document -> Document Options... ->Piano Braces and Brackets and play around with changing measurement units.

Finale's inbuilt dialogs have the same issue.

You're right. I'd previously checked out "Smart Shape Options" which seems to be generally more accurate in the translation back and forth, but that could just be more flexible starting values.Is there any way that there could be (for instance) a rounding to 3 or 4 decimal places on each translation?

The solution I have circumvents changing the underlying value when changing measurement units. I still need to test it, but if you want to give it a go, you can find it here: https://github.com/ThistleSifter/jw-lua-scripts/blob/fcx-ctrl-measurement-edit/src/mixin/FCXCtrlMeasurementEdit.lua
There is always going to be a certain amount of deviation in the stored number from the displayed number anyway due to floating point inaccuracy.

@ThistleSifter - I can't tell what you've changed in FCXCtrlMeasurementEdit.lua but it works incredibly well. Better than the built-in Finale conversions.


Add back environments pipeline for live-2 cluster

Closing as there is plans to close live-2 cluster


LocalCache Implementation

I've integrated github.com/hashicorp/golang-lru as an in-memory local cache. Would you accept that as a PR?

Of course. I've been looking at that lru quite some time ago, too, but never had a change to integrate it. Please, do.

So, this will require coordination between running instances. I've been thinking about it and it feels like it should be possible. After that, in-memory cache should be ok to use.
Will try to put something together.

Since the GCS webhook notification is now deprecated, switching to Cloud PubSub for object change notifications would also help with coordinating the flushing of objects from the local cache. Thoughts?


Customize what exactly to record during a meeting

Sometimes I need to record not only the speaker's shared screen but also

the speaker's webcam (e.g. if they're writing something on a physical whiteboard, in addition to slides)
the chatroom

This could be specified in a separate field of the `meeting.csv, with letter-based options. Examples:
S – record just the screen
SW – record screen and webcam
WC – record webcam and chat
I think it'd be possible to implement using additional instructions to pyautogui

Good idea. Yes, it would be possible to implement this. But you have to keep in mind that this can also change during the meeting, for example if the webcam or screen transmission is turned on/off. This also needs to be addressed.
I will add this to the roadmap.


traverseDependencies throws TypeError: Cannot read property 'map' of undefined at resolveDependencies

What is the current behavior?
Running my project (an app which I work on since several months and its almost finished) via "npm run start-android" throws an exception in the metro bundler:
error: bundling failed: TypeError: Cannot read property 'map' of undefined at resolveDependencies (C:\Apps\MyProject\rnw\node_modules\metro\src\DeltaBundler\traverseDependencies.js:370:18) at C:\Apps\MyProject\rnw\node_modules\metro\src\DeltaBundler\traverseDependencies.js:188:33 at Generator.next () at step (C:\Apps\MyProject\rnw\node_modules\metro\src\DeltaBundler\traverseDependencies.js:298:30) at C:\Apps\MyProject\rnw\node_modules\metro\src\DeltaBundler\traverseDependencies.js:309:15 at DELTA [android, dev] ....../index.js ▓▓░░░░░░░░░░░░░░ 14.7% (221/612), failed.
If the current behavior is a bug, please provide the steps to reproduce and a minimal repository on GitHub that we can yarn install and yarn test.
I really don't know who to achieve that with my complex project, especially when I don't know which part is responsible.
I added a log into the file traverseDependencies.js, function resolveDependencies to log the filename that could be responsible for that. This is the output shortly before the error:
FL_DEBUG: C:\Apps\MyProject\rnw\node_modules\react-native\Libraries\Inspector\ElementBox.js FL_DEBUG: C:\Apps\MyProject\rnw\node_modules\react-native\Libraries\Inspector\ElementProperties.js FL_DEBUG: C:\Apps\MyProject\rnw\node_modules\react-native\Libraries\Inspector\NetworkOverlay.js FL_DEBUG: C:\Apps\MyProject\rnw\node_modules\react-native\Libraries\Inspector\PerformanceOverlay.js FL_DEBUG: C:\Apps\MyProject\rnw\node_modules\react-native\Libraries\Animated\src\nodes\AnimatedTransform.js error: bundling failed: TypeError: Cannot read property 'map' of undefined at resolveDependencies (C:\Apps\MyProject\rnw\node_modules\metro\src\DeltaBundler\traverseDependencies.js:370:18) at C:\Apps\MyProject\rnw\node_modules\metro\src\DeltaBundler\traverseDependencies.js:188:33 at Generator.next () at step (C:\Apps\MyProject\rnw\node_modules\metro\src\DeltaBundler\traverseDependencies.js:298:30) at C:\Apps\MyProject\rnw\node_modules\metro\src\DeltaBundler\traverseDependencies.js:309:15 at DELTA [android, dev] ....../index.js ▓▓░░░░░░░░░░░░░░ 14.7% (221/612), failed.
So I guess maybe C:\Apps\MyProject\rnw\node_modules\react-native\Libraries\Animated\src\nodes\AnimatedTransform.js is responsible for the error?
I really can't say that something I did recently in the code caused that behavior, especially not in the Animated section. I did some changes yesterday but those changes were working fine. I did nothing in the code then, just restarted my computer and started the project again, then suddenly the error appeared.
What is the expected behavior?
Metro starts sucessfully and the app is shown in the emulator like always
Please provide your exact Metro configuration and mention your Metro, node, yarn/npm version and operating system.
Windows 10
my package_json:
{
"name": "rnw_boilerplate",
"version": "0.1.0",
"private": true,
"dependencies": {
"formik": "^1.3.2",
"moment": "^2.23.0",
"react": "^16.5.1",
"react-art": "^16.5.1",
"react-dom": "^16.5.1",
"react-native": "^0.57.4",
"react-native-animatable": "^1.3.1",
"react-native-collapsible": "^1.4.0",
"react-native-elements": "^1.0.0-beta7",
"react-native-elevated-view": "0.0.6",
"react-native-fast-image": "^5.1.2",
"react-native-fbsdk": "^0.8.0",
"react-native-localization": "^2.0.3",
"react-native-modal-datetime-picker": "^6.0.0",
"react-native-modal-selector": "^1.0.1",
"react-native-orientation": "^3.1.3",
"react-native-picker-select": "^5.2.2",
"react-native-tab-view": "^1.3.2",
"react-native-vector-icons": "^6.1.0",
"react-native-web": "^0.9.0",
"react-navigation": "^2.18.2",
"react-navigation-backhandler": "^1.2.0",
"react-router-dom": "^4.3.1",
"react-router-modal": "^1.4.2",
"yup": "^0.26.6"
},
"devDependencies": {
"babel-jest": "^23.4.0",
"babel-preset-react-native": "^5",
"jest": "^23.4.1",
"react-scripts": "1.1.5",
"react-test-renderer": "^16.3.1"
},
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"start-ios": "react-native run-ios",
"start-android": "react-native run-android",
"start-web": "react-scripts start",
"build": "react-scripts build",
"test-web": "react-scripts test --env=jsdom",
"eject-web": "react-scripts eject"
}
}
Please let me know if you need more information.
EDIT: More information:
React Native Environment Info:
System:
OS: Windows 10
CPU: (4) x64 Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
Memory: 8.30 GB / 15.90 GB
Binaries:
Yarn: 1.10.1 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-173.4819257

Can anyone - not a bot - please tell me what more information is missing in the bug description?
Since it is such an blurry error description, I don't know how to continue providing more details.

I solved the issue by emptying the C:\Users<user>\AppData\Local\Temp folder.

it's not common to traverse dependencies. I also face that issue. @flolege Thanks for saving my time.

thankyou so much @flolege

Thanks @flolege  :)

I copy all the files instead of node module the paste that copied in new folder then i run "npm i" then
the project got run .

Thank @flolege

I solved the issue by emptying the C:\Users\AppData\Local\Temp folder.

thank you its really help me to

I solved the issue by emptying the C:\Users\AppData\Local\Temp folder.

Thank you. it's really helped me.

I solved the issue by deleting the C:\Users<USER>\AppData\Local\Temp\metro-cache folder


IronPython compatibility

(Original issue 611 created by None on 2010-11-09T21:52:15.448084+00:00)
The automatic module import trick at the end of pygments/lexers/init.py doesn't work in IronPython 2.7 Beta.
Because of that, when trying to run cmdline.py it will fail with the following error: <<<ImportError: cannot import TextLexer from pygments.lexers>>> at <<<cmdline.py:line 17>>>. This error can be fixed by importing TextLexer directly from pygments.lexers.special instead of from pygments.lexers.
With this change in cmdline.py, I was able to generate a HTML colorization of a Python file.

(Original comment by tshatch on 2010-12-21T07:30:42.428163+00:00)
There are a few other places in the code that rely on that trick working (like the tests).  I'd like to put this on hold until someone has IronPython available to test on.


Issue #89: Integrate the datastore into the backend

Related to #89
Closes #104
Closes #122

Since the connection is instantiated in the function, I don't know if I can rollback the changes. Otherwise if the test pass on the datastore it should mostly be fine here.

@snakedye @k-allagbe I have been working a bit on automating PR reviews for Cedille, my student club. We are starting to see somewhat decent results ... ish.
I tried to run this PR through the pipeline to see what we would get.
Let me know your first impressions tomorrow, which parts of the review are useful which parts are completely useless, etc.

PR Automated Review
Title: Enhancements to User Authentication and Form Management in Fertiscan Backend
Context:

This PR aims to enhance the Fertiscan backend by introducing user authentication endpoints (/login, /signup) and comprehensive form management capabilities (/forms endpoints for CRUD operations). It also includes improvements to logging, configuration management via environment variables, and updates to the Swagger documentation.

Key Changes:

Added /login and /signup endpoints for user authentication.
Added endpoints for creating, updating, deleting, and searching forms.
Improved logging configuration and management.
Introduced new environment variables for configuration management.
Updated Swagger documentation for the new endpoints and functionalities.
Enhanced error handling and added detailed logging.
Refactored code for better maintainability and readability.
Updated dependencies in requirements.txt.
Added new tests for authentication and form management functionalities.

Specific Comments:

Environment Variables:
 +FERTISCAN_STORAGE_URL=
 +FERTISCAN_SCHEMA=
 +FERTISCAN_DB_URL=

Comment: Consider adding default values or comments to explain the purpose of these environment variables for better clarity and maintainability. This helps new developers understand the required configurations.
Suggestion:
 +FERTISCAN_STORAGE_URL=  # URL for the storage service
 +FERTISCAN_SCHEMA=fertiscan_0.0.8  # Default schema version
 +FERTISCAN_DB_URL=  # Database connection URL

Error Handling in create_form Endpoint:
 +        return jsonify(error="Internal server error!"), HTTPStatus.INTERNAL_SERVER_ERROR

Comment: It's essential to avoid exposing internal error messages directly to the client. Consider logging the error and providing a generic error message to the client.
Suggestion:
 +        logger.error(f"Error occurred: {err}")
 +        logger.error("Traceback: " + traceback.format_exc())
 +        return jsonify(error="An unexpected error occurred. Please try again later."), HTTPStatus.INTERNAL_SERVER_ERROR

Password Management in signup Endpoint:
 +    _ = request.form.get("password")

Comment: Ensure that passwords are hashed and stored securely. This line should include password hashing before storing it in the database.
Suggestion:
 +    password = request.form.get("password")
 +    hashed_password = hash_password(password)  # Implement a secure hashing function
 +    # Store the hashed password in the database

Asynchronous Database Operations:
 +                user = asyncio.run(new_user(cursor, username, FERTISCAN_STORAGE_URL))

Comment: Using asyncio.run is appropriate, but ensure that the database driver supports asynchronous operations to avoid potential issues.
Suggestion: Verify and document the compatibility of the database driver with asynchronous operations.

Logging Configuration:
 +logging.basicConfig(
 +    filename=log_file_path,
 +    level=logging.INFO,
 +    force=True,
 +    format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
 +)

Comment: Consider setting different logging levels for development and production environments to avoid excessive logging in production.
Suggestion:
 +log_level = os.getenv("LOG_LEVEL", "INFO")
 +logging.basicConfig(
 +    filename=log_file_path,
 +    level=getattr(logging, log_level.upper(), logging.INFO),
 +    force=True,
 +    format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
 +)

Swagger Documentation:
 +  500:
 +    description: Internal Server Error
 +    schema:
 +      type: object
 +      properties:
 +        error:
 +          type: string
 +          example: "Internal server error"

Comment: Ensure that the Swagger documentation reflects all possible responses, including edge cases and specific error messages.
Suggestion: Review and update the Swagger documentation to include detailed descriptions of all potential error responses for each endpoint.

General Cautions:

Backward Compatibility: Ensure that the new changes do not break existing functionalities or data. Consider testing with existing data and users to verify compatibility.
Security Best Practices: Implement rate limiting on authentication endpoints to prevent brute-force attacks. Regularly update dependencies to patch known vulnerabilities.
Comprehensive Testing: Ensure that all new features and edge cases are covered by tests. Continuously integrate and run tests to validate changes.

Approval Recommendation:

[ ] Request Changes: Significant issues need to be addressed, particularly in error handling, password management, and logging configurations.
[x] Approve with Comments: Minor changes or clarifications are recommended.
[ ] Approve: The PR is ready for merge.


Update header file structure

New Pull Request Checklist

[ ] I have read and understood the CONTRIBUTING guide

[ ] I have read the Documentation

[ ] I have searched for a similar pull request in the project and found none

[ ] I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)

[ ] I have added the required tests to prove the fix/feature I am adding

[ ] I have updated the documentation (if necessary)

[ ] I have run the tests and they pass

[ ] I have run the lint and it passes (pod lib lint)

This merge request fixes / refers to the following issues: ...
Pull Request Description
This pr resolves issue of CocoaLumberjack.h not found
So header files are placed in Supporting Files folder which was added to the target exclude parameter.
SPM works fine I think, it somehow recognises the headers or create a modulemap of it's own.
I had issues regarding the headers and tried fixing them. The headers should be present in include folder. Please CMIIW
Please review andsuggest changes if any required.
Also there is no SwiftLogLevel.h in CocoaLumberjackSwift but it exists in CocoaLumberjackSwiftSupport.

@ffried please review this

I'll need to take a closer look at this. I know we purposely kept the Umbrella Header outside of SPMs reach (to let it generate its own).
Also, the SwiftSupport target is special. AFAIK it's a separate target in SPM, but included in CocoaLumberjackSwift in Xcode...

In either way, the Xcode project needs adjusting (and probably the pod spec as well).


Full website Pull request

In this project, I created a full website for the Math magicians app. Here are some of the changes:
        - Created a website consisting of 3 pages: Home, Calculator, and Quote.
        - Added my own styles to improve the look and feel.
        - For every page, I created a <Route>.
        - The navigation links for all 3 routes are displayed on each page.
        - Used [React Router](https://reactrouter.com/) to make the routes work.

Thank you for approving my project! 😊


🐛 [Realtime Database] The data that is uploaded repeats itself

before flutter 3 i was updating my data in firebase realtime database like this :
    dailydata.set({
          "name": SharedPref.user_id,
          "router_bssid": thisWifiObject!.bssId,
          "date": dailyWorkTime,
          "startingTime": startingTime,
          "endingTime": endingTime,
          "totalWorkTime": SharedPref.hours == 0 ? 0 : SharedPref.hours,
          "percent": SharedPref.percent == 0 ? 0.0 : SharedPref.percent,
          "connectedfrom": thisWifiObject!.macAddress,
        });

and it was updating the values inside the dailydata database without duplicateing the the refrence (dailydata) >but after version 3 it become duplicate the refrence multiple times like this ..
dailydata
dailydata
dailydata
dailydata
dailydata
dailydata
dailydata
dailydata
dailydata
dailydata
dailydata

as new refrence ...

@omer-rm
When you open an issue, try to use new issue template and fill out requested details so that we'll have enough details to work with. Currently, the details you provided isn't enough to debug further. Can you provide flutter doctor -v, plugin version along with a minimal complete reproducible code sample that shows the current behavior ?
Also, try to use the plugin's official example code and see if using it too, you get the same behavior or not.

i use update instade of set and now its working fine

Thanks for the update. Closing per above comment as resolved.


Crawling project with module-info.java fails

Crawling a project with a module-info.java file fails with the following error message:
[ERROR] Failed to execute goal com.exasol:error-code-crawler-maven-plugin:1.2.2:verify (default-cli)
on project small-json-files-test-fixture:
Execution default-cli of goal com.exasol:error-code-crawler-maven-plugin:1.2.2:verify failed:
Ambiguous package name detected.
If you believe the code you analyzed is correct, please file an issue
and reference https://github.com/INRIA/spoon/issues/4051.
Error details: Found 2 non-empty packages with name 'com.exasol.smalljsonfilesfixture'

The issue seems to be caused by the test code because deleting all test classes results in a different error message:
Execution default-cli of goal com.exasol:error-code-crawler-maven-plugin:1.2.1:verify failed: jakarta.json cannot be resolved to a module at $HOME/git/small-json-files-test-fixture/src/main/java/module-info.java:7

Workaround
Exclude tests from crawling:
            <plugin>
                <groupId>com.exasol</groupId>
                <artifactId>error-code-crawler-maven-plugin</artifactId>
                <configuration>
                    <sourcePaths>src/main/java</sourcePaths>
                </configuration>
            </plugin>

Example projects:

https://github.com/exasol/error-code-model-java
https://github.com/exasol/small-json-files-test-fixture

A possible solution could be using the MavenLauncher, see https://spoon.gforge.inria.fr/launcher.html

Proposal: Close ticket as "won't fix".
Rationale:

Exasol integration team usually delivers fat jars (e.g. adapters, or executable jars like bucketfs client) which do not benefit from Java-9 modules.

Using MavenLauncher is not possible because it does not allow configuring a custom source path and always uses the default Maven source folders.

Please note that module resolution still fails. This must be solved upstream in Spoon: https://github.com/INRIA/spoon/issues/5324


Power button behavior differs from SteamOS

Not sure how fixable it is, but within a Gamescope session, the sleep animation doesn't play, and instead the Deck immediately sleeps. In and of itself, this isn't a big deal, but it causes the following issues:

Big Picture's power menu cannot be triggered via the power button.
When attempting a hard shutdown, the Deck immediately sleeps, then immediately turns on again. If continuing to hold down the power button, a hard shutdown will then work five seconds after the Deck wakes up again (as indicated by the haptic chime).

Fixed in https://github.com/ublue-os/bazzite/commit/9969d3ff06f5f58c5e31af912a4284d4cd853859


Picker resets to saved date if enclosing component re renders

Environment
System:
  OS: macOS 10.14.4
  CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
  Memory: 98.02 MB / 16.00 GB
  Shell: 5.6.2 - /usr/local/bin/zsh
Binaries:
  Node: 10.15.0 - /usr/local/bin/node
  Yarn: 1.16.0 - /usr/local/bin/yarn
  npm: 6.4.1 - /usr/local/bin/npm
  Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
  iOS SDK:
    Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
IDEs:
  Android Studio: 3.1 AI-173.4697961
  Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
  react: 16.8.3 => 16.8.3
  react-native: 0.59.5 => 0.59.5
npmGlobalPackages:
  react-native-cli: 2.0.1

Platforms
iOS

iOS: 12.2
react-native-modal-datetime-picker: 7.4.0

Description
We have a component with a notification counter and a time picker. If a new notification arrives while the user is setting a time, the picker will scroll back to its original position.
Reproducible Demo
import { Text, View } from "react-native";
import TimePicker from "react-native-modal-datetime-picker";
export default class Example extends React.Component {
    constructor( props ) {
        super(props)
        this.state = {
            notificationCount: 0
        }
    }
    componentDidMount() {
        this.timerRef = setInterval(
            () => this.setState( state => ( {
                notificationCount: state.notificationCount + 1
            } ) ),
            2000
        )
    }
    componentWillUnmount() {
        clearInterval( this.timerRef )
    }
    render() {
        var baseDateFromProps =<PHONE_NUMBER>116;
        var derivedDate = new Date(baseDateFromProps + 10000);
        return (
            <View>
                <Text>you have {this.state.notificationCount} notifications</Text>
                <TimePicker
                    onConfirm={()=>{}}
                    onCancel={()=>{}}
                    isVisible={true}
                    date={ derivedDate }
                />
            </View>
        )
    }
}

Fix merged!


[Question]  How to customize messages sent from discord?

Checks

[X] I confirm that I have searched for existing issues / pull requests before reporting to avoid duplicate reporting.
[X] I confirm that I noted that if I don't follow the instructions, the issue may be closed directly.

Description
I checked the json file but couldn't find anything about changing message colors etc. in the config files. How do i change it?

Check https://blog.xujiayao.com/posts/4ba0a17a/#Setup-MC-Discord-Chat.
Especially this part and the part that follow.

Closing (no reply within 48h)


Fix link to CRA repository

For all PRs
[x] I read the Contribution Guide

Good catch, thanks @44px!


Cluster component  fail  -<EMAIL_ADDRESS>

Dependencies installed:
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"@types/jest": "^26.0.24",
"@types/node": "^12.20.16",
"@types/ol": "^6.5.3",
"@types/react": "^17.0.14",
"@types/react-dom": "^17.0.9",
"ol": "^6.5.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"rlayers": "^1.0.4",
"typescript": "^4.3.5",
"web-vitals": "^1.1.2"
Cluster component fails on load feojson file:
Line 20 - import earthquakes from "!!file-loader!./data/earthquakes.geojson";
Error:
src\Cluster.tsx
Line 20:1:  Unexpected '!' in '!!file-loader!./data/earthquakes.geojson'. Do not use import syntax to configure webpack loaders  import/no-webpack-loader-syntax

You have enabled import/no-webpack-loader-syntax which is an eslint plugin that forbids this syntax

Could you recommend a dependency configuration to be able to correctly test all the components. thanks in advance.

You can take the webpack/eslint/TSC configurations used (you can find them in node_modules/rlayers), but generally the project should be configuration-agnostic.
This particular way of including webpack modules cannot be removed from the examples, because it uses a special technique to display both the raw code used and the resulting output:
https://mmomtchev.medium.com/making-examples-displaying-code-along-its-output-with-webpack-a28dcf5439c6
You don't need to do this in your code - you can simply remove the "!" and use whatever means you have to load the GeoJSON file.


ref.invalidate() does not make another request to the server

Describe the bug
I am building a web service with Flutter && riverpod.
When ref.invalidate(PROVIDER) is called, I cannot see the new GET request to the server in the network tab
To Reproduce
onPressed: () async {
    final todoNotifier = ref.read(todoProvider.notifier);
    await todoNotifier.createTask({
        'title': title,
        'description': description,
    });
    ref.invalidate(todoProvider);
}

Expected behavior
The FutureProvider which gets invalidated does get updated with the update data from the database. however, I cannot see whether a new GET request has been made. Is this a bug? if not could you explain this behavior?

You'll have to produce a full example. As it is, I cannot know what's going on.
It could be that your provider isn't listened, so it doesn't rebuild naturally


add CSI_DRIVER_NAME_PREFIX to Rook config

The current practice is to prefix the names of CephCSI drivers with the namespace name of the deployed Rook operator. However, if Rook is deployed in a different namespace (e.g. "xyz"), then the CephCSI driver name will also be prefixed with "xyz". This is not desirable, as we always want to use "openshift-storage" as the prefix, regardless of the namespace where Rook is deployed. This PR sets the CSI_DRIVER_NAME_PREFIX to a static value, i.e. "openshift-storage" for all CephCSI drivers.

What is the impact on the upgrades? I think we also need to change provisoner names in the storage classes.

@iamniting there is no impact on upgrades as we don't deploy ODF in another namespace other than openshift-storage as of today. i missed that one, will update the PR

/test ocs-operator-bundle-e2e-aws

/test ocs-operator-bundle-e2e-aws

{"level":"error","ts":"2024-01-30T16:59:21Z","logger":"controllers.StorageCluster","msg":"error while create/update rook ceph rolebinding","Request.Namespace":"openshift-storage","Request.Name":"test-storagecluster","RoleBindingName":"rook-ceph-monitor","error":"clusterroles.rbac.authorization.k8s.io \"rook-ceph-monitor\" not found","stacktrace":"github.com/red-hat-storage/ocs-operator/v4/controllers/storagecluster.createRookCephClusterRolebindings\n\t/workspace/controllers/storagecluster/exporter.go:787\ngithub.com/red-hat-storage/ocs-operator/v4/controllers/storagecluster.(*StorageClusterReconciler).enableMetricsExporter\n\t/workspace/controllers/storagecluster/exporter.go:76\ngithub.com/red-hat-storage/ocs-operator/v4/controllers/storagecluster.(*StorageClusterReconciler).reconcilePhases\n\t/workspace/controllers/storagecluster/reconcile.go:589\ngithub.com/red-hat-storage/ocs-operator/v4/controllers/storagecluster.(*StorageClusterReconciler).Reconcile\n\t/workspace/controllers/storagecluster/reconcile.go:178\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:316\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227"}
{"level":"error","ts":"2024-01-30T16:59:21Z","logger":"controllers.StorageCluster","msg":"Failed to reconcile metrics exporter.","Request.Namespace":"openshift-storage","Request.Name":"test-storagecluster","error":"clusterroles.rbac.authorization.k8s.io \"rook-ceph-monitor\" not found","stacktrace":"github.com/red-hat-storage/ocs-operator/v4/controllers/storagecluster.(*StorageClusterReconciler).reconcilePhases\n\t/workspace/controllers/storagecluster/reconcile.go:590\ngithub.com/red-hat-storage/ocs-operator/v4/controllers/storagecluster.(*StorageClusterReconciler).Reconcile\n\t/workspace/controllers/storagecluster/reconcile.go:178\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:316\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227"}
{"level":"error","ts":"2024-01-30T16:59:21Z","msg":"Reconciler error","controller":"storagecluster","controllerGroup":"ocs.openshift.io","controllerKind":"StorageCluster","StorageCluster":{"name":"test-storagecluster","namespace":"openshift-storage"},"namespace":"openshift-storage","name":"test-storagecluster","reconcileID":"245f4aa2-52b1-480e-b5cb-c5435e4010e1","error":"clusterroles.rbac.authorization.k8s.io \"rook-ceph-monitor\" not found","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:329\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227"}

Above are the logs from Ci run https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/pr-logs/pull/red-hat-storage_ocs-operator/2429/pull-ci-red-hat-storage-ocs-operator-main-ocs-operator-bundle-e2e-aws/1752355302105157632/artifacts/ocs-operator-bundle-e2e-aws/gather-extra/artifacts/pods/openshift-storage_ocs-operator-7b667c9887-wh9tj_ocs-operator.log @umangachapagain @iamniting any idea what could be wrong, i don't think the above failure is due to this change, please let me know if it is :)

Above are the logs from Ci run https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/pr-logs/pull/red-hat-storage_ocs-operator/2429/pull-ci-red-hat-storage-ocs-operator-main-ocs-operator-bundle-e2e-aws/1752355302105157632/artifacts/ocs-operator-bundle-e2e-aws/gather-extra/artifacts/pods/openshift-storage_ocs-operator-7b667c9887-wh9tj_ocs-operator.log @umangachapagain @iamniting any idea what could be wrong, i don't think the above failure is due to this change, please let me know if it is :)

This is a flake due to another PR. It should be fixed now.


Versioning the SMIRNOFF specification

cc: https://github.com/open-forcefield-group/smarty/issues/175 https://github.com/open-forcefield-group/smarty/issues/42
One of the original ideas of splitting off SMIRNOFF was that we could version the specification and synchronize the GitHub releases. Since we're combining several tools in one repo now, we can avoid needing exact version synchronization, but we will still want to add a version number attribute and call the current version something. We could start with 0.1.5, since that was the last version of smarty that SMIRNOFF was included in.
I think we currently have a float version tag (https://github.com/open-forcefield-group/smarty/issues/42#issuecomment-258300796), but I don't see this in the SMIRNOFF spec.
Instead of x.y.z for the spec, I think we are OK with x.y:

X: update for major, API-breaking changes
Y: update every time we add a new feature that doesn't break the API

where the z of x.y.z can be reserved for code bugfix updates.

This sounds good to me. I never really did anything with the version tag in SMIRNOFF and certainly not enough that I felt it was nailed down enough to put it into the spec.

One thing I am unclear on (which I thought I'd noted somewhere, but now can't find) is how exactly we handle versioning of the SMIRNOFF spec and coupling of this to the parser. Specifically, I know how to make sure that openforcefield uses a particular version number, and we can have a particular version number specified in SMIRNOFF XML files. But what do we do from there? Does the forcefield parser insist that provided XML files match its current version, or does it maintain backwards compatibility? And if backwards compatibility, how do we achieve that?
This is not that important yet, as we haven't dramatically changed anything. But as soon as we start adding and using fancy virtual sites ( #41 ), etc., then this will become critical.

Here's how I envision this would work:
Suppose release A.B.C of openforcefield adds support for SMIRNOFF version X.Y.Z. The openforcefield release should be guaranteed to be compatible with all earlier versions of SMIRNOFF as well. If someone has an installation of openforcefield that isn't recent enough to support X.Y.Z, it will complain that you need to upgrade to a more recent version, and people would generally install the latest version.
The only problem would be if we want to really break the format in a manner that would make backward-compatible support hard and we don't want to bundle the older parsing support with new releases of openforcefield. If we thought this was likely, we should split off SMIRNOFF support and have it move at least in same major version as SMIRNOFF, so that the tools version 2.x may not work with SMIRNOFF 1.x.

That sounds like a good goal. Implementation-wise, how would you imagine achieving this? Will a given openforcefield install carry along with it a forcefield class for each prior version of the spec and switch to the appropriate one depending on the version it encounters?

If we are careful to make sure the forcefield spec is backwards-compatible (where earlier SMIRNOFF versions are a strict subset of later SMIRNOFF versions), we can simply keep adding to the ForceField class to handle these new additions to the spec while also processing older versions. We would check the version attribute of the XML file to make sure it is <= the current version we can handle, throwing an exception if it is > than the version we know how to parse. This is how OpenMM handles its own XML format now.
If we decide to completely refactor things to handle a newer version of the spec that ditches backwards compatibility, we could check the version number and call the older version of the parser for older versions. That's ugly, but we hope to avoid this scenario.

OK, that sounds reasonable to me and simpler than I was expecting.

Closing this in favor of #249.


Compile error with<EMAIL_ADDRESS>

What happened:
Error during compilation:
[root@master juicefs]# make
go version
go version go1.23.2 (Red Hat 1.23.2-1.el9) linux/amd64
go build -ldflags="-s -w -X github.com/juicedata/juicefs/pkg/version.revision=cd871d19 -X github.com/juicedata/juicefs/pkg/version.revisionDate=2024-08-30"  -o juicefs .
# github.com/grafana/pyroscope-go/godeltaprof/internal/pprof
../go/pkg/mod/github.com/grafana/pyroscope-go/godeltaprof@v0.1.6/internal/pprof/delta_mutex.go:30:20: undefined: runtime_cyclesPerSecond
../go/pkg/mod/github.com/grafana/pyroscope-go/godeltaprof@v0.1.6/internal/pprof/proto.go:320:8: undefined: runtime_expandFinalInlineFrame
make: *** [Makefile:24: juicefs] Error 1

Solution:
Bump up the version of godeltaprof in go.mod to 0.1.8
Environment:

JuiceFS version (use juicefs --version): 1.2.1+2024-08-30.cd871d19
OS (e.g cat /etc/os-release): CentOS Stream 9
Kernel (e.g. uname -a): 5.14.0-522.el9.x86_64

If you need support for Go 1.23, you can switch to the latest main branch.

Hey @jiefenghuang, I used the latest JuiceFS stable release (v1.2.1) and Go version from Centos repo. In the JuiceFS compilation documentation there is a dependency of Go 1.20+ and no mention that 1.23 is too high.
Nevertheless, I just leave the solution here in case anyone else trips on the same issue. Feel free to close it.
Cheers!


feat: write relocated memory and trace to binary file

We want a general way to take the finalized / relocated memory into a binary format that we can compare to the cairo rust implementation.

Let's handle the memory relocation and writing to a file in a separate issue


Audit ***DependsOn properties to not overwrite previous value

See for example PrepareResourceNamesDependsOn:
http://source.roslyn.io/#MSBuildFiles/C/ProgramFiles(x86)/MSBuild/14.0/bin_/amd64/Microsoft.Common.CurrentVersion.targets,2473
<PrepareResourceNamesDependsOn>
      AssignTargetPaths;
      SplitResourcesByCulture;
      CreateManifestResourceNames;
      CreateCustomManifestResourceNames
</PrepareResourceNamesDependsOn>

Suppose you have a .targets file that wants to insert its targets like this:
<PrepareResourceNamesDependsOn>
      GenerateRuleSourceFromXaml;
      $(PrepareResourceNamesDependsOn)
</PrepareResourceNamesDependsOn>

If you happen to include your .targets file after Microsoft.Common.targets, then it's going to work as expected: PrepareResourceNames will trigger your target (GenerateRuleSourceFromXaml in this case).
However if you accidentally include your .targets file before Microsoft.Common.targets, your value for the PrepareResourceNamesDependsOn will be silently overwritten with the default value, and your target will run at an arbitrary later time, failing mysteriously.
This is unfortunately probably one of the biggest fundamental problems of MSBuild, with its global mutable state and multiple passes where order of things influences multiple assignments and other things. The fact that a property can be assigned multiple times in different orders and the last one wins, while all previous silently lose, is a general problem that I don't know how to alleviate.
But in this particular case my suggestion is to audit all Microsoft targets and change the ***DependsOn properties to include its previous value, so that at least in this case the order of including the .targets file doesn't matter.

Or maybe all these properties should really be items, so that adding an item is more declarative and not so imperative. However that ship has sailed (you need to keep existing properties for backwards compatibility). However maybe introducing another extensibility point which is items may be interesting to consider.

This issue currently makes it impossible to use custom pre-compile targets with the new dotnet tools preview.
In particular, with 1.0.0-preview4-004233, running dotnet new -t lib creates the following .csproj:
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">

  <PropertyGroup>
    <TargetFramework>netstandard1.4</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="**\*.cs" />
    <EmbeddedResource Include="**\*.resx" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="NETStandard.Library" Version="1.6" />
  </ItemGroup>

</Project>

Trying to add targets to CoreCompileDependsOn as below:
  <PropertyGroup>
    <CoreCompileDependsOn>
      MyPreCompileTarget;
      $(CoreCompileDependsOn)
    </CoreCompileDependsOn>
  </PropertyGroup>

This fails because when building with dotnet build, the file Microsoft.Common.CurrentVersion.targets is automatically imported after the contents of the csproj, and https://github.com/Microsoft/msbuild/blob/9fb136160ab2f828e2350227dc06ac8cf1d1695d/src/XMakeTasks/Microsoft.CSharp.CurrentVersion.targets#L165 overwrites the definition.
I'm currently working around the issue by manually patching the file:
diff --git a/Microsoft.CSharp.CurrentVersion.targets b/Microsoft.CSharp.CurrentVersion.targets
index 705954a..f5f5a16 100644
--- a/Microsoft.CSharp.CurrentVersion.targets
+++ b/Microsoft.CSharp.CurrentVersion.targets
@@ -162,7 +162,7 @@ Copyright (C) Microsoft Corporation. All rights reserved.
     </ItemGroup>

     <PropertyGroup>
-        <CoreCompileDependsOn>_ComputeNonExistentFileProperty;ResolveCodeAnalysisRuleSet</CoreCompileDependsOn>
+        <CoreCompileDependsOn>_ComputeNonExistentFileProperty;ResolveCodeAnalysisRuleSet;$(CoreCompileDependsOn)</CoreCompileDependsOn>
         <ExportWinMDFile Condition="'$(ExportWinMDFile)' == '' and '$(OutputType)' == 'WinMDObj'">true</ExportWinMDFile>
     </PropertyGroup>

But it would be super cool to get this into the next preview release! I'm taking a look at migrating some of our projects to .NET Core and this is one of the biggest blocking issues right now.

The design we have settled on is allowing users to remove the Sdk attribute from the project and specify the location of the import instead.  The project-level Sdk attribute implicitly adds imports at the top and bottom which does not allow users to control them.  In the next preview, you'll be able to have a project that looks like this:
<Project ToolsVersion="15.0">

  <Import Project="Sdk\Sdk.props" Sdk="Microsoft.NET.Sdk" />

  <PropertyGroup>
    <TargetFramework>netstandard1.4</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="**\*.cs" />
    <EmbeddedResource Include="**\*.resx" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="NETStandard.Library" Version="1.6" />
  </ItemGroup>

  <Import Project="Sdk\Sdk.targets" Sdk="Microsoft.NET.Sdk" />

</Project>

This would allow you to define ItemGroups and PropertyGroups before/after any of the imports.  The removal of the project-level Sdk attribute and addition of the <Import /> will be a manual process.  We think a majority of users will stick with the default and only power users will want full control.
Does this design sound good?

The design would allow someone to work around the issue here, but it would be better to also fix the issue with our definition of CoreCompileDependsOn and any other similar properties.

@jeffkl this is good, but it feels orthogonal to the problem I described above. Keep in mind that the problem I faced was with the old projects where I had full control over the order of imports. Precisely that is the issue here: by having *DependsOn not recursively mention itself we depend on the order of inclusion.
If all *DependsOn properties are augmented to mention themselves we can lessen the dependency on the order of imports.
Of course at least having the ability to control import order with SDKs is a welcome change.

Okay sorry I misunderstood.  I agree, all *DependsOn should be additive and not clear the list.

CoreCompileDependsOn

This one in particular is quite important.
Also, WRT to the ship having sailed to fix this, I think the following potentially trivial change on the common targets would completely solve the issue moving forward:
<CoreCompile DependsOnTargets="$(CoreCompileDependsOn);@(CoreCompileDependsOn)" ...
</>

Maybe all targets with a `*DependsOn` should also append `@(*DependsOn)` by convention?

I second this.
We append and prepend some custom tasks on CoreCompileDependsOn and CompileDependsOn. Doesn't work on net standard projects

The workaround for me is to use BeforeTargets="BeforeCompile" and AfterTargets="AfterCompile"

I ran into this again:
https://github.com/Microsoft/msbuild/blob/50639058f947ef3b21075cb110f06913124d2942/src/Tasks/Microsoft.CSharp.CurrentVersion.targets#L165
This was overwriting whatever value CoreCompileDependsOn was set to previously in the evaluation process.


Exclude the Aurora cluster reader and writer for the check "Check if RDS instances are protected by a backup plan"

Steps to Reproduce
This check Check if RDS instances are protected by a backup plan should exclude readers and writers and controls only backup plan for the Aurora cluster
Just run the prowler with check rds_instance_protected_by_backup_plan
Expected behavior
No findings for Aurora cluster reader and writer
Actual Result with Screenshots or Logs

How did you install Prowler?
From pip package (pip install prowler)
Environment Resource
Workstation, EC2 instance
OS used
Windows, Amazon Linux
Prowler version
Prowler 4.4.0 (latest is 4.4.1, upgrade for the latest features)
Pip version
pip 24.2 (python 3.12)
Context
No response

Hi @serhii-ciq, thanks for letting us know this issue. What types of RDS instance are you expecting Prowler to flag?


Expression Ln 181 - throws StringIndexOutOfBoundsException

Extracted the TestExpression class out as Junit,, testValids throws this error

It is failing for "-foo()" in the goodValues

I somehow missed this one. May be it was not assigned to me or would have gone to my junk folder.
Issue fixed and committed.


tests: remove ops.testing patch that is no longer required

Issue
The tests currently patch a private class in ops.testing, which will no longer work in an upcoming version of ops (no compatibility guarantees are provided for private objects).
Solution
It seems like the patching is no longer required with the way that network_get is handled with Harness now, so it's removed. In a small number of cases a specific network is added to the Harness instead.
Context
ops?
Testing Instructions
Run the unit tests.
Upgrade Notes
N/A

poke @lucabello

poke @simskij


How do you include Ports?

From: https://guide.elm-lang.org/interop/javascript.html
The documentation states:

Assuming you know how to embed Elm in HTML, let's start with the JavaScript code we would add to react to messages coming through ports:

One way to read this would be that you should include your JavaScript with a <script> tag. I'm not sure if that's the actual right way, and what other possibility might be open. Ideally this documentation covers both the content of port and Elm code, but also where it goes and explicitly how it is included: using implication here is confusing.

Can you open this on https://github.com/evancz/guide.elm-lang.org/


Multi-file deployment

Closes #2131
Closes #2100

This will be available at:

https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/2131-multi-file-deployment/camunda-modeler-2131-multi-file-deployment-linux-x64.tar.gz
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/2131-multi-file-deployment/camunda-modeler-2131-multi-file-deployment-mac.dmg
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/2131-multi-file-deployment/camunda-modeler-2131-multi-file-deployment-mac.zip
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/2131-multi-file-deployment/camunda-modeler-2131-multi-file-deployment-win-ia32.zip
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/2131-multi-file-deployment/camunda-modeler-2131-multi-file-deployment-win-x64.zip

I've found an issue with the start instance tool. Currently, the tool always deploys the diagram before an instance is started. What is more, it re-uses the saved configuration. The result is that if you deploy the diagram successfully, all of the following "Start process instance" clicks will result in a diagram deployed without the attachments.

https://cawemo.com/share/4d5801f0-77d2-4ca2-a72f-e349c0c812b0

I can see some potential solutions to the issue:

disallow quick start instance as it breaks the flow (so deployment modal is always opened), or
save the file paths and re-deploy with the previous attachments (but we decided not to do so)

Or: save at least that we deployed with multiple files, if that's the case, always open the deployment dialog.

Or: save at least that we deployed with multiple files, if that's the case, always open the deployment dialog.

What if I added a User Task and want to start a new instance?

save the file paths and re-deploy with the previous attachments (but we decided not to do so)

Something along this line is what we want to end up mid term, right?

Maybe, but what if you add an element which requires additional attachment? Unless we can detect that, re-using the previous attachments might cause confusion.

Hi, from my developer point of view, you should never deploy again before starting an instance.
I think that deploying and starting are two separates tasks. Often I want to start a second (and third, ...) instance of the same process model.
Please save the configuration of both dialogues separately and handle them separately.

I agree with @ingorichtsmeier  - also from the user point of view, these are two separated tasks. And I was very surprised to learn that start instance always causes a deployment, even if a deployment already exists and no changes were made. We do not communicate this hidden action in the UI.
This is comparable with the scenario where a user wants to deploy a diagram but it is not yet saved. So the user is pointed to the save action before. We could do the same if a user tries to start a new instance but has not yet deployed the changed state - so, point him/her to the deployment action.

Hi @andreasgeier,

And I was very surprised to learn that start instance always causes a deployment, even if a deployment already exists and no changes were made. We do not communicate this hidden action in the UI.

The process engine will swallow the deployment and didn't create a new version if nothing had changed in the XML. I assume that for the most times nobody recognized the deployment.

The process engine will swallow the deployment and didn't create a new version if nothing had changed in the XML. I assume that for the most times nobody recognized the deployment.

Understood. But in the new context of forms deployment, we also must ensure that deployed forms (deployed as additional files alongside the BPMN) always are in the same deployment, in any scenario (deploy + run).

Note for reviewers: I've triggered a build on demand so the links on top of the issue should be up to date soon.

I did a small run of test-cases after @marstamm highlighted that we need to be careful with setting enable-dubplicate-filtering and deploy-changed-only (also keeping in mind that different distributions of camunda have different default values).
I used Camunda Spring Boot distro of Camunda Platform 7.15.0.
The testCase includes a simple bpmn with a userTask referencing a form. I tested whether the form was found by starting a process instance.

Test Case
Result

(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable
:heavy_check_mark:

(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable, (4) Change label of a task, (5) Start another instance via Modeler, (5) Check that form is displayable
:boom: Test fails at step (5). Form cannot be found in the deployment

For the rest-API, the default values are the same for all distributions. Only difference for the distros is how Auto-Deployments are handled. If the deployment with the REST-API works on run, it will work on all other AS as well.

Thanks Martin! I corrected the comment.
So as discussed with Martin: probably we can solve this by setting enable-duplicate-filtering to true and not setting deploy-only-changed.

Thanks for your input @marstamm and @MaxTru. Let's test how it behaves with enable-dubplicate-filtering. I didn't know this flag but it sounds more appropriate. If I understand it correctly, we will end up with more versions of the process, but on the other hand these are the versions that we were missing in the first place.

Follow https://travis-ci.com/github/camunda/camunda-modeler/builds/220470572 for new build ;)

Links at the top should be up to date now.

Second round of integration test
I used Camunda Spring Boot distro of Camunda Platform 7.15.0.
The testCase includes a simple bpmn with a userTask referencing a form. I tested whether the form was found by starting a process instance.

Test Case
Result

(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable
:heavy_check_mark:

(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable, (4) Change label of a task, (5) Start another instance via Modeler, (6) Check that form is displayable
:boom: Test fails at step (6). Form cannot be found in the deployment

Unfortunetly the same result as before :question:
The Deployment Rest Call looks good to me:

But the deployment does not contain the file:

Hence, the result is the same as before:

Integration Test Round 2
I used Camunda Spring Boot distro of Camunda Platform 7.15.0.
The testCase includes a simple bpmn with a userTask referencing a form. I tested whether the form was found by starting a process instance.

Test Case
Result

(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable
:heavy_check_mark:

(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable, (4) Change label of a task, (5) Start another instance via Modeler, (6) Check that form is displayable
:heavy_check_mark:

(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable, (4) Change label of a task, (5) Manually redeploy via Deploy tool in the Modeler, (6) Start another instance via Modeler, (7) Check that form is displayable
:heavy_check_mark:

(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable, (4) Change label of a form component in the form json, (5) Start another instance via Modeler, (6) Check that form is displayable and up-to-date
:boom: The form is displayabled but it still shows the old label (failed at step (6)

@barmac do we check whether the form json was updated or not?
It could also be, that this is an error on platform side with the new form feature, but let's check the start instance logic first.

(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable, (4) Change label of a form component in the form json, (5) Start another instance via Modeler, (6) Check that form is displayable and up-to-date

I tested that with an embedded form and in my case new tasks had the up-to-date template. The old tasks had templates from their respective deployments.

https://user-images.githubusercontent.com/28307541/111628007-032b4400-87f0-11eb-9ce2-a115a4eb38c5.mov

Update: I had an error in my testing routine. It in fact is working. Integration testing :heavy_check_mark:

No.
Test Case
Result

1.
(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable
:heavy_check_mark:

2.
(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable, (4) Change label of a task, (5) Start another instance via Modeler, (6) Check that form is displayable
:heavy_check_mark:

3.
(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable, (4) Change label of a task, (5) Manually redeploy via Deploy tool in the Modeler, (6) Start another instance via Modeler, (7) Check that form is displayable
:heavy_check_mark:

4.
(1) Deploy bpmn+form, (2) Start Instance via Modeler, (3) Check that form is displayable, (4) Change label of a form component in the form json, (5) Start another instance via Modeler, (6) Check that form is displayable and up-to-date
:heavy_check_mark:

Is this ready for code review?

Yes, it is.


APT whitelist request for LLVM / Clang / Extras 6.0

issue title is important: https://github.com/travis-ci/apt-package-whitelist/blob/master/README.md#package-approval-process
edit it or this won't have any effect.

dup #4279. Thanks @Zialus. This should pull in llvm dependencies. Not sure which llvm extras where meant in this context however be explicit with the correct issue title and it will happen.


Cannot build with ARM GCC 9.2.1

I saw the RFC thread posted on Reddit and got really excited for hopefully a great JSON library that works for the embedded world.
I'm attempting to build with C++17 on ARM with the ARM GCC 9.2.1 toolchain. For my testing, I'm using ARM Mbed OS 5.15.5, but I don't think the OS is playing a part in my issues.
I'm starting off with a simple single-file cpp that includes boost/json, then in main() prints out Hello World and exits. But compilation fails.
I'm defining BOOST_JSON_STANDALONE, and I cannot/do not use exceptions.
My first error was:
Compile [  0.2%]: src.cpp
[Error] memory_resource.hpp@21,5: #error Support for std::memory_resource is required to use Boost.JSON standalone

which is from:
# if __has_include(<memory_resource>)
#  include <memory_resource>
#  if __cpp_lib_memory_resource < 201603L
#   error Support for std::memory_resource is required to use Boost.JSON standalone
#  endif
# else
#  error Header <memory_resource> is required to use Boost.JSON standalone
# endif

In the ARM GCC 9.2.1 memory_resource, it has:
namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace pmr
{
#ifdef _GLIBCXX_HAS_GTHREADS
  // Header and all contents are present.
# define __cpp_lib_memory_resource 201603
#else
  // The pmr::synchronized_pool_resource type is missing.
# define __cpp_lib_memory_resource 1
#endif

So the __cpp_lib_memory_resource  is set to 1 and not 201603, but I do have memory_resource. I think this might be a bug.
If I modify json/memory_resource.hpp to:
# if __has_include(<memory_resource>)
#  include <memory_resource>
# endif

Then the next error is related to exceptions:
[ERROR] In file included from ./lib/json/include/boost/json/src.hpp:30,
                 from ./lib/json/src/src.cpp:11:
./lib/json/include/boost/json/impl/array.ipp: In member function 'void boost::json::standalone::array::shrink_to_fit()':
./lib/json/include/boost/json/impl/array.ipp:282:11: error: exception handling disabled, use '-fexceptions' to enable
  282 |     catch(...)

Looking at json/impl/array.ipp I saw the source of the error:
#ifndef BOOST_NO_EXCEPTIONS
    }
    catch(...)
    {
        // eat the exception
        return;
    }
#endif

So then I defined BOOST_NO_EXCEPTIONS and saw this compilation error:
Compile [  0.2%]: src.cpp
[Error] except.ipp@24,11: exception handling disabled, use '-fexceptions' to enable
[Warning] except.ipp@25,1: 'noreturn' function does return
[Warning] except.ipp@25,1: 'noreturn' function does return
[Warning] except.ipp@25,1: 'noreturn' function does return
[Warning] except.ipp@25,1: 'noreturn' function does return
[Warning] except.ipp@25,1: 'noreturn' function does return
[ERROR] In file included from ./lib/json/include/boost/json/src.hpp:48,
                 from ./lib/json/src/src.cpp:11:
./lib/json/include/boost/json/detail/impl/except.ipp: In instantiation of 'void boost::throw_exception(E, const boost::json::standalone::detail::source_location&) [with E = std::bad_alloc]':
./lib/json/include/boost/json/detail/impl/except.ipp:37:30:   required from here
./lib/json/include/boost/json/detail/impl/except.ipp:24:11: error: exception handling disabled, use '-fexceptions' to enable
   24 |     throw e;
      |           ^
./lib/json/include/boost/json/detail/impl/except.ipp: In function 'void boost::throw_exception(E, const boost::json::standalone::detail::source_location&) [with E = std::bad_alloc]':
./lib/json/include/boost/json/detail/impl/except.ipp:25:1: warning: 'noreturn' function does return
   25 | }
      | ^
./lib/json/include/boost/json/detail/impl/except.ipp: In function 'void boost::throw_exception(E, const boost::json::standalone::detail::source_location&) [with E = std::length_error]':
./lib/json/include/boost/json/detail/impl/except.ipp:25:1: warning: 'noreturn' function does return
./lib/json/include/boost/json/detail/impl/except.ipp: In function 'void boost::throw_exception(E, const boost::json::standalone::detail::source_location&) [with E = std::invalid_argument]':
./lib/json/include/boost/json/detail/impl/except.ipp:25:1: warning: 'noreturn' function does return
./lib/json/include/boost/json/detail/impl/except.ipp: In function 'void boost::throw_exception(E, const boost::json::standalone::detail::source_location&) [with E = std::out_of_range]':
./lib/json/include/boost/json/detail/impl/except.ipp:25:1: warning: 'noreturn' function does return
./lib/json/include/boost/json/detail/impl/except.ipp: In function 'void boost::throw_exception(E, const boost::json::standalone::detail::source_location&) [with E = std::system_error]':
./lib/json/include/boost/json/detail/impl/except.ipp:25:1: warning: 'noreturn' function does return

and exception.ipp  says:
#ifdef BOOST_JSON_STANDALONE
namespace boost {
template<class E>
void
BOOST_NORETURN
throw_exception(E e,
    json::detail::source_location const&)
{
    throw e;
}
} // boost
#endif

which shows a throw, even though my exceptions are turned off. I think this might be a bug.
I'm still very interested in trying out Boost.JSON. Please do let me know if I can do anything to help, or provide for information. Thank you for your work!

Well, we don't test with ARM GCC 9.2.1 (or any ARM for that matter) so.... growing pains are expected :) Your report is already pretty good, and I will get cracking on it. But what would really make sure that this architecture is well-supported is for you to add a Travis target to the yml file which targets ARM:
https://github.com/CPPAlliance/json/blob/develop/.travis.yml

I think you should try the Boost-flavored JSON, if anything to see what happens. In other words do not define BOOST_JSON_STANDALONE.

I'll give both of these a whirl tomorrow. Thanks for the tips!

I'm working on adding an ARM target to Travis and fixing the issues you raised:
https://github.com/CPPAlliance/json/pull/286
Consider participating in the Boost formal review of the library!

These changes add an ARM target to Travis: https://github.com/CPPAlliance/json/pull/286

When compiling without defining BOOST_JSON_STANDALONE, I get the following compilation error:
Compile [  0.2%]: src.cpp
[Fatal Error] config.hpp@14,11: boost/config.hpp: No such file or directory
[ERROR] In file included from ./lib/json/include/boost/json/src.hpp:24,
                 from ./lib/json/src/src.cpp:11:
./lib/json/include/boost/json/detail/config.hpp:14:11: fatal error: boost/config.hpp: No such file or directory
   14 | # include <boost/config.hpp>
      |           ^~~~~~~~~~~~~~~~~~
compilation terminated.

I'm guessing normal Boost contains this config.hpp, and since I don't have any other parts of Boost, the config.hpp cannot be found.
This was tested against commit a25e988c86a0993178658b35f6d1db31adc11124.

I checked out commit 34186c5b2b9f84b4331cb6200cebab08140a998f from the #286 PR and did successfully build! Both BOOST_JSON_STANDALONE and BOOST_NO_EXCEPTIONS were defined too.

There's a test failure having to do with detecting invalid utf-16 escape sequences, but other than that - things should work for you. I'd like to know your experiences please keep us up-to-date!

Ah darn, I think I spoke too soon...
I added more code to my example that called boost::json::value_from() then called boost::json::to_string() and got link errors for undefined references to exception-related stuffs:
Link: json
/home/wellhead/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: BUILD/NRF52840_DK/GCC_ARM-MY_DEVELOP/lib/json/src/src.o: in function `boost::json::standalone::detail::throw_length_error(char const*, boost::json::standalone::detail::source_location const&)':
/home/wellhead/git/wellaware/json/./lib/json/include/boost/json/basic_parser.hpp:1256: undefined reference to `boost::json::standalone::throw_exception(std::exception const&)'
collect2: error: ld returned 1 exit status
[ERROR] /home/wellhead/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: BUILD/NRF52840_DK/GCC_ARM-MY_DEVELOP/lib/json/src/src.o: in function `boost::json::standalone::detail::throw_length_error(char const*, boost::json::standalone::detail::source_location const&)':
/home/wellhead/git/wellaware/json/./lib/json/include/boost/json/basic_parser.hpp:1256: undefined reference to `boost::json::standalone::throw_exception(std::exception const&)'
collect2: error: ld returned 1 exit status

When you define BOOST_NO_EXCEPTIONS in standalone, you are responsible for providing the throw_exception function:
https://github.com/CPPAlliance/json/blob/a25e988c86a0993178658b35f6d1db31adc11124/include/boost/json/detail/impl/except.ipp#L28
(However, I'm noticing another bug, throw_exception should be in boost:: not boost::json::standalone::, I will fix that shortly)

When you define BOOST_NO_EXCEPTIONS in standalone, you are responsible for providing the throw_exception function:

Ah, thank you for the pointer! Defining throw_exception() fixed my build and my example works!


[TIR] parallel pimitive

Hello,
we try to implement multi core behavior in TensorIR schedule however following error occures using parallel primitive in the loop dimension.
Expected behavior
Splitting loops over multiple compute units(Cores) parallel.
Actual behavior
Error message: The queried subtree root tir.For#0 in SRef tree does not have compact dataflow, because its child block tir.Block#1 on SRef tree is neither a local complete block nor a local reduction block.
Environment
tvm - 0.9.dev0
Steps to reproduce
@tvm.script.ir_module
class Convolution:
@T.prim_func
def main(inpt: T.handle, kernl: T.handle, reslt: T.handle):
T.func_attr({"global_symbol": "main", "tir.noalias": True})
    input = T.match_buffer(inpt, (10, 3, 128, 128),  "float32")
    kernel = T.match_buffer(kernl, (2, 3, 3, 3), "float32")
    result = T.match_buffer(reslt, (10, 2, 124, 124), "float32")
    result_compute = T.match_buffer(reslt, (10, 2, 124, 124), "float32")

    for b, o, h, w in T.grid(10, 2, 124, 124):
        for kc, kh, kw in T.grid(3, 3, 3):
            with T.block("compute"):
                b, o, h, w, kc, kh, kw = T.axis.remap("RRRRRRR", [b, o, h, w, kc, kh, kw])
                result_compute[b, o, h, w] += input[b, kc, h+kh, w+kw] * kernel[o, kc, kh, kw]

    for b, o, h, w in T.grid(10, 2, 124, 124):
        with T.block("result"):
           vb = T.axis.reduce(10, b)
           vc_o = T.axis.reduce(2, o)
           vh = T.axis.reduce(124, h)
           vw = T.axis.reduce(124, w)
           result[vb, vc_o, vh, vw] = result_compute[vb, vc_o, vh, vw]

written_ir = Convolution
sch = tvm.tir.Schedule(written_ir)
b_i, o_i, h_i, w_I, kc_i, kh_i, kw_i = sch.get_loops(sch.get_block("compute"))
sch.parallel(b_i)
Best regards
cc @Hzfengsy @junrushao @quic-sanirudh @shingjan

Hi @uslumt , The reason you cannot parallelize the loop is because the compute block is not a reduction block.
A reduction block should have an init block indicating how to initialize the output buffer, in your case, to make compute a reduction block, you need to write a T.init inside the block body:
    for b, o, h, w, kc, kh, kw in T.grid(10, 2, 124, 124, 3, 3, 3):
            with T.block("compute"):
                vb, vo, vh, vw, vkc, vkh, vkw = T.axis.remap("SSSSRRR", [b, o, h, w, kc, kh, kw])
                with T.init():
                      result_compute[vb, vo, vh, vw] = T.float32(0)
                result_compute[vb, vo, vh, vw] = result_compute[vb, vo, vh, vw] + input[vb, vkc, vh+vkh, vw+vkw] * kernel[vo, vkc, vkh, vkw]

Another issue with your program is you seem annotate all block axes as "reduction", which is wrong because in compute block, b, o, h, w should be "spatial" axes. If you don't understand how to differentiate spatial/reduce axis, you could go through this tutorial first: https://mlc.ai/chapter_tensor_program/case_study.html.


Quick Question RE Column Breaks

Hi @evanbergeron: Please excuse me if this is an easy fix, I'm a LaTeX noob, as in I've spent only spent a few hours using it.
How do I use a column break in your template? I'm trying to use a column break command, and it seems to break the render.
The command i am using is as follows:
\vfill\null
\columnbreak
It seems the \columnbreak command breaks the render, and only renders the content after it is placed, not the content on the page before it. The \vfill\null doesn't seem to do anything.
Is there a specific command to use in your template to render a column break, so that the text can be placed in the next column?
Kind regards,
RJBPrime

Have you tried \vfill\break?

That allows it to break onto the second column. Thank you for that. My next question is, how do I force it to go down the page? I've added the relevant parts to this post, can someone show me what I'm doing wrong? dndtable9col is a table I modified, based on dndtable, as defined in the dndtable.sty. I'm trying to get a vertical space between the bottom of that table and the section beginning "The two main kinds of Cait Sith..." , so that that starts below the table. So far, it doesn't want to play nice.
dndtable9col is the basic dndtable, copied, renamed, and has 9 X's instead of 2.
TroublingCode.txt
Kind Regards,
RJBPrime

Welcome! There are a couple resources you should know about. www.sharelatex.com has a good, quick overview of the basic commands of LaTeX, and there are many others out there. One of my favorite resources for solving typesetting problems is tex.stackexchange.com.
As for the actual error you are encountering, could you please post a Minimum Working Example (MWE) that demonstrates the problem? This allows us to see all the other factors that influence what is going on. You can copy and paste it in your post by using a code block which is defined in MarkDown by 3 backticks (`) at the top and another 3 at the bottom of the block, like this:
\includepackage[somepackage]
\begin{document}
code which demonstrates the problem
\end{document}

The following code is what I have added to dndtable.sty. It renders fine. Its the second codeblock I'm having trouble with.
% Table Environment
\NewDocumentEnvironment{dndtable9col}{O{XXXXXXXXX} O{tablecolor}}{%
    \par\vspace*{8pt}
    \noindent
    \dnd@TableBodyFont
    \rowcolors{1}{}{#2}
    \tabularx{\linewidth}{#1}
  }{%
    \endtabularx
    \vspace{8pt plus 1pt}
    \noindent
  }

The following code is the section I'm having trouble with. I'm trying to get the code after the vfill break vspace to appear lower on the page, so it doesn't overwrite the table.
\chapter{New Races}
\begin{dndtable9col}[lcccccccl][DmgCoral]
\textbf{Race} & \textbf{STR} &  \textbf{DEX} & \textbf{CON} & \textbf{INT} &  \textbf{WIS} & \textbf{CHA} & \textbf{Speed} & \textbf{Traits} \
Cait Sith & - & +2 & - & - & - & +1 & 25ft & \parbox[t]{9cm}{Lucky, Brave, Cait Sith Nimbleness} \
\quad \textit{Pooka}  & - & - & - & - & - & - & \textit{+5ft} & \parbox[t]{9cm}{Fleet of Foot} \
\quad \textit{Moogle} & - & - & - & - & - & - & - &  \parbox[t]{9cm}{Flight 40ft} \
Burmecian  & - & +2 & - & - & - & - & 40ft & \parbox[t]{9cm}{City Rat, Daughters of War, I Have An Ear For This} \
\quad \textit{Burm}  & - & - & - & - & - & +1 & - & \parbox[t]{9cm}{After Your Heart, Battle Charm} \
\quad \textit{Cleyra} & - & - & - & - & +1 & - & - & \parbox[t]{9cm}{Dance of Politicians, Relaxed Recovery} \
Mul & +2 & - & +1 & - & - & - & 30ft & \parbox[t]{9cm}{Darkvision 30ft, Keen Senses, Dwarven Toughness, Inexhaustible, Relentless Endurance, Untiring} \
Gith & - & +2 & - & - & - & - & 35ft & \parbox[t]{9cm}{Enhanced Jump, Psionics, Danger Sense, Warrior Culture} \
\quad \textit{Githyanki}  & +1 & - & - & - & - & - & - & \parbox[t]{9cm}{Enhanced Psionics (Wis), Toned Build, Warmonger Spirit} \
\quad \textit{Githzerai} & - & - & - & - & +1 & - & - & \parbox[t]{9cm}{Enhanced Psionics (Wis), Flexible Body, Trained Mind} \
\end{dndtable9col}
\section{Cait Sith}
\textit{"These mysterious beings tend to flock around humans, closer to man than beast. They communicate via their Mognet communications network, and their distinctive cry of 'Kupo!' and fluffy appearance endear them to all."}
Cait Sith are a pair of family clans, that work together to restore their heritage via their separate means. The Pooka are the Warrior clan, whereas the Moogle are the Support clan. Pooka make nimble Fighters, Rogues or Rangers, whereas Moogle generally become Engineers, as they are able to deftly evade the explosions of their mishaps.
\header{Traits}
\begin{itemize}
\item \textbf{Ability modifiers:} +2 Dex, +1 Cha
\item \textbf{Age:} A Cait Sith reaches adulthood at the age of 20 and generally lives into the middle of his or her second century.
\item \textbf{Alignment:} Most Cait Sith are lawful good. As a rule, they are good-hearted and kind, hate to see others in pain, and have no tolerance for oppression. They are also very orderly and traditional, leaning heavily on the support of their community and the comfort of their old ways.
\item \textbf{Size:} Cait Sith average about 3 feet tall and weigh about 40 pounds. Your size is Small.
\item \textbf{Speed:} Your base walking speed is 25 feet.
\item \textbf{Lucky:} When you roll a 1 on an attack roll, ability check, or saving throw, you can reroll the die and must use the new roll.
\item \textbf{Brave:} You have advantage on saving throws against being frightened.
\item \textbf{Cait Sith Nimbleness:} You can move through the space of any creature that is of a size larger than yours.
\item \textbf{Languages:} You can speak, read, and write Common and Cait. The Cait language isn't secret, but Cait Sith are loath to share it with others. They write very little, so they don't have a rich body of literature. Their oral tradition, however, is very strong. Almost all Cait Sith speak Common to converse with the people in whose lands they dwell or through which they are traveling.
\end{itemize}
\vfill\break
\vspace{6cm}
The two main kinds of Cait Sith, Pooka and Moogle, are more like closely related families than true sub-races. Choose one of these sub-races.
\section{Sub-races}
\subsection{Pooka}
\begin{itemize}
\item \textbf{Fleet of Foot:} Your base walking speed increases to 30 feet.
\end{itemize}
\subsection{Moogle}
\begin{itemize}
\item \textbf{Flight:} You have a flying speed of 40 feet. To use this speed, you can’t be wearing medium or heavy armour.
\end{itemize}

So the first thing is that you do not need to define the dndtable9col environment. As best as I can tell, there is no difference in the two environments except for the default number of columns. The dndtable environment will handle any number of columns. The default is [XX], or two automatically adjusted columns, but you can have it display 9 columns. Change the environment call to dndtable, and it will work.
As for your actual problem. LaTeX builds sections of the document, figures out how much space they need, and reserves that space. However that reservation of space is not always how we think of reserving space. In this case, you have set up a full width table within a two column environment. LaTeX sees this as using the vertical width in the first column only. It then starts the second column at the top of the page and overwrites the right half of the table.
If this table was on any other page than the start of a chapter, I would say to use the figure* environment. Figure environments float their contents to the next available space, and the starred environment will take up the full width of the page in \twocolumn mode. you can write
\begin{figure*}[t]
Stuff
\end{figure*}

and it will float Stuff to the top of the next page, take the full width of the page, and the columns will start again under it. However there's the rub. because it has to build its contents and the compiler does not do that until it hits the environment, it may have already started typesetting the current page. So it has to put the figure* environment on a new page. The problem is that \chapter flushes all typesetting and starts a new page. So the figure* gets dumped into the middle of its own page.
The solution comes with its own problems. You cannot switch to \onecolumn, render the table, and switch back to \twocolumn. Each time you switch modes, it starts a new page. The dnd package comes with the multicols package ready to go. Therein lies the solution, but you have to be careful how you use it. tcolorbox environments (paperbox, commentbox, quotebox are build off of that environment) do not break across columns properly from within multicols environments. So you have to switch to \onecolumn, start the \chapter, write the table, wrap the rest of the page in a multicols environment (or the starred environment if you do not want the columns to be balanced), and then switch back to the \twocolumn mode which switches you to the next page. In cases where you want the text to flow from page 1 to page 2 of the chapter, it takes a bit of copy and pasting words back and forth to get it to flow from the first page of the chapter to the second. At the end of this post is a MWE. Note that it includes everything needed to run the example include the packages and the begin and end document commands.
One other thing, and I did not find this out until I had spent several months with LaTeX: You should start single or double quotes with one or two backtick characters and end them with one or two apostrophes. I included that in the MWE (as well as removing a pair of double quotes that may not have been necessary).
If you are working within Windows, I would suggest at least looking at the development environment I suggest in #78 with Visual Studio Code with the LaTeX Workshop and Code Spell Checker extensions. It works really well and gives you spell checking and chktex which will highlight best practices issues like the double and single quotes.
% Changing book to article will make the footers match on each page,
% rather than alternate every other.
%
% Note that the article class does not have chapters.
\documentclass[letterpaper,10pt,twoside,twocolumn,openany]{book}

% Use babel or polyglossia to automatically redefine macros for terms
% Armor Class, Level, etc...
% Default output is in English; captions are located in lib/dndstring-captions.sty.
% If no captions exist for a language, English will be used.
%1. To load a language with babel:
%	\usepackage[<lang>]{babel}
%2. To load a language with polyglossia:
%	\usepackage{polyglossia}
%	\setdefaultlanguage{<lang>}
\usepackage[english]{babel}
%usepackage[italian]{babel}
% For further options (multilanguage documents, hypenations, language environments...)
% please refer to babel/polyglossia's documentation.

\usepackage[utf8]{inputenc}
\usepackage{dnd}

\onecolumn

% Start document
\begin{document}

\chapter{New Races}
\begin{dndtable}[lcccccccl][DmgCoral]
  \textbf{Race} & \textbf{STR} &  \textbf{DEX} & \textbf{CON} & \textbf{INT} &  \textbf{WIS} & \textbf{CHA} & \textbf{Speed} & \textbf{Traits} \\
  Cait Sith & - & +2 & - & - & - & +1 & 25ft & \parbox[t]{9cm}{Lucky, Brave, Cait Sith Nimbleness} \\
  \quad \textit{Pooka}  & - & - & - & - & - & - & \textit{+5ft} & \parbox[t]{9cm}{Fleet of Foot} \\
  \quad \textit{Moogle} & - & - & - & - & - & - & - &  \parbox[t]{9cm}{Flight 40ft} \\
  Burmecian  & - & +2 & - & - & - & - & 40ft & \parbox[t]{9cm}{City Rat, Daughters of War, I Have An Ear For This} \\
  \quad \textit{Burm}  & - & - & - & - & - & +1 & - & \parbox[t]{9cm}{After Your Heart, Battle Charm} \\
  \quad \textit{Cleyra} & - & - & - & - & +1 & - & - & \parbox[t]{9cm}{Dance of Politicians, Relaxed Recovery} \\
  Mul & +2 & - & +1 & - & - & - & 30ft & \parbox[t]{9cm}{Darkvision 30ft, Keen Senses, Dwarven Toughness, Inexhaustible, Relentless Endurance, Untiring} \\
  Gith & - & +2 & - & - & - & - & 35ft & \parbox[t]{9cm}{Enhanced Jump, Psionics, Danger Sense, Warrior Culture} \\
  \quad \textit{Githyanki}  & +1 & - & - & - & - & - & - & \parbox[t]{9cm}{Enhanced Psionics (Wis), Toned Build, Warmonger Spirit} \\
  \quad \textit{Githzerai} & - & - & - & - & +1 & - & - & \parbox[t]{9cm}{Enhanced Psionics (Wis), Flexible Body, Trained Mind} \\
\end{dndtable}

\begin{multicols*}{2}
\section{Cait Sith}

\textit{These mysterious beings tend to flock around humans, closer to man than beast. They communicate via their Mognet communications network, and their distinctive cry of ``Kupo!'' and fluffy appearance endear them to all.}

Cait Sith are a pair of family clans, that work together to restore their heritage via their separate means. The Pooka are the Warrior clan, whereas the Moogle are the Support clan. Pooka make nimble Fighters, Rogues or Rangers, whereas Moogle generally become Engineers, as they are able to deftly evade the explosions of their mishaps.

\header{Traits}

\begin{itemize}
\item \textbf{Ability modifiers:} +2 Dex, +1 Cha
\item \textbf{Age:} A Cait Sith reaches adulthood at the age of 20 and generally lives into the middle of his or her second century.
\item \textbf{Alignment:} Most Cait Sith are lawful good. As a rule, they are good-hearted and kind, hate to see others in pain, and have no tolerance for oppression. They are also very orderly and traditional, leaning heavily on the support of their community and the comfort of their old ways.
\item \textbf{Size:} Cait Sith average about 3 feet tall and weigh about 40 pounds. Your size is Small.
\item \textbf{Speed:} Your base walking speed is 25 feet.
\item \textbf{Lucky:} When you roll a 1 on an attack roll, ability check, or saving throw, you can reroll the die and must use the new roll.
\item \textbf{Brave:} You have advantage on saving throws against being frightened.
\item \textbf{Cait Sith Nimbleness:} You can move through the space of any creature that is of a size larger than yours.
\item \textbf{Languages:} You can speak, read, and write Common and Cait. The Cait language isn't secret, but Cait Sith are loath to share it with others. They write very little, so they don't have a rich body of literature. Their oral tradition, however, is very strong. Almost all Cait Sith speak Common to converse with the people in whose lands they dwell or through which they are traveling.
\end{itemize}

\end{multicols*}
\twocolumn

The two main kinds of Cait Sith, Pooka and Moogle, are more like closely related families than true sub-races. Choose one of these sub-races.

\section{Sub-races}

\subsection{Pooka}
\begin{itemize}
\item \textbf{Fleet of Foot:} Your base walking speed increases to 30 feet.
\end{itemize}
\subsection{Moogle}
\begin{itemize}
\item \textbf{Flight:} You have a flying speed of 40 feet. To use this speed, you can’t be wearing medium or heavy armour.
\end{itemize}
\end{document}

Thanks for the help. It has fixed the issue of the second column overlaying the table. With a bit of fiddling with code, I managed to fix it so it didn't render on the next page.
If I have any other issues, should I use this issue, or should I close this one and create a new issue?

Now I have three more questions, that I hope someone can help with.

How do I set the document as A4?

Follow-on Question: I'm trying to add an a2 page as the last page. How can I go about doing this?

How do I define the Title page font as the same as the Chapter heading font? I'm using @Vladar4's title page code:

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[bg-full]{dnd} % Options: bg-full, bg-none, bg-print, justified
\usepackage{lipsum}
\usepackage{color}
\usepackage{placeins}
\usepackage{geometry}
\usepackage{bookmark}
\usepackage{afterpage}

\newcommand{\bookauthor}{RJBPrime}
\newcommand{\booktitle}{Adventures in Gaia}
\newcommand{\booksubtitle}{Set off on and adventure to find the source of encroaching darkness. But beware, for each adventure may be your last\ldots}

\pdfinfo{
	/Author (\bookauthor)
	/Title  (\booktitle)
	/Keywords (D&D;Adventure)
}

% Start document
\begin{document}
\pdfbookmark[0]{\booktitle}{booktitle}
\AddToShipoutPicture*{\BackgroundPic}

% Your content goes here

% Title page
\begin{titlepage}\begin{onecolumn}
\color{titlered}
\begin{center}
  {
    \Huge \booktitle}

	\vspace{0.5cm}
	{\large \booksubtitle}

	\vspace{6cm}
	\includegraphics[scale=0.65]{img/personal/NobleCrystal}
	\\
	\vfill
	\includegraphics[scale=0.25]{img/personal/Wax-Seal}

	\vspace{0.5cm}
	{\Large A campaign by \bookauthor, set in a homebrew world, where things may not always be as they seem\ldots }

\end{center}

\begin{minipage}{0.94\textwidth}
{\footnotesize
	DUNGEONS \& DRAGONS, D\&D, Wizards of the Coast, Forgotten Realms, Ravenloft, the dragon ampersand, and all other Wizards of the Coast product names, and their respective logos are trademarks of Wizards of the Coast in the USA and other countries.\\
	This work contains material that is copyright Wizards of the Coast and/or other authors. Such material is used with permission under the Community Content Agreement for Dungeon Masters Guild.\\
	All other original material in this work is copyright 2016 by \bookauthor~and published under the Community Content Agreement for Dungeon Masters Guild.}
\end{minipage}
\end{onecolumn}\end{titlepage}
\clearpage

% End document
\end{document}

Please help.
Kind Regards,
RJBPrime

Don't forget to include everything in the MWE. It is missing the document class. You want to specify a4paper there as an additional option to the document class as \documentclass[a4paper,twocolumn,openany]{book}
I do not do this very often at all. The best way to do that is probably creating a second document using the standalone document class. This is used for incorporating a small document into another one, but I have not used it. You may also be able to use the \newgeometry command of the geometry package to redefine the paper size. You will need to do a bit of internet research on that one.
You will need to look at \selectfont I believe. In this package, fonts are mostly used by passing options to environments. https://tex.stackexchange.com or a simple Google search will show you ways of modifying just one block of text. Once you have how to do that, you can go into lib/dndsection to see the font options that are being used by chapters.


chore: redeploy & log

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_30_ms
11,749 (-1%)
3,144 (-2%)
1,698 (-1%)
1,455
1,568 (+1%)

proof_construction_time_sha256_100_ms
43,801 (-1%)
11,762 (-1%)
5,443
5,430
5,337

proof_construction_time_poseidon_hash_ms
78.0 (-1%)
34.0 (-26%)
34.0 (-3%)
58.0 (-2%)
87.0 (-1%)

proof_construction_time_poseidon_hash_30_ms
1,517 (-1%)
417 (-1%)
199
221 (-3%)
272 (+2%)

proof_construction_time_poseidon_hash_100_ms
5,742 (-1%)
1,584
726
772 (-3%)
795

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
1,412
1,412
1,412

l1_rollup_calldata_gas
9,464
9,468
9,464

l1_rollup_execution_gas
610,285
610,289
610,285

l2_block_processing_time_in_ms
761
1,431 (+1%)
2,690 (-1%)

l2_block_building_time_in_ms
25,388 (-1%)
50,846
99,463

l2_block_rollup_simulation_time_in_ms
25,388 (-1%)
50,845
99,462

l2_block_public_tx_process_time_in_ms
21,818 (-1%)
47,061
95,761

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

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
7,098
9,963

node_database_size_in_bytes
12,116,048
16,093,264

pxe_database_size_in_bytes
16,254
26,813

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

Function
time_ms
bytecode_size_in_bytes

GasToken:_increase_public_balance
70.4 (-3%)
13,873

GasToken:set_portal
16.0 (-5%)
3,495

Token:constructor
92.4
24,207

FPC:constructor
62.8 (-2%)
13,893

GasToken:mint_public
53.0 (+4%)
10,241

Token:mint_public
608 (-1%)
19,216

Token:assert_minter_and_mint
71.9
13,034

AuthRegistry:set_authorized
33.4 (+8%)
7,869

FPC:prepare_fee
188 (+4%)
15,187

Token:transfer_public
52.3 (-13%)
31,425

FPC:pay_refund
127 (+2%)
20,080

Benchmarking:increment_balance
2,689
15,465

Token:_increase_public_balance
56.0 (-1%)
15,089

FPC:pay_refund_with_shielded_rebate
149 (-1%)
21,167

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.154 (+1%)

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.4 (+1%)
16.8
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.601 (+1%)
0.516
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
48.4
76.6 (+1%)
132 (+1%)
247 (+1%)
468 (-1%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.494
0.470 (+1%)
0.454 (+1%)
0.447 (+1%)
0.439 (-1%)

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
60.0 (+1%)
112
183
356 (+1%)
692 (-1%)

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
109
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.507 (+1%)
0.503
0.483
0.481
0.476 (-1%)

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
73.2 (+1%)
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
133
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.521
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
85,672
670,983

Transaction size based on fee payment method
| Metric |  |
| - |  |


Submit JCDL dataset paper to arXiv

Submitted. Will close this issue when it is posted tomorrow with a link

https://arxiv.org/abs/2302.14177


Error when using API key and Token

Hello, I am trying to use the package by key and token.
I have taken the API key from https://trello.com/app-key. I have taken the token by https://trello.com/1/authorize?expiration=never&scope=read,write,account&response_type=token&name=Server Token&key=<api_key>
Now, I use the following way for interfacing with Trello API:
$client->authenticate('apiKey', 'token', Client::AUTH_URL_CLIENT_ID);
I have an unauthenticated error. What am I missing, please?

Can you share detail of this unauthenticated error.
You can check you token and api_key by this curl : curl 'https://api.trello.com/1/members/me/boards?fields=name,url&key=YOUR_API_KEY&token=YOUR_TOKEN'

There was a problem with the GuzzleHttp library. They switched to use
subscribers for HTTP requests, and no more listeners.
I have updated my fork and now everything works as expected.


Ubuntu22.04

Adding in Ubuntu 22.04 and updating testing to be more inclusive of 20.04 and up for testing.

@UserNotFound and @joe-herman figured I might as well do a second PR to update for 22.04 and update testing to be more inclusive past 20.04

That build failure has to do with the version of docker running in Travis. I found this and locally having 0 issues. Not sure how to move forward on that.

Closing to redo w/ GH Actions


version 0.2.8 contains only the site folder

https://github.com/angular-ui/angular-ui-router-bower/tree/0.2.8
It doesn't contain the release itself.

0.2.8 was a botched release.  Use 0.2.8-bowratic-tedium


Policy filtering should respect field-level access policies

When you use relation fields in query filters, ZenStack automatically injects the policies for the related model, so that the policies are still effective even if you're only filtering but not retrieving data.
E.g., for model:
model User {
  ...
  role String
  posts Post[]
  @@allow('read', auth() == this)
}

model Post {
  ...
  author User? @relation(...)
  authorId Int?
}

If you query with:
db.post.findMany({ where: { author: { role: 'Author' } } })

The result will be filtered to exclude posts whose author field (User) is not readable. The reasoning is since you can't read the author field, you can't access its role field, so the role: 'Author' filter will evaluate to false.
However, the automatic relation filtering doesn't respect field-level access policies yet. There are two aspects about this problem:

If the related model is readable but some of the fields used to filter are not (due to field-level policies), ZenStack should behave as if the model were not readable.

model User {
  ...
  role String @deny('read', true)
  posts Post[]
  @@allow('read', true)
}

If the related model is NOT readable but all of the fields used to filter are readable (due to field-level override policies), ZenStack should behave as if the model were readable.

model User {
  ...
  role String @allow('read', true, true)
  posts Post[]
  @@allow('read', false)
}

Fixed in v2.2.0


Split keyword argument lines

We should put this behind a command line flag or such to let users choose if splitting is preferred.

Codecov Report

Merging #3638 into master will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3638      +/-   ##
==========================================
- Coverage   74.19%   74.17%   -0.01%
==========================================
  Files         199      199
  Lines       16477    16482       +5
  Branches     2657     2660       +3
==========================================
+ Hits        12223    12224       +1
- Misses       3821     3826       +5
+ Partials      433      432       -1

Impacted Files
Coverage Δ

src/robot/running/arguments/typeconverters.py
58.12% <0.00%> (-1.26%)
:arrow_down:

src/robot/running/testlibraries.py
75.95% <0.00%> (+0.32%)
:arrow_up:

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 dd9a3ca...511bdc8. Read the comment docs.