As part of integrating to the ibeaconlivinglab I noticed that if you

As part of integrating to the ibeaconlivinglab I noticed that if you create the asset via the web interface it has an id not related to the device id and therefore the send function , which assumed that the assets is the device + the asset id does not work.
I added a new function sendToDevice which takes the assetid as a single input string

This doesn't apply anymore. We're in process of revamping the library to use the new authorization and work better with our platform in general. Please watch the repository for updates.


No error handling for dynamically loaded components that don't exist

🐛 Bug Report
We can't be sure that a dynamically loaded component exists before runtime so there should be a way to catch the error and and preferably fallback to another component
To Reproduce
Using the client-side example: https://github.com/gregberge/loadable-components/blob/main/examples/client-side/src/index.js

If you set one of the buttons to setName to component C (which doesn't exist)
<button type="button" onClick={() => setName('C')}>

Click the button

Error is thrown and the app crashes:
loadable-components: failed to asynchronously load component {fileName: undefined, chunkName: undefined, error: "Cannot find module './C'"}

Expected behavior
It would be nice to allow a fallback component or be able to catch the error in some way.
Link to repl or repo (highly encouraged)
https://github.com/gregberge/loadable-components/blob/main/examples/client-side/src/index.js

I think you can wrap the element in an error boundary (see react docs to see how to create it). Also, the import() syntax supports catch at the end in case the component fails to load - at least I was able to do this the other day and this error seemed to have disappeared! For example:
 Dynamic = loadable(p => import(`./${p.name}`).catch((err) => console.log(err))

.catch will be removed by the babel plugin. Please don't consider it as an option.
But ErrorBoundary sounds as a good idea 👍

ErrorBoundary would work but it still throws errors in the console. I'm not using loadable for now and I'm doing this:


Update Elkanoto to match current sklearn behavior

Match current sklearn behavior:

Save classes_
Return 0 instead of -1 in predict()
Match returned array dimensions for predict_proba() and predict()

Should address https://github.com/pulearn/pulearn/issues/20

Addresses this comment indirectly, as Elkanoto's predict_proba should now also return a 2d array:

weighted can also give this, but seems to do so less often. bagging seems fine in this respect, but it's predict_proba gives 2d arrays when the same thing gives 1d arrays on the other classifiers

Approving the run of builds / tests!
Let's see how it goes!

Codecov Report

Merging #21 (89cf94c) into master (ae228d1) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #21   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines          334       331    -3
  Branches        54        53    -1
=========================================
- Hits           334       331    -3

Impacted Files
Coverage Δ

pulearn/elkanoto.py
100.00% <100.00%> (ø)

pulearn/bagging.py
100.00% <0.00%> (ø)

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

@shaypal5 looks like the non-3.7 tests failed, but they are also failing for master?

@shaypal5 @kernc @kjappelbaum what is the status of the 3.8+ tests? Can we still merge this PR if the failing tests are due to other parts of the package?

Yeah, go ahead.
I'll open an issue on fixing 3.8+ related issues (actually stems from relying on old numpy and sklearn versions).


Split TickerRateLimiter test

One verifies that ticker fires at all, the other checks if context is checked. Otherwise it was nondeterministic which will be chosen (ticker or context).

/cc @kl52752

/lgtm

/approve
/lgtm


Windows.Devices.Printers hyperlink links to the incorrect winrt-version

Currently, the link https://docs.microsoft.com/en-us/uwp/api/windows.devices.printers will redirect to
https://docs.microsoft.com/en-us/uwp/api/windows.devices.printers?view=winrt-20348, which does not show the new API interfaces.
We should change the link to the following, so that the user can see the new interfaces without additional intervention.
https://docs.microsoft.com/en-us/uwp/api/windows.devices.printers?view=winrt-insider

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

ID: d38003a1-8fba-7709-b130-57493ec9475b
Version Independent ID: 67f50a05-3916-244c-9eb4-3a259e79bc6d
Content: Print support app design guide - Windows drivers
Content Source: windows-driver-docs-pr/devapps/print-support-app-design-guide.md
Product: windows-hardware
Technology: devapps
GitHub Login: @barrygolden
Microsoft Alias: bagold

The same is true for the https://docs.microsoft.com/en-us/uwp/api/windows.graphics.printing.workflow hperlink.

@zhit-microsoft . Thanks for pointing out.

@barrygolden , Sir  Please check and merge this PR #2834

@RAJU2529, thanks for submitting PR #2834
We're investigating this now and will update the issue when we have a resolution.

Added "?view=winrt-insider&preserve-view=true" to six print support API namespace inks in two topics:
Print support app design guide
Print support app association

@zhit-microsoft, thanks for pointing out the incorrect redirects.
@RAJU2529, thanks again for submitting PR #2834.  The links have been updated per the comment above.


How can I use this with the XAML Hosting API?

I'm using the XAML Hosting API to host UWP controls in my Win32 app. I want to use the compositor's effects like drop shadow's and point light with the UWP controls. How can I do this? Do I set up the composition interop to use the native XAML window in my win32 app or is there more I have to do?

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

ID: cb8772b4-6bef-6ce1-7bdd-7e8b90321cf5
Version Independent ID: 2fb81c9f-213c-8028-4ad0-e08c10bffd8a
Content: Modernize your desktop app using the Visual layer
Content Source: hub/apps/desktop/modernize/visual-layer-in-desktop-apps.md
Product: uwp
Technology: apps
GitHub Login: @jwmsft
Microsoft Alias: jimwalk

Actually I found a solution.
You can follow the guide to adding a custom uwp control, and in your custom control, use the compositor to create the drop shadow.


Correct translation IT

Minor correction

Already opened in https://github.com/flask-admin/flask-admin/pull/2300


"The URL can’t be shown" in the window.

See pull request #4
https://github.com/codezri/liteman/pull/4


Remove postMessage serialization

The serialization of postMessage messages (both sent and received) is not necessary, since planned changes to the storage and transfer mechanisms in the bridge module, will preclude support for IE9.
The current implementation is a hold out based on tradition. In hindsight, branching the postMessage logic was a reflexive best practice that would result in dead code for the majority of use cases and trending browser support.

Didn't know about github's awareness of gitflow within issues... WIll close this manually later. :-\


Flasher for blade rendering validation errors

Hey can you please update the documentation about how to pass the flasherInterface from view to show my validation errors, i tried checking out the blade documentation but its empty. appreciate the help.
I've created an error blade file which will render my validation errors, for now I'am using Flasher Facade, is there a better way to do this.
<?php
	use Flasher\Laravel\Facade\Flasher;
?>
    @if(isset($errors) && count($errors) > 0)
		@foreach($errors->all() as $error)
			<strong>@php Flasher::addError($error) @endphp</strong>
		@endforeach
	@endif

Hi @wcaaan, PHPFlasher does not yet support rendering notifications from blade template with this syntax, but you may use javascript for this, please cheeck this page : https://php-flasher.io/docs/framework/javascript/#-usage

Okay, Thanks


[CI] Make the technical lint jobs run at pipeline start

What does this PR do?
This PR make the technical linters runs at the start of all pipelines.
Motivation
The jobs don't need any job to run before, so we can add a needs: [] to them.
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge

/merge


Stated pybluez install error

When using: python3 -m pip install git+https://github.com/pybluez/pybluez.git#egg=pybluez#egg=pybluez
ERROR: Invalid requirement: 'pybluez#egg=pybluez'
But using: python3 -m pip install git+https://github.com/pybluez/pybluez.git#egg=pybluez
Using legacy 'setup.py install' for pybluez, since package 'wheel' is not installed.
worked.  Maybe add wheel to requirements.txt to simplify install?

When using: python3 -m pip install git+https://github.com/pybluez/pybluez.git#egg=pybluez#egg=pybluez

Specified twice:  #egg=pybluez was specified twice


Godot does not prompt to fix broken references.

Godot version
v4.0.2.stable.official [7a0977ce2]
System information
Windows 10
Issue description
When a Resource (a script file in this case), referenced in another Resource (a scene file in this case), is moved outside of Godot (for example as a result of a merge), it leaves the invalid reference.
Steps to reproduce

Create a new project
Create an scene
Add a child node
Create and attach a script to the child new
Move the script outside of Godot

Observe:
Godot still references the old path of the script. Still shows the icon to open the attached script which result in an empty text editor. And trying to show the script in the FileSystem results in an error. You will also get "File not found" error when opening the project and when executing it.
Godot does not prompt to fix the broken reference, (nor removes it, nor creates a new script file), instead it keeps the invalid reference.
Minimal reproduction project
MovedScriptTest.zip

Duplicate of #76941


Support APK fragmentation?

The library adds 30Mb to my app.
I was wondering if there was a way to exclude the ARM binary assets in a development productFlavor (since I mostly develop on emulators which are x86). I'm not sure how this works for a library.
Thoughts?

Thank you for your question. I have updated the wiki and now you can read how to exclude binaries for specific architectures https://github.com/bravobit/FFmpeg-Android/wiki/Reduce-APK-File-Size#exclude-architecture


[docs] Extend size-snapshot

New comparison table sorts by absolute diff making it easier to scan for changes
Track all components in core and lab. This should make their size snapshots a bit more stable with regards to chunks (we had some issues previously when a change in one dependency caused fluctuations for every tracked asset).
Running webpack separately on every bundle instead of declaring every bundle as an entry would be the most stable solution but increases time and is less representative of the change one sees when adding a given component to their app.
Labelled as docs since we link to it from some docs sites and I want to automate that process.
Future work:

Display size of component in material-ui/com/api/* (probably easier to do with mdx)
Explore if we can leverage lambda functions to calculate bundle size of a given demo

/core/Paper is present twice, once with 0 reported size.

The snapshot that was removed is the commonJS version. Tracking the bundle size for commonJS is not that interesting since they are only used on server(less) targets.

A few items have a /core/ prefix (TextareaAutosize, useMediaQuery, Popper). Is this expected?

Yeah but it's not really necessary. I'll remove it.

Do you know why the reported size of @material-ui/core has increased? Should it match bundlephobia.com report?

Do you know why the reported size of @material-ui/core has increased?

Probably overhead from too many chunks. I don't like it either but having individual components tracked is IMO more useful than the bundle as a whole. Nobody (should) pull this in as a whole anyway.

Should it match bundlephobia.com report?

I tend to not trust these. Everybody uses a different bundler/config so they're a bad advertising tool to begin with.


Expose the PairHMM Base Quality Score Threshold in HaplotypeCaller.

@akiezun or @eitanbanks
For some sources of data, the base qualities after recalibration are quite low.  While the data is not idea, I do still want to include base qualities below Q18 and so I added this option.  I am not sure about how to test this repo, as I ran ./gradlew test and got many tests that failed that were unrelated to this change, so perhaps you can test this PR and let me know how you did it?

@nh13 Can you explain what is the added value of this argument over min_base_quality_score?

The two arguments do two different things according to my reading of the source.  The minimum base quality score removes bases from the calculation that are below the minimum.  The base quality score threshold keeps those bases, but adjusts their quality down to the minimum usable (Q5 or a ~0.25 probability).  The latter was hard-coded to Q18 (0.015 [1.5%] probability of error).

@nh13 thanks for the PR. do you have hdf5 installed?

Oh I see, wasn't aware of the second behavior. I have no love for hardcoded thresholds, so +1 for your PR.

@akiezun I did install HDF5 (HDFView) and other dependencies as per the README.  I also downloaded the test files and I was able to build just fine (./gradlew shadowJar).

@akiezun here's my output: https://gist.github.com/nh13/4ee0ff4bfabfc6190a5d85dcb9685a84

@akiezun or @vdauwera  could someone take a look at this?  I would really like to use this feature in production rather than a custom build that hasn't been code-reviewed.

lgtm


Coordinates error when using big images

When using an image greater than 700 x 700, a resize function is used internally. The resulting bounding box coordinates correspond to the resized version of the image instead of the real one. This may lead to unexpected behavior when returning box instead of image.
For instance, suppose I'm uploading an image of size 1400 x 1400 and I actually want to crop the center with a square of size 100. The center coordinates are (700, 700) so the crop that I want is: (left=650, top=650, width=100,  height=100).
But as the image displayed is actually 700 x 700 (center (350, 350)) I'll end up with this crop instead: (left=175, top=175, width=100, height=100).
Fix: When returning box, the coordinates should be scaled according to the resize ratio.
Bellow is a small example showing an error:

I can't submit a PR right now as I've tried quite a lot of modifications on my current version of this repo so maybe I will later but as for now a quickfix would be the following inside your st_cropper function:
# Load the image and resize to be no wider than the streamlit widget size
resized_img = _resize_img(img, max_height, max_width)
resized_ratio_w = img.width / resized_img.width
resized_ratio_h = img.height / resized_img.height
img = resized_img

...
# Scaled box according to resize ratio:
rect['left']   = int(rect['left']   * resized_ratio_w)
rect['width']  = int(rect['width']  * resized_ratio_w)
rect['top']    = int(rect['top']    * resized_ratio_h)
rect['height'] = int(rect['height'] * resized_ratio_h)


The getTopicConfigs method in interface MessageStore maybe not necessary.

The issue tracker is used for bug reporting purposes ONLY whereas feature request needs to follow the RIP process. To avoid unnecessary duplication, please check whether there is a previous issue before filing a new one.
It is recommended to start a discussion thread in the mailing lists or github discussions in cases of discussing your deployment plan, API clarification, and other non-bug-reporting issues.
We welcome any friendly suggestions, bug fixes, collaboration, and other improvements.
Please ensure that your bug report is clear and self-contained. Otherwise, it would take additional rounds of communication, thus more time, to understand the problem itself.
Generally, fixing an issue goes through the following steps:

Understand the issue reported;
Reproduce the unexpected behavior locally;
Perform root cause analysis to identify the underlying problem;
Create test cases to cover the identified problem;
Work out a solution to rectify the behavior and make the newly created test cases pass;
Make a pull request and go through peer review;

As a result, it would be very helpful yet challenging if you could provide an isolated project reproducing your reported issue. Anyway, please ensure your issue report is informative enough for the community to pick up. At a minimum, include the following hints:
BUG REPORT
Map<String, TopicConfig> getTopicConfigs();
Optional<TopicConfig> getTopicConfig(String topic);

Those two methods are not belong to messageStore level, and they are set from BrokerController, and invoked from the store layer, like ConsumeQueueStore and CompactionStore. It can be removed.

Please describe the issue you observed:

What did you do (The steps to reproduce)?

What is expected to see?

What did you see instead?

Please tell us about your environment:
develop

Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):

FEATURE REQUEST

Please describe the feature you are requesting.

Provide any additional detail on your proposed use case for this feature.

Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

If there are some sub-tasks involved, use -[] for each sub-task and create a corresponding issue to map to the sub-task:

sub-task1-issue-number: sub-task1 description here,
sub-task2-issue-number: sub-task2 description here,
...

I‘d like to do this

ok.


can support unity2d sprite?

Hello @ZeroUltra, thanks for the interest in this plugin!
Yes, I will add the SpriteRenderer support in the future. Lottie animations could be nice replacement for the frame animations that are so popular right now in 2D games.

Oh yeah! I expect it so much.


file path for complex schemas

I want to create schemas in separate files (most of them complex and reusable). Is there any way to create objects with giving main schema path?

- job.json
- address.json
- person.json
  - $ref : address.json#address
  - $ref : job.json#job
var p = require('json-schema-defaults')('./person.json')

@cemtopkaya This project doesn't deal with accessing Files because it's out of its scope, and it would also prevent it from being used in a browser. What you can do is load the JSON file yourself, and pass it to the function:
var defaults = require('json-schema-defaults')
var person = require('./person.json')  // or JSON.parse(require('fs').readFileSync('./person.json'))
var p = defaults(person)

Cross references are currently not supported but you might be able to do something like
var person = require('./person.json')
person.address = require('./address.json')
person.job = require('./job.json')

var p = defaults(person)


Open Sentencing Documentation Updates

Background
Open Sentencing has existing documentation on frontend application and backend services. We would like you try out the application and suggested improvements to the documentation.
During this cohort your team members will also be making updates to the Open Sentencing application. We would like to document these new changes in our documentation as well.
Tasks
Adding new documentation

[ ] Discuss with Open Sentencing cohort members to understand changes to Open Sentencing application
[ ] Create a new issue using the documentation templates
[ ] label it  'documentation' 'ms-cohort-claimed' and assign the issue to yourself,
[ ] Discuss your changes in the issue

Related Issues:

https://github.com/Call-for-Code-for-Racial-Justice/Open-Sentencing-UI/issues/66

Fixing existing Documentation

[ ] Check out the open documentation issues
[ ] Read & follow the instructions in the Getting Started section of the readme.md to set the solution up
If any directions are unclear, outdated:
[ ] create a new issue using the documentation template
[ ] label it  'documentation' 'ms-cohort-claimed' and assign the issue to yourself,
[ ] Discuss your changes in the issue

@demilolu to add repos


How to prepare each .scp file?

I tried to format all required .scp as  . It worked for the front-end part, but I encountered some problems when doing ASR and evaluation. I wonder what the exact format of each .scp file is. especially wav_nospk_nofe.scp, wav_spk_nofe.scp, wav_nospk_fe.scp and wav_spk_fe.scp for ASR.
1~2 lines of examples should be very helpful.

Can the author provide a data preparation script? Thanks! @felixfuyihui

I tried to format all required .scp as . It worked for the front-end part, but I encountered some problems when doing ASR and evaluation. I wonder what the exact format of each .scp file is. especially wav_nospk_nofe.scp, wav_spk_nofe.scp, wav_nospk_fe.scp and wav_spk_fe.scp for ASR. 1~2 lines of examples should be very helpful.

Sorry for sosososo late reply.
scp means:"wavid wavpath".like:
wav1 /home/xxx/xxx/wav1.wav
wav2 /home/xxx/xxx/wav2.wav
wav3 /home/xxx/xxx/wav3.wav


Extend get_dims and get_param_names in model_base

Submission Checklist

[x] Run unit tests: ./runTests.py src/test/unit
[x] Run cpplint: make cpplint
[x] Declare copyright holder and open-source license: see below

Summary
Closes https://github.com/stan-dev/stanc3/issues/1240. New flags are added to these methods to allow excluding the tparams or generated quantities, and these are used in initialization.
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
Simons Foundation
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

It seems like we have a bit of a chicken-egg problem here. If we delete the older function definition from stanc before updating model_base, then the stanc3 tests will all fail, but if we generate both versions in stanc3, then PRs against Stan will fail due to the ambiguity of existing calls.
We reach a happy state only after model_base is updated and stanc3 generates only one signature, I believe. @SteveBronder - thoughts?

Jenkins passes when using https://github.com/stan-dev/stanc3/pull/1245 up until the comparisons tests, which by definition can't run since the different versions can't use the same compiler output

An @bgoodri and @hsbadr have a quick look at this and evaluate on how difficult this change will be to manage for rstan?

have a quick look at this and evaluate on how difficult this change will be to manage for rstan?

On the code side, probably nothing because of the default arguments, but at most two extra boolean arguments to get_param_names and get_dims calls.
So it's just a matter of whether it'll cause further complications with staging on CRAN for RStan and StanHeaders.

All past models will have C++ code without those flags so somehow I would
have to avoid passing them in that situation.

OK... I was just worried about the rare need for binary compatibility in the model class, but it sounds as if we are good.

@bgoodri:  Can you avoid passing them?  I couldn't tell if you were saying it would be OK for RStan or a problem.

Thanks to some work by @serban-nicusor-toptal this is now able to pass all the tests including the performance tests when tested against https://github.com/stan-dev/stanc3/issues/1240.
I'd love to see this merged before the next release


Potions duration filter in  should be on ticks, not seconds

Heres an example taked from NextGen. The "1600" is the time that the potion-effect will last, now in seconds it´s wrong, because it have a duration of 26:40 Minutes (the correct is 1:20 for the three effects). If you take the "1600" like ticks, it will be the same as said "80" seconds, that is the same as 1:20, the correct effect-duration.
For those who don´t know 20 ticks = 1 second.
<item damage="8226" potions="speed:1600:0:false;jump:1600:1:false;fast digging:1600:2:false">potion</item>

ty


syscall: Add support for syscall_ret64_arg2

Add support for syscall returning 64 bit value with 2 arguments.
Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@4880202). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #8756   +/-   ##
=========================================
  Coverage          ?   52.36%
=========================================
  Files             ?      195
  Lines             ?    24713
  Branches          ?     5136
=========================================
  Hits              ?    12940
  Misses            ?     9699
  Partials          ?     2074

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 4880202...acff05f. Read the comment docs.


fix: remove md4 patch now that webpack has it in core

🔗 Linked issue
https://github.com/webpack/webpack/pull/17628
https://github.com/nuxt/nuxt/pull/19108
❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Now that webpack has support for md4 in latest node versions, this PR removes our monkey-patch.
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

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

Comparison is base (b1e08a9) 66.13% compared to head (bbe6356) 66.20%.
Report is 1 commits behind head on 2.x.

Additional details and impacted files
@@            Coverage Diff             @@
##              2.x   #23703      +/-   ##
==========================================
+ Coverage   66.13%   66.20%   +0.07%
==========================================
  Files          93       93
  Lines        4125     4119       -6
  Branches     1171     1169       -2
==========================================
- Hits         2728     2727       -1
+ Misses       1130     1126       -4
+ Partials      267      266       -1

Flag
Coverage Δ

unittests
66.20% <ø> (+0.07%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

packages/config/src/options.js
94.77% <ø> (+1.83%)
:arrow_up:

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

Hi,
How does one use this ? As far as I see, webpack is still hardocded with md4 that still raise an error in Node 17+.

The latest webpack is no longer hardcoded with md4, but if you need to you can add the code this PR removed into your own nuxt.config within your buildModules array.

In case anyone wonders what Daniel Roe meant in detail. Add this to your nuxt.config
  buildModules: [
    ...,
    function patchMD4() {
      const crypto = require("crypto");
      const _createHash = crypto.createHash;
      crypto.createHash = function (algorithm, options) {
        return _createHash(algorithm === "md4" ? "md5" : algorithm, options);
      };
    },
  ],


UniqueValidator: option to exclude self

This is a feature request to add a boolean excludeSelf (or filterSelf) option to UniqueValidator.
Such an option is particularly useful when updating an existing record which already has the unique attribute set. Right now UniqueValidator will add an error if we update the unique value to the same value, which is not right imo. Even though the unique attribute is marked as dirty, if it is identical to the original one, it should pass validation or even skip the check entirely.
It seems to be a rather common issue:

https://stackoverflow.com/questions/40485357/skip-yii2-unique-validation-on-update-action-if-new-value-equals-to-prev-value
https://stackoverflow.com/questions/44469776/yii2-on-update-action-for-unique-attribute
https://stackoverflow.com/questions/35629904/set-unique-rule-to-a-field-on-update-action-on-yii2-rest
https://stackoverflow.com/questions/35695940/ajax-validation-unique-on-update
https://stackoverflow.com/questions/33052744/how-to-validate-data-to-unique-when-the-data-is-changed-on-update

the unique validator takes the case into account when the model is updated, so the record that is currently updated does not count as a duplicate record on update. This is also verified by a unit test:
https://github.com/yiisoft/yii2/blob/52d0d004acf96c07c3f63d4535220c4993d695c6/tests/framework/validators/UniqueValidatorTest.php#L98-L101
Can you provide some code to reproduce the problem? The links to stackoverflow does not contain useful info as far as I see.

https://stackoverflow.com/questions/40485357/skip-yii2-unique-validation-on-update-action-if-new-value-equals-to-prev-value

according to the answer the problem was due to a typo.

https://stackoverflow.com/questions/44469776/yii2-on-update-action-for-unique-attribute

unable to reproduce.

https://stackoverflow.com/questions/35629904/set-unique-rule-to-a-field-on-update-action-on-yii2-rest

unable to reproduce. The solution adds a problem that updating the field does not check for uniqueness!?

https://stackoverflow.com/questions/35695940/ajax-validation-unique-on-update

The problem here is a typo in targetClass, SmCategory vs. Smcategory.

https://stackoverflow.com/questions/33052744/how-to-validate-data-to-unique-when-the-data-is-changed-on-update

These seem to be generally confused about what they want.

I was able to pinpoint the issue. This seems to happen in a very specific situation where you have multiple unrelated unique attributes in the same model and at least 2 are marked as dirty (but identical to their original/old values!). And I think one of them has to be the primary key.
For example:
$model = Model::find()->one();
$model->markAttributeDirty('id');
$model->markAttributeDirty('another_unique_column');
$model->validate(); // will report 'another_unique_column' as taken.


Rename PodcastReleaseDate to ReleaseDate

Fixes #328.

Huh, good catch. Not sure how I managed to group that under podcasts.


Expose additional configuration values for the exponential resiliency policy

Describe the feature
The exponential backoff resiliency policy config values are somewhat restrictive. It would be helpful if we were able to configure the following values (already referenced in the code) via a resources yaml file:

initialInterval
randomizationFactor
multiplier
maxElapsedTime

We have a use-case that requires us to duplicate existing exponential backoff behavior and the above config values would allow us to achieve that, whereas the existing algorithm default values are not.
Example:
spec:
  policies:
    retries:
      PubsubComponentInbound:
        policy: exponential
        initialInterval: 1s
        randomizationFactor: 1.0
        multiplier: 2.0
        maxElapsedTime: 172800s

Release Note
RELEASE NOTE: ADD additional configuration values for the exponential resiliency policy.

cc @halspang

I'm personally ok with this change. I'd also suggest adding a jitter option that adds some randomization to the exponential backoff or you may have many clients retrying at the same time, increasing the load on the target.
CC @yaron2


perf(vm): use dynamic dispatch to enable/disable tracing of instructions

This PR introduces a dynamic dispatch mechanism to trace instructions within the VM.
This is related to #25.
Performance Considerations
I'm not yet sure whether a function pointer call is that slower or faster than a regular if/else branch. The CPU might be able to optimze the latter better because of its knowledge of the content. With this PR, we might've just removed any optimization possibility entierly.
This should be benchmark to avoid regressions.

This remains is draft until I can figure out whether this is a regression or not :) This kind of optimization is really hard to predict.


fix View.propTypes => ViewPropTypes

Fix the warning

Hi,
thanks for the PR, I did forget about this warning.
I fixed it here. I just made sure we kept compatibility with older versions of react-native.


Add Style/CollectionMethodsFilter cop

This cop prefers Enumerable#filter over Enumerable#find_all and Enumerable#select

NOTE: I'm open for suggestions. This seems like a new approach, but maybe this approach could be used in other cops when there's a difference between what rubocop detects as a failure depending on the ruby (or rails) version.
There are potential issues with this approach:
User could specify:
Style/CollectionMethods:
  PreferredMethods:
    find_all: 'select'
Style/CollectionMethodsFilter:
  PreferredMethods:
    select: 'find_all'

(maybe?)

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

I just rebased this on master @ 0.68

I've been thinking about this and I don't like adding one new cop just to handle a subset of what CollectionMethods is supposed to handle. I think we should adjust the existing cop to be a bit smarter when it comes to those 3 aliases - e.g. we can make the mapping take one or more names to account for this special case. What do you think?

@bbatsov I agree that this solution looks "hacky".
One idea that came to me when I made this approach, maybe something to think for in the future:
This approach allows us to remove all the if target_ruby_version... kind of code.
We subclass existing cop and only override methods that should act differently for different ruby (or rails) version.
It would be great if we could make this, yet keep the same cop.
In this case that would be that for ruby <= 2.5, we'd use RuboCop::Cop::Style::CollectionMethods for Style/CollectionMethods cop, while for ruby >= 2.6 we'd use RuboCop::Cop::Style::CollectionMethodsFilter cop.
I'll just leave this comment here. :D
I'm going to update this PR with a proper fix, within the existing cop.
Thanks for taking the time to look into this!


macos app run error

Hi, I run the app on MacOS，errors as following，so how to fix them?

in app/src/components/Controls/TopBar.js
fix:  localRecordingState  : PropTypes.string  -> localRecordingState  : PropTypes.object

in app/src/components/MeetingDrawer/Chat/Menu/Input.js
fix const chatItemsLength = files.length + chat.messages.length; -> const chatItemsLength = files.files.length + chat.messages.length;


Replace yaml.load() with yaml.safe_load()

Needed for use with pyyaml >=5.1 when not specifying Loader and more generally is better practice. Update require as umccrise now uses pyyaml 5.4.1 in its Conda environments.

Also reported at https://github.com/umccr/umccrise/issues/63

Nice catch!


Add support for S3 Dev Services

Dev Services support has been added by @scrocquesel here: https://github.com/quarkiverse/quarkus-amazon-services/pull/254 .


fix: versions aren't pinned and pip-compile-validate doesn't detect dependency changes

SUMMARY
A better best practice is to put all project dependencies into the requirements file instead of setup.py
so adding a new dependency will Imply running pip-compile-multi.
When adding a new dependency into setup.py, pip-comiple-multi verify will not detect the change.
this PR try to prevent issues like #15527
Actually, I adapted the way pip-compile-multi did
and you can take another reference here: pip-compile-issue
another Important issue this PR fix is the packages that were in setup.py weren't pinned versions so the client who installs superset is not guaranteed the superset's dependencies will be the same when code was merged
note - before the commit, after moving the packages from setup.py I ran pip-compile-multi --no-upgrade to ensure
that all requirements files are ok
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS
Before opening the pr, I ran tox to ensure superset init is running to prove superset was installed ( successful running the ci inside tox)
you can try run tox by yourself
in addition, if the pr checks success, it mean nothing breaks
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@ofekisr I don't believe this is the right approach. In https://github.com/apache/superset/pull/15574 I've added instructions regarding how and when users should recreate the dependencies.


Implement exit

Currently, AB3 can exit by calling "exit", perhaps we can display a message to them in PowerConnect


Flutter Widget still received event when show native view controller.

I have a main page, in this page I call native method to show native controller (UIViewController)
In my View Controller and have  a button have the same location with button show native controller in main page.
When I click button on native view controller then event onTap of button in main page still call.

@eitguide Please provide your flutter doctor -v output.
Also, please provide  a small self-contained app that demonstrates the problem. You can include small examples inline if they're enclosed by backticks, or just provide a public link to a github "gist" - https://gist.github.com/.

My flutter doctor log
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.9.1+hotfix.2, on Mac OS X 10.14.5 18F132, locale en-VN)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 11.0)
[✓] Android Studio (version 3.5)
[!] IntelliJ IDEA Community Edition (version 2019.2)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.38.1)
[✓] Connected device (2 available)
! Doctor found issues in 1 category.

I created demo project to produce this issue:
https://github.com/eitguide/PresentNativeControllerFlutterIssue

I resolved issue by change some code in AppDelegate but i don't it working :)))
import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    GeneratedPluginRegistrant.register(with: self)

    let flutterViewController = self.window.rootViewController as! FlutterViewController
    let nativeChannel = FlutterMethodChannel.init(name: "nghianv/present_controller_native", binaryMessenger: flutterViewController.binaryMessenger)

    nativeChannel.setMethodCallHandler { [weak self] (methodCall, result) in
        guard let self = self else { return }
        if(methodCall.method == "presentController") {
            let testViewController = TestViewController()
            self.window.rootViewController?.present(testViewController, animated: true, completion: nil)
            result(nil)
        }
    }

    let navigationVC = UINavigationController(rootViewController: flutterViewController)
    navigationVC.isNavigationBarHidden = true
    window.rootViewController = navigationVC
    window.makeKeyAndVisible()

    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

Hi @eitguide,
Is this still a valid issue ?
I tried to replicate the code sample you shared above, but getting below error related to MethodChannel:
[VERBOSE-2:ui_dart_state.cc(166)] Unhandled Exception: MissingPluginException(No implementation found for method presentController on channel nghianv/present_controller_native)
If issue still persists, can you provide a complete minimal code sample ?
Thanks.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


[move-vm] refactor the module loading logic

This commit is the first step towards refactoring the module loading
logic in the Move VM loader.
We model the dependency relations of the modules in the storage as a
directed graph G:

each module is a node
There are two types of edges G:

Dep edge: A -d-> B, means that module A depends on B (by calling a
function in B or using a type defined in B)
Friend edge: A -f-> B, means that module A declares that B is a
friend of A

We further define some notion about G:

A dep closure of module A, denoted as D(A), is the set of modules in
G that are reachable from A by following only the dep edge -d->
A complete closure of module A, denoted as C(A), is the set of modules
in G that are reachable from A by following both the dep edge and the
friend edge.
Additionally, we define that if a module F is a immediate friend of
any module in D(A) and F does not belong to D(A), then, F is in the
friendship frontier of D(A). The friendship frontier is a set of
modules like F and is denoted as FF(D(A)).

The code cache will maintain the following invariant:

At the end of a module loading session, if a module A is found in the
code cache, then

all modules in C(A) are in the code cache
all modules in C(A) pass the bytecode verifier
all modules in C(A) pass the linking check
all modules in C(A) do not form a cycle from the view point of the
cyclic dependency checker (NOTE: different from the notion here,
the cyclic dependency checker actually reverses the direction of
the friend edge when checking for cycles.)

If any of the property does not hold, a VMError will be returned and
the code cache will be in a state that 2) and 3) continue to hold,
there is no guarantee that 1) and 4) will hold. (Even in 2 and 3, the
C(A) is a subset of the actual closure).

The core logic can be simplified as following:
procedure load_module_closure(A):
  load all modules in D(A) into code cache
  calculate FF(D(A))
  for each module F in FF(D(A)):
    load_module_closure(F)

end of procedure if successful: all modules in C(A) are in code cache

This logic is encapsulated in the following three functions:

load_and_verify_module

Load, deserialize, and check the module with the bytecode verifier.
All checks are performed with regard to the module itself.
If successful, return the CompiledModule

load_and_verify_module_and_dependencies
(together with a co-recursive function load_and_verify_dependencies)

This function recursively finds and loads all modules in D(A) into
the code cache.

load_and_verify_module_and_dependencies_and_friends
(together with a co-recursive function load_and_verify_friends)

This function recursively calculates FF(D(A)) and loads all modules
in the new friendship frontier into the code cache. Until the
friendship frontier has no modules. When this happens, all modules
in C(A) are in the code cache.

Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Tests for bad/inconsistent storage states are scattered across several testsuites, including

move-vm-integration-test
e2e-testsuite
move-cli tests

None of the existing tests should fail. Furthermore, pay attention to the E2E tests in CI, they should complete within 35 minutes (normally between 29-31 minutes).

Question about the algorithm and the definition of D(A), C(A) and FF(D(A)):
If I'm understanding correctly, right now we're being as eager as we can, pulling all modules into the code cache, then we do we need to differentiate the dep edges and friend edges? Can't we just grab transitive closure reachable through either type of the edges? Is it because we need to allow cycles with friend edges?

Can't we just grab transitive closure reachable through either type of the edges?

This is actually what we are doing at the end of the loading, i.e., all the modules in the transitive closure are in the code cache. The reason we follow the algorithm
But that said, thanks for the question! I forgot to explain why we are using the algorithm of D(A), C(A), etc, instead of using this simple approach. It is mainly for performance reasons, to be specific, to preserve the order in which modules are loaded into the code cache.
If we grab everything in the transitive closure into memory first, we still need to run a procedure to sort the modules in dependency order and then insert them to code cache. In the algorithm described above, the exploration process preserves the dependency order (i.e., the exploration process is the algorithm to sort modules in order), as a result, whenever a module finishing linking check, that module can be inserted into the code cache already.

If we grab everything in the transitive closure into memory first, we still need to run a procedure to sort the modules in dependency order and then insert them to code cache.
I see. And I assume this is because items in a module need to be globalized before those in the ones that are depending on it.

Nice consideration!

It is mainly for performance reasons, to be specific, to preserve the order in which modules are loaded into the code cache.

Actually, on a second thought -- while I still fully agree that the traversal algorithm should preserve the order, I'm wondering if we can decouple module discovery (traversal) and verification.
Let's say we have the following graph:
A
|
v
B => C -> E
     |
     v
     D

# -> depending on
# => friend

The current algorithm will

Try to load and verify B, and checks that friend C exists
load and verify A
load and verify D
load and verify E
load and verify C

Could we instead have a traversal procedure that simply gathers a (generalized) topological sort of the modules:
[B, A, D, E, C]

And then try to verify and globalize each of the modules in sequence?
I think it was brought up in the meeting that it was kinda weird that we were interleaving the loading and verification process, and I wonder if the alternative algorithm I proposed would cut down some of its complexities.

/land


Hide option in column menu

Sometimes screen space is limited and you need to be able to show a column, change it and then hide it.

The request would be to hide the entire column then? I do not get it well, sorry

Yes, hide the column

the problem with that its to create another UI to enable again the column, maybe inside database config. That makes sense?

I guess the configuration window is the easiest option, but I would try to avoid having to open a lot of configuration, I think it is more agile and intuitive to do everything possible from the table itself.
I've been looking at notion and they solve it with the typical 3 dots icon next to the + icon.
Maybe something similar could be a good option, but I guess there are a lot of priorities first.

The 3 dots could be the database config itself. We can show the hidden columns inside columns section , so you can enable them again

Yeah, it's really the same thing haha
The only difference is that it's cleaner, but I think it's a good solution.

it is to follow the aesthetic line of Obsidian plugins, in fact, the css button will be moved to that 3 dots too someday

Yes, that's perfect. Thank you very much

Just a proposition, but current behavior of the plugin when remove fields is disabled in db settings is exactly what hiding a column is.
So, I'm proposing to :

switch the default behavior of detele to deleting metadata and column,
add another option hide (like in the picture above) to delete the column but not the metadata behind it.

When it comes to re-enabling the column, I believe the idea in #112 would solve this.
What do you think @RafaelGB ?

@imeed166 thanks for your idea.
Could be interesting, but my idea for 112 its another button that display a modal like Notion and choose the columns that you want to add.
It would be a refactor of the actual new column button to show an Obsidian way of this

I see, but that would still work for re-enabling previously deleted column with existing metadata.
I just think that there should be one place to add a column that have metadata instead of having one in the new column botton and one in db settings, to avoid users getting confused.

I think notion is very well planned in the design, maybe it would be good to try to do something similar. I don't know if this is possible or too complicated

The hide option as you said could be the "delete without remove all the fields inside the files". In the future modal will be 2 buttons with every column. Hide & delete

yeah, this will not be another settings option, will be a new modal that replace the actual new column button

Great, thanks for taking my ideas into consideration.

final design. I think its cool =)
https://user-images.githubusercontent.com/11924043/184692085-91b586ff-033d-4175-8c99-7723ce043acd.mov


AMBARI-23289. Add SSO integration support information to service information via Ambari's REST API (amagyar)

What changes were proposed in this pull request?
SSO related information (enabled, supported, desired) was added to the REST output of stack services and installed services.
Fields are calculated as follows:

supported comes from service metainfo (<sso><supported>true</supported>)
desired comes from ambari configuration called ambari.sso.enabled_services
enabled comes from service config where the config-type/property-name comes from service metainfo.

How was this patch tested?
Manually updated metainfo.xml of an existing service
    <service>
      <name>ZOOKEEPER</name>
      <version>3.4.6</version>
        <sso>
             <supported>true</supported>
             <enabledConfiguration>zoo.cfg/my-sso</enabledConfiguration>
        </sso>
    </service>

used the following curl command to update ambari.sso.enabled_services.
$ curl -i -v -uadmin:admin -H "X-Requested-By: ambari" -X POST --data @sso-conf.json  http://c7401:8080/api/v1/services/AMBARI/components/AMBARI_SERVER/configurations

$ sso-conf.json

{
  "Configuration": {
    "category" : "sso-configuration",
    "properties": {
        "ambari.sso.enabled_services": "ZOOKEEPER"
     }
  }
}

Checked the outout of REST API calls like:

/api/v1/stacks/HDP/versions/2.6/services/ZOOKEEPER
/api/v1/clusters/cluster18/services/ZOOKEEPER

cc: @smolnar82

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1274/
Test FAILed.
Test FAILured.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1303/
Test FAILed.
Test FAILured.

1416589 [ERROR] Tests run: 9, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 54.295 s <<< FAILURE! - in org.apache.ambari.server.security.authorization.AmbariLdapAuthenticationProviderTest
1416589 [ERROR] org.apache.ambari.server.security.authorization.AmbariLdapAuthenticationProviderTest  Time elapsed: 2.121 s  <<< ERROR!
java.io.FileNotFoundException: /tmp/server-work-AmbariLdapAuthenticationProviderTest/log/revision (No such file or directory)

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1349/
Test FAILed.
Test FAILured.

test failures is not related to this change


disable: allow to disable due to checksum mismatch

The rationale is that a checksum mismatch is a huge security issue.
This means that the current source file, but maybe the initial one,
might have been compromised.
In the case upstream does not respond quickly to clarify what happened,
or fails to respond, we can now rev-bump the formula, disable and unbottle it,
making sure we stop delivering the potentially malicious code
Further improvements:

Add the url of the project in the error message to redirect users to
the closed pull request where we disabled this, to centralize the discussion
and avoid the opening of multiple new issues

Add a warning on brew-update that something is fishy upstream

[x] Have you followed the guidelines in our Contributing document?

[x] Have you checked to ensure there aren't other open Pull Requests for the same change?

[x] Have you added an explanation of what your changes do and why you'd like us to include them?

[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew typecheck with your changes locally?

[ ] Have you successfully run brew tests with your changes locally?

Review period will end on 2021-11-16 at 19:26:27 UTC.

Makes sense to me 👍🏻

Review period skipped due to critical label.


[feature] Redirect HTTP to HTTPS

Description
As a developer, I want to use Vite with https: true (primarily for HTTP2 support), but I often start typing "localhost" in my browser address bar and hitting enter, forgetting to change the protocol to https. This results in an error, and I have to go back and edit the protocol portion of the URL. I do this multiple times a day.
Suggested solution
In the server config, we could provide an option to provide a 302 (temporary) redirect response to any non-TLS requests on the server's port to send the browser to the same URL, but with https://.
This way, when switching from one to the other, one's browser history, bookmarks, address bar, etc. will still work fluently when switching to https.
The same could potentially happen the other way for https: false users, but that would require a certificate, which would add significant complexity.
I know nothing about "connect", but I believe this might be as simple as something like:
const redirect = require('connect-redirection');

// Redirect all HTTP requests to HTTPS on the same port
app.use((req, res, next) => {
  if (req.headers['x-forwarded-proto'] !== 'https') {
    return res.redirect(`https://${req.headers.host}${req.url}`);
  }
  next();
});

Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

You could press o in the terminal which starts vite dev to open the dev page with a protocol of https if server.https is set to true.

A server can't listen to two protocols at once without creating two separate servers, and I don't think Vite should be doing that by default, especially there's a possibility someone intentionally has another http server for a reason.
Going with fi3ework's solution would be the easiest for now. You could also write a Vite plugin to spin up the second http server to redirect to the https server if you prefer.


Find an appropriate data element description with scoop and filter

Adds 'text' to xml

and adds  to html

Submitter:

[x] This pull request describes why these changes were made.
[x] Code diff has been done and been reviewed
[x] Tests have been run locally and pass

Reviewer 1:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Would potentially recommend putting the text code name inside the code section of the html  patient view (instead of above), but looks good/very helpful!


Consider adding options list to readme

Similar to how whisper.cpp has listed in it's quick start. A nice overview of all the options (I know you can just run the command and it'll output them in the terminal as well. But it would nice if it was documented in the readme as well)
https://github.com/ggerganov/whisper.cpp#quick-start

Hi. There is a  "Usage" section in https://github.com/Softcatala/whisper-ctranslate2 which covers this.

Which just points to using the cli to get the options list. I just wanted
to suggest that maybe the list could also be in the readme itself
On Fri, May 12, 2023, 06:50 Jordi Mas @.***> wrote:

Closed #38 https://github.com/Softcatala/whisper-ctranslate2/issues/38
as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/Softcatala/whisper-ctranslate2/issues/38#event-9228896555,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHWUMU7FFEKFPZRDTSK4DLXFW6PXANCNFSM6AAAAAAX6VBCHU
.
You are receiving this because you authored the thread.Message ID:
@.***
com>


Regent: set_variant_id() sets variant for both LOC_PROC and IO_PROC tasks

Setting the variant id for a task by doing task:get_primary_variant():set_variant_id(1) currently sets the id for both the LOC_PROC variant and the IO_PROC variant when it should only be done for the LOC_PROC one. Setting the same variant id for both types causes the runtime to lose track of the LOC_PROC variant.

Should be fixed by 6f4e80a6b00384f7c7816f8ba584fa163dd059ef.


Fixing an error building with CUDA on windows

Actually, with #1993 this should not be needed any more. Should I land that diff?

I think this may still be necessary for Windows. I still get the same error as before (lots of unresolved external symbols in cuda and cuDNN libraries) after rebasing onto #1993.

LGTM. Test failure inspected separately. Merging.


I got an error after updating my project to angular 15

I use angular 15.0.2
cdk 15.0.1
node 16.18.x
and got an error while I deploy my app.
#12 5.611 npm ERR! code ERESOLVE
#12 5.615 npm ERR! ERESOLVE could not resolve
#12 5.615 npm ERR!
#12 5.615 npm ERR! While resolving<EMAIL_ADDRESS>#12 5.616 npm ERR! Found<EMAIL_ADDRESS>

@cfgi-lul Fixed in<EMAIL_ADDRESS>(It was just a peer dependency issue - there's no real changes to 2.1.0)


Implementations of innerSerialize lack proper namespace

(Concerning marklogic-java-client in 6.1.0) The StructuredQueryBuilder currently only allows to serialize a given StructuredQueryDefinition into a String. In cases in which the query needs to be embedded into another XML this makes it necessary to parse the query again.
Here I would kindly request the following feature: Could you please create a public accessible method like:
StructuredQueryBuilder#serialize(XMLStreamWriter) ?
This would vastly improve the possibilities for serialization. For instance org.jdom2.input.StAXStreamWriter could be used to directly serialize a query into a JDOM.
Meanwhile to get access to the method https://github.com/marklogic/java-client-api/blob/c3dc589ca19ce8d8608310ed4cba5b50146fe768/marklogic-client-api/src/main/java/com/marklogic/client/query/StructuredQueryBuilder.java#L1239 we subclassed StructuredQueryBuilder.
By using org.jdom2.input.StAXStreamWriter we noticed, that the namespaces are wrong. What should look like
<query
    xmlns="http://marklogic.com/appservices/search"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <word-query>
        <field name="title"/><text>Test</text>
    </word-query>
</query>

was created as:
<query xmlns="http://marklogic.com/appservices/search"
    xmlns:search="http://marklogic.com/appservices/search">
    <word-query xmlns="">
        <field name="title"/><text>Test</text>
    </word-query>
</query>

Notice how the default namespace on word-query is reset.
If not mistaken I would believe this is due to the fact that the elements (like the word-query) are created with no namespaceUri. c.f. https://github.com/marklogic/java-client-api/blob/c3dc589ca19ce8d8608310ed4cba5b50146fe768/marklogic-client-api/src/main/java/com/marklogic/client/query/StructuredQueryBuilder.java#L1851 this should be instead
serializer.writeStartElement(SEARCH_API_NS, "word-query");

Shouldn't it?

Hi @ralfhergert - to confirm, I think you are identifying an enhancement and a bug:

Allow for serializing a query via an XMLStreamWriter.
The existing serialization has a bug where query elements incorrectly have no namespace as opposed to the search namespace.

Is that correct?
For the first item - just to clarify, the existing serialize method is a member of AbstractStructuredQuery, not StructuredQueryBuilder. So I believe your request would be to add serialize(XMLStreamWriter) to AbstractStructuredQuery, right?

Hi @rjrudin. Yes my issue is both, a feature request and a bug issue. I think they are connected: as soon as a method like serialize(XMLStreamWriter) exists it gets substantial that the correct events are being produced.
Concering the class, since AbstractStructuredQuery is an internal (non public) class, so it might not be the right place. The right place might be the interface StructuredQueryDefinition. This interface also declares the parameter-less serialize-method.

Thanks @ralfhergert , you're right - StructuredQueryDefinition is the correct location.
We've captured both the enhancement request and the bug report. We'll let you know soon about either a 6.1.x bug release for the latter or a 6.2.0 for both.

Hi @ralfhergert - we're planning our 6.2.0 release and looking to include this. Just wanted to confirm - when I use the existing serialize() method to write a query to a String, I don't run into any issues with incorrect namespaces. So the existing serialize() feature seems to be working correctly. The bug you pointed out then is something we're likely to run into when we try to support serialize(XMLStreamWriter), correct?
So basically, this is an enhancement request to support serialize(XMLStreamWriter), and you're also giving us a heads' up that we may run into issues with incorrect namespaces in the output of that method?

Thank you for the notification, Rob Rudin!
I'm looking forward to 6.2.0 and will come back if issues arrise.
Best regards
Am Di., 28. März 2023 um 15:12 Uhr schrieb Rob Rudin <
@.***>:

Hi @ralfhergert https://github.com/ralfhergert - we're planning our
6.2.0 release and looking to include this. Just wanted to confirm - when I
use the existing serialize() method to write a query to a String, I don't
run into any issues with incorrect namespaces. So the existing serialize()
feature seems to be working correctly. The bug you pointed out then is
something we're likely to run into when we try to support
serialize(XMLStreamWriter), correct?
So basically, this is an enhancement request to support
serialize(XMLStreamWriter), and you're also giving us a heads' up that we
may run into issues with incorrect namespaces in the output of that method?
—
Reply to this email directly, view it on GitHub
https://github.com/marklogic/java-client-api/issues/1537#issuecomment-1486863962,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDY7UDT4PSWZ7BT2CR2L4DW6LPTXANCNFSM6AAAAAAVU7BS2Q
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Viele Grüße
Ralf Hergert
Ferdinand-Weiß-Str. 123a
79106 Freiburg
+49<PHONE_NUMBER>6
+49<PHONE_NUMBER>

Hey @ralfhergert  - we're planning our 6.2.0 release and looking to include this. Do you have a code snippet to share where you're using org.jdom2.input.StAXStreamWriter? I'm thinking that would be a good test case for us.

@ralfhergert  Take a look at the simple test I wrote in https://github.com/marklogic/java-client-api/commit/43736798d8af1fe0aa122e3d1baebca4042cae37 . That produces the correct result, but it relies on the user doing the following:

Must call factory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, true); in order for a default namespace to work correctly.
Must set the default namespace to the Search namespace - serializer.setDefaultNamespace(SEARCH_NS);.
And then the kicker - it appears necessary to wrap the serialized query in an element in the Search namespace - e.g. serializer.writeStartElement(SEARCH_NS, "theMarkLogicQuery");.

If you do that, then serialize(XMLStreamWriter) will work correctly.
I'm wondering if those requirements are feasible for you though - particularly the need for a wrapper element.
If not, I am thinking it would be necessary to modify the existing serialization implementation so that the Search namespace is always applied when an element is started. That's feasible, I just wanted to check on the above approach with you first.

Hmm - having said the above, it looks simple to just modify the few dozen places where the Java Client starts an element so that the Search namespace is always used. I can't think of any downsides to this. I did some testing of this with a default namespace, and STaX behaves the way you'd expect - i.e. if the default namespace is the Search namespace, it won't e.g. create a new namespace prefix or anything funky like that.
So I'm now thinking the right way to address this is:

Expose serialize(XMLStreamWriter) in StructuredQueryDefinition.
Ensure that the Search namespace is applied to each element regardless of how the above method is used.

@ralfhergert  Sorry one more question - is your use case here to construct a combined query document - e.g. https://docs.marklogic.com/guide/rest-dev/search#id_84389 - using STaX? Or are you constructing some other kind of document?

@ralfhergert  6.2.0 is now available, though we're still in the process of updating the Javadocs. But the method you're looking for is now there.


Add higher level environment handling

Adds higher level environment handling, decoupling layer environment variables from the filesystem. This is the first step towards a declarative API for layer environment variables where buildpack authors don't have to write environment variables to disk, greatly improving testability due to no side-effects.
In a nutshell, this implements the layer environment variable handling that is done in the CNB lifecycle at runtime. I ported over the relevant tests from the CNB lifecycle source to ensure testing parity.
This will be integrated into layer lifecycles in a dedicated PR (let's face it, this PR is already too large).
Please refer to the included RustDoc for an overview how this works and is used. I copied the RustDoc for LayerEnv below:
LayerEnv RustDoc
Represents environment variable modifications of a Cloud Native Buildpack layer.
Cloud Native Buildpacks can add a special directory to their layer directories to modify the
environment of subsequent buildpacks, the running container or specific processes at launch.
The rules for these modifications are described in the relevant section of the specification.
This type decouples this information from the file system, providing a type-safe in-memory
representation of the environment delta that is specified in the env/* directories of a layer.
Using this type, libcnb can provide declarative APIs that enable buildpack authors to easily
test their layer environment variable logic since they no longer write them to disk manually.
One use-case are environment variables that are modified by a layer that are required by the
same buildpack in later stages of the build process. For example, a buildpack might install a
build tool (i.e. Apache Maven) in one layer and adding the main binary to PATH via the env
directory of that layer. The same buildpack then wants to execute Maven to download dependencies
to a different layer. By using LayerEnv, the buildpack can encode these changes in a
type and, in addition to passing it to libcnb which will persist it to disk, pass it to the
logic that uses the build tool to download dependencies. The download process does not need to
know the layer name or any logic how to construct PATH.
Applying the delta
LayerEnv is not a static set of environment variables, but a delta. Layers can modify existing
variables by appending or prepending or setting new ones only conditionally. If you only need a
static set of environment variables, see [Env].
To apply a LayerEnv delta to a given Env, use [LayerEnv::apply] like so:
use libcnb::layer_env::{LayerEnv, TargetLifecycle, ModificationBehavior};
use libcnb::Env;

let mut layer_env = LayerEnv::empty();
layer_env.insert(TargetLifecycle::All, ModificationBehavior::Append, "VAR", "bar");
layer_env.insert(TargetLifecycle::All, ModificationBehavior::Default, "VAR2", "default");

let mut env = Env::empty();
env.insert("VAR", "foo");
env.insert("VAR2", "previous-value");

let modified_env = layer_env.apply(TargetLifecycle::Build, &env);
assert_eq!(modified_env.get("VAR").unwrap(), "foobar");
assert_eq!(modified_env.get("VAR2").unwrap(), "previous-value");

Implicit Entries
Some directories in a layer directory are be implicitly added to the layer environment if they
exist. The prime example for this behaviour is the bin directory. If it exists, its path will
be automatically appended to PATH using the operating systems path delimiter as the delimiter.
A full list of these special directories can be found in the
Cloud Native Buildpack specification.
libcnb supports these, including all precedence and lifecycle rules, when a LayerEnv is read
from disk:
use libcnb::layer_env::{LayerEnv, TargetLifecycle};
use tempfile::tempdir;
use libcnb::Env;
use std::fs;

// Create a bogus layer directory
let temp_dir = tempdir().unwrap();
let layer_dir = temp_dir.path();
fs::create_dir_all(layer_dir.join("bin")).unwrap();
fs::create_dir_all(layer_dir.join("include")).unwrap();

let layer_env = LayerEnv::read_from_layer_dir(&layer_dir).unwrap();

let env = Env::empty();
let modified_env = layer_env.apply(TargetLifecycle::Launch, &env);

assert_eq!(modified_env.get("PATH").unwrap(), layer_dir.join("bin"));
assert_eq!(modified_env.get("CPATH"), None); // None, because CPATH is only added during build

Gus-W-9528533

Thank you @edmorley for the spelling and sentence structure corrections!

I've created GUS-W-9959585 to track adding the next part of this.


[js] wrong path for datapackage

Right now the datapackage path requested for core publisher and demo-package is:
/core/metadata/core/demo-package/_v/latest/datapackage.json
but it supposed to be:
/metadata/core/demo-package/_v/latest/datapackage.json

Addressed in https://github.com/frictionlessdata/dpr-api/issues/159 and fixed


Error building in docker (Can't call method "color" on an undefined value)

i have this Dockerfile
FROM perl:latest

ENV PATH=/usr/local/bin:$PATH

RUN apt-get update && apt-get install -y postgresql-client
RUN cpan App::Sqitch DBD::Pg

VOLUME ["/src"]
WORKDIR /src

i know i was able to build it a while ago like this, but something has changed and now the tests fail with a warning.
I have no idea how my local configs could affect this since it's happening in docker.
Thank for looking at this
  DWHEELER/URI-db-0.18.tar.gz
  ./Build install  -- OK
  DWHEELER/App-Sqitch-0.9996.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/App-Sqitch-0.9996-0
  DWHEELER/App-Sqitch-0.9996.tar.gz
  Has already been prepared
Running Build for D/DW/DWHEELER/App-Sqitch-0.9996.tar.gz
Building App-Sqitch
  DWHEELER/App-Sqitch-0.9996.tar.gz
  ./Build -- OK
Running Build test
t/add.t ............. ok
t/base.t ............ ok
t/blank.t ........... ok
t/bundle.t .......... ok
t/change.t .......... ok
t/changelist.t ...... ok
t/checkout.t ........ ok
t/command.t ......... ok
t/config.t .......... ok
t/configuration.t ... ok
t/datetime.t ........ ok
t/depend.t .......... ok
t/deploy.t .......... ok
t/engine.t .......... ok
t/engine_cmd.t ...... ok
t/firebird.t ........ ok
t/help.t ............ ok
t/init.t ............ ok
t/item_formatter.t .. ok
t/linelist.t ........ ok
Can't call method "color" on an undefined value at t/log.t line 171.

#   Failed test 'no warnings'
#   at /usr/local/lib/perl5/site_perl/5.26.0/Test/Builder.pm line 158.
# There were 1 warning(s)
# 	Previous test 28 'Configuration should respect --no-color even when configure is set'
# 	Arguments for _merge_hashes must be hash references at /root/.cpan/build/App-Sqitch-0.9996-0/blib/lib/App/Sqitch/Command.pm line 129.
#  at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 227.
# 	Hash::Merge::_merge_hashes(Hash::Merge=HASH(0x55b7a38224c0), App::Sqitch::ItemFormatter=HASH(0x55b7a3823e38), App::Sqitch::ItemFormatter=HASH(0x55b7a3824000)) called at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 37
# 	Hash::Merge::__ANON__(App::Sqitch::ItemFormatter=HASH(0x55b7a3823e38), App::Sqitch::ItemFormatter=HASH(0x55b7a3824000)) called at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 214
# 	Hash::Merge::merge(Hash::Merge=HASH(0x55b7a38224c0), App::Sqitch::ItemFormatter=HASH(0x55b7a3823970), App::Sqitch::ItemFormatter=HASH(0x55b7a3822448)) called at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 237
# 	Hash::Merge::_merge_hashes(Hash::Merge=HASH(0x55b7a38224c0), HASH(0x55b7a3820350), HASH(0x55b7a3822b80)) called at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 37
# 	Hash::Merge::__ANON__(HASH(0x55b7a3820350), HASH(0x55b7a3822b80)) called at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 214
# 	Hash::Merge::merge(Hash::Merge=HASH(0x55b7a38224c0), HASH(0x55b7a3820008), HASH(0x55b7a3820008)) called at /root/.cpan/build/App-Sqitch-0.9996-0/blib/lib/App/Sqitch/Command.pm line 129
# 	App::Sqitch::Command::configure("App::Sqitch::Command::log", App::Sqitch::Config=HASH(0x55b7a2305f08), HASH(0x55b7a3820008)) called at /root/.cpan/build/App-Sqitch-0.9996-0/blib/lib/App/Sqitch/Command/log.pm line 190
# 	App::Sqitch::Command::log::configure("App::Sqitch::Command::log", App::Sqitch::Config=HASH(0x55b7a2305f08), HASH(0x55b7a3820008)) called at t/log.t line 170
#
# Looks like your test exited with 255 just after 29.
t/log.t .............
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 224/252 subtests
t/mooseless.t ....... ok
t/mysql.t ........... ok
t/options.t ......... ok
t/oracle.t .......... ok
t/pg.t .............. ok
t/plan.t ............ ok
Can't call method "color" on an undefined value at t/plan_command.t line 160.

#   Failed test 'no warnings'
#   at /usr/local/lib/perl5/site_perl/5.26.0/Test/Builder.pm line 158.
# There were 1 warning(s)
# 	Previous test 25 'Configuration should respect --no-color even when configure is set'
# 	Arguments for _merge_hashes must be hash references at /root/.cpan/build/App-Sqitch-0.9996-0/blib/lib/App/Sqitch/Command.pm line 129.
#  at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 227.
# 	Hash::Merge::_merge_hashes(Hash::Merge=HASH(0x557ce53e2dd0), App::Sqitch::ItemFormatter=HASH(0x557ce53e9a20), App::Sqitch::ItemFormatter=HASH(0x557ce53e9be8)) called at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 37
# 	Hash::Merge::__ANON__(App::Sqitch::ItemFormatter=HASH(0x557ce53e9a20), App::Sqitch::ItemFormatter=HASH(0x557ce53e9be8)) called at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 214
# 	Hash::Merge::merge(Hash::Merge=HASH(0x557ce53e2dd0), App::Sqitch::ItemFormatter=HASH(0x557ce53e93f0), App::Sqitch::ItemFormatter=HASH(0x557ce53e5a18)) called at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 237
# 	Hash::Merge::_merge_hashes(Hash::Merge=HASH(0x557ce53e2dd0), HASH(0x557ce53e5b98), HASH(0x557ce53e9000)) called at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 37
# 	Hash::Merge::__ANON__(HASH(0x557ce53e5b98), HASH(0x557ce53e9000)) called at /usr/local/lib/perl5/site_perl/5.26.0/Hash/Merge.pm line 214
# 	Hash::Merge::merge(Hash::Merge=HASH(0x557ce53e2dd0), HASH(0x557ce53e3850), HASH(0x557ce53e3850)) called at /root/.cpan/build/App-Sqitch-0.9996-0/blib/lib/App/Sqitch/Command.pm line 129
# 	App::Sqitch::Command::configure("App::Sqitch::Command::plan", App::Sqitch::Config=HASH(0x557ce3ed3e20), HASH(0x557ce53e3850)) called at /root/.cpan/build/App-Sqitch-0.9996-0/blib/lib/App/Sqitch/Command/plan.pm line 179
# 	App::Sqitch::Command::plan::configure("App::Sqitch::Command::plan", App::Sqitch::Config=HASH(0x557ce3ed3e20), HASH(0x557ce53e3850)) called at t/plan_command.t line 159
#
# Looks like your test exited with 255 just after 26.
t/plan_command.t ....
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 202/227 subtests
t/pragma.t .......... ok
t/rebase.t .......... ok
t/revert.t .......... ok
t/rework.t .......... ok
t/show.t ............ ok
t/sqlite.t .......... ok
t/status.t .......... ok
t/tag.t ............. ok
t/tag_cmd.t ......... ok
t/target.t .......... ok
t/target_cmd.t ...... ok
t/upgrade.t ......... ok
t/verify.t .......... ok
t/vertica.t ......... ok
t/x.t ............... ok

Test Summary Report
-------------------
t/log.t           (Wstat: 65280 Tests: 29 Failed: 1)
  Failed test:  29
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 252 tests but ran 29.
t/plan_command.t  (Wstat: 65280 Tests: 26 Failed: 1)
  Failed test:  26
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 227 tests but ran 26.
Files=43, Tests=6270, 44 wallclock secs ( 1.14 usr  0.19 sys + 37.48 cusr  4.06 csys = 42.87 CPU)
Result: FAIL
Failed 2/43 test programs. 2/6270 subtests failed.
  DWHEELER/App-Sqitch-0.9996.tar.gz
  ./Build test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports DWHEELER/App-Sqitch-0.9996.tar.gz

Updated all CPAN modules and replicated this bug. Digging…

Looks like a recent update to Hash::Merge is the culprit. Filed perl5-utils/Hash-Merge#7 and will update based on what I learn there.

thank you!
good to know i am not crazy :) have been trying all sorts of combinations to get it to build. It was especially strange since i was able to build it yesterday in the morning and then later it started failing.

is there a way I can pin sqitch at a particular version to avoid this? Or will it always update using the latest Hash-Merge?

i am not sure what that error is about, maybe it's only related to how the tests are written so for now i am installing sqitch without running tests like this:
https://github.com/subzerocloud/subzero-cli/blob/master/Dockerfile#L25

Yeah, just skip the tests for now. It's not a bug in sqitch. Will fix once I hear back on perl5-utils/Hash-Merge#7.

great, thanks for the beneficial context @ruslantalpa and @theory

Just ran into the same issue today.  Thanks for reporting @ruslantalpa and the quick follow-up upstream @theory!
[ I've elected to "pin" Hash::Merge to the previous release for the time being:  cpanm<EMAIL_ADDRESS>App::Sqitch ]

That's probably a better choice, since the newer version might actually break Sqitch functionality.

Looks like Hash::Merge 0.299 fixes the issue, according to perl5-utils/Hash-Merge#7 and my quick test. Please upgrade and give it a try.

works for me 👍
cpanm --verbose --no-interactive --no-man-pages DBD::Pg App::Sqitch
(thank you so much for this software)
Building and testing App-Sqitch-0.9996 ... Building App-Sqitch
t/add.t ............. ok
t/base.t ............ ok
t/blank.t ........... ok
t/bundle.t .......... ok
t/change.t .......... ok
t/changelist.t ...... ok
t/checkout.t ........ ok
t/command.t ......... ok
t/config.t .......... ok
t/configuration.t ... ok
t/datetime.t ........ ok
t/depend.t .......... ok
t/deploy.t .......... ok
t/engine.t .......... ok
t/engine_cmd.t ...... ok
t/firebird.t ........ ok
t/help.t ............ ok
t/init.t ............ ok
t/item_formatter.t .. ok
t/linelist.t ........ ok
t/log.t ............. ok
t/mooseless.t ....... ok
t/mysql.t ........... ok
t/options.t ......... ok
t/oracle.t .......... ok
t/pg.t .............. ok
t/plan.t ............ ok
t/plan_command.t .... ok
t/pragma.t .......... ok
t/rebase.t .......... ok
t/revert.t .......... ok
t/rework.t .......... ok
t/show.t ............ ok
t/sqlite.t .......... ok
t/status.t .......... ok
t/tag.t ............. ok
t/tag_cmd.t ......... ok
t/target.t .......... ok
t/target_cmd.t ...... ok
t/upgrade.t ......... ok
t/verify.t .......... ok
t/vertica.t ......... ok
t/x.t ............... ok
All tests successful.


override components

maybe a good idea? avoid loop.
https://forum.getkirby.com/t/cashbusting-files-to-template/12809/4?u=bnomei

i like using the classes explicit better


Create alchitems

Updated PR for alch items plugin - Plugin that shows you the best items to high alch!
I removed item trade volume for now, will consider it as a future update once I decide the best route to take

Updated with user agent
Also with a future update I'm hoping to add item trade volume information in so i'd need a way of doing that anyway
At the moment it only takes a few seconds to fetch and parse the data so by the time runelite has fully loaded the plugin is pretty much ready

The wiki asks that all requests to it have a ua set. Also you can get all of this information from the ItemManager so you don't need to request anything in the first place.

I can add user agent
You can get some of the information but what about trade limit for example? Also there would be no way of knowing which items you should query through item manager without querying them all and checking profit surely?

We scrape trade limits from the Wiki

also scraping html from the wiki is incredibly brittle; there are much better ways to scrape what you want that is simpler to implement, faster to run, is lower load for the wiki, more reliable, and doesn't require pulling in an HTML parser

Where can I get trade limit and trade volume data from runelite? Also there would be no innate way to know which items to even query for this data so the wiki is an easy way to get a decent list of items.
I've looked at using the media wiki api but its not exactly user friendly and would require parsing alot more data than my current solution. I'm open to hear how you would implement this in a better way

You can get the ge limit from ItemManager::getItemStats. To get a list you can just iterate every item that is tradeable (which actually marks if it is GE-able). If you need help operating the wiki's api you can always ask for help in their discord

That UA is obviously wrong. Please don't submit semi malicious code to here again.

That UA is obviously wrong. Please don't submit semi malicious code to here again.

Considering I only added it at your request, assuming it was intentionally malicious would be a bit cynical. As a reviewer for an open source voluntary project I would have hoped for a bit more open-ness and guidance for best practice. Feel free to close the PR :)

The point of the user agent is to identify the agent (your software) to the web server for the server operators reference. Using a browser's UA for an automated tool does the exact opposite; it actively obfuscates what your tool is. Doing this is basically only useful if you are abusing a service and don't want the owner of said service to be able to stop you easily. Automated tools like this typically use a user agent in the form AlchItems/1.0 (+https://github.com/ajsprojects/AlchItemsPlugin), which gives a clear name and a easy way to contact you.

The point of the user agent is to identify the agent (your software) to the web server for the server operators reference. Using a browser's UA for an automated tool does the exact opposite; it actively obfuscates what your tool is. Doing this is basically only useful if you are abusing a service and don't want the owner of said service to be able to stop you easily. Automated tools like this typically use a user agent in the form AlchItems/1.0 (+https://github.com/ajsprojects/AlchItemsPlugin), which gives a clear name and a easy way to contact you.

So if I refactor the user agent are you happy to approve it? Or do you still think it needs reworking?
I don't see any easy way to get volume traded of items nor a list of items to check if they are profitable without scanning thousands of items through item manager

The point of the user agent is to identify the agent (your software) to the web server for the server operators reference. Using a browser's UA for an automated tool does the exact opposite; it actively obfuscates what your tool is. Doing this is basically only useful if you are abusing a service and don't want the owner of said service to be able to stop you easily. Automated tools like this typically use a user agent in the form AlchItems/1.0 (+https://github.com/ajsprojects/AlchItemsPlugin), which gives a clear name and a easy way to contact you.

So if I refactor the user agent are you happy to approve it? Or do you still think it needs reworking?
I don't see any easy way to get volume traded of items nor a list of items to check if they are profitable without scanning thousands of items through item manager

Yes. We just don't want to make the wiki sysadmin's lives harder since RuneLite has a lot of users and can generate large amounts of traffic, and it is rude to try and masquerade it as normal web browser traffic. With enough traffic, they (the wiki) may even force you over to use their API or so, but we don't want to aid you in eg. trying to bypass them protecting themselves.

The point of the user agent is to identify the agent (your software) to the web server for the server operators reference. Using a browser's UA for an automated tool does the exact opposite; it actively obfuscates what your tool is. Doing this is basically only useful if you are abusing a service and don't want the owner of said service to be able to stop you easily. Automated tools like this typically use a user agent in the form AlchItems/1.0 (+https://github.com/ajsprojects/AlchItemsPlugin), which gives a clear name and a easy way to contact you.

So if I refactor the user agent are you happy to approve it? Or do you still think it needs reworking?
I don't see any easy way to get volume traded of items nor a list of items to check if they are profitable without scanning thousands of items through item manager

Yes. We just don't want to make the wiki sysadmin's lives harder since RuneLite has a lot of users and can generate large amounts of traffic, and it is rude to try and masquerade it as normal web browser traffic. With enough traffic, they (the wiki) may even force you over to use their API or so, but we don't want to aid you in eg. trying to bypass them protecting themselves.

Yes as in I need to do more refactoring aside from fixing the user agent?

I don't think you need to do anything besides fixing the ua. Maybe abex will see something else.

Updated UA
Not sure if I messed up pulling updates into my runelite plugins branch so let me know if i've made a mistake

Your history on this branch is all messed up and updating 5 different plugins that you don't own. You will need to force push this branch with a fixed history.
Since you are pulling in jsoup you MUST pin your dependencies
I would like it, though I don't strictly require it, if you fixed it to not hit the wiki like this; it is very fragile and the alchemy page is the slowest page on the wiki. Everything you currently get from it is available in the client from the ItemManager like I said. Scanning the whole item list on the client is orders of magnitude faster than doing any HTTP request. Also you may want to look into https://meta.weirdgloop.org/w/Forum:PSA:_Grand_Exchange_changes as may contain a solution to your volume problem soon.

Ill close the PR for now because something went wrong with pulling updates and ill test out item manager
Cheers


support for react 18

Hello!
Thanks to you I was able to migrate my project from react 16.8 to 17 six months ago.
I want to know if there is any plan for adding support to react 18.
Someone said it can work with react 17/18 In another https://github.com/nosferatu500/react-sortable-tree/issues/16#issuecomment-1116117759.
Maybe just need to change the peer dependency?..
I can also make a contribution if it's necessary.

@YiCChi Which version is installed in package.lock. Is it 4.2.0 or above?

@YiCChi Which version is installed in package.lock. Is it 4.2.0 or above?

It's 4.2.2.

@YiCChi It should work. What's the error?

@YiCChi You are right. I installed it using --force option.

Available with v4.3.0

Available with v4.3.0

Thank you so much!


Phone feature

In the process of adding phone numbers and imei generation.

https://github.com/cieslarmichal/faker-cxx/pull/65


Finalise API choices and save links to documentation somewhere handy

Choose APIs and list below (name - URL)
News--
Weather--

NewsAPI - https://newsapi.org/docs
Weatherbit - https://www.weatherbit.io/api