Programming exercises: Add a Monaco-based code editor for students

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] I chose a title conforming to the naming conventions for pull requests.

Client

[x] Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
[x] I strictly followed the client coding and design guidelines.
[x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Changes affecting Programming Exercises

[x] High priority: I tested all changes and their related features with all corresponding user types on a test server configured with the integrated lifecycle setup (LocalVC and LocalCI).

Motivation and Context

The existing implementation of the code editor suffers from usability and code quality issues, e.g.

use of the any type for the editor instance, which is exposed to several other components
lack of common text editor features, e.g. find/replace

This PR is the first step towards replacing the code editor (and all other editors that rely on Ace) with the Monaco editor. The goal is to have a working version of the Monaco editor within the existing implementation.
Description

Introduces the Monaco Editor (and Codicons for icons) dependency into the client.
Allows students to switch to the Monaco-based code editor in three views:

When editing a submission for a programming exercise.
When editing a submission for a programming exercise in an exam.
When viewing a manual assessment for a programming exercise.
Other views are not affected and will be added in subsequent PRs (e.g. making manual assessments or viewing your repository)

Compared to the Ace implementation, the actual editor instance is now restricted to the MonacoEditorComponent and its elements. Furthermore, the new implementation does not rely on the any type.
Within the new editor, the build annotations are now fixed in place and are marked as outdated once the repository has changed.
Known issues:

The current layout requires a workaround (max-width/height 99%) for resizing the editor using the grid view. The layout will be replaced in a future PR, which should resolve this issue.

Steps for Testing
Prerequisites:

1 Instructor
1 Student
1 Programming exercise with manual feedback and the Online Code Editor enabled

Making a submission

Log in to Artemis as the student
Navigate to the programming exercise
Switch to the new code editor
Submit a solution with a syntax error; ensure that the error is highlighted correctly in the editor once the result arrives.
Edit and submit the submission. Make sure to create/rename/delete some files as well.

Viewing manual feedback

Log in as the instructor and set the due date of the exercise to the past
Provide a manual assessment (this still uses the old code editor)
Log in as the student
Open the reviewed submission
Switch to the new code editor
Verify that all feedback is displayed in the correct location (and that you cannot edit the submission).

Exam Mode Testing

Prerequisites:

1 Student
1 Exam with a programming exercise (with the Online Code Editor enabled)

Log in to Artemis
Participate in the exam as a student
Navigate to the programming exercise
Switch to the new code editor
Use the code editor to edit your submission and submit it. Make sure to create/rename/delete some files as well.
When the exam is over, verify that your submission was uploaded correctly.

Testserver States

[!NOTE]
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked

Review Progress

Performance Review

[ ] I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[x] Test 1
[ ] Test 2

Exam Mode Test

[ ] Test 1
[ ] Test 2

Test Coverage

Client

Class/File
Line Coverage
Confirmation (assert/expect)

code-editor-monaco.component.ts
91.76%
✅

monaco-code-editor-element.model.ts
82.35%
✅

monaco-editor-build-annotation.model.ts
100%
✅

monaco-editor-glyph-margin-widget.model.ts
100%
✅

monaco-editor-inline-widget.model.ts
100%
✅

monaco-editor-overlay-widget.model.ts
100%
✅

monaco-editor-view-zone.model.ts
90%
✅

monaco-editor.component.ts
96.1%
✅

Screenshots

General UI
Dark mode:

Light mode:

Build annotations
After building:

After changing the files:

Tutor feedback

Summary by CodeRabbit

New Features

Integrated Monaco editor for enhanced code editing experience.
Enabled switching between code editors within the application.
Added ability to render build annotations (errors, warnings) in the Monaco editor.
Introduced styling for Monaco editor in both default and dark themes.

Enhancements

Improved error log parsing logic for build logs.
Added conditional rendering for tab size selector in code editor settings.

Documentation

Updated documentation to include Monaco editor configuration and setup.

Tests

Added comprehensive tests for Monaco editor components and functionalities.

Style

Introduced new styling variables and stylesheets for Monaco editor customization.

Chores

Configured Jest to support Monaco editor testing environment.

Tested both regular exercises and exams, works as expected. Was able to switch editors, add/remove/modify files. The state of the exam submission was correct.
There was one counterintuitive behavior though, when I have unsaved changes and switch between code editors, the changes are lost. Not sure if this is ok.
Also, I found this error once when deleting a file, but this seems not to be related to the PR.


snap image build for latest release

we should have a snap image of the latest version of Barrel to be used with latest core.
Source to build a snap look at barrel-db/barrel-snap  (courtesy of @mhall119) .
TODO:

[ ] fix image build with rocksdb
[ ] provide a bin attached to a github tag in the repository

more info about snaps: https://snapcraft.io

issue has been moved to gitlab: https://gitlab.com/barrel-db/barrel-platform/issues/85


Use Standard-IA to store the warm replica in the storage service, not Standard

[x] Write new replicas as Standard-IA
[ ] Migrate the existing warm replica to Standard-IA

I've applied a policy to the S3 bucket that will lifecycle all the existing objects to Standard-IA, but it'll take a while for it to apply – we'll come back to this ticket in January.

Just checked; we still have objects written as Standard, so wait another week.

Still Standard: https://console.aws.amazon.com/s3/buckets/wellcomecollection-storage/digitised/b21641638/v1/data/alto/?region=eu-west-1&tab=overview

Still standard!

You can store objects <128KB as Standard-IA, but you get billed as if they were 128KB. It won't lifecycle them away because that might be more expensive.
With that in mind, the lifecycle probably has been applied correctly and we can delete it.


Include package-level docs from README.md

Solves #13. Generates the package-level documentation (located on the crate's docs.rs homepage) based on the contents of README.md. When on the nightly compiler, the docs can be generated like so:
$ cargo doc --features nightly

NOTE: After moving the top-level doc comments from src/lib.rs into README.md, Rust Doc links (such as [`from()`]) appear with the brackets in the README. I tried adding parens after the brackets, to make them dead links in the README, but then Rust Doc doesn't recognize them as links to the item documentation.

Thanks so much for working on this! It seems there are some issues I hadn't forseen, though :(

Rust Doc links (such as [from()]) appear with the brackets in the README

This is very unfortunate! One way around it would be to link to docs.rs explicitly, but I'd like to not do that.

Clippy complains about missing docs
As the clippy is run on stable on CI, it doesn't see the nightly feature. I think we can work around this by adding an "empty" line with just //!, but that too would be very unfortunate.

On top of that I just merged #18 which added to the crate-level docs -- which is why there is now a merge conflict between master and this branch. Sorry!
I feel pretty bad to ask this, but do you think it's worth it to try and work around these issues? Maybe it's easiert to add a short example to the Readme and test that (e.g. with https://docs.rs/docmatic)?

It's all cool, I'm learning me some rustdoc!

One way around it would be to link to docs.rs explicitly, but I'd like to not do that.

I agree, we'd tend to get dead links over time.

Maybe it's easiert to add a short example to the Readme and test that (e.g. with https://docs.rs/docmatic)?

This seems like a good idea. From the docmatic homepage:

Allows your README to focus on potential contributors and your API docs on potential users

I think this is exactly what we're looking for. Why don't we delete this PR, (is that my responsibility or yours?) and I'll start trying to integrate docmatic. Which examples would you like to appear in the README?


Android device supported

If you accept this please make a dupication of this branch before you merge this.

Oh I forgot to describe what is this branch do.
Termux is the best Linux emulator on Android device. It can install golang or git or any useful applets. So I wrote the useful installer for Termux. My installer make Termux fully supported with this repository and let user run any go file on Android device.

you have forked an older branch of kahoot-hack. Perhaps you should close this pull request, copy a.sh and the paste it in the most current branch

OK I will update a.sh and upload the new one to the most current branch. Thank you.


91 ensure current ci is doing what's expected

At this point the hope is that the linter will lint any code anytime it is submitted to or pull requested to the main branch of our repo. In addition to JavaScript and HTML, it should lint all other languages unless we specify other wise and it should provide a detailed report in the actions tab of the repo. We can further modify the way it currently is to add a report to a folder if we choose to later.

Awesome!!! If you look at the actions tab from now on, its a little bit of scrolling but the linter will tell you what files have what problems and clue you in on how to fix them. I feel like warnings can be ignored mostly but for styling we should at least consider fixing them. Again, the linter will now check newly submitted code, not the entire code base and anything labeled as an error should at least be looked at before any merging occurs.

I think this looks great! Nice job


[Error during generate()] shape '[1, 627, 64, 128]' is invalid for input of size 642048

I'm using LMQL with a specific huggingface model garage-bAInd/Platypus2-70B-instruct and it throws up the following error:
[Error during generate()] shape '[1, 627, 64, 128]' is invalid for input of size 642048
Traceback (most recent call last):
  File "/users/acp22ahr/guidancetesting/QAdataset/LMQL_query_QA.py", line 165, in <module>
    b = get_judgements(q)
  File "/users/acp22ahr/guidancetesting/QAdataset/LMQL_query_QA.py", line 121, in get_judgements
    executed_prog = program_quantised(
  File "/users/acp22ahr/lmql/src/lmql/api/queries.py", line 148, in lmql_query_wrapper
    return module.query(*args, **kwargs)
  File "/users/acp22ahr/lmql/src/lmql/runtime/lmql_runtime.py", line 204, in __call__
    return call_sync(self, *args, **kwargs)
  File "/users/acp22ahr/lmql/src/lmql/runtime/loop.py", line 36, in call_sync
    res = loop.run_until_complete(task)
  File "/users/acp22ahr/.conda/envs/qlora/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/users/acp22ahr/lmql/src/lmql/runtime/lmql_runtime.py", line 230, in __acall__
    results = await interpreter.run(self.fct, **query_kwargs)
  File "/users/acp22ahr/lmql/src/lmql/runtime/interpreter.py", line 1012, in run
    async for _ in decoder_fct(prompt, **decoder_args):
  File "/users/acp22ahr/lmql/src/lmql/runtime/dclib/decoders.py", line 22, in argmax
    h = h.extend(await model.argmax(h, noscore=True))
  File "/users/acp22ahr/lmql/src/lmql/runtime/dclib/dclib_cache.py", line 262, in argmax
    return await arr.aelement_wise(op_argmax)
  File "/users/acp22ahr/lmql/src/lmql/runtime/dclib/dclib_array.py", line 318, in aelement_wise
    result_items = await asyncio.gather(*[op_with_path(path, seqs, *args, **kwargs) for path, seqs in self.sequences.items()])
  File "/users/acp22ahr/lmql/src/lmql/runtime/dclib/dclib_array.py", line 317, in op_with_path
    return path, await op(element, *args, **kwargs)
  File "/users/acp22ahr/lmql/src/lmql/runtime/dclib/dclib_cache.py", line 241, in op_argmax
    non_cached_argmax = iter((await self.delegate.argmax(DataArray(non_cached), **kwargs)).items())
  File "/users/acp22ahr/lmql/src/lmql/models/lmtp/lmtp_dcmodel.py", line 249, in argmax
    return await self.sample(sequences, temperature=0.0, **kwargs)
  File "/users/acp22ahr/lmql/src/lmql/models/lmtp/lmtp_dcmodel.py", line 292, in sample
    return await sequences.aelement_wise(op_sample)
  File "/users/acp22ahr/lmql/src/lmql/runtime/dclib/dclib_array.py", line 318, in aelement_wise
    result_items = await asyncio.gather(*[op_with_path(path, seqs, *args, **kwargs) for path, seqs in self.sequences.items()])
  File "/users/acp22ahr/lmql/src/lmql/runtime/dclib/dclib_array.py", line 317, in op_with_path
    return path, await op(element, *args, **kwargs)
  File "/users/acp22ahr/lmql/src/lmql/models/lmtp/lmtp_dcmodel.py", line 282, in op_sample
    tokens = await asyncio.gather(*[self.stream_and_return_first(s, await self.generate(s, temperature=temperature, **kwargs), mode) for s,mode in zip(seqs, unique_sampling_mode)])
  File "/users/acp22ahr/lmql/src/lmql/models/lmtp/lmtp_dcmodel.py", line 138, in stream_and_return_first
    buffer += [await anext(iterator)]
  File "/users/acp22ahr/lmql/src/lmql/models/lmtp/lmtp_multiprocessing.py", line 158, in generate
    async for token in self.stream_iterator(self.stream_id):
  File "/users/acp22ahr/lmql/src/lmql/models/lmtp/lmtp_multiprocessing.py", line 187, in stream_iterator
    raise LMTPStreamError(item["error"])
lmql.models.lmtp.errors.LMTPStreamError: failed to generate tokens 'shape '[1, 627, 64, 128]' is invalid for input of size 642048'

I'm calling the model with a @lmql.query() decorated function within python with the following model call within the ```lmql block
from
    lmql.model("garage-bAInd/Platypus2-70B-instruct", cuda=True, inprocess=True, dtype="bfloat16")

I have ran the exact same script with the exact same setup for meta-llama/Llama-2-13b-chat-hf and had no issues. Is it model dependent and on what cases does this problem arise?

Just an added update I have now also tried with the meta-llama/Llama-2-13b-chat-hf model and got the same error whilst the 30b Platypus llama variant did not and ran fine.

Hi, thanks for reporting this. I am running things with meta-llama/Llama-2-13b-chat-hf quite frequently. Could you provide a concrete prompt that fails for you, so I can reproduce on my end? That would be awesome.

Sorry that was a typo, 13b is fine it is 70b models that have this issue.
Here is the prompt I am using:
'''lmql
argmax
    "Is question A or B a better answerable span extraction question for the given text according to the requirements\n"

    "Text: {input}\n"

    "Question A: {questionA}\n"

    "Is Question A related to the input text? [requirementA1]\n" where requirementA1 in set(["Yes", "No"])
    if "Yes" in requirementA1:
        "Is Question A a span extraction question? [requirementA2]\n" where requirementA2 in set(["Yes", "No"])
        if "Yes" in requirementA2:
            "Does the answer provided with the question match the correct answer in the text? [requirementA3]\n" where requirementA3 in set(["Yes", "No"])
            if "Yes" in requirementA3:
                "Is the answer provided with the question concise? [requirementA4]\n" where requirementA4 in set(["Yes", "No"])

    "\nQuestion B: {questionB}\n"

    "Is Question B related to the input text? [requirementB1]\n" where requirementB1 in set(["Yes", "No"])
    if "Yes" in requirementB1:
        "Is Question B a span extraction question? [requirementB2]\n" where requirementB2 in set(["Yes", "No"])
        if "Yes" in requirementB2:
            "Does the answer provided with the question match the correct answer in the text? [requirementB3]\n" where requirementB3 in set(["Yes", "No"])
            if "Yes" in requirementB3:
                "Is the answer provided with the question concise? [requirementB4]\n" where requirementB4 in set(["Yes", "No"])

    "\nProvide a paragraph reasoning step-by-step for which question is better: \n\n[reasoning]\n" where STOPS_AT(reasoning, "\n")

    "Given the evaluation of each question relative to the requirements, the better question is Question [answer]." where answer in set(["A", "B"])
from
    lmql.model("meta-llama/Llama-2-70b-chat-hf", cuda=True, inprocess=True)
'''

I am using the most recent version of LMQL

Okay, I finally got some hardware to run this on. So far, with this example query (I chose some simple example questions), it seems to run fine. Can you provide a concrete input, questionA, questionB triplet that causes a failure?
questionA = "Who is the main actor of Men in Black?"
questionB = "What do you believe is the meaning of life?"
input = "The men in black was acted out by Will Smith."

"Is question A or B a better answerable span extraction question for the given text according to the requirements\n"

"Text: {input}\n"

"Question A: {questionA}\n"

"Is Question A related to the input text? [requirementA1]\n" where requirementA1 in set(["Yes", "No"])
if "Yes" in requirementA1:
    "Is Question A a span extraction question? [requirementA2]\n" where requirementA2 in set(["Yes", "No"])
    if "Yes" in requirementA2:
        "Does the answer provided with the question match the correct answer in the text? [requirementA3]\n" where requirementA3 in set(["Yes", "No"])
        if "Yes" in requirementA3:
            "Is the answer provided with the question concise? [requirementA4]\n" where requirementA4 in set(["Yes", "No"])

"\nQuestion B: {questionB}\n"

"Is Question B related to the input text? [requirementB1]\n" where requirementB1 in set(["Yes", "No"])
if "Yes" in requirementB1:
    "Is Question B a span extraction question? [requirementB2]\n" where requirementB2 in set(["Yes", "No"])
    if "Yes" in requirementB2:
        "Does the answer provided with the question match the correct answer in the text? [requirementB3]\n" where requirementB3 in set(["Yes", "No"])
        if "Yes" in requirementB3:
            "Is the answer provided with the question concise? [requirementB4]\n" where requirementB4 in set(["Yes", "No"])

"\nProvide a paragraph reasoning step-by-step for which question is better: \n\n[reasoning]\n" where STOPS_AT(reasoning, "\n")

"Given the evaluation of each question relative to the requirements, the better question is Question [answer]." where answer in set(["A", "B"])

Running with meta-llama/Llama-2-70b-chat-hf, although via load_in_4bit

Closing this due to inactivity.


Does not use any concurrency library, just Go primitives (Go routines, channels) and context.Context from the standard library.

Woah! Nice work Jack! This is great. One thing to discuss... I've tried in the other implementations not to have shared code between the scenarios. I was thinking that it is nice to be able to look at the full implementation for a given scenario without having to hop to some other place in the code.  I know there'd be a lot of duplication if that was enforced but it seems like that will help better portray what all it takes to accomplish each scenario individually.  WDYT?

Woah! Nice work Jack! This is great. One thing to discuss... I've tried in the other implementations not to have shared code between the scenarios. I was thinking that it is nice to be able to look at the full implementation for a given scenario without having to hop to some other place in the code. I know there'd be a lot of duplication if that was enforced but it seems like that will help better portray what all it takes to accomplish each scenario individually. WDYT?

Ah, that's right, I did remember you doing that in other places. I was originally thinking about making each scenario more easy to follow, but ended up with a lot of repeated code (that's Go for you).
So I just pushed a commit that gets us half way there - it shows how each scenario accomplishes what it needs to to fulfill each race's concurrency requirements, but without the HTTP error handling stuff making things too verbose and hard to follow.
IOW, for now, I'm sill keeping the HTTP GET in a separate function, because I feel like rolling this into the scenarios would make the scenarios too noisy, and doesn't really add to helping the reader understand the actual concurrency logic.
In the meantime, I'm going to look around for a good higher-level Go HTTP client to see if I can make the HTTP call a one/two liner. If I can do that, maybe it would be better to inline the whole thing.

Hey James,
I think I'm happy with the Go implementation as it is, but am happy to remove the one DRY function if you want.
Here are the pros and cons of having a dedicated httpText() function to make a single HTTP request, verify that it's a 200 response, and return the body as text, handling errors as appropriate:
The benefit is that each scenario only has code demonstrating how it is accomplishing its concurrency goal. It's not polluted by all of Go's verbose error handling when dealing with HTTP, and so it's easier to follow, while still demonstrating the use of Go routines and channels.
The drawback is that it makes Go seem deceptively simpler, and more expressive than it really is. It does not give readers a feel for what real Go code would look like.
Let me know what you think.

Amazing work Jack! I'm merging it with the DRY http call code and will think more about how to handle this across all of the clients.


Provisioning SharePoint Assets using SPFX

Thank you for reporting an issue or suggesting an enhancement. We appreciate your feedback - to help the team to understand your needs, please complete the below template to ensure we have the necessary details to assist you.
Category

[X ] Question
[ ] Bug
[ ] Enhancement

Expected or Desired Behavior
I was trying to provision SharePoint assets using framework, I am using elements and custom schema file for creating list and content type and also in the list instance i have updated the custom schema file.
I have followed the steps as mentioned in the below link.
https://dev.office.com/sharepoint/docs/spfx/web-parts/get-started/provision-sp-assets-from-package
But when I install the package to app catalog I dont see any issues, but when i add the app to the site I see installation error "List schema 100 doesnt exist". Let me know if anyone faced similar issues.

Not enough details here.
Can you paste the exact error message and your elements.xml file?
Have you tried with the sample from the tutorials - https://github.com/SharePoint/sp-dev-fx-webparts/tree/master/tutorials/asset-deployment-webpart?


Fix warning: unused variable ‘init’ [-Wunused-variable]

Pedantic avoidance of
../../libs/json/test/value_ref.cpp:177:29: error: expected primary-expression before ‘init’
  177 |             (void)init_list init =
      |                             ^~~~

Thanks!


Fix dependency issues post mvfst/fbthrift introduction

Title: Update submodules/fix dependency break for fbcode_builder/cmake after mvfst introduction
Description:

Post mvfst introduction as a mandatory dependency to fbthrift, build
breaks by way of build_openr.sh fbcode_builder/cmake.  This also involved
upreving the pinned hashes for dependencies since there are multiple
variables at play.
Brought submodule dependencies up to date and enforced mvfst as dependency
to fbthrift.  Updated Github workflow to account for mvfst

Test Plan:

Successful build by way of build/build_openr.sh

Looks like the CI/CD pipeline here is quite heavy resulting in:
/usr/bin/ranlib: libopenrlib.a: No space left on device

Looks like the CI/CD pipeline here is quite heavy resulting in:
/usr/bin/ranlib: libopenrlib.a: No space left on device

Hey mate - Yeah, this is known. There was plan to get our own large disk worker built and use that, but never been high priority.
Let me see if I can click import to internal and see how interal CI goes.

I'm not directly involved anymore, but can't imagine the internal CI could be passing here ...


[Service Fabrid] 8.2 spec

Service name : Service Fabric
Key contact for the review : Jeffrey Jarry (jejarry)
Whether this is a new or existing API : Existing API with new version
Whether or not your service already been deployed : Yes
A brief description of the material to be reviewed/changed : A small subset of our API has been updated with new fields
A link to the PR/issue in the azure-rest-api-specs (public) or azure/azure-rest-api-specs-pr (private) repo #16498

API Stewardship Board Review:  3-Nov-21
Because this is an existing service, there will be little impact that we will be able to make, in part b/c we want to be consistent with the entirety of the service. The changes in this version are small, only one new operation and adding minor updates to the others.

@markweitzel is this PR ok to be merged?

@jeffj6123 -- From the perspective of the API Stewardship Board, yes. The Azure SDK team may have a few separate concerns as well though. Note: I do not have commit rights on this repo so we will need to coordinate with @lmazuel and team. Happy to help there.


Replace references to Error type with Error code

Just noticed looking at the docs that according to the routing section errors have a "type" field, but everywhere else this field is called "code" (I guess it was "type" in a previous version).
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thanks for your contribution.


FOD should be disabled when using DiskSpaceCheckThresholdMB.

FOD should be disabled when using DiskSpaceCheckThresholdMB.

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

ID: 04ad2f16-c861-7a1b-5c1d-e4601e8f3855
Version Independent ID: c47df4cd-f706-d807-5eac-172fba1e500f
Content: Use Group Policy to control OneDrive sync client settings
Content Source: OneDrive/use-group-policy.md
Service: one-drive
GitHub Login: @kaarins
Microsoft Alias: kaarins

@kenmoritest Thank you for this feedback
I will get this information over to the SharePoint team for investigation.
The team will get this prioritized into a sprint plan. Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@kaarins Hi Kaarin, any updates on this?

We say to use DiskSpaceCheckThresholdMB on devices that don't have FOD enabled. With FOD, files don't take up space on disk, so DiskSpaceCheckThresholdMB isn't needed. For Windows 10 devices, we recommend FOD.


🐛 bug(vscode): astro commands shows when not in astro files

Describe the Bug
Most plugins, e.g. TypeScript only shows their "commands" if you're in a file or project which uses it - so the TypeScript: Restart TypeScript server only shows if I CMD+SHIFT+P in TypeScript files. This is nice since you only get relevant results when I search for the restart command.

However, this is not how Astro works. You get the restart astro language server no matter what file im browsing - so if I recently used the command it gets chosen even when im no longer in astro - if that makes sense... this is just "annoying" and "slows" down developers as we want to restart our TS servers quite "often".

Note: I get that this is quite "nit" but it's still an annoying thing to have. The plugins commands doesn't need to show up when I'm not browsing Astro files.

Steps to Reproduce

In any VSCode project, Restart the Astro language server by CMD+shift+P then type restart and select the astro one. (note that astro is the only one showing up (well you might have other plugins but at least the TS option doesn't show))
Later, when you're in a normal TS project, you want to restart the typescript server you do the same process - and muscle memory just does it without thinking, however, the Astro option will be chosen even though you're not in an Astro file =>> you have to do the process again and look what server you're restarting

Thank you for reporting this! This is easy to fix, using the when clause documented here: https://code.visualstudio.com/api/references/when-clause-contexts
All of the commands could be only shown when on an Astro file, that seems definitely fair to me. If anyone is interested in tackling these, go ahead, otherwise I'll take a look as soon as possible myself


Publish to npm

While pulling the package from the github registry works; it would be great if this was also published to the default npm registry.
This would avoid having to configure github registry access in CI.

@p3l6 Thanks for the suggestion! We've passed this suggestion to our team to get slotted in the roadmap.

The package is now being published over here now as well @ketch-com/ketch-react-native


No module named ‘torch_scatter’

When I run the code using the following script, I met a error of ModuleNotFoundError: No module named ‘torch_scatter’
'''
sh ./scripts/UDA/dist_train_uda.sh 4 --cfg_file ./cfgs/DA/waymo_kitti/voxel_rcnn_pre_SN_feat_3.yaml
'''
I have installed the code using the INSTALL.md, and please tell me how to fix this error?

Hello, torch_scatter needs to download .whl for installation.
Please note that the scatter version should be consistent with the torch version and python version.

Hello, torch_scatter needs to download .whl for installation.
Please note that the version of torch_scatter should be consistent with the version of pytorch and python.


Support for environment variables

Motivation
Fix for #134 by supporting environment variables in Client.js
Checklist

[ ] Code follows coding conventions held in this repo
[ ] Automated tests have been added
[ ] Tests are passing
[ ] Docs have been updated (if applicable)
[ ] Temporary settings (e.g. variables used during development and testing) have been reverted to defaults

How to test
Test by following the updated README, and configuring your environment variables.

Apparently dotenv isn't required for accessing environment variables in React?

Could you also change the lists to start with just one space to fulfill the default indentation

https://github.com/DavidAnson/markdownlint/blob/v0.15.0/doc/Rules.md#md030

Thanks to notifying about the [out of the box support ](of the environment variables).
Sorry for the long delay - one of the CI checks didn't finish so that I didn't get any notification.

No worries! Let me know if you need any other changes

fixes #136

@blakewenloe - could you also request assigning to Kentico GitHub Global collaborators, then it will be possible to assign you as an issue fixer.

@Simply007 Done!

If you want to take a look at the news we are providing to our Global Collaborators feel free to check Global Collaborators Flash.
We also have a public backlog of javascript enhancements if you are interested!

Oh nice! I'm checking it out now


export more JWT interfaces

Some of them may be useful in other libs like uport-credentials or did-jwt-vc.

Thanks for the addition.
We haven't exported them until now because there was no direct need and because after it's public API, it needs to be maintained.
Since the main export is not the JWT.ts file I guess it would be ok to accept this PR


Decide on a license

As is mentioned in #7, we should decide on a license for this project. I would personally be in favor of an MIT license since it's very permissive and it's what Godot upstream uses so it will ensure compatibility with most other libraries.

MIT makes sense.


Fixed python3 error

I tried to get the virtual_dav_provider.py example working with WsgiDAV/2.3.0 Cheroot/6.2.4 Python/3.6.3 .
However, I got an error when accessing the virtual meta data files, e.g. .Info.html:
<123145538461696> [20:55:40.741] wsgidav:  ErrorPrinter: caught Exception
Traceback (most recent call last):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/error_printer.py", line 55, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_resolver.py", line 206, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 129, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 1526, in _sendResource
    assert compat.is_bytes(readbuffer)
AssertionError
ValueError("invalid literal for int() with base 10: ''",)
Traceback (most recent call last):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/wsgi.py", line 140, in respond
    for chunk in filter(None, response):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/wsgidav_app.py", line 435, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/debug_filter.py", line 161, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/error_printer.py", line 55, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_resolver.py", line 206, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 129, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 1526, in _sendResource
    assert compat.is_bytes(readbuffer)
AssertionError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 1193, in communicate
    req.respond()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 997, in respond
    self.server.gateway(self).respond()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/wsgi.py", line 146, in respond
    self.req.ensure_headers_sent()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 1044, in ensure_headers_sent
    self.send_headers()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 1061, in send_headers
    status = int(self.status[:3])
ValueError: invalid literal for int() with base 10: ''
<123145543716864> [20:55:40.747] wsgidav:  ErrorPrinter: caught Exception
Traceback (most recent call last):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/error_printer.py", line 55, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_resolver.py", line 206, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 129, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 1526, in _sendResource
    assert compat.is_bytes(readbuffer)
AssertionError
ValueError("invalid literal for int() with base 10: ''",)
Traceback (most recent call last):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/wsgi.py", line 140, in respond
    for chunk in filter(None, response):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/wsgidav_app.py", line 435, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/debug_filter.py", line 161, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/error_printer.py", line 55, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_resolver.py", line 206, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 129, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 1526, in _sendResource
    assert compat.is_bytes(readbuffer)
AssertionError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 1193, in communicate
    req.respond()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 997, in respond
    self.server.gateway(self).respond()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/wsgi.py", line 146, in respond
    self.req.ensure_headers_sent()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 1044, in ensure_headers_sent
    self.send_headers()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 1061, in send_headers
    status = int(self.status[:3])
ValueError: invalid literal for int() with base 10: ''
<123145548972032> [20:55:40.751] wsgidav:  ErrorPrinter: caught Exception
Traceback (most recent call last):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/error_printer.py", line 55, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_resolver.py", line 206, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 129, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 1526, in _sendResource
    assert compat.is_bytes(readbuffer)
AssertionError
ValueError("invalid literal for int() with base 10: ''",)
Traceback (most recent call last):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/wsgi.py", line 140, in respond
    for chunk in filter(None, response):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/wsgidav_app.py", line 435, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/debug_filter.py", line 161, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/error_printer.py", line 55, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_resolver.py", line 206, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 129, in __call__
    for v in app_iter:
  File "/anaconda/envs/python3/lib/python3.6/site-packages/wsgidav/request_server.py", line 1526, in _sendResource
    assert compat.is_bytes(readbuffer)
AssertionError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 1193, in communicate
    req.respond()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 997, in respond
    self.server.gateway(self).respond()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/wsgi.py", line 146, in respond
    self.req.ensure_headers_sent()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 1044, in ensure_headers_sent
    self.send_headers()
  File "/anaconda/envs/python3/lib/python3.6/site-packages/cheroot/server.py", line 1061, in send_headers
    status = int(self.status[:3])
ValueError: invalid literal for int() with base 10: ''

There is probably a more elegant way, but the attached commit fixes it.
Thanks for maintaining this library, it's great!

I don't think I even tried most of those samples after the restrings for Py3 ;-)
Thanks!

Sorry, I merged too fast:
The WSGI spec requires binary strings to be sent, so the providers should produce that. Maybe you can fix getContent() there...
I had to revert the change.


修复特殊情况下解析插入sql错误的问题

在pg2pg中，若最后的字段都是已删除的，原函数没有判断后续的字段是否是有效的，解析的插入sql字段列会多一个逗号。

 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.

什么特殊情况？


Enable crates that depend on external symbols

Changes
Fixes #83, #171
Before Committing
Please make sure that you've formatted the files.
dart format .
cargo fmt
cargo clippy --fix --allow-dirty

Great job!


Fix issue #8471 - make stdio.readf infer safe

readf now infers @safe - done by making LockingTextReader @trusted. It is legit because FLOCK is always safe, FUNLOCK is safe when paired with FLOCK and FGETC is safe when called in locked context. Similar work has been already done in  LockingTextWriter to make write* functions @safe.
Note: #5076 suggests that issue has been solved at that time, but it is was only a first step - sorry for the mess.
Question: Is there a better way to test safety of function inside @safe unittest than creating static variables (as @safe forbids taking an address of local variable)?

Seems like a serious problem. I'm closing this PR then.


After calling Storage::insert(), do I have to call World::maintain()?

No, that's not necessary.
World::maintain is required for:

executing entity deletions (entities deleted with EntitiesRes::delete are alive until you call maintain())
applying all the changes issued with LazyUpdate.

Thanks!


flutter build output unclear

Some friction using flutter build
1- flutter build flx doesn't output anything to stdout. Might not be clear to end users where things went.
2- flutter build has an apk option and an ios option. Should probably stay consistent and have apk/app or android/ios
3- flutter build ios outputs to build/ios/Release-iphoneos/Runner.app but flutter build apk outputs to android/app/build/...
4- flutter build ios's output is clear and the .app is actually at build/ios/Release-iphoneos/Runner.app as indicated by the output. flutter build apk prints
Built to .../android/app/build/intermediates/flutter/release/.
Built app-release.apk (8.0MB).

but the .apk isn't actually at .../android/app/build/intermediates/flutter/release/. It's rather at  .../android/app/build/outputs/apk.

1-

 $ flutter build flx
'build flx' is no longer supported. Instead, use 'build bundle' to build and assemble the application code and resources for your app.

Flutter 0.9.7-pre.62 • channel master • https://github.com/flutter/flutter.git
Framework • revision 2c063b7ca5 (6 hours ago) • 2018-10-08 08:45:24 +0200
Engine • revision 572fa5646a
Tools • Dart 2.1.0-dev.6.0.flutter-c6254163dc

At some point this was fixed for android, I suspect that was @blasten 's doing
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done                      68.4s
✓ Built build/app/outputs/apk/release/app-release.apk (13.1MB).

flutter build flx is gone and build apk/ios is different. Closing as obsolete


Image: Fix image ssr (#16737)

Please make sure these boxes are checked before submitting your PR, thank you!

[ ] Make sure you follow Element's contributing guide (中文 | English | Español | Français).
[ ] Make sure you are merging your commits to dev branch.
[ ] Add some descriptions and refer relative issues for you PR.

#16737  #16743


[NEW FEATURE] Possibility override default exclusion node_modules for hot ESM reloading.

As documented in https://www.npmjs.com/package/hot-esm
"Also, edits to files in node_modules, even if they are ECMAScript Modules are ignored as attaching filesystem watchers to so many directories is too expensive."
However sometimes it would be useful to override this behaviour for example if you would need to have hot esm reloading of ESM modules of a specific package in node_modules/ that was developed by ourself.

Hi @dtoch, I've done some initial work for this feature.
Released in v1.2.0, you can set a the HOT_INCLUDE_PACKAGES=package1,package2 environment variable. It is comma-separated with no spaces.
I still need to do more testing to make sure symlinks and hard links work correctly. But, when you get the chance, let me know if it works for you.


remove non-ascii double quote characters

These non-ascii characters cause read failures when we invoke the yamllint tool to validate the helm charts. Since we have double quote ASCII characters, it would be better to use them consistently throughtout the project's codebase.

Hi @tariq1890. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@howardjohn Thanks for the review. Can you also reply with /ok-to-test?

/ok-to-test
thanks!


CommonJs better support

I use CommonJs and browserify.
could apply the same fix  fix made in backgrid in this plugin.
https://github.com/wyuenho/backgrid/commit/f8dff5669be6108a06a5717b2d30e1b9217755ea#diff-80977816b141839550e5d7caadfdc00e
and if you could return object at the end of factory
return {Paginator:Paginator , PageHandle:PageHandle};

so that Paginator would be accessible.
var Paginator = require('backgrid-paginator').Paginator; //Backgrid.Extension.Paginator

Thanks !

I fork and apply changes.
You can have a look here : https://github.com/wyuenho/backgrid-paginator/compare/master...ludoo0d0a:master


Bug Report: I can't test the game

When I put in "lime test windows" it doesn't work and says that "/MSVC/extension-webm/git/ndll/Windows64/extension-webm.ndll" doesn't exist can someone help with the problem?

Line 32 building.md read it https://github.com/KadeDev/Kade-Engine/edit/stable/docs/building.md#L32


Validate embargo date is not greater than the latest date set by the collection manager

Current in progress embargo date validation assumes a greatest date of deposit date + 3 years, however, after #494 the validation needs to include the collection manager selected date.

This issue appears to be resolved as a result of other work (likely #836)

This issue appears to be resolved as a result of other work (likely #836)


Query option: to include time prefix with each record

Output example
$ oklog query -time
2018-04-23T23:19:12-03:00 default Hello oklog

Haha, I like it 👍


Use CredentialsProvider instead of custom cookie based auth

Instead of building our own cookie based auth, we can use CredentialsProvider to simulate the existing behavior. The benefits are:

Remove cookies-next dependency
All the demo authentication is in 2 files so easier to remove
No more wrapping of next-auth

TODO:

[x] Documentation
[x] Comments

@CTNicholas: curious to know if you considered this approach. Do you see any downsides to doing the demo auth like this?

Hey thanks for the PR! I didn't add CredentialsProvider because it wasn't working for me (this branch doesn't work for me either), and I didn't have too much time to debug before the deadline. I've just spent a while looking into it now, and I think it's an issue with a package NextAuth uses to generate a temporary secret in dev mode, it might not be compatible with Windows...
...but if I add a secret to authOptions in [...nextauth].ts it starts working! 👍 We'll switch to CredentialsProvider now. I'll make the installer generate a random secret for you, and add it as an env var.

Updated the guide 👍


Removes excessive logging from Helix

When https://github.com/apache/incubator-pinot/issues/5974 is addressed, we can back out this

Note: there are still a bunch of warnings, but that's likely on us. I'll raise an issue.


error when building

I get an error when building
https://i.imgur.com/xzkLMt5.png

Do you have a folder named “sources” in your working directory, full of images? The fact that you haven’t changed the example parameters makes me wonder if you know how to use a CLI

Do you have a folder named “sources” in your working directory, full of images?

Yes

Could I have more information about your input? I'm having trouble reproducing this bug.
If possible, and only if you're willing to share, could I try using the same source images if you can provide them? I really don't know how to troubleshoot without more information...

I get an error when building
https://i.imgur.com/xzkLMt5.png

just replace parameters to int on 131, 164 & 165 lines:
    row = cnv[int(ha):int(hb), :]

    prt = cnv[int(ha):int(hb), int(xa):int(xb)]
    cnv[int(ha):int(hb), int(xa):int(xb)] = im[:, :prt.shape[1]]

I get an error when building
https://i.imgur.com/xzkLMt5.png

just replace parameters to int on 131, 164 & 165 lines:
    row = cnv[int(ha):int(hb), :]

    prt = cnv[int(ha):int(hb), int(xa):int(xb)]
    cnv[int(ha):int(hb), int(xa):int(xb)] = im[:, :prt.shape[1]]

This would pretty much solve the issue, which I think arises when I first assign the different horizontal start and end points and name that slices. Before we put casting everywhere to solve it, I want to make sure the build is pixel perfect, meaning there are no gaps in the final image.
I thought I had taken caution thinking about what a certain type of variable will be, for example after using the round function, but I'll have to go back and study that behavior that is creating the ha and hb (horizontal, a and b) values.

@gituser1337 Can you try building again with the newest version (0.2.3)?


Incorrect KubernetesClient initialization with KubernetesClientAware

Bug Report
What did you do?
I tried to implement KubernetesClientAware but noticed some wrong client configuration:
public class SomeReconciler
        implements Reconciler<ConfigMap>, KubernetesClientAware {

  public SomeReconciler(KubernetesClient client) {
    setKubernetesClient(client);
  }

  @Override
  public void setKubernetesClient(KubernetesClient kubernetesClient) {
    log.warn("Environments:");
    log.warn("       KUBERNETES_CONNECTION_TIMEOUT: {}",System.getenv("KUBERNETES_CONNECTION_TIMEOUT"));
    log.warn("          KUBERNETES_REQUEST_TIMEOUT: {}",System.getenv("KUBERNETES_REQUEST_TIMEOUT"));
    log.warn("KUBERNETES_UPLOAD_CONNECTION_TIMEOUT: {}",System.getenv("KUBERNETES_UPLOAD_CONNECTION_TIMEOUT"));
    log.warn("   KUBERNETES_UPLOAD_REQUEST_TIMEOUT: {}",System.getenv("KUBERNETES_UPLOAD_REQUEST_TIMEOUT"));

    this.client = kubernetesClient;
    log.warn("Client from Constructor:");
    log.warn(">>>         ConnectionTimeout {}",client.getConfiguration().getConnectionTimeout());
    log.warn(">>>            RequestTimeout {}",client.getConfiguration().getRequestTimeout());
    log.warn(">>>>>>UploadConnectionTimeout {}",client.getConfiguration().getUploadConnectionTimeout());
    log.warn(">>>>>>   UploadRequestTimeout {}",client.getConfiguration().getUploadRequestTimeout());

    this.client = new DefaultKubernetesClient();
    log.warn("New DefaultKubernetesClient()");
    log.warn(">>>         ConnectionTimeout {}",client.getConfiguration().getConnectionTimeout());
    log.warn(">>>            RequestTimeout {}",client.getConfiguration().getRequestTimeout());
    log.warn(">>>>>>UploadConnectionTimeout {}",client.getConfiguration().getUploadConnectionTimeout());
    log.warn(">>>>>>   UploadRequestTimeout {}",client.getConfiguration().getUploadRequestTimeout());
  }

/*
........
*/

}

the output:
2022-10-11 00:55:42,496 WARN  (Quarkus Main Thread) Environments:
2022-10-11 00:55:42,497 WARN  (Quarkus Main Thread)        KUBERNETES_CONNECTION_TIMEOUT: 45000
2022-10-11 00:55:42,497 WARN  (Quarkus Main Thread)           KUBERNETES_REQUEST_TIMEOUT: 45000
2022-10-11 00:55:42,497 WARN  (Quarkus Main Thread) KUBERNETES_UPLOAD_CONNECTION_TIMEOUT: 45000
2022-10-11 00:55:42,497 WARN  (Quarkus Main Thread)    KUBERNETES_UPLOAD_REQUEST_TIMEOUT: 45000
2022-10-11 00:55:42,497 WARN  (Quarkus Main Thread) >>>  Client from constructor:
2022-10-11 00:55:42,497 WARN  (Quarkus Main Thread) >>>         ConnectionTimeout 10000        <<<  Wrong❗
2022-10-11 00:55:42,497 WARN  (Quarkus Main Thread) >>>            RequestTimeout 10000        <<<  Wrong❗
2022-10-11 00:55:42,497 WARN  (Quarkus Main Thread) >>>>>>UploadConnectionTimeout 45000
2022-10-11 00:55:42,497 WARN  (Quarkus Main Thread) >>>>>>   UploadRequestTimeout 45000
2022-10-11 00:55:42,515 WARN  (Quarkus Main Thread) >>> new DefaultKubernetesClient()
2022-10-11 00:55:42,516 WARN  (Quarkus Main Thread) >>>         ConnectionTimeout 45000
2022-10-11 00:55:42,516 WARN  (Quarkus Main Thread) >>>            RequestTimeout 45000
2022-10-11 00:55:42,516 WARN  (Quarkus Main Thread) >>>>>>UploadConnectionTimeout 45000
2022-10-11 00:55:42,516 WARN  (Quarkus Main Thread) >>>>>>   UploadRequestTimeout 45000

What did you expect to see?
Some client.Config property values are unexpectedly default.
Environment
Kubernetes cluster type:
Doesn't matter
$ Mention java-operator-sdk version from pom.xml file
3.2.3
$ java -version
openjdk version "11.0.14" 2022-01-18
OpenJDK Runtime Environment GraalVM CE <IP_ADDRESS> (build 11.0.14+9-jvmci-22.0-b05)
OpenJDK 64-Bit Server VM GraalVM CE <IP_ADDRESS> (build 11.0.14+9-jvmci-22.0-b05, mixed mode, sharing)

$ kubectl version
Doesn't matter
Possible Solution
Create a client manually 🤷♂

Are you using the Quarkus extension for JOSDK? Do you see the same issue when running in JVM mode as opposed as native mode?

Yes, 4.0.2 (latest) release
Both. I tried setting up a native build with env vars, then proceeded to investigate the cause via dev mod. After I implemented explicit client initialization, both builds started working correctly with env vars.
I tried but these parameters are not used before nor after my fixes:

#application.properties

kubernetes.connection.timeout=45001
kubernetes.upload.connection.timeout=45001
kubernetes.upload.request.timeout=45001
kubernetes.request.timeout=45001

output:
2022-10-11 12:53:20,925 WARN  (Quarkus Main Thread) >>>>>       ConnectionTimeout 10000
2022-10-11 12:53:20,925 WARN  (Quarkus Main Thread) >>>>>          RequestTimeout 10000
2022-10-11 12:53:20,925 WARN  (Quarkus Main Thread) >>>>> UploadConnectionTimeout 10000
2022-10-11 12:53:20,926 WARN  (Quarkus Main Thread) >>>>>    UploadRequestTimeout 120000

I didn’t write about application.properties in the original issue, because I thought that this is more related to the Quarkus extension

Hi @psmolkin, are you still encountering issues with this?

Hi @metacosm,
Unfortunately, I have had to switch to a golang implementation for unrelated reasons. So I didn't check if anything has changed with the last versions


Incorrect command in documentation of 'RegisterContextMenuToBackground'

currently, the command is -
string command = $"\"{Process.GetCurrentProcess().MainModule.FileName}\" \"%1\"";
ApplicationHelper.RegisterContextMenuToBackground("MyApp", command);

while the %1 should be %V in this case for background context action to work.
string command = $"\"{Process.GetCurrentProcess().MainModule.FileName}\" \"%V\"";
ApplicationHelper.RegisterContextMenuToBackground("MyApp", command);

for HandySub app, i used this code and everythings worked fine, also this is just an example we dont expect to work in real app😅

for HandySub app, I used this code and everything worked fine, also this is just an example we don't expect to work in a real app😅
Of course, I'm not talking about the whole code, I'm talking about the parameter.

%1 – The first file parameter. which is directory path (when right-clicking on any folder)
%v – For verbs that are none implies all. If there is no parameter passed this is the working directory. (which is why it is used for background context command)
MSDN


NadekoBot Music not working

So, my problem is whenever I do a music command, Nadeko doesn't respond.
I followed all the instructions in the video tutorial and the text tutorial, and Nadeko is setup on my pc with the Google api key and they soundcloud key(and ffmpeg, typing ffmpeg in cmd does not show "unknown command" error, rather a bunch of information), as well as the api's and the google server.
But whenever I type a music command in chat, Nadeko simply doesn't react at all.
The commands i've tried using are: !!qq, !m, !!sqq
Any suggestions?

Yea: http://prnt.sc/bxlqks
By the way, does it matter that im using Youtube Data API v3? That's what installed when I clicked Youtube data api under youtube api's: http://prntscr.com/bxlstv
I just checked the Google api and soundcloud api and their setup correctly.
Plus the cmd window that opens when you open NadekoBot.exe says that soundcloud streaming is enabled and google api key provided, so I can't see the problem.

you are probably just using wrong commands, I'm assuming you've hosted before the last patch @Darkstars123 , which means your config persisted and your music prefix is still !m, only without a space.
Type -commands Music to see a list of music commands. If it indeed was a prefix problem, go into data/config.json and change  Music Prefix  from !m to !!

@Kwoth Yep, that worked. Thanks!
By the way is there any way to make it so only owners can use certain commands? Like music commands.

yes, check out the wiki - permission system.


[enhancement] Ebpf preview

close #20

We are currently using tc to intercept all ingress and egress traffic, followed by integrating socket packages. What are your thoughts on this? We will be releasing this version soon. The main reason we didn't choose xdp is that it doesn't support egress.


If this is a dead repo how about turning it over to me?

Couldn't find any other way to contact you. At some point I'd like to have a fully compliant btcd fork for Bitcoin Cash and this name makes the most sense.

@cpacia are you still actively doing bitcoin cash port of btcd?


Instance property is not a "block-scoped variable"

class Foo {
    b = this.a
    a = 10
}

Expected: Property 'a' is used before its initialization.
Actual: Block-scoped variable 'a' used before its declaration.

PRs welcomed.

thanks @a-tarasyuk !


Story quick reaction

General Question
Read the Notes and fill out the form.
Switch to Preview for reading.
Notes
Your issue will be closed if you violate any rule below.

You need to include a meaningful descriptions and e.g. a screenshot.
You do not include screenshots of your code.
Read the Docs.
Capturing endpoints and similar can be found here
(read it if you are going to ask about it).
You can delete this section after reading it.

Form
Put an [x] if you meet the condition, else leave [ ].

[x] I've searched the Issues
[x] I've read the basic concepts
[x] I'm using the latest version

YOUR QUESTION HERE
Is it possible to make Quick reactions on story without sending it to dm
If not can it be added on future update

This shouldn't be any different than just replying to the story. So DirectThreadEntity#broadcastReel should do the job.

What would be the function to react to the story with emojis?
I tried to use the function of replying and put some emojis as text but in the app appears like that, as a mere reply, and if you react appears different, as a reaction, so is not the same.

It's indeed another endpoint. It's reel_react. If someone wants to implement it, feel free to do so.


$util.addressbook action

This exists on iOS but not on Android yet  https://jasonette.github.io/documentation/actions/#utiladdressbook
iOS implementation here: https://github.com/Jasonette/JASONETTE-iOS/blob/develop/app/Jasonette/JasonUtilAction.m#L326

Added with https://github.com/Jasonette/JASONETTE-Android/commit/3f46d556fc4f13a74a821b88631a87af9ec77051


Add support for file:/// URLs across platforms and UE versions

Fixes #378
I was updating the Adding Datasets tutorial for v2.0, and it seemed easier (or at least more rewarding) to fix file URLs rather than document all the caveats surrounding their use.

Thanks for the pull request @kring!

:heavy_check_mark: Signed CLA found.

Reviewers, don't forget to make sure that:

[ ] Cesium for Unreal Samples works.

This now depends on https://github.com/CesiumGS/cesium-native/pull/742, so merge that first.
New since the review:

Added support for %20 and other URI shenanigans by using the uriparser library to convert file URIs to filenames.
Simplified the file reading by not using Unreal's insane async file reading API. It wasn't actually doing non-blocking I/O anyway, it was just doing blocking I/O in an I/O thread pool. Now it does that same thing but in a much more direct way. And it actually closes the file after it reads it, which I literally couldn't figure out how to do with the original API. 🤯
The new, blocking, higher-level FFileHelper::LoadFileToArray that is used to do the actual reading also logs a warning with some more details when the read fails, so the console messages are hopefully more useful now.
Added a test of using the UnrealAssetAccessor to read from a file URL.

This should be ready for another look.

Thanks @kring .
I've:

Reviewed and merged the cesium-native changes
Reviewed the code changes in this PR (looks good!)
Tested the "path with spaces" case again, is fixed now
Added a new failing test case to complement your success case
Tried to fix some stubborn CI include path problems while I was there

If it looks good to you at this point, and CI is happy, I'd say let's merge.

Your changes look good to me @csciguy8. I just added one more small change, to move the deletion of the temp file to an AfterEach rather than doing it in each test. Merging!

@lolleko  Can you post your tileset here? I can take a look.
(if it's of reasonable size and doesn't contain any sensitive data)

@lolleko not sure if this is the entire problem, but your first problem is that you're using backslashes. You have to use forward slashes in a file URL.

By the way, scraping tilesets from the web is against most providers terms of use.

@lolleko Can you post your tileset here? I can take a look. (if it's of reasonable size and doesn't contain any sensitive data)

Unfortunately, it's around 900GB so i don't think I will be able to share it.

@lolleko not sure if this is the entire problem, but your first problem is that you're using backslashes. You have to use forward slashes in a file URL.

Using forward slashes, results in a different error:
LogCesium: Loading tileset from URL file:///E:/tileset/tileset.json
LogCesium: Loading tileset from URL file:///E:/tileset/tileset.json done
LogStreaming: Warning: Failed to read file 'E:\tileset\7523\tileset.json?id=7523' error.
LogStreaming: Warning: Failed to read file 'E:\tileset\7526\tileset.json?id=7526' error.
LogCesium: Error: [2023-10-29 07:20:04.257] [error] [TilesetJsonLoader.cpp:886] Received status code 404 for tile content file:///E:/tileset/7523/tileset.json?id=7523
LogStreaming: Warning: Failed to read file 'E:\tileset\7524\tileset.json?id=7524' error.
LogStreaming: Warning: Failed to read file 'E:\tileset\7529\tileset.json?id=7529' error.
LogStreaming: Warning: Failed to read file 'E:\tileset\7525\tileset.json?id=7525' error.
LogStreaming: Warning: Failed to read file 'E:\tileset\7528\tileset.json?id=7528' error.
LogStreaming: Warning: Failed to read file 'E:\tileset\mesh_3230448.b3dm?id=3230448&x=3775235.2217615079135&y=5042296.3882614867762&z=912665.3464751446154' error.
LogCesium: Error: [2023-10-29 07:20:04.257] [error] [TilesetJsonLoader.cpp:886] Received status code 404 for tile content file:///E:/tileset/7526/tileset.json?id=7526
LogCesium: Error: [2023-10-29 07:20:04.258] [error] [TilesetJsonLoader.cpp:886] Received status code 404 for tile content file:///E:/tileset/7529/tileset.json?id=7529
LogCesium: Error: [2023-10-29 07:20:04.257] [error] [TilesetJsonLoader.cpp:886] Received status code 404 for tile content file:///E:/tileset/7524/tileset.json?id=7524
LogStreaming: Warning: Failed to read file 'E:\tileset\mesh_3230249.b3dm?id=3230249&x=3795252.5100151738152&y=5031587.0992207946256&z=888791.1531713148579' error.
LogStreaming: Warning: Failed to read file 'E:\tileset\mesh_3230579.b3dm?id=3230579&x=3779733.7439543749206&y=5037214.811092376709&z=922154.69383614265826' error.
LogStreaming: Warning: Failed to read file 'E:\tileset\mesh_3229310.b3dm?id=3229310&x=3770740.6180102843791&y=5046424.8120765183121&z=908422.0489208198851' error.
LogStreaming: Warning: Failed to read file 'E:\tileset\mesh_3230494.b3dm?id=3230494&x=3781387.0469807512127&y=5037313.612601429224&z=914845.94649977982044' error.
LogCesium: Error: [2023-10-29 07:20:04.258] [error] [TilesetJsonLoader.cpp:886] Received status code 404 for tile content file:///E:/tileset/7528/tileset.json?id=7528
LogCesium: Error: [2023-10-29 07:20:04.258] [error] [TilesetJsonLoader.cpp:886] Received status code 404 for tile content file:///E:/tileset/mesh_3230448.b3dm?id=3230448&x=3775235.2217615079135&y=5042296.3882614867762&z=912665.3464751446154
LogCesium: Error: [2023-10-29 07:20:04.258] [error] [TilesetJsonLoader.cpp:886] Received status code 404 for tile content file:///E:/tileset/7525/tileset.json?id=7525
LogCesium: Error: [2023-10-29 07:20:04.258] [error] [TilesetJsonLoader.cpp:886] Received status code 404 for tile content file:///E:/tileset/mesh_3230579.b3dm?id=3230579&x=3779733.7439543749206&y=5037214.811092376709&z=922154.69383614265826
LogCesium: Error: [2023-10-29 07:20:04.258] [error] [TilesetJsonLoader.cpp:886] Received status code 404 for tile content file:///E:/tileset/mesh_3229310.b3dm?id=3229310&x=3770740.6180102843791&y=5046424.8120765183121&z=908422.0489208198851
LogCesium: Error: [2023-10-29 07:20:04.258] [error] [TilesetJsonLoader.cpp:886] Received status code 404 for tile content file:///E:/tileset/mesh_3230494.b3dm?id=3230494&x=3781387.0469807512127&y=5037313.612601429224&z=914845.94649977982044
LogCesium: Error: [2023-10-29 07:20:04.258] [error] [TilesetJsonLoader.cpp:886] Received status code 404 for tile content file:///E:/tileset/mesh_3230249.b3dm?id=3230249&x=3795252.5100151738152&y=5031587.0992207946256&z=888791.1531713148579

By the way, scraping tilesets from the web is against most providers terms of use.

I know, but this one is provided by the city itself for Public & Free use. While they don't specifically allow scraping I couldn't find  anything that says its forbidden.

Ahh and I forgot to mention, this tilset worked perfectly fine before UE5.3 dropped support for file:/// in CURL requests.

Are the filenames it's trying to read, such as E:\tileset\7524\tileset.json?id=7524, correct?

Are the filenames it's trying to read, such as E:\tileset\7524\tileset.json?id=7524, correct?

Good call... they are not. On disk they are stored without the additional URL params. In the corresponding tileset.json they are stored with URL params. I never noticed that before because it just used to work before 5.3. I guess CURL strips params when requesting files from disk.
I will have to write a script to fix up my tileset.json files. Hopefully it will work afterwards.
Thanks for the help. Assuming it works with the fixed json files there shouldn't be an issue with the new file based loading. Unless you want to match CURL behaviour, in that case you could consider supporting forward & backward slashes and maybe look into URL param handling.

ok, thanks, I wrote #1287.


Preemptive changes for OMP that supports OCaml 4.08

At the Mirage retreat this week I was talking to @armael regarding OCaml Migrate Parsetree support for OCaml 4.08 (related issue/comment: https://github.com/ocaml-ppx/ocaml-migrate-parsetree/issues/50#issuecomment-467164936).
Apparently, the error type has changed in 4.08 and calling into Location.register_error_of_exn is not going to work with the next version of OMP that snapshots the Location module.
Therefore we worked together on preemptively fixing this such that Reason can support OCaml 4.08 once OMP does.
Test plan: Current tests include error tests that are still passing.

@jordwalke this is rebased on master


Duplication in component-implementation-1.md

Duplication in instructions under Try it yourself. Steps 1 and 2 of the table instruct you to add events to the component files to log invalid input and record the blinking state. However, we just did this in the lines above. This is a duplication and leads to the assumption that these events also need to be added to the .fpp file, which is both not necessary and will create errors.
https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/docs/component-implementation-1.md#try-it-yourself

Addressed in https://github.com/fprime-community/fprime-workshop-led-blinker/pull/33


fix epoch downtime

The solution that Osmosis came up with for downtime at their daily epoch (caused by iterators) was IAVL fast node.
While it isn't as good as what is going into SDK .50, it should be at least a 2x improvement on the iterators, and
may provide more of an improvement.

fix the downtime at slash time

Resolved in v2.0.0 upgrade


Cannot Setup Nuvo-Serial on freshly installed HA

Using HA in a Docker container, installed HACS successfully. Downloaded Nuvo-Serial successfully. When I initiate setup it fails with "Failed to Connect" error. At first thought it was an issue with the home assistant container accessing the serial port. After a few days of changing mappings and enabling privileged with no success I connect the docker server to my laptop via serial and tried to initiate the setup again I could see through real term that the serial communication was working when *VERcr showed in the terminal.
Eventually, I found my way to the Home Assistant logs where I could see that Nuvo-Serial is asking for data and the Nuvo GC is not giving the answer it will accept. I am attaching the log file. If you could please give me instructions in how I can rectify this I would appreciate your help.
File "/usr/local/lib/python3.12/enum.py", line 1426, in missing
raise ValueError(
ValueError: <flag 'SourceMask'> invalid value 255
given 0b0 11111111
allowed 0b0 00111111
Thanks,
Mark
home-assistant_2024-05-06T15-44-05.561Z.log

Found the previously closed issues section. I will try to load the default configuration and report back

Yes loading the default configuration is the fix here.  Closing assumed fixed.


Impossible to hide CS-Script's main panel

After CS-Script's main panel has switched to be visible it is not possible to switch it back to be invisible. Also the toolbar button doesn't reflect the panel's state, the toolbar button is always "Not pressed".
Npp version: 7.5.5 64-Bit
CS-Script version: <IP_ADDRESS> 64-Bit
Same problem with 32-Bit versions. This bug was introduced around a year ago.

Indeed, I meant toggling the plugin panel visibility by the plugin button/menu (case 2). Case 1 I completly overlooked and I understand the difficulties.

I will restore the toggling in the incoming (in a few days) release.

This would be fine (seems like you did already). Thank you in advance.

The problem is that Npp does not offer any API for determining if the panel is visible at the time of clicking the "toggle" button.

I have installed the MarkdownViewer++ plugin too. It also provides a toolbar button to toggle its panel. This plugin is able to sync the status of its toolbar button and clicking the panel close button (your case 1). Might be interesting for you.

I had a look at MarkdownViewer++, txs.
BTW a very useful plugin. It is using override void WndProc to detect panel closing. A hardcore approach but completely justified in this case.
I have reworked the current approach and now CS-Script plugin uses the same technique to detect the panel closing.

The release is now available: https://github.com/oleg-shilo/cs-script.npp/releases/tag/v<IP_ADDRESS>

Thanks, that was fast.  :1st_place_medal:


Add -Wundef to --strict-warnings options

Add -Wundef to --strict-warnings options.
This PR is against master

@richsalz Yes I did add the -Wundef to both, but I have only tested with gcc so far.

i tested -wundef on clang.

thanks!

See https://github.com/openssl/openssl/pull/2713

Ok, then I assume I should do a rebase.

i need the following added (and a rebase to catch the apps/rehash.c)
diff --git a/include/internal/refcount.h b/include/internal/refcount.h
index c8ebd5a..c70d95e 100644
--- a/include/internal/refcount.h
+++ b/include/internal/refcount.h
@@ -15,7 +15,8 @@
 # define HAVE_C11_ATOMICS
 # endif

-# if defined(HAVE_C11_ATOMICS) && ATOMIC_INT_LOCK_FREE > 0
+# if defined(HAVE_C11_ATOMICS) && defined(ATOMIC_INT_LOCK_FREE) \
+    && ATOMIC_INT_LOCK_FREE > 0

 # define HAVE_ATOMICS 1

@richsalz

i need the following added (and a rebase to catch the apps/rehash.c)

done, and split up in smaller commits, as @dot-asm suggested.

well since we already merged your PR for 1.1.0, the split is just an academic exercise :)
@dot-asm, please reconfirm and I will merge/squash.

squashed again as an exercise ;)

Reconfirmed.
"Side note" means that no action is expected, this is likely something to consider for future.

merged, thank you!


CI: Have nc-autotools use source distribution instead of repository

Instead of a clone of the repository, have the nc-autotools job work from a source distribution prepared by a previous autotools CI job.
This should catch most of the "files not included in EXTRA_DIST" or similar issues I remember, and probably most of the "netcdf-c does not pass make distcheck" errors.
I'm not sure whether this is in scope for a CI job, but the nc-autotools jobs should be a fairly complete copy of make distcheck now; the only things I can think of not included in that job would be make install and make installcheck.  I'm only aware of #2431 raising issues with installed files, so that may be less relevant.

Interesting.  There is definitely value here, and no obvious downside other than 18 months down the line "Why are we doing it this way?".  It might introduce a little bit of overhead to the already lengthy CI scripts, but as you point out, it would catch extra dist related errors.
I know that the CI triggers can be far more complex than the ones we're using right now; it's entirely possible that we would want this to run as part of the 'one-off' set of tests, and not for every test permutation.
Thanks a lot for this, let me think about how to best integrate it!


How could we see table data?

I disabled the Auto Merge conflict resolution via Amplify CLI and pushed then
how could I see data in Amplify Admin UI?
I am getting the below message

Hi @sandeepmr29  :wave:, thanks for raising. I'm going to transfer to the Admin UI repo to get some more eyes on it.
In the meantime, do you mind verifying that:

You're you're using the latest version of the Amplify CLI (). Run amplify version to check.

Check to see if any similar issues exists in the Admin UI repo


Add Xcode 12 CI

This PR adds Xcode 12 for Travis as CI step.

Coverage remained the same at 100.0% when pulling 938b8674503ea9cd0813731c4e7e46845d2afb08 on more_ci into cf741313b3b8169296957b8035ec29d2603a2bc4 on develop.


Set.fetch breaks if set was too large

Hi
We've been using forgetsy for 2 weeks, and is now receiving SystemStackError: stack level too deep when fetching results.
It turns out Forgetsy::Delta.fetch does not pass option[:n] to secondary_set.fetch, and fetch_raw returns large array (approx. 65K) to secondary_set.fetch for Hash[*result.flatten], which is too many arguments (approx. 131K after flatten) for Hash to handle.

Thanks for this report and sorry for the delay in getting back to you. I cannot delegate the limit parameter :n to the secondary set fetch as it needs to be applied after normalizing the primary set by the secondary.
One potential fix is to declare a more aggressive hi_pass_filter constant - this is used when trimming the set at query time. I could turn that into an ENV var if that helps.
Another approach I use is to trim sets back to around 50k periodically (after a descending score sort).

Another option is slowing down the Hash assignment by using an iterator or other method... I can try to benchmark that to see if it will be feasible performance wise as this all runs at query time. That should allow scaling to very large number of items.

@cavvia Thanks for this great gem! I just started playing around with it and unfortunately came across the same problem as @atitan.
Did slowing down the hash assignment prove to be successful? I am trying to determine the best way to move forward with forgetsy.


PingDirectory > PD_STATE

Describe the bug
Cannot start my PingDirectory StatefulSet.
I am running into this condition but when I apply the suggested changes the PingDirectory PD_STATE will never be GENESIS due to ~this logic~ actually I think it is because of this instead.
I might be misunderstanding this...
To Reproduce
Steps to reproduce the behavior:

Start a new single PingDirectory cluster on Kubernetes
kubectl logs pods/pingdirectory-0 --follow
Scroll down to 'CONTAINER FAILURE: Resolve issues with pingdirectory Kubernetes cluster service, and restart'
sh into a container

hostname
# pingdirectory-0
hostname -i
# <IP_ADDRESS>
getent ahosts pingdirectory-0.pingdirectory-cluster
# returns nothing, but this is what _podHostname is being set to; not sure why we are appending the service name...
getent ahosts pingdirectory-cluster
# returns our pod since the service has `publishNotReadyAddresses: true`
# <IP_ADDRESS>    STREAM pingdirectory-cluster.pingidentity-dev.svc.cluster.local
# <IP_ADDRESS>    DGRAM  pingdirectory-cluster.pingidentity-dev.svc.cluster.local

Expected behavior
I expect the container to not be so opinionated about its perceptions of my environment, lol.  jk.  I just want to boot this puppy up.
Environment:
K8s, single cluster, EKS
  ORCHESTRATION_TYPE: KUBERNETES
  K8S_STATEFUL_SET_NAME: pingdirectory
  K8S_STATEFUL_SET_SERVICE_NAME: pingdirectory-cluster

Architecture:

pingdirectory service (NodePort, port 443): This is used to expose the PingDirectory REST Service
AWS ALB --> EKS Worker Node --> PingDirectory Pod (rest service)

pingdirectory-cluster service (ClusterIP: None, port 636): This is my headless service
(K8S Cluster internal; headless service)

Hey Cory, this is a result of some changes we had to make to PD startup for a more effective lifecycle.
check out in our example where I updated this:
https://github.com/pingidentity/pingidentity-devops-getting-started/commit/2c54229bba32132382b04e2995c99b56b65cd785

Hey Cory, this is a result of some changes we had to make to PD startup for a more effective lifecycle.
check out in our example where I updated this:
https://github.com/pingidentity/pingidentity-devops-getting-started/commit/2c54229bba32132382b04e2995c99b56b65cd785

@samir-gandhi Perfect! That is exactly how my pingdirectory-cluster server looks.
But I am failing this condition because _podHostname is set to pingdirectory-0.pingdirectory-cluster by this code.
Consider the outputs below:
hostname
# pingdirectory-0
hostname -i
# <IP_ADDRESS>
getent ahosts pingdirectory-0.pingdirectory-cluster
# returns nothing, but this is what _podHostname is being set to; not sure why we are appending the service name...
getent ahosts pingdirectory-cluster
# returns our pod since the service has `publishNotReadyAddresses: true`
# <IP_ADDRESS>    STREAM pingdirectory-cluster.pingidentity-dev.svc.cluster.local
# <IP_ADDRESS>    DGRAM  pingdirectory-cluster.pingidentity-dev.svc.cluster.local

Why is _podHostname being set to pingdirectory-0.pingdirectory-cluster?

@samir-gandhi Perfect! That is exactly how my pingdirectory-cluster server looks.
But I am failing this condition because _podHostname is set to pingdirectory-0.pingdirectory-cluster by this code.
Consider the outputs below:
hostname
# pingdirectory-0
hostname -i
# <IP_ADDRESS>
getent ahosts pingdirectory-0.pingdirectory-cluster
# returns nothing, but this is what _podHostname is being set to; not sure why we are appending the service name...
getent ahosts pingdirectory-cluster
# returns our pod since the service has `publishNotReadyAddresses: true`
# <IP_ADDRESS>    STREAM pingdirectory-cluster.pingidentity-dev.svc.cluster.local
# <IP_ADDRESS>    DGRAM  pingdirectory-cluster.pingidentity-dev.svc.cluster.local

Why is _podHostname being set to pingdirectory-0.pingdirectory-cluster?

we use the service name as part of the host to help when we have multi-region or multi-namespace deployments.
if it's not returning anything, this seems like this is not set on the cluster service:
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"

@tsigle may have some add'l thoughts

we use the service name as part of the host to help when we have multi-region or multi-namespace deployments.
if it's not returning anything, this seems like this is not set on the cluster service:
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"

@tsigle may have some add'l thoughts

spec.serviceName on the StatefulSet was pingdirectory and should have been pingdirectory-cluser.
#@&$^#^$&@#^$^@#&$^@#^$)!@#&!@&(#^

spec.serviceName on the StatefulSet was pingdirectory and should have been pingdirectory-cluser.
#@&$^#^$&@#^$^@#&$^@#^$)!@#&!@&(#^


If CodeMirror exists, use it.

Not 100% this is the right way to do it, but without it my Google apps add-on doesn't work anymore.


Simplified Chart components

This idea has been in my head for some time, but I figure it's time to formally write it down, as it would simplify the "basic" use cases (especially for exploration or quick visualizations) and enable additional use cases similar to the newly released shadcn/ui Charts.  While I was initially adverse to the idea, I think creating BarChart, AreaChart, LineChart, etc will provide a lot of value, including:

Quick exploration (<BarChart {data} />) if you align with conventions
Good initial defaults for common chart types (setting up scales, tooltip modes, and even axis, legends, etc)
Provide convenient ways to remove abstractions as you want (override accessors, slots, styling, etc)
Reduce imports (d3-scale, many LayerChart components, ...)

The general idea is
<script>
  import { BarChart, ... } from 'layerchart';
</script>

<BarChart {data} x="date" y="value">
  ...
</BarChart>

is a streamlined instance of
<script>
  import { Chart, ... } from 'layerchart';
  import { scaleBand, scaleLinear } from 'd3-scale';
</script>

<Chart
  {data}
  x="date"
  xScale={scaleBand()}
  y="value"
  yScale={scaleLinear()}
  yDomain={[0, null]}
  padding={{ left: 16, bottom: 24 }}
  tooltip={{ mode: 'band' }}
>
  ...
</Chart>

Possibly also provide a default slot impl, so
<script>
  import { BarChart } from 'layerchart';
</script>

<BarChart {data} x="date" y="value" />

is a streamlined instance of
<script>
  import { Chart, Svg, Axis, Bars, Highlight, Tooltip, TooltipItem } from 'layerchart';
  import { scaleBand, scaleLinear } from 'd3-scale';
</script>

<Chart
  {data}
  x="date"
  xScale={scaleBand()}
  y="value"
  yScale={scaleLinear()}
  yDomain={[0, null]}
  padding={{ left: 16, bottom: 24 }}
  tooltip={{ mode: 'band' }}
>
  <Svg>
    <Axis placement="left" grid rule />
    <Axis placement="bottom" rule />
    <Bars radius={4} strokeWidth={1} class="fill-primary" />
    <Highlight area />
  </Svg>
  <Tooltip header={(data) => format(data.date, "eee, MMMM do")} let:data>
    <TooltipItem label="value" value={data.value} />
  </Tooltip>
</Chart>

Items to consider

[x] Passing additional props to scales (ex. scaleBand().padding(0.4) maybe as <BarChart bandPadding={0.4}>
[x] Pass $$restProps to underlying Chart such as <BarChart {data} x="date" y="value">
[x] Provide a default slot implementation that includes axis, tooltip, etc
[ ] Should we support SVG only, or support Canvas when available (ex. Geo)
[x] Not exposing a ton of props.  LayerChart's primary goal is composition / composability, and should leverage components directly instead of props with indirection

Exposing props to target internal components, but recommend overriding slots (named or default) as use cases become more complicated

[x] Simplified gradients

Expose marks slot for easy styling with <LinearGradient let:url> component

[ ] Support opt-in animations/tweening

https://www.layerchart.com/docs/examples/Area#clip_tween_on_mount
https://www.layerchart.com/docs/examples/Columns#tween_on_mount

[ ] Smartly show <Rule={x}> unless xDomain does not include 0 in min/max range (same for y)

Does this work for all use cases?

[ ] Do not set explicit 0 min domain if data includes negative values
[ ] Turn off bottom rule if xDomain includes negative values

Initial charts to support

[x] BarChart

default scales: scaleBand / scaleLinear
tooltip: band or bisect-x / bisect-y
vertical and horizontal

[x] LineChart

default scales: scaleTime or scaleLinear / scaleLinear
tooltip: bisect-x
example

[x] AreaChart

default scales: scaleTime or scaleLinear / scaleLinear
tooltip: bisect-x
example

[ ] AreaStackChart

default scales: scaleTime or scaleLinear / scaleLinear
tooltip: bisect-x
example

[x] ScatterChart

default scales: scaleLinear
tooltip: voronoi or quadtree
example

[x] PieChart

example
tooltip: manual (path)

[ ] ArcChart

example
tooltip: manual (path)

[ ] RadarChart

example

More?

Hierarchy
Force
Geo

Related: #68

Really neat to see this idea coming together. It's been on my mind, too, over the years. One idea I was kicking around was a way to have both a simplified API and allow for ad hoc customization as discussed here https://github.com/mhkeller/layercake/discussions/174. I haven't done a proof of concept with the snippets API but it could be a neat way to swap out the default components with your own once your charts gets more customized.

Really neat to see this idea coming together. It's been on my mind, too, over the years. One idea I was kicking around was a way to have both a simplified API and allow for ad hoc customization as discussed here mhkeller/layercake#174. I haven't done a proof of concept with the snippets API but it could be a neat way to swap out the default components with your own once your charts gets more customized.

@mhkeller That's the goal with these simplified charts 😁 -  Provide a great default/initial experience for common use cases, but also provide various extension points as you need to customize:

Prop overrides for the top-level Chart instance and the inner chart components such as Axis
Named slots for granular component overrides
Default slot for full chart control (but still a more simplified setup)

Basically get you setup quickly, but get out of your way.

These simplified charts also provide better integration between components (ex. series prop which adds the additional marks, tooltip items with colors, etc)
Some of the extension/overrides available thus far:
Chart props
Pass any prop to the simplified chart instance that passes down to the underlying <Chart> instance
<AreaChart padding={{ left: 24, bottom: 16 }} ... />

Inner component props (example)
Provide additional props (or overrides) on the inner components without requiring a full component overrides.
<BarChart
  props={{
    axisLeft: { rule: false },
    axisBottom: { format: (value) => format(Math.abs(value), "metric") },
}}>

Named slots
More granular overrides via named slots (such as marks, axis, tooltip, etc)

Add gradient to Area, but keep default axis, tooltip, etc (example)

<AreaChart data={dateSeriesData} x="date" y="value">
  <svelte:fragment slot="marks">
    <LinearGradient class="from-primary/50 to-primary/0" vertical let:url>
      <Area line={{ class: "stroke-2 stroke-primary" }} fill={url} />
    </LinearGradient>
  </svelte:fragment>
</AreaChart>

Override just the Tooltip display (example)

<ScatterChart {data} x="x" y="y">
  <svelte:fragment slot="tooltip" let:x let:y let:padding let:height>
    <Tooltip.Root
      x={padding.left}
      y="data"
      anchor="right"
      contained={false}
      class="text-[10px] font-semibold text-primary bg-surface-100 mr-[2px] px-1 py-[2px] border border-primary rounded whitespace-nowrap"
      let:data
    >
      {format(y(data), "integer")}
    </Tooltip.Root>

    <Tooltip.Root
      x="data"
      y={height}
      anchor="top"
      class="text-[10px] font-semibold text-primary bg-surface-100 mt-[1px] px-2 py-[1px] border border-primary rounded whitespace-nowrap"
      contained={false}
      let:data
    >
      {format(x(data), "integer")}
    </Tooltip.Root>
  </svelte:fragment>
</ScatterChart>

Opt into some features (labels, etc) (example)
<BarChart data={dateSeriesData} x="date" y="value" labels />

Full custom chart
Customize all components used, but still include all the benefits of default chart type instance (domains, tooltip mode, series support, etc) and simplified imports (ex. no d3-scale, for example)
<AreaChart data={dateSeriesData} x="date" y="value" let:x let:y>
  <Svg>
    <Axis placement="left" grid rule />
    <Axis
      placement="bottom"
      format={(d) => format(d, PeriodType.Day, { variant: "short" })}
      rule
    />
    <Area
      line={{ class: "stroke-2 stroke-primary" }}
      class="fill-primary/30"
    />
    <Highlight points lines />
  </Svg>

  <Tooltip.Root let:data>
    <Tooltip.Header>{format(x(data), PeriodType.DayTime)}</Tooltip.Header>
    <Tooltip.List>
      <Tooltip.Item label="value" value={y(data)} />
    </Tooltip.List>
  </Tooltip.Root>
</AreaChart>

I'm still feeling this out, but take a look at AreaChart, BarChart, LineChart, PieChart, and ScatterChart for examples of many of these concepts.
I'm currently working on overhauling how stacks (BarChart, AreaChart) and groups (BarChart) are implemented (eyeing derived scales PR for groups 😁).  Stacks along with a few additional use cases are likely what will be included in the first release, and will consider adding more chart types (hierarchy, force, geo, etc) over time.


Create Terminal inspired Merch

I have an idea for a new feature for jQuery Terminal
This will be yet another attempt to monetize the project:
https://www.teepublic.com/signup/curator
It may have a better effect than ads or donations that bring nothing to the user.

[ ] Create Jakub T. Jankiewicz signed store
[ ] Make design terminal based
[ ] Research different terminal designed

[ ] Etsy
[ ] AliExpress
[ ] Google
[ ] RedBubble

[ ] Create a terminal design that doesn't break copyright
[ ] Give discount to donors

This is example unique design that will fit LIPS Scheme:


refactor(container): refactor cp flag

Part of: #1680
Checklist:

[x] Create a file in pkg/api/types/${cmd}_types.go, and define the CommandOption for this command
[x] Create some file in pkg/cmd/${cmd}, and move the command entry point in real into this package

Signed-off-by: Yuchao.Li<EMAIL_ADDRESS>

Hey~ This's my first time submitting a PR to this project, I hope I do it the right way.
I can't figure out how to pass the  Wondows/containerd-1.6 check using the log,
Please let me know if I am doing something wrong！🙏🏻

Please clean up commit logs

Please clean up commit logs

@AkihiroSuda
Sorry, it was my fault. I have cleaned up the commit history now.
There are often errors in the CI that are not caused by the changes in this PR. I'm unsure if I should keep trying to retry or wait for the main branch to be fixed.


Clear All

Hi,
I am clearing my localstorage object but scope is not cleared.
am I missing something, or you have a bug with this? I am not using cookies

Clear All wouldn't do anything to your scope. You would need to update your own scope.
I presume you are referring to Angular scope.

@grevory So, if we bind localStorageService to $scope, then, it should work, right?


introduce Filter

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

7 of 7 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 6.584%

Totals

Change from base Build<PHONE_NUMBER>:
0%

Covered Lines:
64

Relevant Lines:
972

💛  - Coveralls


db_rows x db_cols return 0 for dimensions 65536 x 65536

When db_rows x db_cols are set to 65536 x 65536, the product returns zero because int does not fits the product. A way to fix this will be declare db_rows/db_cols asint64_t instead of int.

Thanks for reporting the issue! This will be fixed in the next commit.

This has been fixed now in #6.


indexing optional attributes fails when indexing with a key that is keyof interface

Bug Report

🔎 Search Terms

TS2532
keyof
undefined
interface
optional
Object is possibly 'undefined'

🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about keyof

⏯ Playground Link
https://www.typescriptlang.org/play?ts=5.0.0-dev.20230221#code/JYOwLgpgTgZghgYwgAhgezcg3gWAFDKHIBGcUA-AFzIgCuAtsdPgL774y0gJjBogk4ALwAU+IsgCOtAB7V0aADTiiMYBAA2AE2oBrCAE80MVBnwBKagDc0wLdhWFgJkdJkBtNZq0BdZAEIAXkDkLi0INRAILXMHAgkiBH4AZzQNCAA6DTQAc1dZT3VtPwBqZABGc0dkNjxaoA
💻 Code
interface foo {
    bar?: number
}

function baz(
    qux: foo,
    field: keyof foo
): void {
    if (qux[field] !== undefined) {
        console.log(qux[field] + 1)
    }
}

🙁 Actual behavior
Object is possibly 'undefined' error
🙂 Expected behavior
To work just like if field is set to 'bar' instead of keyof foo
interface foo {
    bar?: number
}

function baz(
    qux: foo
): void {
    const field = 'bar';
    if (qux[field] !== undefined) {
        console.log(qux[field] + 1)
    }
}

Duplicate of #10530. Type narrowing does not occur for indexed access forms e[k] where k is not a literal. Just store it in a local const variable.

That works, thanks!
interface foo {
    bar?: number
}

function baz(
    qux: foo,
    field_: keyof foo
): void {
    const field = field_;

    if (qux[field] !== undefined) {
        console.log(qux[field] + 1)
    }
}

This does not work if there are multiple optional fields:
https://www.typescriptlang.org/play?ts=5.0.0-dev.20230221#code/JYOwLgpgTgZghgYwgAhgezcg3gWAFDKHIBGcUAjAPwBcyIArgLbHT5ElkBMNdTLU+AL758MeiARhgaEBwBeACjZEAjvQAetdGgA0ywjGAQANgBMA+rQDWEAJ5oYqDPgCUtAG5pgp7PuQIZAGcwVCMzZABeUJMLAG4RAiJgRwU1dQBtQxiAXWQAQgio8VMIQxAIUxdfRPZCAJBAtGMIADpjNABzVI1MsNNcgGpkchc-YTxBIA
interface foo {
    bar1?: number
    bar2?: number
}

function baz(
    qux: foo,
    field_: keyof foo
): void {
    const field = field_;

    if (qux[field] !== undefined) {
        console.log(qux[field] + 1)
    }
}

Oh, you were probably talking about storing qux[field] in a const. That works for the second case as well:
interface foo {
    bar1?: number
    bar2?: number
}

function baz(
    qux: foo,
    field_: keyof foo
): void {
    const field = field_;

    const blub = qux[field];
    if (blub !== undefined) {
        console.log(blub + 1)
    }
}