Comments on first draft of "toy" example

Introduction

In introduction section, discuss the three types of data leakage. Might be helpful to show an example - show an image, an exact duplicate, a close duplicate, etc.
In introduction, talk about how duplicate samples might end up in the data.

reasons specific to the data and how it was collected. Example: training an email classifier and you get data from all students in an academic department, they will have received a lot of common emails (announcements etc).
Frankenstein data sets - example of COVIDX
Using LLM to generate data for training - it is likely to have duplicates. Prompt students to use an LLM of their choice to generate training data for a specific problem using a specific prompt, ask them to look for duplicates in the output.
Data augmentation or oversampling before split.

Example

Suggestion: use a simple linear regression example.
Generate some random data.

generate a finite data set (100 samples, make this a tunable parameter also) using some random distribution
generate the target variable using some "known" coefficients
sample from the finite data set with replacement (can be more than 100 samples) (first tunable parameter!)
compute the number of duplicates
add random noise to the sampled data set (second tunable parameter!)
divide intro training and test - compute the overlap between training and test (how many samples in test have a near-duplicate in training)
train a linear regression, evaluate on test set
then, generate a new "clean" test set using the same random distribution, generating the target variable using the same known coefficients, and adding the same level of random noise. evaluate the already fitted model on this "clean" test set.
compare the performance on the "bad" test set and the "clean" test set.

With the oversampling example - let's do it in as similar as possible a way as the first example. But I like that you show the correct way to do oversampling.
CIFAR-100 example

specific numbers: re duplicates in train, validation, test. show how to measure the extent of duplication.

Updated comments:

Instead of this reference, the paper "Leakage and the reproducibility crisis in machine learning-based science" is prob more appropriate.
Put a "References" section at the end, give a full citation, and then use numerical references. (For all of the references!)
"Duplicates" image: give full citation to paper in the references section at the end, then in caption, write "From [X]".
Can't re-use verbatim text without making it clear that it's not your own, and attributing the original source.

Some points that should be considered:

The Frankenstein datasets seem to be an example of "Reasons specific to the data and how it was collected". You shouldn't remove it but use it as an example for a scenario.
In the LLM example replace Mistral with a model that doesn't require login to access (try to keep everything within the notebook unless necessary)
Set the seed for everything to make sure the numbers are the same for every run
For the toy example, stick to one model for examples if possible (either LR or RF) to decrease the pre-requisites
For the exercise added, add cell with some missing code to write the correct implementation without data leakage.
Add the references for the mitigation section.


Add a functional test cases (not unit) to daprsdk

@cecilphillip ,
How will you write a functional test case using XUnit for those applications that using Dapr SDK? Do you have any mocks (MOQ preferred) Dapr SDK? This is highly required where the build server will not have DAPR  platform /container engine and only the deployment environment will have Kubernetes installed

Is there some mocking strategy to simulare DPR response in functional test. May I can try it


GraphQL API with @searchable accepts only Int as nextToken

We currently have a model with 1000+ records, using searchable query returns a Long number as nextToken. now, trying to fetch the next results seems impossible right as it only accepts Int.

Is there a work around to fetch the next results?
I'm using amplify cli version 1.10.0

This change is included in the #1775 which also aims to solve #800 and make nextToken into a string.
Closing a duplicate to track in #800


Use xx to build multi-arch binaries

ref: https://github.com/fluxcd/kustomize-controller/blob/main/Dockerfile#L1

Per @yiannistri: Looks like a BTR change that would affect how we'd publish our containers. If we use it, it will allow us to simplify building images for different architectures.
@chanwit Is that ^^ what you're suggesting we address here?


Update Build Status shield in README

:exclamation: Please review the guidelines for contributing
Description
Noticed README had an SVG that is no longer available.
Tried to find a Shields.io workflow that showed ALL build workflows, but looks like I can only pick one.
Another alternative is to simply upload the SVG again, but looking at old commits, I couldn't find any actual file.

@sgallese thanks :+1:

Tried to find a Shields.io workflow that showed ALL build workflows, but looks like I can only pick one.

Only this one is fine.
It was broken after I rename/rearrange builds :cry:


net/http: ServeMux uses un-escaped paths in the implicit /tree → /tree/ redirect

• go version
go version go1.4.1 linux/amd64
• What did you do?
http://play.golang.org/p/bD-nCEHtR_
Registered a http.Handler for the pattern "/#/" and made a GET request to http://localhost/%23.
• What did you expect to see?
An HTTP redirect to "/%23/"
• What did you see instead?
HTTP/1.1 301 Moved Permanently
Location: /#/

The server appends a slash to the un-escaped path and redirects the client. Following this redirect gives a 404.

https://go-review.googlesource.com/9311


DBZ-644 add JDBC data type as additional metadata to DBZ events, if config is opted in

https://issues.jboss.org/browse/DBZ-644

@orrganani Looks good, thanks! I'd like just to ask you to add a test to verify that it works.
Also it would be good to look at actual messages delivered to Kafka in both JSON and Avro format to confirm the data are stored there.

@jpechane I'm sorry but I accidentally sent you a previous version.
I've updated it now and added a test for the OriginalDataTypeMapper.
Regarding Kafka for both formats - How would I check that?
I've checked it with my application as I am using debezium-embedded in my application and it works just fine

Hi Orr, I am sorry I was under other pressing tasks. The basci functionality looks fine. What I need you to do now is to better embed the config option into the framework.
Please look at io.debezium.connector.mysql.MySqlConnectorConfig. We need a config field for column.add.original.type option. The option then would be retrived via config.getBoolean() instead of forEachMatchingFieldName.
Also you can test the functionality by extending MySqlConnectorIT test. This way we will have almost end-to-end test.
The Kafka testing - this does not need an automated test. It is sufficient if it is done manually. The easiest thing would be to use https://github.com/debezium/debezium-examples/tree/master/tutorial example for both JSON and Avro formats. The only caveat is that you need to build your own Connect image that would contain the modified connector. If you will struggle with this part then I can make it on my own.

@orrganani Hi, do you plan to continue on this one?

Hi @jpechane, sorry for the unavailability, we've been having some production issues lately.
I do plan on continuing this, early next week.
Is it delaying the next release?

@orrganani Hi, no worries take your time, I was just checking the status

@gunnarmorling  I'm on vacation until mid next week, so I asked Sapir from my team to pick up the pull request.

Ok, thanks for the update. No worries, though. If it misses this week's release, the next one after that will be in three weeks.

Hey @orrganani, just checking in on this one. Any plans on your side for finishing it up? Thanks!

Hey @orrganani, this looks almost done. So I think I'll take over and complete it. Once it's merged you can take a look and let us know if you see anything else to be done.

guys I'm terribly sorry that this is taking so long from my side we just don't have the capacity currently to finish up the PR.
if you would like to finish it up that would be great, thanks
I'll take a look after it's merge in

@orrganani No worries, we've all been there :) I'll finish it up then, shouldn't take long.
My only question to you is: will it suffice to add the source column type's name as a parameter (e.g. __debezium.source.column.type=MEDIUMINT? From what I've read in the JIRA issue, it should, as you can get the precision/scale via existing parameters already for NUMERIC/DECIMAL columns (where it's variable). I don't like adding them for other (non-variable) types (e.g. MEDIUMINT) too much, as it either may cause trouble when re-using the already used keys or it would be redundant when using other keys in some cases then. But from the type name you should be able to derive the correct width for the downstream DB.


Praise from a newbie

The code style and architecture are amazing! And I enjoy a lot.
Thank you for sharing the neat code base.

Ahhhh, your comments are so funny!


How to add icons to specific new commands?

I commonly use this extension for VS Code; it would be better if I see the editor's icon in the context menu.

Firstly thanks for using this and for this suggestion. I have been thinking about this myself and will put it on the roadmap as a priority item. I'll report progress via this issue.

Unfortunately, it APPEARS that while icon is an allowable argument to the Nautilus.MenuItem constructor and an accessible property of the resulting instance, it is currently ignored. This issue, while created 3 years ago, appears to confirm that in a comment by the maintainer from only two months ago.
On looking at a full context menu in Nautilus I note that there are no icons displayed even for entries not associated with A4N. Can you confirm that in your installation? If you do see non-A4N icons, what version of Nautilus are you using?

GNOME nautilus 42.2
I do see VS Code icon in the context menu for the files, however, the context menu of the folders does not show open in VS Code due to my ignorance of the field. What I know about mime-types is directory is of type inode/directory but Nautilus does not allow associating for folders a default application such as VS Code.

It might be necessary to hack the source code of Nautilus and build it from scratch

Um - yeah - knock yourself out :D


Add jitsi fonts and switch between toolbar and filmStrip

Moves the fonts folder into features/base/fontIcons.
Creates a Jitsi font to be used in React Native.
Adds an isVisible property for the Toolbar and FilmStrip views in order to be able to show/hide them on user touch.
TO be done:
Avoid duplication and provide a Hide-ableView abstraction, which can also implement animation.
Add a timeout for the toolbar view visibility.
Make sure the new fontIcons feature corresponds to the project structure rules and eventually remove the unnecessary files.

As we already discussed with @legastero and @lyubomir, having 3rd-party code inside our sources is not a good approach. I'm talking about fontawesome-webfont.* files. Instead we should take them from NPM package (https://www.npmjs.com/package/font-awesome). But I'm not sure if this should be done in scope of this PR.

Interesting.. I was seeing eslint run on every commit and it was passing. When run manually though was showing warnings. They're all fixed now.

I've asked @legastero & @tsareg to please create PRs on a single subject so, in order to be fair to them, I'd like to reiterate that plea for you as well, @yanas. Generally, bundling multiple subjects into a single PR makes reviewing harder & risks imposing unnecessary delays on unrelated changes. Anyway, we've all bundled multiple subjects into a single PR so this is merely a note for the future. Besides, we're in a hurry on this PR so I'll be working on it as it currently stands.

The move of the files fontawesome-webfont.* breaks npm run start:web because features/base/styles/components/web/styles/FontAwesome.css looks for them in their old location. Of course, just pointing FontAwesome.css to the new location is a possibility. But it'd make the features base/fontIcons & base/styles messing with the private files of the other... Anyway, I'll either leave it as another technical debt or I'll try to fix it after I test this PR with my modifications on mobile.


Missing endpoints for Private Aggregation on collecting & batching documentation

On the collecting & batching documentation, it states there are four types of reports and all these reports are sent to the well-known endpoints for attribution-reporting. Private Aggregation is mentioned at the top of the page, while they are the same type of reports, these reports are not sent to /.well-known/attribution-reporting/*.  They are sent to the following endpoints called out in the Private Aggregation explainer, it would be helpful to include these to avoid confusion:

Shared Storage: /.well-known/private-aggregation/report-shared-storage
Protected Audience: /.well-known/private-aggregation/report-protected-audience

Thanks for pointing this out, the documentation in https://github.com/privacysandbox/aggregation-service/blob/main/docs/collecting.md has been updated to incldue the Private Aggregation endpoints now.


[wip] Jupyter notebooks support - run tasks on remote cluster!

Why are the changes needed?
I would love to develop tasks and workflows in notebooks and run it from the notebook
What changes were proposed in this pull request?
Support for task execution from notebook to remote cluster for

[x] Regular tasks
[x] Workflows
[x] Map tasks (needs backend change)
[ ] Dynamic workflows (cannot be supported - reason pickled objects create a problem in the backend)
[ ] Eager workflows (local entry point should already work)

How was this patch tested?
https://www.loom.com/share/1369e80571e8427fbfc8e2c6ad127d67?sid=658c01ce-da5c-4bff-b50d-57c61107fba6
##TODO##

[ ] unit tests
[ ] integration tests
[ ]test with various plugins (help needed)
[ ]Support for dynamic, eager and map
[ ]Able to use python files and import from these and intermingle with new tasks authored in jupyter

from mycompany.team_a.module_b import taskA

@workflow
def foo():
   taskA()

Problem when enabling dynamic task
      File "/usr/local/lib/python3.9/site-packages/flytekit/exceptions/scopes.py", line 183, in system_entry_point
        return wrapped(*args, **kwargs)
      File "/usr/local/lib/python3.9/site-packages/flytekit/core/base_task.py", line 733, in dispatch_execute
        native_outputs = self.execute(**native_inputs)
      File "/usr/local/lib/python3.9/site-packages/flytekit/core/python_function_task.py", line 206, in execute
        return self.dynamic_execute(self._task_function, **kwargs)
      File "/usr/local/lib/python3.9/site-packages/flytekit/core/python_function_task.py", line 358, in dynamic_execute
        return self.compile_into_workflow(ctx, task_function, **kwargs)
      File "/usr/local/lib/python3.9/site-packages/flytekit/core/python_function_task.py", line 240, in compile_into_workflow
        self._create_and_cache_dynamic_workflow()
      File "/usr/local/lib/python3.9/site-packages/flytekit/core/python_function_task.py", line 214, in _create_and_cache_dynamic_workflow
        self._wf = PythonFunctionWorkflow(self._task_function, metadata=workflow_meta, default_metadata=defaults)
      File "/usr/local/lib/python3.9/site-packages/flytekit/core/tracker.py", line 81, in __call__
        o = super(InstanceTrackingMeta, cls).__call__(*args, **kwargs)
      File "/usr/local/lib/python3.9/site-packages/flytekit/core/workflow.py", line 654, in __init__
        name, _, _, _ = extract_task_module(workflow_function)
      File "/usr/local/lib/python3.9/site-packages/flytekit/core/tracker.py", line 332, in extract_task_module
        mod_name = get_full_module_path(f, file_name)  # type: ignore
      File "/usr/local/lib/python3.9/site-packages/flytekit/core/tracker.py", line 348, in get_full_module_path
        new_mod_name = _mod_sanitizer.get_absolute_module_name(inspect.getabsfile(mod), package_root)
      File "/usr/local/lib/python3.9/site-packages/flytekit/core/tracker.py", line 291, in get_absolute_module_name
        return self._resolve_abs_module_name(path, package_root)
      File "/usr/local/lib/python3.9/site-packages/flytekit/core/tracker.py", line 277, in _resolve_abs_module_name
        if "__init__.py" not in os.listdir(dirname):

Message:

    FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/wv/_pkycmvn4bxbfgb9336q__3h0000gn/T/ipykernel_42279'

Even when this is solved, there are problems. Extract module cannot work with pickled subfunction. We could write a new resolver
                             File "/Users/ketanumare/src/flytekit/flytekit/core/python_auto_container.py", line 158, in get_default_command
                                 self.task_resolver.location,
                               File "/Users/ketanumare/src/flytekit/flytekit/core/tracker.py", line 112, in location
                                 n, _, _, _ = extract_task_module(self)

For developer experience, I want to get to a point where we can do:
# In Jupyter, registers `remote` as a global entity
remote = FlyteRemote(...)

@task
def hello(name: str) -> str:
    return f"hello {name}"

# local execution for testing
out_local = hello(name="flute")

# remote execution
out_future = hello.remote(name="flyte")
# prints out link to execution

# blocks and wait for value
out = out.sync()
assert out == out_local

I do want to allow all the kwargs in remote.execute in hello.remote somehow. Maybe:
# I'm not completely sold on this idea.
with remote.execute_context(envs=dict(hello="world")):
    out_future = hello.remote(name="flyte")

Also, for handing data:
@task
def train_model(hugging_face_model: str) -> FlyteFile:
    ...

model_future.sync = hello.remote(hugging_face_model="llama3")

model = model_future.sync()
model_local = model.download(dest="my_local_dir")

For developer experience, what do you think of having an experience like:
# In Jupyter, registers `remote` as a global entity
remote = FlyteRemote(...)

@task
def hello(name: str) -> str:
    return f"hello {name}"

# local execution for testing
out_local = hello(name="flute")

# remote execution
out_future = hello.remote(name="flyte")
# prints out link to execution

# blocks and wait for value
out = out.sync()
assert out == out_local

I do want to allow all the kwargs in remote.execute in hello.remote somehow. Maybe:
# I'm not completely sold on this idea.
with remote.execute_context(envs=dict(hello="world")):
    out_future = hello.remote(name="flyte")

Also, for handing data:
@task
def train_model(hugging_face_model: str) -> FlyteFile:
    ...

model_future.sync = hello.remote(hugging_face_model="llama3")

model = model_future.sync()
model_local = model.download(dest="my_local_dir")

Hi, @thomasjpfan . I have been working on this interface recently. Thanks.

@kumare3 seems to be the same issue we ran into with re-running ArrayNode. We can probably use/re-use most of the solution we had to support re-running ArrayNodes. Will look into this tomorrow.

@pvditt you are right. I am
Just flagging. I am sure your solution will work

Done in https://github.com/flyteorg/flytekit/pull/2733


Unused components in codebase

The codebase has some now unused components:
rfj_expungement/libs/state-machines.js is not being used, as the logic is all in evaluator.js, and the
rfj_expungement/examples dir only contains an example for this library.
There are also a few UI components that aren't being imported or used anywhere:
NoteEditor
EvaluatorInfoTable
EvaluatorCommentsTable
ClientInfoTable
Removing these - or marking them as no longer used - would make the codebase less confusing for newbies.

Agreed! Working on this


ifft_full

This change is

src/core/backend/avx512/fft.rs line 104 at r2 (raw file):

/// Transposes the AVX vectors in the given array.
/// Swaps the bit index abc <-> cba, where |a|=|c| and |b| = 0 or 1, according to the parity of

is it obvious that this is ok?
Code quote:
Swaps the bit index abc <-> cba, where |a|=|c| and |b| = 0 or 1


[Issue]:  ValueError: Cannot take a larger sample than population when 'replace=False'

Describe the issue
when i run the code for prompt tunning i got this error
python -m graphrag.prompt_tune --root . --domain "Manufacturing company" --chunk-size 300 --output prompt_zh
INFO: Reading settings from settings.yaml
Loading Input (InputFileType.text)Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/opt/anaconda3/envs/graphgroq/lib/python3.11/site-packages/graphrag/prompt_tune/main.py", line 100, in
loop.run_until_complete(
File "/opt/anaconda3/envs/graphgroq/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/graphgroq/lib/python3.11/site-packages/graphrag/prompt_tune/cli.py", line 59, in fine_tune
await fine_tune_with_config(
File "/opt/anaconda3/envs/graphgroq/lib/python3.11/site-packages/graphrag/prompt_tune/cli.py", line 109, in fine_tune_with_config
doc_list = await load_docs_in_chunks(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/graphgroq/lib/python3.11/site-packages/graphrag/prompt_tune/loader/input.py", line 56, in load_docs_in_chunks
chunks_df = chunks_df.sample(n=limit)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/graphgroq/lib/python3.11/site-packages/pandas/core/generic.py", line 6118, in sample
sampled_indices = sample.sample(obj_len, size, replace, weights, rs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/graphgroq/lib/python3.11/site-packages/pandas/core/sample.py", line 152, in sample
return random_state.choice(obj_len, size=size, replace=replace, p=weights).astype(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "numpy/random/mtrand.pyx", line 1001, in numpy.random.mtrand.RandomState.choice
ValueError: Cannot take a larger sample than population when 'replace=False'
Steps to reproduce
No response
GraphRAG Config Used
No response
Logs and screenshots
No response
Additional Information

GraphRAG Version:
Operating System:
Python Version:
Related Issues:

I got the same issue, wait for the answer

Thanks for the report!
This bug has already been addressed and will be released in v0.1.2
In case that waiting for the next version isn't an option, you can build it from source, or, use the param --limit with a smaller number (default is 15)
For example --limit 5

Thanks for the report! This bug has already been addressed and will be released in v0.1.2 In case that waiting for the next version isn't an option, you can build it from source, or, use the param --limit with a smaller number (default is 15)
For example --limit 5

I tried and found that only 1 and 2 are worked,if you set limit 3 or above, than come out the same issue.


Allow lazily define type in annotations

Currently, it is hard to define polymorphic subtypes because they result in a circular dependency. A solution to that is to call decorator manually instead of using it as an annotation. See spec/polymorphism-root-abstract-class.spec.ts.
Solution would be to allow types to be defined in a function that would be evaluated when the types are needed instead of in a decorator immediately:
@jsonMember(() => String)
prop: string;

Then the arrow function would be called during deserialisation/serialisation process.

I very much like this approach and am currently stumbling across this problem as well :-).
FYI, the ORM-framework typeorm uses the same approach for specifying relations between classes:
@Entity()
export class User {
    @OneToMany(() => Photo, photo => photo.user)
    photos: Photo[];
}

@Entity()
export class Photo {
    @ManyToOne(() => User, user => user.photos)
    user: User;
}

I already had one go at it, but the main challange is that TypedJSON in the current form processes everything eagerly, and stores the result. Unfortunately, it is not as easy as switching a value for an arrow function :(. Maybe I could give it another go this weekend.
Anyway, have you seen the test I mentioned? It should be good enough if you have only few classes with that problem. What you can do is have an additional file that imports all the subclasses and calls the decorator explicitly for the parent class to keep it tidy.

@Neos3452, it's been longer than I hoped but I should have some time soon to work on typed-json too.

@Neos3452, thanks for the reference to the test. That helped me a lot in implementing a work-around :-). If you find some time to implement a prototype, I'll be more than happy to try it out and give my feedback

Hi @sumbricht, I was able to get a working prototype, but a question popped-into my mind. Do you have a problem with knownTypes for polymorphic deserialisation? Or do you have a problem with defining a type for @jsonMember and friends? Maybe, you could paste a simplified example of you problem?
@MatthiasKunnen, great to have you back 😊. You can take a look at the prototype (and I am emphasising this, as it was hacked as a POC 😁) at the "lazy_types" branch.

@Neos3452, I'll have a look and might work on something related to it.


How to obtain the full url of a nuget feed passed as task input

How to get the full publishing URL of a Nuget feed?
In my task.json i define this input:
{
      "name": "nugetFeed",
      "aliases": [
        "vstsFeed"
      ],
      "type": "pickList",
      "label": "Artifact feed to cache the built binaries:",
      "defaultValue": "",
      "helpMarkDown": "Specify where to cache the binaries built.",
      "required": "false",
      "properties": {
        "EditableOptions": "True"
      }
    },
...
  "dataSourceBindings": [
    {
        "target": "nugetFeed",
        "endpointId": "tfs:feed",
        "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds",
        "resultSelector": "jsonpath:$.value[*]",
        "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }"
    }
  ]
}

Using   tl.getInput("nugetFeed"); I only get a guid.
What i want is to get the full URL like:
https://pkgs.dev.azure.com/name/_packaging/feedname/nuget/v3/index.json

@lukka - I apologize for the delay in responding. I think the method you are looking for is tl.getEndpointUrl("nugetFeed")

@jtpetty using tl.getInput("nugetFeed") I get a GUID, is there any documentation about that return value? How to use this return value?

@lukka - tl.getInput("nugetFeed") will definitely return the GUID for the service connection. If you use tl.getEndpointUrl("nugetFeed") it will return the URL based on the GUID for the service connection

@lukka - Did this address your question?

yes, thanks a lot!


chore: Update CODEOWNERS and Blunderbuss for SoDa

Updates the CODEOWNERs file and Blunderbuss config for new teamsync managed groups
Before merging, please make sure the follow teams have write access for this repo:

[x] @GoogleCloudPlatform/cloud-native-db-dpes
[x] @GoogleCloudPlatform/infra-db-dpes
[x] @GoogleCloudPlatform/cloud-storage-dpes

@tbpg Thanks! this should be ready to merge.

@tbpg Can we get this merged?


ChefDK 1.2.22 and 1.3.20 - Initial kitchen run fails to mount VirtualBox shared folders

Description
Initial kitchen run fails to mount VirtualBox shared folders
ChefDK Version
ChefDK 1.2.22 and 1.3.20
chef -v
Chef Development Kit Version: 1.3.20
chef-client version: 12.19.36
delivery version: master (f73518976ad7c23d506232239a46cd50a3e04a36)
berks version: 5.6.3
kitchen version: 1.16.0
Platform Version
Mac 10.12
Sample output:
kitchen converge multi
-----> Starting Kitchen (v1.16.0)
-----> Creating <multi-centos6>...
       Bringing machine 'default' up with 'virtualbox' provider...
       ==> default: Importing base box 'centos6'...
==> default: Matching MAC address for NAT networking...
       ==> default: Setting the name of the VM: kitchen-vci_postfix-multi-centos6_default_1489508122117_85729
       ==> default: Clearing any previously set network interfaces...
       ==> default: Preparing network interfaces based on configuration...
           default: Adapter 1: nat
       ==> default: Forwarding ports...
           default: 25 (guest) => 2525 (host) (adapter 1)
           default: 22 (guest) => 2222 (host) (adapter 1)
       ==> default: Running 'pre-boot' VM customizations...
       ==> default: Booting VM...
       ==> default: Waiting for machine to boot. This may take a few minutes...
           default: SSH address: <IP_ADDRESS>:2222
           default: SSH username: vagrant
           default: SSH auth method: private key
           default: Warning: Remote connection disconnect. Retrying...
           default:
           default: Vagrant insecure key detected. Vagrant will automatically replace
           default: this with a newly generated keypair for better security.
           default:
           default: Inserting generated public key within guest...
           default: Removing insecure key from the guest if it's present...
           default: Key inserted! Disconnecting and reconnecting using new SSH key...
       ==> default: Machine booted and ready!
       ==> default: Checking for guest additions in VM...
           default: No guest additions were detected on the base box for this VM! Guest
           default: additions are required for forwarded ports, shared folders, host only
           default: networking, and more. If SSH fails on this machine, please install
           default: the guest additions and repackage the box to continue.
           default:
           default: This is not an error message; everything may continue to work properly,
           default: in which case you may ignore this message.
       ==> default: Setting hostname...
       ==> default: Mounting shared folders...
           default: /tmp/omnibus/cache => /Users/wade.peacock/.kitchen/cache
       Vagrant was unable to mount VirtualBox shared folders. This is usually
       because the filesystem "vboxsf" is not available. This filesystem is
       made available via the VirtualBox Guest Additions and kernel module.
       Please verify that these guest additions are properly installed in the
       guest. This is not a bug in Vagrant and is usually caused by a faulty
       Vagrant box. For context, the command attempted was:

       mount -t vboxsf -o uid=500,gid=500 tmp_omnibus_cache /tmp/omnibus/cache

       The error output from the command was:

       mount: unknown filesystem type 'vboxsf'
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>>     Failed to complete #create action: [Expected process to exit with [0], but received '1'
---- Begin output of vagrant up --provider virtualbox ----
STDOUT: Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos6'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: kitchen-vci_postfix-multi-centos6_default_1489508122117_85729
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 25 (guest) => 2525 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: <IP_ADDRESS>:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: No guest additions were detected on the base box for this VM! Guest
    default: additions are required for forwarded ports, shared folders, host only
    default: networking, and more. If SSH fails on this machine, please install
    default: the guest additions and repackage the box to continue.
    default:
    default: This is not an error message; everything may continue to work properly,
    default: in which case you may ignore this message.
==> default: Setting hostname...
==> default: Mounting shared folders...
    default: /tmp/omnibus/cache => /Users/wade.peacock/.kitchen/cache
STDERR: Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=500,gid=500 tmp_omnibus_cache /tmp/omnibus/cache

The error output from the command was:

mount: unknown filesystem type 'vboxsf'
---- End output of vagrant up --provider virtualbox ----
Ran vagrant up --provider virtualbox returned 1] on multi-centos6
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

Immediate re run of 'kitchen converge' works.

vagrant --version
Vagrant 1.9.2
vagrant plugin list
vagrant-share (1.1.7, system)
virtualbox 5.1.16

Also of note.  Prior to upgrading to 1.2.22 then 1.3.20, this was not an issue. Sadly, I can't remember what version of ChefDK I had before.

Impacts windows nodes too:
-----> Starting Kitchen (v1.16.0)
-----> Converging <windows-win2k12>...
       Preparing files for transfer
       Preparing dna.json
       Resolving cookbook dependencies with Berkshelf 5.6.3...
       Removing non-cookbook files before transfer
       Preparing data_bags
       Preparing environments
       Preparing validation.pem
       Preparing client.rb
-----> Installing Chef Omnibus (12.15.19)
       Downloading package from https://packages.chef.io/files/stable/chef/12.15.19/windows/2012r2/chef-client-12.15.19-1-x64.msi
       There was an error:
       	Exception calling "DownloadFile" with "2" argument(s): "An exception occurred during a WebClient request."
       	An exception occurred during a WebClient request.
       	The network path was not found.

       Transferring files to <windows-win2k12>
       [2017-03-14T16:38:18+00:00] FATAL: Configuration error NoMethodError: undefined method `plugin_path' for nil:NilClass
       [2017-03-14T16:38:18+00:00] FATAL:   C:\Users\vagrant\AppData\Local\Temp\kitchen\client.rb:18:in `from_string'
       [2017-03-14T16:38:18+00:00] FATAL: Aborting due to error in 'C:\Users\vagrant\AppData\Local\Temp\kitchen\client.rb'
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>>     Converge failed on instance <windows-win2k12>.  Please see .kitchen/logs/windows-win2k12.log for more details
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration```

What version of box centos6 base box?
vagrant box list
The issue isn't really a ChefDK one so much as a change made to kitchen-vagrant to allow caching - the particular box you're using is either too old or doesn't have the right virt drivers installed so is failing to mount it. That issue is unrelated to the Windows issue.

@cheeseplus These are our own vboxes not community ones.

You can disable the chef-client shared folder cache by adding cache_directory: false under the appropriate driver block.
---
driver:
  name: vagrant
  cache_directory: false

The default behaviour is to use the cache so if there aren't virtualization drivers for shared folders like the boxes from chef/bento then you'll want to add this setting to your kitchen configs.

Looks like it is related to virtualbox upgrade.
I've reverted all for now.
chef-dk 1.1.16
vagrant 1.8.7
virtualbox 5.1.14
I'll try your suggestion tonight @cheeseplus , unfortunately, now that I've unblocked myself, there's work to do.

Cool, since this isn't quite a DK issue and related to underlying things, I'm closing.

@cheeseplus My windows was still borked. So I tried:
---
driver:
  name: vagrant
  cache_directory: false

Bingo, solved it.


Random/Intermittent Permission Error

Hello! Thanks again, your code has been really helpful, being able to see how you accomplished this. Aside from the issue I had on first install (the utility program doesn't seem to create location.py), I've noticed that it crashes after a random length of time. Here is the terminal output:
pi@raspberrypi_matrix:~/PiClock $ sudo python3 ./PiClock.py --led-rows=64 --led-cols=64 --led-chain=2
09/05/19 22:31:28 : Generating current weather data from AccuWeather...
09/05/19 22:31:28 : Generating forecast data from AccuWeather...
Press CTRL-C to stop execution
09/05/19 23:31:28 : Generating current weather data from AccuWeather...
Traceback (most recent call last):
  File "./PiClock.py", line 283, in <module>
    if (not piClock.process()):
  File "/home/pi/PiClock/appbase.py", line 68, in process
    self.run()
  File "./PiClock.py", line 198, in run
    self.getData()
  File "./PiClock.py", line 28, in getData
    self.caller.getAndParse()
  File "/home/pi/PiClock/apicaller.py", line 16, in getAndParse
    self.getData()
  File "/home/pi/PiClock/apicaller.py", line 33, in getData
    with open('currentweather.json', 'w') as f:
PermissionError: [Errno 13] Permission denied: 'currentweather.json'

Now, it's possible I have screwed something up, but I don't think so. All I have done is adjust the position of the text to fit a chain of two Adafruit 64x64 matrix panels. Running the command again brings it back up like normal. Additionally, it doesn't always crash after one call to the API.

I ran into a similar problem with getting a permission error on the .json files. The solution for me was to double check that there are read/write permissions on both of those files. You can try running ls -l currentweather.json to double check there is a rw flag enabled.
Other than that I did make some changes to the way info is written to those files prior to the 1.0.0 release version so I can let my clock run for a few days and see if I can reproduce the problem. If you want to take a look that code lives in apicaller.py.

Thanks for the reply! Flag appears to be enabled, consistent crashes after the first call now. I realized the error messages originate a little different each time, and if it matters, I did exceed the API call limit the first day. However, I have only made a couple calls each day since then, so I don't believe that's the issue. Here's the full block of code, beginning after I started the program for the first time with the text placed where I wanted it:
09/05/19 19:07:00 : Maxed out API calls to AccuWeather. Attempting to use cached current weather data... 09/05/19 19:07:00 : Maxed out API calls to AccuWeather. Attempting to use cached forecast data... 09/05/19 20:07:00 : Generating current weather data from AccuWeather... Traceback (most recent call last):   File "./PiClock.py", line 283, in <module>     if (not piClock.process()):   File "/home/pi/PiClock/appbase.py", line 68, in process     self.run()   File "./PiClock.py", line 198, in run     self.getData()   File "./PiClock.py", line 28, in getData     self.caller.getAndParse()   File "/home/pi/PiClock/apicaller.py", line 16, in getAndParse     self.getData()   File "/home/pi/PiClock/apicaller.py", line 33, in getData     with open('currentweather.json', 'w') as f: PermissionError: [Errno 13] Permission denied: 'currentweather.json' pi@raspberrypi_matrix:~/PiClock $ sudo python3 ./PiClock.py --led-rows=64 --led-cols=64 --led-chain=2 09/05/19 22:31:28 : Generating current weather data from AccuWeather... 09/05/19 22:31:28 : Generating forecast data from AccuWeather... Press CTRL-C to stop execution 09/05/19 23:31:28 : Generating current weather data from AccuWeather... Traceback (most recent call last):   File "./PiClock.py", line 283, in <module>     if (not piClock.process()):   File "/home/pi/PiClock/appbase.py", line 68, in process     self.run()   File "./PiClock.py", line 198, in run     self.getData()   File "./PiClock.py", line 28, in getData     self.caller.getAndParse()   File "/home/pi/PiClock/apicaller.py", line 16, in getAndParse     self.getData()   File "/home/pi/PiClock/apicaller.py", line 33, in getData     with open('currentweather.json', 'w') as f: PermissionError: [Errno 13] Permission denied: 'currentweather.json' pi@raspberrypi_matrix:~/PiClock $ sudo python3 ./PiClock.py --led-rows=64 --led-cols=64 --led-chain=2 09/06/19 12:58:24 : Generating current weather data from AccuWeather... 09/06/19 12:58:24 : Generating forecast data from AccuWeather... Press CTRL-C to stop execution 09/06/19 13:58:24 : Generating current weather data from AccuWeather... Traceback (most recent call last):   File "./PiClock.py", line 283, in <module>     if (not piClock.process()):   File "/home/pi/PiClock/appbase.py", line 68, in process     self.run()   File "./PiClock.py", line 198, in run     self.getData()   File "./PiClock.py", line 28, in getData     self.caller.getAndParse()   File "/home/pi/PiClock/apicaller.py", line 16, in getAndParse     self.getData()   File "/home/pi/PiClock/apicaller.py", line 33, in getData     with open('currentweather.json', 'w') as f: PermissionError: [Errno 13] Permission denied: 'currentweather.json' pi@raspberrypi_matrix:~/PiClock $ sudo python3 ./PiClock.py --led-rows=64 --led-cols=64 --led-chain=2 09/06/19 23:50:10 : Generating current weather data from AccuWeather... 09/06/19 23:50:10 : Generating forecast data from AccuWeather... Press CTRL-C to stop execution 09/07/19 00:50:10 : Generating current weather data from AccuWeather... Traceback (most recent call last):   File "./PiClock.py", line 283, in <module>     if (not piClock.process()):   File "/home/pi/PiClock/appbase.py", line 68, in process     self.run()   File "./PiClock.py", line 198, in run     self.getData()   File "./PiClock.py", line 28, in getData     self.caller.getAndParse()   File "/home/pi/PiClock/apicaller.py", line 16, in getAndParse     self.getData()   File "/home/pi/PiClock/apicaller.py", line 33, in getData     with open('currentweather.json', 'w') as f: PermissionError: [Errno 13] Permission denied: 'currentweather.json' pi@raspberrypi_matrix:~/PiClock $ sudo python3 ./PiClock.py --led-rows=64 --led-cols=64 --led-chain=2 09/08/19 01:32:00 : Generating current weather data from AccuWeather... 09/08/19 01:32:00 : Generating forecast data from AccuWeather... Press CTRL-C to stop execution 09/08/19 02:32:00 : Generating current weather data from AccuWeather... Traceback (most recent call last):   File "./PiClock.py", line 283, in <module>     if (not piClock.process()):   File "/home/pi/PiClock/appbase.py", line 68, in process     self.run()   File "./PiClock.py", line 198, in run     self.getData()   File "./PiClock.py", line 28, in getData     self.caller.getAndParse()   File "/home/pi/PiClock/apicaller.py", line 16, in getAndParse     self.getData()   File "/home/pi/PiClock/apicaller.py", line 33, in getData     with open('currentweather.json', 'w') as f: PermissionError: [Errno 13] Permission denied: 'currentweather.json' pi@raspberrypi_matrix:~/PiClock $ ls -l currentweather.json -rw-r--r-- 1 pi pi 4469 Sep  8 01:32 currentweather.json pi@raspberrypi_matrix:~/PiClock $ ls -l apicaller.py -rw-r--r-- 1 pi pi 2541 Sep  4 16:02 apicaller.py pi@raspberrypi_matrix:~/PiClock $
So, this is over my head. I'm hoping that I can get all of this working, and figure out how to implement the DarkSky API, because the calls aren't limited as tightly and they offer good near-term forecast data for precip (the hourly forecast graph would look cool on a matrix as well).

Try chmod 777 currentweather.json. Do the same for forecast.json.
It needs full read/write permissions since it's not being run directly by the user.

That appears to have fixed it. Thank you for your patience, I understand now!


Markdown

Are there any plans to support markdown for this plugin?

That be awesome!

jfyi you can write html in your markdown, so just put this where you want:


feat: Support for datetimeoffset data type

Defines a date that is combined with a time of a day based on a 24-hour clock like datetime2, and adds time zone awareness based on UTC (Universal Time Coordinate or Greenwich Mean Time).
https://learn.microsoft.com/en-us/sql/t-sql/data-types/datetimeoffset-transact-sql?view=sql-server-ver16
https://docs.sqlalchemy.org/en/14/dialects/mssql.html#sqlalchemy.dialects.mssql.DATETIMEOFFSET

After doing some research I think this is actually the built in JSON Schema string format of "date-time"
"format": "date-time"


[core] Should the authentication buttons be theme aware?

Summary
I was exploring Toolapd core theming and noticed that the buttons in sign-in and sign-out components are not theme aware. While a newly added button takes the primary.main of the palette (check the screenshot below). I would assume the authentication buttons to be theme aware.

Examples
No response
Motivation
No response
Search keywords: button

The buttons is theme aware, it's just not a primary button. Do you think the sign-out button should be a primary action?

Do you think the sign-out button should be a primary action?

In this account popover, it seems to be the primary and only action.
But as menu item, No.


Queue job $tries, $retryUntil, not taking effect for already queued jobs in redis

Laravel Version
10.10
PHP Version
8.2
Database Driver & Version
Postgres 16 docker
Description
Issue
Already queued jobs (released back) aren't reflecting the changes of $tries and retryUntil (set on the job) after changing them and restarting the workers. (redis queue used).
Expect
I Expect the changes to reflect immediately.
Steps To Reproduce
Using Redis as a queue
Have a job with
public $tries = 0;

public function handle(): void
{
    $this->l('Job TestQueueBusChainWithThrottle run ....');

    $this->l('Job : tries: ' . $this->tries);

    // throw new \Error('hi just kidding');
    // Sleep::usleep(1 * 1000000);
    $this->release();

    $this->l('Job TestQueueBusChainWithThrottle Done!');
}

Run worker, dispatch
=> keep running infinitely as supposed to.
Now kill worker, change code to
public $tries = 1;

Start worker again.
The worker resumes work, but even $tries of the job is 1 (printed) => The whole is running on $tries = 0, as it keeps going indefinitely.
Basically, if there is a queued jobs, and we change $tries or retryUntil => the change will not take effect for old already in the queue jobs, and something of infinite loop, or of long tries, will keep going for too long.
All newly dispatched jobs, take correctly the new value.
Whole job class
<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Support\Sleep;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\{InteractsWithQueue, SerializesModels};
use Illuminate\Contracts\Queue\{ShouldBeUnique, ShouldQueue};

class TestQueueBusChainWithThrottle implements ShouldQueue
{
	use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

	public $tries = 0;
	public $maxExceptions = 1;

	// public function tries()
	// {
	// 	return 2;
	// }

	// public function retryUntil(): \DateTime
	// {
	// 	return now()->addSeconds(1);
	// }

	/**
	 * Create a new job instance.
	 */
	public function __construct()
	{
		$this->l('Job : tries: ' . $this->tries);
	}

	/**
	 * Execute the job.
	 */
	public function handle(): void
	{
		$this->l('Job TestQueueBusChainWithThrottle run ....');

		$this->l('Job : tries: ' . $this->tries);

		// throw new \Error('hi just kidding');
		// Sleep::usleep(1 * 1000000);
		$this->release();

		$this->l('Job TestQueueBusChainWithThrottle Done!');
	}

	public function l(mixed $msg)
	{
		\Log::channel('console')->info($msg);
	}

	public function failed(\Throwable $exception)
	{
		$this->l($exception->getMessage());
	}
}

Hi there,
Thanks for reporting the problem you are encountering, but it looks like this is a question which may be better suited for a support channel. We only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repository you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.

@crynobone just for alignment, Is it normal when one changes the attempts settings of a job ($tries, ...), and the already queued ones remain working with their initiation settings, and so in such a case of settings updates, either it's ok for the old one to continue till finish (old settings) if no issue, or we remove and re-queue if necessary (infinite loop, or long duration).
And the behavior is as mentioned. And by design? I'm not wrong. I just want the confirmation of that.
I don't have a problem, I know how to work in both cases, but I got to notice the behavior. And wanted to confirm (which in one case can make the issue a bug, otherwise not an issue at all.)
Thank you very much. Much appreciated.


tests: need to capture all output from tests with nextest to a file

When debugging a test hang, it would be really useful to have the test output at that point if we need to ssh in and capture a core dump.
Context: https://github.com/neondatabase/neon/pull/6355#issuecomment-1892443398

So far it seems simply terminating long running tests and having the output printed is enough.


Use octal mode to comply with deprecation of non-octal integer string in File::Mode

The File module deprecated the string format being used here; it wants the full octal permissions string or the full textual representation.

same deal as #3 once CI is green I'm happy to merge.


Explicitly disallow Basic Auth over HTTP with PSRP on Linux

A security review of the proposed fix for https://github.com/PowerShell/psl-omi-provider/issues/114 (Basic Auth over HTTP does not work from PowerShell) has determined that Basic Auth over HTTP should not be supported Linux. the primary reasons include:
1: Both credentials and payload are sent un-encrypted.
2: Neither the client nor the server (omi) provide a method for disabling this combination.
3: It's too easy for users to use PSRP in an insecure manner.
As the above issue implies, this combination is currently broken in PowerShell on Linux. Instead of fixing it, the proposed change is to explicitly disable it and report a more appropriate error message.
The recommendation going forward will be to use Negotiate which results in the following:
From the OMI/Setup NTLM doc...

The password is hashed using an irreversable algorithm, so the password is more secure than Basic.
The client and server support encryption of your data over http connections, so SSL certificates are not required.

@PowerShell/powershell-committee reviewed this and is ok with explicitly not supporting Basic+HTTP and returning an error recommending using Negotiate Authn

I found a regression in handling of Basic Auth over HTTP.  When a -Uri is used and the scheme is https, the change does not detect it and fails with the Basic Auth over HTTP not supported error.
The repro is see with outlook.office365.com:
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid -Credential $cred -Authentication Basic -AllowRedirection

Why don't you do the same thing for the Windows platform as well?


With 1.8.3 get warn message

Hello
with the new 1.8.3 version i get warn message:
State "zendure-solarflow.0.gDa3tb.4U2L3G92.calculations.gridInputEnergyTodaykWh" has no existing object, this might lead to an error in future versions
in object this value show me (null)Wh, (null)kWh
thx

Should be fixed with 1.8.4.

no more warn messages thx


Add support for statefulsets in kubernetes

Signed-off-by: ivgo<EMAIL_ADDRESS>Hey, I just made a Pull Request!
Hi, I have added support for StatefulSets in the Kubernetes plugin. At our company we have some of those and they were not displayed, so I have added this so other people can also see them in the UI.
The idea of the UI is exactly the same as with the deployments but with some smalls changes, as the data is slightly different for both kinds. Just let me know if you miss some information or you want to make extra changes.
In the following screenshot you can see how it looks like for one of our internal cases:

Of course, to make it work you need to update the RBAC permissions, adding the staetfulsets to your list. That is also added in the documentation.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@mclarke47 for visibility :)

Sorry for the late fix. I have updated the changeset to patch, as there are no breaking changes. And I have also updates the api-reports as you requested. I hope now it's ready


[WIP] If includeClusterResources is nil/auto, pull in necessary CRDs

Related issue: https://github.com/heptio/velero/issues/1830
This is a starting point for a solution. It seems to accomplish everything
that's needed, although there might be room for improvement in avoiding
a GET call for matching CRDs for each resource backed up. An alternative
could be a single call to get all CRDs prior to iterating over resources
and passing this into the backupResource function.
Signed-off-by: Scott Seago<EMAIL_ADDRESS>

By removing the version-checking while iterating over the CRD list, I realized that what remained was essentially the same as the loop over resource items, but with CRDs instead, so I pulled that out into a separate function and reused it for both the CRD list (although it will always be a list of, at most, one) and the item list.

We definitely need to address #964. I'm not so clear on what we'd need in the restore code other than the "wait for CRDs to be ready" bit (which can be based on the crdsAreReady function in the install package). This PR adds CRDs to the backup. Once they're in the backup, the restore should include them in the restore, unless I'm missing something here.

I'm not so clear on what we'd need in the restore code other than the "wait for CRDs to be ready" bit (which can be based on the crdsAreReady function in the install package).

As long as the user is restoring the full backup, then yeah #964 is sufficient. If, however, they're only restoring a single namespace or some other subset of resources from a full-cluster backup, then I think we have a similar issue as we do with backups - i.e. we may be attempting to restore instances of a CRD into a namespace, but we don't know to restore the CRD itself first.  I'm not sure off the top of my head what the best approach is here - we could create an in-tree item action plugin that returns CRDs as "additional items", or we could add some special-case code at the beginning of restoring a resource type that checks if it's a CR and restores the CRD if so.

"If, however, they're only restoring a single namespace or some other subset of resources from a full-cluster backup, then I think we have a similar issue as we do with backups - i.e. we may be attempting to restore instances of a CRD into a namespace, but we don't know to restore the CRD itself first. "
Oh. Don't we still restore prioritized resources first, even with single namespace restores? If so, then https://github.com/heptio/velero/pull/962 would make sure the CRD is restored first, once we also wait for it to be ready as called for in #964.

OK, I'm looking at the restore code now and it appears to be inconsistent with backups in terms of how cluster-scoped resources are handled during a restore of specific namespaces -- it looks like if IncludeClusterResources is nil/auto, all cluster-scoped resources in the backup will be restored, even if only a specific namespace is being restored.
TBH that seems like a bug we should fix to be consistent with the backup process, however I do agree that in the current state, you'll get the CRD restored prior to any CRs as long as IncludeClusterResources is not false.

So the simplistic method of modifying backupItem to return a bool ignores the question of additionalItems. It's possible for additionalItems to be backed up even if the item we're backing up here fails. Since the main reason we're returning a bool is to say whether this object was backed up (for the purposes of identifying whether we need the associated CRD, that's probably fine. If additionalItems were backed up, and this resource failed, then the CR we're concerned about wasn't backed up, so we return false. It does suggest to me that if we're skipping the item because it's already backed up, we should probably return true in that case, though, since it means that this item probably got dragged in via some other resource's additionalItems, which means the CRD isn't (yet) include but is needed. The final element of confusion here is over items that are only included as a result of being pulled in as additionalItems. If we pull in a CR via additionalItems but we're not backing up that CR's resource as a whole, then we'll miss the CRD. Is this OK, or do we need to do something different to capture potential CRDs in the additionalItems handling? The only time this will happen is if we pull in a CR via additionalItems but never run backupResource on the resource that the CR belongs to.

@sseago the code LGTM - my only request is to add some unit test cases around this. I think you probably want a similar structure as already exists in the TestBackupResourceFiltering test func, but it probably makes sense to set up a separate test method for this. Let us know if anything's unclear on how to structure the tests.

@skriss PR updated with unit tests.

@sseago if you can make the naming updates @prydonius suggested, we can get this merged!


test error

Can you please share the train code?

When I run the test code, this error occurs:
[<EMAIL_ADDRESS>global /io/opencv/modules/imgcodecs/src/loadsave.cpp (239) findDecoder imread_('/root/data1/dataset/FE108/img_ext/airplane_mul222/inter3_stack/0001_1.jpg'): can't open/read file: check file path/integrity

Looks like the path is wrong, you should check your local image path.


Looking forward to you code!

Very nice work, when will you plan to release  your code?

Great work! When will you plan to release your code?

nice work，Look forward to your code！！！

awesome! looking forward to your code

Is there any schedule for code releasing？


update an existing story with new labels

@manojpm thanks for the pull request.
I need to think about this a bit more. I don't really want to add a specific method for this. I'd like to use the existing update functionality. Maybe something like:
story.labels << 'new-label'
story.save

I also thought about this. When we do  story.labels << 'new-label',  labels does not get marked as dirty. So nothing to update.   The other problem I see is that the stories PUT method takes an array of name/value pair for updating the labels.  https://www.pivotaltracker.com/help/api/rest/v5#projects_project_id_stories_story_id_put

I think this will work for making the API request happy.
story.labels << Label.new(name: 'my-special-label')

We could also make labels be our own collection class and then override the << operator. Then we can be smart about accepting single or multiple stings and even Label objects or hashes to add to the collection. See this documentation for Virtus (https://github.com/solnic/virtus#important-note-about-member-coercions) on how to make a special BookCollection and how to use it.
That might also solve the dirty tracking problem, but not sure.

Thanks for the suggestions. BTW, we will have to override other array methods as well ?
For example,  you want to delete a label from the story, then you call the Array#delete_at, Array#delete_if etc.

It might be better to use composition instead of inheriting from Array. Then we can just implement add, delete, and << on the collection class and have an internal array to hold the data.

@manojpm I finally got around to supporting adding new Labels to a Story.
See this pull request: https://github.com/dashofcode/tracker_api/pull/48
Commit: https://github.com/dashofcode/tracker_api/commit/f299fbb9ef7b0d1174f3c3fe7e090ace6c88f385
I'm going to close this pull now.


support query monitors by tags filter

What's changed?
add monitorGroup in Monitor and modify query API to support group monitor
Checklist

[x]  I have read the Contributing Guide
[ ]  I have written the necessary doc or comment.
[ ]  I have added the necessary unit tests and all cases have passed.

Hi @tomsun28  ,I have modified the backend codes, maybe need some guys to modify frontend code

我觉得不错，hhh

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑🤝🧑👫🧑🏿🤝🧑🏻👩🏾🤝👨🏿👬🏿

I feel good, hhh

用标签来进行分组怎么样，我们有标签功能，用户给监控打上特定的一类标签，然后用标签来查询过滤一组监控

Hi，那后端接受的param是list呢还是一个json字符串？

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑🤝🧑👫🧑🏿🤝🧑🏻👩🏾🤝👨🏿👬🏿

How about using tags to group? We have a tag function. Users can tag a specific type of monitoring, and then use tags to query and filter a group of monitoring

Hi, is the param accepted by the backend a list or a json string?

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑🤝🧑👫🧑🏿🤝🧑🏻👩🏾🤝👨🏿👬🏿

How about using tags to group? We have a tag function. Users can tag a specific type of monitoring, and then use tags to query and filter a group of monitoring

Hi, is the param accepted by the backend a list or a json string?

Label array, that is, our monitoring query supports a wave of filtering queries based on labels

Hi @tomsun28 ，I have modified the code to support group by tag and query by tag list, you can review

Hi @tomsun28 ，I have modified the code to support group by tag and query by tag list, you can review
👍 ok


Will yall add the version 1.19.3 for this mod?

already on title

No plans to support 1.19.3, sorry.


Deployment and local usage

In the best case, we can create a CD Pipeline to our root server and host the website there. Alternatively, provide a docker image that the users can spin up and use the website locally for more flexibility.
I want to achieve this by building a GitHub action that creates/updates a container image on the GitHub container registry when new code is pushed to the main branch.
There should be two separate images, one for local use, one for server use.
Sources
https://www.howtogeek.com/devops/how-to-get-started-with-githubs-new-docker-container-registry/
https://dev.to/fabiancdng/automatic-deployment-using-docker-and-github-actions-16fb

Solved. Two images are created, as you can see here.
Will bundle this up with other issues


API Request: Re-request review post ("user")

Feature Description
When a pull request is reviewed as Changes Request our workflow is to then Re-request a review from the user who requested the changes, our push process uses a in-house script. It would be great if the API had a post that allowed a re-request for a given user to be done, eliminating the need for the UI interaction as a additional step for the dev.
Screenshots

Reasonable. I will handle this.

endpoint POST /api/v1/repos/{owner}/{repo}/pulls/{index}/requested_reviewers just works for me. Is it suitable for your case?

endpoint POST /api/v1/repos/{owner}/{repo}/pulls/{index}/requested_reviewers just works for me. Is it suitable for your case?

works for you as in just works already?
If true, then yes that's all she wrote. I did see that endpoint, but assumed that was adding a new reviewer, I did not try to see what would happen if the reviewer was already requested, guess I should have,

The endpoint is to add a new review request. If you want to re-request a reviewer, just use the same reviewer's name.

I shall give that a go, thanks.

Can confirm this does work.


bug: JSX tags are highlighted incorrectly in .tsx files

Did you check docs and existing issues?

[X] I have read all the vscode-neovim docs
[X] I have searched the existing issues of vscode-neovim
[X] I can reproduce the issue with an empty init.vim/init.lua and no other vscode extensions (when applicable)

Neovim version (nvim -v)
NVIM v0.9.5
Operating system/version
Arch Linux 6.7.0-arch3-1
Describe the bug
In .tsx files - a mix between JSX and Typescript - the whole of a tag (and its contents) are displayed a uniform colour and underlined with squiggles.

Here's a more complex example that shows the issue more strongly:

Now, I know that it's surprising that it's this extension causing it, but I disabled all extensions and enabled one at a time until the culprit was reached. Enabling and disabling VSCode Neovim toggles the rendering issue. Here's the first file when VSCode Neovim (and only VSCode Neovim) is disabled. It renders correctly:

Interestingly, a completely commented-out init.vim still shows the same bug, but it appears a little differently.

Let me know if you need anything more :)
Steps To Reproduce

Create a .tsx file with the contents
I am a rendering bug
.

This can be any valid HTML tag I think, or any text inside the above h1, but there's an MVE

Open said file in VSCode. Tadaaa, rendering bug.

Expected Behavior
I expect the different elements of a tag (angle brackets, closing slashes, name, properties) to all have their own individual colours, a la

Does this change anything?
:syntax off
:lua vim.treesitter.stop()

vscode-neovim tries to resolve highlights from Nvim, but that is very much best-effort. Is your issue different than the other existing highlighting issues: https://github.com/vscode-neovim/vscode-neovim/issues?q=is%3Aissue+is%3Aopen+highlight

Related to Why are my headings magenta?

Does this change anything?
:syntax off
:lua vim.treesitter.stop()

vscode-neovim tries to resolve highlights from Nvim, but that is very much best-effort. Is your issue different than the other existing highlighting issues: https://github.com/vscode-neovim/vscode-neovim/issues?q=is%3Aissue+is%3Aopen+highlight

Apologies for the slow response! I'm afraid nothing seems to change when running those commands.
I've tried restarting the extension as described in #1739 - the colours return to the correct colours VSCode highlights with usually, and then back to the incorrect highlighting. I don't think it's this issue anyway - this one has the colours change to the nvim colours briefly, then back to VSCode ones, which is the other way around.
Running :hi clear Title as described in #1730 does nothing, though I don't know if I'm clearing the correct highlight group there. Running :echo w:_vscode_hl_ns  from within the incorrect highlight also gives me 2.
So as far as I can tell, it's not the same as other highlighting issues.


Document Vastest schema for retry/flaky tests

This article shows which values in the VSTest format are mapped to the Azure Pipelines test report. Under the area where it defines test results definitions, it's missing details on how ADO determines if a test was retried after failure. I am trying to understand how to get ADO to detect flaky tests, but haven't understood which properties in VSTest files it relies on for this.

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

ID: fdb3a1b2-9878-405f-bc40-2fb7853cb423
Version Independent ID: fdb3a1b2-9878-405f-bc40-2fb7853cb423
Content: PublishTestResults@2 - Publish Test Results v2 task
Content Source: task-reference/publish-test-results-v2.md
Service: azure-devops-pipelines
Sub-service: azure-devops-pipelines-tasks
GitHub Login: @steved0x
Microsoft Alias: sdanie

@AndrewCraswell -- Andrew, thank you for your feedback.  Please consider these resources:

Azure DevOps Services
Azure DevOps on Stack Overflow

@steved0x -- Steve, please look into this issue.

Thank you for your feedback. We are migrating this issue to our new documentation feedback system, and closing this issue.
As we phase out GitHub issues for this repository, we encourage you to propose changes using public PRs or submit feedback through our updated control at the top of the page. For more information on our feedback systems, see https://aka.ms/contentuserfeedback.


Compile errors at hyper-0.13.5/src/server/conn.rs:926:21 and hyper-0.13.5/src/server/shutdown.rs:65:17

Tests on my project, Goose, just started failing. Locally I ran a cargo update and now can duplicate. Hyper was not updated, and yet it's where the failures are happening. Please see below:
$ cargo update
    Updating crates.io index
    Updating bit-set v0.5.1 -> v0.5.2
    Updating bit-vec v0.5.1 -> v0.6.2
    Updating h2 v0.2.4 -> v0.2.5
    Updating pin-project v0.4.10 -> v0.4.11
    Updating pin-project-internal v0.4.10 -> v0.4.11
    Updating pin-project-lite v0.1.4 -> v0.1.5
    Updating syn v1.0.18 -> v1.0.19
    Updating tokio-tls v0.3.0 -> v0.3.1
    Updating vec_map v0.8.1 -> v0.8.2
$ cargo build
  Downloaded tokio-tls v0.3.1
  Downloaded syn v1.0.19
  Downloaded vec_map v0.8.2
  Downloaded pin-project v0.4.11
  Downloaded pin-project-lite v0.1.5
  Downloaded h2 v0.2.5
  Downloaded pin-project-internal v0.4.11
   Compiling syn v1.0.19
   Compiling pin-project-lite v0.1.5
   Compiling vec_map v0.8.2
   Compiling tokio v0.2.20
   Compiling clap v2.33.0
   Compiling tokio-util v0.3.1
   Compiling tokio-tls v0.3.1
   Compiling h2 v0.2.5
   Compiling syn-mid v0.5.0
   Compiling serde_derive v1.0.106
   Compiling pin-project-internal v0.4.11
   Compiling proc-macro-error-attr v1.0.2
   Compiling proc-macro-error v1.0.2
   Compiling structopt-derive v0.4.7
   Compiling pin-project v0.4.11
   Compiling hyper v0.13.5
error[E0658]: attributes on expressions are experimental
   --> /home/jandrews/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.13.5/src/server/conn.rs:926:21
    |
926 |                     #[project]
    |                     ^^^^^^^^^^
    |
    = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information

error[E0658]: custom attributes cannot be applied to expressions
   --> /home/jandrews/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.13.5/src/server/conn.rs:926:21
    |
926 |                     #[project]
    |                     ^^^^^^^^^^
    |
    = note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information

error[E0658]: attributes on expressions are experimental
  --> /home/jandrews/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.13.5/src/server/shutdown.rs:65:17
   |
65 |                 #[project]
   |                 ^^^^^^^^^^
   |
   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information

error[E0658]: custom attributes cannot be applied to expressions
  --> /home/jandrews/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.13.5/src/server/shutdown.rs:65:17
   |
65 |                 #[project]
   |                 ^^^^^^^^^^
   |
   = note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information

   Compiling structopt v0.3.14
error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0658`.
error: could not compile `hyper`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed

Is this a nightly version of rustc?

No, it's current stable:
 rustc -V
rustc 1.43.0 (4fb7144ed 2020-04-20)

Here's the test-setup on Github as well:
https://github.com/jeremyandrews/goose/blob/master/.github/workflows/CI.yml

Maybe due to pin-project v0.4.11 changes?
https://github.com/taiki-e/pin-project/releases/tag/v0.4.11

@taiki-e do you know if this is a regression, or something else?

provisional measures soultion:
...
[dependencies]
pin-project = "=0.4.10"
...

@seanmonstar This is a regression of pin-project (sorry!).
I yanked 0.4.11 (that has this regression) and released 0.4.12 based on 0.4.10.

Wow, thanks for the quick triage and fix! Confirmed the issues it resolved now, thanks!
$ cargo update
    Updating crates.io index
    Updating pin-project v0.4.11 -> v0.4.12
    Updating pin-project-internal v0.4.11 -> v0.4.12
$ cargo build
  Downloaded pin-project v0.4.12
  Downloaded pin-project-internal v0.4.12
   Compiling pin-project-internal v0.4.12
   Compiling serde_urlencoded v0.6.1
   Compiling cookie_store v0.10.0
   Compiling pin-project v0.4.12
   Compiling hyper v0.13.5
   Compiling hyper-tls v0.4.1
   Compiling reqwest v0.10.4
   Compiling goose v0.5.8
    Finished dev [unoptimized + debuginfo] target(s) in 12.59s

Thanks @taiki-e!


link to mediacommon

Codecov Report

Merging #18 (0036bc9) into main (3420e00) will increase coverage by 1.68%.
The diff coverage is 86.95%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #18      +/-   ##
==========================================
+ Coverage   66.60%   68.29%   +1.68%
==========================================
  Files          54       50       -4
  Lines        4653     4368     -285
==========================================
- Hits         3099     2983     -116
+ Misses       1216     1051     -165
+ Partials      338      334       -4

Impacted Files
Coverage Δ

client_downloader_stream.go
63.58% <ø> (ø)

client_timesync_mpegts.go
59.09% <ø> (ø)

muxer_segment_mpegts.go
83.33% <ø> (ø)

muxer_segmenter_mpegts.go
83.22% <ø> (ø)

track.go
36.36% <36.36%> (ø)

muxer.go
70.00% <72.72%> (ø)

muxer_segmenter_fmp4.go
77.77% <79.16%> (-0.04%)
:arrow_down:

client_processor_fmp4.go
65.41% <92.85%> (+0.52%)
:arrow_up:

muxer_segment_fmp4.go
73.45% <92.85%> (+0.05%)
:arrow_up:

client_processor_mpegts.go
63.12% <93.33%> (+0.53%)
:arrow_up:

... and 6 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Daytona prebuilds add should enable create new Project

Is your feature request related to a problem? Please describe.
When using the command Daytona prebuilds add, if I don’t have the necessary project, I need to cancel the process and figure out how to add a project.
Describe the solution you'd like
When using the command Daytona prebuilds add, if I don’t have the necessary project, there should be an option to create new project,which would guide me through the project creation process. After creating the project, I should be automatically returned to the prebuilds add flow.
Additional context

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."


Importing larger dump fails with No file descriptors available

Describe the bug
I have a "bigger" search indexes for my search engine.
There are 3 indexes. From 14K, through 43K up to 755K documents:

data.ms file with 1.5.1 takes around 77GB on disk. Dump just 1.5G.
When I import it to 1.6.1 it succeeds with the smaller indexes, but fails with the bigger one with a following debug log:
meili-161  | [2024-02-08T08:31:25Z DEBUG TimerFinished] IndexDocuments::execute_raw(), Elapsed=313.03832227s
meili-161  | [2024-02-08T08:31:25Z DEBUG TimerFinished] IndexDocuments::execute(), Elapsed=761.179950715s
meili-161  | Error: No file descriptors available (os error 24)

Full log attached: docker-compose-log.txt
Also I'm happy to share with you the dump file over some private channel for easier repro.
To Reproduce
Steps to reproduce the behavior:

Follow the update Meilisearch steps (docker type) with my dump file (I use docker compose for convenience but result should be the same as docker run
Observe logs
Import fails with above error

Expected behavior
Import finishes without an error
Meilisearch version:
1.6.1
Additional context
Machine is a self hosted PC with ubuntu/docker setup (disk is 1T SSD, exFat mount, 16GB RAM). I can try to reproduce it on Hetzner VPS as well if it helps.

Hello @sznowicki 👋
Thank you very much for this report. The error you got seems related to the number of opened file descriptors. Meilisearch loves to open many files. We are working on this in #4350, and there is a dedicated documentation page about increasing the default limit for this value.

Error: No file descriptors available (os error 24)

Could you run the following command before running Meilisearch, please? You must be in the same terminal session for it to work. You can replace 3000 with an even higher number if the issue persists.
ulimit -Sn 3000

I hope it fixes the issue. Please come back to me if it persists.
Have a nice day 🌻

Hi @Kerollmops
I changed ulimit to 4000 (seems like a max for my OS) but no luck. Also set this up in docker-compose.yml to ensure it's actually really seen by the docker process.
I'm trying out putting some limits on meili itself via ENV hoping this would make the import process not open that many file descriptors.
MEILI_EXPERIMENTAL_MAX_NUMBER_OF_BATCHED_TASKS=50
MAX_INDEXING_MEMORY='2Gb'

hello,
I had some indexing operations require up to 30000 simultaneous file descriptors.
If using docker, make sure the limit is effective both inside and outside the docker.

Thx for the tip! Indeed bumping via ulimit -Sn 400000 and setting up docker-compose.yml as attached seems to do the job. data.ms already is 9GB and counting.
version: "3"
services:
  meili161:
    image: getmeili/meilisearch:v1.6.1
    container_name: "meili-161"
    ulimits:
      nofile:
        soft: 400000
        hard: 500000
    volumes:
      - ./meili_data:/meili_data
#    network_mode: "host"
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - 7701:7700
    command: >
      sh -c "ulimit -n && meilisearch --import-dump /meili_data/dumps/dump.dump"

BTW: many thanks for making Meilisearch such a great project! I'm using it for a month or two and I'm absolutely in love with it!

To confirm: all wen't fine and as described in the release notes I see a massive decrease of database size, from 77GB to 17G between 1.5.1 and 1.6.1


Add tests on new classes and methods

removed old tests that used fakeredis

how to test gopher methods without requiring a redis connection?

With fakeredis
Enviado desde mi teléfono con Cyanogen
El jul. 20, 2016 3:07 PM, "Camilo J. Gómez"<EMAIL_ADDRESS>escribió:
how to test gopher methods without requiring a redis connection?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.

needs to be done a couple of TODO regarding testing equality of dictionaries inside lists


how to setup automated build with private docker registry?

I setup a private  docker registry and I can pull / push to my private registry. However right now I face some challenges in setting up automated build with github.  I create a webhooks in github but how  to connect it to the private docker registry ?

The web hook in github.com triggers the Jenkins build, which calls the build of which image ? Does your Jenkins build do a re build of all your images whatever the impacted branch in the hierarchy ?

@danielkraaij  Do you have open source instructions on how you do that? I am actually looking to do the exact same thing.


Convenience applier categories would be appreciated

Support for properties could be included with Motif.
Example transformers from the readme would be really useful if they were default for UIKit classes:
+ (void)load
{
    [self
        mtf_registerThemeProperty:@"textColor"
        valueTransformerName:MTFColorFromStringTransformer
        applier:^(UIColor *textColor, UIButton *button) {
            [button setTextColor:textColor forState:UIControlStateNormal];
    }];

    [self
        mtf_registerThemeProperties:@[
            @"fontName",
            @"fontSize"
        ] valueTransformersNamesOrRequiredClasses:@[
            [NSString class],
            [NSNumber class]
        ] applier:^(NSDictionary *properties, UIButton *button) {
            NSString *name = properties[@"fontName"];
            CGFloat size = [properties[@"fontSize"] floatValue];
            button.titleLabel.font = [UIFont fontWithName:name size:size];
        }];
}

I can imaging it as an optional subspec in CocoaPods so that it can be more easily platform-specific, and even ignored. I'm not sure what it would look like via Carthage (a separate framework?).
What do you think?

Specifically, fontName and fontSize aren't properties.

@fcanas Most properties will "just work". For example, you'll notice that there's no applier for contentEdgeInsets. This is due to the fact that Motif uses reflection to intuit that there's a property named contentEdgeInsets that has a type of UIEdgeInsets. It also knows that there's a property on the .Button theme class that is named contentEdgeInsets and is of type NSString. With this knowledge, when the theme class is applied to a UIButton it searches for a value transformer that transforms from NSString → UIEdgeInsets. If there is one, it uses it without the consumer ever having to add an property applier.

@fcanas There are some cases where we can't get this for free though, specifically:

UIView.backgroundColor (while declared as a property, it's on a category, and is thus not queryable via the Objective-C runtime)
[UIControl setProperty:forState:] (for obvious reasons)
UIView.layer` properties (there are only a few, so it shouldn't be much work to add them yourself)

What about fonts on buttons, labels, text fields, etc?
I do find so many of the free ones working, which is super nice. But fonts seem like a case that's not KVC on the two typical characteristics that need to change (name, size).
Maybe it's worth specifying a Motif type for fonts, much like for the struct types of colors.
{
    "$font" : { "name" : "Helvetica-Neue", "size" : 16 }
}

@fcanas Check out the way that the Dynamic Theming Example does typography—it's not the same way as the example project. The only applier on UIButton is as follows:
[self
    mtf_registerThemeProperty:ControlsThemeProperties.text
    requiringValueOfClass:MTFThemeClass.class
    applierBlock:^(MTFThemeClass *themeClass, UIButton *button) {
        [themeClass applyToObject:button.titleLabel];
    }];

That way, the class for the UIButton is:
".Button": {
    "text": ".SubheadText",
    "contentEdgeInsets": "{10.0, 20.0, 10.0, 20.0}",
    "cornerRadius": 5.0
}

And the definition of .SubheadText is:
"$SubheadFontSize": 16,
"$RegularFontName": "AvenirNext-Regular",
".SubheadText": {
    "fontSize": "$SubheadFontSize",
    "fontName": "$RegularFontName",
    "color": "$HeadingTextColor"
}

I probably should update the REAME example to do things this way instead, since it seems cleaner :)

[ ] Update readme with text example

At the very least, the readme should use only methods that actually exist ;)

Haha, which one is out of date?

Oh, is it applier → applierBlock?

+mtf_registerThemeProperties:valueTransformersNamesOrRequiredClasses:applier:

Transformers → Transformer too, I think

I looked it over more carefully, and I think there's an opportunity for improvement of font handling. Either of these, or some combination

include the UIKit categories from the buttons example, and include any other UIKit classes with prominent need for fonts
create a font type along the lines of "{ name : Helvetica-Neue, size : 16 }" or "{ $PrimaryFont, 16 }" with a corresponding MTFFontFromStringTransformer

Now that I have appropriate categories in my project, there's no pressing need for this. But it definitely feels like a "batteries not included" situation when the first thing I try and style breaks because fonts are a little different.
I'd be happy to try whichever approach you feel is right.

I'm somewhat wary of a one-size-fits-all model with fonts. Some people will want to use system Helvetica with UIFontDescriptors in which case the only thing to describe their font will be UIFontTextStyleSubheadline, UIFontTextStyleBody, etc. Others will want to configure custom UIFonts with a name and a size. Others won't want to use UIFonts directly, but instead will want to use NSAttributedString with attributes dictionaries to adjust things like line heights, kernings, etc. Creating a model that supports all of these would have a number of tradeoffs, but allowing users to roll their own enable them to make the model that works best for them.


"Read-only & non-realtime mode activated to improve browser performance" makes every recyclerview slower

Step 1: Are you in the right place?
I believe so
Step 2: Describe your environment

Android device: All
Android OS version:All
FirebaseUI version: 3.1.0

Step 3: Describe the problem:
I only had few dozens of nodes in my "REAL TIME" firebase database, it is for a chat android app. I suddenly found a message says : Read-only & non-realtime mode activated to improve browser performance
Now the app is extremely slow in updating all my Firebase recycler view. I don't know what to do or should I trust in this unstable database.

Thanks @samsterm
I just knew the reason that was a function that was creating an infinite loop of database nodes so it made the updating slower.

@JagarYousef glad you solved it!


 I was going to open a issue to fix travis fails and you came up with the solution before!
Many thanks ... again :)
Take a rest and enjoy the sunday!


Add alias input and output objects

This PR adds alias object for inputs and outputs that allows the recipe author to assign pre/post processing for each input/output in different client side applications like Grasshopper, Rhino, etc.
After testing different ideas I ended up adding an alias input/output type for each input/output. This will allow the developers to create a new valid input/output for the target platform with no limitations. The handler will take care of converting the alias input to the original input.

wrong branch!


Timeouts from guessing for Users

Simply a Admin Command to put a player in an timeout. I thought of these commands:

!timeout <@user> daily <unix-timestamp-of-the-first-timeout> [<unix-timestamp-when-the-timeouts-stop>]
!timeout <@user> time 1h0m0s
!timeout <@user> time <start-unix-timestamp> <end-unix-timestamp>
!timeout <@user> guesses <amount>
!timeout <@user> infinite

For removing the timeout i thought of: !untimeout <@user>

Regarding this change, can we workshop this a bit? I am concerned that a timeout on its own might not be user friendly, and may serve as a punishment to users rather than achieving the goal of slowing them down. What do you think of doing something like:
!delay <@user> 15 - Rejects that user's guesses for 15 minutes after !explore is ran to allow other users to guess
!delay <@user> 0 - Returns user to normal delay of 0 minutes
This is just a thought, but the benefit of this would be that rather than timing out a user and preventing them from playing, it still lets them play while mandating a delay to allow other players the chance to guess first.


Junitfori206

created test cases for #206 except for dataplex template as there is a new enhancement request that is more priority than the test cases.

@jjaladi @jitendra390 bumping this up.

@jitendra390 closing it as not progress has been made in many months.


Create explicit compiler C API libraries and enable dynamic linking on all platforms

This is the first step of a multi-part sequence that will:

Rebuild the compiler/API directory into its final form.
Move the compiler python API to its correct location (bindings/python).
Enable dynamic linking project wide of all compiler tools.

This first step leaves the following undone:

Python API stays where it is (there are a lot of fiddly path dependencies there and I opted to handle that in isolation).
Sets everything up in an API2 which will eventually be renamed to API.
Just gets the stub of what is needed for a delay loaded embedding API -- the full thing will follow and be integrated into PJRT for Jax and TensorFlow serving on the OSS side.
The project local lld is still building static, even though the API includes it in the shared library. Was just trying to keep the patch size down vs there being a fundamental problem.

In the new state, there is a libIREECompiler.so.0 (or IREECompiler.dll on Windows) which contains both the in-process APIs and the tool entry-points. The following tools have been reworked to link against the shared library:

iree-compile
iree-lld (Python side only)
iree-opt
iree-mlir-lsp-server

In addition, some API tests which were doing expensive static linking now link dynamically. All said, this saves ~4-5x multi-gigabyte compiler tool linking steps and should be a pretty substantial build iteration improvement. I wasn't originally going to include iree-opt and iree-mlir-lsp-server in the shared build, but based on an experiment, they contribute negligible size (really just a few extra source files when linked together), and the productivity and usability savings (i.e. we can now distribute those at negligible cost) made me decide it was worth it.
I don't know what to do about iree-run-mlir. I think I can refactor it into something based on the compiler API that then links the runtime. But that is for later.
I took some steps to ensure this will work on Windows and MacOS but haven't finished verifying.

This looks great to me! May want to get one more signoff from someone who may be responsible for integrating this into google3 - though because this is largely forked in API2 I suspect things may not break there immediately and there's leeway for iteration.

I am reasonably confident that this improves the google3 integration side as more of the magic bits that were only done there and were done differently on the OSS/CMake side are now unified and guaranteed working at head. Bazel is still static linking tools, and it will continue to do so because it lacks any real facility for managing cross platform dynamic/runtime stuff (and the bug has been open for years without update) -- I have no plans to change Bazel to dynamic linking tools. That would be the big thing that would make it hard to support. I will be slowly extending it in follow-ons to support delay-loading a shared library plugin on that side, which will have some touch points internally but should be in the "new stuff" category enough that it isn't disruptive and can be fixed forward. I ran the basic idea by Geoffrey...

There is a postsubmit Windows test failure on my latest merged PR: https://github.com/iree-org/iree/actions/runs/3549048343 .
The log is unhelpful (AFAICS), just says
The following tests FAILED:
    648 - iree/compiler/API2/test/api-test-binary (Exit code 0xc0000135
)

Exit code 0xc0000135 is STATUS_DLL_NOT_FOUND
I wonder if the root cause might be this PR, but it's hard to tell, because the Windows postsubmit is skipped on this PR, and even when I hit "re-run all jobs" it skips it again:
https://github.com/iree-org/iree/actions/runs/3537484199

The full Windows build is currently postsubmit only:
https://github.com/iree-org/iree/blob/b35c97f3c23e1d85554f1dea50a0ef740c22c934/.github/workflows/ci.yml#L157
@ScottTodd do you think we could promote it to presubmit now?

As noted on discord, should be a simple fix and I'll fix it forward. Glad we have any CI for it, frankly :)

@ScottTodd do you think we could promote it to presubmit now?

Yep. I'd still like to see if we can improve the repository and submodule checkout speed though... 6-10 minutes just to get the code is pretty slow :(

@ScottTodd do you think we could promote it to presubmit now?

Yep. I'd still like to see if we can improve the repository and submodule checkout speed though... 6-10 minutes just to get the code is pretty slow :(

We can just tack it onto my 20 year old bug "Can you please, please replace NTFS with a modern file system"

Fixed Windows: https://github.com/iree-org/iree/pull/11298


Create typings test suite for restore

Hello! It seems like there is no test suite for restore typings. I've created one. Could you please review?
If you accept this, I'll start working on #239 . The second describe section in the file has corresponding failing tests. The thitd describe section has tests which are nessesary to make sure that future fix won't break basic restore behavior.

Great! Sure, you can start working on that issue 👍


How many instances of Mujoco can be run at one time?

By 'instance' I mean how many single model simulations can run simultaneously? Not with a window showing the simulations, but in a bare as possible C++ script only. I'm talking about simulations of the same XML file and same C++ each script each instance, though actions would be different. Would the route be to maybe have multiple mjModel* m and mjData* d for multiple simulations?
I ask because I am doing Markov / Bellman Equation style RL deep learning training on a MuJoCo simulation and I wonder if it is possible or desirable to train on a multiple instances of MuJoCo simulations.
Same XML and same C++ but each with their own obs, action, reward, and returning a next state.
Is this done? Is this advisable?

Yes, this is very much advisable.
MuJoCo is thread-safe and is meant to be used by multiple threads. See testspeed.cc for an example of multiple threads, each with its own mjData.

Thank you.
I see const int maxthread = 512;
Are these running on the GPU automatically?
Does MuJoCo automatically use the GPU if it's available?
Does MuJoCo automatically use multiple GPUs if more than one is available?

@yuvaltassa
When I run testspeed.cc my machine is only using one thread.
I'm printing nthread and it's just 1.
I see this line toward the middle of the main function but nothing like this prints when I compile.
  // print start
  if (nthread>1) {
    std::printf("\nRunning %d steps per thread at dt = %g ...\n\n", nstep, m->opt.timestep);
  } else {
    std::printf("\nRunning %d steps at dt = %g ...\n\n", nstep, m->opt.timestep);
  }

I run build and run the script with this line $ cmake --build . && ./mujoco_gym ../humanoid.xml and I in the terminal I get...
[ 50%] Building CXX object CMakeFiles/mujoco_gym.dir/speedtest.cpp.o
[100%] Linking CXX executable mujoco_gym
[100%] Built target mujoco_gym
Running 10000 steps at dt = 0.005 ...

 Simulation time      : 0.42 s
 Steps per second     : 24075
 Realtime factor      : 120.38 x
 Time per step        : 0.0415 ms

 Contacts per step    : 10.97
 Constraints per step : 48.64
 Degrees of freedom   : 27

I have a 3090 GPU. Does MuJoCo use the GPU automatically? I see in the testspeed.cc script it tries to use 512 threads. I'm not sure how to get MuJoCo to use more than one thread and how many to use.
Thank you.

I commented out the nthread being defined within the main function and put this at the top of the main function.
  int nthread = 42;
  omp_set_dynamic(0);                     // disable dynamic scheduling
  omp_set_num_threads(nthread);

It seems to be running 42 instances of MuJoCo simulations at the same time.
I still have a question about what is running on the GPU. Is it on the GPU and if it's not can I put it on the GPU?

testspeed is a command line utility. You're supposed to specify the number of threads in the command line. Type testspeed with no arguments to read the help documentation.

MuJoCo does not run on GPUs.


[Event Request] table 7326 "Whse. Worksheet Line" - OnValidateQtyToHandleOnAfterCalcQtyAvailToMove

We would like to add a new event OnValidateQtyToHandleOnAfterCalcQtyAvailToMove in the following trigger:
    field(21; "Qty. to Handle"; Decimal)
    {
        Caption = 'Qty. to Handle';
        DecimalPlaces = 0 : 5;
        MinValue = 0;

        trigger OnValidate()
        var
            WhseWkshTemplate: Record "Whse. Worksheet Template";
            Confirmed: Boolean;
            AvailableQty: Decimal;
        begin
            ...
                end else
                    if WhseWkshTemplate.Type = WhseWkshTemplate.Type::Movement then
                        if CurrFieldNo <> FieldNo("Qty. to Handle") then begin
                            AvailableQty := CheckAvailQtytoMove;
                            OnValidateQtyToHandleOnAfterCalcQtyAvailToMove(Rec, xRec, AvailableQty); //A200F0000.Event18.03
                            if AvailableQty < 0 then
                                "Qty. to Handle (Base)" := 0
                            else
                                if "Qty. to Handle (Base)" > AvailableQty then
                                    "Qty. to Handle (Base)" := AvailableQty;
                        end;

Event Signature:
[IntegrationEvent(false, false)]
local procedure OnValidateQtyToHandleOnAfterCalcQtyAvailToMove(var WhseWorksheetLine: Record "Whse. Worksheet Line"; xWhseWorksheetLine: Record "Whse. Worksheet Line"; var QtyAvailToMoveBase: Decimal)
begin
    //A200F0000.Event18.03
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Specify that Monix is now a Typelevel project

After https://github.com/typelevel/general/issues/61

Oh, thanks, forgot to update :-)