Support UI validation by adding "causes" list to webhook response

The UI needs a standardized way of determine what validation errors occurred and exactly what fields were involved.
With this PR, the metav1.Status{} structure returned in the validation webhook's Admission Review Response contains a list of information about every field that failed validation.
Example:
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {},
  "status": "Failure",
  "message": "admission webhook \"virtualmachine-validator.kubevirt.io\" denied the request: spec.domain.devices.disks[1].volumeName testvolume not found.",
  "details": {
    "causes": [
      {
        "message": "testvolume not found",
        "field": spec.domain.devices.disks[1],
      },
      {
        "message": "testvolume2 not found",
        "field": spec.domain.devices.disks[2],
      },
    ]
  },
  "code": 422
}

A UI can iterate over the causes list to identify which field is invalid. There's also a human readable string associated with each validation error.
Unit and Functional tests have been updated to ensure the field values are both set and accurate for consumption.
fixes #959

I no longer consider this a WIP.
@jniederm you should have something to work with shortly once we get this reviewed and merged :)

retest this please

retest this please


Implement token blacklist filtering

Built without using the keyword extractor so that we can offer more predictable behavior to the user: events will only get filtered out if tokens match exactly what the user specified.
Resolves #34

The keyword extractor will only return exact matches. Can you explain how this is different?
There's also a requirement for conjunctive blacklist term filtering, where we filter a post only if it contains a tupleN of blacklisted terms.
I was imagining that this would be implemented by retrieving the set of blacklisted terms present using the keyword extractor, and then determining which conjunctive filter tuples were satisfied by it.

The keyword extractor is case insensitive.

Why should the blacklist be case sensitive, but not the whitelist?

I'd assert that it's worse to erroneously filter out an event than to erroneously include it. Ergo, we don't want any surprises for blacklist terms. For example, I may want to blacklist "Trump" (as in "the president") but not "trump" (as in "to best").
Additionally, unless I'm missing something, re-using the keyword extractor will (1) unnecessarily couple us to that implementation (2) make the code somewhat less time efficient because we have to re-tokenize the sentence once per blacklist, (3)) make the code less memory efficient as we'll store the blacklist words twice and (4) make the code a little bit more complicated to understand:
class Blacklist(blacklist: Seq[Set[String]]) {
  private lazy val extractors = blacklist.map(new KeywordExtractor(_))

  def matches(text: String): Boolean = {
    extractors.zip(blacklist).exists(kv => kv._1.extractKeywords(text).size == kv._2.size)
  }
}


Testing, please ignore. auwnqd

This is a bug bounty test. Please do not approve this! auwnqd

Starting with this PR, I'm reporting every PR you submit as malware. Please stop.


chore: fix Brittle type definitions

Noticed issues with the definitions for t.exception and all of the ones that are coercible

Sorry I've read through this twice now and can't spot the types that have changed, could you explain it to me?

Sorry I've read through this twice now and can't spot the types that have changed, could you explain it to me?

yeah it's fixing exception.all() and the ones where you can use .coercively() e.g. is.coercively. the syntax used in the current implementation (i.e. the string keys) does not properly represent this interface. for example, right now ts won't complain if you do t['exception.all'](...) but it doesn't work in brittle when trying to run the test, since you can't access a nested key with this syntax

Ah thanks completely missed that! Makes sense now


Got things working, sort of...

The login works if you navigate directly to https://localhost:8443/saml/login
If you just go to https://localhost:8443, it simply denies access. This seems to be because we don't have the authentication entry point set properly.
However, when I try to set it through http.httpBasic().authenticationEntryPoint(samlEntryPoint), I get Spring bean instantiation errors on startup. See the commented out lines 88 and 180 for what I thought would fix the issue, but just caused other problems.

Well done man. Very well done.


Add podpac and pydem to the list

Might be worth adding podpac: https://podpac.org/
And pydem https://github.com/creare-com/pydem
to the list under Python?

Thanks!

Thanks!


[fix]: dynamic_programming/cut_rod.cpp does not compile

Description of Change

included climits library in code to remove compilation error.
Checklist

[x] Added description of change
[x] PR title follows semantic commit guidelines
[x] I acknowledge that all my contributions will be made under the project's license.

Notes:

@Panquesito7 can you please specify me, which changes do you want in this code?
any example?

Thank you so much for this brief explanation. I will correct them in the next commit.

Why delete dynamic_programming/kadane2.cpp?

By mistake, I have deleted it. Now it is added back.

Please enable GitHub Actions in your repository of this fork in this link: https://github.com/Pardeep009/C-Plus-Plus/actions.

enabled

Please make a small commit to trigger the GitHub Actions. For example, remove line 19.
If GitHub Actions is enabled, we'll see a commit by GitHub actions updating DIRECTORY.md. 🙂

I would like to update codes and add documentation in the remaining codes of the dynamic programming section, should iIgo for that?

Sounds great, please make one PR per file.
Thank you for your interest in contributing! 🙂

Sounds great, please make one PR per file.
Thank you for your interest in contributing!

yes sure


Support regex searching in List and Show pages

We're effectively replacing less, so let's add its killer feature.

Done!


THRIFT-4926: Adding LOGGER.isDebugEnabled() conditions into TSaslTransport

Adding LOGGER.isDebugEnabled() conditional statements into org.apache.thrift.transport.thrift.transport.TSaslTransport to fix the issue 4926
In org.apache.thrift.transport.TSaslTransport in the previous approach, sensitive information about Role is leaked. Thus, the LOGGER.isDebugEnabled() conditional statements should be added in the method public void open() throws TTransportException.

[x] Did you create an Apache Jira ticket?  (not required for trivial changes)
[x] If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
[x] Did you squash your changes to a single commit?  (not required, but preferred)
[x] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?

No changes provided address any kind of "leakage".  If the logging level is not set to DEBUG, then a DEBUG statement will not be emitted.  The LOGGER.debug() method checks internally for the appropriate condition.  The method isDebugEnabled is available only for performance reasons.

Patch rejected. See ticket for details.


groupBy coerces numeric key into a string

The groupBy filter coerces a numeric key into a string for the iterator variable. This breaks code that expects to do === checks on the ID, such as operating on all items within a group.
Given data like:
$scope.personel = [
  { name: 'Kirk', unitID: 1, unit: 'Command' },
  { name: 'Scotty', unitID: 2, unit: 'Engineering' },
  { name: 'Spock', unitID: 2, unit: 'Engineering' }
]

and a template like:

    Unit: {{ rows[0].unit }}
    <button ng-click="selectAllInUnit(unitID)"></button>

…

And selectAllInUnit() similar to:
function selectAllInUnit(unitID) {
  _.chain(personel)
    .filter(function(person) { return person.unitID === unitID); })
    .each(…);
}

The filter predicate will fail because person.unitID is a number and unitID arg was coerced to a string by groupBy.

My workaround was to do this in the template:
<button ng-click="selectAllInUnit(rows[0].unitID)"></button>

I think this issue belongs to ngRepeat directive.
see: example
Thanks @toolbear

For posterity, I eventually settled on this workaround using ng-init:

    Unit: {{ rows[0].unit }}
    <button ng-click="selectAllInUnit(unitID)"></button>

…


Return proper HTTP response codes for errors

Currently all cards return 200 (unless there is a server error, in which case 500).
It would be best to have specific codes for different types of errors to differentiate between them.
Example:
400 - Bad request
etc.

If no one is going to take I can do it

@komen205 https://www.php.net/manual/en/function.http-response-code.php
Need to call http_response_code() with the code number when rendering the output. I think there may be 1 or 2 places that already have it, but it could possibly be moved to the renderOutput function.
The renderOutput function could have a default parameter for the response code and for different errors, you would pass different codes to it. If there's no error, it should just be 200 (if http_response_code is not called, the default is 200).
For example, if there's invalid data, you could call http_response_code(422). Anything that does not return valid stats should have a proper error code (i.e. it won't be 200).


Bump version to v0.3.0

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

Comparison is base (3b41d0d) 36.78% compared to head (d29b342) 36.68%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #87      +/-   ##
==========================================
- Coverage   36.78%   36.68%   -0.11%
==========================================
  Files         116      116
  Lines        4975     4975
  Branches     1909     1909
==========================================
- Hits         1830     1825       -5
- Misses       2332     2335       +3
- Partials      813      815       +2

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


Update README.md

I added my name to the list of names.
What changes does this PR do?
it updates the list of name in the "E" section.
Screenshots (If any)
none
Questions
none

I added my name to the list of names.


Use of find method to get the location using the List of LocationSuggestionResult

@doneill This PR does the following

In the suggest method, the location of the suggestions are fetched and stored in a Map<Address,Location> using the Locator.find.
When a suggestion is clicked, the address is used to lookup in the map and fetch the Location.
Lastly, the result is displayed on the map.

This solves the issue Runtime | PlaceSearch Sample is not displaying address correctly

@doneill I have refactored the PR as per your review comments.

@mani8177 In the locatorParams() method, the String type parameter is always SUGGEST_PLACE.  Can we remove the parameter and constant?

@doneill On it. The constant was part of implementing suggestions as we were using both the LocatorSuggestionParameters and LocatorFindParameters. I will remove the unnecessary parameters and constant

@doneill The Changes are done

@mani8177 Looks good, will merge.


how to hot reload sql functions

when develop, i add a new function in the sql file
-- :name get-user-by-id :? :1
-- :doc returns a user object by id, or nil if not present
SELECT *
FROM user_profile
WHERE id = :id;

then, how can i hot reload the sql file, and exec the function?

everytime when i add a new sql function , i should re-run (def query-fn (:db.sql/query-fn state/system))

It would be better to use a (defn query-fn [] (:db.sql/query-fn state/system)), this way it'll grab the fresh state of the system when it's called.

Yes, that solves this problem，thanks


Fixed Tests for new version of API

Added extra fields in the survey step models.

There's still some broken tests it seems, but from the test output I don't clearly see what's broken...

Yeah, I just found out that there is a change in which errors are handled at EDC side when uploading data for fields that don't exist for an instance (see also #70). I will have to rewrite to check correctness of field at client side, without relying on server side error handling.

Fixes #70


mingw-w64-<i686|x86_64>-toolchain package(GCC5.2) fails to build anything

Recently did a fresh install of MSYS2 using the latest installer, than did the following:
update-core → close → starts msys2_shell.bat → pacman -S base-devel mingw-w64-x86_64-toolchain
then installs everything.
Closing MSYS2, than starts mingw64_shell.bat
gcc foobar.cpp →Error
g++ foobar.cpp →Error
where foobar.cpp is a simple std::cout console program.
and the Error is: error: CreateProcess: No such file or directory
(see attached image)
I have tried both 32bit and 64bit mingw-w64 packages and they gave the same error.

however, clang (pacman -S mingw-w64-x86_64-clang) works fine.

Could someone confirm if this is happening to me only or reproducible?

Sorry my bad. Something in my Windows breaks every installation of Mingw... In a vanilla Win7 VM, everything works fine.


Change name of Github Actions file test_and_build.yaml

Goal is to rename file test_and_build.yaml to something more approperiate because build is being executed on separate action.
Also main README.md should be updated with new name to ensure that badge is displayed correctly.
This section must be changed accordingly with new yaml name.
![CI/CD Pipeline](https://github.com/Veinar/envcloak/actions/workflows/test_and_build.yaml/badge.svg)

Hello @Veinar can I work on this issue?

Hi Johnnie,
Thanks for your interest in improving envcloak. Clearly, I'll be pleased!


How to get a one-to-one mapping between an entity/relationship and its text representation with mateQA

Hello,apoorv! @apoorvumang
Thank you for your excellent work!.You provide one-to-one mapping between the entities/relationships of Wikidata5m and their text representations in the code, but there is no mapping of other datasets. How do I need to get the mapping of these datasets? Can you tell me the specific method? Thank you!

We have posted aliases for WikiKG90Mv2 as well in the readme.
For other datasets, we unfortunately do not have records currently


How to prevent Kysely from crashing node app if database goes down

Hi All,
I am trying to incorporate Kysely into a larger Node.js application to write data to a MSSQL database. I create a instance of Kysely exactly like in the doc as shown below and execute inserts with an error catch handler however when the SQL database is not reachable the whole node application crashes.
How can I best handle situation where the SQL database is unreachable without it crashing the whole app?
db
        .insertInto('commandQueue').values({
            command,
            status: 'pending',
            terminal_id: terminalId,
            server_flag: msgId,
        })
        .execute()
        .then(() => console.log(date.toLocaleTimeString(),`[${terminalId}]`, `command ${command} queued`))
        .catch(e => console.log(e))

Error
TimeoutError: Failed to connect to localhost:1433 - Could not connect (sequence)
    at /Users/anthonyphan/repos/nex-gps/node_modules/tarn/dist/PendingOperation.js:14:27
    at runNextTicks (node:internal/process/task_queues:60:5)
    at listOnTimeout (node:internal/timers:538:9)
    at processTimers (node:internal/timers:512:7)
    at async MssqlDriver.acquireConnection (/Users/anthonyphan/repos/nex-gps/node_modules/kysely/dist/cjs/dialect/mssql/mssql-driver.js:40:16)
    at async RuntimeDriver.acquireConnection (/Users/anthonyphan/repos/nex-gps/node_modules/kysely/dist/cjs/driver/runtime-driver.js:46:28)
    at async DefaultConnectionProvider.provideConnection (/Users/anthonyphan/repos/nex-gps/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:10:28)
    at async DefaultQueryExecutor.executeQuery (/Users/anthonyphan/repos/nex-gps/node_modules/kysely/dist/cjs/query-executor/query-executor-base.js:36:16)
    at async InsertQueryBuilder.execute (/Users/anthonyphan/repos/nex-gps/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js:528:24)
/Users/anthonyphan/repos/nex-gps/node_modules/kysely/dist/cjs/dialect/mssql/mssql-driver.js:40
        return await this.#pool.acquire().promise;
               ^
TimeoutError: Failed to connect to localhost:1433 - Could not connect (sequence)
    at /Users/anthonyphan/repos/nex-gps/node_modules/tarn/dist/PendingOperation.js:14:27
    at async MssqlDriver.acquireConnection (/Users/anthonyphan/repos/nex-gps/node_modules/kysely/dist/cjs/dialect/mssql/mssql-driver.js:40:16)
    at async RuntimeDriver.acquireConnection (/Users/anthonyphan/repos/nex-gps/node_modules/kysely/dist/cjs/driver/runtime-driver.js:46:28)
    at async DefaultConnectionProvider.provideConnection (/Users/anthonyphan/repos/nex-gps/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:10:28)
    at async DefaultQueryExecutor.executeQuery (/Users/anthonyphan/repos/nex-gps/node_modules/kysely/dist/cjs/query-executor/query-executor-base.js:36:16)
    at async InsertQueryBuilder.execute (/Users/anthonyphan/repos/nex-gps/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js:528:24)
[nodemon] app crashed - waiting for file changes before starting...

Creating Kysely instance
import { Database } from './types.ts' // this is the Database interface we defined earlier
import * as tedious from 'tedious'
import * as tarn from 'tarn'
import { Kysely, MssqlDialect } from 'kysely'

const dialect = new MssqlDialect({
  tarn: {
    ...tarn,
    options: {
      min: 0,
      max: 10,
    },
  },
  tedious: {
    ...tedious,
    connectionFactory: () => new tedious.Connection({
      authentication: {
        options: {
          password: 'password',
          userName: 'username',
        },
        type: 'default',
      },
      options: {
        database: 'some_db',
        port: 1433,
        trustServerCertificate: true,
      },
      server: 'localhost',
    }),
  },
})

// Database interface is passed to Kysely's constructor, and from now on, Kysely
// knows your database structure.
// Dialect is passed to Kysely's constructor, and from now on, Kysely knows how
// to communicate with your database.
export const db = new Kysely<Database>({
  dialect,
})

Are you absolutely sure you don't have some place without an exception handler? The stack trace shows the error comes all the way up to the execute method. After that it's just a standard Promise. We don't do anything special there. I don't see how this could be caused by Kysely.

Hi @koskimas
Thanks for pointer. I went back over the code base to check for instances of execute() without a catch and did find a few, this was the cause of the error above.
However after I ensure a .catch on all instance of execute()  i'm still able to crash the node serve by toggling the SQL db off and on. Im not sure if this is actually due to Kysely however i've attached an error log below incase you can spot the issue.
/Users/anthonyphan/repos/nex-gps/node_modules/tedious/src/connection.ts:2313
      this.emit('error', new ConnectionError(message, 'ESOCKET'));
                         ^
ConnectionError: Connection lost - socket hang up
    at Connection.socketError (/Users/anthonyphan/repos/nex-gps/node_modules/tedious/src/connection.ts:2313:26)
    at Connection.socketEnd (/Users/anthonyphan/repos/nex-gps/node_modules/tedious/src/connection.ts:2326:12)
    at Socket.<anonymous> (/Users/anthonyphan/repos/nex-gps/node_modules/tedious/src/connection.ts:1997:35)
    at Socket.emit (node:events:525:35)
    at Socket.emit (node:domain:489:12)
    at endReadableNT (node:internal/streams/readable:1359:12)
    at processTicksAndRejections (node:internal/process/task_queues:82:21) {
  code: 'ESOCKET'
}
[nodemon] app crashed - waiting for file changes before starting...

I'm not seeing any uncaught exception errors in the log, so it's unclear what's actually crashing the server.
@igalklebanov Any ideas? Could it be we're not listening to the error event and it "leaks out"?

I think i might have resolved the issue by creating the the dialect as show below with the error handler. Unsure if this is user error or if the Kysely library should of caught that error. Either way i'm happy that we got to the bottom of it :) Appreciate the help!
import { Database } from './types.ts' // this is the Database interface we defined earlier
import * as tedious from 'tedious'
import * as tarn from 'tarn'
import { Kysely, MssqlDialect } from 'kysely'

const dialect = new MssqlDialect({
  tarn: {
    ...tarn,
    options: {
      min: 0,
      max: 10,
    },
  },
  tedious: {
    ...tedious,
    connectionFactory: () => new tedious.Connection({
      authentication: {
        options: {
          password: 'password',
          userName: 'username',
        },
        type: 'default',
      },
      options: {
        database: 'some_db',
        port: 1433,
        trustServerCertificate: true,
      },
      server: 'localhost',
    }).on('error', console.log),
  },
})

// Database interface is passed to Kysely's constructor, and from now on, Kysely
// knows your database structure.
// Dialect is passed to Kysely's constructor, and from now on, Kysely knows how
// to communicate with your database.
export const db = new Kysely<Database>({
  dialect,
})

I think this is something Kysely should do automatically

@koskimas @AnthonyPhan Yeah, haven't handled this one. Let's do it.


When the global resource scheduler gets shut down, all the scheduler processes do not close automatically

This is fixed and will make a new PR soon

will upload PR today

The previous PR #264 did not fix the issue. I created another PR #268  to fix it.

completed


Significant size increase

This isn't really a "bug" (unless it is?) so I'm submitting it as just a generic issue.
I noticed that the binary for tcping on Windows went from ~5.8MB to ~9.1MB, and judging by the download sizes in the release section, it seems there's a similar significant increase on every platform, but for what reason? Is it due to refactoring related to sqlite?

Thanks for reporting this so quickly @ImportTaste
I am not quite sure what could be the actual cause of it yet. Although, the sqlite package seems like a good place to start looking since the rest of the changes are non-package related.
Another thing could be some compiler internal thing that was addressed from 1.21 to 1.21.4

Looks like it is because of the sqlite package.
5.6M  tcping_before_pureGo_sqlite.exe
8.7M  tcping_latest.exe

yea, it is quite odd for me as well.
Hopefully we can find a way to somehow reduce the binary size in the future.


Dev

All my dev files will be found in this repository.
@emilkitua

Hi Emil,
This pull request should be made on justiceo/dev not justiceo/master
Also, be sure your local branch is up to date with upstream before creating the pull request.
get merge upstrea/dev to get latest changes on justiceo/dev


Support scalar value other than String from Vault

This pull request modify the way VaultConfigSource fetches the values from Vault following recommendation made by @vsevel
Now, it fetches the value as Object and convert it to String if type is not List or Map.
null value is also managed.
Also add a note in documentation to mention that list and map are not yet supported.
resolve quarkiverse/quarkus-vault#189

thanks :-)
squash and rebase done

thanks @edelfour


Synthetics workshop step broken

Describe the bug
In the lab for Splunk Synthetics, one of the steps does not work as written.  If you follow the steps you get an error in the synthetic monitoring tool.
This is under the step Introduction > Create Real Browser Check, search for the string 'Add a "Return to Cart" Step 5 to your recording. Use the "CSS" Selector, here is the actual selector you need to return to the cart'.  The CSS selector given in the HTML tab results in the error shown in the attached screenshot
If you modify the CSS selector by prepending "html > " to it, then the test succeeds.
Perhaps a change occurred in the product?
HOWEVER: when tried from different locations the test succeeds sometimes and fails sometimes.  Sometimes I get the error "can't find element" and sometimes I don't.  See attached screenshot.

To Reproduce
Steps to reproduce the behavior:

Go to 'https://signalfx.github.io/observability-workshop/v2.34/synthetics'
Follow the steps until you see the error
To fix: Modify the CSS selector mentioned in the description by prepending "html > " and run the test again.
Now it works!

Please use the latest version of the workshop as the Synthetics workshop has changed and been improved https://signalfx.github.io/observability-workshop/v3.1/


Cant install any plugin (windows)

Whenever I try to install a plugin on hyper I get the following error,

The warning you're getting has a typo that has since been fixed and should read "you can't use CLI commands here." You should still be able to install plugins easily by editting the config file

@jaydh Thank you. Yes typo has been fixed by #2945
@HitarthChudgar You can open a regular CMD or PowerShell to execute CLI. (Or yes, editing config manually)


chore: bdd-sbrp-import-1586992788 to 0.0.1

chore: Promote bdd-sbrp-import-1586992788 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


FileZilla + SFTP Wordpress Guide

Issue
As discussed with @scottyeager and @shng4you, some users have been asking for information on how to use filezilla with sftp on the Wordpress weblet and we propose to add a guide for this instead of relying to partially relevant guides online.
Solution
We propose to write a guide on how to use FileZilla and SFTP with the Wordpress weblet.

Will add instructions on how to proceed with file transfers with wordpress

scp directly on terminal
sftp directly on terminal
sftp with filezilla client app (mac, windows, linux)

I will include this in the current PR on improving wordpress #350 and #351

Fix when #365 is merged.


🤖 feat(google): Add safety settings configuration

Originally https://github.com/danny-avila/LibreChat/pull/2591
Summary
This pull request addresses the feature request raised in issue #2564. It adds the ability to configure safety settings for the Google Gemini API in LibreChat. Users can now customize the thresholds for various safety categories, providing more control over the content filtering behavior of the Gemini API.
The changes include:

Implement safety settings configuration in GoogleClient.js
Add safety settings variables in .env.example
Update documentation to explain safety settings and clarify model usage

These changes give developers the flexibility to tailor the Gemini API's safety settings to their specific requirements, ensuring that the API's functionality is not unnecessarily limited by the default settings.
Change Type

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Testing
To test these changes:

Set the desired safety settings in the .env file based on the variables defined in .env.example.
Run the LibreChat application and verify that the Gemini API is using the configured safety settings.
Test various scenarios to ensure the safety settings are working as expected.

Test Configuration:

LibreChat version: latest
Google Vertex AI APi

Checklist

[x] My code adheres to this project's style guidelines
[x] I have performed a self-review of my own code
[x] I have commented in any complex areas of my code
[x] I have made pertinent documentation changes
[x] My changes do not introduce new warnings
[ ] I have written tests demonstrating that my changes are effective or that my feature works
[x] Local unit tests pass with my changes
[x] Any changes dependent on mine have been merged and published in downstream modules.
[x] New documents have been locally validated with mkdocs

Closes #2564

Just specifying that the documentation still says that there are only used with Vertex AI: https://www.librechat.ai/docs/configuration/pre_configured_ai/google


Scene tree dock improvements (paste into multiple selections, Esc key to clear selection)

This PR adds the ability to press the Esc key while the scene tree dock is in focus and clear the active selection (just as is the case with the 2D/3D viewport). It also adds the ability to paste into multiple selected nodes at once, which was a major QOL issue for me in having to paste a helper node I made into different areas of the scene tree individually.
https://user-images.githubusercontent.com/18225391/187647627-560f29d6-9d16-49ac-9311-9afb89e9f59a.mp4
I noticed an undo-redo issue while testing this, which has been mentioned in #65138, but that's unrelated and also seems to happen prior to alpha 15.

Looks great! The Esc to clear selection behavior would also be nice to have in the FileSystem dock.

Thanks! Good idea on the FileSystem dock, I'll look into adding that as well.

The paste logic breaks if there is no selected node. It should paste under scene root (or paste as root if scene is empty).


Detect does not seem to run on  toolstack php:symfony

Even if there is no "composer.json" file it seems to get detected..  followed by an error message.
(Platform.sh CLI version 2.0.2)
Building application php using the toolstack php:symfony
Found a composer.json file; installing dependencies
Composer could not find a composer.json file in.....

Thanks - fixed, and I'll be tagging a release soon


Add deleteRecursivelyOnExit()

this adds a shutdown hook to delete a directory and its contents and works even on directories that didn't exist at call time

@davidadamsphd This should solve your problem.

LGTM, modulo my one question. Submit whenever you're ready.


add helm postal chart

This PR add kubernetes helm chart for postal.
init db and create admin user:
kubectl exec -it POSTAL-PODNAME-WEB postal initialize
kubectl exec -it POSTAL-PODNAME-WEB postal make-user

tested with:

postal 3.3.4
kubernetes v1.30
helm 3.15.4

It exposes web using ingress
and using port 25 on load balancer type for smtp
mysql installation is not part of chart, so DB should be installed before this chart
Will not be able to spend much time on polishing this chart, but still think might be helpful for community.

Looks good, might be worth adding a HorizontalPodAutoscaler for the web/smtp or maybe a config option for the number of replicas of them?

Looks good, might be worth adding a HorizontalPodAutoscaler for the web/smtp or maybe a config option for the number of replicas of them?

I added replicas to values

Can the worker use more than one replica?
Can you provider which component of postal must be with one replica and which can not?
btw, looks good!

JFYI, stuff like:
kubectl exec -it POSTAL-PODNAME-WEB postal initialize
kubectl exec -it POSTAL-PODNAME-WEB postal make-user

Don't have to be dependency.
Both init and make user can be wrapped inside check if we have initialized before and have default admin user on not. This is question of entry point honestly.
There is many ways to handle it, f.e.: read env vars that will contains init user secret that will be set in helm values or via providing existing secret name and key name.

Please add to each deployment stuff like:
      {{- with .Values.web.nodeSelector }}
      nodeSelector:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      affinity:
      {{- with .Values.web.affinity }}
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- if not .Values.web.affinity.podAntiAffinity }}
        {{- if eq .Values.web.podAntiAffinityPreset "hard" }}
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            - weight: 1
              podAffinityTerm:
                labelSelector:
                  matchLabels:
                    {{- include "postal.selectorLabels" . | nindent 20 }}
                    app.kubernetes.io/component: web
                topologyKey: kubernetes.io/hostname
        {{- else if eq .Values.web.podAntiAffinityPreset "soft" }}
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - weight: 1
              podAffinityTerm:
                labelSelector:
                  matchLabels:
                    {{- include "postal.selectorLabels" . | nindent 20 }}
                    app.kubernetes.io/component: web
                topologyKey: kubernetes.io/hostname
        {{- end }}
      {{- end }}
      {{- with .Values.web.topologySpreadConstraints }}
      topologySpreadConstraints:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.web.tolerations }}
      tolerations:
        {{- toYaml . | nindent 8 }}
      {{- end }}

Looks good, might be worth adding a HorizontalPodAutoscaler for the web/smtp or maybe a config option for the number of replicas of them?

{{- if .Values.web.autoscaling.enabled }}
apiVersion: {{ include "postal.hpa.apiVersion" . }}
kind: HorizontalPodAutoscaler
metadata:
  name: {{ include "postal.fullname" . }}-web
  namespace: {{ .Release.Namespace }}
  labels:
    {{- include "postal.labels" . | nindent 4 }}
    app.kubernetes.io/component: {{ include "postal.fullname" . }}-web
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: {{ include "postal.fullname" . }}-web
  minReplicas: {{ .Values.web.autoscaling.minReplicas }}
  maxReplicas: {{ .Values.web.autoscaling.maxReplicas }}
  metrics:
    {{- if .Values.web.autoscaling.targetCPU }}
    - type: Resource
      resource:
        name: cpu
        {{- if eq (include "postal.hpa.apiVersion" .) "autoscaling/v2beta1" }}
        targetAverageUtilization: {{ .Values.web.autoscaling.targetCPU }}
        {{- else }}
        target:
          type: Utilization
          averageUtilization: {{ .Values.web.autoscaling.targetCPU }}
        {{- end }}
    {{- end }}
    {{- if .Values.web.autoscaling.targetMemory }}
    - type: Resource
      resource:
        name: memory
        {{- if eq (include "postal.hpa.apiVersion" .) "autoscaling/v2beta1" }}
        targetAverageUtilization: {{ .Values.web.autoscaling.targetMemory }}
        {{- else }}
        target:
          type: Utilization
          averageUtilization: {{ .Values.web.autoscaling.targetMemory }}
        {{- end }}
    {{- end }}
  {{- if .Values.web.autoscaling.behavior }}
  behavior: {{ toYaml .Values.web.autoscaling.behavior | nindent 4 }}
  {{- end }}
{{- end }}

@dragoangel thank you for improving this.
Can you please add these changes as PR to my repo: https://github.com/dmitryzykov/postal-install
from which this PR is created, I will merge it so it will be updated here.

Hi @dmitryzykov, unfortunately, not have many time for that, I'm not using postal atm, but you can collect my feedback and improve your PR, I copied samples that I had from other places and adjusted a bit, you can "polish" them a bit and it will be cool.

@dragoangel can you just attach your helm chart folder as zip archive? Will add it to pr

No, you got me wrong, I not have postal at all :) I just reviewing your PR

@dragoangel got it now :)
I'm not actively working on postal too. Might add these changes later when will work again with postal chart.
Anyway if someone will find this helpful and tested this - any changes in PR format are welcomed.

also we need have: livenessProbe & readinessProbe's, @willpower232 do postal has /healthy page that returns 200 OK if it's okay? Like:
          livenessProbe:
            httpGet:
              path: /ping
              port: web
            periodSeconds: 3
            timeoutSeconds: 2
            failureThreshold: 10
          readinessProbe:
            httpGet:
              path: /ping
              port: web
            periodSeconds: 3
            timeoutSeconds: 2
            successThreshold: 2
            failureThreshold: 2

And for smtp, can be same but instead of httpGet:
            tcpSocket:
                port: smtp

For worker - I don't know, we can exec command in container and check if proccess running, or sort of that.


Changes from filipvh/hass-nhc2

@joleys would you be open to the idea to merge the changes that are already present in https://github.com/filipvh/hass-nhc2 into your fork? Or are you parting away from the original repo?
I won't promise anything, but if I find the time I think I would be able to create a pull request. I think this would also help to get https://github.com/filipvh/hass-nhc2/pull/31 merged.

See the comments in https://github.com/joleys/niko-home-control-II/issues/27. This makes clear that this issue is not an issue


Typo and minor code change

Thanks a lot for the fantastic tutorial 🙌🏻

@nicogeburek Thanks for the PR!
The typo is clear and I would merge it immediately. However, the code change leaves me a bit puzzled: which "docs" are you referring to as "suggesting" the change?
The tutorial documentation itself says in this section: "...and sets the model to the view...". When setting it on the component, at least this explanation would also have to be changed.
Furthermore, there is the full application code for each exercise, the respective line is at https://github.com/SAP-samples/ui5-typescript-tutorial/blob/main/exercises/ex6/com.myorg.myapp/src/controller/IncidenceDetail.controller.ts#L16, but also in the folders "ex7", "ex8",... for the subsequent exercises. Plus, in the gh-pages branch there are two copies of the app for each exercise plus for the backup data version. So when you change the code snippet in the documentation, you also need to adapt those about eleven other places and the documentation text.
However, as I just noticed, the code in all those app copies is already out of sync with the documentation: it says
this.setModel(model, "incidenceHistory");

making use of the "setModel" method in the recently added base controller.

So my suggestion would be to not replace getView() with getOwnerComponent() but to just remove it.

it is the smallest change to bring code and tutorial in sync again
it makes use of the base controller, demonstrating its purpose and reducing code size
IMHO setting this model loaded by the detail view only on the detail view makes more sense than setting it on the entire component: a model on the component whose existence depends on whether the user has already navigated to a detail view sounds strange and may cause issues when used elsewhere.

The only thing I would do on top is mentioning the base controller, e.g. by saying "...and sets the model to the view, using the setModel method inherited from the BaseController. "  (emphasis just to show what's new)
What do you think?
Would you amend this PR or prefer me to do it?
Cheers
Andreas

Hi @akudev,
I guess "docs" was a little unspecific 😅 I found the note in line 26532 of sap.ui.core.d.ts (link to raw file, too large to be rendered in GH) where the onInit() method of the Controller is defined.
I think all of your suggestions work, so let's go with the one that requires least effort 😉
BR, Nico

@nicogeburek I see. But that's the opposite case: when the controller wants to get access to a model which is assigned to a component (that's the precondition; often models are defined in the manifest and end up on the respective component, so this situation occurs often), then the controller should not fetch the model from its view, but directly from the component, because otherwise there's the risk that component and view are not connected yet and the model set on the component has not yet cascaded down to the view.
Here we are in the situation where we want to set a model to make use of it in the view. True, if the model would be needed in sibling views, then we would have to set it on the component. But less because of this lifecycle issue above, but more because the model would not be available elsewhere.
But we don't need that. And setting the model on the controller's view is not impacted at all by the question whether component and view are already hierarchically connected.
Regarding the change: would you do that? (just make it this.setModel(model, "incidenceHistory");)

Hi @akudev, done 👍🏻

Thanks!


Disable lockfile maintenance

Turn off lockfile maintenance in Renovate: it only updates transient dependencies, which creates lots of noise and doesn't provide us with any benefit

Codecov Report
Patch and project coverage have no change.

Comparison is base (39d7e3d) 85.10% compared to head (ceeacf3) 85.10%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #313   +/-   ##
=======================================
  Coverage   85.10%   85.10%
=======================================
  Files          35       35
  Lines        1296     1296
=======================================
  Hits         1103     1103
  Misses        131      131
  Partials       62       62

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


change deprected config in goreleaser

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

Comparison is base (3344c92) 81.58% compared to head (2058bb8) 81.05%.
Report is 28 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #509      +/-   ##
==========================================
- Coverage   81.58%   81.05%   -0.54%
==========================================
  Files          16       16
  Lines         896      876      -20
==========================================
- Hits          731      710      -21
+ Misses        124      122       -2
- Partials       41       44       +3

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


Error when running update changelog

I'm running this command:
$LinkPattern = @{
    FirstRelease = "https://github.com/rcdailey/trash-updater/releases/tag/v{CUR}"
    NormalRelease = "https://github.com/rcdailey/trash-updater/compare/v{PREV}...v{CUR}"
    Unreleased = "https://github.com/rcdailey/trash-updater/compare/v{CUR}...HEAD"
}

Update-Changelog -ReleaseVersion $version -LinkMode Automatic -LinkPattern $LinkPattern

I get this error:
InvalidOperation: C:\Users\robert\Documents\PowerShell\Modules\ChangelogManagement\2.1.4\ChangelogManagement.psm1:107:22
Line |
 107 |  …         "Date" = Get-Date ($Release -split "\] \- ")[1].Split($NL)[0]
     |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | You cannot call a method on a null-valued expression.

I'm running Powershell 7.1.3

Would you mind posting/linking to the changelog you're running the command on? The error leads me to believe the cmdlet is having trouble parsing it.

Sure, here you go: https://github.com/rcdailey/trash-updater/blob/2eefdc03258ba491478de2057e5e89255d2d024c/CHANGELOG.md
I sent you to the revision of the file prior to my latest release which showed the error.

I set $version to 1.2.0 in the command I ran in my OP.

@natescherer Did my last replies get you all the information you requested? Let me know if there's more I need to do for you to be able to test. Thank you.

Apologies that I forgot about this for so long. Took a look and this is because some parts of your file are out of the specification:
## [1.0.0] - 2021-04-14

See the [Python Migration Guide][py-mig] for details on how to update your YAML configuration.

[py-mig]: https://github.com/rcdailey/trash-updater/wiki/Python-Migration-Guide

That part specifically. Unfortunately I don't think there's really any way to have the module work with files that aren't 100% compliant with the specification due to the nature of the string parsing. Sorry!

How is this "out of the specification"? No where in the Keep A Changelog documentation does it say I can't use markdown links. It even explicitly states that there's not really a standard, it's just a guideline for how to write better changelogs.

I have no interested in having an argument about what is and is not a specification. Feel free to fork this module and release your own version that meets your needs, the MIT License allows for that. Thanks!


PowerToys Run does not respect dark mode option being enabled

Microsoft PowerToys version
0.76
Installation method
PowerToys auto-update
Running as admin
None
Area(s) with issue?
PowerToys Run
Steps to reproduce
Enable the dark mode option in the settings. Press ALT+SPACEBAR
✔ Expected Behavior
Opens run bar in dark mode like selected in settings
❌ Actual Behavior
Run bar opens in light mode instead of dark mode
Other Software
No response

/dup #30162


Add Team Page

We need to sort out the team page plugin or build out the team page manually.

It would be nice to put team members in different material cards. Material bootstrap is already implemented in the project. You just need to need the documentation: https://github.com/FezVrasta/bootstrap-material-design#cards

@PaoloRotolo That seems easy to implement do you have a link to any site that is doing this already so I can get an idea of what it visually looks like?

Check official Android Design documentation: http://www.google.it/design/spec/components/cards.html#cards-usage


2phase class added

Hi @xiongxin9000 please remove all data files and result files from repo, we only need to update 2 python files (example_two_phase.py and lbm_solver_3d_2phase_class.py).  We don't put any result files in repo. We can put input geometry file into repo, but it's a good practice to zip it first. Thanks

Thanks @xiongxin9000 , please remove that pyc file too, that's a temporary file generated by python interpreter, when we run python file, the interpreter will generate that automatically everytime.


Rename popup command and test cases

Issue
Issue number - #131
PR type
improve code quality

Pull Request Test Coverage Report for Build 584

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.3%) to 75.849%

Files with Coverage Reduction
New Missed Lines
%

file:/home/travis/build/AY1920S1-CS2103T-T10-4/main/src/main/java/seedu/address/logic/internal/gmaps/ClosestLocation.java
1
99.07%

Totals

Change from base Build 581:
0.3%

Covered Lines:
5427

Relevant Lines:
7155

💛  - Coveralls


fix for PGX numeric types sharing pointer reference

Pull Request Test Coverage Report for Build 1348

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
14 unchanged lines in 2 files lost coverage.
Overall coverage remained the same at 43.97%

Files with Coverage Reduction
New Missed Lines
%

provider/gpkg/binary_header.go
2
100.0%

cmd/tegola/cmd/cache.go
12
25.19%

Totals

Change from base Build 1336:
0.0%

Covered Lines:
5115

Relevant Lines:
11633

💛  - Coveralls


Shorts, Threes, and Ints aren’t unsigned

Noticed while testing this with reoserv that the client reads shorts, threes, and ints as signed values.
This became an issue when reoserv tried to send a a session id that was bigger than a signed short can hold.
I tried fixing this myself but it quickly became a huge change to over 100 files and broke a lot of stuff.

Yeah this is a big problem. I also went through and tried to update it to use signed values and had the same issue, 100+ files changed quickly became a headache.
The actual problem is that because NumberEncoderService takes an int, it will sign extend shorts that are greater than short.MaxValue. See: b80ff5ceea98ab0f1517a18f8c7a38e8dab4a280
What I ended up doing to resolve it is just casting to ushort client-side.
Which session id specifically was causing the issue?

In reoserv I generate a random short value between 0 and the max2 value.
https://github.com/sorokya/reoserv/blob/async-rewrite/src/player/player.rs#L154
the error was coming up during the welcome message packet. The session id reoserv sent was too big.

I'll see if I can reproduce it against reoserv. That commit I linked (b80ff5ceea98ab0f1517a18f8c7a38e8dab4a280) was working for me with larger player IDs on GameServer and etheos

Ah you’re right casting it back to unsigned does fix it. I’ll just do that for now in my branch. :P

I didn't have that issue for shorts in my testing. I also added a line to PacketBuilder that casts the short to ushort prior to calling EncodeNumber with it so it doesn't get sign-extended during encoding: https://github.com/ethanmoffat/EndlessClient/blob/5fa705fa1c38f5961ad389a69399f2b84d27d624/EOLib/Net/PacketBuilder.cs#L70
I forgot I updated it in both these places, but it was working consistently for me on both etheos and gameserver

You're right that totally fixes it. No need for the overload :)

When playing on BU, this problem is pretty apparent once you get over TWO_BYTE_MAX HP:

Adding the ushort cast fixes it but we need a more universal solution because that's gross and hacky.

I'm going to take the eolib-java approach and make everything an int instead of using exotic types.


Set local server appDataPath to short temp dir

Updates local server services sample to set app data path to short temp dir (required for some geoprocessing services).

@Rachael-E Can you please review? I'll message you on Slack with a way to test it.

@Rachael-E Interesting, I'm not able to repro it. I can see it running in the browser. I close down the app, no exception, and the directory gets deleted. @JonLavi do you see the same thing?

@JonLavi @Rachael-E I think my latest change fixes the issue. Please try it again.

No more errors for me. Tested with all three services and the provided files in sample-data\.


🐛 'noIrreguluarWhitespace' missing in 'configuration_schema.json'

Environment information
CLI:
  Version:                      1.9.0
  Color support:                true

Platform:
  CPU Architecture:             aarch64
  OS:                           macos

Environment:
  BIOME_LOG_PATH:               unset
  BIOME_LOG_PREFIX_NAME:        unset
  BIOME_CONFIG_PATH:            unset
  NO_COLOR:                     unset
  TERM:                         "xterm-256color"
  JS_RUNTIME_VERSION:           "v20.16.0"
  JS_RUNTIME_NAME:              "node"
  NODE_PACKAGE_MANAGER:         "pnpm/9.10.0"

Biome Configuration:
  Error:                        Found an unknown key `noIrreguluarWhitespace`.
  Status:                       Loaded with errors
  Formatter disabled:           false
  Linter disabled:              false
  Organize imports disabled:    false
  VCS disabled:                 false

Workspace:
  Open Documents:               0

What happened?
Title says it all, including noIrreguluarWhitespace after v1.9 upgrade throws Found an unknown key :shrug:
Expected result
noIrreguluarWhitespace should not throw an error.
Code of Conduct

[X] I agree to follow Biome's Code of Conduct

There is a typo: noIrreguluarWhitespace -> noIrregularWhitespace

Just copied it from the v1.9 release page, fyi 😉
Thanks! 🙏

Thanks, it was fixed in 71f967f


extension is unreadable on most dark themes

I'm using the "Dark+" colour theme and the search results renders poorly:

I tried a few different built-in dark themes and they all have the same problem of using black for the text: Abyss, "Dark (Visual Studio)", "Dark High Contrast", "Kimbie Dark", Monokai, "Monokai Dimmed", Red, "Solarized Dark", "Tomorrow Night Blue".
The only one that I could get to work was "Dark Modern" and OFC the light themes.
Particularly bad was the "Dark High Contrast" theme because it uses black as the background - so you have black text on a black background and the highlight is hidden:

Thanks for the report!

related to #131, need more information about why different themes have different behaviors.


AuthCallbackURL removes issuer path prefix

Using v2.6.3 example server as reference. It seems like AuthCallbackURL returns the callback path without issuer prefix, e.g. https://authserver.dev.localhost/oidc -> https://authserver.dev.localhost/auth/callback?id=dd882928-712f-480f-a9f8-33c15adaa1a8, expected correct https://authserver.dev.localhost/oidc/auth/callback?id=dd882928-712f-480f-a9f8-33c15adaa1a8.
I rolled back to http.Redirect(w, r, prefix+"/auth/callback?id="+id, http.StatusFound) as workaround as in v1.

I can confirm the issue and we will work an a fix.

The bug was in the example itself. Please see the linked PR for details.


Update requirements for Laravel 5.1

When update Laravel 5.0 to 5.1 not resolving requirements, in you composer.json you have:

"require": {
        "php": ">=5.4.0",
        "illuminate/database": "5.0.*",
        "illuminate/support": "5.0.*",
        "illuminate/filesystem": "5.0.*",
        "illuminate/config": "5.0.*"
    },

Please create new branch only for L5.1

This was intentional. I'll be updating all my packages for 5.1 in the coming week. Shinobi as it stands now is not compatible with 5.1.

Pull in v2.0.


Script fails if loaded in the "head" section

Hi,
I think it would be a nice to defer loading until window.onload event. Right now if the script is placed in the <head> section then everything fails with the following error:
alertify.js:188 Uncaught TypeError: Cannot read property 'appendChild' of null
This is because the this.parent is set document.body but since the body element is not yet created it fails. Using window.onload to initialize the object should fix this I think.
Please advise if it would be okay to submit a pull request for this?
Thanks,
San

Here are the changes I'm suggesting. Please have a look:
https://github.com/svift/alertify.js/commit/0be3635e51a992ffced3d2ee1ba8d9dc37d8e768


Allow funders/orgs/institutions in Create Plan page

Allow users to select from a Funder, Org or Institution in the Primary Research Org autocomplete box.
For example USGS, DOT and other funders who also have users creating DMPs and maintain their own templates.

Hi @briri What's the use case for including a funder in the primary research org dropdown? The create plan page has two dropdowns, the second one covering funder choices. Currently the logic is set to only include institutions and organisations in the primary research org.

Hey @sjDCC we have instances where a funder has users who would log in and create plans but at the same time are also funders
@stephaniesimms can clarify further, I cannot recall which funders in particular would fit this profile.

yes for dmptool. e.g., USGS, USAID, DOT...possibly others


Removes 150 char limit on initial_value for PlainTextInput

Related Issue
Supports #105
Related PRs
This PR is not dependent on any other PR
What does this PR do?
Slack Wrench erroneously truncates a PlainTextInput to 150 characters. I have tested this, and asked the Slack Blocks team about this - they confirm no such limit exists.
Description of Changes
This PR removes the limit on initial_value for PlainTextInput, and fixes up the related tests.
What gif most accurately describes how I feel towards this PR?

Agreed, looks true; I remember running into this limit a while back and blocks being broken, but it wasn't documented. Looks like it's fixed now - here's an example with more than 150:
https://app.slack.com/block-kit-builder/T06LN217X#{"type":"modal","title":{"type":"plain_text","text":"My App","emoji":true},"submit":{"type":"plain_text","text":"Submit","emoji":true},"close":{"type":"plain_text","text":"Cancel","emoji":true},"blocks":[{"type":"divider"},{"type":"input","element":{"type":"plain_text_input","action_id":"plain_text_input-action","initial_value":"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr150123456789"},"label":{"type":"plain_text","text":"Label","emoji":true}}]}

Published in 3.1.2


fundingmanager: check remote peer upfront shutdown support before reservation

This addresses a bug in which a funding reservation wasn't cleaned up properly if the remote peer didn't support upfront shutdown. Alternatively, we could just cancel the reservation on error, but instead we move the check above so that we don't attempt coin selection in the first place.
Fixes https://github.com/lightningnetwork/lnd/issues/4179.

This fixes the symptom described in #4179, but doesn't fix the root issue. The root issue here is that we don't always unlock any allocated UTXOs for a funding flow that encounters an error.

We do unlock them once the intent in canceled as part of failFundingFlow, but it wasn't called in this case. The commit description mentions that we could've alternatively canceled the reservation upon the error, but instead go with the approach outlined here.


Bower package?

I searched if this project is available on Bower and couldn't find it. I think it would make installation a lot easier if a bower package became available.

Bower now recommends to use npm or yarn and  webpack: https://bower.io/blog/2017/how-to-migrate-away-from-bower/
The process of adding jsonform to the npm repository is pending. In due time, I will add a mention in the docs on how to use it with webpack and the like.


Minor typo change example.md

Description
Little little typo error
Tested
NaN
Other changes
NaN
Related issues

Fixes #[issue number here]

Backwards compatibility
NaN

Sorry for not putting all the commit into one branch... :/

@jeamick It's all good, we should make the process easier to fixing our documentation. Thanks so much for fixing it!


migrate to null-safety

Hi @virskor ,
Hope you are all well !
I wanted to try your project but I was wondering if you could migrate it to null safety ?
List of missing and not migrated packages:
  flutter_swiper:
    git: https://github.com/Arkangel12/flutter_swiper
  md2_tab_indicator:
    git: https://github.com/westdabestdb/md2_tab_indicator
  flutter_absolute_path:
    git:
      url: https://github.com/ValeriusGC/flutter_absolute_path
      ref: topic/null_safety

Thanks for any insights or inputs on that.
Cheers,
Luc

this project is not full maintained at this present.@lucmichalski


Property 'public' does not exist on type 'typeof Bucket'

Hi,
I decided to jump in and try sst and I'm following the Use Astro with SST tutorial - it hasn't been a particularly quick start really 🤔
I've resolved a number of issues, but it's currently failing with the public property of Bucket. All code is copied from your tutorial here https://docs.sst.dev/start/astro, but for completeness, here's the code in index.astro (and other files - e.g. delete.ts):
import {Bucket} from "sst/constructs";
and the failing line:
...
Bucket: Bucket.public.bucketName, // Property 'public' does not exist on type 'typeof Bucket'.
...

Sorry, nevermind - I had a look at the files in the examples directory, they don't match your tutorial but I realised that I should be importing from "sst/node/bucket" instead

Just an additional note for those using it in Next.JS, I also faced the same issue even though I imported correctly from "sst/node/bucket", but the problem went away after I started running the local dev environment.


grant all on database  to user ;

Running grant all on database <base> to user <username>; (from README) returns error:
ERROR:  syntax error at or near "user"
LINE 1: grant all on database flashcard to user flashcard;
                                           ^

However, removing "user" and retrying works. I am not familiar with PostgreSQL, but maybe that needs fixing?

@oaakx Thanks for feedback. You are right, it's an error in command.


Hygieia - api call not working

Hello,
I have attached output of the api call command :
java -jar api.jar --spring.config.location=C:[path to]\Hygieia\api\api.properties -Djasypt.encryptor.password=hygieiasecret
But it will get stuck at below line:
2019-06-21 17:08:02,130 INFO  o.s.b.c.e.t.TomcatEmbeddedServletContainer - Tomcat started on port(s): 8080 (http)
2019-06-21 17:08:02,134 INFO  com.capitalone.dashboard.Application - Started Application in 13.626 seconds (JVM running for 14.474)
2019-06-21 17:44:15,772 INFO  o.a.c.c.C.[.[localhost].[/api] - Initializing Spring FrameworkServlet 'dispatcherServlet'
2019-06-21 17:44:15,773 INFO  o.s.web.servlet.DispatcherServlet - FrameworkServlet 'dispatcherServlet': initialization started
2019-06-21 17:44:15,804 INFO  o.s.web.servlet.DispatcherServlet - FrameworkServlet 'dispatcherServlet': initialization completed in 31 ms
2019-06-21 17:45:58,314 INFO  org.mongodb.driver.connection - Opened connection [connectionId{localValue:6, serverValue:21}] to localhost:27017
I do not see any progress after this, even if I try to access port 8080 with IP tomcat default page is not loading.
Also I have observed that, I will be able to get response for around 10mins by hitting:
http://localhost:8080/api/ping
I will get "true" in browser, it looks like it is working, but after 10mins, I will get
site cannot be reached.
The connection was reset.
Below is the detailed log details.
hygieia-api-log.txt
api.properties file content:
server.contextPath=/api
server.port=8080
dbname=dashboard
dbusername=dashboarduser
dbpassword=dbpassword
dbhost=localhost
dbport=27017
Any help much appreciated

Have you created database user in database as mentioned at https://hygieia.github.io/Hygieia/database.html
Since you're getting response on /api/ping that means API is up and running. As per the last line in your log file it's stuck on database connection so I am guessing there is some issue with database connection.

@bargemb , Thanks for the reply,
yes I have installed mongodb , please find the attached screenshot

Your "dashboarduser" user has read and write permissions for dashboarddb, not dashboard

@OneMoreByte Thanks a lot I corrected the permissions, after running the api command I am getting below output( last few lines),  I have cross checked my configurations and I see all good.
2019-06-21 17:45:58,314 INFO org.mongodb.driver.connection - Opened connection [connectionId{localValue:6, serverValue:21}] to localhost:27017
2019-06-22 14:45:49,054 INFO  o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext - Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@77134a33: startup date [Sat Jun 22 14:36:36 UTC 2019]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6c4586cf
2019-06-22 14:45:49,064 INFO  o.s.j.e.a.AnnotationMBeanExporter - Unregistering JMX-exposed beans on shutdown
2019-06-22 14:45:49,065 INFO  o.s.j.e.a.AnnotationMBeanExporter - Unregistering JMX-exposed beans
2019-06-22 14:45:49,070 INFO  o.s.s.c.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'

Hmm, and you still can't connect to the API with the UI?

Hi @OneMoreByte , yes correct.
Below is the last few lines from the log, I do not see any issues with mongodb connection.
2019-06-26 07:35:11,671 INFO  org.mongodb.driver.connection - Opened connection [connectionId{localValue:6, serverValue:10}] to localhost:27017
2019-06-26 07:35:11,671 INFO  org.mongodb.driver.connection - Opened connection [connectionId{localValue:7, serverValue:9}] to localhost:27017
2019-06-26 07:40:08,534 INFO  o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext - Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@580f6b73: startup date [Wed Jun 26 07:18:03 UTC 2019]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@7de03548
2019-06-26 07:40:08,546 INFO  o.s.j.e.a.AnnotationMBeanExporter - Unregistering JMX-exposed beans on shutdown
2019-06-26 07:40:08,554 INFO  o.s.j.e.a.AnnotationMBeanExporter - Unregistering JMX-exposed beans
2019-06-26 07:40:08,557 INFO  o.s.s.c.ThreadPoolTaskScheduler - Shutting down ExecutorService 'taskScheduler'
devopsdashboard-api-2019-06-26.0.log

Is this deployed locally or on a server? How are you starting the API?
If you can reach the API and then later it shuts down, it is likely because something externally is stopping it.

Hi @Sbrenthughes ,
Thanks for the update, it is deployed on RHEL 8 OS. We are starting API by using the api command. we will be able to reach the API URL also, but after sometime, it was throwing error.
But from yesterday, not getting that error, API will be running without any issues. .As you mentioned, may be some external issues not sure.

Awesome, Please note that we have moved out the API to its only repo. Please move to https://github.com/Hygieia/api. For anything further regarding the API layer.


Write effects in UF1CMA are not usable

I find this part of the post-condition of UF1CMA.mac to be
unusable.
  (buf1:Buffer.buffer a) (buf2:Buffer.buffer b) (ref:reference c) h h' : GTot Type0 =
  (forall rid. Set.mem rid (Map.domain h.h) ==>
    HH.modifies_rref rid !{Buffer.as_ref buf1, Buffer.as_ref buf2, HS.as_ref ref} h.h h'.h
    /\ (forall (#a:Type) (b:Buffer.buffer a).
      (frameOf b == rid /\ live h b /\ disjoint_2 b buf1 buf2
      /\ disjoint_ref_1 b (HS.as_aref ref)) ==> equal h b h' b))

I think you may have been relying on the intuition that the
domain of references of each heap region is disjoint from other
heap regions. As we discussed the other day, this is not the way
it is setup.
As such, the first part of the modifies_bufs_and_ref predicate
essentialy says that every region in the memory may have changed,
since !{Buffer.as_ref buf1, Buffer.as_ref buf2, HS.as_ref ref}
can actually be part of the domain of every region.
The second part of the predicate seems to be trying to recover
that buffers that do not overlap with buf1, buf2 and ref remain
unchanged, which may help for buffers, but it does not help for
other non-buffer references.
Looking into the library, I find that Buffer.modifies_bufs_and_refs
is also stated in a similar style and hence is similarly unusable.
How about instead stating the write-effect of UF1CMA.mac like so
let modifies_bufs_and_ref (#a:Type) (#b:Type) (#c:Type)
    (buf1:Buffer.buffer a)
    (buf2:Buffer.buffer b)
    (reff:HS.reference c{pairwise_distinct (Buffer.frameOf buf1) (Buffer.frameOf buf2) HS.(reff.id)})
    (h0 h1:mem) : GTot Type0 =
 let open FStar.HyperStack in
 let open FStar.Buffer in
 HS.modifies (Set.as_set [frameOf buf1; frameOf buf2; reff.id]) h0 h1 /\
 HS.modifies_ref reff.id !{HS.as_ref reff} h0 h1 /\
 Buffer.modifies_buf_1 (frameOf buf1) buf1 h0 h1 /\
 Buffer.modifies_buf_1 (frameOf buf2) buf2 h0 h1

Note, in branch c_relational-ci_r3 we have a regression in Crytpo.AEAD.Encoding line 463 (      assert(Buffer.modifies_buf_0 h.tip h h5);
)
This is since bc7494001caf3cfa83737aafac1e08eae51ebad6

The above modifies clause works for UF1CMA.mac.
UF1CMA.update modifies a buffer and a reference that live in the same region, so I used this variant:
let modifies_buf_and_ref (#a:Type) (#b:Type)
  (buf:Buffer.buffer a)
  (ref:reference b{frameOf buf == ref.id}) h0 h1 : GTot Type0 =
  HS.modifies_one ref.id h0 h1 /\
  HS.modifies_ref ref.id !{HS.as_ref ref, Buffer.as_ref buf} h0 h1 /\
  (forall (#t:Type) (buf':Buffer.buffer t).
    (frameOf buf' == ref.id /\ Buffer.live h0 buf' /\
    Buffer.disjoint buf buf' /\ Buffer.disjoint_ref_1 buf' (HS.as_aref ref)) ==>
    equal h0 buf' h1 buf')

I confirmed this worked before merging c_relational-r3_ci.
Waiting for a green on my branch before pushing (we will only notice any regressions from merging c_relational-r3_ci once CI re-runs full verification).
These changes should be ported to HaCl*.


Union type together with Data Store API

I'm currently building a website using gridsome which requests data from strapi using the Data Store API. In strapi, there are Dynamic Zones which are composed of different components. These Dynamic Zones are represented by a JSON array (in this case called Content). The components are distinguished with the __component property.
This is the response from strapi when requesting an article for example (simplified):
{
    "Title": "Testarticle",
    "Content": [
        {
            "__component": "content.rich-text",
            "text": ""
        },
        {
            "__component": "content.slider",
            "Slide": []
        }
    ]
}

This results in the following auto generated GraphQL schema in gridsome when using the Data Store API:
type Article implements Node {
    title: String
    content: {
        text: String
        slide: []
    }
}

You can see that the auto generated schema does not correctly represent the Content field because the fields of both components (RichText and Slider) are merged. Because of this, I want to use union types in gridsome so that I have a union Content = RichText | Slider as type for the Content field.
I already defined the following schema using the Schema API (I omitted the Slider component):
actions.addSchemaTypes(`
    type Article implements Node {
        id: ID!,
        title: String,
        content: Content
    }
    type RichText {
        id: ID!,
        text: String
    }
`)

actions.schema.createUnionType({
    name: 'Content',
    types: [ 'RichText' ]
})

But I also need a resolver to parse the response from strapi correctly.
And here comes the problem: I'm not sure how to build a resolver for unions and no matter how I build the resolver for the Content field, I get the error Type with name "Content" does not exists which probably occurs because I used actions.schema.createUnionType to define the type Content. To me, it seems like it is not possible to add a resolver for union types. I'm not sure whether my whole approach in gridsome is correct at all. So is there a way to solve this problem?

I’m not sure if this is still relevant since this issue is quite old already, but since I’ve just also stumbled over this, I thought I’d pitch in with what I found out:
It is not possible to add a custom resolver for __resolveType with addSchemaResolvers because the of the error described in the initial report (this is true for Union Types as well as Interfaces in general).
However, I’ve found a workaround. Since the schema.createUnionType-Method looked pretty much like the class described here I figured it would be worth trying to add a resolveType-Method there—and yay, it works.
So in the OP’s case this should work:
    addSchemaTypes([
      schema.createUnionType({
        name: 'Block',
        types: ['RichText', 'Slider'],
        resolveType(obj) {
          if (obj.__component === 'content.rich-text') return 'RichText';
          if (obj.__component === 'content.slider') return 'Slider';
        },
      }),
    ]);

I’m wondering now, whether this is just something that should be documented, or whether this is a hack and I shouldn’t be doing it, because it might break in the future. If the latter is the case, what’s the “official” solution for a case like this?
I feel like a lot of users trying to implement some sort of modular content system for their sites will run into this sooner or later.

Thank you, your solution works!
Didn't have the time to look at this in the last months but just gave it a try and it worked.
It seems like this is the correct solution for the problem although it isn't documented in the gridsome docs (the fact that the function is wrongly documented makes it worse, I almost gave up on this).
But an answer from the devs would be nice to clarify this...

Thank you @amxmln the solution works for me as well!

Thanks @amxmln , the solution works! I would tend to think that this is a common requirement, as I had the exact same use case working with a different headless cms (prismic, using their "slices" feature).

I close this issue for now, feel free to reopen :)


Add .repos file for setting up an Autoware workspace using vcs

New feature implementation
Implemented feature
Use the vcs tool to set up an Autoware workspace when building from source.
Implementation description
This provides the autoware.repos file, which is a description of the repositories and versions that need to be checked out into a workspace to build Autoware from source.
This version of the file is for the master branch of Autoware. Versions can be made in tags of this repository to provide different versions, such as the 1.12 release.

The URLs in this .repos file are all in the SSH format. Should we default to the https format for users who don't plan to interact with them via GitHub/don't have SSH keys set up?

Good catch, @JWhitleyAStuff. I'll fix the URLs.


Segmentation fault when trying to create new file [BUG]

Describe the bug
When trying to create a new file, ptext crashes with a segfault.
To Reproduce

Clone, build with default options
Run ptext /tmp/some-new-file.txt

Expected behavior
Should not crash, instead create the file when saving.
Desktop

OS Distro: NixOS 24.05

Hello :) Thank you for reporting.
I fixed it in a481bfcc325370c665b9a535f3a5ff4083b42dc7

Also I am really sorry for this childish problem, I don't really have time for ptext nowadays :)


pobrien/add timeout to tests

A couple of local sentinel/redis tests fail because test runtime exceeds the default.  Add timeouts to these tests to fix the problem.
/cc @zendesk/zendesk-radar
Steps to merge

[ ] :+1: of the team

References

Jira link: none

Risks

None

I'm going to close this PR as I intended it to show up on the zendesk/simple_sentinel fork.  So I'll redo this there.


Deprecate actions-rs actions

actions-rs actions are unmaintained and archived, we should not be using them. Luckily we weren't really using anything special from them: using rustup(that is part of the GitHub image) and cargo directly should give us the same results

Use rustup and cargo instead of specific actions
Use Swatinem/rust-cache to speed up builds

The second part is of course optional. I added it since

it does speed things up: CI is >1 min faster on wall clock and 4-5 mins faster in total jobs duration
doing the same thing without a 3rd party action likely leads to annoying debug situations later (rust-cache key calculation seems quite extensive)

Fixes #414

If you want to see that the cache works, re-running all CI jobs should work.

Instead of using Swatinem/rust-cache we could use the GitHub's official cache action.
Something like that should work:
      - name: Setup Cache
        uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
            target
          key: ${{ runner.os }}-cargo-clippy-${{ hashFiles('**/Cargo.lock') }}

This is taken from here

Sure, I can do that. I wonder if that approach has issues with compiler/toolchain changes though... I suppose if we separate the nightly cache from stable cache these issues might be rare enough.

You're right. Let's stick with your original PR. Can you please rebase it against the main branch?

rebased on main, no other changes


Increase workload on server process in JLM tests

Increase workload on server process in JLM tests
Signed-off-by<EMAIL_ADDRESS><EMAIL_ADDRESS>

JLM tests that involve a server process running a worklaod while a client process tries to communicate to it via JLM API are sporadically failing across platforms due to the server process finishing too early while the client is still trying to read.
This PR increases the workload in the server for all JLM tests. It doesn't hurt since once the client finishes, the server process is killed by the test.
Related: https://github.com/AdoptOpenJDK/openjdk-systemtest/issues/246


Resolve import under cursor not returning imports even though it seems to be finding them

First of all great job!! :D :D  This is one of the most important missing components for Python development in NeoVim.
The resolve-import-under-cursor option at the moment cannot resolve modules that exist in the running conda environment and have never been imported in the project yet. Would this be sth that could be supported? The path to the running Conda Env can be found using the CONDA_PREFIX environment variable.
Again, kudos to the amazing work!! :) :)

Upon looking a bit further I discovered that the issue does not seem to be related to support for conda environments as the plugin is looking into the relevant sys paths. I can see that the module is somewhat found but still I get the `No results in the current environment``` message.
In the below example I just want to import the databricks.sdk.WorkspaceClient. After running the resolve-import-under-cursor using Debug mode I am seeing the following logs:

It seems that the plugin is finding the relevant import as a candidate but still not returning it. I am having the same issue with less "exotic" packages

Hi, thanks for the feedback.
Could you try udpating pymple to its latest version, try the resolve import feature again and tell me if you still get that behavior ?

@alexpasmantier At first glance the feature seems to be working correctly now! :) Great job once again!!


🌱 Bump kustomize version to 3.9.1

What this PR does / why we need it:
Bump kustomize version to 3.9.1

/test-integration

/test-integration

/cc @furkatgofurov7
/cc @kashifest

/cc @furkatgofurov7
/cc @kashifest

/test-integration

/test-integration

Not sure if it is failing because of this needed to be updated or something else? or it was just a flake in CI :/

Not sure if it is failing because of this needed to be updated or something else? or it was just a flake in CI :/

IMO we should keep the kustomize version close to CAPI's allowed kustomize to keep the sync, is there any specific reason we are bumping it to newest ?

IMO we should keep the kustomize version close to CAPI's allowed kustomize to keep the sync, is there any specific reason we are bumping it to newest ?

IMO we should keep the kustomize version close to CAPI's allowed kustomize to keep the sync, is there any specific reason we are bumping it to newest ?

I have updated this version in CAPI as well (PR isn't merged yet though). No specific reason, just to sync with the latest + with CAPI's version.

IMO we should keep the kustomize version close to CAPI's allowed kustomize to keep the sync, is there any specific reason we are bumping it to newest ?

I have updated this version in CAPI as well (PR isn't merged yet though). No specific reason, just to sync with the latest + with CAPI's version.

IMO we should keep the kustomize version close to CAPI's allowed kustomize to keep the sync, is there any specific reason we are bumping it to newest ?

I have updated this version in CAPI as well (PR isn't merged yet though). No specific reason, just to sync with the latest + with CAPI's version.

Then I guess lets wait for CAPI to merge it and then we can test this PR again. I believe we need to change the same in m3-dev-env also (I dnt remember if we install it there or we use CAPI/CAPM3 kustomize)

IMO we should keep the kustomize version close to CAPI's allowed kustomize to keep the sync, is there any specific reason we are bumping it to newest ?

I have updated this version in CAPI as well (PR isn't merged yet though). No specific reason, just to sync with the latest + with CAPI's version.

Then I guess lets wait for CAPI to merge it and then we can test this PR again. I believe we need to change the same in m3-dev-env also (I dnt remember if we install it there or we use CAPI/CAPM3 kustomize)

Then I guess lets wait for CAPI to merge it and then we can test this PR again. I believe we need to change the same in m3-dev-env also (I dnt remember if we install it there or we use CAPI/CAPM3 kustomize)

In metal3-dev-env we install it directly I believe.

Then I guess lets wait for CAPI to merge it and then we can test this PR again. I believe we need to change the same in m3-dev-env also (I dnt remember if we install it there or we use CAPI/CAPM3 kustomize)

In metal3-dev-env we install it directly I believe.

IMO we should keep the kustomize version close to CAPI's allowed kustomize to keep the sync, is there any specific reason we are bumping it to newest ?

I have updated this version in CAPI as well (PR isn't merged yet though). No specific reason, just to sync with the latest + with CAPI's version.

Then I guess lets wait for CAPI to merge it and then we can test this PR again. I believe we need to change the same in m3-dev-env also (I dnt remember if we install it there or we use CAPI/CAPM3 kustomize)

Sure. Just interested to know, why do you think we need to wait until it gets merged in CAPI? Are there some dependencies?

IMO we should keep the kustomize version close to CAPI's allowed kustomize to keep the sync, is there any specific reason we are bumping it to newest ?

I have updated this version in CAPI as well (PR isn't merged yet though). No specific reason, just to sync with the latest + with CAPI's version.

Then I guess lets wait for CAPI to merge it and then we can test this PR again. I believe we need to change the same in m3-dev-env also (I dnt remember if we install it there or we use CAPI/CAPM3 kustomize)

Sure. Just interested to know, why do you think we need to wait until it gets merged in CAPI? Are there some dependencies?

IMO we should keep the kustomize version close to CAPI's allowed kustomize to keep the sync, is there any specific reason we are bumping it to newest ?

I have updated this version in CAPI as well (PR isn't merged yet though). No specific reason, just to sync with the latest + with CAPI's version.

Then I guess lets wait for CAPI to merge it and then we can test this PR again. I believe we need to change the same in m3-dev-env also (I dnt remember if we install it there or we use CAPI/CAPM3 kustomize)

Sure. Just interested to know, why do you think we need to wait until it gets merged in CAPI? Are there some dependencies?

Sure. Just interested to know, why do you think we need to wait until it gets merged in CAPI? Are there some dependencies?

Then we would know if we need to change something from our side regarding the way kustomize is used in m3-dev-env. If you remember CAPI's 3.5.5 was not able to kustomize CAPM3. We needed to use 3.8.x to get it work.

IMO we should keep the kustomize version close to CAPI's allowed kustomize to keep the sync, is there any specific reason we are bumping it to newest ?

I have updated this version in CAPI as well (PR isn't merged yet though). No specific reason, just to sync with the latest + with CAPI's version.

Then I guess lets wait for CAPI to merge it and then we can test this PR again. I believe we need to change the same in m3-dev-env also (I dnt remember if we install it there or we use CAPI/CAPM3 kustomize)

Sure. Just interested to know, why do you think we need to wait until it gets merged in CAPI? Are there some dependencies?

Sure. Just interested to know, why do you think we need to wait until it gets merged in CAPI? Are there some dependencies?

Then we would know if we need to change something from our side regarding the way kustomize is used in m3-dev-env. If you remember CAPI's 3.5.5 was not able to kustomize CAPM3. We needed to use 3.8.x to get it work.

/test-integration

Could it be that this is failing due the actual Kustomize version we install in dev-env? It is 3.8.5 in there. Seems I need to update it there first to pass the integration test here.

/close
This is already done  by @kashifest


How to rewrite Nmap::Program(Nmap::Task.new

Hi there,
I have this code:
    Nmap::Command.find.sudo_task(Nmap::Task.new do |nmap|
      nmap.ping = true
      nmap.arp_ping = arp_ping
      nmap.skip_discovery = false
      nmap.disable_dns = true
      nmap.ipv6 = ip_address.ipv6?
      nmap.verbose = false
      nmap.quiet = true
      nmap.xml = temp_file.path
      nmap.targets = [ip]
    end)

Can you please shed how to write this to work in the latest verson? -- I tried changing Nmap::Program to Nmap::Command but it throws:
NoMethodError: undefined method `find' for Nmap::Command:Class

Ah, it seems now this is:
    Nmap::Command.sudo do |nmap|
      nmap.ping = true
      nmap.arp_ping = arp_ping
      nmap.skip_discovery = false
      nmap.disable_dns = true
      nmap.ipv6 = ip_address.ipv6?
      nmap.verbose = false
      nmap.quiet = true
      nmap.output_xml = temp_file.path
      nmap.targets = [ip]
    end

Yep, see the UPGRADING guide which basically tells you what strings to replace in order to migrate from 0.10.0 to 1.0.0.
Also Nmap::Command.run and Nmap::Command.sudo can accept keyword arguments, but that can get pretty long.


Json defaults not parsed correctly

Bug description
When trying to set a deafult in a json field it will output the deafult in the migration.sql file with out ' and thus it will throw an error when trying to migrate because mysql doesn't know what to do with the deafult value this also only seems to be a problem as of 3.7.0 because in 3.6.0 it was working as expected for me
How to reproduce

Create a model with a Json field that has a deafult value (either array or object both is broken)
Run prisma migrate dev --name test
The error will be thrown

Expected behavior
I expect it to create a migration and migrate successfully applying the defaults in the process
Prisma information
My models that use the json field with defaults
model Members {
  id           Int           @id @default(autoincrement())
  guild        String        @db.VarChar(19)
  inviter      String?       @db.VarChar(19)
  user         String        @db.VarChar(19)
  inviteCount  Json          @default("{\"regular\":0,\"left\":0,\"fake\":0,\"bonus\":0}")
  GuildConfigs GuildConfigs? @relation(fields: [guild], references: [guild])
}

model Suggestions {
  id           Int              @id @default(autoincrement())
  guild        String           @db.VarChar(19)
  channel      String           @db.VarChar(19)
  message      String           @db.VarChar(19)
  upVoters     Json             @default("[]")
  downVoters   Json             @default("[]")
  status       SuggestionStatus
  proposer     String           @db.VarChar(19)
  suggestion   String           @db.Text
  GuildConfigs GuildConfigs     @relation(fields: [guild], references: [guild])
}

Environment & setup

OS: Windows 10
Database: Mysql
Node.js version: 16.6.1

Prisma Version
prisma                  : 3.7.0
@prisma/client          : 3.7.0
Current platform        : windows
Query Engine (Node-API) : libquery-engine 8746e055198f517658c08a0c426c7eec87f5a85f (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 8746e055198f517658c08a0c426c7eec87f5a85f (at<EMAIL_ADDRESS>Introspection Engine    : introspection-core 8746e055198f517658c08a0c426c7eec87f5a85f (at<EMAIL_ADDRESS>Format Binary           : prisma-fmt 8746e055198f517658c08a0c426c7eec87f5a85f (at<EMAIL_ADDRESS>Default Engines Hash    : 8746e055198f517658c08a0c426c7eec87f5a85f
Studio                  : 0.445.0

What is the error?
What is the broken SQL?
What does the Prisma Schema look like when you use prisma db pull on a database with such a Json default?
This is most probably the result of us undoing a patch that produced problem in another area. We are generally aware some thing around MySQL and defaults are broken and will hopefully work on fixing those soon.

What is the error? What is the broken SQL? What does the Prisma Schema look like when you use prisma db pull on a database with such a Json default?
This is most probably the result of us undoing a patch that produced problem in another area. We are generally aware some thing around MySQL and defaults are broken and will hopefully work on fixing those soon.

Error
Error: P3018

A migration failed to apply. New migrations cannot be applied before the error is recovered from. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve

Migration name:<PHONE_NUMBER>3328_test

Database error code: 1064

Database error:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '[],
    MODIFY `winners` JSON NOT NULL DEFAULT [],
    MODIFY `prize` VARCHAR...' at line 10

Please check the query number 5 from the migration file.

Generated sql for the models posted in the issue
ALTER TABLE `Giveaways` DROP COLUMN `channelId`,
    DROP COLUMN `guildId`,
    DROP COLUMN `hosterId`,
    DROP COLUMN `messageId`,
    ADD COLUMN `channel` VARCHAR(19) NOT NULL,
    ADD COLUMN `guild` VARCHAR(19) NOT NULL,
    ADD COLUMN `hoster` VARCHAR(19) NULL,
    ADD COLUMN `message` VARCHAR(19) NOT NULL,
    MODIFY `entrants` JSON NOT NULL DEFAULT [],
    MODIFY `winners` JSON NOT NULL DEFAULT [],
    MODIFY `prize` VARCHAR(191) NOT NULL,
    MODIFY `drawAt` DATETIME(3) NOT NULL;

ALTER TABLE `Members` DROP COLUMN `guildId`,
    DROP COLUMN `inviterId`,
    DROP COLUMN `userId`,
    ADD COLUMN `guild` VARCHAR(19) NOT NULL,
    ADD COLUMN `inviter` VARCHAR(19) NULL,
    ADD COLUMN `user` VARCHAR(19) NOT NULL,
    MODIFY `inviteCount` JSON NOT NULL DEFAULT {"regular":0,"left":0,"fake":0,"bonus":0};

When pulling it's not a json field as mysql doesn't know it's a json field it just thinks it's LongText, but here is what it looks like when i pull it anyway
model Giveaways {
  id           Int          @id @default(autoincrement())
  active       Boolean      @default(true)
  winnerCount  Int
  entrants     String       @default("[]") @db.LongText
  winners      String       @default("[]") @db.LongText
  prize        String
  drawAt       DateTime
  channel      String       @db.VarChar(19)
  guild        String       @db.VarChar(19)
  hoster       String?      @db.VarChar(19)
  message      String       @db.VarChar(19)
  GuildConfigs GuildConfigs @relation(fields: [guild], references: [guild])

  @@index([guild], map: "Giveaways_guild_fkey")
}

model Members {
  id           Int          @id @default(autoincrement())
  inviteCount  String       @default("{\"regular\":0,\"left\":0,\"fake\":0,\"bonus\":0}") @db.LongText
  guild        String       @db.VarChar(19)
  inviter      String?      @db.VarChar(19)
  user         String       @db.VarChar(19)
  GuildConfigs GuildConfigs @relation(fields: [guild], references: [guild])

  @@index([guild], map: "Members_guild_fkey")
}

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '[],

Are you actually using MariaDB, and not MySQL? What version?

When pulling it's not a json field as mysql doesn't know it's a json field it just thinks it's LongText, but here is what it looks like when i pull it anyway

So is it actually a Json field or is it a LONGTEXT as the native database type implies?

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '[],

Are you actually using MariaDB, and not MySQL? What version?

When pulling it's not a json field as mysql doesn't know it's a json field it just thinks it's LongText, but here is what it looks like when i pull it anyway

So is it actually a Json field or is it a LONGTEXT as the native database type implies?

I am actually using MySQL, I am using Json in my model as you can see but prisma uses a TEXT field on the backend and not json

I am actually using MySQL

Ok, then something really weird is happening as the error message I quoted from your original message definitely says "MariaDB" - so there is a MariaDB server running and giving you this error message.

I am using Json in my model as you can see but prisma uses a TEXT field on the backend and not json

How did you create this SQL table? Using Prisma Migrate from the model you shared?

I am actually using MySQL

Ok, then something really weird is happening as the error message I quoted from your original message definitely says "MariaDB" - so there is a MariaDB server running and giving you this error message.

I am using Json in my model as you can see but prisma uses a TEXT field on the backend and not json

How did you create this SQL table? Using Prisma Migrate from the model you shared?

It's all created via the use of either prisma migrate or prisma db push

Internal: Next step: What does a real Json field in a MySQL database introspect or migrate as?

Ok, after an internal conversation I know more:
Re Introspection, Json and Longtext:
MariaDB surprisingly does not really support JSON as a data type, but maps it to LONGTEXT under the hood: https://mariadb.com/kb/en/json-data-type/ This might lead to unexpected behavior when introspecting a MariaDB database with Prisma. We could add handling of this to Re-Introspection (when you already have a schema with Json as the Prisma scalar type), but there are other cases where this would not help to get Json into your schema (no schema).
Re what you are experiencing:
This is a regression of a regression unfortunately that affects MariaDB and MySQL in specific circumstances. We will try to fix this soon and handle this in a way that works consistently.
You can probably use dbgenerated() in the meantime: https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#dbgenerated Instead of having @default("[]") try using @default(dbgenerated("[]"))

Ok, after an internal conversation I know more:
Re Introspection, Json and Longtext: MariaDB surprisingly does not really support JSON as a data type, but maps it to LONGTEXT under the hood: https://mariadb.com/kb/en/json-data-type/ This might lead to unexpected behavior when introspecting a MariaDB database with Prisma. We could add handling of this to Re-Introspection (when you already have a schema with Json as the Prisma scalar type), but there are other cases where this would not help to get Json into your schema (no schema).
Re what you are experiencing: This is a regression of a regression unfortunately that affects MariaDB and MySQL in specific circumstances. We will try to fix this soon and handle this in a way that works consistently. You can probably use dbgenerated() in the meantime: https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#dbgenerated Instead of having @default("[]") try using @default(dbgenerated("[]"))

Thanks for taking your time to look at it, and I've already switched back to v3.6.0 for the time being as the things that were fixed in 3.7.0 didn't affect me so I'll be using 3.6.0 till there is a fix available.


[WIP] update global.json

Fixes #2902
Fixes #5486
Fixes #5250
WIP since this is still missing the VS info. Please let me know if this looks good/accurate so far and how I can describe the VS info.

@johnbeisner

@johnbeisner can you ensure your concerns are addressed.

@KathleenDollard @nguerrera @johnbeisner this is ready for a new review. I've left issue #5486 out of this update so I can understand that scenario better. But let me know if you feel that should come as part of this update as well. Please let me know if the topic looks good or if there's any other concerns I should address. Thanks!


[PLAT-2146] POC for drag selection

Summary
POC for drag selection (uses unreleased protos, so @vertexvis/frame-streaming-protos must be linked).
Example viewer with this change:
<vertex-viewer
  id="viewer"
  config-env="platdev"
  src='urn:vertexvis:stream-key:key'
>
  <vertex-viewer-drag-select></vertex-viewer-drag-select>

  <vertex-viewer-toolbar placement="top-right">
    <vertex-viewer-view-cube
      class="view-cube"
    ></vertex-viewer-view-cube>
  </vertex-viewer-toolbar>
</vertex-viewer>

Once added, a left mouse button click + drag will draw a rectangle on screen (with an inclusive/exclusive style based on the direction from the mouse down position, though the pass through isn't currently wired up). Letting up on the left mouse button will send an operation to select items using a VolumeIntersectionQuery.

From a poc standpoint this looks good. Do you have the intention to merge this, or build on this with later work?

From a poc standpoint this looks good. Do you have the intention to merge this, or build on this with later work?

No intentions on merging, but may build on this work moving forward, though my thinking is that I'll at least want to move toward a more generic component (i.e. <viewer-drag-operation-tool> or similar) that would support performing various scene().items() style operations, so there might not be a ton left to do with this branch/PR. Wanted to open it as a Draft PR though just for visibility on what's in the POC

Closing in favor of #447


[ZenDesk ticket 3116118] Bump paas-admin to v0.35.0 (scale to 512M memory)

What
This version of paas-admin has 512M defined for memory in the
manifest[1].
[1] https://github.com/alphagov/paas-admin/pull/94
How to review
In my opinion code review of this and the related pull request is sufficient.
It is intended to fix the issue defined in ZenDesk ticket 3116118, so if you have a lot of time on your hands you can see if it fixes/mitigates the issue, but I can do that on support.
Who can review
Anyone but me.

I don't have access to the private link, but I would like to do the merge to drive out any GPG problems on my system. Reviewer: please poke me when this is accepted for merge so I can do the merge_pr.

Happy with this. @jpluscplusm take it away for testing your GPG setup.

@jpluscplusm bump.