Eliminate the IRenderTarget interface

Summary of the Pull Request
The purpose of the IRenderTarget interface was to support the concept
of multiple buffers in conhost. When a text buffer needed to trigger a
redraw, the render target implementation would be responsible for
deciding whether to forward that redraw to the renderer, depending on
whether the buffer was active or not.
This PR instead introduces a flag in the TextBuffer class to track
whether it is active or not, and it can then simply check the flag to
decide whether it needs to trigger a redraw or not. That way it can work
with the Renderer directly, and we can avoid a bunch of virtual calls
for the various redraw methods.
PR Checklist

[x] Closes #12551
[x] CLA signed.
[ ] Tests added/passed
[ ] Documentation updated.
[ ] Schema updated.
[x] I've discussed this with core contributors already. Issue number
where discussion took place: #12551

Detailed Description of the Pull Request / Additional comments
Anywhere that had previously been getting an IRenderTarget from the
TextBuffer class in order to trigger a redraw, will now just call the
TriggerRedraw method on the TextBuffer class itself, since that will
handle the active check which used to be the responsibility of the
render target. All the redraw methods that were in IRenderTarget are
now exposed in TextBuffer instead.
For this to work, though, the Renderer needed to be available before
the TextBuffer could be constructed, which required a change in the
conhost initialization order. In the ConsoleInitializeConnectInfo
function, I had to move the Renderer initialization up so it could be
constructed before the call to SetUpConsole (which initializes the
buffer). Once both are ready, the Renderer::EnablePainting method is
called to start the render thread.
The other catch is that the renderer used to setup its initial viewport
in the constructor, but with the new initialization order, the viewport
size would not be known at that point. I've addressed that problem by
moving the viewport initialization into the EnablePainting method,
since that will only be called after the buffer is setup.
Validation Steps Performed
The changes in architecture required a number of tweaks to the unit
tests. Some were using a dummy IRenderTarget implementation which now
needed to be replaced with a full Renderer (albeit with mostly null
parameters). In the case of the scroll test, a mock IRenderTarget was
used to track the scroll delta, which now had to be replaced with a mock
RenderEngine instead.
Some tests previously relied on having just a TextBuffer but without a
Renderer, and now they require both. And tests that were constructing
the TextBuffer and Renderer themselves had to be updated to use the
new initialization order, i.e. with the renderer constructed first.
Semantically, though, the tests still essentially work the same way as
they did before, and they all still pass.

Note that this is going to conflict with PR #12561, but it shouldn't be hard to resolve once that's merged.

I'm sorry, we made IRenderTarget slightly worse in #12358.

No problem. It's wasn't a big deal to merge, and I suspect it could have been a lot worse going in the other direction.


Allow users to set up more than one Laptop Gun sentry

Here's a draft PR to allows users to set up up to 1000 sentry guns instead of just one. This can be fun in multiplayer, where you can have a level covered with sentries everywhere.
This is a draft PR just to gauge interest. If this is something we'd want, this would likely need to be a setting somewhere, or potentially a cheat. I'm not sure how that would work since the game allocates memory for a certain number of sentries, so I don't know how to make that dynamic yet but I can spend a bit of time and figure that out if there's interest.
As it currently is, this game works well most of the time but the game does crash sometimes.

To be honest, I think 10 is more than sufficient. :P

You haven't met my kid 😀
Unfortunately I think this change makes the game crash randomly every once in a while.

You haven't met my kid 😀 Unfortunately I think this change makes the game crash randomly every once in a while.

I still feel like there should be a limiter option for this lol.


Remove extraneous heading in Create stream UI

The stream creation UI has two redundant heading for the message retention policy. We should fix this.

Specifically, we should:

[ ] Drop the "Message retention for stream" heading
[ ] Replace the "i" after the "Message retention period" heading with a question mark pointing to /help/message-retention-policy, just as we currently have after the "Message retention for stream" heading.

@alya can i work on this one?

Sure, please follow the instructions in the contributor guide, and claim the issue once you know how you will approach solving it.

@zulipbot claim


ERR during installation

Hi,
I got the following error when running npm install from higlass-website.

binding.target.mk:115: recipe for target 'Release/obj.target/binding/src/binding.o' failed
make: *** [Release/obj.target/binding/src/binding.o] Error 1
make: Leaving directory '/opt/estrella/higlass-website/node_modules/node-sass/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/opt/estrella/higlass-website/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:225:12)
gyp ERR! System Linux <IP_ADDRESS>.amd64-smp
gyp ERR! command "/opt/estrella/.linuxbrew/Cellar/node/10.0.0/bin/node" "/opt/estrella/higlass-website/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /opt/estrella/higlass-website/node_modules/node-sass
gyp ERR! node -v v10.0.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
Build failed with error code: 1
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0-0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0-0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| 15.x || 16.x but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| 15.x || 16.x but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: node scripts/build.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /opt/estrella/.npm/_logs/2018-04-27T10_56_55_188Z-debug.log

I can share the debug.log file if required. Appreciate any help in resolving this.
I am working on debian, and am using linuxbrew. I have already installed higlass-server and higlass successfully. I am attempting individual installations of the components since, unfortunately, I can't have docker images running on our servers.
Thanks.
-Sarvesh

Issue reported at https://github.com/sass/node-sass/issues/428 seems to be similar/same to what I am encountering. I will try some options suggested there and update if it works.

Ok, so I installed node-sass separately, and had to take care of the peer dependencies. (Never used node.js or npm before; new to the terminology.)

npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.

And, then did npm start to get the following error:

npm start

<EMAIL_ADDRESS>start /opt/estrella/higlass-website
gulp serve
[14:39:52] Requiring external module babel-register
gulp[7654]: ../src/node_contextify.cc:631:static void node::contextify::ContextifyScript::New(const v8::FunctionCallbackInfov8::Value&): Assertion args[1]->IsString() failed.
1: node::Abort() [gulp]
2: 0x55de0c28650d [gulp]
3: node::contextify::ContextifyScript::New(v8::FunctionCallbackInfov8::Value const&) [gulp]
4: v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*) [gulp]
5: 0x55de0c4dce92 [gulp]
6: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) [gulp]
7: 0x38eaa7c8427d
Aborted
npm ERR! code ELIFECYCLE
npm ERR! errno 134
npm ERR<EMAIL_ADDRESS>start: gulp serve
npm ERR! Exit status 134
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /opt/estrella/.npm/_logs/2018-04-27T12_39_53_905Z-debug.log

Any idea?
Thanks.

Resolved the above gulp serve issue by following instructions at https://github.com/gulpjs/gulp/issues/2162, and finally got the higlass-website running!


Vanilla JS

Cool project!
It would be awesome to get this lib written in vanilla for those who don't want to use jQuery as dependency.

Agreed :)
Do you know any alternative that do not use jQuery?


Add a regression/crash repro task

The task will take as input a set of crash inputs and determines which ones are causing a crash.

We can probably reuse the crash report tasks, and make them process just the containers, then exit rather than waiting on the queue.


Implement retrieving GuiSettings

This allows retrieving some settings which can be used to determine how certain data (e.g. the expected range) can be represented to the user because the user may expect metric instead of the default imperial values.
Also remove debug printf() while here.

thanks again


add 'option' to php_pear

this might help if we want to specify some option in the installation process like the "-Z" for example

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@abdelkrimdev

Please sign the CLA here.

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.


Expansion service selection should be keyed by service name

By design, manager decides which expansion service to call by examining the Expander.Name property of Chart.yaml.
Currently, however, it's hard wired to recognize the value Expandybird, which it maps to the existing expandybird service. This behavior needs to change to make the property value a service name, which manager looks up using DNS.
Note that when we make this change, we may be bitten by the DNS issue in the alpine:3.3 base image we're using for manager. We should therefore use the existing service lookup code that manager uses to find Expandybird, which checks environment variables first, then falls back to DNS. That way, we will be able to find and call all expansion services started before manager. A bit of a hack, perhaps, but it should suffice for Go template expansion and Jsonnet while we wait for alpine:3.4.
Also, note that when this change is made, all existing charts whose Chart.yaml Expander.Name property contains the value Expandybird will break. They will need to change the value to expandybird-service to be consumable.

See also #222.


ENH: Add function to handle stale IsRunning files

This is a proof of concept for what was discussed in #41
A few things to note:

The only way IsRunning files will be removed is if they have a modification time of > 1 day/24 hours/86400 seconds from the time of running.
This is implemented as an overwrite Node, meaning it will always rerun.
The function always returns the subject_dir, which is then passed to surface_recon_wf to ensure any necessary cleaning has occured.

I will add some testing if we decide to go this route

Codecov Report

Merging #207 into master will decrease coverage by 1.48%.
The diff coverage is 12.00%.

@@            Coverage Diff             @@
##           master     #207      +/-   ##
==========================================
- Coverage   71.48%   70.00%   -1.49%
==========================================
  Files          15       15
  Lines         996     1020      +24
  Branches      136      141       +5
==========================================
+ Hits          712      714       +2
- Misses        237      259      +22
  Partials       47       47

Flag
Coverage Δ

#ds005
63.49% <12.00%> (-1.34%)
:arrow_down:

#ds054
50.24% <8.00%> (-1.12%)
:arrow_down:

Impacted Files
Coverage Δ

smriprep/utils/misc.py
5.40% <4.34%> (-1.74%)
:arrow_down:

smriprep/workflows/anatomical.py
68.42% <100.00%> (+0.20%)
:arrow_up:

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 33c2c80...d580295. Read the comment docs.

Hello @mgxd! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file smriprep/utils/tests/test_misc.py:

Line 5:1: E302 expected 2 blank lines, found 1
Line 14:1: E302 expected 2 blank lines, found 1
Line 27:51: W292 no newline at end of file


Errors after downloading JavaScript bundle

Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s%s, undefined,  You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Check your code at Button.js:38.,
    in Button (at Welcome.js:144)
    in RCTView (at Block.js:155)
    in Block (at Welcome.js:143)
    in RCTView (at Block.js:155)
    in Block (at Welcome.js:129)
    in Welcome (at SceneView.js:9)
    in SceneView (at StackViewLayout.tsx:899)
    in RCTView (at StackViewLayout.tsx:898)
    in RCTView (at StackViewLayout.tsx:897)
    in RCTView (at createAnimatedComponent.js:151)
    in AnimatedComponent (at StackViewCard.tsx:106)
    in RCTView (at createAnimatedComponent.js:151)
    in AnimatedComponent (at screens.native.js:71)
    in Screen (at StackViewCard.tsx:93)
    in Card (at createPointerEventsContainer.tsx:95)
    in Container (at StackViewLayout.tsx:985)
    in RCTView (at screens.native.js:101)
    in ScreenContainer (at StackViewLayout.tsx:394)
    in RCTView (at createAnimatedComponent.js:151)
    in AnimatedComponent (at StackViewLayout.tsx:384)
    in PanGestureHandler (at StackViewLayout.tsx:377)
    in StackViewLayout (at withOrientation.js:30)
    in withOrientation (at StackView.tsx:104)
    in RCTView (at Transitioner.tsx:267)
    in Transitioner (at StackView.tsx:41)
    in StackView (at createNavigator.js:80)
    in Navigator (at createKeyboardAwareNavigator.js:12)
    in KeyboardAwareNavigator (at createAppContainer.js:430)
    in NavigationContainer (at App.js:62)
    in RCTView (at Block.js:155)
    in Block (at App.js:61)
    in App (at withExpoRoot.js:26)
    in RootErrorBoundary (at withExpoRoot.js:25)
    in ExpoRoot (at renderApplication.js:40)
    in RCTView (at AppContainer.js:101)
    in RCTView (at AppContainer.js:119)
    in AppContainer (at renderApplication.js:39)
`

Also this one:
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Check the render method of `Button`.

@litehacker hey, do you version of Expo and React-Native you'r using?

any word on this bug? I got the same bug
"expo": "^36.0.0",
"react": "16.9.0",

@devbrunopaula I think this is because the current code base in based on an older expo version. I'll update the code base to the latest versions.


Version 0.5.1

after update 0.5.1, the text translation for the Blueprint Rune menu was lost, if you go back to version 0.5.0 everything works fine

if delete the file Plan Build.english.json and leave the file Plan Build.russian.json

That's strange. Which Jötunn version do you use? Is it just the GUI?

[Info   :    Jotunn] Jötunn v2.2.7 loaded successfully

*$!"&&§$% - found the bug in jötunn :) The event gets fired too early

Will be fixed with PlanBuild 0.5.2 and Jötunn 2.2.8


cleanup and refactor imports

Goal
The goal of this PR is to continue chore #294  and continue to refactor node/runtimes
This does not close the issue but is a progressive update
Tests

[x] Run frequency and ensure things are working as expected

Closing this PR, will be included in mainnet specs


Change Draenai "The Way Forward" quest objectives

It should not require a upgrade to t3, as there's already a t3 base in the exodar regali.

working on this


Add support for AwkwardArray structures

@tacaswell and I have wanted to add support for AwkwardArrays from the start, but I think we do not have a GH Issue for it yet.
Notes from chat with @jpivarski a couple weeks ago...
Requirements:

We would like to support upload and download of AwkwardArray structures.
In the Python client we would like the option to access the data with or without dask-awkward.
In normal Tiled fashion, we would like to be able to download a specific slice of interest, and we would like the Tiled server to be able to only read, serializing, and transmit the specific slice of interest.

Proposed Approach:

We considered using Arrow to transport AwkwardArrays between client and server. However, representing Awkward in Arrow blurs out detailed form information. Specifically, it loses the form_key that can be used to address specific buffers.
Instead, we will operate directly on AwkwardArray's own representation, which comprises JSON-encodable form, outer length (an integer), and a dict-like container whose keys are referenced in the form and whose values are buffers.
By reusing the typetracer machinery in awkward (which was developed to support dask-awkward) we can project a slice into a form and get a "projected form". The example below illustrates this, and uses only one piece of internal awkward API (_touch_data). This could conceivably be made into a public method.
HTTP endpoints may look roughly like:/api/v1/awkward/full/{path_to_dataset}?slice=...
/api/v1/awkward/buffers/{path_to_dataset}?form_key=...&form_key=...&form_key=...&slice=...

Multiple buffers may be encoded in a container format like TAR or ZIP (not necessarily compressed, just used as a container). @jakirkham pointed out an advantage of ZIP: web browsers understand it.

Code snippet:
import numpy as np
import awkward as ak

# The array we want to talk about.
array = ak.Array(
    [[{"x": 1.1, "y": [1]}, {"x": 2.2, "y": [1, 2]}], [], [{"x": 3.3, "y": [1, 2, 3]}]]
)

# On the server, you separately store form, length, and all the named buffers.
form, length, container = ak.to_buffers(array)

# When a client wants a lazy (slice-only) object, send them the form+length
# and keep a type-tracer array in your TiledObject's metadata.
meta_step1 = ak.Array(
    form.length_zero_array(highlevel=False).to_typetracer(forget_length=True)
)

# Second type-tracer array will tell us the set of buffers that the result of
# the slice will need, so that the client can make multiple requests.
typetracer, report = ak.typetracer.typetracer_with_report(
    form,
    forget_length=True,
)
meta_step2 = ak.Array(typetracer)

# You can test the slice on meta_step1 or meta_step2, but meta_step2 will also
# tell you which buffers of the *sliced* array you'll need.
try:
    meta_step2[0, "y", 1:].layout._touch_data(recursive=True)
except:
    print("Nope, you can't do it!")
else:
    print("Yes, you can.")

# This is a list of nodes (prefixes of form_keys) in the *sliced* array.
print(report.data_touched)
form_keys_touched = set(report.data_touched)

# Having decided that a slice is okay, serialize it and send it to the server.
# Maybe send one HTTP request per node/expected form_key, but maybe not.

# On the server, get an array to slice. We only want to read the parts that
# will survive after slicing. Do it by making a meta_step2, slice, and look
# at the report.

# Let's assume at this point that we have a report with the nodes that are touched.

# Project the form onto a smaller form that doesn't have record fields that won't
# survive the slice.

def project_form(form):
    if isinstance(form, ak.forms.RecordForm):
        if form.fields is None:
            original_fields = [None] * len(form.contents)
        else:
            original_fields = form.fields

        fields = []
        contents = []
        for field, content in zip(original_fields, form.contents):
            projected = project_form(content)
            if projected is not None:
                fields.append(field)
                contents.append(content)

        if form.fields is None:
            fields = None

        return form.copy(fields=fields, contents=contents)

    elif isinstance(form, ak.forms.UnionForm):
        raise NotImplementedError

    elif isinstance(form, (ak.forms.NumpyForm, ak.forms.EmptyForm)):
        if form.form_key in form_keys_touched:
            return form.copy()
        else:
            return None

    else:
        if form.form_key in form_keys_touched:
            return form.copy(content=project_form(form.content))
        else:
            return None

projected_form = project_form(form)

print(form)
print(projected_form)

projected_container = container

projected_array = ak.from_buffers(projected_form, length, projected_container)

print(repr(projected_array))

print(repr(projected_array[0, "y", 1:]))

# Send that!

Notes from discussion today:

When Awkward arrays are uploaded via HTTP, a good storage format is directory-of-buffers, where the filename is the form key. This enables a future enhancement where buffers can be added (and removed and updated) without copying all the unchanged buffers. More standard formats like Parquet would not enable this.
The form itself, and the length, will be in the tiled "structure" in the database.
Structures are often repeated. A run of many root files many have an identical structure. There could be benefit in the future to storing this in a separate table, with a foreign key. It matters more for awkward than for array because the form JSON can be comparatively large.
Serving a directory of existing root files is a sensible thing to try. But, to start, the whole root file will have to be marshaled from disk. Grabbing selecting columns (or form keys...) would require detailed knowledge of root. This is a kerchunk-like optimization. Note that for PB-scale root files the offsets themselves---the table of contents, so to speak---is itself TB-scale. JSON encoding is not the way.

This is well begun and released in v0.1.0a107, but there are some interesting ideas above I want to address or capture in separate GH issues before closing this.


Update pom.xml

 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.

@MonishK2002 fix CI:

@hsluoyz I noticed that my recent PR to update the casdoor-java-sdk version in the casdoor-spring-boot-starter project was closed. Could you please provide more details or feedback on why it was closed? I want to ensure that any necessary adjustments are made and that the update can be successfully integrated.

@MonishK2002

CI errors
No context in PR title or content

@hsluoyz
Thank you for your feedback regarding the CI errors.
I understand that my PR lacks context in the title and content. I will update the PR title and provide a more detailed description to clarify the changes made and their purpose.
Once I make these adjustments, I will notify you for further review. Thank you for your guidance and support.


Types like function, class, object not mentioned on docs

📚 Documentation
The types Future, Function, Class, Object are not mentioned in the documentation of Type System under Reflect.
These are present in the codebase (under reflect module)
https://github.com/metacall/core/blob/52572bc3de960da922a4032df2f6b4d6be21221a/source/reflect/source/reflect_type_id.c#L40-L45
Is there any specific reason for this? I can add them if needed :)

Sure!! I will do it soon.

What does Future mean?

What does Future mean?

Future is a Promise in Node Loader, and any other type equivalent in other languages. It is only implemented in NodeJS at the moment.

Closing the issue since #101 fixes this


Fix building on Mac OS X 10.13

These should allow the building of a Mac OS binary on OS X 10.13 (or newer) and build a Mac OS application package. I don't think it will break windows builds, other than removing tests from being built by default, but please test it as I do not currently have a Window build system. I also have a prebuilt Mac dmg file and command line installer in releases on my github page at: https://github.com/abcbarryn/fluxengine/releases/tag/FluxEngine-Mac-client-version-581

As mentioned elsewhere (can't remember where, I hope you got it, github's code reviewing tool is weird) those privates are there intentionally as without them flags get propagated to various dependencies incorrectly, which can cause weird inconsistent builds. That makefile is supposed to be run with homebrew's gmake.
makeapp.sh looks really useful, though, and I've been dreading trying to find out how that stuff works. What's in the icon file --- AFAIK there is no official FluxEngine icon yet?

I have actually added a properly OSX package, based on your stuff here --- thanks! The new GUI even has an icon!
So I'm closing this. Please feel free to reopen if there's anything else which needs doing...


Add a very simple tracing mechanism for easier debugging of slow requests.

Ref #4521

LGTM - just few nits.


[Umbrella][Sort] SortStandalone support unified SortConfig

Description
To fix #9868

#10173
#10208
#10213
#10224
#10228
#10229
#10230

Use case
No response
Are you willing to submit PR?

[X] Yes, I am willing to submit a PR!

Code of Conduct

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

All tasks have been done.


old scc 'csiaccess' should get deleted after upgrade

Describe the bug
old scc csiaccess should get deleted after upgrade
To Reproduce
Steps to reproduce the behavior:

Installed CSI driver & operator using 1.1.0 release

[root@oc-w3 ~]# oc get pods ibm-spectrum-scale-csi-k2z4q -o yaml |grep image
    image: quay.io/k8scsi/csi-node-driver-registrar:v1.2.0
    imagePullPolicy: IfNotPresent
    image: quay.io/ibm-spectrum-scale/ibm-spectrum-scale-csi-driver:v1.1.0
    imagePullPolicy: IfNotPresent
  imagePullSecrets:
    image: quay.io/k8scsi/csi-node-driver-registrar:v1.2.0
    imageID: quay.io/k8scsi/csi-node-driver-registrar@sha256:89cdb2a20bdec89b75e2fbd82a67567ea90b719524990e772f2704b19757188d
    image: quay.io/ibm-spectrum-scale/ibm-spectrum-scale-csi-driver:v1.1.0
    imageID: quay.io/ibm-spectrum-scale/ibm-spectrum-scale-csi-driver@sha256:ab8d5d6660f3808ec577f14f0a91903bb34a93913fffae80d6ac71069d4d8950

[root@oc-w3 ~]# oc get pods ibm-spectrum-scale-csi-operator-59659c8775-mvkmr -o yaml |grep image
    image: quay.io/ibm-spectrum-scale-dev/ibm-spectrum-scale-csi-operator:v1.1.0
    imagePullPolicy: IfNotPresent
  imagePullSecrets:
    image: quay.io/ibm-spectrum-scale-dev/ibm-spectrum-scale-csi-operator:v1.1.0
    imageID: quay.io/ibm-spectrum-scale-dev/ibm-spectrum-scale-csi-operator@sha256:8dcc505d52be1dfbdf9cc445e7016fad2db6260d4e4153aa3bdb41f282de29e0

[root@oc-w3 ~]# oc get ds,rs,statefulsets,pods
NAME                                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR           AGE
daemonset.apps/ibm-spectrum-scale-csi   3         3         3       3            3           spectrumscalenode=yes   173m

NAME                                                         DESIRED   CURRENT   READY   AGE
replicaset.apps/ibm-spectrum-scale-csi-operator-59659c8775   1         1         1       86m
replicaset.apps/ibm-spectrum-scale-csi-operator-85f9d768db   0         0         0       3h9m

NAME                                                  READY   AGE
statefulset.apps/ibm-spectrum-scale-csi-attacher      1/1     173m
statefulset.apps/ibm-spectrum-scale-csi-provisioner   1/1     173m

NAME                                                   READY   STATUS    RESTARTS   AGE
pod/ibm-spectrum-scale-csi-attacher-0                  1/1     Running   0          173m
pod/ibm-spectrum-scale-csi-gjstz                       2/2     Running   0          173m
pod/ibm-spectrum-scale-csi-k2z4q                       2/2     Running   0          173m
pod/ibm-spectrum-scale-csi-kcgdx                       2/2     Running   0          171m
pod/ibm-spectrum-scale-csi-operator-59659c8775-mvkmr   1/1     Running   0          86m
pod/ibm-spectrum-scale-csi-provisioner-0               1/1     Running   0          173m

Applied latest dev operator yaml file
[root@oc-w3 ~]# oc apply -f ibm-spectrum-scale-csi-operator-dev.yaml
deployment.apps/ibm-spectrum-scale-csi-operator configured
clusterrole.rbac.authorization.k8s.io/ibm-spectrum-scale-csi-operator configured
clusterrolebinding.rbac.authorization.k8s.io/ibm-spectrum-scale-csi-operator unchanged
serviceaccount/ibm-spectrum-scale-csi-operator unchanged
customresourcedefinition.apiextensions.k8s.io/csiscaleoperators.csi.ibm.com unchanged

[root@oc-w3 ~]#  oc get ds,rs,statefulsets,pods
NAME                                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR           AGE
daemonset.apps/ibm-spectrum-scale-csi   3         3         3       3            3           spectrumscalenode=yes   3h4m

NAME                                                         DESIRED   CURRENT   READY   AGE
replicaset.apps/ibm-spectrum-scale-csi-operator-59659c8775   0         0         0       96m
replicaset.apps/ibm-spectrum-scale-csi-operator-5f45fb959f   1         1         1       7m59s
replicaset.apps/ibm-spectrum-scale-csi-operator-85f9d768db   0         0         0       3h20m

NAME                                                  READY   AGE
statefulset.apps/ibm-spectrum-scale-csi-attacher      1/1     3h4m
statefulset.apps/ibm-spectrum-scale-csi-provisioner   1/1     3h4m

NAME                                                   READY   STATUS    RESTARTS   AGE
pod/ibm-spectrum-scale-csi-5h2nl                       2/2     Running   0          3m28s
pod/ibm-spectrum-scale-csi-7r6t6                       2/2     Running   0          3m31s
pod/ibm-spectrum-scale-csi-attacher-0                  1/1     Running   1          3h4m
pod/ibm-spectrum-scale-csi-operator-5f45fb959f-tm6vg   1/1     Running   0          7m59s
pod/ibm-spectrum-scale-csi-provisioner-0               1/1     Running   1          3h4m
pod/ibm-spectrum-scale-csi-tkgbt                       2/2     Running   0          4m59s

Old scc csiaccess is kept as it is on the cluster
[root@oc-w3 ~]# oc get scc
NAME                       AGE
anyuid                     204d
csiaccess                  3d2h
hostaccess                 204d
hostmount-anyuid           204d
hostnetwork                204d
node-exporter              204d
nonroot                    204d
privileged                 204d
restricted                 204d
spectrum-scale-csiaccess   6m21s

Expected behavior
old scc csiaccess should get deleted after upgrade
Environment
[root@oc-w3 ~]# oc get nodes
NAME                            STATUS   ROLES    AGE    VERSION
oc-m1.ocp.openshift.scale.net   Ready    master   204d   v1.17.1
oc-m2.ocp.openshift.scale.net   Ready    master   204d   v1.17.1
oc-m3.ocp.openshift.scale.net   Ready    master   204d   v1.17.1
oc-w1.ocp.openshift.scale.net   Ready    worker   204d   v1.17.1
oc-w3.ocp.openshift.scale.net   Ready    worker   204d   v1.17.1
oc-w4.ocp.openshift.scale.net   Ready    worker   204d   v1.17.1
oc-w5.ocp.openshift.scale.net   Ready    worker   204d   v1.17.1

So the problem here is that the operator doesn't offer us an uninstall methodology, and because we aren't deleting the CR on upgrade this hurts us  if  the underlying resource names change.
I'm beginning to think stripping out the SCC might  be  a better way to handle this but at the  present I think the only  way we  can address this is in the upgrade  document, recommending upgrading users to  remove the old  version.
As an alternative we can scan for csiaccess in the operator for this release and do a removal for this release. we'd need to be careful with this  because we need to be positive we own that file. I can do a quick review  on this and see  if this  is possible.
If not my recommendation is adding docs.

@mew2057 I am still facing the same issues on new build which has PR191 fix.

Can you give me the log from the new version? To verify that the code path is getting triggered?


MH-12746, Update Apache HTTPComponents

This patch updates the Apache HTTPComponent dependencies.

I've updated the JIRA issue to be faster, but please do so for future PRs


fix: change default keybinding of cursorColumnSelectUp to ctrl+shift+…

…up on Windows
fixes #36819

I actually ended up reverting this commit.
I cannot accept it because the column selection keybindings work together:
{ "key": "ctrl+shift+alt+down",   "command": "cursorColumnSelectDown",
                                     "when": "textInputFocus" },
{ "key": "ctrl+shift+alt+left",   "command": "cursorColumnSelectLeft",
                                     "when": "textInputFocus" },
{ "key": "ctrl+shift+alt+pagedown", "command": "cursorColumnSelectPageDown",
                                     "when": "textInputFocus" },
{ "key": "ctrl+shift+alt+pageup", "command": "cursorColumnSelectPageUp",
                                     "when": "textInputFocus" },
{ "key": "ctrl+shift+alt+right",  "command": "cursorColumnSelectRight",
                                     "when": "textInputFocus" },
{ "key": "ctrl+shift+alt+up",     "command": "cursorColumnSelectUp",
                                     "when": "textInputFocus" },

Changing just two of them only creates confusion. And we cannot change all of them because ctrl+shift+left and ctrl+shift+right are used for word selection.

What's the difference between cursorColumnSelectLeft and a simple Shift+Left?

The latter wraps (goes up) at line starts.

Ah I see, quite a minor detail IMHO.  Also it doesn't seem to work with multiple cursors for me or is this a bug? If not, I don't see the use-case for the command at all.
I'm using cursorColumnSelectUp/Down to quickly get multiple cursors in a straight line. As I can't even use cursorColumnSelectLeft after that in a meaningful way and they do different things (adding a new cusor vs. expanding the selection), I don't see how they are related (beside the name).
Also note that cursorColumnSelectLeft/Right doesn't have any keybindings assigned by default on Linux and no one seems to mind (no issue about it).


Get all filings from FERC RSS feed, not just most recent 650

FERC recently released a notice that only the most recent 650 XBRL filings will be available through their RSS feed at any given time -

The eForms Accepted Filings RSS feed has been modified to support the performance of the eForms system. RSS feed subscriptions are limited to 650 current filings. To retrieve the feed for previous months, please modify and use the following example URLs:

https://ecollection.ferc.gov/api/rssfeed?month=5&year=2022 – May 2022
https://ecollection.ferc.gov/api/rssfeed?month=4&year=2022 – April 2022

This type of URL will work for all previous months.

Our scraper will need to be able to access all filings including those only available through these alternate URLs.

Moved

Proposed Solution
This development complicates the scraping of XBRL data, however I think it's also an opportunity to start adding more automation to our scraping process starting with XBRL data.
Handling RSS Feed
Now that the feed is going to be segmented into smaller month specific feeds, we will need to be able to access at least a subset of those feeds every time we attempt to create a yearly archive for one of the forms. This archive would negate the need to make an ever growing list of requests to Ferc for each of those sub-feeds. This archive could be automatically updated monthly (or more frequently if desired) to add the previous month's feed, as well as the current feed with the latest 650 filings.
There are some downsides to relying on an archive of the feeds. For one, it would require the scraper to know how to access that archive, which does add some complexity. It also implicitly assumes that each month specific feed is static, which it should be, but I don't know if we can actually rely on Ferc to guarantee that will be true.
Creating and updating archives
Actual data archives could be updated monthly along with the feed archive. Doing monthly updates like this does present a complication compared to our current workflow for scraping/archiving. As it stands now, we would create a zipfile with a years worth of data, upload it to zenodo, and that would basically be the end of it. Now we would create a yearly archive that would need to be continually updated. What we don't want to happen would be creating a new archive that only contains the latest filings, not all filings for the year, and overwriting the old yearly archive on zenodo. I see a couple possible solutions for avoiding this problem:
Option 1
Every time we create a new archive, parse all available feeds and download all filings, even those that had been previously download.
Pros

This is probably the simplest implementation that requires no changes to the archiver
Maintains current archive format

Cons

This requires a lot of redundant downloads of filings from FERC. Perhaps this isn't that big of deal if this is only happening once a month

Option 2
Allow the scraper to access archives from zenodo so it can truly update the existing archives. If the scraper has access to an existing yearly archive, it can simply append new filings to it, then the new archive can be uploaded.
Pros

Avoids redundant filing downloads from FERC
Maintains current archive format

Cons

Requires major refactoring
To access existing archives, the scraper would likely need to be able to use the Datastore which we've talked about moving out of PUDL, but doing it now would prolong the time to get this working

Option 3
Change the archive partitioning strategy to create monthly partitions with new filings submitted from each month. The Datastore would then need to be able to assemble yearly partitions of filings to be used by PUDL
Pros

Avoids redundant filing downloads from FERC
Doesn't require the scraper to be able to access the Datastore

Cons

Inconsistent with our current archive format/strategy
Requires more Datastore logic in PUDL

I think I personally lean towards starting with option 1, with perhaps a goal of moving towards option 2 in the future, but I'd like some feedback from others before getting too far into this.

I'm pretty strongly in support of Option 1. If we don't download all the data, we can't know if any of it has changed retroactively. If we only wanted to update incrementally when things have changed, we'd still have to download everything and calculate the hash to know if it's actually the same as what's already been archived, or whether an updated is needed. All of the agencies seem prone to updating the data without notice long after the fact.
For example, when I created the new EIA-861 2021ER archive yesterday, it detected that all the years of data from 2013-2020 had also been changed! So it replaced those files in the archive too.  On the back end Zenodo only stores new files when they have a different hash -- otherwise new versions of the archives refer to previous versions of the files that have already been stored.
I think any kind of incremental updating would be a significant change to the meaning of these archives, and would be making assumptions about the stability of agency published data that we have seen violated over and over again. I've been thinking of them as snapshots -- what you would get from the agency if you went and downloaded all of the data on the day that the archive was created.
This understanding could be problematic at some point, if an agency (say) decided to start deleting old data after 10 years... at which point we would need to cobble together new archives relying both on newly gathered data, and no longer available data that we already have archives of.  Thankfully we haven't gotten to that point (yet), though it was close there with FERC deleting all the old DBF data!


[Question] Error message to upgrade to Gymnasium altough Gymnasium is with Stable-Baselines 3

Question
Hi all,
I want to apply algorithms from Stable-Baselines 3 to a gymnasium evironment that also calls an external Simulation environment (in the modules Run_Simulations_Help and SetUpScenarios). I have the following code:
import gymnasium as gym
from gym import Env
from gym.spaces import Discrete, Box, Tuple, MultiDiscrete

import Run_Simulations_Help
import SetUpScenarios
import os
import pickle

class DSM_Env(Env):
    def __init__(self, total_number_of_solutions_per_day, number_of_days_for_training, number_of_new_solutions_per_solution):

        self.action_space = Discrete(3)
        self.observation_space = 0

        #State parameters
        self.state_difference_costs_to_conventional_solution = 0
        self.state_difference_peak_to_conventional_solution = 0
        self.state_thermal_discomfort = 0
        self.help_state_costs_conventional_solution = 0
        self.help_state_peak_conventional_solution = 0
        self.help_state_thermal_discomfort = 0

        #Auxillary variables
        self.current_number_total_solutions_of_the_run = 0
        self.current_iteration_of_the_training_day = 0
        self.current_training_day = 0
        self.solution_of_current_iteration = 0
        self.read_data_for_new_iteration = True
        self.list_of_solution_current_training_day = []
        self.help_counter_current_number_new_solution_per_solution = 0

    def reset (self):
        self.state_difference_costs_to_conventional_solution = 0
        self.state_difference_peak_to_conventional_solution = 0
        self.state_thermal_discomfort = 0

    def render (self):
        pass

    def step(self, action ):

        #Read the base solution when a new training day is used
        if self.read_data_for_new_iteration == True:

            #read list of base solutions for a new iteration
            read_RL_data_day = 200 #ToDo: Adjust dynamically
            read_RL_data_iteration = 1 #ToDo: Adjust dynamically

            file_path = r"C:\Users\wi9632\Desktop\Ergebnisse\DSM\RL_Input\list_population_NB" + str(SetUpScenarios.numberOfBuildings_Total) + "_Day" + str(read_RL_data_day) + "_It" + str(read_RL_data_iteration) + ".pkl"
            # Load the list from the file
            try:
                with open(file_path, "rb") as file:
                    self.list_of_solution_current_training_day = pickle.load(file)
            except FileNotFoundError:
                print(f"Error: File '{file_path}' not found.")
                return 0, 0, 0

            #read conventional solution
            read_RL_data_iteration = 0
            file_path = r"C:\Users\wi9632\Desktop\Ergebnisse\DSM\RL_Input\list_population_NB" + str(SetUpScenarios.numberOfBuildings_Total) + "_Day" + str(read_RL_data_day) + "_It" + str(read_RL_data_iteration) + ".pkl"
            try:
                with open(file_path, "rb") as file:
                    conventional_solutions = pickle.load(file)
                self.help_state_costs_conventional_solution = conventional_solutions[0]['simulationObjective_costs_Euro_combined'][0]
                self.help_state_peak_conventional_solution = conventional_solutions[0] ['simulationObjective_maximumLoad_kW_combined'][0]
                self.help_state_thermal_discomfort = conventional_solutions[0]['simulationObjective_thermalDiscomfort_combined'][0]

            except FileNotFoundError:
                print(f"Error: File '{file_path}' not found.")
                return 0, 0, 0

            self.read_data_for_new_iteration = False

        current_solution = self.list_of_solution_current_training_day[self.solution_of_current_iteration]
        peak_load_current_solution = current_solution['simulationObjective_maximumLoad_kW_combined'][0]
        costs_current_solution = current_solution['simulationObjective_costs_Euro_combined'][0]
        thermal_discomfort_current_solution = current_solution['simulationObjective_thermalDiscomfort_combined'][0]

        # Execute the action in the external simulation and return the next observation, reward, done, and info
        result_costs, result_peak, result_DC= Run_Simulations_Help.execute_single_modification_operator_decision(current_solution, action, read_RL_data_iteration, read_RL_data_day )

        #calculate state
        state = 0
        self.state_thermal_discomfort = result_DC
        self.state_difference_peak_to_conventional_solution = result_peak /self.help_state_peak_conventional_solution
        self.state_difference_costs_to_conventional_solution= result_costs /self.help_state_peak_conventional_solution

        state = np.array([self.state_thermal_discomfort, self.state_difference_peak_to_conventional_solution,self.state_difference_costs_to_conventional_solution])

        #Update auxilliary variables
        if self.help_counter_current_number_new_solution_per_solution >= number_of_new_solutions_per_solution:
            self.solution_of_current_iteration += 1
        if self.solution_of_current_iteration > len(self.list_of_solution_current_training_day):
            self.solution_of_current_iteration = 0
            read_RL_data_iteration += 1
            self.read_data_for_new_iteration = False

        #Calculate reward
        improvement_peak = 1 - result_peak/ peak_load_current_solution
        improvement_costs = 1 - result_costs/ costs_current_solution
        improvement_discomfort = 1 - result_DC/thermal_discomfort_current_solution
        reward = improvement_peak + improvement_costs + improvement_discomfort

        #Check termination criteria
        done = False

        info = {}
        return state, reward, done, info

#Use Stable Baselines 3 to apply a RL algorithm on the environmetn
from stable_baselines3 import ppo
from stable_baselines3 import A2C
total_number_of_solutions_per_day = 100
number_of_days_for_training = 1
number_of_new_solutions_per_solution = 5

env = DSM_Env(total_number_of_solutions_per_day, number_of_days_for_training, number_of_new_solutions_per_solution)

models_dir = "models/A2C"
logdir = "logs/RL_BT1"
if not os.path.exists(models_dir):
    os.makedirs(models_dir)
if not os.path.exists(logdir):
    os.makedirs(logdir)

#Define the model
model = A2C('MlpPolicy', env, verbose=1)

#train and save the model
timeStarted = datetime.now().strftime("%d-%m-%Y--%H-%M-%S")
model.learn(total_timesteps=1000)

When defining the model model = A2C('MlpPolicy', env, verbose=1)  I get the error "NotImplementedError: Cannot convert space of type 0. Please upgrade your code to gymnasium.". This is kind of strange because I am using gynasium (see: import gymnasium as gym) and still get this error message. Does anyone know what the problem might be and how to solve it.

does your env pass API test (check_env)
https://gymnasium.farama.org/api/utils/#gymnasium.utils.env_checker.check_env

@Kallinteris-Andreas : Thanks Andreas for your answer,
when using the checker from stable_baselines3.common.env_checker import check_env check_env(env) I get the Assertion error "AssertionError: Your environment must inherit from the gymnasium.Env class cf. https://gymnasium.farama.org/api/env/" which I don't understand. How can I inherit from gymnasium.Env?
Further, I defined the obervation space as you suggested in the init function by using self.observation_space = Box(low=np.array([0, 0, 0]), high=np.array([1, 1, 1]),  dtype=np.float64) and then in the step function for testing purposes I assigned self.observation_space = np.array([1, 1,1]) and return self.observation_space, reward, done, info at the end of step. However, I get the error "ValueError: Expected parameter logits (Tensor of shape (1, 3)) of distribution Categorical(logits: torch.Size([1, 3])) to satisfy the constraint IndependentConstraint(Real(), 1), but found invalid values:
tensor([[nan, nan, nan]])".

use gymnasium's check_env

@Kallinteris-Andreas : Thanks Andreas for your answer. When using the gynamsium checker
from gymnasium.utils.env_checker import check_env
check_env(env)

I get exactly the same Assertion error:
AssertionError: The environment must inherit from the gymnasium.Env class. See https://gymnasium.farama.org/content/environment_creation/ for more info.
The link mentioned in the assertion error leads to a "404 - Page Not Found". I don't understand this error. How and why do I have to inherit from  gynasium.Env class

pip uninstall gym
i think you are using gym.Env and not gymnasium.Env

import gymnasium as gym
from gym import Env
from gym.spaces import Discrete, Box, Tuple, MultiDiscrete

The from gym will still use gym rather than gymnasium, you need to use from gymnasium import Env


Confusing plugins syntax

Type

[ ] Other
[ ] Wrong
[x] Unclear
[ ] Missing

Details

the readme provides an example of a postcss.config.js with plugins as an object. On the main tailwind site, plugins is a list, so it is impossible to know how to combine the advice
Location

[x] README
[ ] LICENSE
[ ] CHANGELOG
[ ] ISSUE_TEMPLATE

[ ] BUG
[ ] DOCS
[ ] FEATURE

[ ] PULL_REQUEST_TEMPLATE

I don't understand problem

sorry, this was not really your problem I suppose. Tailwind provide an example of postcss.config.js that is an array, whereas you show an object. It is not at all obvious to a first timer like me how to reconcile the difference. Striclty speaking it is really tailwind's issue that they advise using your package but provide instructions that can't be used with it, but perhaps you could make the distinction clearer between the list and object notation on your site?

@simonh1000 Can you provide a link on their instructions?

https://tailwindcss.com/docs/installation#webpack

Now we support Array and Object syntax for plugins in postcss.config.js and options.plugins, also tailwindcss update docs, we will update docs too before the next major release


FW/Tests: log the name of the test list we used

It's logged as a comment only for now...

Looks good to me, but more changes to this (and general test management APIs) are coming.

I know. Looking forward to them.


Example writer code does not work - doesn't write closing tags

Example code on your readme:
var sw = new StringWriterWithEncoding(Encoding.UTF8);

using (XmlWriter xmlWriter = XmlWriter.Create(sw, new XmlWriterSettings() { Async = true, Indent = true }))
{
    var writer = new RssFeedWriter(xmlWriter);

    // Create item
    var item = new SyndicationItem()
    {
        Title = "Rss Writer Avaliable",
        Description = "The new Rss Writer is now available as a NuGet Package!",
        Id = "https://www.nuget.org/packages/Microsoft.SyndicationFeed.ReaderWriter",
        Published = DateTimeOffset.UtcNow
    };

    item.AddCategory(new SyndicationCategory("Technology"));
    item.AddContributor(new SyndicationPerson("test", "test@mail.com"));

    await writer.Write(item);
    xmlWriter.Flush();
}

class StringWriterWithEncoding : StringWriter
{
    private readonly Encoding _encoding;

    public StringWriterWithEncoding(Encoding encoding)
    {
        this._encoding = encoding;
    }

    public override Encoding Encoding {
        get { return _encoding; }
    }
}

Actual output:
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel><item>
  <title>Rss Writer Avaliable</title>
  <description>The new Rss Writer is now available as a NuGet Package!</description>
<EMAIL_ADDRESS>  <category>Technology</category>
  <guid isPermaLink="false">https://www.nuget.org/packages/Microsoft.SyndicationFeed.ReaderWriter</guid>
  <pubDate>Mon, 24 Aug 2020 02:59:48 GMT</pubDate>
</item>

Notice how this is INVALID XML

Can confirm this behavior.

Replacing the call to the synchronous xmlWriter.Flush() with it's async counterpart and awaiting it like so; await xmlWriter.FlushAsync() fixes this issue.


Bug: a instanceof b === false doesn't influence type flow

Bug Report

🔎 Search Terms
instanceof explicit false if type narrowing
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about Common bugs that aren't bugs
I was able to reproduce this on versions 5.1.0-dev.20230304

⏯ Playground Link

Playground link with relevant code
💻 Code

declare const x: unknown;

() => {
    if(x instanceof Error === false) return;

       x;
    // ^?
    // Should be 'Error', is 'unknown'
}

() => {
    if(!(x instanceof Error)) return;

       x;
    // ^?
    // Is correctly 'Error'
}

🙁 Actual behavior
The semantically equivalent expressions (x instanceof Error === false) and !(x instanceof Error) influence type flow (correct term?) differently.
🙂 Expected behavior
(x instanceof Error === false) should function the same way !(x instanceof Error) does.

Duplicate of #31105  and #9508 (is this a bug or a won’t fix?)

a won't fix


⚠ ClamAV has degraded performance

In 10d0cc9, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 82 ms

Resolved: ClamAV performance has improved in 7f95e0c.


Simonramzi/sc-57121/updating-caps-via-javascript-sdk-gives-error

Fix for flight decimal values not being set properly via the sdk.
Testing steps:

Create flight with set DailyCapAmount and/or LifetimeCapAmount
Use sdk to update the non-decimal one only, SUCCESS
Use sdk to perform some other actions, SUCCESS

I used the following script to help after checking out the repo and running npm install && npm run build:
let { buildFullSpecificationList, buildClient, fetchSpecifications } = require("./lib");

async function go() {
  let specificationList = buildFullSpecificationList({
    version: "v1.0.13",
  });

  let specifications = await fetchSpecifications(specificationList);

  let client = await buildClient({
    apiKey: "redacted",
    host: "api-proxy-default.da1.dev.opzerk.com",
    port: 443,
    protocol: "https",
    specifications
  });

  let result = client.run('flight', 'update', {
    id:<PHONE_NUMBER>,
    capType: 1,
    dailyCapAmount: 20,
    lifetimeCapAmount: 50,
  });
}

go();

@akiradev, your comment on using Math.ceil(capAmountDecimal). Without this we get the following error from the API as the shape requires it to be an integer. The Math.ceil(...) function also complies with DailyCapAmount must be equal to DailyCapAmountDecimal rounded up. requirement (error message that is returned if you set dailyCapAmount to 43 and dailyCapAmountDecimal to 43.12.
{
  "status": 400,
  "body": {
    "Errors": [
      {
        "path": ["body", "DailyCapAmount"],
        "value": 43.12,
        "message": "Value '43.12' at '[:body \"DailyCapAmount\"]' must be an integer, or it may be null."
      }
    ]
  }
}


resource android:attr/lStar not found

With the most recent version 0.8.0 of flutter_compass, I get the following error when I try to build an Android release bundle:
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':flutter_compass:verifyReleaseResources'.
> A failure occurred while executing com.android.build.gradle.tasks.VerifyLibraryResourcesTask$Action
   > Android resource linking failed
     ERROR:/__w/***ate/***ate/build/flutter_compass/intermediates/merged_res/release/values/values.xml:194: AAPT: error: resource android:attr/lStar not found.

My environment:
 [✓] Flutter (Channel master, 3.24.0-1.0.pre.281, on Ubuntu 22.04.4 LTS 6.5.0-1024-azure, locale en_US)
    • Flutter version 3.24.0-1.0.pre.281 on channel master at /usr/local/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f2c1c72d19 (33 minutes ago), 2024-07-25 15:31:14 -0400
    • Engine revision 74785a771a
    • Dart version 3.6.0 (build 3.6.0-81.0.dev)
    • DevTools version 2.37.1

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Platform android-29, build-tools 28.0.3
    • Java version OpenJDK Runtime Environment (build 17.0.11+9-Ubuntu-122.04.1)

i also have this

Has anybody found a solution?

increase compilesdk to34 in flutter_compass

Add this in the pubspec.yaml :
dependency_overrides:
  flutter_compass:
    git: https://github.com/PikPakPik/flutter_compass.git

@PikPakPik you are awesome! Thanks a lot, this one also works for me!

Would you be open to creating a pull request from your fork to this repository, @PikPakPik? I'm hopeful that @hemanthrajv would accept the fix to resolve this issue.

Its done https://github.com/hemanthrajv/flutter_compass/pull/113

@PikPakPik you are awesome! Thanks a lot, this one also works for me!

The package is quite out of date. A manual solution is to go to
/.pub-cache/hosted/pub.dev/flutter_compass-0.8.0/android/build.gradle and update the compileSdkVersion to 34.
I also updated minSdkVersion to 21, but I don't think it is necessary.

Looks like #118  resolved this


Do not touch time stamp of existing files when they are skipped

Not sure if there will be bad side effects but I find it very useful to be able to tell if a workflow has been re-executed (or when was it last actually been executed) simply by looking at the time stamp on the output files. Unfortunately currently since we rely on signature, the time stamps of existing files are all updated. Is there a reason we have to touch those files? Leaving them untouched is perhaps better idea otherwise.

Did you look at creation or access date? The files will be accessed to check signature, but creation time should be kept untouched.

Good point. I should have used creation time which is untouched.


New capability: Value matcher hooks?

How hard and how desirable would it be to have some sort of hook facility to extend Quamina's field matcher from outside the package? I was thinking specifically about a quick way to support some of numeric. Goal wouldn't be efficiency but instead just basic functionality.
Crude example:
package main

import "quamina.net/go/quamina"

type MatcherHook interface {
	Compile(hookValue any) error
	Match(fieldValue []byte) (bool, error)
}

type numericMatcher struct {
	// TODO
}

func (m *numericMatcher) Compile(hookValue any) error {
	// hookValue example: [ ">", 10, "<=", 20 ]
	return nil // TDOD
}

func (m *numericMatcher) Match(fieldValue []byte) (bool, error) {
	// fieldValue example: 27
	return false, nil // TODO
}

func main() {
	q, _ := quamina.New()
	q.AddHook("numeric", numericMatcher)
}

Ah, I just noticed #39. Closing here, too.


#236 Move test fields into appropriate tests

Moved test fields into appropriate tests. Resolves #236.

Well, this way we have a few more imports, however, the code looks more modular, which, in my view, is more important.

For some reason tests are not running


Updated Manual

Rewrote manual in markdown with Doxygen integration.

You have to build it with Doxygen.

Install Doxygen and CMake
In the box2d folder run build.bat or build.sh
Open index.html in the build/docs folder


Keeganedwin-multi-dimensional-themes

I have updated the images for the Multi-dimensional docs with a background-gradient. I've also used them as the references in the docs.
Changed the tab heading from Advanced to Multi-dimensional themes

@keeganedwin the first image is a 404

the second one is quite small


i want chage "kmpJsBridge" other name

i want chage "kmpJsBridge" other name

@seochanhee Thanks for your suggestion! It is already in our plan and I expect its release in version 1.8.6 at the end of this month.

@KevinnZou Thank you!


onSubmitEditing event is firing twice on android

Issue Description
onSubmitEditing event is firing twice on android.
Steps to Reproduce / Code Snippets
Create the following code:
  _onChangeText(text) {
        this.setState({
            text
        });
    }

    _onSubmit(event) {
        this.props.onSubmit(this.state.text);
    }

<TextInput
                    ref='txtSearch'
                    maxLength={20}
                    returnKeyType='search'
                    placeholder={'Search here'}
                    underlineColorAndroid='rgba(0,0,0,0)'
                    onChangeText={text => this._onChangeText(text)}
                    onSubmitEditing={event => this._onSubmit(event)}></TextInput>

Then, tap on the field, type something and tap the search button on keyboard.
Expected Results
On iOS it works perfectly (the _onSubmit method is called only one time) but on Android it is calling two times.
Additional Information

React Native version: 0.35.0
Platform(s) (iOS, Android, or both?): Android
Operating System (macOS, Linux, or Windows?): macOS

Same thing here.

Same thing here.

0.34 also appear twice on android, works perfect on iOS

The problem is that Android fires two EditorAction events when pressing the search button. It will fire one for the enter/submit action and another one for search action (https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java#L695). In Android these will have different id's (actionId) and this can be used to filter only for the relevant events and therefore only handle the action once. However, it seems like we do not pass that information to the JS side, so there is no easy way to differentiate between these event types.
Generally I see two options to fix the issue:

We pass the actionId to the JS side, such that the user can filter based on that. This would still leave it inconsistent to IOS and rather unintuitive, since there would still be two calls.
We filter on the Android side and only fire enter action events from there, so we end up with only one event being fired. For this, we will need to make sure that this will work as desired in every case.

I will dig a little further into the second option, as this one would create a consistent experience, and see if that works, unless, of course, someone has a better idea how to fix it.

same thing here, and it won't blur when press search button even I have set blurOnSubmit true，it works well on iOS
RN Version:  0.36.0

same thing here in 0.39. Android

same thing here as well RN Version 0.39 Android

setting blurOnSubmit={false} worked for me on android

@rangav yea this is true but it doesn't hide the keyboard then.

@dwilt the only workaround I found was to manually close the keyboard in the onSubmitEditing prop.
Check out https://github.com/DanielMSchmidt/react-native-dismiss-keyboard
I used it like this:
onSubmitEditing={() => {
  dismissKeyboard();
 // other stuff
}}

@ddeanto I don't think I like this as much cause the keyboard does show for a bit, no?
I debounced inside of the component:
(edited for brevity)
import debounce from 'debounce';
// ...
// redefined the onSubmit prop with a debounce
onSubmit = debounce(this.props.onSubmit, 200);
// ...
<TextInput
    onSubmitEditing={this.onSubmit}
/>

I'm still seeing this issue on RN 0.45.1. what is the accepted solution?


rs2::Frame timestamp needs clarification

Required Info

Camera Model
{ D400 }

Firmware Version
<IP_ADDRESS>

Operating System & Version
Linux (Ubuntu 18)

Kernel Version (Linux Only)
4.15.0

Platform
PC

SDK Version
2.24.0

Language
C++

Segment
N/A

Issue Description

This needs rewording / a little more claification. In particular I am interested in knowning for a video frame, is the timestamp "captured" at the start or the end of exposure time? Or is it just me?

@chutsu, the get_timestamp() should be accompanied with get_timestamp_domain call.
In case the domain type is HW Timestamp then the former refers to the start of pixels readout ( USB transmit of data).
In order to get the start of exposure stamp you must use the metadata attributes.
See #2188 for details

In case the domain type is HW Timestamp then the former refers to the start of pixels readout ( USB transmit of data).

Can we clarify this "start of pixel readout" corresponds directly to the start of exposure? It is not clear if there is a delay between the start of exposure and start of pixel readout. I don't know if the device has some form of buffer and thus incur a delay before the device decides to transmit the pixel data, which in that case means the get_timestamp() in the context means end of exposure.

No. Readout begins after exposure is completed. See the comment in the referenced thread.
The hardware timestamps are all 32bits wide and are all zero-initiated. In order to convert the HW time to 64bit EPOCH you should probably use the global_time that was added since then. Note that in most cases you'll get this for free as this is the default Librealsense mode for get_timestamp() when the metadata is available.
The Optical Timestamp attribute of the metadata approximates the middle of the exposure phase in device clock. There is no additional timestamp for the beginning of exposuer phase.
Since the Optical TS and HW TS are stamped with the same clock, and also, the HW TS is automatically converted into EPOCH with the help of global_timestamp utility, then transitively you can calculate the Optical TS in EPOCH domain as well

I was unaware that frame.get_timestamp() and the metadata RS2_META_DATA_FRAME_TIMESTAMP were similar therefore I did not see the relevance in the referenced thread, my apologies.
More comments are needed in the API docs for frame::get_timestamp(). Since the return seems to depend on the the time domain.

Thanks for the feedback.
Two clarifications:

frame.get_timestamp() always converts the timestamps in milliseconds (floats), while the metadata attributes are always 32bit uint32 types.
The domain provided by frame::get_timestamp() is partially controlled by user:

In case there is no metadata then the domain is automatically preset to "System (Epoch) Time".
If the metadata is enabled then the domain is either HW Timestamp or Global Timestamp based on the value of RS2_OPTION_GLOBAL_TIME_ENABLED option

^ Thats the kind of info I would love to see in the docs. Thanks for your help.

Hi Christopher,
Do you need any further clarifications regarding frame timestamp topic?

Not at this point. However the issue still persists, the API is not documented adequately to reflect different returns of frame::get_timestamp() on different time domains.

Issue isn't resolved and you closed it?

Hi @chutsu,
Did you have a chance to take a look at documentation changes @ev-mp have mentioned on Aug 27:
https://github.com/IntelRealSense/librealsense/pull/4739? Please let us know whether it solves the issue.
Thank you!


fixed validations.py to the appropriate output.

Fixes #1

issue with the vaildations.py output. The result is not valid. The programmer debugged and fixed the issue.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Move createParentDependencyLayers into config

Fix README.md for JibLayerFilterExtension:
createParentDependencyLayers belongs into the configuration element

Sorry... CLA not in place, yet. Do the simple fix yourself.


Better integration with Style Dictionary through the use of a custom parser

Is your feature request related to a problem? Please describe.
The integration of Figma Tokens with style-dictionary could be much improved upon. When using aliases and/or math expressions for example, there needs to be some sort of process through which you need to run you Figma Tokens output to make it readable by style-dictionary. Currently, Figma Tokens provides a basic script tool for this, named token-transformer. It just so happens, style-dictionary provides an option to use a custom parser through which your input can be parsed!
Describe the solution you'd like
Instead of transforming the tokens with the token-transformer, Figma Tokens can provide a custom parser for style-dictionary. To me, this seems like a much more ideal solution to the problem described above.
Additional context
From the style-dictionary docs:

Custom parsers can be used to keep design token files in other languages like YAML, but they can also be used to add extra metadata or modify the design tokens themselves before they get to Style Dictionary. For example, you could modify the token object based on its file path or programmatically generate tokens based on the data in certain files.

I'd love this and it would remove the need for the custom config we provide. I'll plan this in some of the upcoming iterations, if anyone wants to give this a shot and contribute feel free to do so - otherwise we'll pick this up once prioritized :+1:

@six7
I'm going to try this improvement, so Could you assign me to this issue?

@six7
I'm going to try this improvement, so Could you assign me to this issue?

Sure! Feel free to start work, we can pick it up once we get to it 🙏

I've found this by accident just now... I've been working on some custom configurations and transforms for SD recently (in TypeScript) so I can join the efforts and help out if needed!

For those following along, we're working on https://www.npmjs.com/package/@tokens-studio/sd-transforms which you can already try! We'll keep this in Beta for a bit before we release this and include in Docs properly. Let us know any feedback you have on this!

For those following along, we're working on https://www.npmjs.com/package/@tokens-studio/sd-transforms which you can already try! We'll keep this in Beta for a bit before we release this and include in Docs properly. Let us know any feedback you have on this!

Nice! Very interesting :)

Closing this as sd-transforms now supports most features token-transformer has supported. Added a page to our docs.

https://www.npmjs.com/package/@tokens-studio/sd-transforms
https://www.npmjs.com/package/@tokens-studio/sd-transforms
https://configurator.tokens.studio/

Does this also mean that token-transformer won't receive anymore updates going forward?
What seems to be missing in sd-transforms for us specifically is the connection to $themes.json and $metadata.json


Contributing.md e2e testing additions

Closes: #1580
What is the purpose of the change
This pull request improves documentation on debugging with end to end testing as a part of our contributing guidelines.
Brief Changelog
Added e2e testing section on contributing.md
Testing and Verifying
(Please pick one of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added unit test that validates ...
Added integration tests for end-to-end deployment with ...
Extended integration test for ...
Manually verified the change by ...

Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? (yes / no)
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? (yes / no)
How is the feature or change documented? (not applicable   /   specification (x/<module>/spec/)  /  Osmosis docs repo   /   not documented)

Feedback implemented, thank you!


Running into CUDA out of Memory: DPO Pipeline for Custom Llama Model (FSDP Trainer)

I have access to two GPUs on my machine that are Quadro RTX 8000 with RAM of 45 GB each. I am trying to run the dpo pipeline for a custom model (Vicuna Model which is Llama Model with Vicuna weights). Somehow on my machine I get 'nan' output in metrics if I use policy dtype as float16, so I am constrained to using dtype=float32. I am using FSDP trainer and have reduced batch sizes to 2 (bare minimum). Since the reference model is not required to be trained and is only used for inference, I have offloaded the model to CPU using accelerate's infer_auto_device_map and dispatch_model. Also I had to keep reference dtype=float32 since other wise I run into
RuntimeError: "addmm_impl_cpu_" not implemented for 'Half'.
Hence in order to save as much space as possible I have avoided using the concatenated_inputs which tried to reduce redundant step of calling the FSDP model twice and save some time. I have tried to internally overwrite that step and called the model twice to save as much GPu space as possible. Yet I am running into CUDA out of memory.
My question is, Is this step really reducing the GPU memory usage, please help me out. I am pasting screen shot of the code change made.

Somehow on my machine I get 'nan' output in metrics if I use policy dtype as float16

This is not unusual, since the range of float16 is much smaller than float32, and overflow is common. You might have better luck with bfloat16.

since other wise I run into RuntimeError: "addmm_impl_cpu_" not implemented for 'Half'.

This is also expected, since all ops do not have half precision CPU implementations. This is a pytorch limitation and unrelated to DPO.
To get to your actual question:

Is this step really reducing the GPU memory usage, please help me out. I am pasting screen shot of the code change made.

I wouldn't expect de-concatenating the inputs to the policy to significantly reduce GPU memory usage, since either way, we need to store the whole computation graph for both the chosen and rejected samples so we can do the backward pass. Concatenating them and doing a single FSDP call just seems to be a bit faster (potentially reducing some communication) from FSDP.
If you're fine-tuning a llama 7b-sized model, fp32 is just going to require 7B * 4 bytes/param * 3 = 84G VRAM just to store the model, grads, optimizer state, which doesn't really leave any room for the activations/CUDA contexts if you've got 2 45G cards. So your options are:

drop the precision (try bfloat16)
use parameter-efficient fine-tuning (PEFT), like LoRA
use gradient checkpointing
I'm hoping we'll be able to add some PEFT code soon, but the other choices are already supported.

@yash7verma just checking in- any progress on this issue?

Hi Eric,
The issue has been resolved, however I am not getting the desired results
from the pipeline.
Thank you,
Yash Verma
On Mon, Aug 7, 2023 at 5:27 AM Eric Mitchell @.***>
wrote:

@yash7verma https://github.com/yash7verma just checking in- any
progress on this issue?
—
Reply to this email directly, view it on GitHub
https://github.com/eric-mitchell/direct-preference-optimization/issues/19#issuecomment-1667009867,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AI3WPAS745R3NOXPMSLRRLDXUAVPRANCNFSM6AAAAAA2NEFXSM
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

@yash7verma I am happy to assist with your problem- let's close this one, and you can open a new issue for your current blocker?


the phone numbers comes up with a equal to sign

the phone numbers looks broken

I cannot reproduce the the above. Can you sent me an example query that gives these results?

florida2.csv
It basically considering the + Infront of the numbers
any way we can sanitize it?

@todobig I don't see any error here. The + (plus) in front of the phone is valid.
you can remove it in a post processing


IdleWarn ver 1.0

I'm only seeing the IdleWarn event fired when idle expires and then when timeout expires.  My impression was that this would fire every second during the timeout period?
I attempted to implement in plunker to give example code but doesn't seem to work at all there.  I think it is a fairly good representation of what I am doing though.  http://plnkr.co/edit/Tv1rmD?p=info
note: the header comment still references this as  "* @version v0.3.5"

Version 1.0.0 hasn't been released yet. I still have an issue or two to close and then I'll release it.

I'm a github noob, I found the master version.  Thx

I did fork your plunk though. There were a few errors:

EventsCtrl references $modal but wasn't specifying it as a dependency.
Under Index.html, your warning modal used the directive ng-idle-countdown. In 1.0.0, this directive drops the ng prefix and is just called idle-countdown.
In that same modal template, you were using a static value of 5 for value, rather than countdown.

However, even after those changes, it still wasn't updating the dialog. It's not doing that for me in any of my other samples. I modified the idle-countdown directive in the angular-idle.js file you included in your plunk and added a $scope.$apply to force Angular to perform a digest. Then it worked.
We shouldn't have to do that, but maybe I'm mistaken. I'll look into it.
My fork: http://plnkr.co/edit/LuNBwg6s9QYnJ0OgBM7c?p=preview


Expanding window by mouse doesn't resize actual neovim size

environment

vim: NVIM 0.1.7
vim-airline: fde2511201399048e34f8e9460d8c6cb5cb066d8
OS: Ubuntu 16.04
Have you reproduced with a minimal vimrc: yes
What is your airline configuration: ???
if you are using terminal:
terminal: GNOME TERmINAL
$TERM variable: xterm-256color
color configuration (:set t_Co?):
if you are using Neovim:
does it happen in Vim: no

actual behavior

Description
When I use neovim with this plugin, expanding window by double clicking on the title or by clicking on the "expand window button" doesn't affect neovim aria. Expanding by CTRL+SUPER+UP works ok by the way. Without this plugin all works fine.

I believe that is a nvim bug, that hasn't been merged yet from vim. See Vim patches 8.0.275, 8.0.274 and 8.0.286


Fix argparse sys.argv usage

The new code using argparse passes the plugin args via sys.argv.  This works, but a better way is provided by argparse itself.
Look for example code here.

Done.


Inline chat widget breaks if I cancel it immediately after pressing enter

Open inline chat widget
Press enter to submit a query, press escape immediately
Open inline chat again, now it's broken
I can't get rid of it, it shows in every editor until I reload the window

2024-01-24 16:15:22.046 [error] Session already stored for vs.editor.ICodeEditor:1@file:///Users/roblou/code/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.ts: Error: Session already stored for vs.editor.ICodeEditor:1@file:///Users/roblou/code/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.ts
    at u.createSession (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:1911:72922)
    at async K.CREATE_SESSION (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2387:33692)
    at async K.R (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2387:33226)
    at async K.run (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2387:33046)
2024-01-24 16:15:22.047 [error] Unexpected type: Error: Unexpected type
    at b (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:93:10132)
    at K.PAUSE (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2387:42819)
    at K.run (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:2387:33125)

/duplicate of https://github.com/microsoft/vscode-copilot/issues/3719


package.json is empty and build is failing

Looks like it's been broken for 2 days or so. :(

Whoops. 😓


Added "GroupMembership has "Admin" condition for better extraction of admin accounts from the identity infotable

Required items, please complete
Change(s):Added "GroupMembership has "Admin" condition for better extraction of admin accounts from the identity infotable

See guidance below

Reason for Change(s):

See guidance below

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:

See guidance below

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Guidance <- remove section before submitting

Before submitting this PR please ensure that you have read the following sections and filled out the changes, reason for change and testing complete sections:
Thank you for your contribution to the Microsoft Sentinel Github repo.

Details of the code changes in your submitted PR.  Providing descriptions for pull requests ensures there is context to changes being made and greatly enhances the code review process.  Providing associated Issues that this resolves also easily connects the reason.

Change(s):

Updated syntax for XYZ.yaml

Reason for Change(s):

New schema used for XYZ.yaml
Resolves ISSUE #1234

Version updated:

Yes
Detections/Analytic Rule templates are required to have the version updated

The code should have been tested in a Microsoft Sentinel environment that does not have any custom parsers, functions or tables, so that you validate no incorrect syntax and execution functions properly.  If your submission requires a custom parser or function, it must be submitted with the PR.

Testing Completed:

Yes/No/Need Help

Note: If updating a detection, you must update the version field.

Before the submission has been made, please look at running the KQL and Yaml Validation Checks locally.
https://github.com/Azure/Azure-Sentinel#run-kql-validation-locally

Checked that the validations are passing and have addressed any issues that are present:

Yes/No/Need Help

Note: Let us know if you have tried fixing the validation error and need help.

References:

Guidance for Detection checks
General contribution guidance
PR validation troubleshooting

Hello @praveenthepro , Thanks for raising this PR. We will investigate this PR and will come back to you with an update by 14 December, 2023.
Thanks.

Hello @praveenthepro, Please resolve the Validation errors.

Hello @praveenthepro, Please resolve the Validation errors.

@v-prasadboke Fixed the error's, kindly please checkout


The issue of test

I want to test the pre-train model
the environment :
ubuntu16.04
python2.7
tensorflow==1.5.0
I put my test image in the demo,here is my command
--python predict.py -p demo/1.jpg
but i got error:

please help me

Are you sure test image path?

ye~p, I put my test image into the demo/ folder. Besides, the demo origin images will also got this error .

I meet this error when i used python2.7.but when I use python3, the problem is solved. hope this helps you


[BUG]: No Pending task being created for Response

Describe the bug
No Pending task being created for Response for Application Submissions

Hi @devarajd94  we have similar ticket created please  refer

Currently UI is creating pending task,This issue Will require additional development changes to create the pending task from backend moving this ticket to next sprint @manimaarans @suresh12  @atulgupta2024 @subhashini-egov

Hi @atulgupta2024  New design for pending tasks will resolve this issue we will pick this task in sprint 13

Hi @Beehyv-Vinod  Please retest

HI @nitish-beehyv,
DPG-DEV
Issue is resolved but a Bug is also found, Please look into this Issue, #2433
Refer Screenshot

Hi @Ramu-kandimalla, @rajeshcherukumalli
This Issue is resolved in DPG-DEV
Refer Screenshot

HI @Ramu-kandimalla, @devarajd94, @rajeshcherukumalli
This Issue is resolved in UAT
Refer Screenshots

Signing off based on test evidence


Better strings

This is probably not a appropriate fix, more an issue to discuss:
In the JSON we manage with the tool, we have some strings that span multiple lines. This is not supported by the input-field. Hence, in my opinion, it'd be good to switch to textarea.
Or maybe better: Create the possibility to pass own input field components? Would offer much more use cases...
By the way: I think React should be listed as a peer dependency inside the package.json – otherwise you can get in trouble with different mismatching React versions.

Create the possibility to pass own input field components?
Great idea, @yorickreum. Check out #46 which adds support for this and should fit your <textarea> use case. That PR has an example which implements <textarea>.

If it looks alright, we can merge it and close this.

Wow, that was fast. Looks quite good! Way better than my workaround.
Thanks a lot, will test it as soon as possible.


Authenticator different codes on my 2 Iphone

Original issue 459 created by nip333 on 2014-10-07T09:11:08.000Z:
What steps will reproduce the problem?
wrong codes
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Please provide any additional information below.
I have 2 authenticator, one  on each of my Iphone, the Italian one and the German one. I get different codes on them. on one the code is wrong, one the other is right. How may I correct the wrong one.

Couldn't this be because the time differs on both devices?

@jtyr: TOTP codes should be based on the UTC time, not local.

#518 might be related.

Unlikely. #518 is an iOS 9 bug, while this bug is from 2014. I'm not an Apple guy, but I don't think iOS 9 existed back then.

I know, but I'm wondering if this is still a time syncing issue.

with my iphone 6s i never got a valid key
:-(

Shot in the dark, but were these put into both phones at the EXACT SAME TIME?
Or did you generate a code for say 1 phone at one point in time, and then scan a completely different QR code at some point afterwards?


Oops cant load help

I keep getting this error when trying to use the javascript help in PXT.
I definitely have an internet connection (proved by opening a web page in another tab)

Indeed, docs are at https://pxt.microbit.org/javascript

Fixed


remote - user name won't change in error message

detailed description of the problem on: http://stackoverflow.com/questions/8295393/jquery-validate-remote-user-name-wont-change-in-error-message

Duplicate of #201


feat: add pagination for  role play prompt

Is your feature request related to a problem? Please describe.
For now, we have lots of prompts for role play.
I think we can split to few pages, can make the page clean and fast to load.
Describe the solution you'd like
pagination.
Describe alternatives you've considered
Echa page show about 15 or 20 items, and support  "next", "previous".
For the url page number is better to have.
Additional context
Better to have in the future:  hot or suggest label.

:wip: trying

trying

Sorry I didn't mark it here ToT

@genffy 下次记得先回一下

trying

Sorry I didn't mark it here ToT

[ThumbsUp] 没事没事，你做的快，效果比我的好 [Happy]


[reggen] Optionally expose register interface in reg2hw signal

If a block sets expose_reg_if in the hjson, the generated reg2hw
structure will contain an extra field called "reg_if", which has the
register interface signals. This could be useful for things like
checksumming writes over the interface. For example, OTBN is
considering a register that checksums all the writes from Ibex, in
order to beef up data integrity checking between Ibex and OTBN (see
issue #6175). This could also be used for more elaborate things like
port knocking schemes.
This exposes all the signals that come from the TLUL interface:
reg_we, reg_re, reg_addr, reg_wdata and reg_be. It doesn't expose
reg_rdata and reg_error because we don't really have a use for that at
the moment and it causes lint problems (where it looks like a
combinatorial loop between reg2hw and hw2reg).
@Jacob-Levy: I think this should do what you need: could you give it a try?
Fixes #6793.

How can I test the regtool uoutput wuth the flag?
I need an access to the new regtool.py...
I was also looking for an example of the  flag use inside the hjson

Why are you claiming that it might looks like a combinatorial loop between reg2hw and hw2reg?
I though you only expose the reg_if as an outputs on the reg2hw...

To add to what Michael said, to use this once you have the code, you just need to set the expose_reg_if in your block's hjson file.
About the "combinatorial loop": the problem is with tools like Verilator, which schedule structs as a single thing (in which case, they think there's a loop between hw2reg and reg2hw). You can tell Verilator to be cleverer with a split_var directive but, in the absence of any strong reason to expose the "input" signals, I thought the simplest thing was not to bother with them at all.

Oh, and there's a neat way to get at the head of a PR like this.

I  run it and got the following:
@ ast_reg_pkg.sv
typedef struct packed {
   logic        reg_we;
   logic        reg_re;
   logic [9:0]  reg_addr;
   logic [31:0] reg_wdata;
   logic [3:0]  reg_be;
 } ast_reg2hw_reg_if_t;

 // Register -> HW type
 typedef struct packed {
   ast_reg2hw_reg_if_t reg_if; // [737:690]
   ast_reg2hw_revid_reg_t revid; // [689:681]

@ ast_reg_top.sv
  assign reg2hw.reg_if.reg_we    = reg_we;
  assign reg2hw.reg_if.reg_re    = reg_re;
  assign reg2hw.reg_if.reg_addr  = reg_addr;
  assign reg2hw.reg_if.reg_wdata = reg_wdata;
  assign reg2hw.reg_if.reg_be    = reg_be;

As you can see,  only the outputs  of the u_reg_if block are exposed.
For now, I do not need the inputs of the reg_if (reg_rdata & reg_error), but someone else might need them...
The current implementation will work fine for me since I am only using reg_we, reg_addr, and reg_wdata.
Regards,
Jacob

Great! Lets revisit this if anyone needs them.


Add delete inside word action

The 'deleteWordLeft' command cannot delete letters on right side of the cursor. We want new function which can delete the whole word.
(We submit this issue formally. Sorry.)

I've checked. I could find the "Delete Word" action and bind a keybinding to it. The function works properly. Thank you!


[GITHUB-7] Adds random wait to autodiscover script

Hacky attempt at preventing id clashes when starting a fresh cluster.

Looks good to me :tm:


message held

when i try to send email if from and to are in the same domain(domain is in the approved list), message go to held messages, is it correct?

If you look at the messages in the Postal interface, you will see why the message has been held.

the error, i got is the emails is on the suppression list. i checked, the problem is Zoho clients cant receive emails, and i dont now why?

If the email addresses are already on the suppression list, you will have to look at an older message to see the error message it received that caused it to be on the suppression list.


zeek-archiver/compress: Prevent command injection through filenames

Skimming the code it seemed log files created as follows could cause
interesting behavior:
event zeek_init() {
  Log::create_stream(Foo::LOG, [$columns=Info, $path="test;uptime;touch x"]);
  Log::write(Foo::LOG, [$ts=current_time()]);
}

This may not necessary be malicious behavior. Putting a ; into a filename
could be considered valid (whether sensible or not). In that case, logs aren't
archived.
This patch proposes to fork() a separate child that connects stdin/stdout accordingly which ends up fairly complex.
Maybe there's an easy way to properly escape the filenames. So maybe a different approach is more suitable?

Would it be sufficient to wrap the filenames in single-quotes before passing to system() ?  E.g.
diff --git a/zeek-archiver.cc b/zeek-archiver.cc
index 6c3c128..43f322c 100644
--- a/zeek-archiver.cc
+++ b/zeek-archiver.cc
@@ -568,8 +568,8 @@ static int archive_logs()
			debug("Archive via compression: %s -> %s", src_file.data(), dst_file.data());

			std::string cmd = options.compress_cmd;
-			cmd += "<"; cmd += src_file.data();
-			cmd += ">"; cmd += tmp_file.data();
+			cmd += "<'"; cmd += src_file; cmd += "'";
+			cmd += ">'"; cmd += tmp_file; cmd += "'";

			auto res = system(cmd.data());

i.e. these are already filenames on disk, so just need to avoid having the shell interpret things in the name and instead always use literal values.  (Generally think we can assume these names are "trusted" in the first place, so yeah, it's maybe more a question of sensible vs. valid -- might be unaware of a legit use-cage, but personally wouldn't say it's sensible to put semi-colons or other weird stuff in these filenames, but sure, we can probably try to do something about it in terms of "technical validity").

Hey Jon,
thanks for checking this out.
The quoting approach would require to at least quote ' characters inside the filenames as well, otherwise one can terminate the quoting with an extra ' in the filename. It seems what shlex.quote in Python does may be okay for bash/sh, but maybe not generally safe. Input from Stackoverflow...

(Generally think we can assume these names are "trusted" in the first place, so yeah, it's maybe more a question of sensible vs. valid -- might be unaware of a legit use-cage, but personally wouldn't say it's sensible to put semi-colons or other weird stuff in these filenames, but sure, we can probably try to do something about it in terms of "technical validity")

I may have a bit of a stricter view here: I don't think the filenames should be trusted. Anyone who gains write access to the logs queue directory gains permissions to run commands as the user under which zeek-archiver runs.  Consider the permissions on the logs queue directory are configured too lax (everyone can write there) and zeek-archiver is running as root.

I'm on board: thanks for the patch + test-cases.
I made several adjustments during merge: b2d096961fe725dbe6b11cbfbed499c8377d7687
And also added a signal handler to cleanup the child-compression process on SIGTERM: 61d3c604c514c7f9d21d076dd0751964518b2f96
Can you double check what's in master to see if you notice anything that's still concerning?

LGTM. Thanks for refining it. Great catch for the 0644 vs 0444 mode.


Scanning connectionless proof request takes me to an unknown connection screen

Description of problem
Scanning connectionless proof request takes me to an unknown connection screen.
Expected behavior
Scanning a connectionless proof request should wait for the proof request and then open the request automatically
Steps to reproduce

Go to: https://a2a-test.apps.silver.devops.gov.bc.ca/dars/pre-vc-auth/ and scan the proof request
The app will take you to this unknown screen
Tap home
You'll find the proof request in the notification list

Screenshots and/or log output

Environment

[x] Occurs on Android
[x] Occurs on iOS

Build #: 1073
Android Device Model:OnePlus 6
iOS Device Model:  iPhone SE
Workaround

Tap home
You'll find the offer in the notification list

Severity

[x] High
[ ] Medium
[ ] Low

This is a duplicate issue to ticket 1258