[bug] disable proto toolchain completely

Describe the bug
Currently, to disable Proto, it is necessary to pass the MOON_TOOLCHAIN_FORCE_GLOBALS=true to every moon command. This approach, while functional, may not be the most convenient for developers.
I propose the idea of introducing an option in the toolchain.yml file that allows for the complete disabling of moon's management of the toolchain. This addition could streamline the process and enhance usability for those who prefer an alternative setup.
Alternatively, could we consider a setup where removing the toolchain.yml file entirely would automatically disable Proto's management for Moon commands? This might offer a more intuitive way of handling the toolchain settings.
Steps to reproduce

Remove toolchain.yml
Run any moon task
Error: project::task::unknown

Expected behavior
Moon works perfectly fine with global tools declared in the PATH.
Additional context
I wanted to share my thoughts regarding the potential adoption of Proto. While it's an interesting project, I have some reservations about its feasibility for widespread use in the future.
I've noticed that for certain unique environments, the Nix project has effectively addressed similar challenges. Additionally, tools like devenv.sh and Jetpack Devbox offer streamlined solutions for declaring complex environments. These tools accomplish this without requiring users to learn the more intricate aspects of the Nix DSL.
From my perspective, Nix appears to provide a more efficient solution for creating shareable environments compared to what Proto currently offers.

@dec0dOS The toolchain already works this way. Either remove the version field from the toolchain.yml tools, which will use the binaries on PATH, or remove the config entirely (requires system platform).

@dec0dOS Is there an error? Or does it just do nothing?
Maybe try wiping the cache.

Let me see if I can reproduce something.

Thanks for the reproduction, will look into.

I've noticed an additional issue that occurs when the packageManager: "yarn" line is removed from the toolchain.yml file. In such cases, it appears that npm is being used instead, which seems unexpected

This is expected right now. The commands moon runs for package managers is dependent entirely on that setting. It defaults to npm since that's what comes with node.
In v2, once we migrate to wasm plugins, this will change.

Been messing with your repro and I think the problem is is that moon removes the packageManager field, messing up the yarn/corepack version.

this should be fixed in v1.18


Return MetaMaster from MetaMasterFactory

All master factories currently return their respective implementations
of the Master interface. MetaMasterFactory only returns a Master.
This is a small PR to update the class to be the same as the other
implementations

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/8594/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/8595/
Test FAILed.

failure seems un-related here. May be a flaky test?

jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/8597/
Test PASSed.

alluxio-bot, merge this please


update stacks_failing metric to check pulumiv1.Stack instead of pulumiv1alpha1.Stack

Proposed changes
Update stacks_failing metric to use the current v1 Stack API version instead of the outdated v1alpha1.
From my observations, the pulumi-k8s-operator automatically upgrades new applications of the Stack resources to v1 if they are applied with the older API version, so for new Stacks it should be fine that this PR does not account for the old API version. However, I don't know if the operator converts old Stack resources to the new version so whether not this is a breaking change is not known to me right now.
Related issues (optional)
https://github.com/pulumi/pulumi-kubernetes-operator/issues/307
Additional comments
I tested this locally, but I tested it with a base branch from the 1.7.0 release commit https://github.com/pulumi/pulumi-kubernetes-operator/commit/cb9f70c3bd1e983daa5fd9b2926ed386af56d4e0 instead of the latest master branch because the pulumi-k8s-operator was giving me errors when attempting to checkout the git branch: unable to checkout branch: reference not found
Somehow the change in https://github.com/pulumi/pulumi-kubernetes-operator/commit/ef96c6d7cd4aeeb185e757f0f5dcac445ef62c53 (specifically the change in https://github.com/pulumi/pulumi/pull/10118) did not work for me for both branch formats: refs/remotes/origin/foo and foo.

I tested this locally, but I tested it from the 1.7.0 release commit https://github.com/pulumi/pulumi-kubernetes-operator/commit/cb9f70c3bd1e983daa5fd9b2926ed386af56d4e0 instead of the latest master branch because the pulumi-k8s-operator was giving me errors when attempting to checkout the git branch: unable to checkout branch: reference not found
Somehow the change in https://github.com/pulumi/pulumi-kubernetes-operator/commit/ef96c6d7cd4aeeb185e757f0f5dcac445ef62c53 (specifically the change in https://github.com/pulumi/pulumi/pull/10118) did not work for me for both branch formats: refs/remotes/origin/foo and foo.

I realized this is basically a duplicate of https://github.com/pulumi/pulumi-kubernetes-operator/pull/245, but I'm keeping this open since it's a less stale branch

/run-acceptance-tests

Thanks for the PR @bob-bins! LGTM, but will defer to @viveklak to approve since I'm not as familiar with this codebase.

Thanks for the PR @bob-bins !


Fix TabViewAnimated screenProps caveat

Please provide enough information so that others can review your pull request:
Accordin do the react-native-tab-view, TabViewAnimated is a pure component, and as such, will not be rerendered unless it's props change.
This prevents rerenders when screenProps on TabNavigator change, and as such, is a major limitation when using TabNavigator.
The proposed solution is to pass the screenProps to the TabViewAnimated, even if does not use this in any way.
Any change to the screenProps of TabNavigator will trigger a rerender in TabViewAnimated.
Explain the motivation for making this change. What existing problem does the pull request solve?
Allows using screenProps with TabNavigator
Prefer small pull requests. These are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise split it.
Test plan (required)
Don't know how much this could be tested, since I've only added screenProps={this.props.screenProps} to the TabViewAnimated component.
Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI.
Make sure you test on both platforms if your change affects both platforms.
The code must pass tests and shouldn't add more Flow errors.
Code formatting
Look around. Match the style of the rest of the codebase.

I'll merge this, but you should really just connect individual screens instead of passing data in screenProps.

I encountered the problem when using GraphQL with the router. Normally, I'd' just skip the screenProps, but in my case, I load some data when on app, then render navigator ( and pass it the recieved data )


[Style/BlockDelimiters] Prefer{...}overdo...endfor single-line blocks. Error.

I have this code in a .rb Class file:
field :user, Types::UserType do resolve ->(_obj, _args, ctx) { ctx[:user] } end
what I need is to remove do and end from the single line using, I think, the {}.
[Style/BlockDelimiters] Prefer {...}overdo...end for single-line blocks.
But I don't understand why it throws this error:
[ruby] syntax error, unexpected '{', expecting '('
[ruby] syntax error, unexpected '}', expecting keyword_end

RuboCop version
$ rubocop -V
0.51.0 (using Parser <IP_ADDRESS>, running on ruby 2.4.2 x64-mingw32)

Is this also a problem in the latest stable release?

I cannot reproduce this Issue and the reporter is already a ghost user, I will close this issue.


Larger divisor values

Allow for larger divisor values to have even slower sequences.

+1 for this!
Will work well with the proposed Chord track mode.

to be released with 0.1.20 version


support image digests for disconnected environments

fixes https://github.com/kiali/kiali/issues/4392

test procedures are documented here: https://github.com/kiali/helm-charts/pull/108#issuecomment-928073573


After Reconnecting Redshift Connection Tab Becomes Readonly

System information:

Operating system (distribution) and version: Windows DBeaver Enterprise
DBeaver version: <IP_ADDRESS>012061950
Additional extensions: None

Connection specification:

Database name and version: Redshift
Driver name: Redshift com.amazon.redshift.jdbc42.driver
Do you use tunnels or proxies (SSH, SOCKS, etc)? No

Describe the problem you're observing:
After a period of inactivity, my connection to Redshift disconnects. While this isn't a problem, when I reconnect a particular script tab, it's defaulting to read-only, despite the connection not being set to read-only. To remedy, I have to open a new script tab and connection, and execute any DML/DDL there instead of the script I have open currently.

Unfortunatelly I cannot reproduce it.
What do you mean when write read-only? Is it impossible to edit ResultSet? Does read-only label appear?

Is it possible to send a screenshot or gif?

In this screenshot, I'm attempting to create a materialized view. This is after Invalidating/Reconnecting my connection to Amazon Redshift.

probably fixed with #11110


Only publish on release branch

Can we do *.*/* instead?  This would grab all branches with the MAJOR.MINOR/RISK naming convention.

if [0-9]+.[0-9]+/* works then that is more than okay with me


chore(main): release awesome-jekyll-theme 0.2.0

:robot: I have created a release beep boop
0.2.0 (2024-07-30)
Features

add rakefile (654a135)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

awesome-jekyll-theme/v0.2.0
:sunflower:


Define node ordering interface

We will not be handling ordering in the protocol, rollup proofs will reorder transactions themselves


Can't query on string type Value. How to convert to JSON

I have a stream  query select * from magtec_stream;  on edgex-kuiper
Which returns output like
[{"magtec":"{\"CompanyID\":43,\"CompanyName\":\"AETOS Security Management Pte Ltd\",\"DriverID\":6399,\"DriverName\":\"CnC Driver\",\"AssetID\":1939,\"AssetName\":\"CIT SSB YP4120E\",\"SerialNumber\":5561002845,\"TransactionId\":637640790070093557,\"Latitude\":1.2851626,\"Longitude\":103.8422888,\"Altitude\":0,\"Address\":\"n/a\",\"Timestamp\":\"2021-08-09T04:08:05\",\"Accuracy\":65535,\"Speed\":0,\"Heading\":\"ENE\",\"Odometer\":0,\"EngineHours\":0,\"Ignition\":\"on\",\"Reason\":101,\"GroupID\":233,\"GroupName\":\"CIT\"}"}]
I just want to print CompanyName
Can't print it. Please help if there is any  way or any suggestion.

Hi,
You can use arrow operator to select a field of a structure.
SELECT magtec->CompanyName from magtec_stream
Check json expression for more detail.

I checked  json expression docs  and tried your suggestedd query  it returns [{}]

oh, it looks like your magtec is actually a string instead of a struct. Then you can use json path to query the json string.
SELECT json_path_query(magtec, "$.CompanyName") AS CompanyName FROM demo


Update sbt-scalafmt to 2.4.3

Updates org.scalameta:sbt-scalafmt from 2.4.2 to 2.4.3.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "sbt-scalafmt" } ]

labels: sbt-plugin-update, semver-patch

Codecov Report

Merging #120 (2b2c8a3) into master (dc3dea3) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master      #120   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines           35        35
  Branches         2         4    +2
=========================================
  Hits            35        35

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 dc3dea3...2b2c8a3. Read the comment docs.


Support core::ops::Bound<T>

Could you consider adding support for core::ops::Bound<T> so that derives for rkyv::Archive, rkyv::Deserialize and rkyv::Serialize works.
(I'm working in adding rkyv support for the openraft crate and an enum variant uses Bound<u64> fields.)

Added in da6f6ce2ac80460fc2f703863fd4326cfa68c026


Terrain drops off in the distance (Vivaldi, Linux)

Terrain (ground texture) falls off in the distance
The terrain elevation is correctly rendered in the vicinity of the camera, but in the distance (about 1km), it drops off - in a gently slope, not apruptly - in the distance. Presumably to zero height.
However, all 3d features stay at their calculated elevation, only the ground "sinks".
It is a funny effect when you move the camera, as you appear to be standing on an elevated "island" which moves along with you.
Map location
Example location: https://streets.gl/#49.85010,9.95623,58.47,105.63,2420.20

System information

OS: Kubuntu 22.04.2 LTS (Jammy Jellyfish)
Browser with version: Vivaldi 6.0.2979.22 (Stable channel) stable (64-Bit)

Note: It is clearly related to the combination of OS and Browser. On Kubuntu with Firefox, it renders OK, and on Windows 10 with Vivaldi, it also renders OK.
It may be related to #110

I'm also seeing this on my system, but only in Chrome, not in Firefox.
OS: Manjaro Linux, kernel 6.3.5, nvidia driver 470.182.03-10
Chrome: 114.0.5735.90 (Official Build) (64-bit)
Firefox: 113.0.1
In the devtools console:
Chrome:
Vendor: Google Inc. (NVIDIA Corporation)
Renderer: ANGLE (NVIDIA Corporation, NVIDIA GeForce GTX 1060/PCIe/SSE2, OpenGL 4.5.0)

Plus a large number of errors that look like this: [.WebGL-0xa9004650e00] GL_INVALID_FRAMEBUFFER_OPERATION: Draw framebuffer is incomplete
Firefox:
Vendor: NVIDIA Corporation
Renderer: NVIDIA GeForce GTX 980/PCIe/SSE2

This is plausible, because Vivaldi's engine is based on Chrome.
How/where do you see the rendering error messages?

In the browser console - you can open it by right-clicking and choosing Inspect (or Ctrl+Shift+I, but I'm not sure if that's a universal shortcut).
Looking at it again, I can see that they are actually warnings, not errors. I'm not sure if they're really related to this issue, although they do only occur in Chrome (or Chromium).

Thanks, same here:

I made an additional observation:

the elevation is re-appearing in the far distance (estimated at about 5000m)
This can be barely seen in a static screenshot, but here:

At the top you may see that the buildings align with the ground (roads). In the foreground the buildings seem to float, because the ground has "dropped". Also at the far right side, you may see a river valley with "3d terrain".

So to sum up the strange behavior:

ground elevation drops in the distance of about 1000m (may be a bit less, it's hard to guess).
ground elevation raises again to normal levels at about 5000m
the ground drops and raises not sharply, but by some "smoothstep" curve.

All this seems to me like some implemented, intended functionality that is however appearing "at the wrong place".

Just another "debugging hint":
In highly elevated area, looking straight from far above, one can see that the dropping area is around a square area around the camera's position.
https://streets.gl/#47.34486,11.51009,89.99,0.00,3961.93

I am happy to report that, with the new version 6.2 of Vivaldi, the problems above have disappeared!
Vivaldi | 6.2.3105.45 (Stable channel) stable (64-Bit)
Revision | 2c70753efd4b3344b0d0c7247329b29ac2b40489
OS | Linux
JavaScript | V8 <IP_ADDRESS>

Just for reference: I use Chrome 114.0.5735.133 (quite old) on Linux and can reproduce this issue.
Demo: https://youtu.be/GKKWiozJLdE?si=1BV1Ol7dEPUhKeOX&t=187

@davidak @kayD @matyasrichter This problem with elevation should be fixed now, please verify it on your devices. Thanks!

@StrandedKitty I can confirm that it continues to work (see my comment from Aug 31). I tried with all scenarios on this page, both on Vivaldi 6.5.3206.48 (Stable channel) stable (64-Bit) and on Firefox 120.0 (64-bit) (snap)
Thanks for your great work!


Release 2.1.0

@rultor release it; the tag is 2.1.0.

@rultor release it; the tag is 2.1.0.

@rafamizes OK, I will release it now. Please check the progress here


using   ts-patch-mongoose with typegoose

Can we use ts-patch-mongoose with typegosse class??

Yes you should be able to since this is a plugin for mongoose, if no consider creating a small project that I can start and check)


Button fontSizes changed from v3.1 to v3.2

Describe the bug
Any reasons why the button fontSizes changed from native-base v3.1 to native-base v3.2?
To Reproduce
Steps to reproduce the behaviour:

Go to sandbox
Inspect the button size sm -> 14px
Bump the dependency native-base to latest (3.2.1) or open this other sandbox
Inspect the button size sm -> 12px

Expected behaviour
Buttons are essential elements, I did not expect the library to update the fontSize from a version to another.
Wondering if that's expected as it breaks the consistency of our app.
Any easy workarounds?
Thank you!

Hi @floustao , UI was oversized because standard font sizes on react native mobile and web which is set to 14px, so we decided to reduce 1 size to make things look good by default.
Here's  migration guide which mentions the workaround if you still want to use older theme.


add dependabot.yml, switch to npm

As discussed in #27
Merge errors and rebasing etc. in github sucks sometimes.
@anonrig
@Fdawgs

@Uzlopak Can you update rome too?

yes, done

LGTM!


Multiple event subscription using chip-tool is not working

Problem
Trying to run TC-SU-2.7 Step 5
Commit : 131b13c8b5ccb49585069c743b530310301deddd
OTA-R and OTA-P Linux App commissioned to same fabric.
Further chip-tool interactions:
chip-tool interactive start
otasoftwareupdaterequestor subscribe-event download-error 30 60 2 0
otasoftwareupdaterequestor subscribe-event state-transition 30 60 2 0
Trigger OTA query using
otasoftwareupdaterequestor announce-ota-provider 1 0 0 0 2 0
Only seeing events from later subscription while there is a Subscription Liveness timeout.
[1654210624314] [17708:66070994] CHIP: [DMG] Subscription Liveness timeout with SubscriptionID = 0x26b94210, Peer = 01:0000000000000002
Proposed Solution
Multiple event subscription should work using chip-tool
multiple event.txt

By default, establishing a subscription from node A to node B tears down existing such subscriptions.  So that second subscribe-event is killing the first subscription.
You can pass --keepSubscriptions true in chip-tool when doing a subscribe to override that behavior.
For this specific case, I believe you can also do
otasoftwareupdaterequestor subscribe-event-by-id "0,2" 30 60 2 0

to create a single subscription to both events.


at_client functional tests flakiness 2023-01-15

Describe the bug
See https://github.com/atsign-foundation/at_client_sdk/actions/runs/7527814204/job/20488714969?pr=1206
Steps to reproduce
See https://github.com/atsign-foundation/at_client_sdk/actions/runs/7527814204/job/20488714969?pr=1206
Expected behavior
No flakiness
Screenshots
No response
Smartphones
No response
Were you using an atApplication when the bug was found?
No response
Additional context
No response

@sitaram-kalluri @purnimavenkatasubbu another one to look at 😀


Activity page tests in progress

Resolves #407

Added content check along with url check for Navbar tabs.

@Eren-Yeaager what all is left in this?
let me know if you need any help.


Don't run PM2 in cluster mode

What is this PR trying to achieve?
I thought this would have worked.
It doesn't and it's breaking the build - so I'll investigate later as to why not.

Docs for PM2 cluster mode


Setup for simple_example

I'm trying to run a variation of simple_example that uses the module upload and can't get it to work.  The straight forward example works when I setup the module under XD_INSTALL.
I have:
#Custom module registry location
#Any custom modules built can be placed into this configured location
#The location must be set to a valid resource URL (file://, classpath:/ etc.,)
xd:
customModule:
home: file:///Users/wlund/xd-custom-modules
Its not clear whether just setting up the directory should work but on files with jars when I use module upload it does work.
xd:>module upload --file /Users/wlund/xd-custom-modules/rsasession-stream-ingest/lib/rsasession-stream-1.0.0-SNAPSHOT.jar --name rsasession-stream-ingest --type job
Successfully uploaded module 'job:rsasession-stream-ingest'
However, I get the following on setting up the same example in xd-custom-modules:
module upload --file /Users/wlund/xd-custom-modules/simple-example --name simple_example --type job
Command failed org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://localhost:9393/modules/job/simple_example":/Users/wlund/xd-custom-modules/simple-example (Is a directory); nested exception is java.io.FileNotFoundException: /Users/wlund/xd-custom-modules/simple-example (Is a directory).
Can't seem to get it to work without being under the XD_INSTALL directory.  Am I doing something wrong?

xd.customModule.home is a location where custom modules can be placed (according to a module registry layout, explained) and/or where uploaded (with the module upload command) modules will end up.
You do not need (and as a matter of fact should not, as this is what is causing your problem) use that directory as your "build" directory. When using the module upload command, the argument to the --file option can be any directory.
To make things clearer, keep in mind you could be using two machines for this scenarion: one where you build your module and use the XD shell, and the other one hosting the XD container. The argument to module upload --file resides in the former, while the location xd.customModule.home is on the latter.
Hope that helps.
PS: Layout of a registry
xd.customModule.home/
  source/
    some-module.jar
      ..etc
  processor/
  sink/
  job/
    rsasession-stream-ingest.jar     <-- über-jar after you've uploaded

Also, as a further clarification, the argument to module upload should be a full module (über jar). That is, if your module project depends on other libs, this should be a jar that has nested jars. It should also contain your module definition inside a config/ subdir (in the über-jar)

Got it.  That worked and explained the simple example I had a question about where there was no jar to upload.  Its a simple config file and sample.txt.
$mkdir -p $XD_HOME/custom-modules/job/simple_example/config
$ cp simple_example.xml $XD_HOME/modules/job/simple_example/config
$ cp sample.txt /tmp
Copying my xd-custom-modules/job/simple_example/config works per instruction.  Where I got a little confused was the reference to $XD_HOME as I thought the suggestion was to not install custom modules under the installation directory.  All is well,
Thanks,
Wayne
<EMAIL_ADDRESS>Wayne Lund | Advisory Field Engineer | Mobile:916-296-1893
Skype: wxlund
http://www.pivotal.io
On Mar 3, 2015, at 1:16 AM, Eric Bottard<EMAIL_ADDRESS>wrote:

xd.customModule.home is a location where custom modules can be placed (according to a module registry layout, explained) and/or where uploaded (with the module upload command) modules will end up.
You do not need (and as a matter of fact should not, as this is what is causing your problem) use that directory as your "build" directory. When using the module upload command, the argument to the --file option can be any directory.
To make things clearer, keep in mind you could be using two machines for this scenarion: one where you build your module and use the XD shell, and the other one hosting the XD container. The argument to module upload --file resides in the former, while the location xd.customModule.home is on the latter.
Hope that helps.
PS: Layout of a registry
xd.customModule.home/
source/
some-module.jar
..etc
processor/
sink/
job/
rsasession-stream-ingest.jar     <-- über-jar after you've uploaded
Also, as a further clarification, the argument to module upload should be a full module (über jar). That is, if your module project depends on other libs, this should be a jar that has nested jars. It should also contain your module definition inside a config/ subdir (in the über-jar)
—
Reply to this email directly or view it on GitHub.

Actually, both   options are possible. xd.customModule.home used to refer to a place where one would put  her custom modules so they would be picked up, but not mess with the default installation. When we added the module upload command, we made it     upload to that   place. Certainly the documentation needs some clarification


How to use Sharedworker?

Below code uses dedicated worker, in the worker code.
const ctx: Worker = self as any;
ctx.addEventListener('message', (e) => {
    // console.log(e)
    if (e.data === 'do some work') {
        console.log('Worker is about to start some work');
        let count: number = 0;
        for (let i: number = 0; i < 1000; i++) {
            count += i;
        }
        ctx.postMessage({ message: count });
    }
})

where the calling code is:
let worker: Worker = new Worker('worker.js');
worker.postMessage('do some work');

and tsconfig.json is:
{

    "compilerOptions": {

      "lib": ["es2015", "dom"]
    },
    "files": [
      "./1_webworker/tstut.ts",
      "./1_webworker/worker.ts"

    ]
  }

Trying to execute the same code using let worker: SharedWorker = new SharedWorker('worker.js'); but got the error Cannot find name 'SharedWorker'
here is the folder structure
How to use SharedWorker in place of dedicated worker?

It looks like this is a question rather than a bug report. This issue tracker is for tracking bugs and active work on TypeScript itself, rather than a general forum for programmers using TypeScript to get help or ask questions.
You can ask questions on sites like Stack Overflow. We are not able to provide one-on-one support on the issue tracker. Next time, please read the issue template carefully - it has important information on what kinds of reports can be acted on here, as well as links to useful TypeScript resources. Thanks!

SharedWorker is currently not defined in lib.d.ts, meanwhile you can use @types/sharedworker.
Logged https://github.com/Microsoft/TypeScript/issues/24323 to track adding it.


Better: Added doc for WA Outbound. RD-22624.

Hey !
Ticket(s):

RD-22624

Change(s):

Added Source params for GET /1.0/content_sources : template_messages and hsm_template
Added Contents params for POST /1.0/contents : template_name and template_language
Added WA source in to param description for POST /1.0/contents

@DrissTM FTR I told Anastasia I'd merge the doc today, if there's no other change requested, can you approve before the end of the day ?


[Feat] Predictor precision PT backend

This PR:

adds precision dtype to predictor / det predictor and reco predictor (effects only PT)

Any feedback is welcome :hugs:
Revert for TF which would need to convert the weights while loading (takes a lot of time)
tests depends on: #1201
issue: #1112

@odulcy-mindee ready for review if tests done :)

for debugging...
when I do
python3.8 references/classification/train_tensorflow.py vit_s -b 1 --val-samples 1 --train-samples 1 --epochs 1

it gets
/home/nikkokks/.local/lib/python3.8/site-packages/tensorflow_addons/utils/tfa_eol_msg.py:23: UserWarning:

TensorFlow Addons (TFA) has ended development and introduction of new features.
TFA has entered a minimal maintenance and release mode until a planned end of life in May 2024.
Please modify downstream libraries to take dependencies from other repositories in our TensorFlow community (e.g. Keras, Keras-CV, and Keras-NLP).

For more information see: https://github.com/tensorflow/addons/issues/2807

  warnings.warn(
Namespace(amp=False, arch='vit_s', batch_size=1, epochs=1, export_onnx=False, find_lr=False, font='FreeMono.ttf,FreeSans.ttf,FreeSerif.ttf', input_size=32, lr=0.001, name=None, pretrained=False, push_to_hub=False, resume=None, show_samples=False, test_only=False, train_samples=1, val_samples=1, vocab='french', wb=False, workers=None)
Validation set loaded in 1.713s (126 samples in 126 batches)
Train set loaded in 1.712s (126 samples in 126 batches)
Validation loss decreased inf --> 5.27862: saving state...
Epoch 1/1 - Validation loss: 5.27862 (Acc: 2.38%)

but when I run any mobilenet
python3.8 references/classification/train_tensorflow.py mobilenet_v3_large -b 1 --val-samples 1 --train-samples 1 --epochs 1

it gets

/home/nikkokks/.local/lib/python3.8/site-packages/tensorflow_addons/utils/tfa_eol_msg.py:23: UserWarning:

TensorFlow Addons (TFA) has ended development and introduction of new features.
TFA has entered a minimal maintenance and release mode until a planned end of life in May 2024.
Please modify downstream libraries to take dependencies from other repositories in our TensorFlow community (e.g. Keras, Keras-CV, and Keras-NLP).

For more information see: https://github.com/tensorflow/addons/issues/2807

  warnings.warn(
Namespace(amp=False, arch='mobilenet_v3_large', batch_size=1, epochs=1, export_onnx=False, find_lr=False, font='FreeMono.ttf,FreeSans.ttf,FreeSerif.ttf', input_size=32, lr=0.001, name=None, pretrained=False, push_to_hub=False, resume=None, show_samples=False, test_only=False, train_samples=1, val_samples=1, vocab='french', wb=False, workers=None)
Validation set loaded in 1.729s (126 samples in 126 batches)
Train set loaded in 1.684s (126 samples in 126 batches)
Traceback (most recent call last):-------------------------------------------------------------------------------| 0.00% [0/126 00:00<?]
  File "references/classification/train_tensorflow.py", line 386, in <module>
    main(args)
  File "references/classification/train_tensorflow.py", line 294, in main
    fit_one_epoch(model, train_loader, batch_transforms, optimizer, mb, args.amp)
  File "references/classification/train_tensorflow.py", line 96, in fit_one_epoch
    grads = tape.gradient(train_loss, model.trainable_weights)
  File "/home/nikkokks/.local/lib/python3.8/site-packages/tensorflow/python/eager/backprop.py", line 1063, in gradient
    flat_grad = imperative_grad.imperative_grad(
  File "/home/nikkokks/.local/lib/python3.8/site-packages/tensorflow/python/eager/imperative_grad.py", line 67, in imperative_grad
    return pywrap_tfe.TFE_Py_TapeGradient(
  File "/home/nikkokks/.local/lib/python3.8/site-packages/tensorflow/python/eager/backprop.py", line 146, in _gradient_function
    return grad_fn(mock_op, *out_grads)
  File "/home/nikkokks/.local/lib/python3.8/site-packages/tensorflow/python/ops/nn_grad.py", line 582, in _Conv2DGrad
    gen_nn_ops.conv2d_backprop_input(
  File "/home/nikkokks/.local/lib/python3.8/site-packages/tensorflow/python/ops/gen_nn_ops.py", line 1626, in conv2d_backprop_input
    _ops.raise_from_not_ok_status(e, name)
  File "/home/nikkokks/.local/lib/python3.8/site-packages/tensorflow/python/framework/ops.py", line 7262, in raise_from_not_ok_status
    raise core._status_to_exception(e) from None  # pylint: disable=protected-access
tensorflow.python.framework.errors_impl.InvalidArgumentError: {{function_node __wrapped__Conv2DBackpropInput_device_/job:localhost/replica:0/task:0/device:CPU:0}} Gradients for grouped convolutions are not supported on CPU. Please file a feature request if you run into this issue. Computed input depth 960 doesn't match filter input depth 1 [Op:Conv2DBackpropInput]

Did you have tried to run the code in tensorflow gpu mode ?
I think the problem is due to shapes
when i do
nikkokks@nikokks:~/Desktop/github/doctr$ python3.8
>>> from doctr.models import ocr_predictor
>>> from doctr.io import DocumentFile
>>> USE_TF=1
>>> doc = DocumentFile.from_images('../1.png')
>>> model = ocr_predictor(det_arch='db_resnet50', reco_arch='crnn_mobilenet_v3_small', pretrained=False)
>>> model(doc)

it gets
2023-06-09 18:51:58.038217: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:417] Loaded runtime CuDNN library: 8.5.0 but source was compiled with: 8.6.0.  CuDNN library needs to have matching major version and equal or higher minor version. If using a binary install, upgrade your CuDNN library.  If building from sources, make sure the library loaded at runtime is compatible with the version specified during compile configuration.
2023-06-09 18:51:58.039157: W tensorflow/core/framework/op_kernel.cc:1830] OP_REQUIRES failed at conv_ops.cc:1068 : UNIMPLEMENTED: DNN library is not found.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/nikkokks/Desktop/github/doctr/doctr/models/predictor/tensorflow.py", line 89, in __call__
    loc_preds_dict = self.det_predictor(pages, **kwargs)
  File "/home/nikkokks/Desktop/github/doctr/doctr/models/detection/predictor/tensorflow.py", line 46, in __call__
    predicted_batches = [
  File "/home/nikkokks/Desktop/github/doctr/doctr/models/detection/predictor/tensorflow.py", line 47, in <listcomp>
    self.model(batch, return_preds=True, training=False, **kwargs)["preds"] for batch in processed_batches
  File "/home/nikkokks/.local/lib/python3.8/site-packages/keras/utils/traceback_utils.py", line 70, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "/home/nikkokks/Desktop/github/doctr/doctr/models/detection/differentiable_binarization/tensorflow.py", line 234, in call
    feat_maps = self.feat_extractor(x, **kwargs)
tensorflow.python.framework.errors_impl.UnimplementedError: Exception encountered when calling layer 'conv1_conv' (type Conv2D).

{{function_node __wrapped__Conv2D_device_/job:localhost/replica:0/task:0/device:GPU:0}} DNN library is not found. [Op:Conv2D]

Call arguments received by layer 'conv1_conv' (type Conv2D):
  • inputs=tf.Tensor(shape=(1, 1030, 1030, 3), dtype=float32)

As you can see it is due to a line in one of the convolutions in the file doctr/models/classification/mobilenet/tensorflow.py and certainly in the class MobileNetV3
I hope it helps :)

I am not an expert of this model and I am new to doctr but is the problem here:
147        if conf.expanded_channels != conf.input_channels:
148            _layers.extend(conv_sequence(conf.expanded_channels, act_fn, **kernel_size=1,** bn=True, **_kwargs))

https://github.com/felixdittrich92/doctr/blob/1bf12a3ec73ddb463420d4243133b2d423a602d3/doctr/models/utils/tensorflow.py#L87

I am not an expert of this model and I am new to doctr but is the problem here:
147        if conf.expanded_channels != conf.input_channels:
148            _layers.extend(conv_sequence(conf.expanded_channels, act_fn, kernel_size=1, bn=True, **_kwargs))

https://github.com/felixdittrich92/doctr/blob/1bf12a3ec73ddb463420d4243133b2d423a602d3/doctr/models/utils/tensorflow.py#L87

Yeah @nikokks this is not related to the PR so please keep it clean ^^
About the problem: It seems to be a issue with your Tensorflow Installation -> DNN lib cannot be found :)

Now without the extra kwarg which would only effect PyTorch:
simply do:
predictor = (
    ocr_predictor(reco_arch="crnn_mobilenet_v3_small", det_arch="db_mobilenet_v3_large", pretrained=True).cuda().half()
)

or
predictor = (
    ocr_predictor(reco_arch="crnn_mobilenet_v3_small", det_arch="db_mobilenet_v3_large", pretrained=True).to(device="cuda", dtype=torch.bfloat16)
)


[roi] Support more custom style for handlers

It would be nice to be able to custom

orientation (can be nice to follow a normal shape or a field of values)
size (to display some small and some big)
It could also be nice to fill them with alpha color that changing when the mouse is over (could be hard coded)

Concerning the first point, when we move markers, they can follow a user supplied path validation function. We could also add a validation "representation" accounting for the marker visuablization.

Sorry, i was talking about the rotation of the symbol. To display squares well aligned with the shape for example.


Filter.equal is not found

it seems the method name changed it needs to be equals now.
replace equalwith equals here -> https://github.com/zubairehman/flutter-boilerplate-project/blob/master/lib/data/repository.dart#L50

Right


pull request for e2e test at 01/19/2017 11:26:15

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


How to dump LLVM IR before codegen?

Hi, with amdPalSettings.cfg and EnablePipelineDump config, I know how to dump shader assembly. But I couldn't figure out how to dump the LLVM IR before the assembly is generated. How do I do it?
For the context, I'm trying to generate packed math instructions like v_pk_fma_f16 via TVM for a DL inference use case. Using the LLVM AMDGPU backend directly (via rocm), I was able to generate nice asm like this https://gist.github.com/masahi/2de1a7dc87e2068ffb50ba6135273f95#file-conv2d_nhwc_float16x2-s-L495-L496. But I couldn't get the equivalent asm if I go through SPIRV and AMDVLK. I only have v_fma_f16 etc, even though the generated SPIRV looks good to me: I have instructions that operate on float16x2 like below. So I want to look at the LLVM IR that AMDVLK generates, to see why I don't get v_pk_fma_f16.
...
        %223 = OpFMul %v2half %217 %222
        %224 = OpFAdd %v2half %214 %223
...

Hi, I think the easiest way to debug this is to use the standalone amdllpc compiler. If you built amdvlk yourself, ninja amdllpc will compile build/compiler/llpc/amdllpc.
amdllpc can compile pipeline dumps: compiler/llpc/amdllpc -gfxip=10.1 PipelineCs_0x....pipe -v (-v will print the code in some stages)
It also supports any LLVM/llc options like -print-after-all, -debug, -stop-before, etc.

@Flakebi Thank you. I think I want to enable EmitLlvm option at https://github.com/GPUOpen-Drivers/llpc/blob/5e02b7edd1b77054bb36b7a33dccd60a63669204/lgc/state/LgcContext.cpp#L292-L296
Is using amdllpc with the option emit-llvm the right way to do it?

It may work if you add this to amdPalSettings.cfg:
LlpcOptions,-enable-outs=1 -shader-cache-mode=0 -include-llvm-ir=1
EnableLog,2

I think this creates a spvLogInfoLlpc file in the dump directory, which should contain LLVM IR.
For amdllpc, there are also pre-compiled binaries in the releases: https://github.com/GPUOpen-Drivers/AMDVLK/releases
The -emit-llvm option will stop compilation before reaching the llvm passes. It is useful to continue compilation with llc or opt. Adding it for the driver will probably make it crash, because no ISA is emitted.

Adding
LlpcOptions,-enable-outs=1 -shader-cache-mode=0 -include-llvm-ir=1
EnableLog,2

did create spvLogInfoLlpc file but there is no LLVM IR: its content is just
===============================================================================
// LLPC calculated hash results (compute pipeline)

PIPE : 0x518D90E96F2684B9
CS   : 0xA8982029420D564A

===============================================================================
// LLPC calculated hash results (compute pipeline)

PIPE : 0x836B2DF11A491DA8
CS   : 0x2B6A6CB39C329E5B

I'll try amdllpc tomorrow.

I can confirm that amdllpc with -enable-outs option dumps LLVM IR, thanks @Flakebi


Give Precedence to Normal Workspace Over Special Workspace for New Windows

Description
Give Precedence to Normal Workspace Over Special Workspace for New Windows
It's possible to add an option to prevent new windows opening in special workspaces instead of the normal workspace ,when the special workspace is active. Only the windows I explicitly enable will be in the special workspace using movetoworkspace, special.
https://github.com/hyprwm/Hyprland/assets/54718375/83c79850-d11e-433a-b152-bc68b4f7b8b2
Why?:  Maybe it's not the regular use case of a special workspace, but me and someothers usually use the special workspace to watch YouTube videos, as shown in the video. It's really annoying when I want to open a new window in the regular workspace when the special one is open (I need to manually move the window). It would be really helpful if you could add the option I mentioned.

why not use pinned floating instead of having the special workspace opened over the screen?

why not use pinned floating instead of having the special workspace opened over the screen?

Cuz I can't toggle window to hind

@vaxerski Did you plan to add this? Any updates?

MRs welcome

Just a hyprland user not a cpp developer

MRs welcome

Just a hyprland user not a cpp developer


Issue When Starting Server

container@pterodactyl~ Server marked as offline...
[Pterodactyl Daemon]: Updating process configuration files...
[Pterodactyl Daemon]: Ensuring file permissions are set correctly, this could take a few seconds...
container@pterodactyl~ Server marked as starting...
[Pterodactyl Daemon]: Pulling Docker container image, this could take a few minutes to complete...
Pulling from technoguyfication/skyrimtogether-egg
Status: Image is up to date for technoguyfication/skyrimtogether-egg:yolk-latest
Digest: sha256:d384e9c89c0263759809e288a3580644d2ee638e43704233b1bd49b63cab9f5b
[Pterodactyl Daemon]: Finished pulling Docker container image
:/home/container$ ./bin/SkyrimTogetherServer
./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by ./bin/SkyrimTogetherServer) ./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by ./bin/SkyrimTogetherServer)
./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by ./bin/SkyrimTogetherServer) ./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /home/container/bin/libSTServer.so)
./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /home/container/bin/libSTServer.so) ./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /home/container/bin/libSTServer.so)
./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /home/container/bin/libstdc++.so.6) ./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /home/container/bin/libstdc++.so.6)
./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /home/container/bin/libstdc++.so.6) container@pterodactyl~ Server marked as offline... [Pterodactyl Daemon]: ---------- Detected server process in a crashed state! ---------- [Pterodactyl Daemon]: Exit code: 1 [Pterodactyl Daemon]: Out of memory: false [Pterodactyl Daemon]: Updating process configuration files... [Pterodactyl Daemon]: Ensuring file permissions are set correctly, this could take a few seconds... container@pterodactyl~ Server marked as starting... [Pterodactyl Daemon]: Pulling Docker container image, this could take a few minutes to complete... Pulling from technoguyfication/skyrimtogether-egg  Status: Image is up to date for technoguyfication/skyrimtogether-egg:yolk-latest  Digest: sha256:d384e9c89c0263759809e288a3580644d2ee638e43704233b1bd49b63cab9f5b  [Pterodactyl Daemon]: Finished pulling Docker container image :/home/container$ ./bin/SkyrimTogetherServer ./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by ./bin/SkyrimTogetherServer)
./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by ./bin/SkyrimTogetherServer) ./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by ./bin/SkyrimTogetherServer)
./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /home/container/bin/libSTServer.so) ./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /home/container/bin/libSTServer.so)
./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /home/container/bin/libSTServer.so) ./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /home/container/bin/libstdc++.so.6)
./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /home/container/bin/libstdc++.so.6) ./bin/SkyrimTogetherServer: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /home/container/bin/libstdc++.so.6)
container@pterodactyl~ Server marked as offline...
[Pterodactyl Daemon]: ---------- Detected server process in a crashed state! ----------
[Pterodactyl Daemon]: Exit code: 1
[Pterodactyl Daemon]: Out of memory: false
[Pterodactyl Daemon]: Aborting automatic restart, last crash occurred less than 60 seconds ago.

Same pb

In case anyone else stumbles across this and wants a workaround, i switched the image to ghcr.io/parkervcp/steamcmd:debian after install and its working fine


feature/#1044 : more flexibility for tile expiration

New method MapTileDownloader.computeExpirationTime(Long pHttpExpiresTime) can be overridden in order to set specific expiration times.
Impacted class:

MapTileDownloader: added methods private long computeExpirationTime(String pHttpExpiresHeader) and overridable protected long computeExpirationTime(Long pHttpExpiresTime) in order to add flexibility; gently refactored

looks easily overridable. great. I'm afraid i jacked up your pr.


Navigation title backwards compatibility

Fixes navigation title backwards compatibility by adding custom view modifier.
Removes plistName from AcknowledgementsList for now as it's not used.

Sorry I made a mistake in the last PR and used a view modifier available only on iOS 14 and up.
This PR should fix it.

About plistName: #8 is releasing to that


binary: avoids copy in decodeUTF8

goos: darwin
goarch: arm64
pkg: github.com/tetratelabs/wazero/internal/integration_test/bench
                                   │   old.txt   │              new.txt              │
                                   │   sec/op    │   sec/op     vs base              │
Compilation_sqlite3/compiler-10      165.0m ± 0%   164.6m ± 0%  -0.26% (p=0.001 n=7)
Compilation_sqlite3/interpreter-10   48.33m ± 2%   47.82m ± 1%  -1.05% (p=0.004 n=7)
geomean                              89.31m        88.73m       -0.65%

                                   │   old.txt    │              new.txt               │
                                   │     B/op     │     B/op      vs base              │
Compilation_sqlite3/compiler-10      51.93Mi ± 0%   51.90Mi ± 0%  -0.06% (p=0.001 n=7)
Compilation_sqlite3/interpreter-10   51.79Mi ± 0%   51.76Mi ± 0%  -0.06% (p=0.001 n=7)
geomean                              51.86Mi        51.83Mi       -0.06%

                                   │   old.txt   │              new.txt              │
                                   │  allocs/op  │  allocs/op   vs base              │
Compilation_sqlite3/compiler-10      33.81k ± 0%   32.19k ± 0%  -4.81% (p=0.001 n=7)
Compilation_sqlite3/interpreter-10   17.03k ± 0%   15.40k ± 0%  -9.54% (p=0.001 n=7)
geomean                              23.99k        22.27k       -7.20%

oh zero length name...

If you want to avoid unsafe and the TODO, I'm pretty sure this can be done with strings.Builder, io.CopyN and utf8.ValidString.

Yes, but I don't think they'll escape, same as your buf := make([]byte, size) doesn't.
If they do, the current io.ReadFull is also fine.
But let me check, don't wanna waste your time.

You're right. Sorry for wasting your time. 😳


An option to use liburing without libc?

There are a couple of issues with liburing's libc dependency:

libc implementations of things like errno and malloc pollute the code with global/thread-local state. This makes reentrancy impossible and relocations expensive.
libc doesn't play nice with non-POSIX threading models, like green threads with small stack sizes, or direct use of the clone() system call. This makes interop with non-C languages/runtimes difficult.

One could use the raw syscall interface to io_uring to address these concerns, but that would be somewhat painful, so it would be nice for liburing to support this use case out of the box. Perhaps something like a NOLIBC macro could be added which, if defined, would patch out libc constructs and replace them with non-libc wrappers where applicable. A few API changes might be necessary for the non-libc case (e.g. io_uring_get_probe/io_uring_free_probe), but it shouldn't break existing applications as long as it's opt-in.

As far as I know liburing has no dependency! That said I did notice liburing released by the OS distributors add libc/glibc as its dependency. You could just download liburing and compile it yourself.

Sounds good, I actually have the same problem but never really brought it up here.

A few API changes might be necessary for the non-libc case (e.g. io_uring_get_probe/io_uring_free_probe), but it shouldn't break existing applications as long as it's opt-in.

Perhaps we can use VM directly with mmap() / munmap() syscall to replace malloc() / free() for the no libc case. That shouldn't be too hard to be done. I would be happy to volunteer to bring this feature to liburing.

As far as I know liburing has no dependency! That said I did notice liburing released by the OS distributors add libc/glibc as its dependency. You could just download liburing and compile it yourself.

liburing does depend on libc, the use of malloc() / free(), errno are the examples of it.

As far as I know liburing has no dependency! That said I did notice liburing released by the OS distributors add libc/glibc as its dependency. You could just download liburing and compile it yourself.

liburing does depend on libc, the use of malloc() / free(), errno are the examples of it.

Here is the shared library ldd output.
ammarfaizi2@integral:~/project/now/liburing/src$ ldd liburing.so.2.1.0
	linux-vdso.so.1 (0x00007ffea1fa0000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f45b3d24000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f45b3f30000)

I am sure we can safely ignore the linux-vdso. But to drop the libc, it needs to be reworked to use raw syscall directly, like invoking __asm__. I can start working on it for x86-64 arch, for other arch(s), I don't have the hardware to test.

O, since the *probe* function malloc/free  was used. I do like the idea of using mmap vs malloc

Found another libc dependency which the replacement is still unclear. I am not sure how to get the page size without sysconf(3).

ssize_t io_uring_mlock_size_params(unsigned entries, struct io_uring_params *p)
{
	// [...]
	// [...]
	// [...]
	// [...]

	page_size = sysconf(_SC_PAGESIZE);
	if (page_size < 0)
		page_size = 4096;

	return rings_size(entries, cq_entries, page_size);
}

libc implementations of things like errno and malloc pollute the code with global/thread-local state. This makes reentrancy impossible and relocations expensive.

The replacement for the errno will be ugly. We will have something like this all over the place:
		if (ret < 0) {
#ifdef LIBURING_NOLIBC
			err = ret;
#else
			err = -errno;
#endif
			break;
		}

(I don't think this is the right design)

Note that we are going to invoke syscall directly and don't use errno as error value.
The syscall will return a negative value within range -4095 .. -1 when error happens (that's the negative value of error code).

Any design idea to wrap it up?

I am thinking of wrapping everything with kernel space return value style, the change might be massive, but we can have a better solution for it.
For pointer return value
void *liburing_mmap(void *addr, size_t length, int prot, int flags,
		    int fd, off_t offset)
{
#ifdef LIBURING_NOLIBC
	/*
	 * Assume __raw_mmap is the syscall written in ASM.
	 *
	 * The return value is directly taken from the syscall
	 * return value.
	 */
	return __raw_mmap(addr, length, prot, flags, fd, offset);
#else
	/*
	 * This is when libc exists.
	 */
	void *ret;

	ret = mmap(addr, length, prot, flags, fd, offset);
	if (ret == MAP_FAILED)
		ret = ERR_PTR(-errno);

	return ret;
#endif
}

For integer return value
int __sys_io_uring_register(int fd, unsigned opcode, const void *arg,
			    unsigned nr_args)
{
#ifdef LIBURING_NOLIBC
	/*
	 * Assume __raw_io_uring_register is the syscall written in ASM.
	 *
	 * The return value is directly taken from the syscall
	 * return value.
	 */
	return __raw_io_uring_register(addr, length, prot, flags, fd,
				       offset);
#else
	/*
	 * This is when libc exists.
	 */
	int ret;

	ret = syscall(__NR_io_uring_register, fd, opcode, arg, nr_args);
	if (ret < 0)
		ret = -errno;

	return ret;
#endif
}

Sounds good, I actually have the same problem but never really brought it up here.

A few API changes might be necessary for the non-libc case (e.g. io_uring_get_probe/io_uring_free_probe), but it shouldn't break existing applications as long as it's opt-in.

Perhaps we can use VM directly with mmap() / munmap() syscall to replace malloc() / free() for the no libc case. That shouldn't be too hard to be done. I would be happy to volunteer to bring this feature to liburing.

I suppose that could work, although dedicating a whole page for a struct whose minimum size seems to be 24 bytes is wasteful. I was thinking of modifying the API so that the struct to fill in gets passed as an additional parameter, along with an inout capacity. Something like:
int io_uring_get_probe_ring(struct io_uring *ring, struct io_uring_probe *out, size_t *inout_size);
int io_uring_get_probe(struct io_uring_probe *out, size_t *inout_size);`

Then the user could allocate/deallocate the space however they want - whether through alloca, or mmap/munmap or whatever.

Found another libc dependency which the replacement is still unclear. I am not sure how to get the page size without sysconf(3).
ssize_t io_uring_mlock_size_params(unsigned entries, struct io_uring_params *p)
{
	// [...]
	// [...]
	// [...]
	// [...]

	page_size = sysconf(_SC_PAGESIZE);
	if (page_size < 0)
		page_size = 4096;

	return rings_size(entries, cq_entries, page_size);
}

Looking at musl‘s implementation of this, it hardcodes this particular value, so I don’t see why we can’t.

I am thinking of wrapping everything with kernel space return value style, the change might be massive, but we can have a better solution for it.
For pointer return value
void *liburing_mmap(void *addr, size_t length, int prot, int flags,
		    int fd, off_t offset)
{
#ifdef LIBURING_NOLIBC
	/*
	 * Assume __raw_mmap is the syscall written in ASM.
	 *
	 * The return value is directly taken from the syscall
	 * return value.
	 */
	return __raw_mmap(addr, length, prot, flags, fd, offset);
#else
	/*
	 * This is when libc exists.
	 */
	void *ret;

	ret = mmap(addr, length, prot, flags, fd, offset);
	if (ret == MAP_FAILED)
		ret = ERR_PTR(-errno);

	return ret;
#endif
}

For integer return value
int __sys_io_uring_register(int fd, unsigned opcode, const void *arg,
			    unsigned nr_args)
{
#ifdef LIBURING_NOLIBC
	/*
	 * Assume __raw_io_uring_register is the syscall written in ASM.
	 *
	 * The return value is directly taken from the syscall
	 * return value.
	 */
	return __raw_io_uring_register(addr, length, prot, flags, fd,
				       offset);
#else
	/*
	 * This is when libc exists.
	 */
	int ret;

	ret = syscall(__NR_io_uring_register, fd, opcode, arg, nr_args);
	if (ret < 0)
		ret = -errno;

	return ret;
#endif
}

Yep, had something similar in mind.

I think wrapping it in a kernel style return value is the sanest option.

Have just sent the RFC v1 here:
<EMAIL_ADDRESS>

@mrakh I am going to post the v2 soon, can you help me to review and test?
If you can, please let me know your email, I will add you to CC list.

Have just sent the RFC v2 here:
<EMAIL_ADDRESS>

Have just sent the RFC v3 here (trivial change, remove duplicate Signed-off-by):
<EMAIL_ADDRESS>

Naming like liburing_mmap seems odd to me, maybe uring_mmap or something a bit more clear as to what it is?

Naming like liburing_mmap seems odd to me, maybe uring_mmap or something a bit more clear as to what it is?

Agree with that, currently we have uring_likely and uring_unlikely. So it will be more compact and consistent style to have uring_{mmap,munmap,madvise,{get,set}rlimit}. Will address this for v4.

void io_uring_free_probe(struct io_uring_probe *probe)
{
	free(probe);
}

I am not sure where io_uring_free_probe() is actually called. Do we use that?

Ah I see, looking at test/probe.c, we have this:
static int test_probe_helper(struct io_uring *ring)
{
	struct io_uring_probe *p;

	p = io_uring_get_probe_ring(ring);
	if (!p) {
		fprintf(stderr, "Failed getting probe data\n");
		return 1;
	}

	if (verify_probe(p, 1)) {
		free(p);
		return 1;
	}

	return 0;
}

io_uring_free_probe() is the wrapper for that free() call. Should really use that in test.

Have just sent the RFC v4 here, please review and comment!
<EMAIL_ADDRESS>

Ahhh, wrong subject. It should have been
[PATCHSET v4 RFC liburing 0/3]

not
[PATCHSET v4 RFC liburing 0/4]

Sorry for that.

Have just sent the v5 here:
<EMAIL_ADDRESS>

Finally applied. I will start working on nolibc support, start from x86-64 arch. I will post my progress on this issue, stay tuned!

Found another libc dependency which the replacement is still unclear. I am not sure how to get the page size without sysconf(3).
ssize_t io_uring_mlock_size_params(unsigned entries, struct io_uring_params *p)
{
	// [...]
	// [...]
	// [...]
	// [...]

	page_size = sysconf(_SC_PAGESIZE);
	if (page_size < 0)
		page_size = 4096;

	return rings_size(entries, cq_entries, page_size);
}

Looking at musl‘s implementation of this, it hardcodes this particular value, so I don’t see why we can’t.

Right, I have just taken a look at musl implementation, it hardcodes the page size per arch.
See here: https://github.com/ammarfaizi2/musl/search?q="%23define+PAGESIZE"

As long as its multiple of 512, 4096 seems about right, also https://code.woboq.org/userspace/include/asm-generic/param.h.html#_M/EXEC_PAGESIZE

I've never met a page size other than 4096 though. It's probably safe to assume it's always 4096. In case we meet a special case, it will be a very simple change.
But of course, when we build with libc, we should rely on sysconf(3). It's just for the no libc case.

Non-4k pages do very much exist (eg ppc), so don't make any assumptions on 4096 always being the page size or it definitely won't work on select architectures that don't use 4k pages.

Non-4k pages do very much exist (eg ppc), so don't make any assumptions on 4096 always being the page size or it definitely won't work on select architectures that don't use 4k pages.

Ah, TIL. My bad. I've just read this one https://wiki.debian.org/ArchitectureSpecificsMemo
They do exist and there are many of them.

Finally we have support for nolibc x86-64. If anyone has any issue with these being applied, kindly to CC me.
Should we close this issue or leave it open until all architectures are supported?

Let's close it, all other archs will never happen! But now the framework is there to easily add others, I suspect that'll drip in as people need it.

This option is really helpful

@ammarfaizi2
But someone added some memset in the latest master branch?
relocation R_X86_64_PC32 against symbol memset' can not be used when making a shared object; recompile with -fPIC`

@ammarfaizi2 But did someone add memset in the latest master branch?
relocation R_X86_64_PC32 against symbol `memset' can not be used when making a shared object; recompile with -fPIC

I did. We need a memset() out of the libc. Anyway, it works just fine from my end. How did you build it?

./configure --nolibc
make

Then I statically linked the liburing.a to my own project. The project's gcc version is 4.9.2, glibc version is 2.17.
Then the link would fail because of the error I mentioned above.

Oh okay, liburing.a does not seem to be built with -fPIC here.
liburing.a is made of *.ol objects at this point:
ar r liburing.a setup.ol queue.ol register.ol nolibc.ol
ar: creating liburing.a
ranlib liburing.a

And we only build with -fPIC flag for *.os objects (that's for liburing.so, not liburing.a).
gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -g -fomit-frame-pointer -O2 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -c -o setup.ol setup.c
gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -g -fomit-frame-pointer -O2 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -c -o queue.ol queue.c
gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -g -fomit-frame-pointer -O2 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -c -o register.ol register.c
gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -g -fomit-frame-pointer -O2 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -c -o nolibc.ol nolibc.c
gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -fPIC -g -fomit-frame-pointer -O2 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -c -o setup.os setup.c
gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -fPIC -g -fomit-frame-pointer -O2 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -c -o queue.os queue.c
gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -fPIC -g -fomit-frame-pointer -O2 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -c -o register.os register.c
gcc -D_GNU_SOURCE -Iinclude/ -include ../config-host.h -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -fPIC -g -fomit-frame-pointer -O2 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector -c -o nolibc.os nolibc.c

The workaround for this would be always adding -fpic -fPIC flags for nolibc build.
Can you apply this diff and see whether it's a cure?
diff --git a/src/Makefile b/src/Makefile
index 09ff395..819ff61 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -36,9 +36,9 @@ liburing_srcs := setup.c queue.c register.c

 ifeq ($(CONFIG_NOLIBC),y)
        liburing_srcs += nolibc.c
-       override CFLAGS += -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector
-       override CPPFLAGS += -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector
-       override LINK_FLAGS += -nostdlib -nodefaultlibs
+       override CFLAGS += -fpic -fPIC -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector
+       override CPPFLAGS += -fpic -fPIC -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector
+       override LINK_FLAGS += -fpic -fPIC -nostdlib -nodefaultlibs
 else
        liburing_srcs += syscall.c
 endif

Oops, tabs broken, try this diff (resend).
diff --git a/src/Makefile b/src/Makefile
index 09ff395..819ff61 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -36,9 +36,9 @@ liburing_srcs := setup.c queue.c register.c

 ifeq ($(CONFIG_NOLIBC),y)
 	liburing_srcs += nolibc.c
-	override CFLAGS += -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector
-	override CPPFLAGS += -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector
-	override LINK_FLAGS += -nostdlib -nodefaultlibs
+	override CFLAGS += -fpic -fPIC -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector
+	override CPPFLAGS += -fpic -fPIC -nostdlib -nodefaultlibs -ffreestanding -fno-stack-protector
+	override LINK_FLAGS += -fpic -fPIC -nostdlib -nodefaultlibs
 else
 	liburing_srcs += syscall.c
 endif

@ammarfaizi2 It works.
BTW, what's the difference between .ol and .os ?  I'm only aware of .o object files.

@ammarfaizi2 It works.
BTW, what's the difference between .ol and .os ? I'm only aware of .o object files.

It's my first time to meet those extensions too. Only in liburing I see them.
But from the build script we know that *.os is to build liburing.so, and *.ol is to build liburing.a.

Could you merge this patch above?

Could you merge this patch above?

Alright, I think it's fine to always use -fpic and -fPIC only for nolibc build. Will send a patch for that for review. I will add a Reported-by tag if you want, so please provide your name and email.

@ammarfaizi2
Name: beef9999
Email<EMAIL_ADDRESS>

A name, not a username. We don't use stuff like that.
I assume it's the same as your GitHub account, is this fine?
Reported-by: Bob Chen<EMAIL_ADDRESS>

@ammarfaizi2 Sure

I've never met a page size other than 4096 though. It's probably safe to assume it's always 4096. In case we meet a special case, it will be a very simple change.
But of course, when we build with libc, we should rely on sysconf(3). It's just for the no libc case.

Here is one: M1 / M2 / M3 macs (AArch64) use a 16kb page size and Linux distros are configured accordingly: https://discussion.fedoraproject.org/t/switch-to-the-kernel-16k-variant/87711

Not sure what that is replying too, don't see the original? But yes, non-4k pages aren't that uncommon. Typing on one such machine right now... Outside of arm64, ppc also has a variety of page sizes.


Bring consistency in layers for Sprite / Canvas

The feature I would like to see upgraded
The layering feature for Canvas / Sprite
What needs to be enhanced
The layer attribute in Sprite are a signed int whereas on Canvas it's an unsigned int.
It means we can have negative layers on Sprite but not on Canvas.
Either is fine but both should work the same way.

Allowing negative values probably makes things easier as 0 acts as a "default" point, making more room for things in front of the default layer


Feature: Details Pane

Is your feature request related to a problem? Please describe.
Viewing details about specific files already exists. It should be possible to add a details pane on the side similar to the built-in File Explorer. This will allow the user to view file details without going to the properties.
Describe the solution you'd like
In the settings, add an option to show the details pane similar to File Explorer. Once enabled, the details pane should be on the right side showing the details about the file selected. If nothing is selected, the pane should show the details about the current folder. The details pane should not disappear when nothing is selected as this will cause confusion and cause the icons in the folder to move around unnecessarily.
Describe alternatives you've considered
Add a shortcut key that would automatically open a flyout showing the details. Possibly open the properties and automatically go the details tab automatically.
Additional context
Add any other context or screenshots about the feature request here. Ex: What device type/UI layout and app version?

@yaichenbaum Can you please assign me to this?

@yaichenbaum Can you please assign me to this?

Sure! Do you have any designs in mind before you start?

@yaichenbaum My plan is to use the design and most of the code from the properties: details page, but without the section headers and the clear properties button.
I was also planning on adding the file icon, an "open properties window" button, and ok/cancel buttons (that are revealed when the user makes a change) like Windows Explorer has.

What do you think about adding a grid splitter so users can resize the pane?

@yaichenbaum Good idea.

I think this is a space where some thought of information design could be put in.
Text hierarchy

Headers and body text, and ways to visualise the non-text based data.
Grouping of information such as permissions and status, and ordering these groups based on what typical file information a user wants to see.
Different filetypes may also display their file details in different ways.  Photos may focus on dimensions, the preview, as well as file size and formats.

@mdtauk
I agree with everything you said.
Personally I like the idea of using icons (like the one in the google photos sample). It would make it much more compact when the details pane is narrowed.
You also mentioned previews for photos, but what if we did previews for most file types? I think the way OneDrive does this is pretty solid.

@winston-de I think that this feature can be merged with #130.

@yaichenbaum Sounds good to me.

Here's a rough mockup I made.
https://user-images.githubusercontent.com/59544401/102841205-5b9da180-43b9-11eb-8ff0-bbcc10c36d0c.mp4

@mbeps #2756 implements this feature request, please let us know if you have any feedback.

@mbeps #2756 implements this feature request, please let us know if you have any feedback.

I have not received the update yet via the Microsoft Store. I will let you know when I receive it.

I have not received the update yet via the Microsoft Store. I will let you know when I receive it.


Fixes broken logo in README

Points the logo's (dark and light mode) to the docs repo instead of the published docs website (where they cannot be found).
Issue for this PR: https://github.com/theatre-js/theatre/issues/296

 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.

Merged. Thanks @mslooten!


How to use gif images?

trying to show a gif but it only display the first frame.
I use the fresco library with react native and it works but with this one nothing...
 <FrescoDrawee #drawee verticalAlignment="center"  aspectRatio="2" imageUri="https://media2.giphy.com/media/3oKIPvQWkVBKRkPYJy/giphy.gif"></FrescoDrawee>
Thanks

@98falcon Did you try to set the autoPlayAnimations="true" or you could implement a manual start using the finalImageSet event as described here.
You can also take a look at the demo app that showcases all of the available functionality like the autoPlayAnimations here.

Closing this issue due to no activity.


Unexpected import syntax

I just found this crate and it seems great for my use case, but I had some difficulty getting imports to work when porting my shaders. I previously used naga_oil's direct item imports, #import module::item, but this syntax was not accepted just by adding .wgsl to the module name (#import module.wgsl::item).
After looking through the source, I found the regex used to find imports is actually looking for #import module.wgsl item. It would be nice if this was the same syntax as regular naga_oil, or if the different syntax is necessary, it would be nice to have a note about this in the README.

The direct naga-oil import syntax was added since the import logic in this crate was written - I'll see if I can find some time in the next few days to allow the richer import forms.

No worries! I can open a PR if that'd be easier. From when I was looking it should be pretty minor changes.

That'd be great!


Create a tool to list files changed since a tag

As requested by @dragon512
The default (no args) is to ouput all files changed since the
most recent tag (lexicographically speaking) to stdout.
Run it with -h or --help to see a full description.

I'm less convinced this works than when I opened the PR. Testing some more.

Can we put this into tools/reports ? There's one other similar tool in there.

Hey Dan,
Sorry i had to take off for personal issue at home. I wanted a script that would:

get changes since last tag or a certain format
filter out messages
possible reformat of certain strings ( such as jira or issues)
format the output to some template

for example we would want to have something like:
Version 7.0.2 (09/15/16, solidwallofcode, jkenny)

change one
change two

i.e. the reason for the template input as others might want to have a different format.
I was thinking python and jinga would be your friends here.

Sounds like a git alias, or git shortlog.

Forget about this for now


Use yarn when npm not exist

Problem description
.
Neovim version (>= 0.6)
NVIM v0.8.0-dev
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Operating system/version
Linux localhost 4.19.132-23682023 #1 SMP PREEMPT Mon Mar 14 11:16:00 +07 2022 aarch64 Android
I've recently downloaded the latest plugin version of both nvim-lsp-installer and nvim-lspconfig

[X] Yes

Affected language servers
.
Actual behavior
.
Expected behavior
Install with yarn when npm don't exist
Healthcheck output
nvim-lsp-installer: require("nvim-lsp-installer.health").check()
========================================================================
## nvim-lsp-installer report
  - OK: neovim version >= 0.7.0
  - WARNING: **Ruby**: not available
  - WARNING: **RubyGem**: not available
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - ERROR: **npm**: not available
  - WARNING: **javac**: not available
  - WARNING: **java**: not available
  - WARNING: **julia**: not available
  - OK: **tar**: `tar (GNU tar) 1.34`
  - OK: **gzip**: `gzip 1.12`
  - OK: **wget**: `GNU Wget 1.21.3 built on linux-android.`
  - OK: **python3**: `Python 3.10.4`
  - OK: **cargo**: `cargo 1.60.0`
  - OK: **Go**: `go version go1.18.1 android/arm64`
  - OK: **curl**: `curl 7.83.0 (aarch64-unknown-linux-android) libcurl/7.83.0 OpenSSL/3.0.2 zlib/1.2.12 libssh2/1.10.0 nghttp2/1.47.0`
  - OK: **sh**: `Ok`
  - OK: **bash**: `GNU bash, version 5.1.16(1)-release (aarch64-unknown-linux-android)`
  - OK: **node**: `v17.9.0`
  - OK: **pip3**: `pip 22.0.4 from /data/data/com.termux/files/usr/lib/python3.10/site-packages/pip (python 3.10)`

Screenshots
No response

I'd prefer to avoid this (see https://github.com/williamboman/nvim-lsp-installer/issues/458#issuecomment-1030392612). Out of curiosity - how come you don't have npm installed?

You could uninstall it

Ah ok. npm is currently a requirement to install Node-based LSP servers that are distributed via npm! If you want to use yarn you can override default servers with a custom install method where you use yarn


Added progress indicator for courses that match subaccount & term id …

Added progress indicator:
Printout: Getting data for cname [count/total]
Done by traversing the paginated list returned by the canvasapi and filtering to the necessary term_id and counting
Also add printout at start: Querying courses in <account.name>... -- to indicate that it's running and not stalled

ran, like it!


Improve the topicPublishInfo cache in producer

The issue tracker is ONLY used for bug report(feature request need to follow RIP process). Keep in mind, please check whether there is an existing same report before your raise a new one.
Alternately (especially if your communication is not a bug report), you can send mail to our mailing lists. We welcome any friendly suggestions, bug fixes, collaboration and other improvements.
Please ensure that your bug report is clear and that it is complete. Otherwise, we may be unable to understand it or to reproduce it, either of which would prevent us from fixing the bug. We strongly recommend the report(bug report or feature request) could include some hints as the following:
FEATURE REQUEST

Please describe the feature you are requesting.
Increase the cache for invalid topics

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 using -[] for each subtask 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,
...
When autoCreateTopicEnable is set to false and the topic specified by the producer does not exist, it will communicate with the nameserver twice before each message is sent.(One is the original topic, the other is TBW102)
(See DefaultMQProducerImpl.tryToFindTopicPublishInfo, line 698)

In the above cases, a large number of invalid accesses will be generated to the nameserver, Therefore, I added a caching mechanism for invalid topic information.
The following is the pressure test data of the nameserver before and after the modification
Use 4-threads to send messages to non-existent topics (TopicTest)
sh bin/run_rmq_producer.sh TopicTest xxx.xxx.xxx.xxx:9876 4 1 true &> nohup.out &
befor:

after:

@RongtongJin @guyinyou  Can you tell me where i can get the run_rmq_producer.sh, i can't find the script in project, i want do some tests too, Thank your.

Can you guys help me?

You can use openmessage-benchmark to achieve the same effect, because a very simple producer example suffices for this test

You can use openmessage-benchmark to achieve the same effect, because a very simple producer example suffices for this test

@guyinyou Thank your recommendation, i just want to know where the script is, because this script looks very convenient and easy to use, it was written by yourselves?

You can use openmessage-benchmark to achieve the same effect, because a very simple producer example suffices for this test

@guyinyou Thank your recommendation, i just want to know where the script is, because this script looks very convenient and easy to use, it was written by yourselves?

tar the rocketmq.tar.gz and scripts in benchmark/ directory, can also see source code in org/apache/rocketmq/example/benchmark/Producer.java

@meateggmilk No, there only a producer.sh but not run_rmq_producer.sh.

run_rmq_producer

I wrote it myself, but it's been a long time and I can't find it


Change method calling arguments at updateUserListOfRoleInternal

Purpose

Capture the POST_UPDATE_USER_LIST_OF_ROLE event for roles in any domain.

References

Fix POST_UPDATE_USER_LIST_OF_ROLE event is not captured for roles in Intenal and Application domains #12115

Closing since this is a blocker for a release.

Handled with https://github.com/wso2/carbon-kernel/pull/3048


Update docs/tutorial packaging.rst

Slightly misleading file path, added full path

Thanks, but I'm currently rewriting the tutorial, so this won't apply. If you find issues with other parts of the docs, fixes are welcome! 🙂

Cool, no worries


Count tweets by the issues they reference

So, what were the counts you got?

1790 War & Peace
 887 Tax Reform
 362 Gun Control
 306 Energy & Oil
 257 Jobs
 213 Families & Children
 203 Immigration
 172 Crime
 156 Free Trade
 147 Health Care
  87 Foreign policy
  82 Education
  74 Religion
  60 Welfare & Poverty
  55 Corporations
  47 Drugs
  41 Civil Rights
  31 Environment
  24 Infrastructure & Technology
   6 Criminal Justice
   5 Homeland Security

Cool. Also, I'd recommend you look at a few tweets that match the pattern
to verify that they are precise. And record how many don't match (I.e what
is the sample size?)
On May 14, 2016 7:33 PM, "Onkur Sen"<EMAIL_ADDRESS>wrote:

1790 War & Peace
887 Tax Reform
362 Gun Control
306 Energy & Oil
257 Jobs
213 Families & Children
203 Immigration
172 Crime
156 Free Trade
147 Health Care
87 Foreign policy
82 Education
74 Religion
60 Welfare & Poverty
55 Corporations
47 Drugs
41 Civil Rights
31 Environment
24 Infrastructure & Technology
6 Criminal Justice
5 Homeland Security
—
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
https://github.com/arunchaganty/aeschines/pull/4#issuecomment-219262646


Set source type dynamically in hooks API

Is your feature request related to a problem? Please describe.
I'm not able set item type dynamically based on a condition. In the legacy API it's possible to set it conditionally by passing a function to source type e.g.
DragSource((props: Props) => (props.condition ? 'TYPE1' : 'TYPE2'), ...)

In the hooks API, I tried to pass the item based on a condition, but it just takes the initial type and never updates it.
useDrag({
  item: props.condition
    ? { type: 'TYPE1', ...}
    : { type: 'TYPE2', ...}
  ,...
})

I also tried to use begin callback but it didn't update the type, either.
Am I doing something wrong? Normally, should it update the type or is it the expected behavior? Since hooks are part of the component lifecycle, I thought it would automatically update its state based on the passed props. I checked the docs but couldn't find an alternative or description how it would behave in the hooks API.
Describe the solution you'd like
I would like to be able to set source type dynamically.
Describe alternatives you've considered
Additional context
react: v16.8.2
react-dnd: v8.0.3
typescript: v3.5.2

You're returning an expression. Have you tried returning a function?
useDrag({
  item: () => props.condition
    ? { type: 'TYPE1', ...}
    : { type: 'TYPE2', ...}
  ,
// ...
})

// OR

useDrag({
  item: { type: props.condition ? 'TYPE1' : 'TYPE2' }
// ...
})

I'm no expert but throwing possible workarounds out there.

@waynevanson Thanks for the suggestion but item only accepts object with string | symbol typed type prop.

Having the same problem here

Please, consider this feature in your roadmap.

Type can be set dynamically by using begin() method

begin(monitor): Optional. Fired when a drag operation begins. Nothing needs to be returned, but if an object is returned it will override the default item property of the spec.

useDrag works like a useCallback. Thus, you can pass a dependency array as the second argument to useDrag like this:
useDrag(() => {/your object/}, [/your props enfluencing the result/]).
P.S. It works in at least v14.0.2, but maybe in earlier ones too


Priority in completion

It turns out FCS returns completion items in interesting order in some cases, but Roslyn ignore it and sort everything alphabetically. However, it provides a way to sort as you wish. This PR pass CompletionPriority property for each item, which is used to sort items.
Currently it shows arguments and writable properties names at the top of completion list:

Thought whether it's a good behavior or not?

Need to think more about it, but locals (in order of proximity, closest first) should have priority IMHO, then parameters, then members (can we list static members prefixed with the type as it is required in F#?) then all the rest (like AbstractClassAttribute).
R# seems to list locals first (well, after null):

It also has that ctrl+shift+alt mode which will trim the list to expressions that match the expected type at insertion point:

Can we get the type of expressions to display in the list? this information is really helpful.
I also wish the list was resizeable at times (when you complete on a type which has zillions of members).

We cannot adjust the list (size, show type, etc.)

@vasily-kirichenko  I think this is a good change of behavior.

Own static members are shown first:

Own instance members are shown first:

Own enum fields are shown first:

Priorities like in R#:

own fields
inherited fields
own props
inherited props
own methods
inherited methods
own events
inherited events
everything else

@vasily-kirichenko yes, correction: props come first before fields, last is postfix completion templates (we should consider that, for match, for in and some others, but not part of this PR).
Also, each time you commit a completion, it puts the item first in the list (on top of the order you listed), in decreasing order of number of times that item was commited, this is very handy.

It's ready.

I've merged this branch to https://github.com/Microsoft/visualfsharp/pull/2532 because these two touch same areas of the codebase and have a lot of merge conflicts, there's no reason to keep them both.


Added support for Delphi 7 (and other versions Delphi?)

Now you can use QOI in older versions of Delphi (tested Load\Save QOI in Delphi 7)
TODO:
More tests.
Any ideas, suggestions.

Thanks. Hopefully fixed now.


Sidedocs loads straight into the JS view (on load only)

The side docs assumes on first load that the file is going to be a Javascript file when it loads.

The editor is supposed to communicate the current editor to the docs view.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Sam El-Husseini<EMAIL_ADDRESS>Sent: Friday, April 14, 2017 4:36:51 PM
To: Microsoft/pxt
Cc: Subscribed
Subject: [Microsoft/pxt] Sidedocs loads straight into the JS view (on load only) (#1904)
The side docs assumes on first load that the file is going to be a Javascript file when it loads.
[screen shot 2017-04-14 at 4 35 53 pm]https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcloud.githubusercontent.com%2Fassets%2F16690124%2F25058620%2F8090993e-2130-11e7-9aac-7afb3f5734dd.png&data=02|01|jhalleux%40microsoft.com|579c1439627040d08cc808d4838f2157|72f988bf86f141af91ab2d7cd011db47|1|0|636278098143338793&sdata=hdGz6ofSwd9oJ07wfg2WxuI7hYR8Mv%2F%2FFb764hKG7Ek%3D&reserved=0
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fpxt%2Fissues%2F1904&data=02|01|jhalleux%40microsoft.com|579c1439627040d08cc808d4838f2157|72f988bf86f141af91ab2d7cd011db47|1|0|636278098143338793&sdata=%2BMiWh7scs4lBw1fAKQIJyFtpE8wawfiRLBetvrbNd38%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAD-4KTZZioCd4KzI2s53zVg2-N2tNqWhks5rwAMTgaJpZM4M-Lfi&data=02|01|jhalleux%40microsoft.com|579c1439627040d08cc808d4838f2157|72f988bf86f141af91ab2d7cd011db47|1|0|636278098143338793&sdata=01Wwu8NNA6Bq2LiC%2BD2JjpphHyH4wmCMLvVPe7HuD4U%3D&reserved=0.

Yeah, but our initial state is to start in the text Editor, and we start the docs too early, before we've switched over. Going to change the logic up a little bit.


[Backend] Otp Verification issue with Login Brand Fixed

Description
It included backend and front end changes. Now from brand sign up -> otp sending -> otp verification -> create account -> login brand. complete work flow is fixed and working.
Issue
Issue Link resolve #42

@Kajol-Kumari  can you please check and merge it.