chore(main): release 0.60.4

:robot: I have created a release beep boop
0.60.4 (2023-09-25)
Bug Fixes

Workspaces: set access_token directly in migration (#554) (954ea94)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/BLSQ/openhexa-app/releases/tag/0.60.4 :sunflower:


Keras model/layer regularization property deprecated

Hi,
After I updated to the bleeding edge version of keras, I got the following warning:

/home/user/.local/lib/python2.7/site-packages/keras/engine/topology.py:368: UserWarning: The regularizers property of layers/models is deprecated. Regularization losses are now managed via the losses layer/model property.

What does this mean? The model code is here
    model_word = Sequential()
    model_word.add(Embedding(vocab_size+1,
                             EMBEDDING_DIM,
                             input_length=None,
                             weights=[embedding_matrix],
                             trainable=True,
                             W_regularizer=l2(1e-6),
                             dropout=0.5))

    feature_layers = [FeatureEmbeddingLayer(size) for size in feature_sizes]

    layers = [model_word] + feature_layers

    model = Sequential()
    model.add(Merge(layers, mode='concat', concat_axis=2))

    model.add(Bidirectional(LSTM(128, return_sequences=True, W_regularizer=l2(1e-6), U_regularizer=l2(1e-6), b_regularizer=l2(1e-6))))
    model.add(Bidirectional(LSTM(128, return_sequences=True, W_regularizer=l2(1e-6), U_regularizer=l2(1e-6), b_regularizer=l2(1e-6))))
    model.add(TimeDistributed(Dense(64, activation='relu', W_regularizer=l2(1e-6), b_regularizer=l2(1e-6))))
    model.add(TimeDistributed(Dense(tag_size, activation='softmax', W_regularizer=l2(1e-6), b_regularizer=l2(1e-6))))

I Googled, but found no clues. Any ideas?
Thank you!

I think lines 26-28 from wrappers.py weren't removed as the regularizers were refactored (https://github.com/fchollet/keras/pull/4703) and they should be removed.

@lvapeab what do you all think about the way to resolve this issue? @farizrahman4u @fchollet

Using Keras model in another application (distributed tensorflow as in : https://gist.github.com/fchollet/2c9b029f505d94e6b8cd7f8a5e244a4e
I used to do this to deal with regularizers
model = Sequential()
...... #build keras model
loss = tf.reduce_mean(keras.objectives.mean_squared_error(targets, preds))
apply regularizers if any
if model.regularizers:
total_loss = loss * 1.  # copy tensor
for regularizer in model.regularizers:
total_loss = regularizer(total_loss)
else:
total_loss = loss
If I understand well, now I should do
loss = tf.reduce_mean(keras.objectives.mean_squared_error(targets, preds))
total_loss = loss * 1.  # copy tensor
for reg_loss in model.losses:
tf.assign_add(total_loss, reg_loss)
It crashed when I do that. Any help please?

@volvador - did you ever find a solution to this problem? Encountering it now.

@vkmenon
      total_loss = loss * 1.  # copy tensor
      for reg_loss in model.losses:
        total_loss = total_loss + reg_loss

Thanks!


winsdk: add the Heap API set

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please smoke test and merge


Examples for showing a list of tasks via duckscript / rust-script colored text

Hi,
I've attached a couple of examples of using colored text ether via duckscript (which is the better quicker option)
or via rust-script to show a list of tasks.
It's mostly a copy / paste of an embedded project I'm working on so you may want to reformat it perhaps.
I've found using duckscript functions to define the color formatting the better way of doing things.
The only thing I couldn't figure out how to suppress were the info messages before / after the output.

Codecov Report

Merging #613 (6c6fe61) into master (a22a60b) will decrease coverage by 25.91%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master     #613       +/-   ##
===========================================
- Coverage   93.51%   67.59%   -25.92%
===========================================
  Files          98       98
  Lines       19390    19331       -59
===========================================
- Hits        18132    13067     -5065
- Misses       1258     6264     +5006

Impacted Files
Coverage Δ

src/lib/storage_test.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

src/lib/proxy_task_test.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

src/lib/recursion_level_test.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

src/lib/scriptengine/rsscript.rs
0.00% <0.00%> (-92.99%)
:arrow_down:

src/lib/cli_test.rs
5.11% <0.00%> (-91.70%)
:arrow_down:

src/lib/scriptengine/rsscript_test.rs
0.00% <0.00%> (-86.62%)
:arrow_down:

src/lib/environment/mod_test.rs
11.91% <0.00%> (-83.83%)
:arrow_down:

src/lib/legacy_test.rs
17.64% <0.00%> (-82.36%)
:arrow_down:

src/lib/runner_test.rs
29.74% <0.00%> (-61.11%)
:arrow_down:

src/lib/profile_test.rs
40.27% <0.00%> (-59.73%)
:arrow_down:

... and 48 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a22a60b...6c6fe61. Read the comment docs.

thanks @grbd didn't think it would be a hardcoded list. i think i'll pass on that one for now.
maybe if we have a solution to show all tasks with filtering/sorting/.... it might be something that we can incoporate.
for now i think i'll go with your other PR


Slow response on mobile when picking selected emoji.

Describe the bug
The following warning is displayed.
VirtualizedList: You have a large list that is slow to update - make sure your renderItem function renders components that follow React performance best practices like PureComponent, shouldComponentUpdate, etc. {"contentLength": 4525.71435546875, "dt": 2628, "prevDt": 2827}
To Reproduce
Steps to reproduce the behavior:

Go to onEmojiSelected prop
add a callback  onEmojiSelected={emoji => {        console.log(emoji);      }}
click emoji more than one time

Hi @pinchez254 ,
We couldn't reproduce this issue and it's related to the old version of rn-emoji-keyboard.
I'm closing this for now, but feel free to reopen if the problem persists 🙂


Debounce events

WIP
Closes #533

@fratzinger this is great.  I pulled your edits, made some mostly cosmetic changes, and pushed the code to a new branch, here: https://github.com/feathersjs-ecosystem/feathers-vuex/tree/pullrequests/fratzinger/debounce-events
The only big change is that I moved the event handling into its own file.  I've given you write access to the feathers-vuex repo, so you can make edits to that branch for tests and docs.  Could you edit your pull request to source that branch, instead?  Thanks!


vscode Unable to debug

Environment data

VS Code version: 版本: 1.28.1 (user setup)
提交: 3368db6750222d319c851f6d90eb619d886e08f5
日期: 2018-10-11T18:13:53.910Z
Electron: 2.0.9
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
架构: x64
Extension version (available under the Extensions sidebar): 2018.9.0
OS and version: win10
Python version (& distribution if applicable, e.g. Anaconda): 3.6.5 64-bit
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): XXX
Relevant/affected Python packages and their versions: XXX

Actual behavior
After clicking F5, can be carried in the console command,
cd g:\solution_python\part3 && cmd /C "set "PYTHONIOENCODING=UTF-8" && set "PYTHONUNBUFFERED=1" && D:\Python\Python36\python.exe c:\Users\tempus\.vscode\extensions\ms-python.python-2018.9.0\pythonFiles\experimental\ptvsd_launcher.py 50707 g:\solution_python\part3\function1.py "

and then has not entered the stage of debugging, nor is there any error information
Output from Console under the Developer Tools panel (toggle Developer Tools on under Help)
no error output
Below is my screenshot operation

Duplicate of #2898


Add personalization management under the hood for the addTos method

Issue Summary
When calling multiple addTo with substitutions, we should not have to specify the personalizationIndex like so (see the second example).

Since there has been no activity on this issue since March 1, 2020, we are closing this issue. Please feel free to reopen or create a new issue if you still require assistance. Thank you!


Can't Access In From Home

Hey I'm having trouble accessing neuroglancer from home. When I try to click on a save state of a shortened URL or the entire URL I get to a neuroglancer page called "Layout 4". When I hit the shorten button on this 'layout 4' I get an error: No state server found. I'm on windows 10.

Hi. To use the state server (shorten links) you have to be in the Princeton network (/ use the Princeton VPN).


Missing mmcv

Hi, in rednet.py:
from mmcv.cnn import (ConvModule, build_conv_layer, build_norm_layer, constant_init, kaiming_init)
But the code seems to lack mmcv

please install the mmcv library as a prerequisite


Make RHEL 9.0 the default distribution.

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
What is it?

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[ ] Tests update
[ ] Refactor

Checklist:

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] I run go fmt ./... to check that my code is properly formatted
[x] I run go vet ./... to check that my code is free of common Go style mistakes
[ ] I run make lint to prints out coding style mistakes and fix them

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

Test results are available in Ibutsu. The test run IDs are:
11c047f0-3aca-452c-9360-7523304de427
83b349e7-987c-45f7-b72f-67c68114311c


Fix Navbar position and vertically align the hamburger button

Description
This PR fix the position of the Navbar to top with scrolling and also align the Hamburger button vertically middle.
Fixes #160
Changes Made

hey @Anandsg  i am fixing it

Sure create a new PR

I have created a new PR .... Please review it kindly


feat: merge recursive verifier

Please provide a paragraph or two giving a summary of the change, including relevant motivation and context.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

Benchmark results
Metrics with a significant change:

node_database_size_in_bytes (5): 2,783,534 (-23%)
node_database_size_in_bytes (10): 5,021,085 (+28%)
note_trial_decrypting_time_in_ms (8): 29.2 (+53%)
note_trial_decrypting_time_in_ms (32): 66.4 (+102%)

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

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
222,936
868,208
3,449,768

l1_rollup_execution_gas
842,023
3,595,316
22,205,137

l2_block_processing_time_in_ms
2,225 (+1%)
8,545 (+1%)
35,337

note_successful_decrypting_time_in_ms
319 (+3%)
940 (+4%)
3,350 (-1%)

note_trial_decrypting_time_in_ms
:warning: 29.2 (+53%)
:warning: 66.4 (+102%)
199 (-1%)

l2_block_building_time_in_ms
20,445 (+1%)
81,513 (+1%)
326,903 (+1%)

l2_block_rollup_simulation_time_in_ms
16,899 (+1%)
67,482 (+1%)
270,386 (+1%)

l2_block_public_tx_process_time_in_ms
3,499
13,884
55,963

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

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
24,606 (+2%)
47,315

note_history_successful_decrypting_time_in_ms
2,135 (-1%)
4,150

note_history_trial_decrypting_time_in_ms
163 (+1%)
232

node_database_size_in_bytes
:warning: 2,783,534 (-23%)
:warning: 5,021,085 (+28%)

pxe_database_size_in_bytes
29,748
59,307

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

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
199
43,109
20,441

private-kernel-ordering
115 (+1%)
25,833
9,689

base-rollup
2,962
664,108 (-1%)
873

root-rollup
84.2 (-4%)
4,072
881

private-kernel-inner
260
64,516
20,441

public-kernel-private-input
171 (-1%)
25,203
20,441

public-kernel-non-first-iteration
168
25,245
20,441

merge-rollup
10.8
2,592
873

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
10,323
25,938


Partial Error handling for click conversion uploads

What is your question?
Does UploadClickConversionsResponse has the complete errors of one click conversion? If so, how to properly retrieve all the errors?
Below is my debugging example:
Say we upload 2 click conversions in one UploadClickConversionsRequest, and one of them have 2 errors: wrong conversion date time format, unparsable GCLID. I observed the partial failure returned only contains one error. And I always get a empty list of errors by the following code snippet which follows the partial failure best practice:
    public List<String> handleResponse(final UploadClickConversionsResponse response) {
        if (response.hasPartialFailureError()) {
            final List<String> partialFailures = new LinkedList<>();
            final int resultSize = response.getResultsCount();
            for (int i = 0; i < resultSize; i++) {
                if (ErrorUtils.getInstance().isPartialFailureResult(response.getResults(i))) {
                    final GoogleAdsFailure googleAdsFailure = ErrorUtils.getInstance()
                            .getGoogleAdsFailure(response.getPartialFailureError());
                    partialFailures.add(parseError(googleAdsFailure, i));
                }
            }
            return partialFailures;
        }
        return Collections.emptyList();
    }

    private String parseError(final GoogleAdsFailure googleAdsFailure,
                                     final int operationIndex) {
        final List<String> errorMessages = new LinkedList<>();
        final List<GoogleAdsError> errors = ErrorUtils.getInstance().getGoogleAdsErrors(operationIndex, googleAdsFailure);
        for (GoogleAdsError error : errors) {
            errorMessages.add(error.getMessage());
        }
        return String.join(",", errorMessages);
    }

I debugged locally and found out the problem is at ErrorUtils.getInstance().getGoogleAdsErrors(operationIndex, googleAdsFailure).  The method (code pointer) checks whether the ErrorPath isOperationIndex. For conversion upload response, it's always false as the field name of the error path is conversion, see this method.
And then I came across this code example dedicated to click conversion upload, and saw it doesn't try to get list of errors related to on click conversion. So I'm guessing Google doesn't return full errors but any one of them.
// Prints any partial errors returned.
    if (response.hasPartialFailureError()) {
      GoogleAdsFailure googleAdsFailure =
          ErrorUtils.getInstance().getGoogleAdsFailure(response.getPartialFailureError());
      googleAdsFailure
          .getErrorsList()
          .forEach(e -> System.out.println("Partial failure occurred: " + e.getMessage()));
    }

But the API support (case # ref:!00D1U01174p.!5004Q02rXHK6:ref) replied me: Kindly note that Google Ads API returns all the errors related to the click conversions in case multiple errors too.
I'm confusing whether Google returns list of errors for one click conversion, or only one of errors? And what's the correct approach to handle the partial failure of click conversion uploading.

Hi,
Thanks for providing such a detailed issue report! I'm fairly confident this is a bug in the code you highlighted. I'm looking into this further and will also check if there are any other methods that could run into this issue.
Cheers,
Josh, Google Ads API Team

Thanks for looking into this, do we have any update?

Your assessment was correct. We'll fix the utility in the next release of the library.
In the meantime, here's a modified version of the UploadOfflineConversion sample that properly finds the errors for each conversion:
      UploadClickConversionsResponse response =
          conversionUploadServiceClient.uploadClickConversions(
              UploadClickConversionsRequest.newBuilder()
                  .setCustomerId(Long.toString(customerId))
                  .addConversions(clickConversion)
                  // Enables partial failure (must be true).
                  .setPartialFailure(true)
                  .build());

      // Prints any partial errors returned.
      if (response.hasPartialFailureError()) {
        GoogleAdsFailure googleAdsFailure =
            ErrorUtils.getInstance().getGoogleAdsFailure(response.getPartialFailureError());

        // WORKAROUND: Builds a map from conversion/operation index to list of GoogleAdsErrors.
        SortedMap<Integer, List<GoogleAdsError>> errorsByIndex = new TreeMap<>();
        for (GoogleAdsError googleAdsError : googleAdsFailure.getErrorsList()) {
          // Checks if the GoogleAdsError has a FieldPathElement that identifies a conversion index.
          Optional<FieldPathElement> conversionIndexElement =
              googleAdsError.getLocation().getFieldPathElementsList().stream()
                  .filter(elm -> "conversions".equals(elm.getFieldName()) && elm.hasIndex())
                  .findAny();
          if (conversionIndexElement.isPresent()) {
            // Adds the GoogleAdsError to the list of errors for the conversion index found in the
            // FieldPathElement.
            Integer conversionIndex = conversionIndexElement.get().getIndex();
            errorsByIndex
                .computeIfAbsent(conversionIndex, k -> new ArrayList<>())
                .add(googleAdsError);
          }
        }

        // Constructs a protocol buffer printer that will print error details in a concise format.
        Printer errorPrinter = JsonFormat.printer().omittingInsignificantWhitespace();

        for (int operationIndex = 0;
            operationIndex < response.getResultsCount();
            operationIndex++) {
          ClickConversionResult conversionResult = response.getResults(operationIndex);

          if (ErrorUtils.getInstance().isPartialFailureResult(conversionResult)) {
            // Prints the errors for the failed operation.
            System.out.printf("Operation %d failed with the following errors:%n", operationIndex);
            // WORKAROUND: Uses the map constructed above instead of the error utility.
            for (GoogleAdsError resultError :
                errorsByIndex.getOrDefault(operationIndex, Collections.emptyList())) {
              // Prints the error with newlines and extra spaces removed.
              System.out.printf("  %s%n", errorPrinter.print(resultError));
            }
          } else {
            System.out.printf("Operation %d succeeded.%n", operationIndex);
          }
        }
      }
    }

Thanks again for highlighting this problem!
Cheers,
Josh, Google Ads API Team

Thanks for the fix!

Hi @jradcliff
When is the next release? I saw the history release is not by some fix schedule. It would be great to have an ETA of next release. Thanks.

I'm planning on cutting a release in about 2 weeks.

Hi @jradcliff
Thanks for the fix release. I can get the error returned by the utility class of 30.0.0 version. Just want to clarify one question. I'm using this click conversion for testing:
                ClickConversion.newBuilder()
                        // random GCLID, not recognized by google
                        .setGclid("985342159875")
                        .setConversionAction("customers/5203322718/conversionActions/5203322718")
                        // wrong timestamp format
                        .setConversionDateTime("2024-01-01")
                        .setCurrencyCode("USD")
                        .setConversionValue(12.45676).build());

And I expect two partial failures returned UNPARSEABLE_GCLID and INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET. But the utility method ErrorUtils.getInstance().getGoogleAdsErrors(index, googleAdsFailure) only returns one. My partial failure handling code is (which is basically the same as the example you shared):
public static List<String> handleResponse(final UploadClickConversionsResponse response) {
        if (response.hasPartialFailureError()) {
            final GoogleAdsFailure googleAdsFailure = ErrorUtils.getInstance()
                    .getGoogleAdsFailure(response.getPartialFailureError());
            final List<String> partialFailures = new LinkedList<>();
            for (int index = 0; index < response.getResultsCount(); index++) {
                final ClickConversionResult clickConversionResult = response.getResults(index);
                if (ErrorUtils.getInstance().isPartialFailureResult(clickConversionResult)) {
                   // Expect this `ErrorUtils.getInstance().getGoogleAdsErrors(index, googleAdsFailure)` method call
                   // returns both UNPARSEABLE_GCLID and INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET,
                   // but only returns the timestamp error
                    for (GoogleAdsError error : ErrorUtils.getInstance().getGoogleAdsErrors(index, googleAdsFailure)) {
                        partialFailures.add(error.getMessage());
                    }
                }
            }
            return partialFailures;
        }
        return Collections.emptyList();
    }

For this specific case, does google ads lib return both errors? and can you share a test case that the lib returns multiple errors?
BTW, I was using a test account for above test.
Thanks!

Hi @qhaoran ,
So far, I have not been able to get the API to report more than one error per ClickConversion. Whether you get multiples or not depends on the underlying implementation of each API service.
However, if the API did report multiple errors for the same ClickConversion, the library would work as expected, and you'd get multiple iterations in the loop you highlighted:
for (GoogleAdsError error : ErrorUtils.getInstance().getGoogleAdsErrors(index, googleAdsFailure)) {
  partialFailures.add(error.getMessage());
}

We test for this in AbstractErrorUtilsTest.getGoogleAdsErrors_duplicates_whenErrorsDiffer(). In that test, there are multiple errors for the same operation index but with distinct paths after the conversions portion, and the test verifies that those errors are all returned.
Cheers,
Josh

Got it, thanks for the explanation.


[Idea]  Let the banned people join/play the server

The main idea - let banned people join the server, so we will have bigger "online players" counter.
We can make restrictions for them or just put in a jail, so they'll be able to farm GC but not able to play.

Kind of in doubt about this.


Issue with the order system

Hello,
client.CreateOrder("SWTH_NEO", BlockchainType.Neo, OrderSide.Buy, 0.0006m, 1660, true, OrderType.Limit);
This is very bad bad bad pattern.
Can you please update it with this one:
var order = class Order { Coin: SWTH_NEO...}
client.CreateOrder(order)
Thanks.

Hi @w0dm4n,
I don't see the point of your issue,
Feel free to re-open one if u have a valid issue.
Have a nice day.


Fix coverage badge in README

For some reason the coverage badge isn't working anymore.

Hi! I'll look into it.


streamTime?

V8 had a connection.streamTime property.
Can't seem to find anything like it in V9, neither for voiceConnection or streamDispatcher.

Also, a streamDispatcher.paused property would be lovely.

Added in 8c0685fa9a827bfa11e1864fcb6958f3df948c24


feat(#800): fix the bug related to max_stack computation

In this PR:

I successfully fixed the algorithm of max_stack value computation (tests prove that fix is successfull)
I significantly refactored InstructionsFlow class
Added more methods for BytecodeEntry class.
Made several small code and grammar corrections.

Related to #800.

PR-Codex overview
This PR focuses on renaming the BachedTranslator class to BatchedTranslator and updating related references. It also enhances the bytecode representation by introducing a new BytecodeLine class and modifying various bytecode instruction methods to improve functionality and clarity.
Detailed summary

Renamed BachedTranslator to BatchedTranslator in multiple files.
Updated references to BachedTranslator in tests and other classes.
Changed constructor parameter type from BytecodeInstruction to BytecodeEntry in MaxStack.
Enhanced BytecodeInstruction methods with new isIf, isGoto, isSwitch, and isThrow methods.
Introduced BytecodeLine class to represent source line references in bytecode.
Improved handling of jumps and offsets in InstructionsFlow.
Added new functionalities for managing SSL configurations in the context of exception handling.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here.

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 10min).


Windows binaries (32 or 64 bit) for Topple Chess

Hello, can you build win32/64 executable files without the option bmi2 https://en.wikipedia.org/wiki/Bit_Manipulation_Instruction_Sets and host these files for download, please?

They're now hosted on the releases tab.


How to specify explicit artifact name?

I apologize if this is not the correct way to ask a question, but I'm a github newbie, and there doesn't appear to be a discussion list for this project or an email address for the author...
Here's my dilemma:
I have been using Evengy Goldin's original ivy-maven plugin (sadly incompatible with the move to Eclipse Aether, my current reason for switching), which allows you to provide both an Ivy settings file as well as a dependencies file.  Here are mine:
ivyconf.xml:
<ivysettings>
  <settings defaultResolveMode="default" defaultResolver="publish-releases"/>
  <property name="nexus.releases.url" value="http://nexus.austin.mgam/nexus/content/repositories/releases"/>
  <resolvers>
    <ivyrep
        name="publish-releases"
        ivyroot="${nexus.releases.url}"
        ivypattern="com/mgam/win32/[module]/GDK/[revision]/ivy-[revision].xml"
        artroot="${nexus.releases.url}"
        artpattern="com/mgam/win32/[module]/GDK/[revision]/[artifact]-[revision].[ext]"/>
  </resolvers>
</ivysettings>

ivy.xml:
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
  <info organisation="com.mgam" module="MForceGDK"/>
  <dependencies>
     <dependency org="com.mgam.win32" name="MForcePlatform" branch="GDK" rev="+" transitive="false">
      <artifact name="MForcePlatform-scriptdoc" type="zip" ext="zip"/>
    </dependency>
  </dependencies>
</ivy-module>

Note the <artifact> specification.  On my nexus repository, I have the following files:
.../com/mgam/win32/MForcePlatform/GDK/1.5.0-50/MForcePlatform-1.5.0-50.zip
.../com/mgam/win32/MForcePlatform/GDK/1.5.0-50/MForcePlatform-scriptdoc-1.5.0-50.zip
I see no way to limit the artifact resolution to the 'scriptdoc' file in the remis-thoughts/ivy-maven-plugin.  I cannot use the <classifier> element in my <dependency>, because that is appended after the version number.  (And no, I cannot re-publish the artifacts or change the Nexus setup in my corporate environment).
Looking through the code of the plugin, it looks like I might be able to do it via a ResolveOptions filter object (specify such on or about line 231 in IvyMojo.java), perhaps adding a new <filter> settings to the <dependency> with a regex pattern for resolved filename matching?
Any idea if that's my best option, or whether I'm simply misunderstanding the existing configuration possibilities of this plugin?  (I'm not a Java developer, so setting this up for testing is beyond my time limits and expertise.)

Sorry for the delay - I missed this earlier.

cannot use the  element in my , because that is appended after the version number
The why the classifier, artifact, version, &c. are combined to get the URL of the artifact you want can be changed in your ivy settings; in the resolvers part of your the ivy settings.xml file you should add something like this (ivy docs here)

<artifact pattern="[module]/[banch]/[revision]/[artifact]-[classifier]-[revision].[ext]" />

Thanks for the follow-up, but that doesn't solve the problem.  I actually do not want the classifier in the artifact specification within the Ivy settings file -- I was merely postulating whether I could use the classifier element within my pom.xml to drive your plugin in such a manner to resolve the desired artifact.
On my Nexus repository, the artifact name is actually 'MForcePlatform-scriptdoc'; however, the module name is 'MForcePlatform (the module has 20 or so artifacts published to the same directory).
The ivy-maven-plugin is apparently deriving/equating the module name from the specified artifact name, whereas I need to be able to explicitly specify them both.


[Feature]: Want to add doc. for Rabin-Karp Algorithm

Feature Name
Rabin-Karp Algorithm
Feature Description
The Rabin-Karp algorithm is a string search algorithm that uses hashing to find any one of a set of pattern strings in a text. It calculates a hash value for the pattern and uses it to compare with hash values of substrings in the text, allowing for efficient searching, especially when multiple patterns need to be found.
Motivation
The Rabin-Karp algorithm enhances our algorithm library by providing an efficient method for substring searching. Its average-case linear time complexity allows for fast searches, especially when looking for multiple patterns in large texts. This scalability is crucial for applications in data processing, text analysis, and natural language processing. By adding this algorithm, we empower users with a versatile tool that improves performance and productivity in various real-world applications.
Implementation Suggestions (Optional)
No response
Feature Type
New Algorithm
Does this feature require additional resources?

[ ] Additional Documentation
[ ] Third-Party Libraries
[ ] UI/UX Design
[X] Other

References (Optional)
https://www.geeksforgeeks.org/rabin-karp-algorithm-for-pattern-searching/

@ajay-dhangar  assign this issue to me


⚠ Fortnite has degraded performance

In a4c250d, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1534 ms

Resolved: Fortnite performance has improved in 65489dc.


feat: add terms/ privacy pages (#81), mdx & jest configs

Eslint doesn't like the fact that Stripe and SendGrid aren't installed in the base repo.


angular 2 unable to extend dexie

I'm using "dexie": "2.0.0-beta.10" and extending my class as export class appCache extends Dexie
but this is thowing type error as Uncaught TypeError: Object prototype may only be an Object or null: undefined
I'm using webpack , awesome-typscript-loader plugin and<EMAIL_ADDRESS>and have set "moduleResolution": "node"
I'm getting error from this call extendStatics(d, b); in complied javascript  where d is appCache and b is undefined
I think it should be Dexie but it is not getting set

even manually creating appCache by new appCache throws same error but new Dexie('db') works

Maybe a problem with your import or your config? There is an example here albeit a bit old https://github.com/dfahlander/Dexie.js/tree/master/samples/angular2.
This https://github.com/jsperts/workshop_unterlagen/tree/master/angular/examples/Redux example is newer and also works with extends.

Thanks for hint i was importing dexie by import {Dexie} from 'dexie';
It should be  import Dexie from 'dexie';  // no brackets
Thanks again I'm closing this issue now


Handle conv2d edge case

#966
Support some unusual cases

:octocat: cibot: Thank you for posting issue #1011. The person in charge will reply soon.


Would an armhf / armv7 Docker container be possible

Hi there,
I'm really enjoying using DFW and I was wondering if it would be possible to have a armv7 build added to Docker hub?
Cheers,

Hi @azurefreecovid. Thank you very much for this suggestion, I'm very interested in it.
I'll try to look into this as soon as I find the time, although given that I have no prior experience in building Docker images for additional architectures, don't expect a result too quickly.
If you have any knowledge or even code you'd like to share, I'd appreciate it -- and a pull request is always welcome, too!

@pitkley Mind if I work on it?

Sorry for not getting back to you earlier, @opencloudengineer. Of course, please, go right ahead! I'm happy to review any contributions and will gladly help with any setup that might be required on the Docker Hub side, if there is any!

Thanks, but I have no experience with Rust so I will have to look into building binaries with cargo for different architectures. I'll ping you if I face any problem with that.
BTW, I have never used Docker Hub Registry, except for docker pull, but I don't think that'll be a problem.
Also I was wondering, how about using GHCR as registry along with docker hub, you know due to docker hub rate limits.
As GitHub Container Registry supersedes the existing Packages Docker registry that you are already using.

@azurefreecovid  good news, this is now implemented. The Docker image is now built for amd64, arm64 and armv7 (specifically armhf). You can get it both from Docker Hub and GHCR:

pitkley/dfw:main - https://hub.docker.com/r/pitkley/dfw/tags?page=1&name=main
ghcr.io/pitkley/dfw:main - https://github.com/pitkley/dfw/pkgs/container/dfw/14529898?tag=main

The next release of DFW which will be pre-built for the mentioned architectures will be v1.3.0, which I expect I will release in about a week's time.


[Bug] Wrong type for PromiseResult

Prerequisites

[X] I'm using the latest version of near-sdk-js.
[X] I have tried to start with a fresh project and reproduce the defect with minimal code changes.
[X] I have read the console error messages carefully (if applicable).

Description
While working on auditing the docs https://github.com/near/docs/issues/1545 we found an error in the cross-contract calls written in typescript.
Currently there is an error in the type PromiseIndex. It is defined as (number | bigint) & PromiseIndexBrand. Since & is the intersection operator, and PromiseIndexBrand == -1, then the only valid value is -1.
This is a bug, since a PromiseIndex of 1, 2... etc should be valid
Reproducible demo
No response
Steps to reproduce
Create a ts contract, try to use near.promiseResult(0), you will get an error since 0 is not PromiseIndexBrand === -1
Expected behavior
near.promiseResult(0) should work.
Actual behavior
Gives a type error
Your environment

NEAR JavaScript SDK version used: 1.0.0

Self-service

[X] I'd be willing to fix this bug myself.

closed by #378


uncomment src/analysis/souffle/examples/ in gcb

Looks like the presubmit check may need to be updated. Did the examples in Souffle get removed or moved?


Need to automate updating Ballerina Brew Formula

Description:
Updating Ballerina Brew Formula should be a part of the build pipeline. Need to automate updating Brew Formula through sending a PR to the Github repo Homebrew/homebrew-core
Affected Versions:
1.1.0

This already added https://github.com/ballerina-platform/ballerina-dev-website/blob/master/.github/workflows/homebrew_publish.yml


[CMSIS-NN][Perf] Converted Relay Conv2D into CMSIS-NN Depthwise

This commit converts Relay Conv2D into depthwise
convolution. This is done only when total number
of output channels can be derived using the depth
multiplier. The tests include special case of output
channels=1.
cc @areusch

cc @manupa-arm @Mousius @grant-arm for code review.


Update jacoco with Java 15 support

Windows is soo slow, should we drop testing latest Java on Windows maybe?

Windows is soo slow, should we drop testing latest Java on Windows maybe? Or just 8 and latest ...

Right now the matrix is fully parallel, will we get a performance boost doing that?

Linux ran in ~9-15m, Windows in ~22-30m. 8 minutes more for Java14 than Java8.
When doing a release I often have to wait for 1-2 Windows job when collecting some smaller PRs.
But maybe it is not the default CI case but a special one - sometimes for me.

That have sense.


Narrow down non-const enity name expressions within element access expressions

an experiment to fix https://github.com/microsoft/TypeScript/issues/51368 . I wonder what the perf tests show for this (cc @jakebailey ) 😉

To be clear, this isn't a general fix for https://github.com/microsoft/TypeScript/issues/56389, correct?

Yeah, it isn't. I specifically only looked into what @DetachHead mentioned here

@jakebailey I fixed the self-check here. Would you mind running the perf suite? :)

@typescript-bot test top200
@typescript-bot user test this
@typescript-bot run dt
@typescript-bot perf test this
@typescript-bot pack this

superseded by https://github.com/microsoft/TypeScript/pull/57847


[Feature Request] Script to read chat

Is it possible to have a function that gets the last (few) line our chat box / command feedbacks?
...and is there a sleep/wait function to insert pauses into a script?

You can't normally sleep from script, because it is getting executed in the main thread. Sleep with just cause hanging.
You can use this:
delayed.run(10, () => {
    // your code
    // it will be executed after 10 ticks passed
});

As for chat, I can add this. Maybe it will be better to have dedicated event for Events Scripting module:
events.onChatMessage(() => {
    string message = chat.getCurrentMessage();
    // ...
});

But there is not much string methods you can use, so probably you will not be able to do some sort of string parsing. What you are trying to achieve?

I have a command that does things and gives a feedback in chat when it's done processing. I would like the script to wait for that feedback line before sending the next command to main

Ok, then events should be the best place for it. Are you using 1.20.4 version?

yes, that sounds like what I need. And yes I'm using the latest version on 1.20.4. Thank you!

hello i am trying to make a code that will wait a few seconds before runing so i tried the first code and it dident work like my name sugests i am new to code so pls do you know what im doing wrong and yes i know i have spelling mistakes

Join matrix server and show your code

sorry but i dont have a clue what is matrix like i said im new to this

Ability to process chat messages added in 2.13.2 version


Construction via a named constructor

I use named constructors (static methods which return an instance of the class) fairly often. I'd really like to be able to do this with container.
It is currently possible using call and invokable but it has a different meaning semantically. And also using factory closures, but these are not possible through the config array.
I'm happy to create a PR for this but just wanted to see whether it's something which might be accepted before starting work on it.
So, what I propose is the following:
Given:
<?php

final class Foo
{
    public static function fromString($string)
    {
        return new self(/* ... */);
    }

    // ...
}

I'd like to be able to use container like so:
$container->add('Foo', ['Foo', 'fromString')->withArgument('some_value');
$foo = $container->get('Foo');

Also, double colon notation may be worth considering but has a danger of a BC break of anyone is using double colons in their names:
$container->add('Foo', 'Foo::fromString')->withArgument('some_value');
$foo = $container->get('Foo');

Finally, I'd like to see it so this is possible via the config array:
$config = [
    'Foo' = [
        'class' => 'Foo',  // 'Foo::fromString' could be possible also
        'constructor' => 'fromString',
        'arguments' => [ 'some_value' ]
    ]
];

So thoughts? If I'd created a PR for this would it be considered?

This is something I'd have to test, but, I think what you're describing is already possible by using the named constructor essentially as a callable factory.
$container->add('Foo', [new Foo, 'fromString'])
                ->withArgument('some_string');

What you lose here is lazy instantiation, so I would be open to the idea of ['Foo', 'fromString'] as the second argument but not until the v2.0.0 release that's coming in the next couple of weeks as it adds an extra layer of conditionals within an already complex method. v2 however, will be simplifying and splitting up much of that logic so I'd be happy to treat ['Foo', 'fromString'] as a proper callable.
Hope that helps?

Hi @philipobenito,
Thanks for your reply, it makes perfect sense. I'll keep an eye open for v2 and think about it again then ;-)
Thanks,
Tom

@tomphp Just been doing some testing whilst polishing off v2 and named constructors are possible already with arrays as callables, with the first element being being an instance of the class or a string containing a FQN to the class name and the second element being the method name.


Coding style and Comments

Should we encourage more comments in recipes? I think that will help beginners.

Probably when it's not completely obvious what is going on or when a code block does require some extra knowledge...?


Add syntax highlighting queries

Summary
Add basic syntax highlighting for comments, strings, common keywords
and types.
Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

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

Thanks for contributing! My apologies for the delay; a good chunk of this grammar was written during internships last summer, and we're getting back into the swing of it now.
We haven't done much with syntax highlighting in this tree-sitter grammar as we're using it to parse hack code for use with Semgrep. Based on the docs, this looks good to me. I also ran tree-sitter highlight on some of our test hack files; it's outputting correctly. :+1:

Thanks for this contribution! I will add that as we expand syntax highlighting, we might want to consider adding tests, along with organizing our .scm files with headers (ex.  ; Keywords) consistent with the other tree-sitter packages.
We will also want to update language configuration (especially language detection) to support hack files as described here: https://tree-sitter.github.io/tree-sitter/syntax-highlighting#language-configuration


"country" and "registered_country" entries mismatch

Hi,
When I want to lookup some addresses, I sometimes get different answers for "country" and "registered_country" as shown below.
Is this a normal behavior?
I mainly use mmdblookup to get information about fail2ban blocked ips.
Here is the command-line:
mmdblookup --file /var/lib/GeoIP/GeoLite2-Country.mmdb --ip <IP_ADDRESS>
And the result of the query:
{
    "continent":
      {
        "code":
          "EU" <utf8_string>
        "geoname_id":
          6255148 <uint32>
        "names":
          {
            "de":
              "Europa" <utf8_string>
            "en":
              "Europe" <utf8_string>
            "es":
              "Europa" <utf8_string>
            "fr":
              "Europe" <utf8_string>
            "ja":
              "ヨーロッパ" <utf8_string>
            "pt-BR":
              "Europa" <utf8_string>
            "ru":
              "Европа" <utf8_string>
            "zh-CN":
              "欧洲" <utf8_string>
          }
      }
    "country":
      {
        "geoname_id":
          2750405 <uint32>
        "is_in_european_union":
          true <boolean>
        "iso_code":
          "NL" <utf8_string>
        "names":
          {
            "de":
              "Niederlande" <utf8_string>
            "en":
              "Netherlands" <utf8_string>
            "es":
              "Holanda" <utf8_string>
            "fr":
              "Pays-Bas" <utf8_string>
            "ja":
              "オランダ王国" <utf8_string>
            "pt-BR":
              "Holanda" <utf8_string>
            "ru":
              "Нидерланды" <utf8_string>
            "zh-CN":
              "荷兰" <utf8_string>
          }
      }
    "registered_country":
      {
        "geoname_id":
          1210997 <uint32>
        "iso_code":
          "BD" <utf8_string>
        "names":
          {
            "de":
              "Bangladesch" <utf8_string>
            "en":
              "Bangladesh" <utf8_string>
            "es":
              "Bangladesh" <utf8_string>
            "fr":
              "Bangladesh" <utf8_string>
            "ja":
              "バングラディッシュ人民共和国" <utf8_string>
            "pt-BR":
              "Bangladesh" <utf8_string>
            "ru":
              "Бангладеш" <utf8_string>
            "zh-CN":
              "孟加拉国" <utf8_string>
          }
      }
  }

The country value is where the network is located, while the registered_country is the country of the organization the network was allocated to, and these aren't always expected to match.

Oh ok - thanks for the clarification.
I thought about something like that but couldn't find a description of those entries on the internet.
Last question: why some ips only return a "registered_country" entry ?
This one for example: <IP_ADDRESS>
Thanks again for your time and this great tool!
mmdblookup --file /var/lib/GeoIP/GeoLite2-City.mmdb --ip <IP_ADDRESS>

  {
    "continent":
      {
        "code":
          "EU" <utf8_string>
        "geoname_id":
          6255148 <uint32>
        "names":
          {
            "de":
              "Europa" <utf8_string>
            "en":
              "Europe" <utf8_string>
            "es":
              "Europa" <utf8_string>
            "fr":
              "Europe" <utf8_string>
            "ja":
              "ヨーロッパ" <utf8_string>
            "pt-BR":
              "Europa" <utf8_string>
            "ru":
              "Европа" <utf8_string>
            "zh-CN":
              "欧洲" <utf8_string>
          }
      }
    "location":
      {
        "accuracy_radius":
          1000 <uint16>
        "latitude":
          47.000000 <double>
        "longitude":
          8.000000 <double>
        "time_zone":
          "Europe/Vaduz" <utf8_string>
      }
    "registered_country":
      {
        "geoname_id":
          2921044 <uint32>
        "is_in_european_union":
          true <boolean>
        "iso_code":
          "DE" <utf8_string>
        "names":
          {
            "de":
              "Deutschland" <utf8_string>
            "en":
              "Germany" <utf8_string>
            "es":
              "Alemania" <utf8_string>
            "fr":
              "Allemagne" <utf8_string>
            "ja":
              "ドイツ連邦共和国" <utf8_string>
            "pt-BR":
              "Alemanha" <utf8_string>
            "ru":
              "Германия" <utf8_string>
            "zh-CN":
              "德国" <utf8_string>
          }
      }
  }

mmdblookup --file /var/lib/GeoIP/GeoLite2-Country.mmdb --ip <IP_ADDRESS>

  {
    "continent":
      {
        "code":
          "EU" <utf8_string>
        "geoname_id":
          6255148 <uint32>
        "names":
          {
            "de":
              "Europa" <utf8_string>
            "en":
              "Europe" <utf8_string>
            "es":
              "Europa" <utf8_string>
            "fr":
              "Europe" <utf8_string>
            "ja":
              "ヨーロッパ" <utf8_string>
            "pt-BR":
              "Europa" <utf8_string>
            "ru":
              "Европа" <utf8_string>
            "zh-CN":
              "欧洲" <utf8_string>
          }
      }
    "registered_country":
      {
        "geoname_id":
          2921044 <uint32>
        "is_in_european_union":
          true <boolean>
        "iso_code":
          "DE" <utf8_string>
        "names":
          {
            "de":
              "Deutschland" <utf8_string>
            "en":
              "Germany" <utf8_string>
            "es":
              "Alemania" <utf8_string>
            "fr":
              "Allemagne" <utf8_string>
            "ja":
              "ドイツ連邦共和国" <utf8_string>
            "pt-BR":
              "Alemanha" <utf8_string>
            "ru":
              "Германия" <utf8_string>
            "zh-CN":
              "德国" <utf8_string>
          }
      }
  }

I think in general the best place to lookup what the various fields mean is probably https://dev.maxmind.com/geoip/docs/databases.
Sometimes having a registered_country without a country value is expected. For this particular case though, we should have been able to return a country value, and I expect that to be corrected in either the next release or the one following.
As an aside, I wanted to point out another potentially useful tool, https://github.com/maxmind/mmdbinspect.  The main advantages over mmdbinspect are that you can lookup entire networks instead of a single IP address, and that the output is actual JSON instead of JSON-ish like mmdblookup's output, so its a bit easier to pipe into other tools that can consume JSON.


fix: use valid Workbench Instances image instead of User-Managed ones

Replacing User Managed notebooks image family with Workbench Instances as it is embedded in https://cloud.google.com/vertex-ai/docs/workbench/instances/create-dataproc-enabled#terraform

Description
Fixes #
Note: If you are not associated with Google, open an issue for discussion before submitting a pull request.
Checklist
Readiness

[x] Yes, merge this PR after it is approved
[ ] No, don't merge this PR after it is approved

Style

[x] My sample follows the rules described for Terraform in the Effective Samples style guide
[ ] My sample follows the other requirements and best practices in the Contributing
guide

Testing

[x] I have performed tests described in the Contributing guide:

[x] Tests pass: terraform apply
[x] Lint pass: terraform fmt check

Intended location

[x] Yes, this sample will be (or already is) included on cloud.google.com
Location(s):

[ ] No, this sample won't be included on cloud.google.com
Reason:

API enablement

[x] If the sample needs an API enabled to pass testing, I have added the service to the Test setup file

Review

[x] If this sample adds a new directory, I have added codeowners to the CODEOWNERS file

/gcbrun

Updated the branch with latest updates and re-running the CICD for review.


Some permission sets are empty.

I.e.
P&P-Q/O/I/R/C, POST  "Post purchase orders, etc."
Perhaps this has been replaced with one of the new "D365xxx" Sets?
W1 13.0 (23896)
Docker image: microsoft/bcsandbox:base

This seems to have been a transient error. Both P&P-Q/O/I/R/C, POST and D365 PURCH DOC, POST permission sets contain permissions in BC.


Ruby associations

In this branch, associations are set up between different class objects by implementing the following;

[ ] A class Classroom was set up
[ ] A has-many/belongs-to relationship between Classroom and Student was created
[ ] A book class was added with @title and @author instance variables
[ ] A class Rental was added with an @date instance variable initialized in the constructor.
[ ] Created a many-to-many relationship between Person and Book using the intermediate class Rental

Hi @jonas-45,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights

The Pull Request has a proper title and description. ✔
You have added a descriptive Readme file. Good Job. ✔
There is no linter error is present. ✔
Project has met all the technical aspects you needed for this project. Keep rocking! ✔

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Include a page about 2018-only changes

Include a dedicated page that explains exactly what parts that are only available on 2018 + all the breakage.
This should be a tiny list.

This has to land tonight, RC1 is shipping in the morning.

@steveklabnik I'll get to working on it today; was very much asleep when you wrote your comment =P

This did not land, de-milestoning.

Is it still scheduled? This page would be really helpful.

If I wrote a page for this, would you consider adding it? AFAIK, here is an exhaustive list of the stable 2018-specific changes:

dyn is now a full keyword.
async, await, try are now reserved keywords.
Added ? kleene operator to macros-by-example.
NLL
tyvar_behind_raw_pointer is now a hard error.
Overflowing literals are now rejected.
Anonymous trait function parameters are not allowed.

All irrefutable patterns are allowed with a body.

Paths:

Paths starting with :: can only reference crates.
use declarations can reference crates in the extern prelude.
use declarations cannot reference the crate root.

:: leading prefix required for name clashes (uniform_paths future-proofing).

Visibility paths must be absolute.

Additionally, I think it wouldn't hurt to include the 2018 idioms:

bare_trait_objects: dyn Trait is recommended over Trait
unused_extern_crates: extern crate should not be used
ellipsis_inclusive_range_patterns: ... ranges are deprecated, should use ..=
elided_lifetimes_in_paths: Lifetimes should not be elided in some cases.
explicit_outlives_requirements: Lifetime bounds should be elided in some cases.

@ehuss Yeah I was supposed to fix it but never got the time; if you can do it, that'd be great.

Additionally, I think it wouldn't hurt to include the 2018 idioms:

The release team has been very not interested in describing the idiom
lints, as they're not ready yet. I would leave this out.


Size options in Hero component

Is your feature request related to a problem? Please describe.
There are missing size options in the Hero component:

Half-height (is-halfheight)
Full-height (is-fullheight)

Additional context
Those options were removed because of an error in Page Editor related to using vh styles.

Blocked by https://github.com/websight-io/starter/issues/96


add a full packet parser

one way to do #57
It might make more sense to do that since it avoids the queue if we don't need it.
I'll try the "fixed" datatype option though.
(and need an example to test this)

I'm really unconvinced that's the right way to do it. What's the difference between this class and the existing Parser ? Wouldn't it be possible to merge them ?

Right, this expects a chunk will never be cut, and always be a single packet. This isn't a good assumption to make. We should assume a stream is a stream, an endless series of bytes.

We should assume a stream is a stream, an endless series of bytes.

this is only possible is the length is available in the buffer when it gets at the protodef serializer ( https://github.com/roblabla/ProtoDef/issues/57#issuecomment-189985804 )

No ? I believe you're constraining your view to minecraft-protocol. ProtoDef serializer is (or should be, I'm not sure where we're at at this point) able to operate on any type of data. For instance, new Serializer(null, types.i32) will give us a stream of i32. Even if they were sent as 1 byte and then 3 bytes. Even if it was sent in bulk.
If minecraft-protocol needs a specific serializer interface for whatever reason, it can easily use "proto.parsePacketBuffer" function to implement it. It doesn't have to use the built-in Serializer.
ProtoDef API for most languages really should reduce to :

addType
(parse|create)PacketBuffer
Whatever facility makes sense for that specific language to plug into the IO stack. In JS that's a TransformStream implementation.

Yes I meant for minecraft protocol. For minecraft protocol we'd need to put the length in the buffer in order to use that same parser. (+ adding the "fixed" type, in protodef or nmp)
Yes I guess we could also define that FullPacketParser in nmp.

If we got rid of the splitter in nmp (https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/src/transforms/framing.js#L62 which does basically the same thing as protodef parser (that loop to)) things would be much simpler.

Yes ProtoDef is more general than nmp now. But "more general"(/generic) doesn't only mean "less specific to a given protocol" but also "can handle any protocol especially the hard one such as minecraft protocols"

I suppose the only problem concerning NMP is that compression is impossible to impl in ProtoDef due to its sync nature. Instead of adding a bunch of hacks, maybe we should reconsider implementing an async interface to ProtoDef ? I'm thinking maybe having an optional async interface might not be too damaging performance-wise. Then compression could be handled in protodef as well
[
  { "name": "len", "type": "varint" },
  { "anon": true, "type": "compressed", typeArgs: {
    "length": "$len",
    "data": [
      // packet here
    ]
  }
]

Yes having an (semi-?)async interface that  would be ideal.
It wasn't only for the perf that I gave up on async, but also because nmp state changing currently work only because stuff are sync (https://github.com/PrismarineJS/node-minecraft-protocol/pull/309#issuecomment-166793030) and I believe that in order to make it work with an async interface, the state changing needs to be handled by the parser/serializer which is annoying.
Maybe it's possible though.

Actually, we don't need stuff to be sync, just to be processed in order I think. Am I wrong ? If order is the problem, we can probably think of solutions ^^.

I'm not sure tbh. If I really knew I would have fixed https://github.com/PrismarineJS/node-minecraft-protocol/pull/309
It's probably possible to make it work, I'll try again sometime. (or a variation of it with only optional async)

So. 2 ways to go here:

put this in node-protodef
put this in nmp

I think it's useful in node-protodef because nmp is not the only thing that can assume it's not really a stream.

let's merge this. can be removed if needed


ISSUE-745: Added logout REST endpoint

Fixes #745
@shahsank3t, sending a POST to "api/v1/catalog/users/current/logout" will invalidate the cookie. Checked in safari and via cUrl.
@harshach, we need to configure ambari to set cookie.path: "/" under servletFilters config in the generated streamline.yaml to always set cookie for "/".

+1

@arunmahadevan Having thought more on this, do we want the requirement of / as cookie.path? Most user setups wont have permissions on that directory. I think we should avoid making that parameter mandatory and let client(browser, curl, etc) decide the cookie path. If cookie.path config is used indeed then we can have a reference to the filter and use it to getCookiePath instead of hardcoding. I prefer not using cookie.path at all.

@priyank5485 , I am not sure if I understand what you meant by user not having permission on the path, but cookie.path is the URI stored within the cookie and not the file system path. Without this browser uses the URI visited by the user as the path and stores multiple cookie instances (one per URI) which is undesirable since this is a login cookie and it cannot be easily cleared with a Set-Cookie.

@arunmahadevan I misunderstood the use of cookie.path When you say browser stores multiple cookies, are you saying that each time user clicks on a link in UI that goes to a different UI the entire SPNEGO sequence happens again creating a new cookie for that URI? From what i remember cookie is set by server only the first time, whatever URI that may be. By default cookie.path is null so there is no path set in the first cookie by server. And the browser keeps sending the same cookie back in any subsequent requests. Let me know if i am mis-understanding anything here.

@priyank5485 , while browsing the UI the path mostly doesn't change. However while testing by directly hitting the API endpoints like "/api/v1/catalog/users/current" etc via browser, I observed multiple instances of cookies stored in the browser. It may depend but its better to set the path explicitly.

+1
Tested API on a secure cluster and works as expected.

@arunmahadevan Just to close the loop here. Last time we discussed i think you were not seeing multiple instances of cookies. Can you double check that? If its not the case and if we can delete the cookies then we can do away with an extra ambari config. Otherwise, we can take this approach

@priyank5485 , I am seeing multiple instances of the cookies. See attached screenshot.
The cookie specification clearly says "If the server omits the Path attribute, the user
agent will use the "directory" of the request-uri's path component as the default value.", so its required to set the "path=/" attribute for the authentication cookies.
@harshach we need to configure ambari to set cookie.path: "/" under servletFilters config in the generated streamline.yaml to always set cookie for "/".

@arunmahadevan In that case, it seems that we dont want the path to be configurable and always want it to be "/". Then we can just hard code it in streamline.yaml instead of adding it to ambari?

@priyank5485 , yes it can be hardcoded in the streamline.yaml generated by ambari and need not be configurable. So I presume we still need to update the config/scripts that ambari uses to generate streamline.yaml.

@arunmahadevan Sounds good. I will take care of ambari config. I will merge this in.


usbhost: Can now handle multiple interface descriptors.

Summary
See #3644. Code from:
https://github.com/apache/nuttx/compare/master...btashton:libusb
Impact
Fix issue #3644
Testing
Plug in USB mouse+keyboard dongle.
/dev/kbda and /dev/mouse0 can be seen in nsh. Only kbda device was seen before this change.

@ldube could you sqaush three patch into one?

Thank you @ldube!


Ionic 2: Confirm button with role:cancel does not fire on android back button

Short description of the problem:
When presenting an alert since beta 11, if the user presses the Android hardware back button, the role: 'cancel' handler is not fired.
In previous beta versions, this was fired.
What behavior are you expecting?
For the Android back button to fire the handler with role: 'cancel'
Steps to reproduce:

Put the code below on a page linked to a button
Notice that when pressing hardware back button, alert is not fired.

let confirm = this._alertController.create({
        title: 'Do You agree?',
        message: 'Please say whether you agree',
        buttons: [
          {
            role: 'cancel',
            text: 'Disagree',
            handler: () => {
              alert('cancelled')
            }
          },
          {
            text: 'Agree',
            handler: () => {
            }
          }
        ]
});
confirm.present();

Other information: (e.g. stacktraces, related issues, suggestions how to fix, stackoverflow links, forum links, etc)
Which Ionic Version? 1.x or 2.x
2.x
Plunker that shows an example of your issue
Sorry, but I can't show this in a plunkr as it requires the android hardware button.
Run ionic info from terminal/cmd prompt: (paste output below)
Davids-Air:AppHazard daveshirman$ ionic info
Your system information:
Cordova CLI: 6.2.0
Ionic Framework Version: 2.0.0-beta.11
Ionic CLI Version: 2.0.0-beta.32
Ionic App Lib Version: 2.0.0-beta.18
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v4.3.0
Xcode version: Xcode 7.2.1 Build version 7C1002

Hi, any news on this? Anyone??

Hello, can someone from the Ionic team please reply to this?  @jgw96

Hello, thanks for opening an issue with us! I am very sorry for the delay on this one, we have been very focused with getting the RC.0 release out.  We will be looking at adding this enhancement.

@daveshirman we are aware of this issue, and I have disabled hardware go back support for Alerts, since this bug can lead to deadlocks. For example, when the alert needs to resolve a promise, the cancel handler is never called, and the promise is never resolved.

@manucorporat Hey, is this really a good solution though? All Android apps use allow the hardware/software back button to dismiss alerts and actionsheets.  Isn't this just breaking user expectation and therefore the illusion of a native app?

@daveshirman it is not a solution, but it is better to disable a buggy feature that can lead to worst scenarios (like a frozen app).
The fix for this issue is not trivial and we are about to release a new version very soon, it is too later for big changes.
From a UX, you are right. But a Alert is a UI element that is asking for user interaction, an alert WANTS the user to do something, so we think disabling the hardware go back is not a big deal from an UX point of view in the meantime.

@manucorporat Yep, totally agree.  Look forward to the next release, especially navigation fixes (setRoot etc).
Thanks for all your team's hard work.  Loving working with this framework.

Hello ! Any idea when this will be implemented ?

Is this Issue solved or still open?


Bump Dependencies #4907850639

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/4907850639

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.jenkins-is-staging seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


NACL: remove optional die parameter

Exceptions should be raised when needs to be raised, well documented, and if callee wishes to ignore it they should be explicitly caught.

➤ kristof de spiegeleer commented:
no I do not agree, this adds lots of boilerplate code and the goal of JSX = less is more
the goal is we do always die, which means anything not expected will go there
if we ask without die, we know what we expect to do and this means we are just testing

➤ Glen De Cauwsemaecker commented:
But this is totally against how python is developed, it uses the exception system for error handling for a reason. Having the die argument makes your code much heavier, and makes it that you have a system on top of a system. We need to think about making sure we use that die parameter everywhere, and propagate it correctly. On top of that, what are you really going to do if not die. You cannot just return False, as it might be totally different than the regular type we expect, or because the error is not as binary as True/False.

the goal is we do always die

that makes this parameter useless

we know what we expect to do and this means we are just testing

What? Can you please elaborate.

➤ kristof de spiegeleer commented:
see our generic discussions
https://docs.google.com/document/d/15n_Vq3zCF6_I8scptN7wtxCDCowOKoEUFKB5EJZ8Das/edit
I believe should be ok


bumped version of codeql to v2

Which issue this PR addresses:
updates codeql which now fails because it was using v1 which is being deprecated
All pipelines are going to start failing without that update

Fixes
What this PR does / why we need it:

Test plan for issue:

Is there any documentation that needs to be updated for this PR?

This doesn't impact e2e at all.  Merging.


fix MergeMetadata do nothing

MergeMetadata needs to use a pointer receiver to modify the caller key metadata, use a value receiver won't do anything,
You can see this happend when running turnkey request command, for example turnkey request --host api.turnkey.com --path /public/v1/query/list_wallets --body '{"organizationId": "some-org-id"}', it will print out
{
   "error": "failed to associate the API key with an organization; please manually specify the organization ID"
}

@mkhoatd thank you for this! 🙌  Given this PR fixes #52 would you mind adding the test from this issue's description? It should pass now:
func Test_MetadataMergeWorks(t *testing.T) {
	k, err := encryptionkey.New(uuid.NewString(), uuid.NewString())
	assert.Nil(t, err)
	assert.Equal(t, "", k.GetMetadata().Name)

	err = k.MergeMetadata(encryptionkey.Metadata{
		Name:      "Custom Name",
		PublicKey: k.TkPublicKey,
	})
	assert.Nil(t, err)
	assert.Equal(t, "Custom Name", k.GetMetadata().Name)
}

This can be added to the end of https://github.com/tkhq/go-sdk/blob/main/pkg/encryptionkey/encryptionkey_test.go for example.

@r-n-o, I've added the test to encryptionkey and apikey too


can't gen images

RuntimeError: File at path I:\xStableDiffusion\v1.2 full\UI\undefined does not exist.

are you using the latest AUTOMATIC1111? They change the way they handle images so this sounds like that might be the issue.

yes is lasest automatic1111


Fix linter not running and run on all files

I am just not sure about the imports, maybe some of them were intentional to make them available from that namespace. If that's the case, __all__ should be define instead.

Do you know why the tests are running that long? Is this expected?

Yes to both, I will see if tests pass locally.


How to set it as a New Tab?

Firefox is not allowing to set custom URLs as New Tab. So, is there any way I can set it as my new tab?

Check the last section of README


Updating version to be set during build process

@jasonsandlin,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Doc: Fixed title in schema download instructions

I ran into an issue when copying a command from the schema download instructions. It looks like there was a typo in the docs. This PR fixes it.

@0xVesion: Thank you for submitting a pull request! Before we can merge it, you'll need to sign the Apollo Contributor License Agreement here: https://contribute.apollographql.com/

Good catch! 🙏

Thank you  👍


Pairing via Frontend - Problem

Description of problem:
Hallo, could you tell me where I should place your mentoined script for the entities please.
Must I copy it in:
/opt/zigbee2mqtt/data/configuration.yaml
or in
/PATH_TO_YOUR_CONFIG/configuration.yaml
?
> mqtt:
  broker: core-mosquitto # This will have to be your mqtt broker, Mosquitto addon is recommended.
  discovery: true

input_boolean:
  zigbee_permit_join:
    name: Allow devices to join
    initial: off
    icon: mdi:cellphone-wireless

timer:
  zigbee_permit_join:
    name: Time remaining
    duration: 600 # Updated this to the number of seconds you wish

sensor:
  - platform: mqtt
    name: Bridge state
    state_topic: "zigbee2mqtt/bridge/state"
    icon: mdi:router-wireless

automation:
  - id: enable_zigbee_join
    alias: Enable Zigbee joining
    trigger:
      platform: state
      entity_id: input_boolean.zigbee_permit_join
      to: 'on'
    action:
    - service: mqtt.publish
      data:
        topic: zigbee2mqtt/bridge/config/permit_join
        payload: 'true'
    - service: timer.start
      data:
        entity_id: timer.zigbee_permit_join
  - id: disable_zigbee_join
    alias: Disable Zigbee joining
    trigger:
    - entity_id: input_boolean.zigbee_permit_join
      platform: state
      to: 'off'
    action:
    - data:
        payload: 'false'
        topic: zigbee2mqtt/bridge/config/permit_join
      service: mqtt.publish
    - data:
        entity_id: timer.zigbee_permit_join
      service: timer.cancel
  - id: disable_zigbee_join_timer
    alias: Disable Zigbee joining by timer
    trigger:
    - platform: event
      event_type: timer.finished
      event_data:
        entity_id: timer.zigbee_permit_join
    action:
    - service: mqtt.publish
      data:
        topic: zigbee2mqtt/bridge/config/permit_join
        payload: 'false'
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.zigbee_permit_join

Thank you for your help. I'm quite new in hassio.

I am new to hassio / home-automation aswell and this step isn't quite clear to me either.
Where do you add this configuration?

After some more investigating I ended up installing the "File editor" addon.
Once you have done this, simply edit your maijn "configuration.yaml" file and add your YAML.
The next step is to added the Lovelace YAML to the frontend using the "raw configuration editor", top right menu.
I guess the documentation assumes some experience with Home Assistant, I started a fresh install this morning. So far I am impressed with all the functionality!


The argument "region" is required, but no definition was found.

module "s3-review-apps" {
  source           = "nagelflorian/s3-review-apps/aws"
  version          = "1.0.0"
  domain_name      = var.domain_name
  route_53_zone_id = aws_route53_zone.bookandgo.id
}

╷
│ Warning: Empty provider configuration blocks are not required
│
│   on .terraform/modules/s3-review-apps/versions.tf line 24:
│   24: provider "aws" {}
│
│ Remove the aws provider block from module.s3-review-apps.
╵
╷
│ Error: Missing required argument
│
│   on .terraform/modules/s3-review-apps/versions.tf line 24, in provider "aws":
│   24: provider "aws" {}
│
│ The argument "region" is required, but no definition was found.

@dolohow Thanks for reporting this issue. I've just released v1.1.0 that contains a bug fix for it.


Automatically use KUBECONFIG env var

What would you like to be added:
Currently, kai will use ~/.kube/config to connect to the cluster, even if the KUBECONFIG environment variable points to a different file. This makes it necessary to manually specify the -k $KUBECONFIG option when calling kai, creating the risk of inadvertently running kai against a different cluster than kubectl.
I would propose that kai should automatically use the kubeconfig file pointed to by the KUBECONFIG enviroment variable if it is set, otherwise attempt to use the current default of ~/.kube/config as a fallback to be consistent with other k8s tools.
Why is this needed:
Some users keep multiple separate kubeconfig files and switch between them by pointing the KUBECONFIG environment variable at the active config file. Kubectl and friends automatically pick up the active config from the environment, so having kai do the same would increase consistency and reduce the surprise factor for the user.
Additional context:

Hello @AdrianoKF! Thanks for submitting the request. I have passed it along to PM for review

@AdrianoKF @zburstein just wanna check on something real quick here!
The environment variable to set the kubeconfig path should take precedence, but want to make sure we're setting the right one. In order for KAI to prefer a different path besides the home directory's kubeconfig, it looks in the following places:

KAI_KUBECONFIG_PATH
kai.yaml kubeconfig path override: kubeconfig.path
kai.yaml direct kube config (i.e. translating the actual kubeconfig into the kai.yaml file)
~.kube/config

So, as you mentioned, kai is not respecting the KUBECONFIG env var directly, but it would respect KAI_KUBECONFIG_PATH. It seems that you're suggesting that the KUBECONFIG env var is used more commonly by k8s operators and that we should interpret that as well. Perhaps we could add it between options 3 and 4 above in terms of order of precedence? Would that satisfy the feature request as it's laid out in your comment?

@dakaneye Yes, I like adding it between 3 and 4. That'll allow for it to work as expected.


[Indigo] [DatePicker] Final Upgrade of DatePicker Component.

Description
We are going to make the final upgrade of our DatePicker component. This update will involves the timezone label support, inputting seconds, and database-stored input format (optional).
Checklist

[ ] Rebuild the processor transferring object without changing component API.
[ ] Add globally timezone label support.
[ ] Add inputting-seconds ability.
[ ] Support datebase-stored format input.
[ ] Test these abilities.

Everything related to this issue should go into branch indigo-162-date-picker-final.


Use Bazel-managed interpreter for pip_parse

Without this, pip_parse uses the system-installed python3. This breaks if python3 is something else than the configured Python 3.8.
We also pass --allow-unsafe to avoid having to manually mess with requirements_lock.txt.

Thank you @ahans 👍


Infinite Absorption Hearts

Wearing any trinket with an absorption bonus, getting absorption hearts from another source like a golden apple, then taking on and off the trinket will duplicate the absorption heart bonus, there seems to be no ceiling.

Did you mean to close this? I've actually been trying to replicate this issue for a while, and the Golden heart tidbit I think is pointing me towards the solution

I did not mean to close it, The issue is seemingly caused by mods with permanent absorption hearts. Normally taking off the amulet or other trinket clears the effect but when another source of absorption stays on it keeps replicating those hearts.

I tried running the mod by itself and the issue does not happen, but it does with any mod I try that offers non-decaying absorption hearts.
Ex. Warden Tools mod, Simply Swords mod.

I've tested it with golden apples and they were enough to cause it for me. Also enough info for me to have a fix, which will be pushed out soon.

Thank you!


check-font: Better ID schema for checks

We currently use a single number to identify tests. ID numbers are assigned to checks as soon as they are created. Unfortunately this approach cannot handling grouping tests.
Our current approach work as follows:
1. Check fontname          (added on day 1)
2. Check missing glyphs    (added on day 2)
3. Check style name        (added on day 3)
4. Check missing styles    (added on day 4)

I would prefer to see a system like this:
M1. Check fontname         (added on day 1)
M2. Check style name       (added on day 3)
R1. Check missing glyphs   (added on day 2)
R2. Check missing styles   (added on day 4)

By prepending a suffix at the beginning, it gives us more flexibility to group tests. In the above example "M" could be a suffix for metadata and "R" for regression check groups.
This is by no means the best solution. I just thought it would be a good idea to start a discussion for this. We currently have 120+ tests in a 2,500+ python file. We need to start thinking about how to structure this better and a decent id system will play a crucial role in this.

yes, I agree with that. I also dislike the purely numerical IDs.
Maybe a word prefix would be better than a letter prefix. For instance, for tests that are specific to certain tables, the table name could be used as a prefix. So, for name table tests we could have com.gogle.fonts/test/name/1, com.gogle.fonts/test/name/2, com.gogle.fonts/test/name/3, etc...
A neat thing then would be the ability to use "-c com.gogle.fonts/test/name" to select a whole group of tests.
If we ever change the test-id naming scheme, we should make sure of keeping a reference to the old id as well in order to make it easier to track down project history on the future.

I also dislike having a whole bunch of third-party checks (such as fontforge, FontVal, etc) being logged as results of single FB tests. It would be neat to map those to individual FB check results.
But this perhaps would be much more challenging to implement given the nature of our current third-party tools integration strategy.

Grouping tests and ids should be something different. IDs are rather meaningless, they just need to be unique, forever. Don't overload IDs. Think of IDs like this: I want to create a URL that is valid in 10 years ... could be a random string, could be the date of today plus a word, could be a Reverse domain name notation (which has some upsides).
Fringe: If we manage to create a globally agreed upon collection of tests, and therefore need to move test somewhere else, ideally we wouldn't change the ID as long as it is semantically the same …

If we ever change the test-id naming scheme, we should make sure of keeping a reference to the old id as well in order to make it easier to track down project history on the future.

We have one shot at this, now, and we'd already loose git history coherence. Generally:
Just don't change the old IDs EVER!
We can NOW change these IDs, but as soon as we seriously go into production, and want to have a way to track a font-family history for 10 years into the past, these IDs should never change. Thus, don't overload IDs, make sure they are unique forever :-)

I also dislike having a whole bunch of third-party checks (such as fontforge, FontVal, etc) being logged as results of single FB tests. It would be neat to map those to individual FB check results.
But this perhaps would be much more challenging to implement given the nature of our current third-party tools integration strategy.

No, it's easy! Run them as a "condition" and let the "tests" just yield the results you are interested in. Don't be scared away of the names these things have. A condition can run FontVal and return all results and several tests can cherry-pick from this data and just yield what they think is interesting.

yeah... we already do something like that with fontforge test results and I was considering doing more of that with other third-party tools as well.

Grouping tests and ids should be something different ... We can come up with grouping mechanisms, like "tags" or literally "groups", we can come up with "nice" "human readable names" they can co-exist with stupid old IDs ;-)

I agree.

@m4rc1e any new thoughts about this issue nowadays ?

@m4rc1e ?


implement --invert for pip tree

Summary
partially resolves https://github.com/astral-sh/uv/issues/4439

Test Plan
existing tests pass + added a couple of new tests with --invert.

all done 🌵

I haven't looked at the implementation in detail, but is there a reason we want this to be --invert instead of --reverse like in pipdeptree?

I haven't looked at the implementation in detail, but is there a reason we want this to be --invert instead of --reverse like in pipdeptree?

i followed the naming convention in cargo tree, but if there's an overall preference for --reverse i'm happy to rename 👍

I kind of find --invert clearer, but we can provide a hidden alias --reverse for pipdeptree compatibility.


Roll engine 149b7b8981bf..0c7a3f25f5b8 (3 commits)

https://github.com/flutter/engine/compare/149b7b8981bf...0c7a3f25f5b8
git log 149b7b8981bf27229b00471c3cddd1a563ace2fc..0c7a3f25f5b8844961deb580e15fc43cd56a7a75 --no-merges --oneline
0c7a3f25f Copy //dart-pkg/zircon|fuchsia from Topaz into the engine. (flutter/engine#8884)
ba82ea2af Roll src/third_party/skia<PHONE_NUMBER>72..51e15a69ce5b (8 commits) (flutter/engine#8885)
d71704488 Copy //runtime/dart/utils from Topaz into the engine. (flutter/engine#8871)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/5977629618864128

Commit queue failed; closing this roll.


Accident

This was published on wrong repository by accident

so, delete it?

@SebastianGPedersen verified here it's possible for you to close your own issues. If you can do that it pollutes the open issues less. Only maintainers and the original poster can close these. @olliechick also verified, offering polite constructive approaches doesn't cost all that much, worth trying next time?


Raise push request againt core jenkins job builder repo

Hi,
please, could you push this to the main repo https://github.com/openstack-infra/jenkins-job-builder?
Thanks,
Michal

Hi.
I wasn't planning on doing that, but feel free to submit a pull request to the openstack-infra repo if you want this included in the core.

@rozky, I believe there are multiple patchset proposals to land this in jjb core:
https://review.openstack.org/#/c/131404/
https://review.openstack.org/#/c/136627/
@asmundg, thanks for this plugin.  :100: :star2:

+1

+1

It looks like slack support is included in jjb core now: https://github.com/openstack-infra/jenkins-job-builder/commit/7e02657f857fef7e6fc21faa2c040c5e1dc5b56c


Uploading recipe only when build_policy='always'

I have a recipe with build_policy='always' that I would like to test with CI and if the result is good, upload it to a conan repo. Unfortunately this does not currently work:
Uploading ocaml_installer/0.0.1@dbely/testing to remote 'upload_repo'

Uploading conanmanifest.txt

Uploading conanfile.py

Uploaded conan recipe 'ocaml_installer/0.0.1@dbely/testing' to 'upload_repo': http://docker1:8081/artifactory/api/conan/conan-local
Traceback (most recent call last):
  File "build.py", line 23, in <module>
    builder.run()
  File "/usr/local/lib/python2.7/dist-packages/cpt/packager.py", line 376, in run
    self.run_builds(base_profile_name=base_profile_name)
  File "/usr/local/lib/python2.7/dist-packages/cpt/packager.py", line 453, in run_builds
    r.run()
  File "/usr/local/lib/python2.7/dist-packages/cpt/runner.py", line 76, in run
    self._uploader.upload_packages(self._reference, self._upload)
  File "/usr/local/lib/python2.7/dist-packages/cpt/uploader.py", line 23, in upload_packages
    self.conan_api.upload(str(reference), all_packages=True, remote=remote_name, force=True)
  File "/usr/local/lib/python2.7/dist-packages/conans/client/conan_api.py", line 78, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/conans/client/conan_api.py", line 747, in upload
    retry_wait, skip_upload, integrity_check, no_overwrite, remote)
  File "/usr/local/lib/python2.7/dist-packages/conans/client/cmd/uploader.py", line 67, in upload
    skip_upload, integrity_check, no_overwrite, remote_name, recorder)
  File "/usr/local/lib/python2.7/dist-packages/conans/client/cmd/uploader.py", line 95, in _upload
    raise ConanException("Conanfile has build_policy='always', "
conans.errors.ConanException: Conanfile has build_policy='always', no packages can be uploaded

Is it possible to tell conan-package-tools somehow that this is intentional and only the recipe should be uploaded?

I think there is no way to tell CPT to upload recipes with build_policy=always ATM as this is trying to upload all packages. This causes that exception to let user know that there are no packages to upload.

Currently, you cannot specify it. We need to check if it could be detected from the recipe or otherwise enable a new flag to upload only the recipe.


Fix environment name

Description

For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

/merge-when-ready

/merge-when-ready

OK, I will merge the pull request when it's ready, leave the commits as is when I merge it, and leave the branch after I've merged it.

OK, I will merge the pull request when it's ready, leave the commits as is when I merge it, and leave the branch after I've merged it.

@tmjd Indeed looks like it's blocked by a non required test. cc @Brian-McM

@tmjd Indeed looks like it's blocked by a non required test. cc @Brian-McM

@doublek @tmjd Marvin only merges if all checks, required or not required, pass. This is intentional and is a safety precaution to prevent Marvin from merging on a project that doesn't have the required checks set up correctly.
It looks like you've hit that docker hub limit, I'd suggest somebody continue the migration to semaphore v2, seems like the build step has been migrated.

@doublek @tmjd Marvin only merges if all checks, required or not required, pass. This is intentional and is a safety precaution to prevent Marvin from merging on a project that doesn't have the required checks set up correctly.
It looks like you've hit that docker hub limit, I'd suggest somebody continue the migration to semaphore v2, seems like the build step has been migrated.


super.open is called twice when doing shareSingle

Again, I have a fix for this. Just an issue to remind me to PR it.
Android-specific issue.
When you run shareSingle, it calls super.open once, with the correct data. Then, it calls it again further down.
It doesn't break anything, but the processing all runs twice for no reason.

:tada: This issue has been resolved in version 3.7.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Run parallel tests

Signed-off-by: David Cassany<EMAIL_ADDRESS>

This PR is just to try to reproduce and experiment with some flakyness on tests that seams to be related with parallel execution of specs.

we might have some goroutine leak or either some context not properly closed which is tied to something in the background. Maybe checking pprof/goroutines would help out to nail it down.

Yes, I did not invest time anymore on that as with this PR I just wanted to ensure this was a real issue and not something I saw transitory while fixing the ISO download. My idea was to trying to identify the offending tests by reducing the executed ones, so start to check if with procs=2 is still failing (I think we usually get 2 processes) and from there start reducing the tests and check if I can get it to fail with only 2 specs.

Ok, as I expected this issue on channels tests is unrelated with #121, where we first faced it. So there is no connection with the httpclient, which makes sense as the upgrade action does not make use of the httpclient in any way.
There are three tests of the upgrade channel, no matter which two we run concurrently that it fails, there is the one going to process 2 that hangs. Process 1 succeeds, I assume it matches the order of the execution.
It feels like it could be something related to Luet, but I can't see what changed that caused these tests to start failing....

I could not find the root cause of this issue. I have two ideas, without good arguments though:

There is a lack of resources to run upgrade from channel tests in parallel: This could explain why it suddenly started to fail, probably we were already around its limits and by some cOS update it starts to consume more or caused by some update on the underlaying VM there are less resources available.
Simultaneous luet install  commands fail to execute: at a glance I could not see anything that could explain it as all the paths are configured on per test basis (database, tmpdir, cache, etc). However I saw that few luet temporary files are not encompassed by this. There is a $TMPDIR/tmpluet folder dynamically created in each test, I think this is related to the garbase collector and it looks like there is no system wide information stored in there as each run creates a random folder under it and it does not look like there can be collisions.

I any case I believe not being capable of running elemental upgrade tests in parallel is a big issue, since this is a use case that only happens on tests. In real operation is doesn't make sense running multiple elemental upgrade on the same host in parallel.
So that I am closing this PR and leaving the parallel upgrade tests issue unsolved.


wrong defaults in configsettings.properties file

[Version]
16.1 fix6+ 2017/03/06
[How to reproduce]

during installation configsettings.properties file have to be adapted for bes and app
the defaults are usually stated (even if the property is a comment)

[Expected result]
defaults are stated in files:
# KEY_FILE_PATH=./key
[Observed result]
# KEY_FILE_PATH=/key

Checked all install packs. Paths are correct: for oscm-install-pack it's /key, for others it's ./key.

Changed path in oscm-install pack to ./key

@gertipoppel Please check if doc mentions the default value. Change accordingly

The documentation states that the default in the configsettings.properties file is ./key
and that the default location is
<GLASSFISH_HOME>/glassfish/domains/app-domain/config and
<GLASSFISH_HOME>/glassfish/domains/bes-domain/config

Windows Server 2016, jdk1.8u131, build BES_MASTER_UNIT-1897 2017/07/26 in SAML mode.
In the file configsettings.properties and in documentation the value is correct.

Retested on Windows Server 2016, jdk1.8u131, build BES_MASTER_UNIT-1904 2017/07/27 (official 17.3.0) in SAML mode.
In the file configsettings.properties and in documentation the value is correct.


Inserting/Updating records to all pool cluster

I am using four databases server in production. The read operations can be performed from any random  host, while insertion or update need to be performed on all databases in the pool.
I used pool cluster to add all databases into pool. However, whenever I update record/or insert, the record is added/updated to only one of the database. Is it possible to write across all using this module?
Thanks,
Ritesh

is there any reason why you don't use replication on the server?

Right, @sidorares. I'm going to close the issue, as adding this to the pool cluster is just not going to work, because it's just not a best practice in any way, if only that you could never have any defaults, auto_increment columns, and more, since there is no way to keep them in sync.
The purpose of a pool cluster is to setup for use with replication servers.


Update the search button width on small screens

What new changes did you make? Tick all applicable boxes

[ ] Added new abbreviation
[X] Fixed something in the source code
[ ] Added a new feature
[ ] Fixed the docs (README.md, CONTRIBTUING.md, etc)

Describe the new changes you added.
Changed the width of the purple search button on small screens so that it covers the whole screen. This makes it easier to press with one hand and looks better as it isn't left aligned and matches the search bar width

Share a screenshot of new changes
Before

After

:thinking: This looks great! I didn't think about it, so thank you :heart: I'm just worried that there's not enough or too little space now between the search button, and the text below it. What do you think?

Could be worth adding some more padding. Potentially more on top and bottom

I think that'll look great. Will you update your PR?

Will do when I get back from work


Explorers need to be update with new mwc713 executables to support new proofs.

Explorer VMs need to be upgraded with mwc713.
Need to be done after changes will be pushed and build finished

New proofs are ready to test

Closing this ticket.


tabs pagination doesn't show inside flex container

Bug, feature request, or proposal:
Bug
What is the expected behavior?
The tabs pagination should appear if the some tabs cannot be shown in the container's available width
What is the current behavior?
If the mat-tab-group is inside a flex container the tabs pagination will not be shown even when they should
What are the steps to reproduce?
This issue can be reproduced in https://plnkr.co/edit/af9GB7jmPRX9rim7p7Kz
What is the use-case or motivation for changing an existing behavior?
The pagination should appear whenever the tabs are not able to fit the container
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular: 4.4.5
Material: 2.0.0-beta.12
OS: Windows 7
TypeScript: 2.3.4
Browsers: Chrome
Is there anything else we should know?

This is working as expected because the container element for the tabs is not constrained to a specific width and stretches to the width it needs.  Since all of the tab labels fix inside pagination is not needed.  For pagination to be needed the width should be constrained which could be done in this situation by adding width: 100% on the <mat-tab-group> you created.

just adding width: 100% doesn't help


Package depends on<EMAIL_ADDRESS>which doesn't exist

When I npm install from a clean clone of the TypeDoc repo, I get the following error:
Error: version not found<EMAIL_ADDRESS>
I can confirm that v0.4.0 does not exist on npm or even in the typedoc-default-themes repo. Additionally, a fair number of the tests fail when I modify the package.json to reference the newest publish release. @sebastian-lenz is it possible that this is a local version that you have that you forgot to push? Or am I misunderstanding something?

+1
I've managed to build it successfully with 0.3.3, but TypeDoc displays the next errors in result (I don't know if it is related):
Error: Cannot find global type 'Array'.
Error: Cannot find global type 'Boolean'.
Error: Cannot find global type 'Function'.
Error: Cannot find global type 'IArguments'.
Error: Cannot find global type 'Number'.
Error: Cannot find global type 'Object'.
Error: Cannot find global type 'RegExp'.
Error: Cannot find global type 'String'.

See #204 for updates on this.
I believe the PR is resolving those global errors. They are also reverting to 0.3.4 for the theme and requesting access to the theme repo for maintenance on that as well.

Closing as resolved. I've pushed the latest builds, and the latest themes.