Missing type in @ApiProperty for optional strings

A simple model in the schema.prisma:
model SimpleModel {
  requiredString String
  optionalString String?
}

This generates a simple-model.dto.ts:
export class SimpleModel {
  @ApiProperty()
  requiredString: string;
  @ApiProperty({
    nullable: true,
  })
  optionalString: string | null;
}

When using @nestjs/swagger, the OpenAPI definition for the SimpleModelDto looks like this:
{
  "openapi": "3.0.0",
  "components": {
    "schemas": {
      "SimpleModelDto": {
        "type": "object",
        "properties": {
          "requiredString": {
            "type": "string"
          },
          "optionalString": {
            "type": "object",
            "nullable": true
          }
        }
      }
    }
  }
}

As you can see, the type of the optionalString is "object" instead of "string". This leads to problems when using a generator in the frontend like e.g. OpenAPI Generator.
When including the type in the @ApiProperty like:
export class SimpleModel {
  @ApiProperty({
    type: 'string',
    nullable: true,
  })
  optionalString: string | null;
}

the resulting OpenAPI json sets the correct type:
{
  ...
          "optionalString": {
            "type": "string",
            "nullable": true
          }
  ...
}

I did not find any option to force the generator to include the type in the @ApiProperty. I could extend the generated dtos and manually set the types for all optional strings, but this somehow contradicts the purpose of generating classes. So I would love to see either adding types for optional strings or having a global option to always include the types in the @ApiProperty (and all other relevant decorators, I guess).

Which version of @nestjs/swagger are you using?
npm ls @nestjs/swagger

Sorry, you are right, I missed adding version information!
@nestjs/core: 10.3.4
@nestjs/swagger: 7.3.0
@brakebein/prisma-generator-nestjs-dto: 1.20.0
prisma: 5.11.0
Actually I wonder if this isn't a bug of the @nestjs/swagger package as it sets the correct type on mandatory strings even if you do not specify it via @ApiProperty, but sets it as "object" if it is an optional string. Anyway, having the generator explicitly set the type would be a nice workaround ;)

I have two projects running: 1. is using<EMAIL_ADDRESS>where the same bug appears as described above. 2. is using<EMAIL_ADDRESS>where everything looks fine. I may need to look deeper into it.

Hm, I updated the one project to<EMAIL_ADDRESS>as well, but it's still not inferring the type on optional fields. The DTOs look pretty much the same. I don't know what's the difference between the one project where it just works fine, and the other with same issue as described by you. I think the easiest solution is to always explicitly add the type property as you suggested.

Please check out version 1.21.0-beta, which now explicitly sets the type property of the @ApiProperty decorator.

Beautiful, exactly what I needed! Works perfectly fine for me, I could basically remove all dtos that extended the generated dtos.
Like I said, I guess the actual bug is not in this package but somewhere in the @nestjs/swagger package. Your changes though make the generated dtos very explicit which I think is a pretty good thing :)
Thanks a lot for your support!


global: explicitly set and use hide attribute for config

:heart: Thank you for your contribution!
Description
A hide attribute is accessed at some places within the existing code already. These changes will explicitly set this attribute and use it in other places in the code as well. This will allow to hide login with an external account, while at the same time, allow to link an external account in the profile view.
Per default, hide will evaluate to False in order to be compliant with the current logic.
Example config:

def anon_user():
    return not current_user.is_authenticated

helper = k.KeycloakSettingsHelper(
    title="Local KeyCloak",
    description="My organization authentication provider",
    base_url="http://localhost:8087",
    realm="damap",
    # hide_when=anon_user
)

OAUTHCLIENT_REMOTE_APPS = dict(
    orcid={
        **orcid.REMOTE_APP,
        "hide": LocalProxy(lambda: anon_user()),
    },
    keycloak={
        **helper.remote_app,
    },
)

Login only via local keycloak:

Linking of accounts with ORCID also possible:

Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:

[ ] I'm aware of the code of conduct.
[ ] I've created logical separate commits and followed the commit message format.
[ ] I've added relevant test cases.
[ ] I've added relevant documentation.
[ ] I've marked translation strings (for relevant code).
[ ] I've followed the CSS/JS and React guidelines (for relevant code).
[ ] I've followed the web accessibility guidelines (for relevant code).
[ ] I've followed the user interface guidelines (for relevant code).
[ ] I've identified the copyright holder(s) and updated copyright headers for touched files (>15 lines contributions).
[ ] I've NOT included third-party code (copy/pasted source code or new dependencies).

Third-party code
If you've added third-party code (copy/pasted or new dependencies), please reach out to an architect.
Reminder
By using GitHub, you have already agreed to the GitHub’s Terms of Service including that:

You license your contribution under the same terms as the current repository’s license.
You agree that you have the right to license your contribution under the current repository’s license.

@rekt-hard suggested disabling the /oauth/<remote-app>/ endpoint if the hide config for <remote-app> evaluates to True.
Otherwise, users can still use that OP to authenticate, even if it's hidden.
I'll merge this PR once that functionality is added.
For dynamic cases (e.g. only allow a given OP for linking but not registering), see the example configuration.


Suggestion: "Lock" posisjon of game tile for x seconds when you hoover your mouse over it

Problem: when you click join a game, but a new game is created/launched reordering the tiles so you click to join another game. This has happened to me multiple times
My suggestion: As in title,  "Lock" posisjon of game tile for x(4?) seconds when you hoover your mouse over it.  But maybe there is a better way to solve the problem?

I feel you man. I remember trying to fix it, by always pre-selecting the first game in the list, but either it's bugged or it's not yet in master :)

We could generate an initial amount of game tiles then populate them with game info, removing the info and not the game tile itself to lock its position. When we add new games we just find the first empty tile. This could get a bit more complex with hiding private games


Beta 14 Stream error result: Failed

Stream error result: Failed
Details: [WNSError] Xccs : ErrorCallingWNS : Send command failed : State WaitingForServerToRegister

Beta 14.  Error is displayed when attempting to connect to console to stream.  Beta 12 and 13 did not give this result.

I, too, have the same error. I'm running macOS Ventura 13.5.2.

Sometimes the xbox will lose connection to the xbox servers and then this error pops up. A restart of the xbox should resolve the issue.


Readme

Please provide a readme file to understand your website

i added the readme please review and if you like please give the start to repo


Error when create new custom firmware!

I have tried to create my custome firmware with some pre-installed packages! However, https://firmware-selector.openwrt.org/ return no action or information after I cliked [REQUEST BUILD]! After trying to know what happening, I have found out that error:
index.js:118
   POST https://sysupgrade.openwrt.org/api/v1/build net::ERR_ABORTED 502 (Bad Gateway)

So please solving this! Thanks so much!

It's my fault DNS setting! So sorrry about this mistake!

Actually, it is not faulty of network! Maybe https://sysupgrade.openwrt.org has problem!

+1
I'm also having the same issue when trying to request build. nothing happens after request build button is clicked.

@aparcar firmware selector / ASU server/s are down - maybe not down, but not working.

Yes. Same here. And it's been like this for some time now.

$ curl -D - https://sysupgrade.openwrt.org/
HTTP/2 500
access-control-allow-credentials: true
access-control-allow-headers: *
access-control-allow-methods: POST, GET, OPTIONS
access-control-allow-origin: *
access-control-expose-headers: Authorization
alt-svc: h3=":443"; ma=2592000
content-type: text/plain; charset=utf-8
date: Sat, 07 Sep 2024 06:23:16 GMT
server: Caddy
server: uvicorn
vary: Origin
content-length: 21

Internal Server Error

Yeah, no idea why the backend is down. But this concerns the backend (ASU: https://github.com/openwrt/asu) and not the frontend, the OpenWrt Firmware Selector.
As such I will close this issue. Please report on the ASU project page or in the OpenWrt forum. Thank you for your concerns.


Can't get page name when using tabs

Ionic version:  (check one with "x")
[ ] 1.x
[x ] 2.x
I'm submitting a ...  (check one with "x")
[ ] bug report
[ x] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
I have 4 tabs in my HomePage.
Assuming I'm inside my UserPage which is a tab in my Homepage.
I run this:
console.log(this.viewCtrl.name);
and the output is: HomePage (Although i'm inside my UserPage which is inside my HomePage).
Expected behavior:
Get the current component name inside tab:
UserPage
Steps to reproduce:

Create tabs as your main component:

  <ion-tabs>
    <ion-tab tabIcon="globe" tabTitle="1" [root]="aPage"></ion-tab>
    <ion-tab tabIcon="home" tabTitle="2" [root]="bPage"></ion-tab>
    <ion-tab tabIcon="aperture" tabTitle="3" [root]="cPage"></ion-tab>
    <ion-tab tabIcon="people" tabTitle="4" [root]="dPage"></ion-tab>
  </ion-tabs>

When you will access a,b,c,d pages - viewCtrl and navCtrl names will be still HomePage.

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Ionic 2 final 2.0

Thanks for opening an issue with us, we will take a look at this.


Refractor : Replace variable names of tabbed-instructions.js  to minimize confusion

The tabbed_instructions.js variable name language was super confusing.
Solution : Replaced "language" in tabbed-instructions.ts by "tab_key" and "tab_name" in tabbed-sections.py by "tab_key"
https://github.com/zulip/zulip/issues/24669

@andersk is it okay now? or anything left?

hii @andersk can you review it once I have made the changes

This PR can also be closed in favor of https://github.com/zulip/zulip/pull/26092.

Closed in favor of #26092.


The Move Buttons Are Unable To Move To The Next Moderation Page

HI ! When i try to moderate this issue keeps happening again and again in different moderation panel with the extension. I am unable to switch between different moderation tabs it gets hanged or stuck. This keeps on happening every time at the end I have to refresh the page in order to be able to moderate again.It gets stuck and you are unable to do anything in the moderation tab.
Here is the detailed video describing the issue. Please have a look:
https://drive.google.com/file/d/1S3pMkn4QY3yEFfrWB90g2m0kNvrddhdo/preview

Got it!
Tools that enhances mod all page needs to be reconstructed. In the next release, the tools will be in BETA stage

Great ! Good job

I will close this issue because I have found the exact cause of this problem which is related to Brainly and it's already been reported to them.
For example, https://brainly.in/question/11362775 this question has a response that contains Latex contents init and this fails browser to parse the content. Therefore, moderation panel can't continue to moderate.
I can't fix this issue directly but I can probably find a workaround to close the failed moderation panel at least.


Create Your First ABAP Console Application

Tutorial URL: https://developers.sap.com/tutorials/abap-environment-console-application.html
Please specify the step you are referring to:Step 5, and 6, "Done" button are not working.
Step 7 when entered content and pressed says "Technical Error".
Kindly check.
Thank you,
Jakes

ok, able to proceed now with multiple session refresh, thank you.


1.6 - Introduce option to suppress offers

Backport of 552fd4bb (#6351)
This reverts commit bb6420c4.

Bring back the logic for offer suppression and introduction a
command-line option to enable it.
Documentation.

JIRA Issues: MARATHON-8309

No squash and merge, please


Fennec FDroid & Mull support

Is there any potential for making this compatible with Fennec FDroid, and Mull browser?

Should work out-of-box

Ah! Indeed it does! Thank you!

Hi, I think it did work but stopped for Fennec.
version 119.1.0
org.mozilla.fennec_fdroid
versionCode 1191020

Hi, I think it did work but stopped for Fennec.
version 119.1.0 org.mozilla.fennec_fdroid versionCode 1191020

It works on my machine. 120.0.0 (Build #1200020)

F-Droid:

Fennec:

What can I Do to fix this?

@anibyl

Does any other xposed module work on your phone?

Is Fennec in module scope?

Chipping in to say, Mull and Fennec FDROID work for me still.

1. Does any other xposed module work on your phone?

My apologies. I think it worked on my previous phone that was LineageOS and rooted with some modules installed. My current phone runs unrooted GrapheneOS, and I don't think xposed modules can run on it.
Sorry!


When the server memory is less than 3G performing tasks error

version

3.0.0
This version has increased control of the server resources

Problem

Performing tasks error

java.lang.Exception: java.lang.Exception: Cannot request memory (Xms 64 kb, Xmx 65536 kb) from system for job testjava
    at azkaban.jobtype.HadoopJavaJob.run(HadoopJavaJob.java:190)
    at azkaban.execapp.JobRunner.runJob(JobRunner.java:590)
    at azkaban.execapp.JobRunner.run(JobRunner.java:443)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Cannot request memory (Xms 64 kb, Xmx 65536 kb) from system for job testjava
    at azkaban.jobExecutor.ProcessJob.run(ProcessJob.java:86)
    at azkaban.jobtype.HadoopJavaJob.run(HadoopJavaJob.java:187)
    ... 7 more

azkaban-exec-server Requires that the server memory free must be greater than 3 g or any task error, and does not support parameter configuration
public synchronized static boolean canSystemGrantMemory(long xms, long xmx, long freeMemDecrAmt) {
    if (!memCheckEnabled) {
      return true;
    }

    //too small amount of memory left, reject
    if (freeMemAmount < LOW_MEM_THRESHOLD) {
      logger.info(String.format("Free memory amount (%d kb) is less than low mem threshold (%d kb),  memory request declined.",
              freeMemAmount, LOW_MEM_THRESHOLD));
      return false;
    }

boolean isMemGranted =
          SystemMemoryInfo.canSystemGrantMemory(memPair.getFirst(),
              memPair.getSecond(), freeMemDecrAmt);
      if (!isMemGranted) {
        throw new Exception(
            String
                .format(
                    "Cannot request memory (Xms %d kb, Xmx %d kb) from system for job %s",
                    memPair.getFirst(), memPair.getSecond(), getId()));
      }

Hi @wanglifengwf , thanks for reporting this incident. LOW_MEM_THRESHOLD can not be configured currently. If you can contribute the this change and add some tests, that would be great. Thank you for looking into this!

But my question is why azkaban executor require 3G RAM? It actually doesn't need that more

@Codefor It actually need more for some certain jobs.

memCheck.enabled=false
azkaban.memory.check=false
try add these config to skip memCheck @Codefor

the above is not working

Default solo server now runs with 500MB memmoery


Repeating the same code in "Databricks runtime 10.1 ml and below" part

have repeating the same code in "Databricks runtime 10.1 ml and below" part.
need delete from the second code "from databricks.feature_store import feature_table" to the end.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4cc03f69-69d3-6c22-d745-a01cf2f8ed47
Version Independent ID: e112383f-09cb-1b2f-6587-364848e29f74
Content: Work with feature tables - Azure Databricks
Content Source: databricks/applications/machine-learning/feature-store/feature-tables.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

Thanks for the feedback! We have assigned the issue to the content author to further review this and update the document as appropriate.

Thanks for providing feedback that helps improve our documentation. This issue has been resolved and we are closing the issue.
#please-close

#please-close


update replication playbook to include Solr data

PUL devs did something similar to what we want to do, but it's implemented as a rake task - see https://github.com/pulibrary/dpul/blob/3fc9512a5d50b25c971a3cf0ca6b17a91480457b/lib/tasks/replicate.rake#L17
they are using a backup to generate an export of production solr data, and then restoring that backup to the qa solr instance
relevant solr admin documentation: https://solr.apache.org/guide/6_6/making-and-restoring-backups.html

Implemented in https://github.com/Princeton-CDH/cdh-ansible/pull/193 and awaiting code review from PUL devops team
I tested the solr replication by clearing the index in staging, confirming in the search on the staging site that there was no content, then ran the replication and confirmed that the search results showed up again as expected.


Fix to #1251 - join + orderby + count produces invalid sql

Problem was that we would procude queries like:
SELECT COUNT(*)
FROM [Customer] AS [c]
ORDER BY [c].[Id]
which were invalid, because column on which you order should be projected, and we project COUNT(*) instead. However, ordering is redundant when querying for count and could be removed.
Fix is to remove any orderings when querying for count.
There was another small issue that has been fixed - when calculating whether client eval for filter is required, we would use a common variable for the entire query. This could cause issues if multiple filters were present in the query, some being client eval, some being server eval. Fix is to use a variable local to the particular filter operation, and |= the results with the global variable.

@anpete


mybee support high availability or not yet

Hi all,
Sorry to ask since I have no where to reach what I am curious.
I am asking whether mybee supports high availability or cluster mode, that means I can have multiple hosts to run all VMs and they can moving from one to another without offline.
Thanks
Eric Xin

Hi. At the moment MyB is a standalone solution. Nevertheless, plans for the development of multinode capabilities are quite large (there is already broker support for distributed nodes).

Thanks.


About the calculation logic of "ContextPrecision"

Your Question
I would like to know the reason for using this to calculate grouped-responses?
context_lens.insert(0, 0) context_lens = np.cumsum(context_lens)
Code Examples
responses = [[i.text for i in r] for r in results.generations]             context_lens = [len(ctx) for ctx in contexts]             context_lens.insert(0, 0)             context_lens = np.cumsum(context_lens)             grouped_responses = [                 responses[start:end]                 for start, end in zip(context_lens[:-1], context_lens[1:])             ]
Additional context
My content is as follows：
questions = ['abcdefg?']
contexts = [['abc', 'efg']]
context_lens = 2
context_lens.insert(0, 0) = [0, 2]
This calculation result will be equal to 0.
I want to know what the computational logic is? Or can you tell me if the format of contentx is correct?

Hey @Gaia-Wu I think you're using an older version of ragas. Please update to latest version and follow https://docs.ragas.io/en/latest/concepts/metrics/faithfulness.html (how was this calculated section) under each metric to understand the calculation.
Feel free to reopen if needed :)


Allow unclipped scales

Feature Proposal
Starting in #10691, a dataset is automatically clipped to its scales' range. We have some custom scales that control an area for plotting but aren't intended to override the chart's normal clipping area.
Would it be worth adding an option (either via scale options or via a new scale API) to allow scales to control whether or not they're considered for clipping? If not, we can work around it locally.
Possible Implementation
No response

It could make sense for me to add an option. My 2 cents.

@joshkel @etimberg I think it could be better to have new option at scale level.I have submitted a PR https://github.com/chartjs/Chart.js/pull/11404 adding clip option to scales configuration.

I'm not sure if it's a regression but clip doesn't seem to be working on the scale level anymore.
When I set clip: false on the x and y scales level

When I set clip: false in the options

When I set clip: false in the options and clip: true in the scales x options

I want to set clip: false in the options scales.x only, is there any way? Am I missing something?


feat(acir)!: BrilligPointer opcode

This starts work towards https://github.com/noir-lang/noir/issues/3907 but is only the breaking serialization change.
Codegen and evaluation will come in a follow-up. This PR is purely additive and does not remove the current way we do Brillig gen during ACIR gen. Codegen for normal Brillig functions is working in my follow-up, however, removing the existing Brillig opcode will most likely have to come once we settle on how to handle the brillig std lib as we are currently generating code such as calculating a quotient during ACIR gen.

Benchmark results
Metrics with a significant change:

batch_insert_into_append_only_tree_32_depth_ms (2048): 979 (-48%)
batch_insert_into_append_only_tree_32_depth_ms (4096): 1,972 (-27%)
batch_insert_into_append_only_tree_32_depth_hash_ms (2048): 0.464 (-48%)
batch_insert_into_indexed_tree_20_depth_ms (2048): 1,460 (-39%)
batch_insert_into_indexed_tree_20_depth_ms (4096): 3,084 (-21%)
batch_insert_into_indexed_tree_20_depth_hash_ms (2048): 0.507 (-38%)
l2_block_public_tx_process_time_in_ms (32): 20,861 (-20%)
l2_block_processing_time_in_ms (32): 5,214 (-29%)
note_trial_decrypting_time_in_ms (32): 34.3 (+130%)

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

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
772
772
772

l1_rollup_calldata_gas
6,808
6,784
6,808

l1_rollup_execution_gas
587,289
587,265
587,289

l2_block_processing_time_in_ms
1,452 (+1%)
:warning: 5,214 (-29%)
10,346 (-13%)

note_successful_decrypting_time_in_ms
219 (-8%)
522 (+3%)
960 (+8%)

note_trial_decrypting_time_in_ms
21.1 (-50%)
:warning: 34.3 (+130%)
76.0 (-30%)

l2_block_building_time_in_ms
9,687 (+1%)
37,873 (-12%)
76,326

l2_block_rollup_simulation_time_in_ms
9,496 (+1%)
37,174 (-13%)
74,957

l2_block_public_tx_process_time_in_ms
5,315 (+1%)
:warning: 20,861 (-20%)
41,723 (+1%)

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

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,586 (+2%)
30,955 (+7%)

note_history_successful_decrypting_time_in_ms
1,236 (+1%)
2,236 (-6%)

note_history_trial_decrypting_time_in_ms
67.1 (+10%)
74.8 (-27%)

node_database_size_in_bytes
18,735,184
35,012,688

pxe_database_size_in_bytes
29,859
59,414

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

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
145 (-5%)
44,561
26,424

private-kernel-inner
160 (+2%)
72,188
26,424

private-kernel-ordering
108 (-1%)
51,090
39,297

base-parity
51.9
128
311

root-parity
10.2 (+4%)
1,244
311

base-rollup
12,524 (-1%)
110,820
957

root-rollup
48.4
4,551
821

public-kernel-app-logic
81.4 (-3%)
48,151
40,933

public-kernel-tail
121 (-2%)
53,644
7,385

merge-rollup
9.64 (-5%)
2,760
957

public-kernel-teardown
79.0 (+1%)
48,151
40,933

public-kernel-setup
78.2 (+1%)
48,151
40,933

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

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
11.0 (-6%)
17.7 (-6%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.6
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.640 (-6%)
0.549 (-6%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
51.7 (-2%)
81.0 (-10%)
260
505
:warning: 979 (-48%)
:warning: 1,972 (-27%)
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
96.0
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.527 (-2%)
0.500 (-10%)
0.472
0.472
:warning: 0.464 (-48%)
0.472 (-27%)
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
60.1 (-2%)
119 (-8%)
374 (-1%)
737 (-1%)
:warning: 1,460 (-39%)
:warning: 3,084 (-21%)
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
105
207
691
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.533 (-2%)
0.538 (-8%)
0.511
0.508
:warning: 0.507 (-38%)
0.535 (-21%)
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
67.2 (-3%)

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
109

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.588 (-3%)

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

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
41,005
528,889

Transaction size based on fee payment method

Metric
native fee payment method
fpc_public fee payment method
fpc_private fee payment method

tx_with_fee_size_in_bytes
905
1,161
1,377

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes
2 new note hashes

tx_pxe_processing_time_ms
1,163 (+1%)
779 (-2%)
3,420 (+1%)

Metric
1 public data writes
2 public data writes
3 public data writes
4 public data writes
5 public data writes
8 public data writes

tx_sequencer_processing_time_ms
452 (-3%)
307 (+1%)
818
393
1,355
464 (+1%)

batch_insert_into_append_only_tree_32_depth_ms (2048): 979 (-48%)
batch_insert_into_append_only_tree_32_depth_ms (4096): 1,972 (-27%)
batch_insert_into_append_only_tree_32_depth_hash_ms (2048): 0.464 (-48%)
batch_insert_into_indexed_tree_20_depth_ms (2048): 1,460 (-39%)
batch_insert_into_indexed_tree_20_depth_ms (4096): 3,084 (-21%)
batch_insert_into_indexed_tree_20_depth_hash_ms (2048): 0.507 (-38%)
l2_block_public_tx_process_time_in_ms (32): 20,861 (-20%)
l2_block_processing_time_in_ms (32): 5,214 (-29%)

Uh quite surprised by this as all this PR does is an additive serialization change...


Inconsistent trace_decoder output from Jerigon payload

Shared below are two block payloads that have been generated with a Jerigon node running on commit 83e0f2fa8c8f6632370e20fef7bbc8a4991c73c8 for which zk_evm develop branch at commit 52ab1aa9bdc41cd0f870986621f62343b4916f18 is failing to parse properly.
I've attached the corresponding retrieved header files for easy comparison via the trace_decoder consistency test added by Marko. This may be a Jerigon issue, similarly to #421 (cc @cffls).
b20472591_main_header.json
b20472591_main.json
b20472570_main_header.json
b20472570_main.json

What may be the cause of the issues is that both blocks have a reverted transaction, though Jerigon eth_getWitness should handle this properly:
https://etherscan.io/tx/0x1f93d33225f68083551a443e15253fca3478ae84fd2b96183b8da8d72e4e7d72
https://etherscan.io/tx/0x98a0c9b85689a4cde94930c3eda69cb65421a68ab5a673329e1c7532f01f039d

So regarding this, the issues are actually related to the combination of CREATE2 + SELFDESTRUCT within the same transaction on existing accounts.
More specifically, I thought this was being fixed by #487 but it seems the error actually didn't lie in an erroneous interpretation of EIP-6780 but in a malformed Jerigon payload instead.
Regardless of if an account has a pre-existing balance, we should delete it upon encountering a SELFDESTRUCT following a contract creation targeting this address occurring on the same transaction.
As per EIP-6780:

A contract is considered created at the beginning of a create transaction or when a CREATE series operation begins execution (CREATE, CREATE2, and other operations that deploy contracts in the future). If a balance exists at the contract’s new address it is still considered to be a contract creation.

This is more clearly visible on block 20472570, which suffers from this issue on this particular transaction:

addr: 0xBb2ac47b1924d2a6b04E650cA559031CCFB00298
state key 4960e439ccb1796693051b77b2a068e61ccf075b91bfb8f0d7f5cdc970fc366f

I've attached below both the final trie obtained by the decoder post b20472570 txn processing, and the initial trie for the next block, where I forced the inclusion in the trie witness of all touched addresses of the previous block for proper comparison.
Calling the diff tool on these, the only discrepancy is in the mentioned account that should have been deleted:
➜  zk_evm git:(develop) trie_diff b20472570_end.json b20472571_start.json
Trie hashes: a: 0x7417c2a8d30275edd4eba5cb62be0fc36a6b2e60ffc6bcc54019613cc1ab85e0, b: 0x2dc9451455bbc38576167482f7a8221e88843d01e64e87ce905ed8997c36a7e0

A: AccountRlp { nonce: 1, balance: 0, storage_root: 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421, code_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 }
Point Diff {
  depth: 0,
  Path: (Branch(4) --> Branch(9) --> Branch(6) --> Branch(0) --> Branch(14) --> Branch(4) --> Branch(3) --> Branch(9)),
  Key: 0x4960e439,
  A info: (
    key: 0x4960e439ccb1796693051b77b2a068e61ccf075b91bfb8f0d7f5cdc970fc366f
    Value: 0xf8440180a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470,
    Node type: Leaf Trie hash: cf74f1365103c3b69014331a725b4a9e91b5786a05cb6a1274d5ff80d3611a78)
  B info: (
    key: 0x4960e439
    Value: N/A,
    Node type: Empty Trie hash: 56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421)
}

Source of the error
The Jerigon payload for b20472570 on this specific txn calling CREATE2 + SELFDESTRUCT is including a state_access for the to-be-deleted contract account, cf:
                    "traces": {
                        "0xbb2ac47b1924d2a6b04e650ca559031ccfb00298": {
                            "balance": "0x0",
                            "nonce": "0x1"
                        },

as we need to drain the funds following the SELFDESTRUCT. But the decoder has no way to know it should be actually deleting the account at the end of this transaction, as it only does so when the trace for a given address is empty.
@cffls I think the simplest, given this seems to have been the cause of different issues, is to have a new, explicit field in the Jerigon traces that highlights for each txn the accounts that are expected to be deleted at the end.
b20472570_end.json.zip
b20472571_start.json.zip


loadTfHubModule seems not working with text embeddings model in js

Hello,
I'm trying to use tfHub's models in tfjs with the loadTfHubModule method. The documentation example works fine for some models (inception v3) but not for text embedding models.
When I add ?tf-hub-format=compressed at the end of the url, it let me download the model but since I don't have 1GB of free space this won't be fine for me.
Moreover, when I look at the network request, it seems to target a storage.googleapi url with a xml file where you can find a large set of models for image classification but not fr text embedding.
Are text embedding models still available for tfjs or I will have to download and convert them by myself ?

Hi,
I think text embeddings are not supported by tfjs yet, because of some missing ops (table lookups, etc.). I would recommend opening the issue on https://github.com/tensorflow/tfjs/issues. That way the tfjs team can prioritize which ops they will focus on.

Referencing the tfjs team: @tensorflow/tfjs

cc @pyu10055
It looks like some models aren't actually converted, e.g. elmo.
I filed another issue in tfjs to track this: https://github.com/tensorflow/tfjs/issues/1408

There are actually quite a lot of modules that are nonconvertible at the moment because of the missing ops, not sure how to track it effectively.

Got it -- thanks. We should at least improve the error messaging to inform the user that the module isn't ready in TensorFlow.js yet.

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Added eventlisteners for realtime updates. fix #764

Added eventlisteners to various goal events for real time updates. The event messages would then be published to a centrifugo "notifications" channel, which would be subscribed to on the frontend. fix #764

You have a conflicting file. Please fix


Pushing the second PR.

Edited my personal information and renamed the file viraj.md to viraj_patil.md

Good to go


Session expiry isn't obvious to the user

I have seen lots of comments from TAs like the following:
Also, when my session expires, I don't get logged out, so it's not until I
do something and nothing happens that I realise that my session expires,
which is a bit annoying if I've just typed in a long comment! (This is not
what happens in the previous case, which can happen immediately after I've
logged in.)
Could we pop up an "expired session" modal on the client side after some period of inactivity?

working on this


Update installation.rst for Windows

Address #233 with Windows-specific instructions.

hey, nice catch. though i wonder if we should consider changing our defaults to use the default rabbit vhost (/) instead.

Seems like that would work too. I'm new to rabbitmq so don't know what the community most expects.
Sent from Outlook for iPhone
On Fri, Apr 10, 2015 at 3:27 PM -0700, "David Szotten"<EMAIL_ADDRESS>wrote:
hey, nice catch. though i wonder if we should consider changing our defaults to use the default rabbit vhost (/) instead.
—
Reply to this email directly or view it on GitHub.

Addressed by https://github.com/onefinestay/nameko/pull/237. Thanks!


aur-build: expose pacman --dbpath

If pacman --dbpath points to a user-writeable directory, no escalation to root is necessary. Expose this to allow for unprivileged tests.
Fixes #753

One detail is that pacman -Syu commands in aur-build are always elevated with sudo. With a user-writable --dbpath, this is however not necessary. The elevation command could be exposed through an environment variable - say, AUR_ELEVATE_CMD - and then disabled with AUR_ELEVATE_CMD. Users might however expect it applies to makepkg -s as well, which only supports sudo and su to elevate privileges.
There's also aur build --no-sync. While not as convenient, users can combine it with their own pacman -S or pacsync commands and avoid any privilege elevation.

Could you instead redefine sudo() { ...; } if the dbpath is user writable?  I think makepkg recently gained an environment or config to define the sudo command (for doas users), perhaps use that?

The commit in question, as mentioned on IRC: https://gitlab.archlinux.org/pacman/pacman/-/commit/2535611d6c3cbf951408c50ab35953efaf32f686

This seems less useful than it could be, because makepkg has no way to pass on --dbpath to pacman. Even if a wrapper is used, the lock file is fixed to the output from pacman-conf DBPath.

PACMAN_AUTH was implemented with #896
Specifically, PACMAN_AUTH=fakeroot can be used with a user-writable --dbpath.


Treating IntraEnergy wrongly

According to the AutoDock Vina paper (Trott & Alson, 2010), the optimization is done based on $c = c_{inter}+c_{intra}$, not $c_{inter}$ only. The output order is the same manner.
https://github.com/akiyamalab/restretto/blob/a7e916be366abef6e259a597bde5f81c3df71fb4/src/Optimizer.hpp#L18
Here is the score calculation function of optimizer, and it calculates inter-molecular energy only. it should be updated to sum intra-molecular energy also.
it causes the wrong order of output poses.
https://github.com/akiyamalab/restretto/blob/a7e916be366abef6e259a597bde5f81c3df71fb4/src/fraggrid_main.cc#L519
the process ordering output poses uses the optimization scores, resulting in $c_{inter}$ only so far. However, the original is $c = c_{inter} + c_{intra}$.

Code modification is minimum: add mol.getIntraEnergy() to the output of calcscore()


XSum model's performance (ROUGE scores)

Hello!
First, thank you for the wonderful paper and the provided code, models, data, outputs & results.
I was wondering whether the model in the README for the XSum dataset - XSum BertExtAbs - is indeed the best performing model. It appears to has been trained only for 30k steps on the abstractive task and these are the results I got for ROUGE:
ROUGE-F(1/2/3/l): 33.16/12.96/25.12 instead of the ones in the paper: 38.81 16.50 31.27.
Many thanks in advance!

I think I got the min_length and max_length params wrong. My bad, cheers.

@6desislava6 did you decode 2 sentences or 3?


How to deal with the time zone difference

Using mysql, in a post table I use UTC_TIMESTAMP() to store the date_time of publication.
Everything was ok when I was working on wampserver on local.
But I hosted my site yesterday on a server located in France, 2 hours away from the time zone of my country.
After posting, I see "2 hours ago" when I just published 30 seconds ago.
How can I take into account the time zone of my users compared to the timestamp from database ?
Sample: If I post a content, 30 seconds later Me and the user who is at china or anywhere must see "30 seconds ago".
I tried that:
     <time class="DateTime" datetime="<?= date(DATE_ISO8601, strtotime('2020-03-05 09:00:31 +0700')) ?>"></time>
When my local UTC timezone offset is +7,  and time is   2020-03-05 16:00:31
instead of giving me  "a few seconds ago", It gives me "7 hours ago".
Thank you.

Hi, I'm now having the exact same problem, have you found any solution to this?

@DanielDanielDanielD
It is not a problem with jquery-timeago.
It is with php.
Here is how I did:
<time  class='timeago' datetime='".date(DATE_ISO8601,  strtotime($date); )."'></time>;
$date is a DATE_TIME.
Sorry for the late answer

Hi, thanks for your reply,
Your answer is still relevant because I have not yet found a solution to the problem.
I am currently working on a solution through moment.js timezone but also without success.
My project was built in a .NET environment but I believe it should not interfere with reading the date and time, can you please tell me in what format your date and time come from the database?

MY
I used mysql function UTC_TIMESTAMP() to store the dateTime.
like that: 2009-12-01 00:00:00.

Thanks for the help, I just found an answer to this :)
Since in my website the timezone is per content posted on the website and not per user timezone then I had to add to each message on the website a timezone signature in DB, then calculate with the moment.js timezone directory when it is created anywhere according to the customer's timezone.
I got this answer through here: https://stackoverflow.com/q/65461333/7074256

@BoumBam is correct. You must format your time stamp into ISO8601 format for timeago to work. This is pretty standard for any type of library like this.


tools/Unix.mk:49: *** missing separator.  Stop.

when i try run make it fails with error
tools/Unix.mk:49: *** missing separator.  Stop.
it probably depends on build tools versions
I solved my problem in the following way
--- a/Unix.mk	2022-01-24 12:57:33.708192426 +0300
+++ b/Unix.mk	2022-01-24 12:57:17.859721267 +0300
@@ -46,8 +46,9 @@
 # Only update .version if the contents of version.tmp actually changes
 # Note: this is executed before any rule is run

-$(shell tools/version.sh .version.tmp)
+$(shell `tools/version.sh .version.tmp`)

@olegk0 what version of make are you using? What is your system setup?

@olegk0 what version of make are you using? What is your system setup?

GNU Make 4.3
Debian GNU/Linux 11 (bullseye)

According to the doc: https://www.gnu.org/software/make/manual/html_node/Shell-Function.html
the shell function does the same thing as the backtick.
what command are you running?

what command are you running?

make
make clean

that script needs a param passed to it:
➜ tools/version.sh
Missing path to the output file
USAGE: tools/version.sh [-d|-h] [-b <build>] [-v <major.minor.patch>] <outfile-path>
Try 'tools/version.sh -h' for more information

can you try running it in a super clean env? git clean -xffd

that script needs a param passed to it:

I gave an unsuccessful example, I meant any valid command without a parameter

can you try running it in a super clean env? git clean -xffd

$ git clean -xffd
...
Removing .config
Removing .version.tmp
Removing Make.defs
Removing defconfig
Removing tools/incdir

$ tools/configure.sh -l qemu-intel64:nsh
  Copy files
  Select CONFIG_HOST_LINUX=y
  Refreshing...
tools/Unix.mk:49: *** missing separator.  Stop.
ERROR: failed to refresh

$ make
tools/Unix.mk:49: *** missing separator.  Stop.

$ make
tools/Unix.mk:49: *** missing separator.  Stop.

I can reproduce this issue if the git repo without tag:
$ git --version
git version 2.25.1

$ git tag | xargs git tag -d
Deleted tag 'nuttx-1.0' (was 0bed0eea9d)
Deleted tag 'nuttx-1.1' (was b259aced01)
Deleted tag 'nuttx-1.2' (was a530c85e88)
Deleted tag 'nuttx-10.0.0' (was c8d523c5f4)
....

$ tools/configure.sh -l qemu-intel64:nsh
  Copy files
  Select CONFIG_HOST_LINUX=y
  Refreshing...
tools/Unix.mk:49: *** missing separator.  Stop.
ERROR: failed to refresh

Please check git tag is exist in your repository:
$ git fetch origin
From github.com:apache/incubator-nuttx
 * [new tag]               nuttx-1.0        -> nuttx-1.0
 * [new tag]               nuttx-1.1        -> nuttx-1.1
 * [new tag]               nuttx-1.2        -> nuttx-1.2
....

$ tools/configure.sh -l qemu-intel64:nsh
  Copy files
  Select CONFIG_HOST_LINUX=y
  Refreshing...
make[1]: Entering directory '/home/archer/code/nuttx/server/incubator-nuttx'
make[2]: Entering directory '/home/archer/code/nuttx/server/incubator-nuttx/boards'
make[2]: Nothing to be done for 'clean_context'.
....

Please check git tag is exist in your repository:

Yes, indeed I did not have tags.
I tried to take the full repository, the problem is gone.
Sorry for disturbing.


ReplacementPointLineProcessor

inherit LineProcessorBase
validate that there are 3 elements in the split list
switch what column list it uses based on the ColumnListTypeEnum in List[0] //Or push this logic into just one action type enum so this is two different classes inheriting from LineProcessorBase?
foreach row after the first, start with the joinstring
foreach row in column list, replace List[1] with column name
return all that

taking this in the direction of /ReplacementPoint_NaturalKey^NK_SourceSystemID1|,/
i.e. /EnumTypeOfLineProcessorInheritingClass^specificToThatClass/
where in this case it is StringToReplaceInEachCopyOfThisLine|StringToPutAtTheBeginningOfEachLineAfterTheFirst


Can't connect to Kafka 2.3.0 brokers or load legacy-frontend

Describe the bug
Hello, I've been attempting to create a Kafka materialized source from a Kafka 2.3.0 broker.
Query (some whitewashing, but I can ping the brokers and connect with the python connector).
CREATE MATERIALIZED SOURCE IF NOT EXISTS kafka_table (
   h varchar,
   u varchar,
   p varchar,
   cet varchar,
   cec varchar,
   V varchar,
   sv varchar,
)
WITH (
   'connector'='kafka',
   'kafka.topic'='<topic>',
   'kafka.brokers'='<brokers addresses>',
   'kafka.scan.startup.mode'='latest',
   'kafka.time.offset'='140000000',
   'kafka.consumer.group'='<group_id>'
)
ROW FORMAT JSON;

Results in
2022-06-02T16:01:42.978148Z DEBUG librdkafka: librdkafka: PROTOERR [thrd:<broker>:9092/bootstrap]: <broker>:9092/bootstrap: Protocol parse failure for ApiVersion v3(flex) at 3/6 (rd_kafka_handle_ApiVersion:2131) (incorrect broker.version.fallback?)
2022-06-02T16:01:42.978296Z DEBUG librdkafka: librdkafka: PROTOERR [thrd:<broker>:9092/bootstrap]: <broker>:9092/bootstrap: ApiArrayCnt -1 out of range

(repeated for each broker in the list)

Upon reading the docs, I found the tip saying Kafka connectors are broken at the moment. When attempting to run it, I get -
./risedev configure enable legacy-frontend

error: "legacy-frontend" isn't a valid value for '<COMPONENT>'
        [possible values: minio, prometheus-and-grafana, etcd, kafka, tracing, rust-components, dashboard, release, all-in-one, sanitizer]

When attempting to just run the given Docker image (MacOS with x86-64 Intel chip) -
➜  risingwave git:(main) docker run -it --pull=always -p 4566:4566 -p 5691:5691 ghcr.io/singularity-data/risingwave:latest playground

latest: Pulling from singularity-data/risingwave
Digest: sha256:1ae788d124a895f6e9477ffa5ccae7bbbb8ece2c396c2c228a70d9a7dd1bf150
Status: Image is up to date for ghcr.io/singularity-data/risingwave:latest
thread 'main' panicked at 'OS can't spawn worker thread: Operation not permitted (os error 1)', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.18.2/src/runtime/blocking/pool.rs:264:29
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

To Reproduce
Broker's Kafka Version: 2.3.0
Broker's librdkafka-dev Version: 1.1.0~1confluent5.3.4-1
Use Query above
Mac Version: BigSur 11.6, 2.3 GHz 8-Core Intel Core i9
Docker version: Docker Desktop 4.1.1 (69879)
Expected behavior
A materialized stream to be created and queryable.
Additional context
Recently installed Rust to run the project locally, if that helps at all.

Legacy frontend is not intended to be run so  you can see it as it doesn't exist. Pls run the lastest version of RisingWave because we don't test the correctness of the previous versions.

@neverchanje I did a git pull on the repo just now - (top commit)
commit a3e618ed5fda77abdd2bfadfb2bd171b605f8567 (HEAD -> main, origin/main, origin/HEAD)
Author: nanderstabel<EMAIL_ADDRESS>Date:   Thu Jun 2 16:31:34 2022 +0200

I am receiving the exact same error as before. Also, I would like to validate that sources is out of date documentation, as like you've said above, you shouldn't be using the legacy frontend.
Thanks for the response.

The docs is outdated 😂
You may follow https://www.risingwave.dev/docs/latest/perform-real-time-ad-performance-analysis/ instead.

Thank you for reporting the doc problem, we will soon fix it!

@Dreeseaw The note about legacy frontend in Sources was just removed. Thanks for letting us know.

@neverchanje @hengm3467 Gotcha, then this starts to make A LOT more sense.
@skyzh Thanks for the permissions issue link, it worked great! The full working command I ended up with was
sudo docker run -it --pull=always -p 4566:4566 -p 5691:5691 --privileged --security-opt="seccomp=unconfined" ghcr.io/singularity-data/risingwave:latest playground

Closing the issue as the system I'm trying to integrate with runs Kafka 2.3.0, and I don't have the ability to upgrade it (and supporting Kafka 3.x & 2.x seems a little much to ask). Thank you all for the quick assistance!


WebGPU: support vertex buffers with non multiple of 4 bytes strides

The PR is ready to be reviewed, but please don't merge it yet, I will add a visualization test!
I added the support as a whole and not to WebGPU specifically, this way it can benefit to any engine that requires that strides be a multiple of 4 bytes (like probably Native does).
If the stride is not a multiple of 4 bytes, each time you call VertexBuffer.update(), it will create a new GPU buffer. But calling VertexBuffer.update() is slow anyway, because we must create a new buffer on the js side to make space for padding data. So, I prefered not to handle this case and simply create a new GPU buffer instead of making the PR more complex. If necessary, we can update the docs to explain what happens with non aligned strides and how to handle it on the user side.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.


Fixed cell selection/deselection

Done.
On Sun, Apr 23, 2017 at 9:53 AM, Jean Philip de Rogatis <
<EMAIL_ADDRESS>wrote:

@jrogatis requested changes on this pull request.
In client/components/AvailabilityGrid/AvailabilityGrid.js
https://github.com/freeCodeCamp/LetsMeet/pull/217#discussion_r112839156:

 updateAvailabilityForRange(rowRange, colRange, updateAvail);

let updateAvail;
if (cellIsSelected)

 updateAvail = this.constructor.removeCellFromAvailability;

use brackets for all if statements:
if(condition) { resolution } else { }
In client/components/AvailabilityGrid/AvailabilityGrid.js
https://github.com/freeCodeCamp/LetsMeet/pull/217#discussion_r112839171:

startSelection = !startSelection;

@autobind
handleCellMouseUp(ev)
{
if (this.props.heatmap)

use brackets for all if statements:
if(condition) { resolution } else { }
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/LetsMeet/pull/217#pullrequestreview-34184128,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATcX7MCazG_8-OJo0RUGU82kvCNi7pUKks5ry4H2gaJpZM4NFSMO
.


refactor(autoware_map_msgs): modify pcd metadata msg (#7852)

Description
This is a recreated PR for https://github.com/autowarefoundation/autoware.universe/pull/7852.
The above PR was merged and reverted since it needed the release of autoware_msgs after https://github.com/autowarefoundation/autoware_msgs/pull/99 is merged.
Related links
Parent Issue:

Link

How was this PR tested?
Notes for reviewers
None.
Interface changes
None.

Effects on system behavior
None.

@mitsudome-r Please fix conflicts

@mitsudome-r Kindly ping

@mitsudome-r fix conflicts

@mitsudome-r


{Feature] Could you add these blocks from the "scratch" programing language please?

What Happened
Those blocks are: "Move 10 steps", "Own block" (with ability to create your own arguments), "Set Rotation style"
How to Reproduce
=
Block Coding Plugin Version
0.7.1
Godot Engine Version
4.3
Operating System
Windows10
Logs or command-line output
No response
Anything else?
No response

Equivalent Blocks Are Already Available When Using Applicable Nodes.

@111ukasz111 what would be a step in Godot?
Scratch and Godot are very different, so what you ask is not possible, sorry. Please read how this is a layer on top of Godot and how we embrace Godot concepts in our pedagogy document.
With that said, a high level abstraction "Simple" node could be contributed to draw while moving and rotating like in Logo Turtle. If that's close to what you are asking. That will have to be implemented.


Adding Attack vector for finding vulnerabilities related to JWE

Is your feature request related to a problem? Please describe.
We have currently only handing JWS but we have not handled JWE so under this enhancement we are looking to add:

Analysing Vulnerabilities related to JWE by going through various blogs, bug bounties, other scanner add-on's
Implement the Attack vectors
Adding the Vulnerable code in https://github.com/SasanLabs/VulnerableApp/blob/master/src/main/java/org/sasanlabs/service/vulnerability/jwt/JWTVulnerability.java so that we can test the attack vectors.
Add a design document regarding the same.

Code References
Attack vectors: https://github.com/SasanLabs/owasp-zap-jwt-addon/tree/master/src/main/java/org/zaproxy/zap/extension/jwt/attacks
Adding Support for parsing JWE: https://github.com/SasanLabs/owasp-zap-jwt-addon/blob/ec58672c0951a23cf4544fd0e41b72eb9328a78d/src/main/java/org/zaproxy/zap/extension/jwt/utils/JWTUtils.java#L139
Fuzzer code: https://github.com/SasanLabs/owasp-zap-jwt-addon/blob/master/src/main/java/org/zaproxy/zap/extension/jwt/fuzzer/ui/JWTFuzzPanelView.java
Scan Rule code: https://github.com/SasanLabs/owasp-zap-jwt-addon/blob/master/src/main/java/org/zaproxy/zap/extension/jwt/JWTActiveScanRule.java
Testing the changes
build the addon by running

./gradlew spotlessApply
./gradlew build
Then go to the ZAP -> File -> Local addon file -> Navigate to project -> build -> bin -> jwt*.zap and done.

This seems like a good summary:

A signed JWT is known as a JWS (JSON Web Signature). In fact a JWT does not exist itself — either it has to be a JWS or a JWE (JSON Web Encryption). Its like an abstract class — the JWS and JWE are the concrete implementations.

https://medium.facilelogin.com/jwt-jws-and-jwe-for-not-so-dummies-b63310d201a3

https://auth0.com/blog/critical-vulnerability-in-json-web-encryption/ -> Attack against JWE

document: https://owasp.slack.com/archives/C0F7D6DFH/p1692972988225639?thread_ts=1692958820.853539&cid=C0F7D6DFH which can help
Content:
there were a couple of talks at OWASP events mentioning JWE, but as it is a pure Encryption standard I do not see much resources about it in OWASP apart from the general guidelines in safe use in JWT. In terms of vulnerabilities in JWE I have found this article in Auth0 blog talking about a critical vulnerability in JWE: https://auth0.com/blog/critical-vulnerability-in-json-web-encryption/  and a  few more  JWE Security Considerations were listed here: https://www.jbspeakr.cc/jwe-token-json-web-encryption/ ```


Possible race condition or premature finishing workflows in Orquesta workflow engine

SUMMARY
Seems like there's some sort of race condition in orquesta where it would abruptly finish workflow.
STACKSTORM VERSION
st2 3.2.0, on Python 2.7.5

OS, environment, install method
CentOS 7 following official docs with single st2workflowengine instance running and coordination with redis configured.
Steps to reproduce the problem
Meta
---
pack: "playground"
name: "wf_orquesta_test7"
description: "Orquesta test"
runner_type: orquesta
enabled: true
entry_point: "workflows/wf_orquesta_test7.yaml"

Workflow
---
version: '1.0'

vars:
  - notifications: true

tasks:
  where_all_begins:
    action: core.noop
    next:
      - when: <% succeeded() %>
        do:
          - task_0
          - task_1
          - task_2
          - task_3

  task_0:
    action: core.noop
    next:
      - when: <% succeeded() %>
        do:
          - where_all_ends_good
      - when: <% succeeded() and ctx().notifications %>
        do:
          - task_0_ok_notification

  task_0_ok_notification:
    action: core.noop

  task_1:
    action: core.local
    input:
      cmd: "exit 1"
    next:
      - when: <% succeeded() %>
        do:
          - where_all_ends_good
      - when: <% succeeded() and ctx().notifications %>
        do:
          - task_1_ok_notification
      - when: <% failed() %>
        do:
          - where_all_ends_bad
      - when: <% failed() and ctx().notifications %>
        do:
          - task_1_failed_notification

  task_1_failed_notification:
    action: core.noop

  task_1_ok_notification:
    action: core.noop

  task_2:
    action: core.local
    input:
      cmd: "exit 0"
    next:
      - when: <% succeeded() %>
        do:
          - where_all_ends_good
      - when: <% succeeded() and ctx().notifications %>
        do:
          - task_2_ok_notification
      - when: <% failed() %>
        do:
          - where_all_ends_bad
      - when: <% failed() and ctx().notifications %>
        do:
          - task_2_failed_notification

  task_2_failed_notification:
    action: core.noop

  task_2_ok_notification:
    action: core.noop

  task_3:
    action: core.local
    input:
      cmd: "exit 1"
    next:
      - when: <% succeeded() %>
        do:
          - where_all_ends_good
      - when: <% succeeded() and ctx().notifications %>
        do:
          - task_3_ok_notification
      - when: <% failed() %>
        do:
          - where_all_ends_bad
      - when: <% failed() and ctx().notifications %>
        do:
          - task_3_failed_notification

  task_3_failed_notification:
    action: core.noop

  task_3_ok_notification:
    action: core.noop

  where_all_ends_good:
    join: all
    action: core.noop

  where_all_ends_bad:
    # so far the only workaround I found is to have this "join: all" here, however, it's not always possible or wanted.
    # join: all
    action: core.noop
    next:
      - when: <% succeeded() %>
        do:
          - fail

Expected Results
The workflow above has everything hard-coded and outcome must be same every run. However, in reality, results differ every run. Expected results is to see the following tasks executed before the workflow finishes:

task_0_ok_notification
task_1_failed_notification
task_2_ok_notification
task_3_failed_notification

Actual Results
In reality I get different results every run:

Notice that random notification tasks are missing. Sometimes they are all there, but most of the times one or some are missing.

@m4dcoder is it possible that orquesta stops whole workflow execution as soon as one route finishes all tasks and overall result is FAILED regardless of other routes may be still running? Because it sure seems like so...

Basically, the issue here is that you have to explicitly distinguish between <% failed() and not ctx().notifications %> and <% failed() and ctx().notifications %>.
Let's take task1 as an example. In your original version, both transition where_all_ends_bad  and task_1_failed_notification are satisfied.  Since there is a fail at where_all_ends_bad, the workflow will fail fast and end after all tasks that have started are complete.
In the version below, I modified
      - when: <% failed() %>
        do:
          - where_all_ends_bad
      - when: <% failed() and ctx().notifications %>
        do:
          - task_1_failed_notification

to
      - when: <% failed() and not ctx().notifications %>
        do:
          - where_all_ends_bad
      - when: <% failed() and ctx().notifications %>
        do:
          - task_1_failed_notification

Now, the engine knows to only execute one of these depending on what the value of ctx().notifications is.
Below is the version of the workflow that runs the tasks that you expected.
---
version: '1.0'

vars:
  - notifications: true

tasks:
  where_all_begins:
    action: core.noop
    next:
      - when: <% succeeded() %>
        do:
          - task_0
          - task_1
          - task_2
          - task_3

  task_0:
    action: core.noop
    next:
      - when: <% succeeded() %>
        do:
          - where_all_ends_good
      - when: <% succeeded() and ctx().notifications %>
        do:
          - task_0_ok_notification

  task_0_ok_notification:
    action: core.noop

  task_1:
    action: core.local
    input:
      cmd: "exit 1"
    next:
      - when: <% succeeded() and not ctx().notifications %>
        do:
          - where_all_ends_good
      - when: <% succeeded() and ctx().notifications %>
        do:
          - task_1_ok_notification
      - when: <% failed() and not ctx().notifications %>
        do:
          - where_all_ends_bad
      - when: <% failed() and ctx().notifications %>
        do:
          - task_1_failed_notification

  task_1_failed_notification:
    action: core.noop

  task_1_ok_notification:
    action: core.noop

  task_2:
    action: core.local
    input:
      cmd: "exit 0"
    next:
      - when: <% succeeded() and not ctx().notifications %>
        do:
          - where_all_ends_good
      - when: <% succeeded() and ctx().notifications %>
        do:
          - task_2_ok_notification
      - when: <% failed() and not ctx().notifications %>
        do:
          - where_all_ends_bad
      - when: <% failed() and ctx().notifications %>
        do:
          - task_2_failed_notification

  task_2_failed_notification:
    action: core.noop

  task_2_ok_notification:
    action: core.noop

  task_3:
    action: core.local
    input:
      cmd: "exit 1"
    next:
      - when: <% succeeded() and not ctx().notifications %>
        do:
          - where_all_ends_good
      - when: <% succeeded() and ctx().notifications %>
        do:
          - task_3_ok_notification
      - when: <% failed() and not ctx().notifications %>
        do:
          - where_all_ends_bad
      - when: <% failed() and ctx().notifications %>
        do:
          - task_3_failed_notification

  task_3_failed_notification:
    action: core.noop

  task_3_ok_notification:
    action: core.noop

  where_all_ends_good:
    join: all
    action: core.noop

  where_all_ends_bad:
    action: core.noop
    next:
      - when: <% succeeded() %>
        do:
          - fail

@m4dcoder  Ok, so you are saying that random outcome is by design in the engine? I honestly doubt it was designed that way.

It seems like you made an assumption that the engine only will execute 1 of the task transition. In actual, the engine will execute all the task transition where the when condition is satisfied.

I did not make such assumption. In fact, I want both to be executed. ctx().notification is a flag to send out a notification about workflow progression. And we set it to true here. All variables and exit codes are fixed and every run the engine should produce exact same result. However, it does not.

Since there is a fail at where_all_ends_bad, the workflow will signal the engine to stop running the workflow after all tasks that have started are complete

That's what the issue is about. When it does - fail, it doesn't care that there are still un-executed transitions from previous tasks.
Please, take a look at the Actual Results section of the issue. It depicts that the engine produces random results and sometimes it executes transitions, sometimes it doesn't. Try to take my workflow and execute it multiple times and see if you get same results every time.

@emptywee I'm going to try and summarize your thoughts around behavior, let me know if what i'm saying is right.
You are expecting that all branches continue executing until they are exhausted and all tasks have completed, rather than being terminated because one branch fails.
Does this sound right?

Yes, @nmaludy, that sounds about right. Orquesta documentation says the same (though, of course, it can be interpreted differently, if one wants to):

When there are no more tasks to execute, the workflow is complete.

When there is no more tasks identified to run next, the workflow is complete.

In my case here there are tasks to run, however, they randomly don't get executed.

@emptywee
Since task 0-3 in your workflow are all executed in parallel, the order of these task execution are not deterministic.  They'll be picked up by the scheduler and dispatch to action runner workers to be run independently of each other. These action runner workers may introduce delays. There is no guarantee that they will be executed in the order that you define in the workflow.
When fail is triggered in the workflow, the engine will wait for existing tasks to complete and then terminate the workflow regardless if there are tasks identified to run next. As soon as one of the tasks in your workflow fails and transition to where_all_ends_bad, the workflow will terminate. This is by design.
As far as the original issue is concerned, there is no race here.If you want the fail to behave differently, please submit a separate request for feature enhancement.

@emptywee trying to figure out how to solve your problem given the constraints around the way Orquesta operates.
Wondering if you can create a state variable called wf_failed and set that variable to true rather than explicitly transitioning to fail. Instead we do something like:
- when: "{{ failed() }}"
  publish:
    - wf_failed: true
  next:
    - join_task

This will cause the branch to finish and then we can join all of the branches back together and check for wf_failed. Thoughts on this, @emptywee @m4dcoder ?

I don't understand, @m4decoder, it's okay for the engine not to execute
transitions randomly just because one of the tasks transitions to "fail"?
Why is it different then for assumed "continue" transition?
Documentation says that orquesta will complete all tasks before finishing a
workflow. Mistral also would run all transitions that match the conditions
defined.
Maybe there's no race per se, but definitely it is not very intuitive - you
define transitions and conditions, and while they are met, the engine
decides to end workflow execution without executing them.
@nmaludy join indeed would help in this particular case, but it's not
always desirable or  possible to do. I'd rather have the engine complete
all branching and transitions before completing the workflow.
On Mon, Oct 5, 2020, 2:47 PM Nick Maludy<EMAIL_ADDRESS>wrote:

@emptywee https://github.com/emptywee trying to figure out how to solve
your problem given the constraints around the way Orquesta operates.
Wondering if you can create a state variable called wf_failed and set
that variable to true rather than explicitly transitioning to fail.
Instead we do something like:

when: "{{ failed() }}"
publish:

wf_failed: true
next:
join_task

This will cause the branch to finish and then we can join all of the
branches back together and check for wf_failed. Thoughts on this,
@emptywee https://github.com/emptywee @m4dcoder
https://github.com/m4dcoder ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/StackStorm/st2/issues/5031#issuecomment-703849736,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGEAPCLZMBDGDG7JOJZKKLSJIPDRANCNFSM4QRABF4A
.

Sorry, was typing my reply from the phone, meant @m4dcoder of course.

I replaced the where_all_ends_bad task from being a core.noop + fail transition to a core.local action with exit 1:
  where_all_ends_bad:
    # join: all
    action: core.local
    input:
      cmd: exit 1

Where's task_2_ok_notification task in the execution?

Or where's task_2_ok_notification and task_1_failed_notification here?

There's no explicit fail now in the workflow, but still it doesn't execute all tasks that it must execute prior to finish it. I still insist it's a bug, @m4dcoder

Since task 0-3 in your workflow are all executed in parallel, the order of these task execution are not deterministic. They'll be picked up by the scheduler and dispatch to action runner workers to be run independently of each other. These action runner workers may introduce delays. There is no guarantee that they will be executed in the order that you define in the workflow

I don't expect it to run them in any particular order, so this is not a part of the issue here.

When fail is triggered in the workflow, the engine will wait for existing tasks that are already running to complete and then terminate the workflow regardless if there are tasks identified to run next. As soon as one of the tasks in your workflow fails and transition to where_all_ends_bad, the workflow will terminate. This is by design.

Apparently not only by fail, but any other action which doesn't succeed. It's a very poor design if you don't get consistent results with fixed variables and outcomes of each task, in my opinion.
If we're to keep this design, it should be documented, that as soon as any branch of a given workflow fails, it fails the whole execution regardless of having other branches still have tasks to execute. This is a big and important thing.

In other words, is this by design?

---
version: '1.0'

vars:
  - notifications: true

tasks:
  where_all_begins:
    action: core.noop
    next:
      - when: <% succeeded() %>
        do:
          - branch_a
          - branch_b

  branch_a:
    action: core.noop
    next:
      - when: <% succeeded() %>
        do:
          - branch_a_task_1

  branch_a_task_1:
    action: core.noop
    next:
      - when: <% succeeded() %>
        do:
          - branch_a_task_2

  branch_a_task_2:
    action: core.noop
    next:
      - when: <% succeeded() %>
        do:
          - branch_a_task_3

  branch_a_task_3:
    action: core.noop
    next:
      - when: <% succeeded() %>
        do:
          - branch_a_task_4

  branch_a_task_4:
    action: core.noop

  branch_b:
    action: core.local
    input:
      cmd: "exit 1"

Yes, currently any failure in the workflow in one branch or another will terminate the workflow. Please open an enhancement request with proposed changes, we will see what we can do. As far as this issue is concerned, this is not a bug/issue regardless if you think this is a poor design or not.  If you think this information is not documented properly, we can address that.

Mistral version of the same workflow provides consistent results, so for the folks who migrates from mistral it's a real pain :(

@m4dcoder mmm, okay, we probably have different interpretation of the documentation, let's assume it's my poor English that I misinterpreted it. I'll open another issue to discuss the current design for failures.

I had a good read of the documentation, and I think the behaviour is implied, but I couldn't find a place where it was explicitly pointed out. If we added a statement similar to "The workflow execution will stop once a workflow branch fails, or all branches are complete. If a workflow branch fails then all current in-progress tasks would be completed, but no further tasks on those branches would be run"  would that match what we have and make it clearer?

@amanda11 it would be good to know that, especially for those who migrate from mistral to orquesta, because behavior of the two engines is quite different. And one would expect them to behave similarly, but, alas, I stepped on these rakes and you can judge by the volume of my screaming it's very painful :(

I will try and get a doc Pr up for review today.


ALE does not work with RLS (Stable/Unstable channel)

Information
VIM version
NVIM 0.2.2
Build type: RelWithDebInfo
Operating System: Debian 9.5 Stretch, using Nvim from repos
:ALEInfo
:ALEInfo
 Current Filetype: rust
Available Linters: ['cargo', 'rls', 'rustc']
  Enabled Linters: []
 Suggested Fixers:
  'remove_trailing_lines' - Remove all blank lines at the end of a file.
  'rustfmt' - Fix Rust files with Rustfmt.
  'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
 Linter Variables:
 Global Variables:

let g:ale_cache_executable_check_failures = v:null
let g:ale_change_sign_column_color = v:null
let g:ale_command_wrapper = v:null
let g:ale_completion_delay = 100
let g:ale_completion_enabled = 1
let g:ale_completion_max_suggestions = 50
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = v:null
let g:ale_echo_msg_info_str = 'Info'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_fix_on_save = 0
let g:ale_fixers = {}
let g:ale_history_enabled = 1
let g:ale_history_log_output = 1
let g:ale_keep_list_window_open = v:null
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_filetype_changed = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_lint_on_insert_leave = 0
let g:ale_linter_aliases = {}
let g:ale_linters = {'rust': ['/home/omar/.cargo/bin/rls']}
let g:ale_linters_explicit = 0
let g:ale_list_window_size = v:null
let g:ale_list_vertical = v:null
let g:ale_loclist_msg_format = v:null
let g:ale_max_buffer_history_size = 20
let g:ale_max_signs = v:null
let g:ale_maximum_file_size = v:null
let g:ale_open_list = v:null
let g:ale_pattern_options = v:null
let g:ale_pattern_options_enabled = v:null
let g:ale_set_balloons = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_enabled = 1
let g:ale_fix_on_save = 0
let g:ale_fixers = {}
let g:ale_history_enabled = 1
let g:ale_history_log_output = 1
let g:ale_keep_list_window_open = v:null
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_filetype_changed = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_lint_on_insert_leave = 0
let g:ale_linter_aliases = {}
let g:ale_linters = {'rust': ['/home/omar/.cargo/bin/rls']}
let g:ale_linters_explicit = 0
let g:ale_list_window_size = v:null
let g:ale_list_vertical = v:null
let g:ale_loclist_msg_format = v:null
let g:ale_max_buffer_history_size = 20
let g:ale_max_signs = v:null
let g:ale_maximum_file_size = v:null
let g:ale_open_list = v:null
let g:ale_pattern_options = v:null
let g:ale_pattern_options_enabled = v:null
let g:ale_set_balloons = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = v:null
let g:ale_sign_error = '✗'
let g:ale_sign_info = v:null
let g:ale_sign_offset = v:null
let g:ale_sign_style_error = v:null
let g:ale_sign_style_warning = v:null
let g:ale_sign_warning = '⚠'
let g:ale_statusline_format = v:null
let g:ale_type_map = v:null
let g:ale_use_global_executables = v:null
let g:ale_warn_about_trailing_blank_lines = 1
let g:ale_warn_about_trailing_whitespace = 1
  Command History:

What went wrong
ALE doesn't use rls nor cargo to lint, I've tried with full paths & others to make it work but it just plain fails
Reproducing the bug

Install ALE
Add the following lines to init.vim file:

let g:ale_linters = { 'rust': ['rls']}  //Doesn't work with 'rls' or 'cargo' alone or using full path to the rls/cargo binaries
let g:ale_rust_rls_executable = '/home/user/.cargo/bin/' // Doesn't work if i add the "rls" after the /bin directory
let g:ale_rust_rls_toolchain = 'stable' //haven't changed this, I don't use Rust beta or nightly

Make Rust Project using cargo eg: cargo new --bin test
Edit main.rs
Make a mistake on purpose
Watch nothing.

let g:ale_linters = {'rust': ['/home/omar/.cargo/bin/rls']} should be let g:ale_linters = {'rust': ['rls']}. g:ale_rust_rls_executable` should point to the location of the executable, not the directory containing it.

Yes, the variable should point to the location of the executable file.

Strange, because it does point there, maybe It's conflicting with rust-vim or am I missing an option here? I was thinking about the g:ale_rust_cargo_use_check option but since that is on the cargo side of the documents I think it's not relevant.
Maybe a picture of the problem could help?

Mine only worked after adding let g:ale_rust_rls_options = '--cli' to vimrc. I didn't have to explicitly set the executable, it used rls from my PATH.

Sounds like they changed the options in some version and broke compatibility with older versions.

No, --cli starts it in command-line mode, and otherwise it starts as a language server. See here. ALE doesn't do anything with a g:ale_rust_rls_options variable.

You're right, I apologize. It was just a coincidence. Both linting and autocompletion are working by simply setting these:
let g:ale_linters = {
            \ 'rust': [ 'rls' ],
            \ }
let g:ale_rust_rls_toolchain = 'stable' " this is needed, otherwise rls uses nightly toolchain

@gbrlsnchs Those 2 are on the settings I pasted there, funny enough, seeing other issues I find that only a very few editors manage to get rls working on stable channel, while others try nightly.
I have a theory, bit dumb if you ask me but rls uses racer to get the autocompletion, and racer now depends on rust nightly, could that be a problem source as well? :thinking:

If you can run ALE from Vim instead, you can use ch_logfile() to log all of the messages to a file, and you might find something in there that lets you know why it isn't working, or not. Maybe someone familiar with Rust might suggest something.

Well, issue is fixed now :laughing: not in a very...orthodox method but here's the steps on how to fix it:
Vim 8

Add these repos to your .vimrc

Plug 'prabirshrestha/async.vim'
Plug 'prabirshrestha/vim-lsp'
Plug 'prabirshrestha/asyncomplete.vim'
Plug 'prabirshrestha/asyncomplete-lsp.vim'

add this block on your vim rust settings block

if executable('rls')
    au User lsp_setup call lsp#register_server({
        \ 'name': 'rls',
        \ 'cmd': {server_info->['rustup', 'run', 'nightly', 'rls']},
        \ 'whitelist': ['rust'],
        \ })
endif

(This is based on vim-plug) You have to install the missing packages:

$ vim +PlugInstall +qall

Neovim 0.2.2

First of all upgrade your neovim-python integration

$ pip3 install --upgrade neovim

Add these lines to your init.vim file

call plug#begin('~/.local/share/nvim/plugged')
Plug 'autozimu/LanguageClient-neovim', { 'do': ':UpdateRemotePlugins' }
call plug#end()

autocmd BufReadPost *.rs setlocal filetype=rust

" Required for operations modifying multiple buffers like rename.
set hidden

let g:LanguageClient_serverCommands = {
    \ 'rust': ['rustup', 'run', 'nightly', 'rls'],
    \ }

" Automatically start language servers.
let g:LanguageClient_autoStart = 1

" Maps K to hover, gd to goto definition, F2 to rename
nnoremap <silent> K :call LanguageClient_textDocument_hover()
nnoremap <silent> gd :call LanguageClient_textDocument_definition()
nnoremap <silent> <F2> :call LanguageClient_textDocument_rename()

Install & update remote plugins

$ nvim +PlugInstall +UpdateRemotePlugins +qa

voilà

If rls is working with other LSP clients, it must work with ALE too. Like I said, I only had to set rls as the Rust linter and stable as the Rust toolchain:
let g:ale_linters = {
            \ 'rust': [ 'rls' ],
            \ }
let g:ale_rust_rls_toolchain = 'stable'

Everything worked out-of-the-box for me using ALE and rls.
I simply installed rls using the following command:
rustup component add rls-preview rust-analysis rust-src --toolchain stable

With ALE you don't need any other LSP clients like the ones you cited. ALE's advantage is that you can also integrate linters outside of LSP servers. For Rust it makes no difference, but for other languages having one tool to rule them all is the way to go.

Strangely enough I couldn't make it work out of the box, neither with the home installation using rustup nor from root installation, also most of the tools are included in my path variable, also the steps up there work with nightly, stable rls never worked for me.

@VentGrey Your fix above doesn't have anything to do with ALE. You just installed another plugin that ALE doesn't interact with.

@w0rp Just noticed that :sweat_smile: apologies, I'll try to get even more verbose from nvim to see if there is a connection error or if the rls is not working at all. (Tried switching to nightly with no success).

Works here. rustup and racer were installed via Arch distro packages, rls is installed via the stable toolchain, and the nightly toolchain is installed for racer.

I had a similar problem and then solved it by setting let g:ale_rust_rls_toolchain = ''. The problem is because my rust toolchain name is not simply nightly or stable, but a more specific version number (e.g. nightly-2019-03-05) because rls in not always available for the latest nightly build.
By reading the related source code of this plugin, I found that ale_linters#rust#rls#GetCommand just concatenates %e with +{toolchain} or ''. Using the default settings would run command rls +'nightly', which would result to the following error:
error: 'rls' is not installed for the toolchain 'nightly-x86_64-apple-darwin'
To install, run `rustup component add rls`

On the other hand, running rls +nightly-2019-03-05 or just rls yields the correct results.
By setting let g:ale_rust_rls_toolchain = '' or let g:ale_rust_rls_toolchain = 'nightly-2019-03-05' I can both get rls running successfully.
I think this behavior should have been reflected in the documentation since rls is not always available  in the nightly channel (which is the default value of ale_rust_rls_toolchain), but it did not.

Now ALE defaults to whatever toolchain just running rls without any other arguments will find.


Switch between flows

Please provide information or example how to switch between different flows in case when one of the flow contains TabView.
So I have registration flow and main flow with tab bar (I use original swiftUI TabView with TabContents)
And I can't find approach how I can navigate to tabView after registration flow is completed. I get empty TabView. I suppose that's because tabView is a set of routes(views inside) and if I use tabView as root view it's okey. But if I use some empty root view as router that navigates to registration or tabView flow it can't navigate correctly to tabView

The quickest I can do now is link you to the TabView example which uses a TabView with SwiftUI Router. It uses a TabView at the top level of the view hierarchy, though the logic for a TabView inside a router shouldn't be too different. 🙂

I have seen this example. TabView is used as a root view here...
I want to create something like these:

If I add TabView as second screen after empty root view for routing, I get empty tabView...
Any ideas how to solve the issue?

Finally had a chance to give this a try. So far I experienced no problems getting the TabView to behave nicely.
Here's the entire contents for the ContentView. The only thing omitted here is the Router, which is wrapped around the ContentView in the App (inside the WindowGroup). This was tested on iOS 16.
import SwiftUI
import SwiftUIRouter

extension String: Identifiable {
	public var id: Self { self }
}

enum Constants {
	static let titles: [(title: String, image: String)] = [
		("Movies", "film"),
		("Music", "music.note"),
		("Books", "book"),
	]
}

struct ContentView: View {
	var body: some View {
		SwitchRoutes {
			Route("tabs/*") {
				TabsView()
			}

			Route {
				VStack {
					ForEach(Array(Constants.titles.enumerated()), id: \.element.title) { (index, element) in
						NavLink(to: "/tabs/" + element.title) {
							Text("Go to /tabs/" + element.title)
						}
					}
				}
			}
		}
	}
}

private struct TabsView: View {
	@EnvironmentObject private var navigator: Navigator
	@EnvironmentObject private var routeInformation: RouteInformation
	@State private var selected = -1

	private func setTabForRoute(_ route: String) {
		if let index = Constants.titles.firstIndex(where: { $0.title == route }) {
			selected = index
		}
	}

	var body: some View {
		TabView(selection: $selected) {
			ForEach(Array(Constants.titles.enumerated()), id: \.element.title) { (index, element) in
				VStack {
					Text(element.title)
					NavLink(to: "/") {
						Text("Back to root")
					}
				}
				.tag(index)
				.tabItem {
					Label(element.title, systemImage: element.image)
				}
			}
		}
		.onChange(of: selected) { newIndex in
			navigator.navigate(routeInformation.path + "/" + Constants.titles[newIndex].title)
		}
		.onChange(of: navigator.path) { newPath in
			let components = newPath.components(separatedBy: "/").dropFirst()
			if let route = components.first {
				setTabForRoute(route)
			}
		}
		.onAppear {
			let components = navigator.path[routeInformation.path.endIndex...].components(separatedBy: "/").dropFirst()
			if let route = components.first {
				setTabForRoute(route)
			}
		}
	}
}

The code was written hasty. Plenty of room for cleaning up 🙂


Added two new learning resources

Pluralsight (paid) and Baeldung (paid and free material)

Hi @Anushka-codergirl ,
This is good to merge now, without conflicts

@Anushka-codergirl

@Anushka-codergirl good to go now

Resolve conflicts.

Closing this PR as it takes days for the maintainer to review it and merge. Newer PRs are approved before this one and new conflicts arise every time.


Account Service for Execution

Hi,
it is possible to configure a service account AD to execute DbUp Operation.
i don't want to use my account release to execute my script.
Thanks
Top Xavier

Sure!
Just configure your local build agent windows service to run with your service account, and use a connection string with trusted connection.
If you want a special account for just DbUp you will have to have a separate build agent just for that.

thanks for your answer.
it's not possible to add a service account in task configuration ? it will be more useful than service account. it will be a good enhancement.


Why does everything appear in the list?

Hi.
Even if it's awkward by turning the translator, please understand.
Like the picture below, all the contents of the article are shown in the list.

But all I want is to see the first line of text. like this.

If the text is long, I want to make it visible by clicking 'Read More'.
The code below is my code.
---
layout: post
title: "git 정리1"
tags: [git]
comments: true
---

저장소 종류, 커밋 히스토리, 되돌리기, non-fast-forward

---

### 저장소 종류

I hope you can help.
thank you.

solve. I use this.
excerpt_separator


Fix typo in node.js README

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

LGTM

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok to test.

I signed it!


Fix delete facility

Overview
Allows facilities to be deleted when their created_from
FacilityListItem has multiple associated FacilityMatches.
Connects #1992
Pair to #2019
Testing Instructions

See instructions on #2019

Checklist

[x] fixup! commits have been squashed
[x] CI passes after rebase
[x] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines
[x] This PR is targeted at the correct branch (develop vs. ogr/develop)
[x] If this PR applies to both OAR and OGR a companion PR has been created

Thank you for reviewing!


[Improve][Zeta] Add classloader cache mode to fix metaspace leak

Purpose of this pull request
This PR try to do two thing.

Reduce the classloader number when submit job. Before this PR, each parallelism with create one classloader. After this PR, it will reuse only one classloader if it job id and jar path as both same by default.
Add new config classloader-cache-mode in seatunnel.yaml. This config is mainly to solve the leakage problem of classloader due to the failure of static thread to be destroyed normally. Through this configuration, all different jobs but using the same jar path will reuse the same classloader to reduce the creation and leakage of static threads.

Does this PR introduce any user-facing change?
no

How was this patch tested?
add new test.

Check list

[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[ ] Update the release-note.

waiting #6356


Fix eventloop problem

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

Comparison is base (2bfe8f8) 89.22% compared to head (4bf8299) 89.18%.
Report is 4 commits behind head on beta/v4.0.

Additional details and impacted files
@@              Coverage Diff              @@
##           beta/v4.0     #741      +/-   ##
=============================================
- Coverage      89.22%   89.18%   -0.04%
=============================================
  Files            175      175
  Lines          17960    17965       +5
=============================================
- Hits           16024    16022       -2
- Misses          1936     1943       +7

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


az bicep upgrade failed

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az bicep upgrade
Errors:
The command failed with an unexpected error. Here is the traceback:
[WinError 193] %1 is not a valid Win32 application
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 663, in execute
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 697, in _run_job
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 333, in __call__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/custom.py", line 3672, in upgrade_bicep_cli
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/_bicep.py", line 96, in ensure_bicep_installation
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/_bicep.py", line 200, in _get_bicep_installed_version
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/_bicep.py", line 238, in _run_command
  File "subprocess.py", line 501, in run
  File "subprocess.py", line 966, in __init__
  File "subprocess.py", line 1435, in _execute_child
OSError: [WinError 193] %1 is not a valid Win32 application

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az bicep upgrade

Expected Behavior
Environment Summary
Windows-10-10.0.22000-SP0
Python 3.10.4
Installer: MSI

azure-cli 2.37.0 *

Additional Context

route to CXP team

@spike28742 The issue looks more like python configuration issue, please try to uninstall python and reinstall again. Also verify its path and any orphan path of previous installations as well.
Additionally please upgrade to latest version of az cli 2.41.0

Hi,
I followed your recommendations and did not fix the issue.
Finally I managed to solve it by upgrading to the latest powershell version.
On Fri, Oct 14, 2022 at 3:41 AM RakeshMohan-MSFT @.***>
wrote:

@spike28742 https://github.com/spike28742 The issue looks more like
python configuration issue, please try to uninstall python and reinstall
again. Also verify its path and any orphan path of previous installations
as well.
Additionally please upgrade to latest version of az cli 2.41.0
https://learn.microsoft.com/en-us/cli/azure/install-azure-cli
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-cli/issues/24191#issuecomment-1278363550,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APZEYZ2OAEK332E5AN47LBDWDC22ZANCNFSM6AAAAAAREMUNEU
.
You are receiving this because you were mentioned.Message ID:
@.***>

@spike28742 Glad you could solve the issue.


Fix TestAuthBearerToken and TestAuth_UserPW tests

Both TestAuthBearerToken and TestAuth_UserPW tests are hanging forever. For now those tests are skipped.

We should revisit this PR implementation in this issue

closed by https://github.com/weaviate/weaviate-go-client/pull/170


Add testcase for path_rename

We test the following cases for path_rename.
Positive cases:

source is dir and target doesn't exist -> __WASI_ESUCCESS
source is dir and target is an empty dir -> __WASI_ESUCCESS
source is file and target doesn't exist -> __WASI_ESUCCESS
source is file and target is a file -> __WASI_ESUCCESS

Negative cases:

source is dir and target is a nonempty dir -> __WASI_ENOTEMPTY
source is dir and target is a file -> __WASI_ENOTDIR
source is file and target is an (empty) dir -> __WASI_EISDIR

@sunfishcode did you have a look perhaps? If so, can we merge so that we can proceed with CraneStation/wasi-common#57 and CraneStation/wasi-common#60? :-)

LGTM!


[FEATURE] Explore Projects, Search, Filter

Problem
Need to be able to search and filter through approved projects on registry
User Story(s):
As a user , I want to be able to find projects by least donations or by categories, so that I can find projects I want to donate too
Description
Explore page
Acceptance Criteria

[x] - filter by least and most donations
[x] - filter by most and recent donations
[x] - show project cards with donate and add to cart
[x] - make sure amount raised is enough #31
[x] - use default fall back iamge
[x] - show stats of proejcts correctly
[x] - accurately show project count based on filter
[x] - have featured projects with sliders
[x]  load more on bottom of card
[x] show stats propoerly

Limitations

indexers on registry are slow
rember to put approved projects #35

Resources

https://potlock.org/figma

When I choose any filter, only 9 results are returned

Looks better now, thanks @vonhatcuong


TargetFramework netstandard2.0

I would like to use CheckDigits.Net/GeneralAlgorithms/Modulus10_13Algorithm.cs in my netstandard2.0 project. Has the CheckDigits.Net package a hard dependency on net8.0 or could you add netstandard2.0 to the dependencies?

Thank you for your interest. Let me check into that tomorrow. I wouldn't try creating a netstandard2.0 version of the 2.1 release because I tweaked a couple algorithms for best performance in net8.0. However it may be possible to do something using the 1.x release code.

Interesting. I tried dropping the target framework back to .net5.0 just to see what would happen. I expected that my use of range operators might be an issue, but I found that global usings and file scoped namespaces that the code uses are C# 10 and later.
To be honest, I lucked out and managed to sidestep the whole .netstandard discussion, and moved directly from .Net 4.8 to .Net Core 3.1 and since then mostly did new development where we were at most one version behind the latest .net version so I'm not entirely sure what constitutes a .netstandard library. (In fact my current dev machine only has .Net Core 3.1 and .Net 5.0 and later frameworks installed.)
Given that you only need the Modulus10_13 algorithm, it might be easier to lift the code for that algorithm directly into your project. That's not a problem license-wise as it grants free use to include all or a portion of the code in your own project. I'd be happy to help you with that if you'd like.
One other question, if you don't mind... Could you tell me how you found about CheckDigits.Net? That would possibly help me in my efforts to get more visibility to the package. Thanks!

I'll also take a look at it myself. We found out about your package based on a Google search: "nuget ean13 check digit". Medium article<EMAIL_ADDRESS>is the first search result.

I've created a PR with the changes I made to get it to work. I packed the source as a local nuget package to test with and was able to reference and use it in a netstandard2.0 project. Feel free to make changes or add comments as needed.

Wow. Let me take a look but that's both unexpected and very cool. How should I credit you in the release notes? As Steff Beckers?

I approved your PR and merged the changes. I'll publish the V2.2.0 version tomorrow afternoon (Pacific time in the US).
Thanks for your work!

Thank you! I'll test the new version when it's published.

The package is published and available now. Let me know how your tests go and I'll close out the issue if everything works for you.
Again, I appreciate your help. This widen the applicability of the library and that wouldn't have happened without your input.

Works as expected now, thanks!

I saw the CheckDigits.Net project also has Nullable enabled, maybe you could also use the "string?" notation on the value parameter of the Validate method? This is also why I currently do the extra check.


Automate P1 plugin tests

[ ] Recover and extra mount
a. Start 2 containers using same volume with restart=always
b. restart docker and wait for containers to start and reference counts to be initialized.
c. Start 1 container using same volume
d. Stop all 3 containers and confirm disk is detached

[ ] 	 Short & long names
a. Start container with restart flag and use short name for volume (vol1)
b. restart docker
c. start another instance of container with short name for volume (vol1)
d. start another instance of container with long name for volume (vol1@datastore1)
e. stop all 3 containers and confirm disk is detached.

[ ] 	Duplicate volume name
a. start container with restart flag and short name "vol1" (assuming vol1@ds1)
b. start container with restart flag with same volume name on another ds: vol1@ds2
c. restart docker
d. start container with long name: vol1@ds1
e. Stop all 3 containers and make sure both vol1@ds1 ad vol1@ds2 are detached.

@shuklanirdesh82 is this issue for 0.17?  I'm done with the code and will post the PR tomorrow with the unit-tests done.

Yeah it is for 0.16, as you have code ready please send out soon and we can try to wrap up our code review as soon as possible.

PR #1500