Illuminate\Database\QueryException

Preconditions
I am packaging an app called Paperwork which has been created with the Laravel Framework for a platform called Sandstorm. I first have build the package with Docker and now switched to Vagrant for that. I have a problem migrating old instances of the package which have been created with Docker to the new version.
Issue related to the Laravel Framework
At one point an error from the Laravel Framework is shown which indicates an issue with the MySQL connection or the database elsewhere but instead of showing a helpful SQL error a "Class not found" error is shown.
How to reproduce the issue
Take an existing app with database and rename a random used table to something else.
Expected behavior
The raised error should show a message like "table xyz not found" or something else helpful should be shown, like "advertised" in the code:
// If an exception occurs when attempting to run a query, we'll format the error
// message to include the bindings with SQL, which will make this exception a
// lot more helpful to the developer instead of just the database's errors.

Current behavior
The following message appears which doesn't help to track down the root cause:
 /opt/app/frontend/vendor/laravel/framework/src/Illuminate/Database/Connection.php

Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_UNKNOWN)
Class 'Illuminate\Database\QueryException' not found

        }

        // If an exception occurs when attempting to run a query, we'll format the error
        // message to include the bindings with SQL, which will make this exception a
        // lot more helpful to the developer instead of just the database's errors.
        catch (\Exception $e)
        {
            throw new QueryException(
                $query, $this->prepareBindings($bindings), $e
            );

I guess that the class QueryException is a component of the Laravel Framework which has been changed or doesn't work as expected.
Can you please help me with that? Am I guessing right or is the cause of the not so good fatal error exception not based in the Laravel Framework?
FYI: a screen shot of the error message:

Laravel 4.2 is not supported, sorry.

It would be nice to have at least a useful hint like "upgrade to the latest framework". A "We are not helping" response is pretty lame.

FYI, if anybody else has an older version of the framwork and gets an issue:
Add in /Volumes/2rockRAID5/Eigene/Development/paperwork/frontend/vendor/laravel/framework/src/Illuminate/Database/Connection.php this line at the beginning:
use Illuminate\Database\QueryException;

After having done that you get a proper error message and can start debugging.

// try this Way
increments('id');
            $table->integer('role_id')->unsigned();
            $table->string('name');
            $table->string('email',50)->unique();
            $table->string('username');
            $table->string('password');
            $table->boolean('active');
            $table->rememberToken();
            $table->timestamps();

        });
    }

    public function down()
    {
        Schema::dropIfExists('users');
    }
}

this is a very old issue that was closed nearly 6 years ago

Zo'r gap yo'q malades bosing endi


Update README.md

Thanks for your interest! But I think the changes are not really necessary. Given that, I'm gonna close this.


Possible change to docs

Describe the bug
Hello, thanks for the great project, I am quite new to this. Wanted to ask regarding this part of the doc
Is this still relevant? I tried to install it on a new machine but i get the following:
pip3 install scrapli[full]
Requirement already satisfied: scrapli[full] in ./.local/lib/python3.9/site-packages (2023.7.30)
WARNING: scrapli 2023.7.30 does not provide the extra 'full'

My understanding is there are only these packages available and the following transports available but "system" is the OS ssh client and "full" should not exist as extra package, the rest can be correctly install as .i.e. pip install scrapli[paramiko] etc
Thanks in advance

hmm... I think full must have got killed off in the migration to pyproject.toml... my bad :)
these should all work (like pip install scrapli[community] etc.) still.
I suspect we could fairly easily add full back in in the pyproject.toml -- worst case maybe that means having a requirements-full.txt and adding a line like the above linked stuff; but would be nicer if there is a way to do it w/out adding that file (I'm just not sure off the top of my head). would you be up for a pr to get this sorted out?

hmm... I think full must have got killed off in the migration to pyproject.toml... my bad :)
these should all work (like pip install scrapli[community] etc.) still.
I suspect we could fairly easily add full back in in the pyproject.toml -- worst case maybe that means having a requirements-full.txt and adding a line like the above linked stuff; but would be nicer if there is a way to do it w/out adding that file (I'm just not sure off the top of my head). would you be up for a pr to get this sorted out?
edit and/or a pr to docs would be cool too if you're up for it, either way :)

Thanks for the quick reply, that would be a great opportunity to start contributing ! Let me have a look and have a go with a pr

ill go ahead and close this for now, but defo feel free to pop back w/ any doc update prs at any time, they are much appreciated!


refactor(master): remove redundant logging Sprintf

@Huweicai hello， your pr commit check failed, maybe you need try to rebase master to your branch, and repush your code again.


[WIP] Remove BuiltinAndAxiomSimplifier

Resolves #3111
Scope:
This should be the last step of refactoring we are making for #3111. Basically the main idea is that instead of carrying around functions with type TermLike RewritingVariableName -> SideCondition RewritingVariableName -> Simplifier (AttemptedAxiom RewritingVariableName) (aka BuiltinAndAxiomSimplifier) we want to apply such functions as soon as possible and carry Simplifier values.
There are several things that still need to be done:

There is one test that started to fail as result of this refactoring (Apply with top configuration). As a workaround we changed the expect value in that test, but this value is not supposed to change because we didn't change any logic. We still need to figure out why it changed. See 2ad2608e8dd6bf4dc9457bd7e762b362a0402f3a
definitionEvaluation seems to be used only in tests. It should be removed carefully. The function itself can be removed easily, but before removing tests we need to check whether they test any logic that is still present. Also we should remove all other functions that are used only by definitionEvaluation (transitively).
firstFullEvaluation should be deleted because it's equivalent to applyFirstSimplifierThatWorks.
In this PR we basically made some experiments checking how much code can be simplified/refactored. We see that CI passes, but we are not 100% sure that's enough to conclude that the code works as expected. Someone more familiar with this code should check it more carefully.
Maybe something can be further simplified and refactored, we just stopped at this point. For example, lookupAxiomSimplifier has a TODO comment in the missing case. Maybe if we remove it, more refactoring will be possible.
There is one simple TODO comment we added.

Review checklist
The author performs the actions on the checklist. The reviewer evaluates the work and checks the boxes as they are completed.

[x] Summary. Write a summary of the changes. Explain what you did to fix the issue, and why you did it. Present the changes in a logical order. Instead of writing a summary in the pull request, you may push a clean Git history.
[x] Documentation. Write documentation for new functions. Update documentation for functions that changed, or complete documentation where it is missing.
[ ] Tests. Write unit tests for every change. Write the unit tests that were missing before the changes. Include any examples from the reported issue as integration tests.
[ ] Clean up. The changes are already clean. Clean up anything near the changes that you noticed while working. This does not mean only spatially near the changes, but logically near: any code that interacts with the changes!

I've had a look at the failing unit test and the error was introduced as a result of the removal of all the closures. When we look at the original code, we have
actual <-
    evaluateWithPredicate
        ( firstFullEvaluation
            [ axiomEvaluatorWithRequires
                (Mock.functionalConstr10 Mock.a)
                (Mock.g Mock.a)
                requirement
            , ...
            ]
        )
        (Mock.functionalConstr10 Mock.a)
        requirement

Looking at the definition of firstFullEvaluation we see that it is simply a BuiltinAndAxiomSimplifier closure around applyFirstSimplifierThatWorks [definitionEvaluation ...] OnlyOneResult, so the above is equivalent to
actual <-
    runSimplifierSMT Mock.env $
        applyFirstSimplifierThatWorks
            [ axiomEvaluatorWithRequires
                (Mock.functionalConstr10 Mock.a)
                (Mock.g Mock.a)
                requirement
            , ...
            ]
            OnlyOneResult
            (Mock.functionalConstr10 Mock.a)
            (SideCondition.fromPredicateWithReplacements requirement)

Now, looking at the current definition of applyFirstSimplifierThatWorks:
https://github.com/runtimeverification/haskell-backend/blob/454211800a577c6b8d13c28457ebcdfffe2a871c/kore/src/Kore/Simplify/Simplify.hs#L515-L522
we see that the applicationResult is obtained by applying the simplifier wrapped in BuiltinAndAxiomSimplifier to patt and sideCondition. In this instance it means we will essentially be computing:
...
applicationResult <- axiomEvaluatorWithRequires
    (Mock.functionalConstr10 Mock.a)
    (Mock.g Mock.a)
    requirement
    (Mock.functionalConstr10 Mock.a)
    (SideCondition.fromPredicateWithReplacements requirement)
...

Since in the new code, we have:
https://github.com/runtimeverification/haskell-backend/blob/3be474569d8b8a3446f51d471ff7f2eb0354564a/kore/src/Kore/Simplify/Simplify.hs#L460-L466
the updated test should match this function call. However, as you can see, this is not the case:
https://github.com/runtimeverification/haskell-backend/blob/3be474569d8b8a3446f51d471ff7f2eb0354564a/kore/test/Test/Kore/Rewrite/Axiom/EvaluationStrategy.hs#L289-L295
Namely, (SideCondition.fromPredicateWithReplacements requirement) has become trueSideCondition

Thank you a lot, @goodlyrottenapple!

the arguments patt and sideCondition in the new applyFirstSimplifierThatWorksWorker are now only used to throw an error if more than one configurations appear in AttemptedAxiomResults. This is confusing and perhaps these arguments should be factored out entirely?

Yes, I also noticed this and was about to discuss this with you. But you did it first.

As a side-note, the arguments patt and sideCondition in the new applyFirstSimplifierThatWorksWorker are now only used to throw an error if more than one configurations appear in AttemptedAxiomResults. This is confusing and perhaps these arguments should be factored out entirely?

The sideCondition is also used in result NotApplicableUntilConditionChanges. Which points at a deficiency of the refactoring we do here, as different items in the list might well have embedded different conditions. That was previously not possible, at the price of constructing a list of partially-applied function closures to be passed into this function.
What I would really like to see at this point is an assessment of the performance on the branch vs. current master , so we can see what this change actually buys us.

However, this would mean somehow passing the error as data within AttemptedAxiomResults, to be able to throw this error in the same place... @ana-pantilie @jberthold thoughts?

Maybe the returned AttemptedAxiomResult could be checked by the caller (hopefully knowing the patt) for whether there is more than one result? Anyway this is a hard error call in that case, what we is debugging information for something that should never happen. but we could also modify the AttemptedAxiom type to include an error indicator.

@gromakovsky I second @jberthold that any change or refactoring that could affect performance, we should post performance numbers for against master. Instructions for collecting performance numbers against KEVM live here: https://github.com/runtimeverification/evm-semantics/issues/1165
I believe there is also some work to nix-ify that: https://github.com/runtimeverification/haskell-backend/issues/3323 (but we should not wait for that to finish to continue with profiling each PR we are trying).

Oh, right, there is one thing I forgot. Some time in September, after our previous collaboration phase and before the current one, we ran performance tests for this PR. See results:
report-remove-builtin_master-8.pdf
As you can see, we've got 16% worse performance on average. What I find weird here is that, while in most cases the difference is in range 85-110% (which seems reasonable), there are a few cases with long running times where the difference is 150% or 200% or even 220% in the worst case. These results are a bit outdated, maybe something will change in the new version, but I think we will quite likely get similar results, unless those measurements were made in bad environment (e. g. with something else running concurrently). If that happens, I would investigate worst cases more thoroughly, perhaps would run with profiling in both branches. Since the difference is huge, maybe we'll get some insights.
Anyway, there is a big chance we won't see any performance improvement and maybe will even see performance degradation (even after investigation). In this case I would extract only small changes from this PR that remove unneeded logic (e. g. TermLike transformations and AcceptsMultipleResults) and test just them. They make the codebase simpler and most likely shouldn't spoil performance.

Here is the latest result of performance testing.
report-breakerzircon--_master.pdf


[Enhancement] Reject for creation of OLAP external table whose target cluster is self

backport #25441

[FE PR Coverage Check]
:disappointed: fail : 6 / 10 (60.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
0
4
00.00%
[2167, 2168, 2169, 2170]

:large_blue_circle:
com/starrocks/server/NodeMgr.java
6
6
100.00%
[]


[Application] Show all applications, regardless of state

As a civil servant in a Kommune I would liek to see all applications regardless of state.
The states are:

waiting for verification from oranisations
~waiting for verification from Kommune~
accepted
rejected
withdrawn
deleted (not a state)

Note that an application stay in the state waiting for verification from Kommune if multiple organisations are involved and need to approve.
For each of the states (except delted) we want to list the corresponding applications. For each state there should be a seciton. The most important state is "waiting for verification from Kommune" as this requires direct input from the Kommune.
Acceptance Criteria:

[ ] 4 categories should be visible in the Applications tab of the administration tool
[x] deleted applications are non-existant and should not be shown.
[ ] ~For now, do not create buttons which move the applications between states.~

@michael-markl I added text here, open for discussion. Low-prio as it is not required for launch.

@maxammann should this be moved to after launch?
I think in addition to show all state which could be marked with a Badge or sth we could add a filter like show only verified

i created a new task where i updated the acceptance criteria, so this will be closed
https://github.com/digitalfabrik/entitlementcard/issues/1216


Box drawing characters are fullwidth on some CJK Windows Conhost and cause broken layout

Describe the bug
On some CJK systems, the default conhost console font treats the box drawing characters as fullwidth, which tends to cause broken layout.
To Reproduce

Prepare a CJK Windows setup.
Run the crossterm_demo example.

If using a non-CJK Windows (e.g. the official development VMs, It can be changed to Traditional Chinese using these steps:

Install "Chinese (Taiwan)" or "Chinese (Hong Kong)" UI language in Windows Settings and switch to it.
(Unsure if needed:) In the old control panel applet (intl.cpl), change the non-unicode display language to "Chinese (Traditional, Taiwan)" and do not check the UTF-8 checkbox, then reboot the system.
Start cmd.exe. It should now show Chinese text with the MingLiU (細明體) font.

Expected behavior
Demo should show normally.
Screenshots
Screenshot of demo:

Selecting a single char of the sparkline:

Desktop (please complete the following information):

OS: Windows 10 with Chinese (Hong Kong) interface language
Terminal Emulator: Conhost (built-in console)
Font: MingLiU (細明體) (default)
Crate version: 0.10, master
Backend: crossterm

Additional context
The box drawing characters and some other characters are "East Asian Ambiguous". In the case of CJK Windows, Conhost probably treats them as fullwidth for legacy compatibility reasons.

It's not that much different:

Ok so if all characters of this range are rendered this way with this font I think the only solution would be to provide an alternative set of characters to draw those widgets. Given that you seem to have look into this subject a bit already, would you have a suggestion ?

If you would add more alternative symbols: The box drawing chars (Block) can be replaced with plain old ASCII |, - and +. The chart can perhaps try U+00B7 · instead.
Unfortunately, I don't think there are any alternative chars for the sparkline/bar charts. An alternative would be to fill background colour instead of using the block chars, but this gives an extremely limited resolution. A more radical change would be to add an option to force all ambiguous width chars to be treated as 2-wide, and adapt the sparkline/bar charts to work with that, but this loses half of the x-axis range and probably will take quite some effort to implement.
BTW, the ambiguous chars actually affect more than the drawing chars. Check the screenshots - the Euro sign on the last row is rendered as full width because it is also East Asian ambiguous. If tui-rs does any text measurements it might also need an option to account for these differences.


deduplicate code from communities and rdm-records cli (e.g. _prepare_mapping)

missing merge of rdm-records and communities prs


fix: add rotation when flipping an image

Based on SO: https://stackoverflow.com/a/28657257/12270852
What I noticed is that the image is rotated. This worked on my pixel 2 XL. I am not sure exactly why the rotation is needed. any help would be appreciated

What
<!--
This PR fixes an issue where selfie images appear rotated

## Changes

if you are flipping the image, add a 90-degree rotation

## Tested on

Pixel 2 XL Android 11

## Related issues

Fixes: #146

Hey! Thanks for your PR. I'm currently not at home so I can't test the change, but it doesn't really look right to me to force-rotate it by 90 degrees as the images currently look correct on my Phone.
With your PR they might look correct on yours, but will be incorrect on mine.
I see two solutions:

Fully implement rotation screen rotation, there might be some adjustments needed in configureSession()
Create a bug report at the CameraX google issue tracker, might be a bug specifically for the Pixel 2

Hey! Thanks for your PR. I'm currently not at home so I can't test the change, but it doesn't really look right to me to force-rotate it by 90 degrees as the images currently look correct on my Phone.
With your PR they might look correct on yours, but will be incorrect on mine.
I see two solutions:

Fully implement rotation screen rotation, there might be some adjustments needed in configureSession()
Create a bug report at the CameraX google issue tracker, might be a bug specifically for the Pixel 2

Yup, I agree. I didn't quite know what was going on here with why the rotation was needed. I wanted to kick this or off to start hammering out a solution. I was looking at Androids docs and implemented their Orientation Listener but what I notice was orientation was 0.
My team will test out on a few devices and I'm going to try and carve out time to dig into this.

So Something i noticed while testing:
Test case: use front-facing camera, do not run fun flipImage
Result: Image is mirrored as expected
Test Case:
Results: Image is rotated 90 degrees. Below is what I changed for testing:
fun flipImage(imageBytes: ByteArray): ByteArray {
  val bitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.size)
  val matrix = Matrix()
  // What if we just save the image back? without any transformations?
  // matrix.preScale(-1f, 1f)
  val newBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.width, bitmap.height, matrix, true)
  val stream = ByteArrayOutputStream()
  newBitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream)
  return stream.toByteArray()
}

I am not really up to speed on Android development yet, but this seems weird. Since the Constructor for a matrix creates an identity matrix i would expect the image to not be changed

Hi @jphilipstevens even I'm facing same issue on Pixel and other devices which run core android captured image is rotating. Have you found a fix for that ??

@coolvasanth the above fix seems to work but I got here with trial and error. I have not had the chance to go deep into the fix yet.

Hey, thanks for the PR but I think this has been overridden because of the Camera2 rewrite! There is a new issue to fix orientation, maybe this PR can be relevant there: #1891


3d subplots fail

I am trying to generate 4, Scatter3d plots tiled like in the example:
https://plot.ly/python/subplots/
However it fails and defaults to 1. I was just wondering if I was doing something wrong or if this just isn't supported yet.
Example:
https://plot.ly/~JamesLindsay/84/i-3-subplots/
    for k in range(2, 6):

        # compute clustering.
        centroid, label, inertia = k_means(V, n_clusters=k)

        # add trace for each component.
        for kidx in range(k):
            traces.append(
                Scatter3d(
                    x = V[label == kidx, 0],
                    y = V[label == kidx, 1],
                    z = V[label == kidx, 2],
                    mode = 'markers',
                    marker = Marker(
                        size = 12,
                        opacity = 0.8,
                    ),
                )
            )

        # change axis pointer.
        aidx += 1

    data = Data(traces)
    fig = get_subplots(rows=2, columns=2)
    fig['data'] += data
    fig['layout'].update(title='i <3 subplots')

In version 1.5.0, we've expanded the capabilities of tls.make_subplots in a new function called tls.make_subplots.
Among other features, tls.make_subplots can generate 3d subplots (or subscenes if you prefer).
This notebook walks you through an example.


Beta

:tada: This PR is included in version 1.1.1-beta.1 :tada:
The release is available on npm package (@beta dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.1.1-beta.1 :tada:
The release is available on npm package (@beta dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.1.1 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.1.1 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Clicking on currency in currency selector also scrolls the list.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.74-4
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @ishpaul777
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1715978251152609
Action Performed:

Login to https://staging.new.expensify.com/
Navigate to settings and select any workspace
Click on any other currency to select

Expected Result:
Selects the currency and close the modal.
Actual Result:
It always scrolls the list
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos
https://github.com/Expensify/App/assets/38435837/7f4fff17-bef5-4b25-a858-09265d190849
https://github.com/Expensify/App/assets/38435837/2103d4d3-df0a-4717-bf80-cd438f7fd3e5
Add any screenshot/video evidence

View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
It always scrolls the list
What is the root cause of that problem?

We do not use shouldPreventDefaultFocusOnSelectRow: true in this case

What changes do you think we should make in order to solve the problem?

We should use shouldPreventDefaultFocusOnSelectRow: true in this case

What alternative solutions did you explore? (Optional)
NA

Proposal
Please re-state the problem that we are trying to solve in this issue.
It always scrolls the list
What is the root cause of that problem?

We do not use shouldPreventDefaultFocusOnSelectRow: true in this case

What changes do you think we should make in order to solve the problem?

We should use shouldPreventDefaultFocusOnSelectRow: false in this case

What alternative solutions did you explore? (Optional)
NA

Proposal
Please re-state the problem that we are trying to solve in this issue.
It always scrolls the list
What is the root cause of that problem?

When clicking on a button, three events occur sequentially: onMouseDown, onMouseUp, and onClick.

In this particular bug scenario, when we initiate a "mouse down" action on option A, it focuses on option A and then scrolls to it. The onMouseDown event's target is option A.

Since the mouse pointer remains stationary, after the list is scrolled, the pointer ends up over another option, B.

Subsequently, when we release the mouse button ("mouse up"), the onMouseUp event's target is option B.

What changes do you think we should make in order to solve the problem?

In here, we should use shouldPreventDefaultFocusOnSelectRow: true

What alternative solutions did you explore? (Optional)

NA

Proposal
Please re-state the problem that we are trying to solve in this issue.
It always scrolls the list
What is the root cause of that problem?

When clicking on a button, three events occur sequentially: onMouseDown, onMouseUp, and onClick.

In this particular bug scenario, when we initiate a "mouse down" action on option A, it focuses on option A and then scrolls to it. The onMouseDown event's target is option A.

Since the mouse pointer remains stationary, after the list is scrolled, the pointer ends up over another option, B.

Subsequently, when we release the mouse button ("mouse up"), the onMouseUp event's target is option B.

What changes do you think we should make in order to solve the problem?

In here, we should use shouldPreventDefaultFocusOnSelectRow: true or shouldPreventDefaultFocusOnSelectRow={!DeviceCapabilities.canUseTouchScreen()}

What alternative solutions did you explore? (Optional)

NA

Let's fix this!

Same as https://github.com/Expensify/App/issues/41922

Ah good catch @tsa321 , closing this dupe


Container's props are not updated without application restart

Restarting container (stop+start) doesn't update variables of Docker containers. It seems to be a Backend issue. New changes are applied after the application restart.

This should be already fixed. Please test start/restart and if there is another bug then I will fix it.


[DOCs] 'Open in app' banners on iOS may not always display

This is a bug with the iOS 'Open in app' banners, so is not directly related to this plugin, but it should/could be mentioned in the docs to save a lot of hassle for people out there.
In some cases, the 'Open in app' banner may not show in Safari after opening a universal link pointing to a website. The banner will be present on the site, but it 'hides' underneath the URL bar, and thus is invisible to the user. This is consistently reproducible when setting the following CSS styles:
body {
      margin: 0;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      position: fixed;
}

An example of this issue may be found when opening maps.google.com in Mobile Safari. To see the 'Open in app' bar, you'll actually have to drag the search bar or tap at the top of the URL bar (as if you were scrolling to the top of the site).
A fix for this strange behavior is to call window.scrollTo(0, -100); when your site has finished loading (or at least painted the body node).

Thanks for the info! Can you do the pull request to the readme file with this data?


Expose extraction methods in Extractor as public APIs

You can now use these methods instead of operators if you prefer the former.

:ship:


enforce log retention policies

for access logs, save meta-data about the log file itself
in a simple format.
implement a proof-of-concept shell script that removes
log files after one month.
ensure retention enforcer is started when services start
note that retention enforcer will continue running even
after services stop, but it has protection to ensure that
it won't multiply endlessly.

@hmusum please take a quick look, will need to discuss it more before merging.

LGTM


Error Regarding _FusedConv2D on ARMv6/Pi Zero

Hi there. I have successfully install v1.13.1 on pi zero with the armv6l.whl. I also have keras installed and ran an MNIST MLP example correctly with KerasMNIST repo from EN10. But when I tried the cnn version of MNIST, some error regarding _FusedConv2D popped up. A bit researching suggests that the error is with the architecture. I have cross-checked with pi 3 and verified that the repo works on armv7.
According to the comment in the second link, cross-compiling with some setup will make it work. I was wondering if it is possible to release a new one with this feature?

@gcmike I have the same issue on the zero, could you find a solution?

Same here, looking for a solution

@marsmith I could solve my issue with a my LeNet-5 by turning off biasing in Conv2d operation.


L¹ FGM is wrong?

Hello,
I'm not sure, but I think the FGM extension to $L¹$ norm is not correct.
From what I can read here, it seems to me that the current version implements (essentially)
$$\text{noise direction}=\frac{\nabla}{\Vert\nabla\Vert_1}$$
when
$$\text{noise direction}=(0, \dots, 0, \text{sign}(a_i), 0, \dots, 0),\quad(i=\text{argmax}_j\vert\nabla_j\vert)$$
gives a higher inner product $\langle\nabla,\text{noise direction}\rangle$ for the same $L¹$ budget.
Indeed, in both cases $\Vert\text{noise direction}\Vert_1=1$ while the first and second options respectively give $\Vert\nabla\Vert_2/\Vert\nabla\Vert_1$ and $\Vert\nabla\Vert_{\infty}$. The latter is of course bigger due to Hölder's inequality.

Hi @ego-thales Thank you for this comment. Without deciding on the correctness yet, how did you notice this issue? Have you already checked which version the literature on FGM is using?

Thanks for your answer,
I've stumbled upon this because while reading FGSM paper (the reference for implementation), I thought about generalizing to $L^p$ norms. Then I saw that this repo implemented $L¹$ and $L^2$ extensions specifically, so I went and checked out the code (since there is no cited source regarding the maths used) and noticed this (apparently) suboptimal implementation.

Actually, now that I think about it, I don't see any reason why this attack is not generalized to any $L^p$ noise.
Let $p\in[1, +\infty]$ and $q$ such that $\frac{1}{p}+\frac{1}{q}=1$ (some abuse of notations will occur when $p\in{1, +\infty}$). With
$$\text{noise direction}:=\left(\frac{\vert\nabla\vert}{\Vert\nabla\Vert_q}\right)^{q/p}\text{sign}(\nabla),$$
on gets:

$\Vert\text{noise direction}\Vert_p=1$,
$\langle \nabla, \text{noise direction}\rangle=\Vert\nabla\Vert_q$ (I skip the computations, but mainly because $\frac{q}{p}+1=q$, which is the equality case of Hölder's inequality.

As such, it would be a nice addition to entirely generalize FGM to all $p\geq 1$.

Hi @ego-thales Thank you very much for the explanation and pull request! Let me take a closer look at the required changes. Related to this issue in FGSM, what do you think about the perturbation per iteration and overall perturbation calculation for p=1 in the Projected Gradient Descent attacks in art.attacks.evasion.projected_gradient_descent.*?

I'm not entirely sure but it looks to me after a quick glance that PGD was implemented as a subs class of FGSM and inherits its loss from it.


Nested Graph, LoginScreen/authGraph, HomeScreen/,mainGraph

Hi Rafael,
I've created 2 navGraphs  authGraph / mainGraph and i'm trying to implement the following
AuthGraph includes LoginScreen
MainGraph includes HomeScreen / other screens
Sign in
Login -> Home

Sign out
Home / other screens -> Login
appreciate all the help!

I have the same problem.
If I have a AppNavHost, it has AlbumScreen, ArtistScreen, LoginScreen..
There is also a HomeNavHost, AppNavHost contains HomeNavHost, so how do I jump from HomeNavHost to AppNavHost AlbumScreen? I mean using DestinationsNavigator

I have an idea. Define a staticCompositionLocalOf .
And then when you go from AppNavHost to HomeNavHost, HomeNavHost still belongs to AppNavHost, then you get the DestinationsNavigator of AppNavHost. CompositionLocalProvider is used to assign to it, and then HomeNavHost gets the DestinationsNavigator of AppNavHost.
val appNavigator = staticCompositionLocalOf<DestinationsNavigator> { error("!!!!!!num") }

class DesinationsActivity : ComponentActivity() {
    @OptIn(ExperimentalMaterialNavigationApi::class, ExperimentalAnimationApi::class)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            DestinationsNavHost(
                navGraph = NavGraphs.root
            )
        }
    }
}
@Destination(
    start = true
)
@Composable
fun AppOneScreen(
    navigator: DestinationsNavigator
) {
    Column {
        Button(onClick = {
            navigator.navigate(HomeScreenDestination())
        }) {
            Text(text = "toHome")
        }
        Button(onClick = {
            navigator.navigate(AlbumScreenDestination())
        }) {
            Text(text = "to Album Screen")
        }
    }
}

@Destination
@Composable
fun AlbumScreen() {
    Text(text = "this is AlbumScreen")
}

@Destination
@Composable
fun HomeScreen(
    navigator: DestinationsNavigator /*appNavigator*/
) {
    CompositionLocalProvider(
        appNavigator provides navigator
    ) {
        DestinationsNavHost(navGraph = NavGraphs.home)
    }
}

@Destination(
    start = true,
    navGraph = "home"
)
@Composable
fun HomeStartScreen() {
    val navigator = appNavigator.current
    Column {
        Text(text = "this is homeStartScreen")
        Button(onClick = {
            navigator.navigate(AlbumScreenDestination())
        }) {
            Text(text = "to AppNavHost album")
        }
    }
}

But I don't think it's a good idea

Hi guys 👋
I’ll help you!
Starting with your code @huaweikai. Why do you need multiple NavHosts? There is a difference between NavHosts and Nav graphs. One NavHost receives one nav graph, but that nav graph may contain multiple nested nav graphs.
So I would always prefer to use only one NavHost, except some very specific use case. In fact, the way you have that setup, the home graph is nested in root one. So when you call DestinationsNavHost passing root, the home graph is also being registered in that NavHost!
Let me know if you really want to use multiple NavHosts. It’s definitely doable, but there is a better way to not use local compositions. And you need to disable nav graphs generation so that you can define two completely separate nav graphs.

Sorry @ismai117, I had to take a break and this is when I could come to answer you :)
So you'll want to annotate your LoginScreen composable with @Destination(navGraph = "login"), and all others with @Destination(navGraph = "main").
Then these are your nav graphs:
"Root" contains both main and login nested nav graphs.
  graph LR;
      root-->main;
      root-->login;

After this, you'll want to pass NavGraphs.root  to your DestinationsNavHost call since it is the one that contains all your destinations you want to register in there.
Finally, there are a lot of ways you can go about managing log in status and making sure the user is not on a screen where he needs to be logged in. I won't cover everything here.
The most basic way to do this is to set your LoginScreen as the start destination (@Destination(start = true, navGraph = "login")). Then if the user successfully logs in, you'll want to navigate to your other nav graph (navigator.navigate(NavGraphs.main)). Whenever the user logs out, you navigate to the login screen (navigator.navigate(NavGraphs.login)). Both these navigations should pop out all other screens from the back stack so that the user cannot go back to previous screen.  You can use the builder to do that:
@Destination
@Composable
fun LoginScreen(
     navigator: DestinationsNavigator
) {
    // uppon successful login:
    navigator.navigate(NavGraphs.main) {
        popUpTo //....
    }

}

This is just something to get you started, it may NOT be the best way to handle login flows if your login expires for example. Because if the process is killed and the user is restored to a screen where he needs login, but his login expired, you need to explicitly go back to the login screen.
I'll close this, but feel free to add more follow up questions below!

Hi Raam, thank you very much!
I have 2 more questions and I would highly appreciate it if you could help me with it.

what is the best way to save a user status if they signed in but the app got destroyed?.

how do add a Drawer using your library? I tried implementing it but the topbar shows up in the login screen - scaffold

thanks!

Probably save something in a persistent way (db, shared prefs, etc)
You need to check if the current destination is the login screen, then you don’t show the top bar. You can check the file from sample app named DestinationsSampleScaffold for a way to update elements given the current Destination.

Thanks!, I will check that out
I followed through the first answer you gave me. but its not working for me,
I annotated  the screens such as (home, messages) with "main" and LoginScreen with "login"
I set LoginScreen - start destination to true but when I run it it's asking me to set start for main Graph, when I set login screen and home screen to true. The background is white, its not showing anything

I've solved it. Thanks

inside MainActivity Class
@AndroidEntryPoint
class MainActivity : ComponentActivity() {
private val scannerViewModel: ScannerViewModel by viewModels()
private val barcode = StringBuffer()

@SuppressLint("UnrememberedMutableState")
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    setContent {

        actra_appTheme() {

            Column(
                Modifier.fillMaxSize(),
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center
            ) {

                ContainerScreen()

            }
        }
    }
}

@Composable
fun ContainerScreen() {

    val scaffoldState = rememberScaffoldState()
    val coroutineScope = rememberCoroutineScope()

    Scaffold(
        scaffoldState = scaffoldState,
        topBar = {

        }
    ) {
        RootNavigation()
    }

}

}

 Caused by: java.lang.RuntimeException: No found destinations for 'root' navigation graph
    at com.example.myfirstapp.presentation.screens.NavGraphs.<clinit>(NavGraphs.kt:37)

Oops this is maybe my bad sorry
I did not have my computer with me 😄
Remove all navGraph = main and use NavGraphs.root as your main instead.

it works now, thank you!
just one final question, I'm a  junior so sorry if i'm asking a lot :)
Can you show me an easy way of Implementing a drawer navigation with the library, I tried doing it but im confused.
Thanks

Hi Rafeal, I've looked at the examples, I do understand a little but the DestinationsSampleScaffold.kt is just too confusing for me. Sorry
Can we implement the drawer navigation/scaffold the usual way but with the library or do we have to follow your example?

If you're not using bottom sheet screens, all you need there is this:
@Composable
fun MyScaffold(
    navController: NavHostController,
    scaffoldState: ScaffoldState,
    topBar: @Composable (Destination) -> Unit,
    bottomBar: @Composable (Destination) -> Unit,
    drawerContent: @Composable ColumnScope.(Destination) -> Unit,
    content: @Composable (PaddingValues) -> Unit
) {
    val currentBackStackEntryAsState by navController.currentBackStackEntryAsState()
    val destination = currentBackStackEntryAsState?.navDestination
        ?: NavGraphs.root.startRoute.startDestination

    Scaffold(
        scaffoldState = scaffoldState,
        topBar = { topBar(destination) },
        bottomBar = { bottomBar(destination) },
        drawerContent = { drawerContent(destination) },
        content = content
    )
}

And then you use it instead of using Scaffold directly:
//...

MyScaffold(
    scaffoldState = scaffoldState,
    navController = navController,
    drawerContent = { currentDestination ->
        MyDrawer(
            currentDestination
        )
    }
) {
    DestinationsNavHost//...
}

And know your MyDrawer Composable receives the current destination. You can use that to adapt it (for example, I write the current selected destinationin bold). And you can check how I do navigation there :)

Hi Rafael, when I click on the item it doesn't navigate, I've attached below what I implemented.. Forgive me for my questions!
@Composable
fun Container() {
val navController = rememberNavController()
val scaffoldState = rememberScaffoldState()
val coroutineScope = rememberCoroutineScope()

MyScaffold(
    navController = navController,
    scaffoldState = scaffoldState,
    topBar = {
        TopBar(destination = it) {
            coroutineScope.launch {
                scaffoldState.drawerState.open()
            }
        }
    },
    bottomBar = {},
    drawerContent = { currentDestination ->
        MyDrawer(
            currentDestination,
            navController,
            coroutineScope,
            scaffoldState
        )
    }
) {
    DestinationsNavHost(navGraph = NavGraphs.root)
}

}
@Composable
fun DirectionDestination.DrawerContent(
isSelected: Boolean,
onDestinationClick: (DirectionDestination) -> Unit
) {
when (this) {
HomeScreenDestination,
MessagesScreenDestination -> {
Text(
text = stringResource(id = requireTitle),
modifier = Modifier
.padding(8.dp)
.clickable{
onDestinationClick(this)
},
fontWeight = if (isSelected) FontWeight.Bold else null
)
}
}
}
@get:StringRes
val Destination.requireTitle
get(): Int {
return title ?: throw RuntimeException("Destination $this, doesn't contain title")
}
@get:StringRes
val Destination.title
get(): Int ? {
return when (this) {
HomeScreenDestination -> R.string.home_screen
MessagesScreenDestination -> R.string.messages_screen
else -> null
}
}
@Composable
fun MyDrawer(
destination: Destination,
navController: NavHostController,
coroutineScope: CoroutineScope,
scaffoldState: ScaffoldState
) {
NavGraphs.root.destinations
.filterIsInstance()
.forEach {
it.DrawerContent(
isSelected = it == destination,
onDestinationClick = { clickedDestination ->
if (navController.currentBackStackEntry?.lifecycle?.currentState == Lifecycle.State.RESUMED
&& navController.currentBackStackEntry?.navDestination != clickedDestination
) {
navController.navigateTo(clickedDestination)
coroutineScope.launch { scaffoldState.drawerState.close() }
}
})
}
}
Thanks

@Composable
fun DirectionDestination.DrawerContent(
isSelected: Boolean,
onDestinationClick: (DirectionDestination) -> Unit
) {
when (this) {
HomeScreenDestination,
MessagesScreenDestination -> {
Text(
text = stringResource(id = requireTitle),
modifier = Modifier
.padding(8.dp)
.clickable{
onDestinationClick(this)
},
fontWeight = if (isSelected) FontWeight.Bold else null
)
}
}
}
@get:StringRes
val Destination.requireTitle
get(): Int {
return title ?: throw RuntimeException("Destination $this, doesn't contain title")
}
@get:StringRes
val Destination.title
get(): Int ? {
return when (this) {
HomeScreenDestination -> R.string.home_screen
MessagesScreenDestination -> R.string.messages_screen
else -> null
}
}

You need to pass the NavController to the DestinationsNavHost for that NavController to be used!
Then it should work 🙂

@Composable
fun MyDrawer(
destination: Destination,
navController: NavHostController,
coroutineScope: CoroutineScope,
scaffoldState: ScaffoldState
) {
NavGraphs.root.destinations
.filterIsInstance()
.forEach {
it.DrawerContent(
isSelected = it == destination,
onDestinationClick = { clickedDestination ->
if (navController.currentBackStackEntry?.lifecycle?.currentState == Lifecycle.State.RESUMED
&& navController.currentBackStackEntry?.navDestination != clickedDestination
) {
navController.navigateTo(clickedDestination)
coroutineScope.launch { scaffoldState.drawerState.close() }
}
})
}
}

To be clear the navcontroller you get from calling rememberNavController, you need to pass it to the DestinationsNavHost call 🙂

ohh it works now, thank you so much! You've created an amazing library!

Hi Rafael
I implemented the login flow to see if the user is logged in or not and then navigate to login screen or Home Screen

The code above works but  if user is already logged in and the app gets recreated, the login screen (start destination) shows up first before it navigates to the Home Screen.
I'm trying to figure out how I can  show the home screen only if user is logged in without the login screen showing again.
thanks!

Hi there!
You found one of the reason why the simplest approach is not the best :D
Check this video:
https://www.youtube.com/watch?v=09qjn706ITA&t=286s

HI Rafael, thanks for sending that video
After watching it, I noticed that a fragment was being used rather than a composable. Do you have any simple apps or documentation which shows how to implement it?
I usually work with Firebase Auth but I'm currently building an app for someone who doesn't want firebase auth and I haven't got a clue on how to handle it user is already logged in

Yeah but the principle is the same, maybe you need a way to always check if you need to show login and if so show it above whatever is the current screen.
Sorry @ismai117 , other than this I don’t know myself. I honestly haven’t implemented this flow yet. Just know that this is not an issue with Compose Destinations, you would be in the same position if you were using official compose navigation.
So whatever solution you may find out there for official navigation library, will be easily doable with Compose Destinations too 🙂

no worries Rafael, thanks.
is there a way I can pass the NavController inside the composable from DesitnationNavHost() like we did with NavHost() ?


Check staking earning status on CreditCoin

SubWallet is showing not earning status for this account 5DvWi3n7P8KZ23VotewSJjQNBsuWhmh8KfyqXVapsnQC7Cqx. Please confirm

Status of this account:

2 nominators have not earning status (nominator not at top of validator's nominators)
1 nominator has waiting status (nominator not in list validator's nominators)
-> Status is not earning

Status of this account:

2 nominators have not earning status (nominator not at top of validator's nominators)
1 nominator has waiting status (nominator not in list validator's nominators)
--> Status is not earning

Because the list nominator returned is unsorted, so result is wrong.
--> Sort the raw list before exporting the top list


feat: custom highlight on kind item #327

hi
my pr allow user can change highlight on lsp kind.
#327
--sample

local lsp_kinds = {
    Text                  = {''  , 'TSText'        } ,
    Method                = {'ƒ'  , 'TSMethod'      } ,
    Function              = {'ƒ'  , 'TSFunction'    } ,
    Constructor           = {''  , 'TSConstructor' } ,
    Field                 = {'⌘'  , 'TSField'       } ,
    Variable              = {''  , 'TSVariable'    } ,
    Class                 = {''  , 'TSConstructor' } ,
    Interface             = {''  , 'TSAnnotation'  } ,
    Module                = {''  , 'TSConstant'    } ,
    Property              = {''  , 'TSProperty'    } ,
    Unit                  = {''  , 'TSTag'         } ,
    Value                 = {''  , 'TSValue'       } ,
    Enum                  = {'了' , 'TSMethod'      } ,
    Keyword               = {''  , 'TSKeyword'     } ,
    Snippet               = {'﬌'  , 'TSLabel'       } ,
    Color                 = {''  , 'TSBoolean'     } ,
    File                  = {''  , 'TSSymbol'      } ,
    Reference             = {''  , 'TSReference'   } ,
    Folder                = {''  , 'Directory'     } ,
    EnumMember            = {''  , 'TSPunctSpecial'} ,
    Constant              = {''  , 'TSConstant'    } ,
    Struct                = {''  , 'TSStruct'      } ,
    Event                 = {''  , 'TSEvent'       } ,
    Operator              = {''  , 'TSOperator'    } ,
    TypeParameter         = {''  , 'TSType'        } ,
}

cmp.setup({
    formatting={
      format = function(_, vim_item)
        vim_item.kind_highlight = lsp_kinds[vim_item.kind][2]
        vim_item.kind = lsp_kinds[vim_item.kind][1]
        return vim_item
      end,
    }
})

This implementation may also be good but I was thinking of a different way.
I was thinking of defining highlights for all kind in plugin / cmp.lua. (This method has the advantage that colors can be defined in the color scheme.)
highlight CmpItemKind ...
highlight link CmpItemKindFunction CmpItemKind
highlight link CmpItemKindInterface CmpItemKind
...

google translated

i already think about it but it need define many highlight group and it need a colorscheme plugin to update.
i already use it and mapping an lsp item kind to a treesitter highlight group is easy to recognize.

I think your solution will not allow you to specify highlight groups in your color scheme.
My solution allows it, but we can't programmatically specify highlight groups from the plugin.
I think my solution is more vim way.

I would say I agree with @hrsh7th. I was thinking about this today, so I just went over the PRs as I was sure that somebody else would have thought of it.
Yes if these Highlight groups are not defined then we can fallback to the original Highlight for the Kinds.


how to enable it on second monitor?

it only seems to work with primary display for me

Please run cortile with cortile -v and provide the first ten lines of the output. You should see some Screens/Desktops logs, which will show if the second monitor was recognized.
Keep in mind, that if you have tiling_enabled = false in the toml.config you have to enable tiling per screen.
In general keyboard shortcuts (e.g. for tiling/untiling events) are executed on the screen where you pointer currently is located.

Please provide additional information if this issue still exists.

$ cortile -v
cortile already running (resource temporarily unavailable)


Major bug: new users registered on Phoenix are not subscribed to mobile commons

Major bug: new users registered on Phoenix are not subscribed to mobile commons
Current Behavior

User that register with us using Phoenix are not registered on Mobile Commons

Desired Behavior

They should be registered with us on MoCo and subscribed to generic user registration OIP 164905

Steps to Replicate

Go to https://www.dosomething.org/user/register
Use phone number not registered with us
Search for this number on https://secure.mcommons.com/profiles

Why This Matters
Well...
Countries Affected (optional)
All.
Example
Here's a user that has cell # in phoenix: https://www.dosomething.org/user/4072149/edit
Here's what we have in logs:
------ mbc-registration-mobile - MBC_RegistrationMobile_Consumer->consumeRegistrationMobileQueue() - 2 Fri Sep 2016 18:22:10 EDT START ------

** canProcess(): mobile number was not defined.
-> message: Array
(
    [activity] => user_register
    [email] => ***CENSORED***
    [uid] => 4072149
    [merge_vars] => Array
        (
            [MEMBER_COUNT] => 5.3 million
            [FNAME] => ***CENSORED***
        )

    [user_language] => en
    [user_country] => US
    [email_template] => mb-user-register-US
    [mailchimp_list_id] => ***CENSORED***
    [birthdate] => 943315200
    [subscribed] => 1
    [email_tags] => Array
        (
            [0] => drupal_user_register
        )

    [activity_timestamp] =><PHONE_NUMBER>
    [application_id] => US
)

- failed canProcess(), removing from queue.
- transactionalQueue ready: 0
- transactionalQueue unacked: 0

------ mbc-registration-mobile - MBC_RegistrationMobile_Consumer->consumeRegistrationMobileQueue() - 2 Fri Sep 2016 18:22:10 EDT END ------

cc @classicfreddie @angaither @mshmsh5000 @justkika

Why it happened?
This refactoring renamed variable dosomething_signup_mobilecommons_opt_in_path_general_campaign to dosomething_signup_us_mobile_opt_in_campaign: https://github.com/DoSomething/phoenix/pull/5143/files#diff-ede5d887544c898179fb6feccb2652f8R574.
But didn't renamed this variable here: https://github.com/DoSomething/phoenix/blob/dev/lib/modules/dosomething/dosomething_user/dosomething_user.module#L644
After xdebugging i found out that this logic is always FALSE: https://github.com/DoSomething/phoenix/blob/dev/lib/modules/dosomething/dosomething_user/dosomething_user.module#L645

When it happened?
This release: https://github.com/DoSomething/phoenix/releases/tag/v1.2.5
tagged on Sep 19, 2015


Can't find variable URL

Environment
iOS
<EMAIL_ADDRESS><EMAIL_ADDRESS>Error
Can't find variable: URL

Related code

Analyze
It did working before, and suddenly it came out. It seems like babel not transforming correctly, I've also tried "react-native start --reset-cache".

@jaggerwang in line no. 13 you seem to be using URL module which is not imported yet.

It seems to be bug in your code.

@facebook-github-bot shipit

@facebook-github-bot stack-overflow

Hey @jaggerwang and thanks for posting this! @satya164 tells me this issue looks like a question that would be best asked on StackOverflow. StackOverflow is amazing for Q&A: it has a reputation system, voting, the ability to mark a question as answered. Because of the reputation system it is likely the community will see and answer your question there. This also helps us use the GitHub bug tracker for bugs only. Will close this as this is really a question that should be asked on SO.

@jaggerwang, I had the same problem.
URL was working because I had the Remote JS Debugger running in Chrome.

Install npm package url to fix this.

The correct answer to this should be installing url-parser.


Press page: media mentions

We launched the page without any because there weren't any :)
Now that we have lots, we can curate a selection to put on the page as originally planned
Create a page that lists high-profile media mentions

(doing some issue clean-up)
There is a Press Coverage page on the site now. Closing :)


Disable Text-To-Speech issue

My customer would like to enable the Speech-To-Text feature, but not the Text-To-Speech one.
I tried to set to null the properties speechSynthesis and SpeechSynthesisUtterance but it's not working.
This is my code:
var _botConnection = new window.WebChat.createDirectLine({
      token: '{secret}'
});
const subscriptionKey = 'xxxxxxxxxxxxxx';

async function createPonyfillFactory() {
       const webSpeechPonyfillFactory = await window.WebChat.createCognitiveServicesSpeechServicesPonyfillFactory({
       region: 'westeurope',
       speechRecognitionEndpointId: 'yyyyyyyyyyyyy',
       subscriptionKey
       });

     return options => {
            const webSpeechPonyfill = webSpeechPonyfillFactory(options);
                    return {
                        SpeechGrammarList: webSpeechPonyfill.SpeechGrammarList,
                        SpeechRecognition: webSpeechPonyfill.SpeechRecognition,
                        speechSynthesis: null,
                        SpeechSynthesisUtterance: null
                    }
                };
            };

 window.WebChat.renderWebChat({
       directLine: _botConnection,
       webSpeechPonyfillFactory: await createPonyfillFactory()
       },
       document.getElementById('webchat')
 );

This is the console output:
_webchat.js:1 TypeError: i is not a constructor
at c (webchat.js:1)
at webchat.js:1
at c (webchat.js:1)
at Generator.invoke (webchat.js:1)
at Generator.e. [as next] (webchat.js:1)
at n (webchat.js:1)
at s (webchat.js:1)
at webchat.js:1
at new Promise ()
at webchat.js:1
The first interaction works fine, but after it the microphone icon is greyed out and you cannot dictate anymore.
Could you please help me?
Thanks

'How to' questions such as this one are better suited for Stack Overflow. Please feel free to post other questions you have about developing your own features over there so the community at large may help out. If you need help with a Web Chat implementation, you can post a question to the Web Chat tag. Thank you!

I was able to reproduce this with Sample 06.f. This appears to be an issue with Web Chat and not the customer's code. @compulim Any insight to what the issue might be?
Web Chat v4
async function createHybridPonyfillFactory({ authorizationToken, region }) {
  const speechServicesPonyfillFactory = await window.WebChat.createCognitiveServicesSpeechServicesPonyfillFactory({ authorizationToken, region });
  const webSpeechPonyfillFactory = await window.WebChat.createBrowserWebSpeechPonyfillFactory();

  return options => {
    // We are using two ponyfill factories to create two concrete ponyfills.
    const speechServicesPonyfill = speechServicesPonyfillFactory(options);
    const webSpeechPonyfill = webSpeechPonyfillFactory(options);

    // And we are merging the result from two different ponyfills.
    // We use browser-supported speech for speech-to-text, and Speech Services for text-to-speech.
    return {
      SpeechGrammarList: webSpeechPonyfill.SpeechGrammarList,
      SpeechRecognition: webSpeechPonyfill.SpeechRecognition,

      speechSynthesis: null,
      SpeechSynthesisUtterance: null
    }
  };
};

Error

Related to https://github.com/Microsoft/BotFramework-WebChat/issues/1816

Hi,
We have similar problem. We are using Reactjs and putting speechSynthesis to null in createHybridPonyfillFactory and when we click the micro button we are getting following error message in console:

Thanks!!

/👀
(Looking at this now.)

@enriconatella @tdurnford @marq47
Seeing the problem now. If we set it undefined or remove those keys for text-to-speech, Web Chat will use the browsers default, i.e. still speaking out the activity.
I see the need to specifically disable certain browser feature. And it is correct to set it to null for "explicitly remove" it. But currently, we are seeing i is not a constructor.
Should fix this.

Got a fix in PR. 😄


Bigger file size problem

I have a 250mb pciture but not fetching in the thumb. Please fix this problem.

You will need to increase PHP's memory limit.


operators [N] [CI] hazelcast-jet-operator (0.1.0)

Signed-off-by: devOpsHelm<EMAIL_ADDRESS>Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions

[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Have you considered whether you want use semantic versioning order?
[ ] Is your submission signed?
[ ] Is operator icon set?

Updates to existing Operators

[ ] Did you create a ci.yaml file according to the update instructions?
[ ] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[ ] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?
[ ] Is your submission signed?

Your submission should not

[ ] Modify more than one operator
[ ] Modify an Operator you don't own
[ ] Rename an operator - please remove and add with a different name instead
[ ] Modify any files outside the above mentioned folders
[ ] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ ] Description about the managed Application and where to find more information
[ ] Features and capabilities of your Operator and how to use it
[ ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ ] Human readable name and 1-liner description about your Operator
[ ] Valid category name1
[ ] One of the pre-defined capability levels2
[ ] Links to the maintainer, source code and documentation
[ ] Example templates for all Custom Resource Definitions intended to be used
[ ] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

/test 4.7-deploy-operator-on-openshift

/merge possible

@devOpsHelm Please fix : https://github.com/redhat-openshift-ecosystem/community-operators-prod/pull/555#issuecomment-998785878

/merge possible

Hi @mvalarh,
I fixed it. But there is another failure, I don't think it is related to the PR, could you check it?

/merge possible

/merge possible

/merge possible


[Bug] Docker alerts about "version is obsolete"

Is there an existing issue for this?

[X] I have searched the existing issues

What product(s) are you seeing the problem on?

Expected behavior
No response
Anything else?
No response
Commit ID
No response
Are you developing inside the dev container?

[X] I am using the dev container

Code of Conduct

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

Version two of the Docker Compose command-line binary was announced in 2020, is written in Go, and is invoked with docker compose. Compose V2 ignores the version top-level element in the compose.yml file.

https://docs.docker.com/compose/compose-file/compose-file-v2/


Value persists in cls namespace even when http request has ended

Hi! I'm using the usual method to have CLS contexts per http request:
// express middleware
function runInNamespace(req, res, next) {
  var namespace = cls.getNamespace('horus-dashboard-ns');

  // wrap the events from request and response
  namespace.bindEmitter(req);
  namespace.bindEmitter(res);

  // run following middleware in the scope of
  // the namespace we created
  namespace.run(function() {
    namespace.set('login', 'anonymous');
    namespace.set('reqMethod', req.method);
    namespace.set('reqUrl', req.url);
    next();
  });
}

I'm using the Sequelize Bluebird shim to have CLS play nicely with Promises.
On a certain request, I pre-populate a cache and store it in the namespace:
var cache = exports.clsNamespace.get('allConfigs');
if ( cache != null ) return Promise.resolve(cache);
// populates some data
exports.clsNamespace.set('allConfigs', data);

The thing is, I thought that allConfigs property would disappear when the HTTP request ended (that cache is intended to be used by several pieces of business logic, but on the same request). What I'm seeing is, that once the first request populates the cache, other requests detect it and I end up always using stale data.
Is this the correct behaviour? Should I manually clear the namespace before every request?

I'm having exactly the same issue.

Hi @stnever.
Can you post the complete code? i.e. in what context you're running the var cache = exports.clsNamespace.get('allConfigs'); etc code?
It sounds like the cache code is being run out of context i.e. is writing the cache to the "root" CLS context, rather than within the context of the request. Hence why it then persists across different requests.
Combining CLS with promises gets complicated. (see #64 if you want to nerd out about it!)

@stnever
Did you fix it?

By the way, I'd recommend using cls-bluebird if you're using CLS with Bluebird promises. I did a big rewrite of it and it's more reliable than the Sequelize shim. cls-bluebird has got 100,000 tests for god's sake!
Concerning this issue, I don't think the OP ever gave enough detail to understand where the problem is coming from. If you're also having this problem @stnever maybe post a more complete example?

OK if you're also having this problem @mariodu maybe post a more complete example?


[BUG] Incorrect storage doc link

Describe the bug
On Writing Contracts: State section, there is a link for "the storage docs", but the link is routed to Writing Contracts page, the same page I was on before navigating away, but from top.
Expected behavior
I expected to go to a doc page about Storages.
Screenshots

:pencil: Location
Writing Contracts: State

Thanks for pointing this out. Fixed: https://github.com/nearprotocol/docs/commit/10a01973bba4a400013eeda6fc50d820256ee203


SQL: Add between to ibis and lower it to rel_alg

This PR adds the modeling for the ibis Between node and lowers it to two comparisons in rel_alg.

IMO, having lowerings that are more involved than just code expansion can become extremely tricky and has the same issue as the transformation-based design: If you change a dialect, you need to touch and update more rewrites than otherwise required. I think this is something that I would count as "separation of concerns".


Recommends the omakase extension and sets cSpell to be hints only

Now that all these extensions are consolidated
#trivial

👍
merge on green


hasEdgeRouterConnection is false, even though my endpoint is online and able to access services

Environment:
OS:  Mac Ventura
Processor: Apple M2
Edge:  Desktop Edge for Mac version 2.31 (482)
Network is MOP hosted Mattermost network.  Ziti version 0.27.9.
Issue:
I am able to connect via the desktop edge and pass traffic to mattermost just fine.
Ziti is reporting that my identity has an api session, but does not have an edge router connection
What I've tried:

restarting the desktop edge
disabling MFA

Ziti report of my identity:
 ze list identities 'name="mattermost.tod.burtchell.mac"' -j
{
    "data": [
        {
            "_links": {
                "auth-policies": {
                    "href": "./auth-policies/default"
                },
                "authenticators": {
                    "href": "./identities/5NM2Thiq5h/authenticators"
                },
                "edge-router-policies": {
                    "href": "./identities/5NM2Thiq5h/edge-router-policies"
                },
                "edge-routers": {
                    "href": "./identities/5NM2Thiq5h/edge-routers"
                },
                "enrollments": {
                    "href": "./identities/5NM2Thiq5h/enrollments"
                },
                "failed-service-requests": {
                    "href": "./identities/5NM2Thiq5h/failed-service-requests"
                },
                "posture-data": {
                    "href": "./identities/5NM2Thiq5h/posture-data"
                },
                "self": {
                    "href": "./identities/5NM2Thiq5h"
                },
                "service-configs": {
                    "href": "./identities/5NM2Thiq5h/service-configs"
                },
                "service-policies": {
                    "href": "./identities/5NM2Thiq5h/service-policies"
                },
                "services": {
                    "href": "./identities/5NM2Thiq5h/services"
                }
            },
            "createdAt": "2023-03-07T20:39:09.120Z",
            "id": "5NM2Thiq5h",
            "tags": {},
            "updatedAt": "2023-04-19T17:09:37.442Z",
            "appData": {},
            "authPolicy": {
                "_links": {
                    "self": {
                        "href": "./auth-policies/default"
                    }
                },
                "entity": "auth-policies",
                "id": "default",
                "name": "Default"
            },
            "authPolicyId": "default",
            "authenticators": {
                "cert": {
                    "fingerprint": "c83f1b73d1511b2e6e015aa6155b6a6fd6852a87",
                    "id": "Vu32T2XqB"
                }
            },
            "defaultHostingCost": 0,
            "defaultHostingPrecedence": "default",
            "disabled": false,
            "enrollment": {},
            "envInfo": {
                "arch": "arm64",
                "os": "Darwin",
                "osRelease": "22.4.0",
                "osVersion": "Darwin Kernel Version 22.4.0: Mon Mar  6 20:59:58 PST 2023; root:xnu-8796.101.5~3/RELEASE_ARM64_T6020"
            },
            "externalId": null,
            "hasApiSession": true,
            "hasEdgeRouterConnection": false,
            "isAdmin": false,
            "isDefaultAdmin": false,
            "isMfaEnabled": false,
            "name": "mattermost.tod.burtchell.mac",
            "roleAttributes": [
                "client"
            ],
            "sdkInfo": {
                "appId": "io.netfoundry.ZitiPacketTunnel.PacketTunnelProvider",
                "appVersion": "2.31 (482)",
                "branch": "HEAD",
                "revision": "68c3a76",
                "type": "ziti-sdk-c",
                "version": "0.31.4"
            },
            "serviceHostingCosts": {},
            "serviceHostingPrecedences": {},
            "type": {
                "_links": {
                    "self": {
                        "href": "./identity-types/Device"
                    }
                },
                "entity": "identity-types",
                "id": "Device",
                "name": "Device"
            },
            "typeId": "Device"
        }
    ],
    "meta": {
        "filterableFields": [
            "id",
            "createdAt",
            "updatedAt",
            "tags",
            "isSystem",
            "name",
            "externalId",
            "type",
            "isAdmin",
            "roleAttributes",
            "authPolicyId",
            "isDefaultAdmin"
        ],
        "pagination": {
            "limit": 10,
            "offset": 0,
            "totalCount": 1
        }
    }
}

Comment from Zendesk:

Zendesk: 10903 linked successfully.

                  Zendesk: #10903
By: Ganesh Palaniappan<EMAIL_ADDRESS>

Comment from Zendesk:

Zendesk: 10921 linked successfully.

                  Zendesk: #10921
By: Ganesh Palaniappan<EMAIL_ADDRESS>


Adding new item to admin menu not working.

Laravel Version: 5.5
Voyager Version: 1.0
PHP Version: 7.0
Database Driver & Version: 5.0.12

Description:
I am trying to add a new item to existing admin_menu, i added the item through menu builder, but its not displaying in the menu on the side bar. the menu item is saved in the database, and is retrieved from the database on the backend. but its not displaying on the front-end/admin-panel.
Steps To Reproduce:
Go to menu builder in the admin panel
add new item to admin menu.

to pay the role permission in role menu . thanks you

my user has all the permissions from the roles link. all the permission are selected for this user(which in this case is the default admin user), i tried with another user also but same.

php artisan voyager:admin<EMAIL_ADDRESS>--create

if you read my question above you will understand as to what i am trying to explain. i already have a user. i tried with custom user as well as with the admin user with all the permission given to the user through Roles page. i tried adding new menu items, the items are stored in the database, but its not being displayed in the admin menu. hope this makes it clear.

Hi !
I think you have the same issue as me. I recommand you to check it here : #1907

I agree with @Eliepse.  Closing as duplicate


False negative on itextpdf 5.5.11

Hi,
I believe there is false negative on itextpdf 5.5.11.
<dependency>
   <groupId>com.itextpdf</groupId>
   <artifactId>itextpdf</artifactId>
   <version>5.5.11</version>
</dependency>

No alert from dependency-check despite: https://nvd.nist.gov/vuln/detail/CVE-2017-9096
The report shows:
cpe: cpe:/a:itextpdf:itext:5.5.11  Confidence:Low
maven: com.itextpdf:itextpdf:5.5.11  Confidence:Highest

Regards,

I believe this is an issue with the information in the NIST NVD data feeds - specifically the XML data feeds that are currently being used.  The JSON feeds are better - but the change is significant on my end. Luckily - the move from the XML to JSON data feeds is next on my list.

After digging a bit, it seems that JSON feeds are not better in this case. Both feeds totally miss the vulnerable versions before 5.1.12:
      "affects" : {
        "vendor" : {
          "vendor_data" : [ {
            "vendor_name" : "itextpdf",
            "product" : {
              "product_data" : [ {
                "product_name" : "itext",
                "version" : {
                  "version_data" : [ {
                    "version_value" : "7.0.0"
                  }, {
                    "version_value" : "7.0.1"
                  }, {
                    "version_value" : "7.0.2"
                  } ]
                }
              } ]
            }
          } ]
        }
      },

:(

This has been resolved with 5.0.0.


merge from arlac77/template-github,arlac77/template-kronos-module

package.json

chore(package): add >=14.0.0 remove >=13.13.0 (engines.node)

.travis.yml

chore(travis): (jobs.include)
chore(travis): remove 13.13.0 (jobs.include.node_js)

:tada: This PR is included in version 5.0.22 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[incubator/haproxy-ingress] Change service port names to meet Istio requirements

Is this a new chart
It's a PR for haproxy-ingress chart
What this PR does / why we need it:
It makes the aforementioned chart compatible with Istio requirements
Which issue this PR fixes

fixes https://github.com/helm/charts/issues/22015

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X ] DCO signed
[X ] Chart Version bumped
[X ] Variables are documented in the README.md
[X ] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @xianlubird

/ok-to-test

/lgtm
/approve


Node 12.x support

Thanks for this very useful library! Since October 21, Node v12 has gone into LTS. Unfortunately, on NPM there are only precompiled binaries for node-sqlanywhere up to v10.
I've tried to build with node 12, but there are quite some differences (like Handle being gone and using context on all conversions). So I can imagine it will take some time to migrate (at least it would for me).
In the mean time I'm trying to migrate to Node v12 myself, but I'm not really sure what the implications are of my changes so if @gperrow-SAP would have a look that would be amazing!

I don't work on the node driver anymore but I know the team that does monitors issues here. A node v12 upgrade is at least on the roadmap but I can't speak to scheduling.

I've tried to make this work in #36 but I'm not sure if I've done everything correctly. Maybe someone can have a look and give some feedback.
I changed the version to 2.0 because I don't think it will be very backwards-compatible.

@gperrow-SAP Is there any update on this? I think @pkeuter has already made a pull request and made changes. Can you please look at it and get it committed asap.

@DanCummins-SAP @gperrow-SAP Any update on this? Is there anything else that we can do to help?


Add PR template

What type of PR is this?
(feature)
What this PR does / why we need it?
Add a PR template

Thanks!
/lgtm
/approve


Update version of go in the snap to 1.11.2

In sync with #764, we should update the version of go used to build the services to 1.11.2.

@anonymouse64 PR submitted. Vault 1.0.2 upgrade included.
https://github.com/edgexfoundry/security-secret-store/pull/58


Suggest adding arguments when running webdriver

Inspired by https://github.com/atom/electron/issues/1877#issuecomment-145488955
Such documentation that would have been helpful to me as I was learning how to use WebdriverIO.

Thanks!


Multi shot

Adds multi-shot analysis to the consortium watcher service.

holy. guac. a. mole! :+1:


organizeImports treatment of file header comments

Currently if the first line(s) of a file is a comment, it is considered a file header and is never moved by organizeImports. This is problematic if that comment is really a linter instruction like // eslint-disable-next-line or the like.
// comment on top of foo import
import foo from "foo";
// comment on top of bar import
import bar from "bar";

console.log(foo, bar);

becomes
// comment on top of foo import
// comment on top of bar import
import bar from 'bar';
import foo from 'foo';

console.log(foo, bar);

We could maybe be a little smarter with this by looking at blank lines

IMO that's the way to go. Only treat the first line as a file header if it's a comment and there's a blank line after the comment. That's a pretty common thing to do anyway, I believe.
Originally posted by @simonhaenisch in https://github.com/microsoft/TypeScript/issues/29028#issuecomment-662507922

Thanks for breaking this out into its own issue!

#https://github.com/microsoft/TypeScript/issues/29028

Posted a workaround (not solution) here:
#29028


Navigate back to login (browser back button) and then login => No matching state found in storage

If you navigate to id server login page by press back button and clicks on login again, we get the error No matching state found in storage. This error is reproducible in the samples as well.
The apparent reason is: before sending the redirect call state is set in the storage and once the sign in is complete state is removed from storage. Now if user clicked back button, which will navigate it to the login screen of id server but state will not be set in storage in this case and hence the error when the server redirects back to call back page. Any idea how to mitigate it?

2 ideas: Handle the error, or remove the history entry from the browser.

If it helps, at my company I get developers to do this when receiving the login response, as Brock suggests:
// Handle the response
const user = await this._userManager.signinRedirectCallback();
// Get the hash URL before the redirect
const data = JSON.parse(user.state);
// Replace the browser location, to prevent tokens being available during back navigation
history.replaceState({}, document.title, data.hash);

Also, IIRC, I added a while ago a flag to do this internally (at least on signinRedirect): https://github.com/IdentityModel/oidc-client-js/issues/896

I am not sure how history.replaceState will help (am I missing something?).
The scenario is:
user lands on app page -> page checks user, if not logged in -> signinRedirect to Id server -> Id server redirects back to auth-callback -> auth-callback navigates to some page in app.
Now if user pressed back button which will take it back to the login (where the state (state which is sent to id server) wouldn't be written to local storage which is why siginRedirectCallback throws this error.
However i have seemed to avoid this one using a simple null check on user:
      //user if not null means it is already built
      if(this.user == null){
        this.user = await this.manager.signinRedirectCallback();
        this._authNavStatusSource.next(this.isAuthenticated());
      }

I hope this is correct and may help if someone else is having same issue.
P.S. Brock rocks!

@saeed-badar hello. Did you fix the problem? I have the same problem in IE 11.
When user click "Back" browser goes to /auth-callback and throw this errors:
Problem Getting Token : No matching state found in storage


find two problems in the codebase

It seems text2text format do not supported by the tokenize function of model. In hf_decoder_model.py file, tokenize_function only encode the first column of dataset, which means the "output" column is ignored.
when I set disable_group_texts=True, I find that in the 146 line of finetuner.py file, "total_length = (total_length // block_size) * block_size", if i have a sequence smaller than block_size, it will result the total_length=0, which ignore the example.

Thanks for your suggestion! Those problems will be improved/fixed in the future.
For the first problem, currently we only support "text_only" for decoder-only models. Thus the behaviors for "text2text" + decoder only models are actually undefined. This is the part of code we leave for forward-compatibility and will be supported in the future.
For the second problem, we are already working on that. We expect the behavior of disable_group_texts=True to be padding, not truncation.
Hope this answers your question. If you have further suggestions about the codebase, please don't hesitate to contact us. We appreciate every constructive advice and contribution. Also, we strongly encourage you to participate in the construction of this codebase. Let's improve the framework and benefit everyone 😄

Hi,
We are glad to share that text2text format has been well-supported for now.
Please check it out.
Thanks!

@shizhediao @research4pan How to disable group text? I set disable_group_texts=True, and get the following error


Issue with API Version 62.0 in sf-cli causing INVALID_CROSS_REFERENCE_KEY error

Summary
I encountered an issue with the Salesforce CLI (sf-cli) when using API version 62.0.
The command
sf org list metadata --metadata-type CustomObjectTranslation --target-org 'PROD_RM' --json
resulted in the following error: (Note, in DevOrg and UAT same cli command work)
{
  "name": "sf:INVALID_CROSS_REFERENCE_KEY",
  "message": "INVALID_CROSS_REFERENCE_KEY: invalid cross reference id",
  "exitCode": 1,
  "context": "ListMetadata",
  "data": {
    "errorCode": "sf:INVALID_CROSS_REFERENCE_KEY",
    "message": "INVALID_CROSS_REFERENCE_KEY: invalid cross reference id"
  },
  "stack": "sf:INVALID_CROSS_REFERENCE_KEY: INVALID_CROSS_REFERENCE_KEY: invalid cross reference id\n    at SfCommandError.from (file:///Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@salesforce/sf-plugins-core/lib/SfCommandError.js:39:16)\n    at ListMetadata.catch (file:///Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@salesforce/sf-plugins-core/lib/sfCommand.js:316:47)\n    at ListMetadata._run (/Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@oclif/core/lib/command.js:305:29)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async Config.runCommand (/Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@oclif/core/lib/config/config.js:424:25)\n    at async run (/Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@oclif/core/lib/main.js:95:16)\n    at async file:///Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/bin/run.js:15:1",
  "cause": "sf:INVALID_CROSS_REFERENCE_KEY: INVALID_CROSS_REFERENCE_KEY: invalid cross reference id\n    at SOAP.getError (/Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@jsforce/jsforce-node/lib/http-api.js:290:56)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async /Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@jsforce/jsforce-node/lib/http-api.js:127:33\n    at async SOAP.invoke (/Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@jsforce/jsforce-node/lib/soap.js:186:21)\n    at async MetadataApi._invoke (/Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@jsforce/jsforce-node/lib/api/metadata.js:73:21)\n    at async ListMetadata.run (file:///Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@salesforce/plugin-org/lib/commands/org/list/metadata.js:50:28)\n    at async ListMetadata._run (/Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@oclif/core/lib/command.js:301:22)\n    at async Config.runCommand (/Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@oclif/core/lib/config/config.js:424:25)\n    at async run (/Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/node_modules/@oclif/core/lib/main.js:95:16)\n    at async file:///Users/ea_enel/.local/share/sf/client/2.58.7-ed27925/bin/run.js:15:1 {\n  data: {\n    errorCode: 'sf:INVALID_CROSS_REFERENCE_KEY',\n    message: 'INVALID_CROSS_REFERENCE_KEY: invalid cross reference id'\n  },\n  errorCode: 'sf:INVALID_CROSS_REFERENCE_KEY'\n}",
  "warnings": [],
  "code": "1",
  "status": 1,
  "commandName": "ListMetadata"
}

Resolution
I resolved the issue by downgrading the API version to 61.0. Here are the steps I followed:

Added the key "apiVersion": "61.0" to sfdx-project.json.
Set the API version in my bash script with:

apiVersion=$(jq -r '.apiVersion' sfdx-project.json)
sf config set org-api-version="$apiVersion"

Request

Please investigate and resolve the issue with API version 62.0.
Make the type of error more obvious, the solution was found by random attempts (desperation)
Consider officially adding support for the apiVersion parameter in the sfdx-project.json file to allow for easier configuration.

System Information

{
  "architecture": "darwin-arm64",
  "cliVersion"<EMAIL_ADDRESS>  "nodeVersion": "node-v20.17.0",
  "osVersion": "Darwin 23.6.0",
  "rootPath": "/Users/ea_enel/.local/share/sf/client/2.64.8-21fd4e6",
  "shell": "zsh",
  "pluginVersions": [
    "@oclif/plugin-autocomplete 3.2.6 (core)",
    "@oclif/plugin-commands 4.1.3 (core)",
    "@oclif/plugin-help 6.2.16 (core)",
    "@oclif/plugin-not-found 3.2.22 (core)",
    "@oclif/plugin-plugins 5.4.15 (core)",
    "@oclif/plugin-search 1.2.12 (core)",
    "@oclif/plugin-update 4.6.6 (core)",
    "@oclif/plugin-version 2.2.15 (core)",
    "@oclif/plugin-warn-if-update-available 3.1.20 (core)",
    "@oclif/plugin-which 3.2.16 (core)",
    "@salesforce/cli 2.64.8 (core)",
    "apex 3.5.4 (core)",
    "api 1.3.1 (core)",
    "auth 3.6.70 (core)",
    "data 3.8.1 (core)",
    "deploy-retrieve 3.13.1 (core)",
    "info 3.4.13 (core)",
    "limits 3.3.36 (core)",
    "marketplace 1.3.0 (core)",
    "org 4.7.2 (core)",
    "packaging 2.8.12 (core)",
    "schema 3.3.37 (core)",
    "settings 2.3.24 (core)",
    "sobject 1.4.42 (core)",
    "source 3.5.21 (core)",
    "telemetry 3.6.17 (core)",
    "templates 56.3.24 (core)",
    "trust 3.7.35 (core)",
    "user 3.5.33 (core)",
    "sfdx-plugin-source-read 1.2.2 (user) published 8 days ago (Sat Oct 26 2024)"
  ]
}

I found a customer investigation that reported the same issue ~2 weeks ago:

The customer is facing an issue with listing CustomObjectTranslation items through the metadata API using the listMetadata SOAP Call from Postman Salesforce Platform API standard collection after Winter 25 release in the production and sandbox orgs.
If we include the CustomObjectTranslation type in the SOAP query, we get the following error back:
INVALID_CROSS_REFERENCE_KEY: invalid cross reference id.
...
However, when the API version 61.0 was set in the SOAP envelope tag 61.0, the issue didn’t happen.

The closing summary mentioned that support had to do some clean up in the org to fix the issue so you'll need to open a support case to investigate further in your specific org. (W-17068814 is ID of the inv mentioned above, you can share it with support to speed up the investigation process).

Make the type of error more obvious, the solution was found by random attempts (desperation)

There's not much we can add to help debug these failures, we call listMetadata here:
https://github.com/salesforcecli/plugin-org/blob/3fc3058954b8f8115701e2b03048782e3155b675/src/commands/org/list/metadata.ts#L59
https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_listmetadata.htm
maybe something like listMetadata(<mdtype>) failed due to: <error> to improve the final error.

Consider officially adding support for the apiVersion parameter in the sfdx-project.json file to allow for easier configuration.

I can't remember if there was an argument against this, would you mind opening a feature request here?
https://github.com/forcedotcom/cli/discussions
people can vote/discuss design before we pick up new work.
for reference, current supported options for setting API version:
https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_apiversion.htm

closing this, let us know if you need help to connect support with previous investigations to solve your issue.
For reference, apiVersion in sfdx-project discussion:
https://github.com/forcedotcom/cli/discussions/3108


[feat] Move to ESM

https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c

FYI: TypeScript only fully supports ESM in 4.5. Some tooling might not yet.


Fix nologin shell path

Bug fix to nologin path

I see that the problem exists in the RedHat and Oracle vars-file, too.
Do you want to add commits to change these files?

Thanks @fitz123 once we have the rhel and oracle vars in there, I am going to merge it.

Looks good?

There's another bug - wrong default options for variable "os_auth_pam_passwdqc_options"
Without "min=" it doesn't work, you're not able to change password

ninja@knd1dev:~$ passwd
System configuration error.  Please contact your administrator.
passwd: Critical error - immediate abort
passwd: password unchanged

Looks very good, thank you!


It's a pain to go through each and every screenshot link one by one,
especially when you are sending the repo link to an untrained friend.
If instead of something like

Newb X

https://devendrn.github.io/newb-shader

could be

(its clickable)

This was just an example of NO quality so uhh yeah could be better
(I can do it if I get time this week :D )

Yes, I was also contemplating the same issue. I refrained from using the method of including large screenshots as it increases the length of the list and disrupts the flow. While I would prefer to build a webpage using Github Pages, I lack the skills and knowledge to create one. Therefore, I am considering adding elongated banner-like images. For links that require joining Discord servers like YSSBE or where viewing screenshots from the link is not possible, I'm thinking of keeping the screenshot files but making them collapsible within the README.md, rather than redirecting to another document.

Yes, I was also contemplating the same issue. I refrained from using the method of including large screenshots as it increases the length of the list and disrupts the flow. While I would prefer to build a webpage using Github Pages, I lack the skills and knowledge to create one. Therefore, I am considering adding elongated banner-like images. For links that require joining Discord servers like YSSBE or where viewing screenshots from the link is not possible, I'm thinking of keeping the screenshot files but making them collapsible within the README.md, rather than redirecting to another document.

I like that idea, and I appreciate that you've already finished adding a banner for most of the shaders;
and while I think it's good the way it is right now, the newb shader banner doesn't display the shader in its full glory,
we can do something more like the image on the original readme:
The Original:

Example of what we can do:

THIS IS A VERY AMATEUR ATTEMPT!!!! Please don't take my words negatively ;-;
If you DO wish to update the banner, you can make a much better one than I did; just remember to bring as many aspects of the shader together into the image without it feeling crammed 👍
You can make it more simplistic; I made it a bit colorful in my example because I like flashy colors :D

In many platforms, only one representative image of a post is shown, and one must click on the post to view the various images associated with it. RDShaderList used a banner that is wide horizontally and narrow vertically, so as not to disrupt the flow and to avoid increasing the length of the scroll.
Therefore, if multiple images are included in the banner, it may appear cluttered and distracting, especially on small mobile screens. Of course, this is just my opinion, so I will ask the community for their thoughts and decide accordingly.

In many platforms, only one representative image of a post is shown, and one must click on the post to view the various images associated with it. RDShaderList used a banner that is wide horizontally and narrow vertically, so as not to disrupt the flow and to avoid increasing the length of the scroll. Therefore, if multiple images are included in the banner, it may appear cluttered and distracting, especially on small mobile screens. Of course, this is just my opinion, so I will ask the community for their thoughts and decide accordingly.

I didn't mean to show multiple images, I meant to say use one banner that is a combination of multiple images,
I totally respect your opinions; this was just a clarification and any change is upto your will


Nick: Watch DSO[\W_]*+Software(?!.com(?<=dsosoftware.com))

Nick requests the watch of the watch_keyword DSO[\W_]*+Software(?!\.com(?<=dsosoftware\.com)). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

DSO[\W_]*+Software(?!\.com(?<=dsosoftware\.com)) has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Linking hotspots from different projects

Normally designers present their work for all devices at once and having the possibility to link one screen to another is great, but will be greater if could make a link to the corresponding version on mobile or tablet.
Currently only the screens within the specific project can be used by the hotspot links.
Of course somebody could add a mobile version of that screen to the desktop project, but then the use of different project types makes no sense.

I'm not sure how the UI should looks and react. There is also some major things that need to be considered like passwords handling between linked projects and such.
I'll leave the discussion open, because the idea is not bad, but requires very detailed considerations over the possible changes.

Indeed! :)

I'm agree with @ghs, I don't really understand how the device selection adds value to the whole project.
Otherwise I see a lot of value on the viewport limit. Maybe screens can be displayed by default, and admins can manually add sizes to the screens to force overflows and simulate the viewport constrains.

@danicatalan Project types (aka. Single project per device) was suggested during the beta and the idea behind that was to provide simple mechanism to distinguish multiple project variations in addition to the versions option.
A month ago I also received a suggestion to update the project types and to implement them per version, ex. to be able to set V1 for desktop and V2 for mobile. This way, you could easily refer to a screen with different viewport size.
I like your idea to enable the users to set manually the viewport constrains per screen, but I also worry that this will make the interface a little more confusing.
Currently if you want to link screens from different versions/projects you could copy the project preview link with the approriate "#v{Number}-s{Number}" tag (eg. https://app.presentator.io/bg/123Test#v2-s1) and set it as a Hotspot Custom url value.

Currently if you want to link screens from different versions/projects you could copy the project preview link with the approriate #v{Number}-s{Number} tag (eg. https://app.presentator.io/bg/123Test#v2-s1) and set it as a Hotspot Custom url value.

Aha! It works like a charm. That's cool :)

With v2, the preview url format has changed and if you need to link to a different project/prototype screen, you could use /prototypes/{prototypeId}/screens/{screenId}.
I'm closing this issue for now, since the previously discussed problems are still valid for v2 (eg. passwords handling between linked protected projects).
If anyone thinks that this should be implemented in future v2.x releases, please comment and I'll reopen the issue.


Remove --skip-if-exists from release examples

This is a deprecated no-op now, so we shouldn't make people think it does anything.

Thanks, benmoss