bower is confused because of tags "0.0.5" and "v0.0.5"

The problem is because there is two similar tags: "0.0.5" and "v0.0.5",
bower with dependency:
"angular-ui-tinymce": "latest"

will not install latest version - it will install old one from tag 0.0.5

Any update on this?  I'm having troubles with it myself because of this.

It shouldn't take much effort to fix, if we simply delete the old tag, or release v0.0.6 that should solve the problem.

I have fixed this issue today, the 0.0.5 tag has been deleted.


Collect info for 1.0 release notes

[kind/Documentation]

What did you find missing in the documentation?
We don't have RNs and KIs yet.
We have 2 options:

RNs and KIs are integrated in the collective OCP Release Notes, a small paragraph about odo and a list of issues: https://docs.openshift.com/container-platform/4.1/release_notes/ocp-4-1-release-notes.html
Detailed RNs and KIs are a separate module within our docs, example: https://docs.openshift.com/container-platform/4.1/service_mesh/servicemesh-release-notes.html

If we go route 1, I need your input regarding KIs: https://docs.google.com/document/d/1QSv75n-LCafWalxEHjxLefdxUuOfs9VOowTZDLHsXKE/edit?usp=sharing
If we go route 2, I need your input regarding KIs and features you want to be listed in the RNs.
Please let me know as soon as possible your thoughts on this. Tnx!
What is the relevance of it?
The docs need to be finalized. :)

@boczkowska I have added it to our today's cabal discussion.

The docs are created and integrated within OCP docs. Thanks everybody for the help. :)


SNOW-671000 Make sure all ProgrammingError is wrapped as SnowparkSQLException

Please answer these questions before submitting your pull requests. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes #SNOW-671000

Please describe how your code solves the related issue.
Add new decorator to Session class to wrap connector's ProgrammingError exception as SnowparkSQLException. Verify through codebase that ProgrammingError is not used in tests explicitly anymore.

Actually we don't need to implement a new decorator, we already have one here https://github.com/snowflakedb/snowpark-python/blob/0e87cdfe2730f23208055cfbe2151838d51c1ffe/src/snowflake/snowpark/_internal/analyzer/snowflake_plan.py#LL79C9-L79C9. And we call it here
https://github.com/snowflakedb/snowpark-python/blob/0e87cdfe2730f23208055cfbe2151838d51c1ffe/src/snowflake/snowpark/_internal/server_connection.py#L419
. We could just make sure methods in session.py (or other files) that executes a query directly will call get_result_set (currently we use self._run_query) or call a method also decorated with @SnowflakePlan.Decorator.wrap_exception (for example, we can remove the usage of run_query or decorate run_query with @SnowflakePlan.Decorator.wrap_exception). APIs creating a dataframe (such as session.create_dataframe) shouldn't need a decorator because itself doesn't execute a query.

Originally i wanted to use this decorator, yet it has dependencies on the plan/dataframe. But session has not always a dataframe/plan associated with it afaik. Therefore, I added this new decorator which only focuses on ProgrammingError. There's some options to refactor though: We could either subclass the two decorators, or move them somewhere else (e.g., exceptions.py).  Let me know what you think the best approach would be!

Actually we don't need to implement a new decorator, we already have one here https://github.com/snowflakedb/snowpark-python/blob/0e87cdfe2730f23208055cfbe2151838d51c1ffe/src/snowflake/snowpark/_internal/analyzer/snowflake_plan.py#LL79C9-L79C9. And we call it here
https://github.com/snowflakedb/snowpark-python/blob/0e87cdfe2730f23208055cfbe2151838d51c1ffe/src/snowflake/snowpark/_internal/server_connection.py#L419
. We could just make sure methods in session.py (or other files) that executes a query directly will call get_result_set (currently we use self._run_query) or call a method also decorated with @SnowflakePlan.Decorator.wrap_exception (for example, we can remove the usage of run_query or decorate run_query with @SnowflakePlan.Decorator.wrap_exception). APIs creating a dataframe (such as session.create_dataframe) shouldn't need a decorator because itself doesn't execute a query.

Originally i wanted to use this decorator, yet it has dependencies on the plan/dataframe. But session has not always a dataframe/plan associated with it afaik. Therefore, I added this new decorator which only focuses on ProgrammingError. There's some options to refactor though: We could either subclass the two decorators, or move them somewhere else (e.g., exceptions.py). Let me know what you think the best approach would be!

Yes, I feel the best approach will be merging exception decorator in server_connection.py and snowflake_plan.py, and move it to exception.py. This is an legacy issue that we should fix.

Actually we don't need to implement a new decorator, we already have one here https://github.com/snowflakedb/snowpark-python/blob/0e87cdfe2730f23208055cfbe2151838d51c1ffe/src/snowflake/snowpark/_internal/analyzer/snowflake_plan.py#LL79C9-L79C9. And we call it here
https://github.com/snowflakedb/snowpark-python/blob/0e87cdfe2730f23208055cfbe2151838d51c1ffe/src/snowflake/snowpark/_internal/server_connection.py#L419
. We could just make sure methods in session.py (or other files) that executes a query directly will call get_result_set (currently we use self._run_query) or call a method also decorated with @SnowflakePlan.Decorator.wrap_exception (for example, we can remove the usage of run_query or decorate run_query with @SnowflakePlan.Decorator.wrap_exception). APIs creating a dataframe (such as session.create_dataframe) shouldn't need a decorator because itself doesn't execute a query.

Originally i wanted to use this decorator, yet it has dependencies on the plan/dataframe. But session has not always a dataframe/plan associated with it afaik. Therefore, I added this new decorator which only focuses on ProgrammingError. There's some options to refactor though: We could either subclass the two decorators, or move them somewhere else (e.g., exceptions.py). Let me know what you think the best approach would be!

Yes, I feel the best approach will be merging exception decorator in server_connection.py and snowflake_plan.py, and move it to exception.py. This is an legacy issue that we should fix.

Refactored the decorator to utils.py because of the interactions between exceptions.py and error_messages.py. While looking through the source, server_connection seems to require its own dedicated decorator to wrap exceptions.

Codecov Report

Merging #632 (76de343) into main (cdfeb20) will increase coverage by 3.24%.
The diff coverage is 90.58%.

@@            Coverage Diff             @@
##             main     #632      +/-   ##
==========================================
+ Coverage   95.48%   98.72%   +3.24%
==========================================
  Files          49       49
  Lines        7888     7933      +45
  Branches     1327     1333       +6
==========================================
+ Hits         7532     7832     +300
+ Misses        245       42     -203
+ Partials      111       59      -52

Impacted Files
Coverage Δ

src/snowflake/snowpark/_internal/error_message.py
100.00% <ø> (ø)

src/snowflake/snowpark/_internal/utils.py
93.31% <85.45%> (-1.43%)
:arrow_down:

...lake/snowpark/_internal/analyzer/snowflake_plan.py
98.64% <100.00%> (+1.81%)
:arrow_up:

.../snowflake/snowpark/_internal/server_connection.py
97.87% <100.00%> (ø)

src/snowflake/snowpark/dataframe.py
99.72% <100.00%> (+4.89%)
:arrow_up:

src/snowflake/snowpark/exceptions.py
100.00% <100.00%> (ø)

src/snowflake/snowpark/session.py
97.95% <100.00%> (+0.43%)
:arrow_up:

...snowflake/snowpark/relational_grouped_dataframe.py
100.00% <0.00%> (+1.45%)
:arrow_up:

src/snowflake/snowpark/table.py
100.00% <0.00%> (+2.89%)
:arrow_up:

... and 4 more

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


Fix issue #1235 bucket is empty

Misleasding error message: bucket is empty

Hi, @ZHOUSH41, you can add new commits on the same branch without close and open a new PR.

Thx, I'll try it


Fix an issue in the promise queue

Includes a test that would fail without the fix.

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io


Trigger Rules not working as expected

Istio 1.2.2
Kubernetes 1.14.3
Docker for windows (windows 10)
I'm applying a policy to a service. I want jwt authentication to only apply to certain paths
The below works fine, any path starting with  /base/jclient/remoting gives me "Origin authentication failed" as expected
apiVersion: "authentication.istio.io/v1alpha1"
kind: "Policy"
metadata:
  name: jm-cc-service
spec:
  targets:
  - name: jm-cc-service
  peers:
  - mtls: {}
  origins:
  - jwt:
      issuer: "https://oneadvanced-jm.eu.auth0.com/"
      jwksUri: "https://oneadvanced-jm.eu.auth0.com/.well-known/jwks.json"
      trigger_rules:
      - included_paths:
        - prefix: /base/jclient/remoting
  principalBinding: USE_ORIGIN

However I want to exclude the path /base/jclient/remoting/validateInstall so I simply amend to...
  ...
  origins:
  - jwt:
      issuer: "https://oneadvanced-jm.eu.auth0.com/"
      jwksUri: "https://oneadvanced-jm.eu.auth0.com/.well-known/jwks.json"
      trigger_rules:
      - excluded_paths:
        - prefix: /base/jclient/remoting/validateInstall
      - included_paths:
        - prefix: /base/jclient/remoting/
  principalBinding: USE_ORIGIN

Now all paths are being authenticated e.g. /base/jclient also gives "Origin authentication failed". I have waited several minutes and more to ensure the policy has been applied. I want the same behaviour as given in the documentation at..
https://istio.io/docs/reference/config/istio.authentication.v1alpha1/#Jwt
"A JWT only for requests at path of prefix /status/ but except the path of /status/version. This means for any request path with prefix /status/ except /status/version will require a valid JWT to proceed."
issuer: https://example.com
jwks_uri: https://example.com/.well-known/jwks.json
trigger_rules:
- excluded_paths:
  - exact: /status/version
  included_paths:
  - prefix: /status/

I do not get this behaviour??

This works as expected, I can call /base/jclient/remoting/validateInstall
...
  origins:
  - jwt:
      issuer: "https://oneadvanced-jm.eu.auth0.com/"
      jwksUri: "https://oneadvanced-jm.eu.auth0.com/.well-known/jwks.json"
      trigger_rules:
      - excluded_paths:
        - exact: /base/jclient/remoting/validateInstall
      - included_paths:
        - exact: /base/jclient/remoting/
  principalBinding: USE_ORIGIN

...but is not what I want. If I now put to what I require...
...
  origins:
  - jwt:
      issuer: "https://oneadvanced-jm.eu.auth0.com/"
      jwksUri: "https://oneadvanced-jm.eu.auth0.com/.well-known/jwks.json"
      trigger_rules:
      - excluded_paths:
        - exact: /base/jclient/remoting/validateInstall
      - included_paths:
        - prefix: /base/jclient/remoting/
  principalBinding: USE_ORIGIN

...I can no longer call /base/jclient/remoting/validateInstall, I get a 401

More strange behavior the following 2 paths are treated differently
/base/jclient/remoting
/base/jclient/remoting/
If I use one of these paths as an included_path then the other path is accessible

The same strange behavior
jwt-boostrap.yaml
- jwt:
      issuer: "ccc"
      jwksUri: "ccc"
      jwt_headers:
      - "key"
      trigger_rules:
      - excluded_paths:
        - exact: /api/base_register
        - exact: /actuator/health
        - exact: /api/search_case
        - exact: /api/passive_register
  principalBinding: USE_ORIGIN

the /api/base_register is work but other not work(always get 401)
@paulfrench Have you solved the problem?

In my case I had to use a workaround which isn't great. I use an all in one regex which you maybe able to do...
      trigger_rules:
      - included_paths:
        - regex: <some horrible long regex>

@paulfrench
Very helpful!
what's your version about istio?
I'm very confused that I delete the policy but istio is stilling check the jwt. How can I check which policy trigger the 401(Maybe some policy is residuary or maybe it is cache).

I'm new to Istio as well, I'm currently using 1.2.2
I've had no issue deleting policies and have done minimal debugging so my knowledge isn't sufficient to help you at the moment. Apologies!

Same in


chore(*): Sync main-v4 with main

Description
Until we begin to start the Clerk@v5 Release Process the main-v4 branch should be in sync with main. Sync we enforced the same rules in main-v4 as main we cannot force push the changes, so this PR will rebase main into main-v4 when we proceed with Clerk@v5.
Checklist

[ ] npm test runs as expected.
[ ] npm run build runs as expected.
[ ] (If applicable) JSDoc comments have been added or updated for any package exports
[ ] (If applicable) Documentation has been updated

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[x] build/tooling/chore

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Adding workspace profiles to the member's manifest at cargo package

Problem
[profile.*] can be added only to the root Cargo.toml in workspace.
But cargo package at the each member doesn't add the profiles into the Cargo.toml in crate package.
As a result,

cargo build --release or cargo install --path .. at the local environment uses the profiles
cargo install .. through crates.io doesn't use the profiles

For example, https://crates.io/crates/veryl requires the following profile to avoid https://github.com/rust-lang/rust/issues/129776.
In this case, cargo install .. through crates.io will take too long time because the profile is not affected.
[profile.release]
codegen-units = 1

Proposed Solution
I think adding workspace profiles to the member's manifest at cargo package is reasonable.
This change will reduce the behaviour difference between cargo build --release and cargo install.
Notes
No response

The underlying need seems to be the same as #8264 and one of the proposed solutions is copying the profiles.  I'm going to close in favor of that.  If there is a reason for us to re-open this, let us know!


Add simplified Chinese translation

This is my first time using GitHub, and I don't have much localization experience. If you have any questions, please contact me.

My SteamID is SSSherlockkk.No Discord Account yet(GFW you know).

Translate from EN.


optimize hyper-parameter graph

@lvybriage @squirrelsc - please update with more details

When search space's type is choice, we'll render dotted axis. And Make sure that each choice value can be rendered.


oilspill example in CDSE

In this notebook, we want to showcase a basic methodology for mapping oil spills using openEO.
The methodology adopted in the notebook was shown here.
Additionally, the following references were equally helpful when preparing this usecase:
https://forum.step.esa.int/t/steps-for-oil-spill-detection/7428/6
https://ieeexplore.ieee.org/document/1370264

from openeo.processes import log

I would not do an from-import like that. "log" is an too-overloaded word to be a globally imported like that. I would just do import openeo.processes and use openeo.processes.log(x) where you need it

filter_window = (np.ones([601, 601])).tolist()

the tolist() is not necessary I think, the python client does this automatically

calculate factor
factor = 1 / 361201

I would calculate the factor directly from the filter_window numpy array (e.g. 1/filter_window.sum()) instead of hardcoding  361201

Let us plot the result

I'm confused by the image. As far as I understand the notebook, oil_spill is a binary image because if the thresholding, but the image looks like grayscale

nice! You could also add raster_to_vector to try and get vector outline of the spill, if it produces something decent of course.

@soxofaan , Thank you for all the suggestions, changes have been made and indeed, yes, it was supposed to be a binary image.
@jdries I tried to add the raster_to_vector process too; however, it fails with a different error when trying to execute the process with either CSV or nc format, and JSON doesn't give much interpretative result(or I wasn't able to understand it well).
I am not sure I need to include additional processes to get the vector data.

resolved merge conflict

@soxofaan, as discussed earlier, I will have to share fixed links for a couple of use cases, so I will merge them at this point after first reviewing the version and then changing them when needed. However,  it seems like I would need at least one approval to merge 😅

Sure @jdries thank you.
Also, if possible, can you allow for #20 for the initial merge?


missing param in example input manifest

ERR Skipping over file /input-manifests/manifest.yaml due to processing error : failed to validate nodepools section inside manifest: failed to validate DynamicNodePool "compute-hetzner-autoscaled": Key: 'DynamicNodePool.Count' Error:Field validation for 'Count' failed on the 'required_without' tag module=frontend

Hi @katapultcloud, thanks for the PR! The error is correct, although kind of misleading. The real issue is in here, it should say autoscaler, instead of autoscalerConf. I probably left it there while working on the autoscaler feature, apologies for the confusion.

The API docs should be updated too
https://github.com/berops/claudie/blob/master/docs/input-manifest/input-manifest.md#dynamic

@MiroslavRepka @MarioUhrik updated.


Read The Docs version switcher is not reachable using only keyboard (tab key)

### Tasks
- [ ] File issue with Read the Docs

Path forward: open issue on Read The Docs

@humitos 👋  can you remind me where we should log RTD-related accessibility issues

👋🏼 , it depends 😅

Sphinx theme: https://github.com/readthedocs/sphinx_rtd_theme/
Addons: https://github.com/readthedocs/addons
Dashboard: https://github.com/readthedocs/ext-theme

Since this issue talks about the version selector, it should probably go on the addons or Sphinx theme, depending if you the issue is about the version selector that's floating bottom right (addons) or integrated into the navigation bar at bottom left (sphinx theme).
I hope this directions help 😄

Thanks for the quick response @humitos seems the right place would be the add ons, same as #87
cc/ @gabalafou

Blocked until we check what is needed to update for the new RTD assets (will no longer be injected in the built docs)


[bug <IP_ADDRESS> (MC 1.12.2)] crafting a gold plated turbine leaves iron turbine rotor

so if I craft all the way from start to finish an iron plated turbine, the last recipe for the actual turbine block, leaves an iron turbine rotor in the crafting grid like if it were a residue.

You mean gold plated?
I guess i had a brain fart when i wrote that section... the gold-plated turbine is set to have an iron-plated turbine as it's "container", so that it's left in the crafting grid when doing the un-crafting recipe... But it also affects the other recipes with it and causes that issue.
I'm going to change the un-crafting recipe so that you get the iron rotor back and lose the gold ingot for now to fix the bug... at least until i can find a more elegant solution.

yeah that was the one, thanks

to be honest, you could just make it a requirement for crafting the gold turbine, and I never knew you could un-craft the turbine O_o

I find it fine having to use the upgrade item to upgrade turbines, but I really think you should not return anything when doing so, having stuff back is the real problem, having a bunch of useless items in the end. Just make it so that upgrades are linear, for example, iron -> gold -> something else..... if you make it like branched it really gets weird.


Different ways to access or download the snapshots.

Hi, are those snapshots stored into a storage account? is there another way to access or download the snapshot?

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

ID: 8b16915a-cad2-3ac2-1949-488223a0195c
Version Independent ID: 7d423a49-cc48-1f2e-99c5-443d1d5b7b46
Content: Restore an app in Azure
Content Source: articles/app-service/app-service-web-restore-snapshots.md
Service: app-service
GitHub Login: @ahmedelnably
Microsoft Alias: aelnably;nicking

@OMARJG Thanks for the feedback! We are currently investigating and will update you shortly.

We are looking into other ways to download/access your snapshots. I don't have an ETA to share for now. It is in our backlog.

@OMARJG We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Add a link to the final version of the project (codesanbox) in "The Project" section of te Homepage

Something like...
A preview of the finished site and the final version of the code can be seen in this CodeSandbox.

Pointing to https://codesandbox.io/s/github/frontity-demos/tutorial-hello-frontity

Done: https://github.com/frontity/step-by-step-tutorial/commit/00e87de64d0f9a5b92155bae70b308073092e9c3#diff-a717e588bfc10f09b8b71fae18462c3d6a851d32a13ef21808082cc7f43b35d7R46-R48


Question about configuration

First of all, thank you very much for your great work.
I would like to reproduce the values for Sintel (Train) and Kitti (Train) from your paper (Table 4). Could you tell me what configuration you used (number of iters, warm/cold start etc.) to get these values ?

First of all, thank you very much for your great work. I would like to reproduce the values for Sintel (Train) and Kitti (Train) from your paper (Table 4). Could you tell me what configuration you used (number of iters, warm/cold start etc.) to get these values ?
Thank you for your interest in our work.
In Table 4, we consistently used 12 iterations throughout the experiments. Specifically, RAFT's warm-up strategy was employed during the evaluation on the Sintel dataset, while random initialization was performed at the start of each evaluation on the Kitti dataset

First of all, thank you very much for your great work. I would like to reproduce the values for Sintel (Train) and Kitti (Train) from your paper (Table 4). Could you tell me what configuration you used (number of iters, warm/cold start etc.) to get these values ?

Thank you for your interest in our work.
In Table 4, we consistently used 12 iterations throughout the experiments. Specifically, RAFT's warm-up strategy was employed during the evaluation on the Sintel dataset, while random initialization was performed at the start of each evaluation on the Kitti dataset

First of all, thank you very much for your great work. I would like to reproduce the values for Sintel (Train) and Kitti (Train) from your paper (Table 4). Could you tell me what configuration you used (number of iters, warm/cold start etc.) to get these values ?

In Table 4, as outlined in the paper, we consistently employ random initialization during training. For fine-tuning on the Sintel dataset, we combine data from Sintel and FlyingThings3D and train with a size of 768 × 384 for 100k iterations. Additionally, we conduct fine-tuning using a combination of data from FlyingThings, Sintel, KITTI-15, and HD1K for 100k iterations with a training size of 832 × 320. The number of GRU iterations during training is 6.

Thank you for the response to my question. This will help me to reproduce the results.


Snippets for Fedora CoreOS

Feature Request
Feature
Is there any interest in bringing back the snippets feature for Fedora CoreOS? As far as I could determine the original implementation was dropped because of changes in the transpiler API.
I find the snippets feature invaluable because it keeps the changes to my fork of typhoon to a minimum which helps with upstream merges. Also, bare-metal environments tend to be less homogeneous than cloud environments and things like static IP addresses are more common, too.
I have a proof-of-concept implementation for bare-metal that uses the Ignition feature ignition.config.merge (was ignition.config.append in previous versions of Ignition) to merge the snippets into the main Ignition configuration. The snippets are first transpiled to JSON individually and then added in-line as BASE64 encoded data URLs. This seems to work so far but needs further testing.
If there  is interest I'd prepare a pull-request for bare-metal. I still would need to figure out how to test these changes as my test bed setup might not be compatible with upstream.

Snippets were developed to create a mechanism for additively merging Container Linux Configs through terraform-provider-ct and initial Fedora CoreOS support was added.
Fedora CoreOS snippets will be added there too, but likely after the current major items (v1.18, hyperkube, and initial Fedora CoreOS availability on platfroms). The feature is used across platforms (beyond just bare-metal). Typhoon docs kept a placeholder for Fedora CoreOS snippets to indicate they're on the roadmap.

Note: snippets will be ignored with Fedora CoreOS and listing them as UNSUPPORTED in the documentation didn't lead me to believe that this feature is still on the roadmap so I searched for an alternative. But it is good to know. Thank you for clearing this up. If anyone needs a stop-gap measure for the time being please contact me directly I'll then point you to the code, I still need to publish it.


Zoom to selection programatically

If you use shift + 2 you can zoom to a selected element, but i would like to do through a code clicking in a div. Anyone can help me?
Thx in advanced.

We actually shipped an API for this recently: https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/props/ref#scrolltocontent
excalidrawAPI.scrollToContent(element, { fitToContent: true })


Lite version of the Application to allow for tree-shaking (WIP)

This is exploratory WIP.
We used to have an Application class which initialised everything and imported lots of modules.
Now the code of this has been moved to the ApplicationLite class, and imports / component system registrations removed. The Application class extends ApplicationLite, and additionally it imports and registers all those component systems.
The goal here is to have an ApplicationLite class, which can be instantiated without systems. Then the systems can be imported / registered manually by the user code, allowing unused component systems to be stripped out by their build system.

How would you feel about ApplicationBase?

How would you feel about ApplicationBase?

I don't mind any name really. I've also considered ApplicationCore.

I've tested this against the Viewer repo. This by default includes playcanvas minified build, and uses Application.
I've removed the minified build, and imported only required engine modules for testing. The generated build js file is 5MB (non-minified, non-zipped).
When I changed this to include ApplicationLite, and only created few required components, the size dropped to 4MB. This is a pretty good start with more things we can remove.

This is pretty cool actually. Nice. As for naming:
ApplicationLite -> App
Application -> keep but deprecate and hide?
Then port all examples to App. And then port Editor to App.

The only problem I see at the moment is scripts, and I don't have a solution for that.
Viewer uses camera-orbit script, and it works as long as all symbols is uses from the engine are already imported into the viewer app. To get them few additional ones to import, I added this the viewer.tsx:
import { EVENT_TOUCHSTART, EVENT_TOUCHEND, EVENT_TOUCHCANCEL,
    EVENT_TOUCHMOVE, MOUSEBUTTON_LEFT, MOUSEBUTTON_MIDDLE, MOUSEBUTTON_RIGHT
} from '../../playcanvas/engine/src/input/constants.js';
import { createScript } from '../../playcanvas/engine/src/script/script.js';

and then had to use them so the imports are not ignored:
console.log(
            createScript,
            EVENT_TOUCHSTART, EVENT_TOUCHEND, EVENT_TOUCHCANCEL, EVENT_TOUCHMOVE,
            MOUSEBUTTON_LEFT, MOUSEBUTTON_MIDDLE, MOUSEBUTTON_RIGHT
        );

So I think we need to find some better solution. Like convert scripts to actual modules or something. Any ideas?

Yeah, that's a pretty huge problem (at least, that's how it feels on the surface). It would be cool if scripts were modules, sure. I wonder what @Maksims thinks about this subject... 🤔

Maybe we could add a support for 'ModuleScript'. It would be more or less normal script, but with imports on top, and export and wrapped in a class. Engine users could simply use this - they would import it as a module and build their app. The class would extend some base class we have that registers it and adds attributes and all that as currently.
In Editor, when we parse the script, we would generate the current script format from it as well, and Editor would use that in launcher / even in published builds. Eventually, the user could opt into a custom engine build, and using the module versions of scripts to get three-shaking benefits - this would be only allowed for project with all script in module format.

Note: The Application class has changed a lot on dev, and this branch will need work / be recreated.

due to large conflits due to recent refactoring, closing this in favour of https://github.com/playcanvas/engine/pull/4082


Added sheets for use with Solar Echoes sytem

You need to make a sheet.json file for it so it will be a complete character sheet, and a preview image could also be nice.
The Readme explains it well: https://github.com/Roll20/roll20-character-sheets#contributing

@stonedemon8 Please note the advisement from above by Anduh.  You'll need a sheet.json and a preview image for your sheet before it can be merged.
Thanks!
Jeff


Distinguish between sources of open access urls

As we roll out reminder emails about the PSU open access policy, we'd like to be able to have some gauge of how effective they are. Specifically, we'd like to know how many publications in RMD have become (or been discovered as) open access as a result of faculty users either providing an existing open access URL or depositing an open access copy of their work into Scholarsphere as opposed to RMD automatically discovering open access work via Open Access Button.
Currently, when a faculty user submits an open access URL for a publication, that value gets stored in a different field than that in which a URL acquired from Open Access Button would be stored, so that helps us to distinguish between some open access URLs that we've obtained automatically and some which we've obtained from faculty. The problem that we have now is that whenever an RMD admin adds an open access URL for a publication that a faculty member has just deposited into Scholarsphere, that Scholarsphere URL gets stored in the same field that is used for URLs that we obtain automatically from Open Access Button. This makes it difficult to determine where exactly some of the open access URLs for publications in RMD came from.
The most obvious solution to this problem would be to store the Scholarsphere URLs that are entered by RMD admins in the same field where faculty-submitted open access URLs are stored instead of in the field where URLs from Open Access Button are stored. This would separate all of the URLs that we got automatically from all of the URLs that were provided by humans.
This obvious approach might not be the best, though, especially considering that we want to allow faculty users to be able to edit open access URLs that they have submitted themselves (https://github.com/psu-stewardship/researcher-metadata/issues/124). There are other considerations with regard to this editing ability that could affect how we solve this problem. In particular, if a publication has multiple authors, do we want to allow each author to submit their own open access URL for the publication that they can edit later? Or do we only want to store one URL for the publication and let any of the authors edit that same URL?

My initial reaction is, let's wait for it to be a problem before programming the complexity around something that may not be a problem. I think if a faculty member edits a url and we indicate "this will update the URL for the publication for all your co-authors as well" then they should know and be responsible. Thoughts?

My initial reaction is, let's wait for it to be a problem before programming the complexity around something that may not be a problem. I think if a faculty member edits a url and we indicate "this will update the URL for the publication for all your co-authors as well" then they should know and be responsible. Thoughts?

That sounds fine to me, @DanCoughlin
Given that answer, I think the solution to this issue is going to be to add another field to publications just for storing Scholarsphere open access URLs (that are entered manually by RMD admins now and hopefully automatically by Scholarsphere itself someday). We wouldn't want to store those Scholarsphere URLs in the same field that faculty users can edit, and we also don't want to store it in the same field where the URLs from Open Access Button go (for the reasons explained above).
I don't think that'll be a huge deal at all. Adding the field and updating the Admin interface will be easy. Then tweaking the logic for the "preferred" open access URL should likewise be easy. I'd imagine that if we had a Scholarsphere URL, then that would be "preferred", and we'd want to provide it above all else, then a URL from OA button would come next, and finally a URL provided directly by an author. There may be a little bit of other logic to change in the open access workflow for faculty, but none of it is going to be tricky.
Just a note to self:
We'll also have to change how we're querying for open access publications in RMD (i.e. to generate the open access stats).

That sounds fine to me, @DanCoughlin
Given that answer, I think the solution to this issue is going to be to add another field to publications just for storing Scholarsphere open access URLs (that are entered manually by RMD admins now and hopefully automatically by Scholarsphere itself someday). We wouldn't want to store those Scholarsphere URLs in the same field that faculty users can edit, and we also don't want to store it in the same field where the URLs from Open Access Button go (for the reasons explained above).
I don't think that'll be a huge deal at all. Adding the field and updating the Admin interface will be easy. Then tweaking the logic for the "preferred" open access URL should likewise be easy. I'd imagine that if we had a Scholarsphere URL, then that would be "preferred", and we'd want to provide it above all else, then a URL from OA button would come next, and finally a URL provided directly by an author. There may be a little bit of other logic to change in the open access workflow for faculty, but none of it is going to be tricky.
Just a note to self:
We'll also have to change how we're querying for open access publications in RMD (i.e. to generate the open access stats).

This has been completed.


Bug: Volume doesn't go past 70%, keeps getting reset back to 70, unless its put to 100 then back down.

Just updated to Monterey OS, when this issue started.
Anytime I try to put up the volume past about 70% the volume automatically comes back down to 70. The only way to break this is by manually dragging the volume bar to 100 then going back down to whatever desired volume. But once I go back down past 70 the problem repeats itself.

Same problem here.

I'm experiencing this as well, but unlike @orbitbot, setting the volume with the UI knob does not get me around the issue. No matter what I do, I can't seem to get my volume past 28%, which is mildly infuriating.

Same here, I have to disable eqmac > set the volume > enable it back

Should be fixed by 9d0cfd25a429f7087e7dbb6e516b54f15ccf50c4
Will be releasing a minor update v1.3.2 with just this fix shortly.
Sorry for the inconvenience everyone, Apple has changed something about their SDK's in Monterey which caused Volume Change events fired 10 times instead of 1 specifically for Bluetooth devices 😕

Hey again, could you please download the pre-release eqMac.pkg v1.3.2 from here: https://github.com/bitgapp/eqMac/releases/tag/v1.3.2
Alternatively you can enable Beta Program in eqMac settings and press "Check for Updates".
And let me know if that fixed the issue for you.
Thank you!

Hey again, could you please download the pre-release eqMac.pkg v1.3.2 from here: https://github.com/bitgapp/eqMac/releases/tag/v1.3.2 Alternatively you can enable Beta Program in eqMac settings and press "Check for Updates". And let me know if that fixed the issue for you. Thank you!

Awesome, the issue was fixed in v1.3.2

Hey again, could you please download the pre-release eqMac.pkg v1.3.2 from here: https://github.com/bitgapp/eqMac/releases/tag/v1.3.2 Alternatively you can enable Beta Program in eqMac settings and press "Check for Updates". And let me know if that fixed the issue for you. Thank you!

It fixed it for me for 80% of the time (M1 Air Monterey), sometime still non-responsive jittery volume control, but it's better now definitely 🥸

Ok I guess it's mostly fixed, still plenty of work to do with volume handling though, somehow it's the most complex part of the app due to having to override a lot of OS events which macOS doesn't like. Build v1.3.2 is now public and I will be closing this issue, thank you everyone for contributing your time to this!


vuex4 mapState and mapAction can not infer correct type

I have two questions about vuex and volar. I am not sure it's my problem or vscode problem  or vuex problem。
First，I have a array in store and i use mapState in component,but vscode with volar can not infer the type,

when i use mapState syntax like this vuex mapState,vscode tell me has a overload error.and vue-cli can not work.
Secondly, mapAction has same question

so, if i want to vscode or volar can infer the vuex type with simplest synax， how can i do？
Environment：
vscode:1.59.0
volar: 0.26.11
vue:3.0.4
vuex: 4.0.0
typescript:4.1.5
Vue TS Plugin: √

Please use Pinia instead of Vuex if you need type-check support.

so, if i want to vscode or volar can infer the vuex type with simplest synax， how can i do？

change ...mapState({ ... }) to
(...mapState({ ... })) as any as {
  favoriteList(): Arr_Item_Type_You_Wanted[],
  ...
}


diskus slower than du

Maybe I were doing it wrong.
The computed directory is my clippy build.
% /usr/bin/du -sch
4.5G    .
4.5G    total
% diskus
4.73 GB (4,727,521,280 bytes)
% hyperfine diskus '/usr/bin/du -sch'
Benchmark #1: diskus
  Time (mean ± σ):     115.8 ms ±  28.6 ms    [User: 2.601 s, System: 0.592 s]
  Range (min … max):    69.1 ms … 156.9 ms    19 runs

Benchmark #2: /usr/bin/du -sch
  Time (mean ± σ):      22.8 ms ±   2.8 ms    [User: 5.5 ms, System: 17.4 ms]
  Range (min … max):    14.2 ms …  26.9 ms    163 runs

Summary
  '/usr/bin/du -sch' ran
    5.07 ± 1.40 times faster than 'diskus'

Meta

diskus: b2e4cf9 but with cargo update

Interesting, thank you for reporting this.
First off, please always use the --warmup option of hyperfine (or perform a cold-cache benchmark), see https://github.com/sharkdp/diskus#warm-disk-cache
But even with that out of the way, diskus seems to be much slower here. I am assuming you did a normal release build (with optimizations) via cargo install --path .?
What kind of disk is your folder on? Or is it mounted via network/etc.?
It could be related to the optimal number of threads. Could you please run this parametrized benchmark?
hyperfine -w5 -P threads 1 16 "diskus -j {threads}" --export-markdown /tmp/results.md

and post the content of /tmp/results.md here?
By the way: if you want to see both tools report the exact same size, use du -sc -B1 and diskus or, alternative, use du -scb and diskus -b.

The following results is run on a different computer
% /usr/bin/du -sh
4.3G    .
% diskus
4.52 GB (4,518,088,704 bytes)

use the --warmup option of hyperfine

I got a kind of similar result:
% hyperfine --warmup 5 'diskus' 'du -sh'
Benchmark #1: diskus
  Time (mean ± σ):     102.5 ms ±  27.5 ms    [User: 1.899 s, System: 0.551 s]
  Range (min … max):    57.2 ms … 156.5 ms    21 runs

Benchmark #2: du -sh
  Time (mean ± σ):      33.0 ms ±   2.9 ms    [User: 12.1 ms, System: 20.9 ms]
  Range (min … max):    25.3 ms …  36.9 ms    97 runs

Summary
  'du -sh' ran
    3.11 ± 0.88 times faster than 'diskus'

you did a normal release build

Yes, I did cargo build --release.

What kind of disk is your folder on? Or is it mounted via network/etc.?

Honestly, I don't know either. It is a shared server. I could provide more info
if you give instructions.
% df /home
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/lvm-home  2.7T  430G  2.2T  17% /home
% lsblk
NAME         MOUNTPOINT LABEL  SIZE UUID
sda                            2.7T
├─sda1                           1M
├─sda2       /boot             488M d3ad2fe7-0903-4329-a944-bd694a619fea
└─sda3                         2.7T 5SIphy-NV0U-3NIU-VG4i-dVPD-AzaF-q61CjS
  ├─lvm-swap [SWAP]            1.9G b9df322f-b43c-4bd1-b214-d70f52abbd66
  ├─lvm-root /                19.5G 7a8bb72e-96e8-4280-945e-25d9a0931443
  └─lvm-home /home             2.7T 314bd59b-e6e9-4ad5-a2db-ab581190c891

run this parametrized benchmark

Yes, here is the result:

Command
Mean [ms]
Min [ms]
Max [ms]
Relative

diskus -j 1
36.9 ± 0.8
35.6
39.5
4.71 ± 0.47

diskus -j 2
19.3 ± 1.2
17.9
23.2
2.46 ± 0.28

diskus -j 3
13.9 ± 1.4
12.5
20.4
1.78 ± 0.25

diskus -j 4
11.3 ± 1.1
9.8
15.9
1.45 ± 0.20

diskus -j 5
9.9 ± 1.0
8.3
13.9
1.26 ± 0.18

diskus -j 6
8.9 ± 0.9
7.3
12.6
1.14 ± 0.16

diskus -j 7
8.4 ± 0.9
6.8
11.2
1.08 ± 0.16

diskus -j 8
8.1 ± 0.9
6.3
10.8
1.04 ± 0.15

diskus -j 9
7.9 ± 0.8
6.4
10.6
1.01 ± 0.14

diskus -j 10
7.9 ± 0.7
6.4
10.3
1.01 ± 0.14

diskus -j 11
7.9 ± 0.7
6.3
10.2
1.00 ± 0.13

diskus -j 12
7.8 ± 0.8
6.4
10.9
1.00

diskus -j 13
7.9 ± 0.6
6.5
9.9
1.01 ± 0.13

diskus -j 14
8.2 ± 1.3
6.5
14.5
1.05 ± 0.19

diskus -j 15
8.1 ± 0.8
6.5
14.4
1.03 ± 0.14

diskus -j 16
8.7 ± 0.9
7.1
14.8
1.11 ± 0.16

Oh :smile: That seems to be the cause of this. By default, diskus uses 3 * nproc threads to walk the filesystem (96 in your case). It seems like this heuristic doesn't hold for a large number of cores.
We should probably cap it at some value (32?). If you have the time, it would  be great if you could run the full benchmark up to 96 threads and post the JSON results here:
hyperfine -w5 -P threads 1 96 "diskus -j {threads}" --export-json /tmp/results.json

I would assume that the time increases at some point.
(a cold cache benchmark for comparison would also be great, but I don't want to bother you).

a cold cache benchmark

Sorry, I couldn't make it because it is a shared server. I don't have sudo privilege.

run the full benchmark up to 96 threads

I'm running it. Will update the result later.

Ok, so the warm-cache runtime looks like this:

Choosing 96 threads by default is obviously not optimal here.

This looks to me like the cores stalling, because they cant get memory access. Is this OS restricted ??
Memory restrictions usually look like an exponential curve to a limit, but this seems to be linear from the minimum to the limit.

Is this OS restricted ??

That might be one reason. But I would rather guess that we are simply limited by the sequential nature of the disk (and cache) itself. There is a certain benefit in bombarding the IO scheduler with lots of requests (that is why we use multiple threads in the first place), but at some point the synchronization/context-switching overhead is probably just too high.
There is no really solid basis for the 3 * nproc heuristic that diskus uses. It's just something that seemed to work fine for all the machines I tested on. Things are complicated by the fact that the optimal number of threads is different for warm-cache and cold-cache runs. The 3 * nproc value was a tradeoff between the two:

(results from a 10GB folder on my 8-core laptop, warm-cache and cold-cache results normalized independently)

Is this OS restricted ??

That might be one reason. But I would rather guess that we are simply limited by the sequential nature of the disk (and cache) itself. There is a certain benefit in bombarding the IO scheduler with lots of requests (that is why we use multiple threads in the first place), but at some point the synchronization/context-switching overhead is probably just too high.

There is sysinfo with disktype.
At least you could adapt to HDD and SSD speeds, but I am not sure if it is worth it.
Sadly they provide no method to obtain read/write speed for the disk and caches, because around 5% speedup from using the exact block size should be expected.
To my knowledge there exists no simple CPU-model to estimate context-switches and synchronization(on cache invalidations) etc, which is a shame, but expected regarding Spectre and similar. If you know otherwise, please tell me.

There is no really solid basis for the 3 * nproc heuristic that diskus uses. It's just something that seemed to work fine for all the machines I tested on. Things are complicated by the fact that the optimal number of threads is different for warm-cache and cold-cache runs. The 3 * nproc value was a tradeoff between the two:

Thanks.

Is this OS restricted ??

I don't think so, but here is the result:
% cat /proc/$$/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             4096                 579361               processes
Max open files            1024                 4096                 files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       579361               579361               signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us


Code & checkpoint release?

hi, this is a good work! May I wondering about the code & checkpoint release? I wish to try it on my own video.

Sorry for the late reply.
I've released the code and pretrained models. Please check README for how to use them.


x/website: Bitly case study page returning 403 for images

What is the URL of the page with the issue?
https://bitly.com/blog/why-we-write-everything-in-go/?utm_source=go-dev&utm_medium=referral&utm_campaign=go-dev&utm_content=case-study
This is a page that you are linking to from the case studies page.
What is your user agent?

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Safari/605.1.15
Screenshot

What did you do?

The images return a 403 error. I tested this on Firefox too.
I couldn't find a link on Bitly website to report an error.
They should either be contacted or this page gets removed from the case studies.
What did you expect to see?
Graphs/images
What did you see instead?
403 error

cc @modi98 who authored https://github.com/golang/website/commit/7b9aa998daa093e32ba52549924a0927f5879d3f

it depends if we're updating the case study link, we could reference this issue in the Change Request, cc: @jamalc

This seems to be resolved now:


Upgrade Facebook Login SDK Version

Please upgrade facebook login sdk version.
Now: com.facebook.android:facebook-login:4.29.0
Latest: com.facebook.android:facebook-login:4.32.0

Merged the latest one in #22. Thanks!


Contributor Developer guide

Must include:

How to contribute to the projects
How to compile the projects
How to validate sourcecode format, and how to fix it.
How to test the projects: E2E and unit
How to write testing:

Differences between unit and E2E

@Jaanki want to work on this one with me? I think your recent (outstanding!) demo experience would be relevant/helpful. This seems like quite a few fairly-different tasks to me, maybe we can split it up into chunks between the of us (or more). I'm doing a lot of other work with the deployment and e2e testing logic, so I can definitely drive those areas.

@dfarrell07 Sure...I can take 1st 3 points.


Getjob NOHANG, WITHARGUMENTS

Rudimentary PR that tries to implement things according to the feedback in #14.
Documentation still needs some work, but decided to push my work to get some preliminary feedback.
On a side note: this was surprisingly hard to write due to the repetitive interfaces - was some form of code gen used for them?

Thx @macobo that looks pretty decent. It's great to discuss the API and so on with someone else and getting contributions :-)
I did not use a code generator (yet) for the interfaces, they are still manually written. For lettuce 4.0 I used a custom generator because it has a high number of methods and interfaces. That's probably a task for the future. Great that you found all the interfaces.
There is one issue I see, the GetJobArgs carries the count, which is OK in general. The point is, that it's used for the single getjob method and multiple jobs use a different data structure which can run into protocol errors. To solve that situation we could either have a GetJobArgs and GetJobsArgs but to be honest: Effort is not worth the benefit.
What do you think about renaming GetJobArgs to GetJobsArgs and use it only on the getjobs method?

There is one issue I see, the GetJobArgs carries the count, which is OK in general. The point is that it's used for the single getjob method and multiple jobs use a different data structure that can run into protocol errors. To solve that situation we could either have a GetJobArgs and GetJobsArgs but to be honest: Effort is not worth the benefit.
What do you think about renaming GetJobArgs to GetJobsArgs and use it only on the getjobs method?

I think we should have the singular getjob take these args - e.g. when I take a single job I might want to specify WITHCOUNTERS or NOHANG.
I tried to account for this when writing the PR by setting counter to 1 by force in the getjob command builder. This isn't the cleanest way but I think its less bad as throwing an error or duplicating the class.
Does that solution wfy or should we try to approach this by a different way?

Ok, then proceed with the single job command with GetJobArgs.
Considering the "clean" aspect, I tend to move count back to the method args level. This way we keep getjob clean and as far as I can see the count arg affects only one getjobs method on the three interfaces (The method signature would be then getjobs(long count, GetJobArgs getJobArgs, K... queues) or getjobs(GetJobArgs getJobArgs, long count,  K... queues) instead of getjobs(GetJobArgs getJobArgs, K... queues)).

Yeah, that would definitely work. I'll bump the PR later today.

I've updated the branch in accordance to the feedback! Thanks for being so responsive on a weekend.

Thank you for your awesome contribution. Working on open source projects usually works better for me on weekends. lettuce and spinach are not part of my day-to-day job. I'd ask you just to update the docs on GetJobArgs and I'll take care of the rest.

Done. :+1:

Merged. Thank you very much.

I added some docs afterwards.


Issue #1434 filter functionality for has many association.

This commit has few changes :

I implement filter functionality for has_many association with issue #1434
I refactor one spec with rspec best practices and factory girl too.

@bbenezech
It makes sense to me to have a HM or HABTM filter.
I have a Project model with many Task and want to be able to filter out projects with tasks with a specific name, or a name that has certain content. (in truth it is really a HABTM relationship in my case, so I would like to filter all the projects that have the same task assigned to them but I use has_many :through with an intermediate model)
Please see #1434 were a partial solution has been discussed.

I think this is not actual anymore?

Well the solution I use in #1434 only partially solves my problem (see my comment above), so to me this is still actual.

The same as #1363.


Handling multiple http methods for a single function from dictionary

I have read README about Handling multiple http methods and routes for a single function and its implementation.
But it is only when using external YAML files, right?
Are there any plans to support dictionary too?

I guess you can use https://github.com/rochacbruno/flasgger#using-dictionaries-as-raw-specs and pass method and endpoint

   def set_from_filepath(function):
        final_filepath = resolve_path(function, specs)
        function.swag_type = filetype or specs.split('.')[-1]

        if endpoint or methods:
            if not hasattr(function, 'swag_paths'):
                function.swag_paths = {}

        if not endpoint and not methods:
            function.swag_path = final_filepath
        elif endpoint and methods:
            for verb in methods:
                key = "{}_{}".format(endpoint, verb.lower())
                function.swag_paths[key] = final_filepath
        elif endpoint and not methods:
            function.swag_paths[endpoint] = final_filepath
        elif methods and not endpoint:
            for verb in methods:
                function.swag_paths[verb.lower()] = final_filepath

    def set_from_specs_dict(function):
        function.specs_dict = specs

    def decorator(function):

        if isinstance(specs, string_types):
            set_from_filepath(function)
            # function must have or a single swag_path or a list of them
            swag_path = getattr(function, 'swag_path', None)
            swag_paths = getattr(function, 'swag_paths', None)
            validate_args = {
                'filepath': swag_path or swag_paths,
                'root': getattr(function, 'root_path', None)
            }
        if isinstance(specs, dict):
            set_from_specs_dict(function)
            validate_args = {'specs': specs}

        @wraps(function)
        def wrapper(*args, **kwargs):
            if validation is True:
                validate(
                    data,
                    schema_id or definition,
                    validation_function=validation_function,
                    validation_error_handler=validation_error_handler,
                    **validate_args
                )
            return function(*args, **kwargs)
        return wrapper

    return decorator

but in source code, when spec is dictionary, endpoint and methods doesn't pass to function.

FWIW, not respecting endpoint when supplying spec as a dict just bit me.
If it is possible to support the endpoint/methods arguments when supplying the spec as a dict, I think it would be helpful.


Local LLM

Please add ability to use Locally hosted LLM, for example using LM Studio
Getting far away from Closed Source LLM is the best for everyone.

Ollama is already supported right?

I selected mistral and I got this error
https://github.com/stitionai/devika/issues/25

#75 Added LlamaCpp which will allow to load local models, It eliminates the need for separate local LLM inference server


Populating arguments

I'm not happy at all with how arguments work right now. Something clearly better is needed.
I've had some discussion about this in email with @jan-hudec
It may also be possible to do something fun with macros.

The biggest problem of your current approach is that it won't accept string. The reason is that only references to sized types can be cast to trait references, but str is not sized and therefore &str won't cast to &std::fmt::Display.
This can be fixed by changing
struct Arg<'arg> {
    name: &'arg str,
    value: &'arg fmt::Display,
}

to
struct Arg<'a, T: fmt::Display> {
    name &'a str,
    value: &'a T,
}

but now that is polymorphic (you will need a trait around it to erase T), so you won't stash it in a vector by value.
You could stash it in the vector boxed, but that would be extra allocations. However, the only thing you ever do with the vector is iterate over it. And you don't need vector for that, you can also use e.g. linked list. And linked list can be completely stored on the stack:
struct Arg<'a, T: fmt::Display> {
    name &'a str,
    value: &'a T,
    prev: Option<&'a Args<'a>>, // ← linked list of args
}

trait Args<'a> {
    fn arg<T: fmt::Display>(&'a self, name: &'a str, value: &'a T) -> Arg<'a, T> {
         Arg { name: name, value: value, prev: Some(self), }
    }
    fn next() -> Option<&' Args<'a>>;
    fn fmt_value ….
}

impl<'a, T> Args<'a> for Arg<'a, T> {
    fn next() -> Option<&' Args<'a>> { prev }
   …
}

and now you just create the chain of args on the stack, using the arg method.
You can put the arg method for creating the first arg anywhere, but I suggest you put it on the Message itself, extending the struct with pointer to message and the method to actually trigger expansion of the format, so you then call:
Message::new("It's {this} and {that}").arg("this", x).arg("that", y).write_to(file)

But you could also make it stand-alone to make something similar as you have now, i.e.
Message::new("It's {this} and {that}).format_message(file, arg("this", x).arg("that" y))

I haven't been able to get your idea to work yet. The obstacle that I keep hitting is in shortened form here: https://is.gd/p1iBWV

I said that ... and then I got it working:
struct Arg<'a, T: 'a + fmt::Display> {
    name: &'a str,
    value: &'a T,
    prev: Option<&'a Args<'a>>, // ← linked list of args
}

trait Args<'a> {
    fn arg<T: fmt::Display>(&'a self, name: &'a str, value: &'a T) -> Arg<'a, T>
        where Self: Sized
    {
        Arg {
            name: name,
            value: value,
            prev: Some(self),
        }
    }
    fn next(&self) -> Option<&'a Args<'a>>;
}

impl<'a, T> Args<'a> for Arg<'a, T>
    where T: std::fmt::Display
{
    fn next(&self) -> Option<&'a Args<'a>> {
        self.prev
    }
}

I've pushed some updates ... with my recent changes (so, as of: https://github.com/endoli/message-format.rs/tree/aeea61e7a076892eab89c40d4846be3319c4ebdf), if I apply this diff:
diff --git a/src/lib.rs b/src/lib.rs
index 103e1f3..f939a9c 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -85,7 +85,7 @@ pub trait Args<'a> {

     fn fmt_value(&self, f: &mut fmt::Formatter) -> fmt::Result;

-    fn get(&self, name: &str) -> Option<&fmt::Display>;
+    fn get(&'a self, name: &str) -> Option<&'a Args<'a>>;

     fn next(&self) -> Option<&'a Args<'a>>;
 }
@@ -97,9 +97,9 @@ impl<'a, T> Args<'a> for Arg<'a, T>
         self.value.fmt(f)
     }

-    fn get(&self, name: &str) -> Option<&fmt::Display> {
+    fn get(&'a self, name: &str) -> Option<&'a Args<'a>> {
         if self.name == name {
-            Some(self.value)
+            Some(self)
         } else if let Some(prev) = self.prev {
             prev.get(name)
         } else {

I get this set of compilation errors that I haven't sorted out how to solve:
src/ast/simple_format.rs:27:35: 27:38 error: cannot infer an appropriate lifetime for autoref due to conflicting requirements [E0495]
src/ast/simple_format.rs:27         if let Some(value) = args.get(self.variable_name.as_str()) {
                                                              ^~~
src/ast/simple_format.rs:27:35: 27:38 error: in type `&Args<'_>`, reference has a longer lifetime than the data it references [E0491]
src/ast/simple_format.rs:27         if let Some(value) = args.get(self.variable_name.as_str()) {
                                                              ^~~
src/ast/simple_format.rs:26:81: 34:6 note: the pointer is valid for the anonymous lifetime #4 defined on the block at 26:80
src/ast/simple_format.rs:26     fn apply_format(&self, stream: &mut fmt::Write, args: &Args) -> fmt::Result {
src/ast/simple_format.rs:27         if let Some(value) = args.get(self.variable_name.as_str()) {
src/ast/simple_format.rs:28             try!(write!(stream, "{}", value));
src/ast/simple_format.rs:29             Ok(())
src/ast/simple_format.rs:30         } else {
src/ast/simple_format.rs:31             // XXX: Should we return an error in this case?
                            ...
src/ast/simple_format.rs:26:81: 34:6 note: but the referenced data is only valid for the anonymous lifetime #3 defined on the block at 26:80
src/ast/simple_format.rs:26     fn apply_format(&self, stream: &mut fmt::Write, args: &Args) -> fmt::Result {
src/ast/simple_format.rs:27         if let Some(value) = args.get(self.variable_name.as_str()) {
src/ast/simple_format.rs:28             try!(write!(stream, "{}", value));
src/ast/simple_format.rs:29             Ok(())
src/ast/simple_format.rs:30         } else {
src/ast/simple_format.rs:31             // XXX: Should we return an error in this case?
                            ...
src/ast/simple_format.rs:26:5: 34:6 help: consider using an explicit lifetime parameter as shown: fn apply_format<'a>(&self, stream: &mut fmt::Write, args: &'a Args)
 -> fmt::Result
src/ast/simple_format.rs:26     fn apply_format(&self, stream: &mut fmt::Write, args: &Args) -> fmt::Result {
src/ast/simple_format.rs:27         if let Some(value) = args.get(self.variable_name.as_str()) {
src/ast/simple_format.rs:28             try!(write!(stream, "{}", value));
src/ast/simple_format.rs:29             Ok(())
src/ast/simple_format.rs:30         } else {
src/ast/simple_format.rs:31             // XXX: Should we return an error in this case?
                            ...
src/ast/simple_format.rs:27:30: 27:67 error: cannot infer an appropriate lifetime due to conflicting requirements [E0495]
src/ast/simple_format.rs:27         if let Some(value) = args.get(self.variable_name.as_str()) {
                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/ast/simple_format.rs:28:39: 28:44 note: first, the lifetime cannot outlive the expression at 28:38...
src/ast/simple_format.rs:28             try!(write!(stream, "{}", value));
                                                                  ^~~~~
<std macros>:2:21: 2:52 note: in this expansion of format_args!
src/ast/simple_format.rs:28:18: 28:45 note: in this expansion of write! (defined in <std macros>)
src/ast/simple_format.rs:28:13: 28:47 note: in this expansion of try! (defined in <std macros>)
src/ast/simple_format.rs:28:39: 28:44 note: ...so type `&Args<'_>` of expression is valid during the expression
src/ast/simple_format.rs:28             try!(write!(stream, "{}", value));
                                                                  ^~~~~
<std macros>:2:21: 2:52 note: in this expansion of format_args!
src/ast/simple_format.rs:28:18: 28:45 note: in this expansion of write! (defined in <std macros>)
src/ast/simple_format.rs:28:13: 28:47 note: in this expansion of try! (defined in <std macros>)
src/ast/simple_format.rs:28:39: 28:44 note: but, the lifetime must be valid for the expression at 28:38...
src/ast/simple_format.rs:28             try!(write!(stream, "{}", value));
                                                                  ^~~~~
<std macros>:2:21: 2:52 note: in this expansion of format_args!
src/ast/simple_format.rs:28:18: 28:45 note: in this expansion of write! (defined in <std macros>)
src/ast/simple_format.rs:28:13: 28:47 note: in this expansion of try! (defined in <std macros>)
src/ast/simple_format.rs:28:39: 28:44 note: ...so that reference is valid at the time of borrow
src/ast/simple_format.rs:28             try!(write!(stream, "{}", value));
                                                                  ^~~~~
<std macros>:2:21: 2:52 note: in this expansion of format_args!
src/ast/simple_format.rs:28:18: 28:45 note: in this expansion of write! (defined in <std macros>)
src/ast/simple_format.rs:28:13: 28:47 note: in this expansion of try! (defined in <std macros>)
error: aborting due to 3 previous errors
error: Could not compile `message-format`.

Also ... I'm going to need the value of the argument in some cases ... but once I sort out the above, I have a plan for that.

That compilation issue has been resolved ... moving on with further functionality here.

This is much improved now with a macro:
let message = icu::parse("{name} went to {town}").unwrap();
let town = "Berlin";
assert_eq!(format_message!(ctx, &message, name => "George", town),
           "George went to Berlin");


Variable paginator.pages breaks build

The template refers to a paginator.pages variable which apparently isn't defined in a default Zola installation (Zola 0.7.0 on macOS Mojave) :
Error: Failed to render section '[[redacted]]/content/_index.md'
Reason: Failed to render 'even/templates/index.html'
Reason: Variable `paginator.pages` not found in context while rendering 'even/templates/index.html'

With RUST_BACKTRACE=1 environment variable:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { kind: Msg("Failed to render section \'[[redacted]]/content/_index.md\'"), source: Some(Error { kind: Tera(Error { kind: Msg("Failed to render \'even/templates/index.html\'"), source: Some(Error { kind: Msg("Variable `paginator.pages` not found in context while rendering \'even/templates/index.html\'"), source: None }) }), source: None }) }', src/libcore/result.rs:997:5
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::sys_common::backtrace::print
   2: std::panicking::default_hook::{{closure}}
   3: std::panicking::default_hook
   4: std::panicking::rust_panic_with_hook
   5: std::panicking::continue_panic_fmt
   6: rust_begin_unwind
   7: core::panicking::panic_fmt
   8: core::result::unwrap_failed
   9: zola::cmd::serve::serve
  10: zola::main
  11: std::rt::lang_start::{{closure}}
  12: std::panicking::try::do_call
  13: __rust_maybe_catch_panic
  14: std::rt::lang_start_internal
  15: main

Did you enable the pagination as mentioned in the README?

Thanks for the reminder !

Hi, I'm having the same issue with a post that's nested: content/my_dir/index.md.
The contents of my _index.md on the content dir are:
+++
sort_by = "date"
sort_direction = "decending"

paginate_by = 5

insert_anchor_links = "none"
+++

I didn't find instructions on how to go about this.
Should I open a new issue?
Thank you!

content/my_dir/index.md

This theme expects the pages to be at the root of the content directory


Turn daily crawls into a Travis CI job

Reffy currently runs as a cron job on a W3C server. It wouldn't be a big deal if crawls all ran smoothly, but they frequently do not, either due to bugs in Reffy, due to ReSpec updates, spec updates or other.
Running the task with Travis CI would make it easier to retrieve logs and get notified when a crawl fails.

How long does a full crawl take? Travis has a limit of 50 minutes.

Good to know! 20mn should be enough.

I believe GitHub Actions, which is now in beta, might be a better candidate for this now.
GitHub Actions supports cron jobs more frequent than daily, and each workflow can run for up to 6 hours.
@tidoust I could experiment a bit with this if you like.  Would you be able to dump the cron job configuration from the W3C server for reference?


Duplicate results no filter

Filter might return duplicate results when the internal objects are similar.
e.g. input JSON both objects have name == {"first":"A","middle":"A"}
[{{"name":{"first":"A","middle":"A"},"rank":8},{"name":{"first":"A","middle":"A"},"rank":90}]

When running:
$[?($.name.first=="A")]

The following result is returned:
[{{"name":{"first":"A","middle":"A"},"rank":8},{"name":{"first":"A","middle":"A"},"rank":8},{{"name":{"first":"A","middle":"A"},"rank":90},{"name":{"first":"A","middle":"A"},"rank":90}]

It seems like the bug is in this code which compares all the candidates with all values and return each "parent" twice.
https://github.com/freestrings/jsonpath/blob/1a84c5af9445e617a6deed14dadfaee13af0d95f/src/select/expr_term.rs#L107
ref https://github.com/RedisJSON/RedisJSON/issues/667

Here's a working example (above syntax is broken):
[{"name":{"first":"A"},"rank":8},{"name":{"first":"A"},"rank":90}]

for selector
$[?(@.name.first=="A")]

Interestingly enough a simpler document works:
[{"name": "A","rank":8},{"name": "A","rank":90}]

$[?(@.name=="A")]


Password protected shelf/book/chapter/page

Describe the feature you'd like
Password protected Shelf/Book/Chapter/Page
Describe the benefits this feature would bring to BookStack users
This could add another layer of protection for passwords and/or other critical information regardless of set user roles/permissions. Sometimes its faster to enter a password if you know it then to provision permissions for a specific user.
Additional context
Although I think there might also have to be some back-end encryption for the password-protected Shelf/Book/Chapter/Page as it would be plain-text from a sql dump, but I am not 100% positive.
However, good job +thank you. This is good stuff.

Thanks for the request @caesartcs.
This is very similar to #820 (Request to add encrypted pages).
I think encrypting a whole entity chain (Shelves > Books > Chapters > Pages) could just cause too many issues and technical implementation issues due to the sheer amount of elements of the UI and backend system this would affect.
Do you see the requirement, of being able to encrypt the items above pages, as an important part of your request?

I do NOT see the items above Pages as an important part of the request. But just Pages.
I believe that at the Shelf/Book/Chapter level, the permissions functionality should be enough to suffice for user segregation.
Would this request be feasible in regards to Pages only?

@caesartcs Thanks for the reply.
Yes, pages only is feasible.
In that case, to keep issues focused, I'll close this one since the core requested functionality is already open on #820. It's worth giving the first post on that issue a thumbs-up to show support.


Ramme flatpak?

Nice alternative to Snapcraft. We'll definitely have a look at it!

@anatolinicolae I think the best is to wait until the latest version of electron is shipped so we can build the flatpak package using flathub (the online builder tool of flatpak)

How is progress for a flapak version going?


Add the possibility of defining default decorators for steps

Default decorators can be defined in one of two ways:

using the METAFLOW_DEFAULT_STEP_DECORATORS configuration (env var or configuration value). If this is set, it will be applied regardless of anything else. This is a comma separated string.
having extensions use TOGGLE_DEFAULT_STEP_DECORATORS. This is a list of strings that:

start with + or - (or something else which is equivalent to a +) -- the + means add a default decorator and a - means remove one.
are a decospec for the decorator to be added or removed.

I will add tests and try it out but putting it here for initial review to see if the method is OK.

@saikonen -- could you try again. I rebased on master and addressed @savingoyal 's comments. I suspect the error you are getting had to do with the previous changes for the runner and I didn't take all the "fixes" and master was, at some point, in a bad state.

@saikonen -- could you try again. I rebased on master and addressed @savingoyal 's comments. I suspect the error you are getting had to do with the previous changes for the runner and I didn't take all the "fixes" and master was, at some point, in a bad state.

seems to be fixed now 👍


[Question] verification of the aggregation circuit fails on EVM when it has instances other than the accumulator.

Issue
Referring to the AggregationCircuit in the example code, I made an aggregation circuit named PublicAggregationCircuit that exposes the accumulator and the instances of snarks to be aggregated.
https://github.com/zkemail/halo2-zk-email/blob/feat/main_gate_base_sha2/src/snark_verifier_sdk.rs#L137-L396
I generated proof and a verifier contract with the snark-verifier. However, the contract rejected the proof even if the prover and contract have the same values for the instance and accumulators. In more detail, after generating a yul code of the verifier code, I converted it to a function-equivalent Solidity code with a fix_verifier_sol function in the ezkl repository  and tested it in a hardhat local network. The aggregated snarks were generated for DefaultEmailVerifyCircuit, which verifies a DKIM RSA signature and substrings in the email header and body. The verifier contract returned false as a verification result without any revert error. (While the original yul code reverts when the proof is invalid, the converted Solidity code returns false.)
What I tried
I confirmed that proof for the AggregationCircuit is accepted when it is locally verified by a verify_proof function in halo2 with EvmTranscript. In addition, when the proof and the verifier contract are generated directly for the DefaultEmailVerifyCircuit, it passed the verification also on EVM.
When I commented out the following lines in the Solidity code of the verifier contract for the AggregationCircuit, the contract accepted the proof with any instances but rejected an invalid proof and invalid accumulator values.
https://github.com/zkemail/halo2-zk-email/blob/feat/main_gate_base_sha2/test_data/Verifier.sol#L7700-L7733
Therefore, I think the error is due to the verification of the additional instances.
Questions

Does the current snark-verifier support additional instances other than the accumulator in the proof aggregation?
If it is supported, is my implementation that exposes additional instances in the PublicAggregationCircuit correct?
https://github.com/zkemail/halo2-zk-email/blob/feat/main_gate_base_sha2/src/snark_verifier_sdk.rs#L368-L392

With the same setup parameter, the aggregation proof passed the verification on EVM!
Thank you very much for your advice!


Rename registerForStoryboard to avoid misunderstanding

It looks good to rename registerForStoryboard to injectOnInstantiationByStoryboard or something else to avoid misunderstanding that resolve method (especially with arguments) can be used as a pair with registerForStoryboard.
Related issue:
https://github.com/Swinject/Swinject/issues/153

@jakubvano, do you have good idea for the naming?

I agree that naming is confusing - it is odd that we are passing initCompleted closure to method called register..., when for normal registrations we are passing factory to register methods. Maybe reflecting this relationship with initCompleted in API might be helpful to understand what is going on:
container.storyboardService(MyViewController.self).initCompleted { r, c in ... }

or
container.storyboardInitCompleted(MyViewController.self) { r, c in ... }

Thanks @jakubvano for your nice idea😃
I prefer the latter one storyboardInitCompleted for its simplicity. If you are ok too, let's take it as our spec.


Suggestion re: known issue of tomorrow's sunrise

Regarding the known issue of the card displaying the next events rather than the previous, the card could be adapted to use the Sun2 integration that always has these values available.
https://github.com/pnbruckner/ha-sun2

Thanks for the suggestion! The issue is that probably not too many people use this integration, so it would force people to install extra things, which is not great imo. I have been considering whether to replace the sun integration with a JS/TS library to fix it and maybe even been able to implement moon functionalities, but I need to check what are the options out there.

I guess it would be better to improve the sun integration to provide more values. Home Assistant always appreciates pull requests :-)

@AitorDB Thanks for providing this card.

I have been considering whether to replace the sun integration with a JS/TS library to fix it and maybe even been able to implement moon functionalities, but I need to check what are the options out there.

I would much rather see a solution like that of https://github.com/mishaaq/sun-card where the source of data can be configured by the user, defaulting to the standard sun component but allowing people who use sun2 to leverage it.  If this were converted to use an external library the times it calculates may disagree with those of automations that use an HA platform.
Personally I really prefer the way this card displays the information, but the fact it displays tomorrow's dawn (from sun.next_dawn) bothers me.

Current changes in dev should help to do that @pabigot but I haven't had time to test that part yet and it probably will need some tweaking, more info here

@AitorDB I saw some of that.  It didn't look trivial to swap in the sun2 component; it provides its values as separate state entities like sensor.sunrise or sensor.elevation, rather than as multiple attributes on a single sun entity.  But then I don't read typescript very well, so maybe it's easy to bridge the difference.


Allow Subsecond Refresh Rate

Updates MonitorIntervalInput class implementation with QDoubleSpinBox

Looks good. Did you check what happens if you make the interval very small. As far as I remember there was a problem that this would make the inspectr ui hard to use since it is refreshing all the time

Yes yes, I am working on it right now. Looking for a way to halt timer when user is selecting or activating a run from run list window.


Needed admin-portal-all-classes page

We will need an admin portal all classes page so that we can edit the classes.

I have Made Progress

User can now delete or remove a class

I have added

A remove button
A function to remove the class
A prop to display all classes component

@thiagolima19 @manufflopes @mariannaAntunes

More progress


Certifications on profile page should be rendered in a ul

Description
On the user profile page, certifications aren't presented as a group:

freeCodeCamp Certifications

View Responsive Web Design Certification
View JS Certification
View Python Certification

Image

Instead, they should be moved to a ul, and the list should have a label:

freeCodeCamp Certifications

View Responsive Web Design Certification

View JS Certification

View Python Certification

Affected page
The issue is in both the "freeCodeCamp Certifications" and "Legacy Certifications" sections on the profile page (https://www.freecodecamp.org/username or http://localhost:8000/certifieduser).

can I work on this ?

Yes, @tusharkaran, issue with the help wanted label are open for all contributors. You're very welcome to work on this.

can you assign me this ?

@ojeytonwilliams can you please tell me how to run this application ?
I cannot find it in README file .

Sorry I m new to open source contribution . will ask people on discord. Did not mean to be rude.


Nova wallet: A button in profile is semi-hidden

What happened
A button in the profile on the mobile app - Nova Wallet is semi-hidden.

Please move this button a bit.

👋


Events Tab: Add drop down to select range using relative time

linking #285 which discusses the current solution.


Katana and Rapier Recipe are the same?

So the Katana and Rapier have the same recipe but if you try to craft it you will get a rapier so please fix.

It's not, the stick used in a katana is an extended stick, its crafted by placing 2 sticks in a crafting table. Hope it helps


Error resolving module '@aws-sdk/credential-provider-node'

I have a bundled mjs file, and I am importing the @aws-sdk/credential-provider-node package, which should be included in the runtime, however I get the following error
2024-08-01T13:50:21.092Z	n/a	FATAL	ReferenceError: Error resolving module '@aws-sdk/credential-provider-node' from '/var/task/index.mjs'

INIT_REPORT Init Duration: 110.81 ms	Phase: init	Status: error	Error Type: Runtime.ExitError
2024-08-01T13:52:54.128Z	n/a	FATAL	ReferenceError: Error resolving module '@aws-sdk/credential-provider-node' from '/var/task/index.mjs'

INIT_REPORT Init Duration: 1534.07 ms	Phase: invoke	Status: error	Error Type: Runtime.ExitError
START RequestId: becf14aa-d27f-4dae-a9f6-353b82566b8b Version: $LATEST
RequestId: becf14aa-d27f-4dae-a9f6-353b82566b8b Error: Runtime exited with error: exit status 1
Runtime.ExitError
END RequestId: becf14aa-d27f-4dae-a9f6-353b82566b8b
REPORT RequestId: becf14aa-d27f-4dae-a9f6-353b82566b8b	Duration: 1574.26 ms	Billed Duration: 1575 ms	Memory Size: 128 MB	Max Memory Used: 22 MB

NVM, had to move to the (presumably newer) @aws-sdk/credential-providers


MWPW-141071 : Prod API Client ID - Update to support PDFs displayed in SDK viewer

Add pdf embed api support for DC pages to view the pdf on page
Resolves: MWPW-141071
Test URLs:
Before: https://main--dc--adobecom.hlx.live/drafts/rivero/adobe-acrobat-microsoft-365-brief?martech=off
After: https://mwpw-141071--dc--adobecom.hlx.live?martech=off

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

Comparison is base (6eff0b7) 99.05% compared to head (1acaaf6) 99.02%.
Report is 1 commits behind head on stage.

Additional details and impacted files
@@            Coverage Diff             @@
##            stage     #518      +/-   ##
==========================================
- Coverage   99.05%   99.02%   -0.04%
==========================================
  Files          26       26
  Lines        2961     2961
==========================================
- Hits         2933     2932       -1
- Misses         28       29       +1

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


User avatar

User avatar
Brief description
Add a brief description.
Details
v11 only in order to support localized theme.
Link to Design Link to example or existing component
Links to other materials
e.g. sketch files, icons, images, prototypes
Design Maintainer(s)

Owner/main maintainer(s)
Second/backup maintainer(s)

Tasks
Before starting work on this epic, please review and complete the following.

[ ] Initial review of design/existing code

Working in Carbon for IBM Products package

[ ] Have you reviewed our
contribution guidelines?
[ ] Have you noted our
code guidelines?
[ ] Did you use the CLI to scaffold your new component?

Will be addressed in v2.

Will schedule a call with Cate Wilcox to discuss acceptance criteria and theming. Want to start prioritizing this since Security will be migrating off of their ProfileImage when moving to Carbon 11.

New token suggestions and mapping based on the call with Cate, @marionbruells

Order
Name
Light theme token
Dark theme token

1
$order-1-cyan
$cyan-60
$cyan-50

2
$order-2-gray
$gray-60
$gray-50

3
$order-3-green
$green-60
$green-50

4
$order-4-magenta
$magenta-60
$magenta-50

5
$order-5-purple
$purple-60
$purple-50

6
$order-6-teal
$teal-60
$teal-50

7
$order-7-cyan
$cyan-80
$cyan-30

8
$order-8-gray
$gray-80
$gray-30

9
$order-9-green
$green-80
$green-30

10
$order-10-magenta
$magenta-80
$magenta-30

11
$order-11-purple
$purple-80
$purple-30

12
$order-12-teal
$teal-80
$teal-30


AoT build using preprocessor for CSS

Bug Report or Feature Request (mark with an x)
- [x] bug report
- [] feature request

Versions.
@angular/cli: 1.0.0
node: 7.9.0
os: darwin x64
@angular/animations: 4.1.1
@angular/common: 4.1.1
@angular/compiler: 4.1.1
@angular/core: 4.1.1
@angular/forms: 4.1.1
@angular/http: 4.1.1
@angular/material: 2.0.0-beta.3
@angular/platform-browser: 4.1.1
@angular/platform-browser-dynamic: 4.1.1
@angular/platform-server: 4.1.1
@angular/router: 4.1.1
@angular/cli: 1.0.0
@angular/compiler-cli: 4.1.1
Repro steps.
Basically just trying to do an AoT build while using sass files in components.
Here is the issue on the angular repository to show you.
Desired functionality.
It's not really a bug, it's more a need of documentation update.
Maybe warn people that using preprocessors for css in their component will make their app not available for AoT build, and will need additional step to build this way.
Except if I miss something, like a specific option or something in angular-cli to handle this case. If that's the case sorry to bother.
And maybe point out a solution for dealing with this case, if there is one already done of course. And I mean in the documentation near the AoT section.
As preprocessors are supported by angular-cli I find it a little bit weird that AoT build doesn't support it. There is a good reason for ngc to not support it, can't do it for every preprocessor that exist, but angular-cli can provide something to bypass this limitation.

The CLI supports CSS, LESS, stylus, SASS/SCSS in both JIT and AOT mode.
ng build --prod is all that is needed to create an AOT build with the CLI.  It will process the stylesheets, compile in AOT mode, bundle/minify/etc.
The ngc tool is not needed when using the CLI.  The ngc tool is meant to be a focused utility that can be integrated into a larger custom build setup.

Ok great, makes sense.
So the cookbook about AoT is useless if we use CLI, right?
Because I found this issue when making the boostrap of my app AoT compliant.
So I may have to find why I'm having trouble making i18n work.
Thank you for your answer.

Correct.
A new CLI based project (ng new) supports AOT with no additional changes.  It handles the bootstrapping and configuration for you.

Ok cool thanks.
Closing now.

@clydin A few questions:

Does version 1.0.3 support this?
When running ng build --prod, how do I run the AOT server?

Yes, this is supported in 1.0.3.  Initial AOT support was introduced in 1.0.0-beta.16.
There is no AOT server.  You can deploy the files produced in your output directory ("dist" by default) as you would nornally.

If by AOT server you mean for development via 'ng serve', you can run it in production mode or with just AOT enabled via the '--aot' command option.
Note that rebuild times will be significantly increased in this configuration currently.  It is recommended to not run this way for development purposes at this time and use AOT as a production optimization.

So, executing these commands should produce a working AOT app?
ng new test && cd test
ng serve --prod --aot
For me, this only results in a JIT build. :( any ideas @clydin?

The only major difference from a user perspective will be faster bootstrapping time.  Bundles should in most cases be smaller as well.
Also note that '--prod' includes '--aot'.

Oh, so Angular AOT != Angular Universal?

@mmathys correct. AOT stands for Ahead of Time, so running the template compiler at build time.

How do you make this work for sass files which are in node_modules..?

What if you aren't using angular-cli (which forces the use of webpack)?


Quality Enhancements and Bugs

These are observed from the latest 1.7.10 build (4.0.0)

Angels sometimes turn while player is looking.
Angels do not know player is looking if the player can only see their bottom half (eg, when top half is obscured by a block).
Possible solution:  use look vectors from the player's head to both the angel's head and the angel's feet.
Angels "bounce" in water as they try to swim, even when player is looking.
Solution:  remove the EntityAISwimming. After testing, I determined that entities can go walk up and down in water if their step height is at least 1.0F -- besides, stone doesn't float.
Angels seem to pick up items and place them on their head? I have not tried to replicate this, but sometimes a fallen block item ends up on top of the angel if it walks into the item.
Incompatibility:  Twilight Forest dimension land-level and sea-level is much lower than other dimensions, so angels spawn uncontrollably unless I am willing to set their max spawn height to 5.
Possible solution:  add a dimension ID "blacklist" to the config. If desired, ignore if the user tries to blacklist the overworld (if they add "1" to the blacklist). Aside from this, the config is very flexible and well-implemented.
Statue GUI shows the statue facing the player until rotation is manually set. It then shows the statue oriented away from the player, making it difficult to preview other options like arm and wing states.
Statue GUI has typo -- the button labeled "Peaking" should be labeled "Peeking"
Missing texture for statue item (when held or in inventory) -- disabling Optifine did not fix the problem.
After adjusting the decripitation of one angel statue's texture, the next time I loaded the world all the statue textures were completely white until I reset the original statue's decripitation. This was in a server setting.
Why are the block bounds for the statue so low? Is it simply to make it harder to distinguish a statue from an EntityAngel? If so, it doesn't fool Waila.
this.getNavigator().setEnterDoors(true); is not in the EntityAngel (this enables walking through OPEN doors only). I have not been dumb / brave enough to leave a door open, so I do not know if they can enter doors without it.

That's all I could think of for now. Hopefully you have a chance to adjust these features in the next 1.8 release. Overall, outstanding work and a very creative mod!

Thank you for the content. However, this should be broken up into multiple issues, because there is discussion to be held for separate parts.

This issue will be closed and discussion can occur in the subsequent issues.


[⚡e2e]: create a directive "find element by selector"

As a test writer, I  want to have the capability to use the following directive:
  Then find the element by selector "#css .selector"

  Then find the elements by selector "#css .selector"

to find an element by CSS selector and store it in the context for the next instructions
Note: always store a list of found elements but reduce it to one if only one is requested

:tada: This issue has been resolved in version 5.0.0-beta.17 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 4.17.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


unresolved import when using external crate in tests

Hello,
I'm writing a dylint rule which checks for a specific function call derived from an external trait. I'm getting an unresolved import error when using an external crate in my tests.
Here's the test I'm writing (paraphrased)
# ui/main.rs
use serde::{Deserialize, Serialize};

#[derive(Debug, Deserialize, Serialize)]
struct Test {
    a: u32,
    b: u64,
}

fn main() {}

When I run cargo test I get:
error[E0432]: unresolved import `serde`
  --> $DIR/main.rs:1:5
   |
LL | use serde::{Deserialize, Serialize};
   |     ^^^^^ maybe a missing crate `serde`?
   |
   = help: consider adding `extern crate serde` to use the `serde` crate

I've looked at your examples, and used extern crate but was unable to get it to work.
Is there a way to use external crates in tests?

Hi, @R9295. Does your test use dylint_testing::ui_test_example? If so, then it should be possible to declare external crates as dev-dependencies. For comparison, here is a lint that uses anyhow in this way:
https://github.com/trailofbits/dylint/blob/43816b7aa7250ec21c8ac4f5826384f9da1b8d5a/examples/restriction/misleading_variable_name/Cargo.toml#L12-L14
https://github.com/trailofbits/dylint/blob/43816b7aa7250ec21c8ac4f5826384f9da1b8d5a/examples/restriction/misleading_variable_name/Cargo.toml#L23-L24
https://github.com/trailofbits/dylint/blob/43816b7aa7250ec21c8ac4f5826384f9da1b8d5a/examples/restriction/misleading_variable_name/src/lib.rs#L284-L287

Ahhh, I was using the default dylint_testing::ui_test instead of ui_test_example.
Thanks for the quick response. Feel free to close the issue

This is good feedback. Thank you.
I will try to make mention of ui_test_example more prominent in the documentation.
Cheers.


RDK-29486: Add option to load about:blank on suspend

Enabled for HtmlApp and LightningApp callsigns

Don't we want to set the "set URL back on the resume than ?

The idea is that this suspends the browser instance and not the app. I guess the loading of the previous URL can be added, but the intended use case is for the user of the browser to set the desired URL before resuming the page.


Duplicate item properties

Just found out, that Item-Properties get duplicated somehow:
https://everef.net/type/27912
This shows Volume, Mass, Radius 2 times in the "Basic" section.


Error and Success shortcuts by default?

I was wondering if it's possible to by default return something like this with Dingo for success/error:
return $this->response->success('Items was added.');
return $this->response->error('Items not added.');

Instead of:
return $this->response->array(['success' => true, 'message' => 'Items was added.');
return $this->response->array(['error' => true, 'message' => 'Items not added.');

Is there something that dingo already does that returns the same output as above with the success/error and message besides the number codes? This would be pretty cool to use out of the box. Any thoughts on this?

You could add something like this to your own base controller.
class BaseController extends Controller
{
    use Dingo\Api\Routing\Helpers;

    protected function success($message)
    {
        return $this->response->array(['success' => true, 'message' => $message]);
    }
}

And the same for an error.


#153 fix default environment argument for launch_vm_process

I no longer have time to maintain this library, so am closing this issue.


glpaper: init at a95db77088df

Motivation for this change
Add new useful package to the Wayland stack.
Things done
Added glpaper package.

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Added myself to maintainers list.

@jtojnar Anything else?

Got mixed up branches, recreated cleanly at #87953
Sorry for the inconvenience.

In the future, you can use git reset --hard commit to change branch to point to a different commit.


info.plist error when installing

When installing Rust.tmbundle, I receive the following error:

The bundle “Rust.tmbundle” does not contain the required “info.plist” file (or that file is corrupt) and can therefore not be installed

I'll try to debug this in the meantime, but I figured I'd file an issue in case you had any ideas

Figured it out, sorry for the false alarm

No worries. Was there an issue?

Yeah, it was silly though... I had copied the dir to my home and renamed it Rust.tmbundle, when I actually needed to copy the sub-dir Rust_tmbundle and rename that. Whoops!

Ahh, I can see whay that would be confusing. I've updated the installation instructions.


make_delegate_with_shared_state uses an object after it was moved

The function make_delegate_with_shared_state (from strings/base_coroutine_foundation.h) uses on object after it was moved.
The last line in the function is:
return { std::move(d), reinterpret_cast<delegate<T, H>*>(get_abi(d)) };
'd' is moved using std::move and then it's passed to get_abi. The usage of 'd' after it was moved it undefined.

Created a PR to fix this issue:
https://github.com/microsoft/cppwinrt/pull/1253


Works with Slim and Sinatra

Hello,
Was just wondering whether Kaminari works with Slim and Sinatra 1.4.2.
Thanks.

Have you tried it?
We don't use issue tracker for support requests, if you want to use StackOverflow or something similar that is probably a better place.
Please only file a ticket if you run into a bug with Kaminari.
Thanks! <3 <3 <3 <3