Video Classification with Transformers official notebook error: module 'tensorflow.keras.layers' has no attribute 'CenterCrop'

System information.

Have I written custom code (as opposed to using a stock example script provided in Keras): Nope.
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 20.04
TensorFlow installed from (source or binary):  binary (conda)
TensorFlow version (use command below): 2.4.1 GPU
Keras Version
Python version: 3.9.7 conda env
Bazel version (if compiling from source):
GPU model and memory: NVIDIA Corporation GP108M, 8 GB RAM
Exact command to reproduce:
center_crop_layer = layers.CenterCrop(IMG_SIZE, IMG_SIZE)

**The problem: **.
I used the notebook from the  Video Classification with Transformers guide, it runs perfectly on Google Colab but I wanted to work on it locally, when I ran it for the first time in VS Code this error was raised, I tried to run it with tf.keras.layers.experimental.preprocessing.CenterCrop which worked until it raised an error again at StringLookup so it is not really a fix, I don't know if it is version related but conda list returns the following related versions:
keras                     2.7.0                    pypi_0    pypi
keras-preprocessing       1.1.2              pyhd3eb1b0_0
tensorboard               2.6.0                      py_1
tensorboard-data-server   0.6.0            py39hca6d32c_0
tensorboard-plugin-wit    1.6.0                      py_0
tensorflow                2.4.1           gpu_py39h8236f22_0
tensorflow-addons         0.15.0                   pypi_0    pypi
tensorflow-base           2.4.1           gpu_py39h29c2da4_0
tensorflow-docs           0.0.0.dev0               pypi_0    pypi
tensorflow-estimator      2.7.0                    pypi_0    pypi
tensorflow-gpu            2.7.0                    pypi_0    pypi
tensorflow-hub            0.12.0                   pypi_0    pypi
tensorflow-io-gcs-filesystem 0.22.0                   pypi_0    pypi
tensorflow-model-optimization 0.7.0                    pypi_0    pypi

Describe the current behavior.
This error is raised:
AttributeError: module 'tensorflow.keras.layers' has no attribute 'CenterCrop'
Describe the expected behavior.
The expected output is shown in the notebook.
Standalone code to reproduce the issue.
This cell in the notebook
Source code / logs.
AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_144262/1363818029.py in <module>
      5 print(f"Total videos for testing: {len(test_df)}")
      6
----> 7 center_crop_layer = layers.CenterCrop(IMG_SIZE, IMG_SIZE)
      8
      9

AttributeError: module 'tensorflow.keras.layers' has no attribute 'CenterCrop'

Hi @ImSo3K
Could you please update your tensorflow package and give it a try?
Thank you

Hi @ImSo3K Could you please update your tensorflow package and give it a try? Thank you

Yep, version 2.6.2 works perfectly with it, thank you.

Hi @ImSo3K
Try to use tensorflow version 2.8.0 and use
center_crop_layer = keras.layers.experimental.preprocessing.CenterCrop(IMG_SIZE, IMG_SIZE)
It worked for me.!!


custom tool handler

Implement "custom tool handler" method - as described in issue #627.
Sample usage:
class MyToolMessage(ToolMessage):
    request: str = "my_tool"
    handler: str = "tool_handler"

class MyAgent(ChatAgent):
    def tool_handler(self, message: ToolMessage, tool_name: str, chat_doc: ChatDocument = None) -> str:
        if tool_name == "my_tool":
            # do something

I've also modified test_tool_messages and test_tool_messages_async to use the new "custom handler" for some tools.

@alexagr I need a bit more clarification as well.
I assume the intention for [1] is that, if there is a name clash, renaming the handler method and handler for all tools is simpler than changing request and any handler methods defined on the agent for all tools?
Is the goal for [2] that, rather than dynamically redefining a handler method on the agent, to instead redefine some handler method as tools are enabled and disabled, allowing the earlier iterations of handler to be garbage collected?
Currently, we do not delete the handler methods created when a tool is enabled, even if handling is later disabled, as the memory usage of handler methods will be negligible in typical use-cases. As the size of the required handler method would grow with the function count, the potential memory savings are limited. Perhaps this might become relevant with a combination of batch processing and large-scale automated tool generation; is this your intended use case?

Use of union types in a single tool definition already enables much of this functionality (see the _get_any_tool_message method of ChatAgent).

@pchalasani @nilspalumbo I was referring to a possible clash with base Agent class methods - e.g. agent_response.
But let me describe my use-case - as it'll be easier to understand where I'm coming from. I'm writing a Web portal where end-users define agents (prompts / LLMs / ...), tools (URLs / authentication / schema) and upload documents. I'm using langroid as an "engine" to run the chat sessions following these definitions. With the current tools implementation I can't simply create MyAgent class with some generic tool_handler method - instead I have to create classes dynamically for every session (because configuration changes all the time). Also I can't just use the tool name "as provided by user" - due to the possible naming clash - instead I'm currently adding "tools_" prefix to it - which is pretty messy, since this modified tool name appears in "agent logs" that I expose to users for troubleshooting purposes. Also I'm not sure how well garbage collector cleans up all this mess - though I may be wrong here...
Bottom line - I think that (optional) separation between tool name (as "exposed" to LLM) and handler name (that is "dictated" by underlying code structure) could be quite useful.

@alexagr I discussed with @nilspalumbo and we decide to proceed with this, since it's a minor change, albeit a bit custom. It will help if you could please:

add a short illustrative example for how it helps to use the _handler attribute in a ToolMessage, and
add a brief note at docs/notes/tool_message_handlers.md and link the example to this note.

@pchalasani thank you - done

Thanks @alexagr that is a nice illustrative example! Closing as replaced by #643  (I added some sentences to the docs)


"Like" and "Favorites" words

This isn't a bug, so much as a discrepancy in wording.  The "Like" button appears to mark "Favorites" and that's a little confusing.  I guess my vote would be to use Favorite(s) everywhere rather than Like because it better describes the behaviour.


Add a robots.txt

Description: Add a robots.txt to repel the robots
Related issue (if applicable): fixes #
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#
Example entry for configuration.yaml (if applicable):

Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If code communicates with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] Tests have been added to verify that the new code works.

As the token WSGI guy, I'm gonna 🐬 this


Support extra rules for the role

Motivation

Sometimes the service role needs more permissions than what is specified in the template. For example, when running a LocalStack ECS task in Kubernetes via this helm chart, the role needs:
- apiGroups: [""]
  resources: ["pods/log"]
  verbs: ["get"]
- apiGroups: [""]
  resources: ["services"]
  verbs: ["get", "list"]

Changes

Add the ability to specify extra role rules via role.extraRules.

@alexrashed I agree, however at the same time it's harder to remove something than adding rules. But perhaps time boxed it might worth to look into it @simonrw. I can live with either one.

Perhaps something like:
(values.toml)
role:
  noDefaultRules: false
  extraRules: []

and we default to these rules in the PR. Then the user can opt out of whatever we add with noDefaultRules and add their own with extraRules?

I would actually just add it to the roles without having it configurable. If it gets requested to be configurable (i.e. the possibility to remove roles while risking to break LocalStack), then we can extract the whole content of the roles (including the already existing ones) to the default value of a newly introduced variable.


Creating new examples

Improving existing Dart examples and creating a new Flutter app powered by the equations package!

Codecov Report

Merging #11 (274a6e4) into master (ad50ffd) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #11   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           44        44
  Lines         1624      1624
=========================================
  Hits          1624      1624

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ad50ffd...274a6e4. Read the comment docs.

Codecov Report

Merging #11 (274a6e4) into master (ad50ffd) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #11   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           44        44
  Lines         1624      1624
=========================================
  Hits          1624      1624

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ad50ffd...274a6e4. Read the comment docs.


Make it shifty

What:
Use tradeshift packages and configs as the defaults.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@c9faf55). Click here to learn what that means.
The diff coverage is 79.78%.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   57.23%
=========================================
  Files             ?       20
  Lines             ?      304
  Branches          ?       72
=========================================
  Hits              ?      174
  Misses            ?      100
  Partials          ?       30

Impacted Files
Coverage Δ

src/config/eslintrc.js
100% <ø> (ø)

src/config/prettierrc.js
100% <ø> (ø)

src/index.js
0% <0%> (ø)

src/scripts/travis-after-success.js
100% <100%> (ø)

src/scripts/format.js
100% <100%> (ø)

src/config/lintstagedrc.js
100% <100%> (ø)

src/utils.js
98.14% <98.07%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c9faf55...66ecb42. Read the comment docs.


Add tuple type descriptor support to new parser

Purpose
Add tuple type descriptor support to new parser with recovery logic and test cases.
Fixes #23316
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[x] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #23390 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #23390   +/-   ##
=======================================
  Coverage   14.59%   14.59%
=======================================
  Files          51       51
  Lines        1411     1411
  Branches      219      219
=======================================
  Hits          206      206
  Misses       1189     1189
  Partials       16       16

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a2be127...5d24e3e. Read the comment docs.


[Question] Issues locating dataset using Docker

Hi,
I'm experiencing different behaviours when using Docker and installing from source.
When installing from source, running nndet_prep 149 yields the intended results, preparing my dataset, however when using Docker, it cannot find the files, producing this error: ValueError:Expected/opt/data/Task149_lesions/raw_splitted/imagesTr/case_020_0000.nii.gz to be a raw splitted data path but it does not exist.
I ran the nndet_example command to generate the example dataset, which is stored in the same folder containing my Task149 and follows the exact same structure. However, running nndet_prep on the 000 example dataset yields the intended results, unlike with my dataset.
I need to use the Docker container for this project, and I tried looking through all similar issues but could not find a solution for this problem, unfortunately.
Here are all paths/commands I have set, in order it will shed some light into whatever it is I'm doing wrong:
sudo docker run --gpus all -v /home/Nuno/datasets/nnDetection_files/data:/opt/data -v /home/Nuno/datasets/nnDetection_files/models:/opt/models -it --shm-size=24gb nndetection:0.1 /bin/bash
root@5addd449df2d:/opt/data# ls
Task000D3_Example    Task149_lesions
root@5addd449df2d:/opt/data# cd Task149_lesions/
root@5addd449df2d:/opt/data/Task149_Prostate158Lesions# ls
dataset.yaml  raw_splitted
root@5addd449df2d:/opt/data/Task149_lesions# cd raw_splitted/
root@5addd449df2d:/opt/data/Task149_lesions/raw_splitted# ls
imagesTr  imagesTs  labelsTr  labelsTs
root@5addd449df2d:/opt/data/Task149_lesions/raw_splitted# cd imagesTr
root@5addd449df2d:/opt/data/Task149_lesions/raw_splitted/imagesTr# ls
case_020_0000.nii.gz  case_063_0000.nii.gz  (...)
root@5addd449df2d:/opt/data/Task149_lesions/raw_splitted# cd labelsTr
root@5addd449df2d:/opt/data/Task149_lesions/raw_splitted/labelsTr# ls
case_020.nii.gz    case_020.json   case_063.nii.gz    case_063.json   (...)

The dataset file:
task: Task149_lesions

name: "lesions" # [Optional]
dim: 3 # number of spatial dimensions of the data

# Note: need to use integer value which is defined below of target class!
target_class: 0 # [Optional] define class of interest for patient level evaluations
test_labels: True # manually splitted test set

labels: # classes of data set; need to start at 0
    "0": "Lesion"

modalities: # modalities of data set; need to start at 0
    "0": "CT"

root@99b2bb3976c0:/opt/code/nndet# nndet_env
----- PyTorch Information -----
PyTorch Version: 1.11.0a0+b6df043
PyTorch Debug: False
PyTorch CUDA: 11.5
PyTorch Backend cudnn: 8300
PyTorch CUDA Arch List: ['sm_52', 'sm_60', 'sm_61', 'sm_70', 'sm_75', 'sm_80', 'sm_86', 'compute_86']
PyTorch Current Device Capability: (8, 6)
PyTorch CUDA available: True

----- System Information -----
System NVCC: nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_Sep_13_19:13:29_PDT_2021
Cuda compilation tools, release 11.5, V11.5.50
Build cuda_11.5.r11.5/compiler.30411180_0

System Arch List: 5.2 6.0 6.1 7.0 7.5 8.0 8.6+PTX
System OMP_NUM_THREADS: 1
System CUDA_HOME is None: False
System CPU Count: 128
Python Version: 3.8.12 | packaged by conda-forge | (default, Oct 12 2021, 21:59:51)
[GCC 9.4.0]

----- nnDetection Information -----
det_num_threads 6
det_data is set True
det_models is set True

Best regards,
Nuno

Turns out the problem was that my dataset is composed of symlinks and Docker does not work well with those. Swapping for the original files solved the problem.


Add subdirectory option

Well, this required less code than I thought! I guess I could add more tests, particularly when updating a project.
TODO:

[x] docs
[x] test when updating

Fixes #183

It would be great if you could review and merge #192 so I can rebase before adding documentation for this feature!

This should be a WIP until #198 is fixed IMHO.

Template in v1 doesn't have a _subdirectory; in v2 it moves all things into a subdir and adds that key to copier.yml. Some files change. Downstream project has evolved too. Does that work as expected?
Template in v3 changes from one subdirectory to another. Some file evolves also. Subproject evolves separately. Subproject is updated. Does that work as expected?

These are great remarks, thank you for having taken the time to think about this. I'll add tests to make sure what you listed is working as expected :slightly_smiling_face:

I've added two big tests with comments :slightly_smiling_face: Let me know what you think!

Hey @Yajo, not sure if you were waiting for me to comment, but I implemented the changes you suggested :slightly_smiling_face:
If you just couldn't find the time to review it, then please ignore this comment, there is absolutely nothing urgent here!

Yes, I was waiting. Thanks for your contribution!

Would it be possible for you to release a new version with this new feature @Yajo? That would be great 🙂

Oh yes, I was hoping to have time to put more features, but I've been lacking time lately.
Let me release.

The _subdirectory parameter does not seem to be respected when doing copier update.
I put it in my .copier-answers.yml but copier wants to remove it and fetch the repository root anyway.

https://copier.readthedocs.io/en/latest/updating/#never-change-the-answers-file-manually

Yes, but the subdirectory parameter was also set on the copier.yml file and was no retain by the answers file.

By the way, I think in a CI system, bots should update the answers file to update _commit for instance and keep the template system immutable.

Hi there @micheelengronne, according to your comments I guess that you're having some trouble understanding what this option does and how Copier updates your subprojects.
If you want, you can open up a new discussion explaining your use case so you can get better help from the community. This thread was finished long ago and is not the best place to get further support.

Sorry @Yajo Indeed, I read too fast that part of the doc. I altered my code accordingly and I will open a new issue with my ideas and a snippet.

I will delete my previous comments. They are totally out of subject.


Notifications on track change?

Hi there! Thanks for putting together a great tool! Quick question - is there a way for the notification to pop up every time the track changes? If not, consider this a feature request! Thank you!

Well, I don't know what changed, but the notification is showing up now with the track changes. All good!


Fixing backend retry policy baseIntervalMillis not updating issue

Purpose
fixes: https://github.com/wso2/apk/issues/1517

Codecov Report
Patch and project coverage have no change.

Comparison is base (db569f3) 24.66% compared to head (84d28a5) 24.66%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1541   +/-   ##
=======================================
  Coverage   24.66%   24.66%
=======================================
  Files         134      134
  Lines       15692    15692
  Branches     2438     2438
=======================================
  Hits         3871     3871
  Misses      11686    11686
  Partials      135      135

Flag
Coverage Δ

adapter
23.00% <ø> (ø)

common-controller
0.00% <ø> (ø)

config-deployer-service
23.45% <ø> (ø)

idp-domain-service
80.10% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


[release/1.3.1] [CO-420] Change names of data constructors for NetworkMagic and RequiresNetworkMagic

Description
This PR proposes clearer names for the NetworkMagic and RequiresNetworkMagic data constructors.
RequiresNetworkMagic

NMMustBeJust becomes RequiresMagic
NMMustBeNothing becomes RequiresNoMagic

NetworkMagic

NMJust becomes NetworkTestnet
NMNothing becomes NetworkMainOrStage

Linked issue
https://iohk.myjetbrains.com/youtrack/issue/CO-420
Type of change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[x] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[ ] 🔨 New or improved tests for existing code
[ ] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[x] I have read the style guide document, and my code follows the code style of this project.
[ ] If my code deals with exceptions, it follows the guidelines.
[x] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub.
^ there is no 1.3.1 section in the CHANGELOG, and this is dev work on a release branch, so I'm skipping this.

Testing checklist

[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

1.3.1 is closed for development. Only fixes for highly critical issues and regressions are allowed. Improve on develop.

Per @tatyanavych's review, I'll be closing this PR. Will make the changes on develop.


Exclude Mostr users

Mostr user's metadata has nip05<EMAIL_ADDRESS>and tags: ['mostr', ''].

Add filter to main.js
Unfollow from contacts

38682122c02185d6c03adce63387cd7faad12244


Capacitor 3 release

I'm ready to make this an official production release. Could you do the honours and merge it and then deploy on NPM please @arielhernandezmusa ?

Hey @arielhernandezmusa @pbowyer!
Are there any news about the Capacitor 3 release? 😄

@pbowyer If you need npm permissions, you can DM me on Twitter or on the Ionic Discord and I can get you hooked up. Otherwise, I could release this for you 😄

@thomasvidas Thanks, I do need NPM permissions to be able to make releases. I'll DM you!


Reading non-TTree objects with std::arraystd::vector members

uproot seems to have trouble reading objects with std::arrays of std::vectors in them.
Attached is a reproducer, tested with uproot 4.2.2 and ROOT 6.24/06 on Fedora 35 (you should just be able to type make to compile the necessary C++ stuff and run the example)
stdarray.tar.gz
The example object is simple:
class ExampleFail : public TObject
{
  public:
    ExampleFail();
    std::array<std::vector<double>,2> twovectors;

  ClassDef(ExampleFail,1);
};

For reference, here is ROOT's streamerinfo:
StreamerInfo for class: ExampleFail, version=1, checksum=0xa015597b
  TObject        BASE            offset=  0 type=66 Basic ROOT object
  vector<double> twovectors[2]   offset=  0 type=82

And uproot's is
ExampleFail (v1): TObject (v1)
    twovectors: vector<double> (TStreamerObjectAny)

Trying to load the object ends up failing with:
ValueError: unknown class vector<double> that cannot be skipped because its number of bytes is unknown

I did also try using std::vector<double> twovectors[2] instead, but that failed in a different way.
Obviously a workaround is to just use nested std::vectors instead, but that is not quite the same thing.

I've looked into this, and should at least write down some notes about it. First, it's important to know that this is not TTree data: it's a free-floating object in the file. (Generally, those have been easier than objects in TTrees, but it doesn't look like it will be here.)
You're right that that Uproot's view of the TStreamerObjectAny doesn't seem to know that it's an array of length 2. That's probably in a member of TStreamerObjectAny somewhere, which we're not yet interpreting.
The other issue is that the generated code tries to load "vector<double>" as a class name, without recognizing that it's a std::vector container of double data. Uproot's containers haven't been invoked for that—this may be another way that the TStreamerObjectAny implementation is naive: it's assuming that the typename is a classname. TStreamerObjectAny.class_code should be calling uproot.interpretation.identify.parse_typename.
This doesn't look like a small project (a "quick fix"), but it could be a medium-sized project.


Wrong point cloud data generation from 3D Lidar component

Hi Rapyuta-robotics team,
I am testing an example 3D lidar component(Ouster OS032) with default settings as below:

When starting the simulation, rays show the correct point clouds as configuration.

However, rviz shows weird point clouds as below:

I'm relative new to Unreal and this plugin would you mind sharing how you add the 3d lidar to a scene?

I'm having the same issues. Please let me know if there any work around this

Sorry for inconvinence
I'm investigating the issue now. Not sure how much time I need to fix since I only have time to investigate in weekend.

I found cause luckily and created PR.
https://github.com/rapyuta-robotics/RapyutaSimulationPlugins/pull/192


McAfee Integration: Status Code 418

Hi,
When trying to implement with a McAfee server, I am recieving error code 418 which I believe means my request is missing a required request header.
I read the issue raised by sc06 and followed their advice (https://github.com/Baekalfen/ICAP-avscan/issues/8#issuecomment-362019517) modifying the request as follows:
ESPMOD icap://<I.P.>/RESPMOD ICAP/1.0
Host: <I.P.>
X-Client-Abandon-Supported: 1
Preview: 30
X-Scan-Progress-Interval: 10
Allow: 204
Encapsulated: res-hdr=0, res-body=26
Content-Length: 572939
1e
I dont understand how sc06 created a request header.
Is the following from their comment the request header?:
"GET /C:\TestFiles\test1.txt HTTP/1.1
Host: icap.health.check"
Why would that need to be sent? Do I need to make the file available on that host?
Please forgive my lack of knowledge around the protocol.
Thanks very much for your help.
Charlie.

Hi,
I updated the request to specify an empty request header ie
"Encapsulated: res-hdr=0, res-body="+resBody.length()+"\r\n"
I'm now getting an IOException Connection reset by peer: socket write error
I'll investigate to see if this is an issue on the server.
Thanks,
Charlie.

If this issue still occurs, you may try with the latest code, perhaps can work with it.

i have tired latest code but yet getting Server returned unknown status code:418
Scanning server is McAfee


The game freeze when trying to open mods folder

I'm currently playing on Windows11 and when I use open mods folder, the game window just freezes and nothing showed up. I sure succeeded some time but mostly it just freezes.
And I went to check the mods folder, it exists.

I've made a solution, using the os.execute to fix this.
https://github.com/KristalTeam/Kristal/pull/266

Are you sure its not that the mods folder is opening up behind a window or something? The game freezes because its not focused

I'm sure it's not, I checked everywhere including the task manager, but nothing showed up and the game is still frozen.


Add RepositoryRoot

I don't think this needs to be a PR. We can just make one PR in a main repository and then push the rest to dev.

I prefer to do it via PR because it automatically runs travis and appveyor tests, which have found lots of problems in this kind of change in the past. I don't expect people to review them (though you're welcome to if you want), I usually CC someone with context on one of them, then merge the rest once their tests pass.


all "nan"s in index due to obs column name and index name clash

"Its more a comment than a bug"
Saving an h5ad and reading it again resulted in losing the indices and getting them all replaced by "nan"s. I also got the "Transforming to str index." message when reading the file.
I found out that I had a column in my adata.obs that had the same name "barcode" as my index resulting in this clash. droppping/renaming that column solved it!
This is one of these cases where you spend hours not understanding what's going on only to realize you made a stupid mistake but though of posting if an save agony for others in the future as I am not sure if it's a bug per se.
Thanks for maintaining this great resource!

Thanks for the info.
I'm actually not too sure what's going on here. Could you share some version information and tell me a bit about the values in "barcodes"?


Add the ability to dump some messages for debugging to the duplicator

This allows us to do kill -USR1 <pid> and force the duplicator to dump
100 messages to stdout.  This is useful for debugging live systems,
especially in the cloud where inserting debugger breakpoints isnʼt
feasible.
Probably needs to be performance benchmarked.

Is 100 enough for a duplicator churning that much message throughput?

Is there a nice way to set it in an env var or something? I suppose you don't want to dummp too much but there's always a good old pipe to file if you want 10000 lines.

Great idea to use an env variable.  However, it will have to be set when the duplicator starts, since we can't edit the environment from outside once the process is running.  An alternative would be to have it read the value from a file somewhere, which we can set dynamically... 🤔

Have it pull an env variable but default if not there and then run it later?

OK, so now the configuration is as follows:

if the env variable MITE_DEBUG_MESSAGES_TO_DUMP exists and is an integer, use that
else, if the env variable MITE_DEBUG_MESSAGES_TO_DUMP_FILE` exists, try to read an integer value from it and if successful use that
otherwise, just use 100

I think that covers all the possible use cases...

I ran the perftest suite twice for master, and twice for this branch.  The suite is really noisy in general (😿 ), but there's no evidence to suggest that the changes introduced here are negatively impacting the performance seriously enough to be detectable outside the noise.  So, I'm relatively comfortable with these changes from a perf POV.
(Numbers in the table are the total message throughput in 1 minute when sending N messages concurrently from a controller->runner->duplicator->collector.  All the components in this pipeline are run as a single instance.)

Concurrent messages
master
master2
message dumper
message dumper2

1
51346
40580
47353
51976

10
183384
144722
168936
168403

100
360884
297529
316566
316913

1000
333000
342346
320112
312281


model folder does not exists, can you please upload the model code?

from model.pretrain_goat import GlocalTextPathCMTPreTraining
doesn't exists...

As this paper is currently under review, I will be releasing the code incrementally. Thank you for your understanding! :)


Tôi bị ko làm bài tập

What happened:
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Container runtime or hardware configuration:
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Others:

@tienngaunhatquadat what does this mean? could you provide the details of your problem?

/close
Feel free to re-open should there be anything of value to report as a bug.


to_dict()

While everything works fine in the tutotrial, when I run the model on my own data base I get the error:
TypeError: to_dict() got an unexpected keyword argument 'orient'
So I changed it to  -   docs = dataframe.to_dict('records')
but now I have the error:
TypeError: unsupported type: <class 'str'>

Hi Jonathan,
Thanks for raising this.
Two quick questions:

which function raises the error?
would it be possible to provide us with a reproducible example? (perhaps a tiny slice of your data)
Best,

Greetings,

in split_into_sentences
docs = dataframe.to_dict(orient='records')
TypeError: to_dict() got an unexpected keyword argument 'orient'
I'm working with the unhri data which can be found in the link.

From the docs:
"""
A function that splits a list of documents into sentences (using the SpaCy sentence splitter).

Args:
    dataframe: a pandas dataframe with one column "id" and one column "doc"
    output_path: path to save the output
    progress_bar: print a progress bar (default is False)

Returns:
    Tuple with the list of document indices and list of sentences

"""

Is your dataframe formatted as a pandas dataframe with an "id" column and a "doc" column?

Yes

Could you show me exactly the first rows of the dataframe and the code you use? It will make it easier for me to help you.

Thank you for your kind help, I changed the encoding of the data and it works now!

That's great. Looking forward to seeing your results. I'm closing the issue.


Simplifying firmware flags between NMC controller and worker pod

Currently NMC controller passes 2 flag to worker pod: firmware path mount point in pod and firmware search path. Since in our implementation those 2 values are always equal, we can use only one flag to pass these values: --firmware-path, and let worker pod decide when to update the kernel configuration for firmware search

Fixes https://github.com/rh-ecosystem-edge/kernel-module-management/issues/1173

/test images

/test operator-upgrade

/test e2e-hub

/lgtm

/test e2e

/test e2e

/test e2e-hub

/test operator-upgrade

/test e2e-hub

/test e2e-hub

/retest

/retest
NoClusters: No clusters in pool are ready to be claimed

/retest

/retest


API V4 Document Typos

There is a json string typo in the api document for getAnimeVideos.

It is "promos" in the doc but "promo" in json
and it is "default_image_url" in the doc but "image_url" in json

Good catch, thanks


Access view elements

Hi and congratulations for the project: it's really cool :+1:
I'm trying to create a simple Scene with a WebView inside a SwipeRefreshLayout.
My layout is:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             xmlns:tools="http://schemas.android.com/tools"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             tools:context="solutions.alterego.dealbrowser.home.HomeFragment">

    <android.support.v4.widget.SwipeRefreshLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/home_swiperefresh"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        <WebView
                android:id="@+id/home_webview"
                android:layout_width="match_parent"
                android:layout_height="match_parent"/>

    </android.support.v4.widget.SwipeRefreshLayout>
</FrameLayout>

My Scene is:
@Layout(R.layout.home_scene)
@Accessors(prefix = "m")
public class HomeScene extends StandardScene {

    @InjectView(R.id.home_webview)
    WebView mWebView;

    @Getter
    private CrossfadeTransformer mTransformer;

    @Inject
    public HomeScene(CrossfadeTransformer transformer) {
        mTransformer = transformer;
        addComponents(new Presenter(mWebView));
    }

    @Singleton
    public static class Presenter extends PresentationComponent<View> {

        public Presenter(WebView webView) {
            webView.setBackgroundColor(0);
            webView.getSettings().setJavaScriptEnabled(true);
            webView.getSettings().setDomStorageEnabled(false);
            webView.loadUrl("http://www.google.it");
        }
    }
}

It explodes because webView is null. I tried to add
View view = getView();
ButterKnife.inject(view);

but view is null and I get NPE again. I feel like I'm missing something.
Can you help me to understand how I can access view elements, please?
I really want to switch to Flow and Mortar and get rid of fragments. Screenplay is giving me hope.
Thank you.

Hello hamen,
What you're trying to do is very similar to what we're doing on the [Dagger 2] (https://github.com/weefbellington/screenplay/blob/dagger-2/sample-mortar/src/main/java/com/davidstemmer/screenplay/sample/mortar/component/PresentationComponent.java) branch. I would pull down that branch and use it as a reference.
The thing to understand about Components is that they have a lifecycle. When the Scene that the component is attached to is created, afterSetUp is called. When the Scene is destroyed, beforeTearDown is called. Your problem is that you are calling getView before Component.afterSetUp has been called.
To fix this, put all of your view binding logic (background color etc.) into the afterSetUp method.
Thanks so much for your interested! Keep in mind that Screenplay is currently a work in progress and the API is subject to change. The first stable (non-snapshot) version will be released soon.
How did you find out about this project?

Nice. I'm already on dagger-2 branch. Probably I really missed it. I'll give it a try ASAP.
Fragments are necessary for multi-device-complex-UI apps, but their lifecycle is hell. I'm looking for new ways and Flow+Mortar seems to be reasonable. Screenplay poped up from one of my Google search: I saw it as a sign :-D
I hope you guys keep on pushing it and take it to some Holy Grail we can use in production!
Btw, claim my donation please :-D https://flattr.com/thing/eb1b6d8412ffac5d58c9785ca231b955

I moved my code to Presenter afterSetUp:
@Override
        public void afterSetUp(View view, boolean isInitializing) {
            super.afterSetUp(view, isInitializing);

            ButterKnife.inject(view);
            mWebView.setWebViewClient(new WebViewClient());
            mWebView.setBackgroundColor(0);
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.getSettings().setDomStorageEnabled(false);
            mWebView.loadUrl("http://www.google.it");
        }

and I get:

NICE NICE NICE!!!
Now I only need you to fix #69 and I can start pushing Screenplay to my DevTeam :+1:

@hamen thanks for the input. Closing as fixed.


Plant array default behavior

Description
Developed unit test for determining if dispersal success correctly adds the new plants to the plant array. In the process of developing this unit test I changed how the plant array handles addition and removal of new plants by preallocating the array and using direct indexing as opposed to concatenating, appending, or stacking arrays.
Checklist - did you ...

[ ] Add a news fragment file entry if necessary?
[ ] Add / update tests if necessary?
[ ] Add new / update outdated documentation?
[ ] All tests have passed?
[ ] Formatted code with black?
[ ] Removed lint reported by flake8?
[ ] Sucessful documentation built? (if documentation added or modified)

@CannedIce I'm not sure what your test_check_for_dispersal_success is testing this could be due to my lack of understanding though. To me it seems to be returning the example_plant_array.shape. Did we want to test that the example_plant_arrray.shape is the same as dispersed_size?
Also i'm having trouble getting main_script_DOONIES_demo.ipynb to work. When i run the cell that contains "foredune=GenVeg(pg,dt,sim_start_date,vegparams)" because i don't define plant_array the default is used and the line that says "if plant_array is None" is false since the default is an empty array of size (0,19). Working on making it work so i can unit test some other functions.


The variable ROWS_HEIGHT has a constant 19 value.

The fact that the variable ROWS_HEIGHT has a constant 19 value may lead to issues in height calculation.  Thus, at the second screenshot a user is having undeletable empty rows.
A way to prevent it from being firmly fixed and to make it more flexible should be found.

I'm closing as a duplicate of #11375. If you can provide a reproduction example on Codesandbox their, that would help a lot. Thanks.


Remove version: Anaconda.Miniconda3 version py310_23.5.2-0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-Windows-x86_64.exe
OK
(Automated message - build 911)

Close with reason: Version still available. Closing as requested in other PRs.;


Add error handling asap parser

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

9 of 11 (81.82%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 88.206%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

atomisticparsers/asap/parser.py
9
11
81.82%

Totals

Change from base Build<PHONE_NUMBER>:
0.005%

Covered Lines:
6245

Relevant Lines:
7080

💛  - Coveralls


[QUESTION] OpenWrite stream not generating md5 checksum

Hello, I ran into a problem, while streaming files to zip blob. To do that I OpenWrite stream of blob (it is no seekable), then pass it to ZipArchive and stream files directly to this zip archive. Everythink works fine, no memory is used to materialize files, but md5 content is not generated on blob. When i load all files to seekable stream like MemoryStream, then upload it to blob - md5 content is here, but it needs to load 500mb of files into RAM.
So my question is, how to do it? How to stream lots of files packed into zip, directly to blob, without materialize to RAM.
Here is the code as I do it now.
var zipPath = $"{Paths.GetPath(query.FileTypeEnum)}{Guid.NewGuid()}.zip";
var blockBlobClient = _blobManipulator.GetBlockBlobClient(zipPath);

await using (var blobStream = await blockBlobClient.OpenWriteAsync(true))
{
    using (var zip = new ZipArchive(blobStream, ZipArchiveMode.Create, true))
    {
        createDto = await query.ProcessUploadContentDelegate(async file =>
        {
            await ValidateFile(file, query.FileTypeEnum);

            await using (var fileStream = file.OpenReadStream())
            {
                var zipEntry = zip.CreateEntry(file.FileName);
                await using (var zipEntryStream = zipEntry.Open())
                {
                    _logger.LogInformation($"Adding {file.FileName} to zip");
                    await fileStream.CopyToAsync(zipEntryStream);
                }
            }
        });
    }
}

Azure.Storage.Blobs 12.9.0-beta.1
Windows 10 .NET 5.0.101
Visual Studio 16.8.3

Thank you for your feedback.  Tagging and routing to the team best able to assist.

Hi,
This might be how the storage service works with the difference of how Put Blob and Put Block List. I think @seanmcc-msft explains it here well. Open write works by doing Put Block List(s), so the service does not calculate the MD5. Compared to when you are just using MemoryStream and calling Upload, that calls Put Blob which calculates the MD5.

Ok, thank you for response. I would like to mention that it worked on the deprecated version. The same code.
I am not sure about files >256MB. So why in the new version decided to change this behavior (for OpenWrite) even for small files?
By way of deduction, earlier OpenWrite must using Put Blob, and it was changed to Put Block List for some reason.

I can't speak entirely for the deprecated version of openwrite, but I'm assuming that it either would do an entire Put Blob for the small files (which is something you probably don't want anyways) which would give you the content md5 or it was not writing each block up as you are writing to the stream and was either waiting until the block gets big enough, you closed the stream or there was a delay on the Put Block List.
I think the current version of how we have OpenWrite accurately describes the functionality of the feature.


Community users should be able to see how many autocomplete suggestions and chats they've used within the month

This is done


pre-commit: PR114975

Link: https://github.com/llvm/llvm-project/pull/114975
Requested by: @nikic

/add-label reviewed
/close


Packagist Outdated

composer require thepinecode/blade-filters:dev-master is still pulling the commit from 2019-07-17, which does not include the JS framework fix.

@jpscharf Yes, I know. Very soon I'll make a new release.


CT: Uploading a photograph guidance - required changes

'This guide will show you how to take a digital photo that meets the passport photo rules.' - reword to 'digital photo'
Clarify text on confirmation page - you might be rejected and it should resemble you
'Get a friend to take your photo
Use a plain background
Don’t crop your photo – include your face, shoulders and upper body' - remove
Change example image of good picture to the Corbyn one
Stand in the right position - remove
Check the space around your head and shoulders - remove
'Face the camera with a plain expression' - remove

add fourth option for the user to take a picture now as part of Chrome


Display non-blocking warnings for synchronization delays

https://issues.redhat.com/browse/RHSTOR-5895

Just a doubt, the first screenshot shows an error when no subscription groups are selected, and the second screenshot shows an unknown target cluster. Is this feature tested by changing the code directly?

Just a doubt, the first screenshot shows an error when no subscription groups are selected, and the second screenshot shows an unknown target cluster. Is this feature tested by changing the code directly?

yes, just to see the output message..

/retest

/test images

/test images

/test odf-console-e2e-aws

/test odf-console-e2e-aws


using the gpu for literally anything

look into if anything can be offloaded to gpu

Is anything actually slow? (And I'd petition for any GPU support to be a cargo feature, even if it is on by default.)

It's kinda sluggish for me, and I agree with feature gating
On Mon, Oct 22, 2018, 21:15 Nathan Ringo<EMAIL_ADDRESS>wrote:

Is anything actually slow? (And I'd petition for any GPU support to be a
cargo feature, even if it is on by default.)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/iptq/leanshot/issues/1#issuecomment-432061438, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABnx-kG-rwbSW27Ol2dGCIxnuvMLaalCks5unnvGgaJpZM4X0f3m
.


Show host the task is running on in emp ps

Closes https://github.com/remind101/empire/issues/976
$ EMPIRE_API_URL=http://$(docker-machine ip default):8080 ./build/emp ps -a acme-inc
v2.web.1a1a11a1-aaa1-1aaa-a11a-aaa111a1aa1a  1b1b11b1-bbb1-1bbb-b11b-bbb111b1bb1b  1c1c11c1-ccc1-1ccc-c11c-ccc111c1cc1c  i-1111a111  1X  RUNNING   6m  "acme-inc server"

Opening this since I'd like some feedback, however I don't think this is the right approach since it requires a request to DescribeContainerInstances for each process which will quickly rate limit us. Looking into if it is possible to just make one batch request for all of the containers. If not, might need to cache like in https://github.com/remind101/empire/pull/902.
Also, the output is getting pretty wide so I was wondering if maybe this stuff should be only shown if you pass the -v flag to emp ps. Then we could add other information here like @sanjayprabhu's "commit message" request. https://remind.slack.com/archives/empire/p1471910137001348
New output
v2.web.1a1a11a1-aaa1-1aaa-a11a-aaa111a1aa1a  i-aa111aa1  1X  RUNNING  89m  "acme-inc server"

Other than those comments, this is awesome. This will be really useful!

Just a couple small nits, but overall this looks good to go. Just needs a rebase since https://github.com/remind101/empire/pull/985 was merged.


Broken because of the new rebranding

I wish for this library to be updated
Google's rebranding from Bard to Gemini broke everything

Yes doesn't seem to work after Gemini updates


MH-13082: Removed LTI security vulnerability again

After https://github.com/opencast/opencast/commit/ef7bc8e94936b426bec5cb52f846d81c8c903657 the 3 parameter constructor silently discarded the second and third parameter. I found this behavior confusing so I "fixed" it by reverting that constructor back to its old behavior with #378 not realizing that that brought back the security vulnerability that @mtneug originally fixed with https://github.com/opencast/opencast/commit/ef7bc8e94936b426bec5cb52f846d81c8c903657.
To resolve this problem I simply removed the 3 parameter constructor. That way if you e.g. upgrade from Opencast 4.3 and forget to add the fourth parameter in your config file the highlyTrustedKeys you pass to your constructor won't just be silently discarded. Instead the constructor call itself will fail which (I hope) means people will see more quickly that something stopped working and what stopped working.

@mtneug, isn't this basically a revert of what you just fixed?

@do-you-even-curl, can you please add a proper description to this pull request, explaining what this is about? Also, if it's a security vulnerability, please consider sending such reports and patches to<EMAIL_ADDRESS>

Mhh, checked again: the default is to use the one argument constructor, which should be safe as there are no highlyTrustedKeys and thus no user name is trusted.

@lkiesow @mtneug I described the problem at https://opencast.jira.com/browse/MH-13082 but I added a summary here.
@lkiesow Sorry, I forgot there's a separate workflow for security related issues. As I understand it https://opencast.jira.com/browse/MH-13022, i.e. #378, (which re-introduced the security vulnerability) has not yet made it into any releases. If this fix is included in the releases 3.7, 4.5 and 5.2 there shouldn't be a problem, right? Do you think that's possible?

A better way of having a secure default is to put the default in the code, so if a constructor is used which does not include this parameter, there is a default deny list. This is a much more common pattern, and doesn't break startup for people who don't update their configuration.

@smarquard Good suggestion. That's a lot more user friendly. I added it to this PR.

I agree, this is better than failing, but maybe we should still log a warning. Ultimately we want users to update their configuration and think about special users in their systems.

Ok, is this ready for merge then?  Does it need to go into the older versions as well?  If so can we repoint this PR against the oldest version and then I'll merge it forwards again.

@gregorydlogan I thought about the remarks @staubesv gave during the last developer meeting and I agree that his approach leads to a better solution. As I understood it, he proposed to convert LtiLaunchAuthenticationHandler to an OSGi service with the consequences that:

mh_default_org.xml only contains a reference to the LtiLaunchAuthenticationHandler object and is no longer used to configure LTI.
Instead, LTI is configured via a dedicated configuration file for this OSGi service.
The configuration file contains a blacklist of users who are not allowed to authenticate via LTI.
Maybe can have also a dedicated configuration key for excluding the admin and system user, so that name changes do not have to be reflected in the blacklist.
The LTI documentation has to be updated.

The benefit of an OSGi service is, that the configuration can be changed during runtime, e.g. a new user is created and then inserted into the blacklist.
@gregorydlogan is this something you would be comfortable with merging in 3.x?
@do-you-even-curl would you be willing to implement these changes?

I like the idea of having a separate configuration file for LTI, in part because of the long-neglected PR #166 which I'm the reviewer for. It seems inelegant (and error-prone) to have more and more constructor arguments for extra parameters.

@mtneug it's not ideal, but if it resolves the issue in a clean way we can probably do that.  This should probably be brought up with the 4.x and 5.x RMs as well at this point - if I merge it into 3.x it'll end up everywhere else too.  A final point: 3.x is EOL at this point, and after 6.0's release won't be formally maintained anymore.  A better target might be 4.x, which will be in 3.x's position after 6.0 releases.

@mtneug Unfortunately I'm not familiar enough with the code nor do I have the time right now to familiarize myself with it much more, refactor an entire class, setup a build environment to test it etc.

@do-you-even-curl no worries. You don't mind then, if I would submit such a patch?

@mtneug Of course not.


Cannot import OpenAI from openai

The pypi page shows this example
from openai import OpenAI

client = OpenAI(
    # defaults to os.environ.get("OPENAI_API_KEY")
    api_key="My API Key",
)

chat_completion = client.chat.completions.create(
    messages=[
        {
            "role": "user",
            "content": "Say this is a test",
        }
    ],
    model="gpt-3.5-turbo",
)

Similar examples using openai.OpenAI can be found in official docs for Dalle-3:
from openai import OpenAI
client = OpenAI()

response = client.images.generate(
  model="dall-e-3",
  prompt="a white siamese cat",
  size="1024x1024",
  quality="standard",
  n=1,
)

image_url = response.data[0].url

However, this code will cause the following error (with openai==1.1.1):
ImportError: cannot import name 'OpenAI' from 'openai'
Tested this on both local Windows and a Databricks notebook.

@buptpriswang You're likely not using the right environment. What does import openai; print(openai.VERSION) output for you?

Have the same problem:
import openai; print(openai.VERSION) --> 0.28.1
Previously I've relied on the global client, but I'd like to start initializing my client the correct way.

You'll be using the wrong environment either when installing openai or running python.
There isn't much I can do to help you unfortunately, apart from recommending that you use a venv and activate it https://docs.python.org/3/library/venv.html

So there's no way to use python 3.9 or 3.10 with openai?

No this library supports Python 3.7 and upwards. The issue is with your environment, you're using 3.11 to install the library but then using 3.9 to access it.
You'll have to ensure that you're using the same python version to install and access the library.

@buptpriswang in my case, I had PyCharm open and installed the latest version of openai in terminal, but my PyCharm environment didn't get updated properly. It worked after I reloaded the project. On my Databricks looks like I couldn't uninstall an older version of openai so I couldn't get 1.1.1 installed. Just a perfect storm that made me think it was something bigger than what it really is.

I believe in y'all

thanks @RobertCraigie

thanks @RobertCraigie @omnific9  it should use v1.1.0


scale_custom or scale_identity for data annotation

Useful where you have a column that you know is already transformed and you want to include that in the legend generated for the scale.
  n_incidents, # already transformed
  transform_txt = "sqrt(n_incidents)"
)

The legend then says:
Demand Heatmap
colored by sqrt(incidents)

New param for scales: col_label. Takes either a function with column name as input; or a string with optional "{.col}" template placeholder (which is replaced by the column name).
Examples:
scale_color_power(foo_column, col_label = "sqrt({.col})")
scale_color_power(foo_column, col_label = "a new name")
scale_color_power(foo_column, col_label = snakecase::to_sentence_case)
scale_color_power(foo_column, col_label = function(col) paste0("sqrt(", col, ")"))


USe this.get() to access store

I'm playing with a few interesting use cases, which involve using the "route.js" mixin on objects other than a route (i.e., an Ember.Service or something).
Allowing the store to be accessed is not a big problem -- I can just add a CP on this object
  store: computed({
    get() {
      return this.container.lookup('store:main');
    }
  }),

Unfortunately, accessing this CP directly via a this.store, before the CP's getter function has been invoked for the first time, will end up returning the computed property its self, rather than the property's value.
This small change should maintain the existing use cases just fine, and also allow for potential usage that deviates from the well-traveled path.

Looks good mike!  If you can green it off I'm happy to merge!  I've also been scheming on the concept of of allowing the developer to describe a "promise generator" rather than relying on the ember data store, for folks who aren't using it.
Glad u found this use case before I started on that work...!

@hhff ping

@mike-north
  store: computed({
    get() {
      return this.container.lookup('store:main');
    }
  }),

couldn't this work?
  store: Ember.inject.service(),

:+1: Pretty sure inject doesn't work with the store @kellyselden

released 0.0.13


Fix import issue with 'Iterable' from 'collections'

'Iterable' has moved from 'collections' to 'collections.abc' since
Python 3.9
Resolves #942
Description
Import Iterable from collections.abc and not collections. Iterable was removed from collections in Python 3.10
How has this been tested?
Tested on Python 3.10 and 3.9
Closes
#942

Thanks, looks like coverage upload is only failing, let's see if it resolves after merging, otherwise will take a look!


add sasl support

Ensure that you include the following:

[x] Brief description of changes applied
[x] Any documentation on how to configure, test
[none] Any possible limitations, side effects, etc
[none] Reference any other pull requests that might be related.
[x] I have signed the Apereo ICLA form, located here: https://www.apereo.org/licensing/agreements/icla

adds logic to configure ldaptive's sasl bindings

This is great. Thanks. Make sure you also update the docs with the new properties.

Ah, never mind. You have already. Thanks again.


Updates for Oracle Linux 9 Instant Client

Is there any plans to release a docker image that comes with both oracle linux 9 and instant client? There is 7 and 8, is 9 in the works?

Is there any plans to release a docker image that comes with both oracle linux 9 and instant client? There is 7 and 8, is 9 in the works?

Closed via https://github.com/oracle/docker-images/pull/2790


Use the correct href when not displaying a skeleton

Closes IBM/carbon-components-angular#394
Use the correct href when not displaying a skeleton
Changelog
Changed

Use the correct href when not displaying a skeleton

Good catch 😬

Just going to close and reopen so travis will pick this up ...

Travis is happy! Merge!


Adjust the release doc

Make tag rule more clear. @peng-yongsheng Please check, is this right?

Coverage decreased (-0.004%) to 23.87% when pulling ba2976c4db76e4019c767d3d699844209f59f64a on wu-sheng-patch-1 into a7ecb9aa9c3a9d97003810edde3a67a4d616616c on master.


Can you help me how to add this plugin to tomcat distribution of camunda

Can you help me how to add this plugin to tomcat distribution of camunda.

Take a look here:
https://github.com/StephenOTT/camunda-formio-plugin#typical-camunda-deployment
https://github.com/StephenOTT/camunda-formio-plugin/blob/master/docker/Dockerfile
https://github.com/StephenOTT/camunda-formio-plugin/blob/master/docker/bpm-platform.xml#L38-L40

Can you please provided any video reference as i am not to understand, how can i add this plugin to my tomcat camunda distribution.

@TEJAPS  to install on a tomcat distribution you follow the same steps that are described in the dockerfile:
1. COPY ./tasklist/scripts/. /camunda/webapps/camunda/app/tasklist/scripts
2. COPY ./tasklist/styles/. /camunda/webapps/camunda/app/tasklist/styles
3. COPY ./forms/. /camunda/webapps/forms/

4. COPY ./formfieldvalidator-*-server-plugin.jar /camunda/lib/formfieldvalidator-server-plugin.jar

5. COPY ./bpm-platform.xml /camunda/conf/bpm-platform.xml

You copy the scripts folder (common/tasklist/scripts) into /camunda/webapps/camunda/app/tasklist/scripts
You copy the styles folder (common/tasklist/styles) into /camunda/webapps/camunda/app/tasklist/styles
you copy the forms folder (common/forms) into /camunda/webapps/forms/
you copy the jar into /camunda/lib/
you update your bpm-platform.xml file with the plugin line as indicated in https://github.com/StephenOTT/camunda-formio-plugin/blob/master/docker/bpm-platform.xml#L38-L40

Thanks for quick response.
this jar formfieldvalidator-*-server-plugin.jar of step 4 , i am not able to find in the github directory.

https://github.com/StephenOTT/camunda-formio-plugin/releases

I too am trying to get the plugin installed on Tomcat Standalone.  I'll start from the top and report back any issues.
Thanks

Ok, so do the files we overwrite the files in the scripts folder or create a new folder?
I already have an existing config.js file in here with settings so I'm not sure if we are to overwrite or put in a sub folder.

Have you customized the config.js in your tomcat install?

For the benefit of others here is what copied from your config.js and added to the camTasklistConfi tree;
Please note, I added a "Comma" at the end to separate the data elements.
 customScripts: {         ngDeps: [],         deps: ['loadFormio', 'loadformio'],         paths: {             'loadFormio': 'scripts/loadFormio',             'loadformio': 'scripts/formio.full.min'         }     },
I'll continue testing using a form in a process and report back if issues.
Thanks

@TEJAPS If you run Docker desktop, your configuration setup would be much less burdensome :)

@cybrpimp If you run Docker desktop, your configuration setup would be much less burdensome :)

Did you get is working?

Yes sir, I was able to get it working.  Thanks!


API Endpoint name should be a slug

Currently non-URL friendly characters can be used as API endpoint name. This is a problem as they wouldn't be accessible from /apis/API_NAME endpoint.
API endpoint name should be validated and matched against the following pattern:
/^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$/
Reference
https://github.com/hellofresh/janus-dashboard/issues/240

https://github.com/hellofresh/janus/pull/268

solved on #272


Add 'lang' attribute to front-end date field schema

Issue: https://github.com/silverstripe/silverstripe-framework/issues/6140

I'm giving this a review now.

I'm also open to the idea of renaming some of these get*formatter methods.
getISO8601Formatter() could be getInternalFormatter(), for clarity of purpose.

We can delete DatetimeField::getTimezoneFormatter() now :)


Installation error

I get an installation error when trying to install unitypack via pip3.
sudo pip3 install unitypack
Collecting unitypack
  Using cached unitypack-0.7.2-py3-none-any.whl
Requirement already satisfied: fsb5 in /usr/lib/python3.5/site-packages (from unitypack)
Collecting decrunch (from unitypack)
  Using cached decrunch-0.3.0.tar.gz
Requirement already satisfied: Pillow in /usr/lib/python3.5/site-packages (from unitypack)
Collecting lz4 (from unitypack)
  Using cached lz4-0.9.0.tar.gz
Requirement already satisfied: olefile in /usr/lib/python3.5/site-packages (from Pillow->unitypack)
Installing collected packages: decrunch, lz4, unitypack
  Running setup.py install for decrunch ... error
    Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-vqjhr4nm/decrunch/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-ut403uny-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    building 'decrunch' extension
    creating build
    creating build/temp.linux-x86_64-3.5
    x86_64-unknown-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fstack-protector-strong -D_FORTIFY_SOURCE=2 -mtune=generic -O2 -pipe -g -fPIC -Icrunch -I/usr/include/python3.5m -c crn_decomp.cpp -o build/temp.linux-x86_64-3.5/crn_decomp.o
    cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
    In file included from crn_decomp.cpp:10:0:
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<bool>::destruct(bool*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:536:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(bool)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<bool>::destruct_array(bool*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:536:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(bool)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:536:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(bool)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<char>::destruct(char*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:537:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(char)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<char>::destruct_array(char*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:537:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(char)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:537:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(char)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<unsigned char>::destruct(unsigned char*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:538:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned char)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<unsigned char>::destruct_array(unsigned char*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:538:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned char)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:538:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned char)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<short int>::destruct(short int*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:539:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(short)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<short int>::destruct_array(short int*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:539:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(short)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:539:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(short)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<short unsigned int>::destruct(short unsigned int*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:540:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned short)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<short unsigned int>::destruct_array(short unsigned int*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:540:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned short)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:540:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned short)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<int>::destruct(int*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:541:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(int)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<int>::destruct_array(int*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:541:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(int)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:541:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(int)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<unsigned int>::destruct(unsigned int*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:542:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned int)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<unsigned int>::destruct_array(unsigned int*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:542:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned int)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:542:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned int)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<long int>::destruct(long int*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:543:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(long)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<long int>::destruct_array(long int*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:543:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(long)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:543:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(long)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<long unsigned int>::destruct(long unsigned int*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:544:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned long)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<long unsigned int>::destruct_array(long unsigned int*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:544:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned long)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:544:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(unsigned long)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<long long int>::destruct(crnd::int64*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:545:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(int64)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<long long int>::destruct_array(crnd::int64*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:545:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(int64)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:545:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(int64)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<long long unsigned int>::destruct(crnd::uint64*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:546:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(uint64)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<long long unsigned int>::destruct_array(crnd::uint64*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:546:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(uint64)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:546:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(uint64)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<float>::destruct(float*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:547:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(float)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<float>::destruct_array(float*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:547:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(float)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:547:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(float)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<double>::destruct(double*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:548:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(double)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<double>::destruct_array(double*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:548:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(double)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:548:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(double)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<long double>::destruct(long double*)':
    crunch/crn_decomp.h:533:41: warning: statement has no effect [-Wunused-value]
        static inline void destruct(X* p) { p; } \
                                             ^
    crunch/crn_decomp.h:549:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(long double)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h: In static member function 'static void crnd::scalar_type<long double>::destruct_array(long double*, crnd::uint32)':
    crunch/crn_decomp.h:534:59: warning: left operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                               ^
    crunch/crn_decomp.h:549:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(long double)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    crunch/crn_decomp.h:534:60: warning: right operand of comma operator has no effect [-Wunused-value]
        static inline void destruct_array(X* p, uint32 n) { p, n; } };
                                                                ^
    crunch/crn_decomp.h:549:4: note: in expansion of macro 'CRND_DEFINE_BUILT_IN_TYPE'
        CRND_DEFINE_BUILT_IN_TYPE(long double)
        ^~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from crn_decomp.cpp:10:0:
    crunch/crn_decomp.h: In function 'void crnd::crnd_output_debug_string(const char*)':
    crunch/crn_decomp.h:2405:8: warning: statement has no effect [-Wunused-value]
           p;
            ^
    crunch/crn_decomp.h: In function 'void* crnd::crnd_default_realloc(void*, size_t, size_t*, bool, void*)':
    crunch/crn_decomp.h:2420:17: warning: statement has no effect [-Wunused-value]
           pUser_data;
                     ^
    crunch/crn_decomp.h: In function 'size_t crnd::crnd_default_msize(void*, void*)':
    crunch/crn_decomp.h:2479:17: warning: statement has no effect [-Wunused-value]
           pUser_data;
                     ^
    crunch/crn_decomp.h: In function 'const crnd::crn_header* crnd::crnd_get_header(crnd::crn_header&, const void*, crnd::uint32)':
    crunch/crn_decomp.h:2687:7: warning: statement has no effect [-Wunused-value]
           tmp_header;
           ^~~~~~~~~~
    crunch/crn_decomp.h: In member function 'bool crnd::crn_unpacker::unpack_level(const void*, crnd::uint32, void**, crnd::uint32, crnd::uint32, crnd::uint32)':
    crunch/crn_decomp.h:3707:27: warning: statement has no effect [-Wunused-value]
              dst_size_in_bytes;
                               ^
    crunch/crn_decomp.h: In member function 'bool crnd::crn_unpacker::unpack_dxt1(crnd::uint8**, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32)':
    crunch/crn_decomp.h:4142:27: warning: statement has no effect [-Wunused-value]
              dst_size_in_bytes;
                               ^
    crunch/crn_decomp.h: In member function 'bool crnd::crn_unpacker::unpack_dxt5(crnd::uint8**, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32)':
    crunch/crn_decomp.h:4328:27: warning: statement has no effect [-Wunused-value]
              dst_size_in_bytes;
                               ^
    crunch/crn_decomp.h: In member function 'bool crnd::crn_unpacker::unpack_dxn(crnd::uint8**, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32)':
    crunch/crn_decomp.h:4471:27: warning: statement has no effect [-Wunused-value]
              dst_size_in_bytes;
                               ^
    crunch/crn_decomp.h: In member function 'bool crnd::crn_unpacker::unpack_dxt5a(crnd::uint8**, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32, crnd::uint32)':
    crunch/crn_decomp.h:4613:27: warning: statement has no effect [-Wunused-value]
              dst_size_in_bytes;
                               ^
    In file included from crn_decomp.cpp:10:0:
    crunch/crn_decomp.h: In instantiation of 'void crnd::crnd_delete_array(T*) [with T = unsigned int]':
    crunch/crn_decomp.h:1916:42:   required from here
    crunch/crn_decomp.h:653:10: warning: statement has no effect [-Wunused-value]
              num_check;
              ^~~~~~~~~
    crunch/crn_decomp.h: In instantiation of 'void crnd::crnd_delete_array(T*) [with T = short unsigned int]':
    crunch/crn_decomp.h:1923:55:   required from here
    crunch/crn_decomp.h:653:10: warning: statement has no effect [-Wunused-value]
    crunch/crn_decomp.h: In instantiation of 'void crnd::helpers::destruct(T*) [with T = crnd::prefix_coding::decoder_tables]':
    crunch/crn_decomp.h:641:27:   required from 'void crnd::crnd_delete(T*) [with T = crnd::prefix_coding::decoder_tables]'
    crunch/crn_decomp.h:2927:35:   required from here
    crunch/crn_decomp.h:488:10: warning: statement has no effect [-Wunused-value]
              p;
              ^
    crunch/crn_decomp.h: In instantiation of 'void crnd::helpers::destruct(T*) [with T = crnd::crn_unpacker]':
    crunch/crn_decomp.h:641:27:   required from 'void crnd::crnd_delete(T*) [with T = crnd::crn_unpacker]'
    crunch/crn_decomp.h:4739:23:   required from here
    crunch/crn_decomp.h:488:10: warning: statement has no effect [-Wunused-value]
    x86_64-unknown-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fstack-protector-strong -D_FORTIFY_SOURCE=2 -mtune=generic -O2 -pipe -g -fPIC -Icrunch -I/usr/include/python3.5m -c decrunch.cpp -o build/temp.linux-x86_64-3.5/decrunch.o
    cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
    decrunch.cpp:19:20: fatal error: Python.h: No such file or directory
     #include "Python.h"
                        ^
    compilation terminated.
    error: command 'x86_64-unknown-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-vqjhr4nm/decrunch/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-ut403uny-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-vqjhr4nm/decrunch/

Running Void Linux here, kernel 4.10.13_1.
Python version 3.5.3
I tried to install decrunch manually but i get the same error.

Iam Sorry! This is a new machine, i forgot to install python3-devel.
Its early in the morning, forgive me :)


Documentation: Revise Partition Instructions

Problem
I was working on writing a blog post about how to try impermanence with NixOS in a VM and noticed the NixOS manual now uses MB / GB instead of MiB / GiB for the install instructions.
https://github.com/NixOS/nixpkgs/pull/200180 changed MiB to MB and GiB to GB in the installation instructions.
The reason for the change primarily had to do with fixing alignment warnings.
Boot partition size
However, there are places where the instructions now say MiB, but use MB with parted. The 512MB boot partition now ends up being ~488 MiB.
The Arch wiki mentions:

For early and/or buggy UEFI implementations the size of at least 512 MiB might be needed.

... If you plan to install multiple kernels and either mount the partition to /boot or pack the kernels in unified kernel images, you can use 1 GiB to be on the safe side.

Also some other information on the topic: https://askubuntu.com/questions/1313154/how-to-know-the-proper-amount-of-needed-disk-space-for-efi-partition
Alignment warnings
I have run into this issue as well. My fix at the time was to simply use cfdisk, but I realize a TUI workflow isn't the best for documentation purposes.
The reason the change away from IEC units (e.g. MiB to MB) worked is because when using IEC units with parted it won't search around the given location for optimal alignment:
/* If the user specifies the address using IEC units e.g., 4MiB, as in
   parted -s -- $dev mklabel gpt mkpart P-NAME 4MiB -34s
   do not use size of the unit as the range.  Rather, presume that they
   are specifying precisely the starting or ending number,
   and treat "4MiB" just as we would treat "4194304B".  */
case PED_UNIT_KIBIBYTE:
case PED_UNIT_MEBIBYTE:
case PED_UNIT_GIBIBYTE:
case PED_UNIT_TEBIBYTE:
    radius = 0;
    break;

The code above from parted unit.c is here. Figured that out when reading this post.
For context, these are the partition steps for UEFI before the above change from IEC units:
# parted /dev/sda -- mklabel gpt
# parted /dev/sda -- mkpart root ext4 512MiB -8GiB
# parted /dev/sda -- mkpart swap linux-swap -8GiB 100%
# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB
# parted /dev/sda -- set 3 esp on

The results of these the above steps look like:

I think the -8GiB is what's causing alignment issues for most people. One example is here where trusktr switched to using percents for the swap partition to fix his alignment issue.
Just out of curiosity, here's what calamares is doing for partitioning (with swap and no hibernate):

Here's what Pop! OS does:

Proposal
I think we should change install instructions to something roughly like this:
$ sudo parted
Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0 has been
opened read-only.
GNU Parted 3.6
Using /dev/sr0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) select /dev/vda
Using /dev/vda
(parted) unit MiB
(parted) mklabel gpt
(parted) mkpart ESP fat32 1 513
(parted) set 1 boot on
(parted) mkpart swap linux-swap 513 8705
(parted) mkpart nix 8705 100%
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 30720MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start    End       Size      File system     Name  Flags
 1      1.00MiB  513MiB    512MiB    fat32           ESP   boot, esp
 2      513MiB   8705MiB   8192MiB   linux-swap(v1)  swap  swap
 3      8705MiB  30719MiB  22014MiB                  nix

(parted) align-check optimal 1
1 aligned
(parted) align-check optimal 2
2 aligned
(parted) align-check optimal 3
3 aligned
(parted) ^C
$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0  3.1G  1 loop /nix/.ro-store
sr0     11:0    1  3.2G  0 rom  /iso
vda    253:0    0   30G  0 disk
├─vda1 253:1    0  512M  0 part
├─vda2 253:2    0    8G  0 part
└─vda3 253:3    0 21.5G  0 part

I find it simpler to partition in order and just do swap after the boot partition. Then make the root partition using 100% of the remaining space.
This also fixes the boot partition to be 512 MiB (same as calamares) instead of 488 MiB (due to MB) or 511 MiB (from before).
Perhaps sticking to the # parted /dev/sda --  style instead of parted repl is better for documentation purposes though.
The 8705 might be confusing to some people, but it's just 513 + 8192 (8192MiB = 8GiB).
Here's what the above looks like in gparted:

Checklist

[X] checked latest Nixpkgs manual (source) and latest NixOS manual (source)
[X] checked open documentation issues for possible duplicates
[X] checked open documentation pull requests for possible solutions

Add a :+1: reaction to issues you find important.

I finally made the blog post https://willbush.dev/blog/impermanent-nixos/. If you read it, you'll notice I made a mistake in my issue above about the alignment of the start being 1.00MiB. There is a way to find optimal alignment (near the end of my blog post). I'm not sure it's worth the hassle to add those instructions to the manual. So I'm just going to close this issue.


android only: ui-material-tabs > 6.2.20 breaks nativescript-ui-calendar

I have a nativescrip-ui-calender in a page displayed within the ui-material-tabs. On Android, the styles of the calendar are broken when it is loaded. In addition to the basic styles I am configuring some parameters of the calendar in the loaded event
	if (global.isAndroid) {
		// disable gestures to switch between view modes
		const gestureManager = this._radCalendar.nativeView.getGestureManager();
		gestureManager.setPinchOpenToChangeDisplayMode(false);
		gestureManager.setPinchCloseToChangeDisplayMode(false);
		gestureManager.setSwipeUpToChangeDisplayMode(false);
		gestureManager.setSwipeDownToChangeDisplayMode(false);
		gestureManager.setTapToChangeDisplayMode(false);
		gestureManager.setDoubleTapToChangeDisplayMode(false);
		this._radCalendar.android.setDayNamesHeight(Utils.layout.toDevicePixels(18));
		this._radCalendar.android.setTitleHeight(30 * Screen.mainScreen.scale);
		this._radCalendar.android.setInOriginalSizeForAllModes(true);
	}

The following lines result in the calendar disappearing at all
this._radCalendar.android.setDayNamesHeight(Utils.layout.toDevicePixels(18));
this._radCalendar.android.setTitleHeight(30 * Screen.mainScreen.scale);
this._radCalendar.android.setInOriginalSizeForAllModes(true);
Seems like the view layout is not correctly updated when it is in a page displayed in the tabs component
Which platform(s) does your issue occur on?

Android API 28 tried on Emulator und device

Please, provide the following version numbers that your issue occurs with:

CLI: 8.2.2
Cross-platform modules: "@nativescript/core": "8.2.1",
Runtime(s): "@nativescript/android": "8.2.2"
Plugin(s):  "nativescript-ui-calendar":"8.0.2"

@cjohn001 this issue should be reported in the calendar plugin. i cant support any of the ui plugin as they are closed source.

@farfromrefug : I am rather sure that this is a problem related to the rewrite of the android version of MDTabs. On MDTabs till version 6.2.20 this works as expected and I am using the calendar plugin in at least 5 different pages in the same app ,exactly same source as on the MDTabs page, without issues

@cjohn001 yes you are right it is related to that change. we now use the normal fragment technique .
now if you say.that the calendar works without calling those lines then i can it should be reported in the calendar repo. again as they are closed source i have no idea of what s happening behind and i can neither say the issue is here nor fix it


Enable travis

Is it possible you could enable the travis integration?

Since there are GH actions I guess we don't need this anymore...
@sagikazarmark btw can you check the packagist integration?

done


Revert "Update _integer[UPDATED].cpp"

        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max(), '\n');

I don't think we need to use this 2 functions. We input a string and after checking if it's ok, we'll convert it to int. It means that if it's not the valid number as we need, it's still a string and so we just need to redo the do-while loop. I tried running without this functions and it still worked.

Thanks @section0000 !! Good eye, I did not catch that!! Thanks again!


time: Parse error messages may be confusing/misleading

What version of Go are you using (go version)?

$ go version
go version go1.19.3 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"

What did you do?
https://go.dev/play/p/PUywlZ7-BE5
func main() {
	_, err := time.Parse("2006-01-02", "22-10-25")
	fmt.Println(err)
}

What did you expect to see?
parsing time "22-10-25" as "2006-01-02": cannot parse "22" as "2006"

What did you see instead?
parsing time "22-10-25" as "2006-01-02": cannot parse "0-25" as "2006"

It appears that this the parser is doing some blocking or chunking that gets misaligned in the error reporting when fewer than the expected number of digits appear in the input.

Does this still reproduce at HEAD? @dsnet has landed a bunch of Parse fixes during the 1.20 development cycle.

Unfortunately it's still an issue:
> ./bin/go version
go version devel go1.20-cb5534c1c6 Wed Nov 16 02:02:26 2022 +0000 linux/amd64
> ./bin/go run /tmp/timebug.go
parsing time "22-10-25" as "2006-01-02": cannot parse "0-25" as "2006"


Fixes gh-1137 | request param can be removed before routing the request

RemoveRequestParameter GatewayFilter Factory
The RemoveRequestParameter GatewayFilter Factory takes a name parameter. It is the name of the query parameter to be removed. Fixes #1137

Squashed and merged with some polish via c8a693b50acaa283c844a278ddbef6b69120b86e. Auto-config was missing which showed when I made an integration test.
Thanks for your contribution!