Drop tree.json

Description
The tree.json file is growing bigger and will cause problem for git command one day. So it is required to drop tree.json file in git repo and generate it only in local cache.
The PR dropping tree.json in aaz model: https://github.com/Azure/aaz/pull/615
Backend

Add a new class CMDSpecsPartialCommandTree to support partial commands and command groups management.
Through overwriting the __getitem__ method of CMDSpecsCommandDict and CMDSpecsCommandGroupDict, support similar interface of PartialCommandTree and a full CommandTree.
Add new api /AAZ/Specs/CommandTree/Simple to get a simplified tree from folder structure.
Add new api /AAZ/Specs/CommandTree/Nodes/Leaves to batched get command leaves.

Frontend

Rewrite the CLIModGeneratorProfileCommandTree. Change it from class component to function component.
Support dynamic load of command tree leaves in ModGenerator.
Add new property selected to ProfileCTCommand and ProfileCTCommandGroup to mark selection state no matter it is loaded or not.
Change ProfileCommandTree to object instead of list.

i found there is a minor difference in the behavior of tmpl = get_templates()["command"] tmpl.render(command=node):

i found there is a minor difference in the behavior of tmpl = get_templates()["command"] tmpl.render(command=node):

@necusjz The command.md is generated through a jinja2 template where \\\n is used to concat multi-line helps.
I would change the regex that extracts helps from markdown.
{%- if command.help.lines is not none and command.help.lines|length %}

{{ command.help.lines|join('\\\n')}}
{%- endif %}


When the associated alert engine uses Edge, the AlertCurEvent ID is always 0

Relevant server.conf | webapi.conf
none

Relevant logs
在使用  Edge  作为告警引擎时

event 事件id 始终为 0

通过 {{.Id}} 获取也始终为 0

2023-09-11 18:38:33.688794 DEBUG eval/eval.go:166 rule_eval:alert-1-128 query:{PromQl:node_cpu_seconds_total{cpu="0",mode="idle"} > 500 Severity:2}, value:node_cpu_seconds_total{cpu="0", instance="node_exporter:9100", job="node_exporter", mode="idle", team="cloud"} => 627845.1 @[1694428713.685]
2023-09-11 18:38:33.688962 DEBUG process/process.go:309 rule_eval:alert-1-128 event:&{Id:0 Cate:prometheus Cluster:defalut DatasourceId:1 GroupId:1 GroupName:Default Busi Group Hash:9399bcfdc927ace747a5f426148c6246 RuleId:128 RuleName:Node Cpu Idle Hight RuleNote:Node {{ $labels.instance }} Cpu Idle Hight {{ .Cluster }} {{ .Severity }}  --- > {{ $value }} RuleProd:metric RuleAlgo: Severity:2 PromForDuration:10 PromQl:node_cpu_seconds_total{cpu="0",mode="idle"} > 500 RuleConfig:{"queries":[{"prom_ql":"node_cpu_seconds_total{cpu=\"0\",mode=\"idle\"} \u003e 500","severity":2}]} RuleConfigJson:map[queries:[map[prom_ql:node_cpu_seconds_total{cpu="0",mode="idle"} > 500 severity:2]]] PromEvalInterval:10 Callbacks: CallbacksJSON:[] RunbookUrl: NotifyRecovered:1 NotifyChannels: NotifyChannelsJSON:[] NotifyGroups: NotifyGroupsJSON:[] NotifyGroupsObj:[] TargetIdent: TargetNote: TriggerTime:1694428713 TriggerValue:627845.1 Tags:__name__=node_cpu_seconds_total,,alertname=nodecpuidlehight,,cpu=0,,instance=node_exporter:9100,,job=node_exporter,,mode=idle,,rulename=Node Cpu Idle Hight,,team=cloud TagsJSON:[__name__=node_cpu_seconds_total alertname=nodecpuidlehight cpu=0 instance=node_exporter:9100 job=node_exporter mode=idle rulename=Node Cpu Idle Hight team=cloud] TagsMap:map[__name__:node_cpu_seconds_total alertname:nodecpuidlehight cpu:0 instance:node_exporter:9100 job:node_exporter mode:idle rulename:Node Cpu Idle Hight team:cloud] Annotations:{"FeishuAts":"\u003cat<EMAIL_ADDRESS>AnnotationsJSON:map[] IsRecovered:false NotifyUsersObj:[] LastEvalTime:1694428713 LastEscalationNotifyTime:0 LastSentTime:0 NotifyCurNumber:0 FirstTriggerTime:0 ExtraConfig:<nil> Status:0 Claimant: SubRuleId:0} fire

### System info

v6.1.0

### Steps to reproduce

none

### Expected behavior

none

### Actual behavior

none

### Additional info

_No response_

Based on the log analysis, it appears that the event ID is not immediately stored in the process. Instead, it is stored after being consumed by the consumer goroutine through the LoopConsume() function. Therefore, the observed behavior aligns with expectations (process/process.go:xx rule_eval:alert-x-x event:&{Id:0).
However, it should have a specific ID assigned after the storage process. In other words, the observed behavior does not match the expected outcome (as per the configuration of {{.Id}} in the Notification Template, it shouldn't have a value of 0).

Based on the log analysis, it appears that the event ID is not immediately stored in the process. Instead, it is stored after being consumed by the consumer goroutine through the LoopConsume() function. Therefore, the observed behavior aligns with expectations (process/process.go:xx rule_eval:alert-x-x event:&{Id:0).
However, it should have a specific ID assigned after the storage process. In other words, the observed behavior does not match the expected outcome (as per the configuration of {{.Id}} in the Notification Template, it shouldn't have a value of 0).

wow ~ Good Job
When can this be merged

When will this bug be fixed?


Bump GitHub Actions

Bump some GitHub actions, which should help fix the failure as seen in https://github.com/jupyter/governance/pull/236:

Merging to help fix CI for other PRs.


Replace "высокороувневые" -> "высокоуровневые"

Hi! Proposed grammar changes to make the quiz questions more readable.
Also thanks for the book.

Hey! Thanks for spotting the typos :–)


Add WYSIWYG editor button as part of Logical Theme Hack

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
I understand there is a method for adding WYSIWYG editor buttons through custom HTML head, however I was hoping to find a way to do so as part of a logical theme so as to avoid using in app settings.
Exact BookStack Version
v24.03-dev
Log Content
No response
Hosting Environment
Debian 12, installed using official docker-compose

Hi @LachTrip,
You could do this via the visual theme system to just add a custom script with the required code, in a location that's loaded when the editor is.
You'd just need to ensure any script tags have a nonce attribute applied as reflected below since otherwise they'd be blocked:
<script nonce="{{ $cspNonce }}">
    // JS code here
</script>

Thanks @ssddanbrown,
Missed a step and was using a blade template completely unrelated.


[Feature][Support Struct] Support struct type in ORC format.

What type of PR is this：

[ ] BugFix
[x] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Tasks: #12339
Previously closed struct subfield lazyload pr: #11521
In the pr, we do the following things:

Build a global ORC mapping, mapping position in table definition to column id in orc, so that we can use orc's column id to control lazy load, loading specific columns. (Previously we used column names for lazy load, including columns, which made it impossible to handle sub-columns of the struct).
Support struct and map partial materialize.
Move out all orc fill functions into orc_fill_functions.h.
Moved LazyLoad test cases out of the apache-orc folder, so that run-ut.sh can test orc lazy load directly.
 (Just support it in the orc library, orc_chunk_reader.cpp still only support column lazy load).


Please add better docs and examples

As a css-in-js newbie, i have really no idea how to use this lib when i read only the website.
After study the code and the examples it got clearer. But big waste of time, if everybody has to do that.
You should add a sentence for which benefit this lib is absolute needed and superior to other solutions.
E.g. why should i use this and not the things inlcuded in styled-components like theming?
smaller virtual DOM updates for a newbie like me, how, what perfomance gain could i expect?
Example from Webpage:
What are tokens?
Why i need and define tokens?
Confusing example "Create themeable CSS Snipptes": What is gradientStartColor variable? is it mistyped startColor?
Describe the api:
Which parameters has createVar?
How to access them? with .val, with .toStyle(...)?
createGlobalTheme with scope without scope "", difference?

As a veteran css-in-js user, I must agree and am missing first and foremost one crucial detail: what problem does this package solve?
Thanks!


Bug: the new scrolling feature is not working on firefox

Hi guys, we are already have the new scrolling feature in production. We noticed that on firefox the scrolling doesn't seem to work, the edges seem to move away from the nodes when you're scrolling on the latest version of firefox: 82.0.2. Only the scrolling seems to be an issue, the panning is working fine on firefox.
You can check this behaviour in this codesandbox: https://codesandbox.io/s/xhgq6
Thanks in advance.

Thanks for the hint! It should work with v7.1.1 but the scroll speed is not the same for firefox and chrome. We will leave this issue open until it is fixed. May be this helps https://github.com/facebookarchive/fixed-data-table/blob/master/src/vendor_upstream/dom/normalizeWheel.js

@moklick Nice, it works on firefox now. It seems like the scrolling behaviour is inverted from the regular scrolling and the opposite of the scrolling implemented in v7.0.0 is this done on purpose?

@roywillemse, can you clarify this? we want the scrolling to behave similar to sketch, figma etc. Scroll speed in firefox has been fixed in 7.1.2.


[draft] feat: Implement Single-Step Debugging Mode for Sierra Statements

Description:
This task involves adding a feature that enables developers to debug Sierra statements on an individual basis. A mode selector will be added to the right-hand panel of the user interface, allowing the user to switch between 'Execution Trace' and the new 'Sierra' debug view.
Task Objectives:

Selector Addition: Introduce a toggle in the right window for users to switch between 'Execution Trace' and 'Sierra' modes.

Sierra Mode Display:

Display Sierra statements in place of the Execution Trace when 'Sierra' mode is selected.
Omit registers and execution steps from the 'Debug Info' window in 'Sierra' mode.
Exclude FP (Frame Pointer), CALL PC (Call Program Counter), and RET PC (Return Program Counter) from the call stack table in 'Sierra' mode.

Step-Through Logic for Sierra Mode:

For steps mapped to multiple Sierra statements:

Initially highlight the first Sierra statement.
Progress to highlight subsequent statements on user action (e.g., clicking "Step Next").

Manage the step-through process using two counters:

A "substep" counter specific to Sierra mode.
The existing executionTraceStepNumber.

Increment the "substep" counter first; once all "substeps" are executed, increase the executionTraceStepNumber and reset the "substep" counter.

Code Editor Synchronization in Sierra Mode:

Ensure that in 'Sierra' mode, the Cairo editor highlights only the code segments corresponding to the active Sierra statement being debugged.

Notes:

Ensure that the existing 'Execution Trace' functionality remains unaffected when it is the selected mode.

Hey, I would like to work on this. I have been through the visualization task and all so well aware with the working. I can make a new component for this with the necessary changes.

Hello, I would love to have the chance to work on a hard task :) My last contribution gave me an overview of how works the debugging with highlights so I think I am able to work on this !


hard to understand how to return JSON

I want to have expressions like this:
{"foo": headers.foo}

I.e. arguments are JSON, return is JSON.
I'm not clear from the docs how to do this.

Ok. JSON object is just map.


Add env var generation in GHA build step to pass to Docker

Closing this since their is only a single environment at the moment


the next and ghost wallet you can disabled it but the coin still appearing doble in the exchange.

appears only on old users


Feature Request - Hide taskbar labels without combining icons

I'd love to see this feature implemented.

By the way, I noticed that source code of the app @AzimsTech mentioned is on GitHub . But I haven't looked at it any further, just to let you know.


cast ai: brew installation failure

Error: Invalid formula: /usr/local/Homebrew/Library/Taps/castai/homebrew-tap/Formula/cli.rb
cli: Calling bottle :unneeded is disabled! There is no replacement.
Please report this issue to the castai/tap tap (not Homebrew/brew or Homebrew/core):
/usr/local/Homebrew/Library/Taps/castai/homebrew-tap/Formula/cli.rb:10
Error: Invalid formula: /usr/local/Homebrew/Library/Taps/castai/homebrew-tap/Formula/cast-cli.rb
cast-cli: Calling bottle :unneeded is disabled! There is no replacement.
Please report this issue to the castai/tap tap (not Homebrew/brew or Homebrew/core):
/usr/local/Homebrew/Library/Taps/castai/homebrew-tap/Formula/cast-cli.rb:10
Error: Cannot tap castai/tap: invalid syntax in tap!
❯ brew install castai/tap/cli

Seeing
$ brew install castai/tap/cli
Error: castai/tap/cli: wrong number of arguments (given 1, expected 0)


Move eslint-config-react-tools to devDependencies

Since new version i am getting a warning:

I can create A PR for this.
Also looking at the eslint-config-react-tools's dependencies:
{
  ...
  "dependencies": {
    "babel-eslint": "^7.2.3",
    "eslint": "^4.3.0",
    "eslint-config-airbnb": "^15.1.0",
    "eslint-plugin-class-property": "^1.0.6",
    "eslint-plugin-import": "^2.7.0",
    "eslint-plugin-jsx-a11y": "^6.0.2",
    "eslint-plugin-react": "^7.4.0"
  },
  "peerDependencies": {
    "eslint-plugin-class-property": "^1.0.6",
    "eslint-plugin-import": "^2.7.0",
    "eslint-plugin-jsx-a11y": "^5.1.1",
    "eslint-plugin-react": "^7.1.0"
  }
}

The following need to be added to devDependencies as well:
eslint-plugin-class-property
eslint-plugin-jsx-a11y

And the following can be removed:
"eslint": "^4.1.1",
"eslint-config-standard": "^10.2.1",
"eslint-plugin-node": "^5.2.0",
"eslint-plugin-standard": "^3.0.1",

Despite the actual package.json in the repository moving this dependency and the version on npm matching the latest version in the repo, it seems like an outdated package.json was published in npm as this is still an issue.

@frankolson There has been a bit of activity in getting the PRs in - I think this has been done now and released in 6.7.5 but it would be good if you could check. Thanks. I've closed it for now.


Preview window is empty if suggestion command returns no results

Describe the bug
If the supplied suggestion command following $ does not return any results, the complete preview window becomes empty.
To Reproduce
Run this cheat sheet in a folder which does not contain any .tar files.
# Extract tar archive (gz/bz2/xz)
tar -xf <file>
$ file: ls *.tar

Then the preview window is empty:

Expected behavior
The preview window should behave as if no suggestion command has been supplied:

Versions:

OS: WSL ubuntu
Shell Version GNU bash, version 5.0.17(1)-release

If you type something, the behavior will be as expected:

Yes, sure!


feat(rms): rms resources not tested

Description of your changes
feat(mrs/cluster): Add MRS Cluster example
chore(mrs/job): find an issue #140
I have:

[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
NAME                                                        READY   SYNCED   EXTERNAL-NAME                          AGE
cluster.mrs.flexibleengine.upbound.io/example-mrs-cluster   False   True     30b44829-2aa6-4f31-95cb-0895737de1e7   20h

NAME                                                     READY   SYNCED   EXTERNAL-NAME                          AGE
vpcsubnet.vpc.flexibleengine.upbound.io/example-subnet   False   True     289c2821-cf2d-4796-859b-fa29d6f15a68   20h

NAME                                            READY   SYNCED   EXTERNAL-NAME                          AGE
vpc.vpc.flexibleengine.upbound.io/example-vpc   False   True     85b5b797-92d6-4749-9411-72298253be1b   20h

Please edit title of PR. Only cluster resource has tested


Update dataset processing to match updated schema 2.0.0 field schema_version

The version dict is being deprecated in favor of a schema_version string.   The version getter and validation code should be updated to reflect this change.
Getter:
https://github.com/chanzuckerberg/corpora-data-portal/blob/6357aa21d5a5da3986310f1dd595769f0e03422e/backend/corpora/dataset_processing/h5ad_data_file.py#L292-L314
Validation:
https://github.com/chanzuckerberg/corpora-data-portal/blob/6357aa21d5a5da3986310f1dd595769f0e03422e/backend/corpora/dataset_processing/h5ad_data_file.py#L262-L270

Are we going to want to keep the old implementation of  get_corpora_versions() to determine old (1.x.x) schema versions? Or will we determine that the absence of schema_version means < 2.0.0


Cake51

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 32.37%. Comparing base (b9575e4) to head (2804a83).
Report is 1 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##             master      #38      +/-   ##
============================================
+ Coverage     32.30%   32.37%   +0.07%
- Complexity      572      573       +1
============================================
  Files            38       38
  Lines          1848     1850       +2
============================================
+ Hits            597      599       +2
  Misses         1251     1251

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


Feature/captcha

Adds support for the Captcha soon to be required by the Meeco username generation endpoint. Should not be merged until the API is deployed with Captcha requirement.
Will open a web browser with the captcha page when users:create is run and then send the token with the username generation request.

cc @linasi

Looks good to me.
As discussed though we will have to wait to see if the server ends up implementing this behaviour or not.

Merging as captcha requirement has been deployed API side.


Attach stdout of one container to stdin of another (pipe-like)

Is it possible now ?
I believe it's not, at least not at the daemon level.
The idea is to have a built-in pipe-like feature to easily chain micro-services:
docker run -i --name my_service ubuntu bash -c "cat"
docker run --stdout my_service ubuntu bash -c "echo foo"

With the exact same result as local:
echo foo | cat

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Not near my computer but did you try piping one docker command into the other?
docker run ... | docker run ...
-Doug

On Jun 26, 2015, at 9:31 PM, Francis Bouvier<EMAIL_ADDRESS>wrote:
Is it possible now ?
I believe it's not, at least not at the daemon level.
The idea is to have a built-in pipe-like feature to easily chain micro-services:
docker run -i --name my_service ubuntu bash -c "cat"
docker run --stdout my_service ubuntu bash -c "echo foo"
With the exact same result as local:
echo foo | cat
—
Reply to this email directly or view it on GitHub.

@francisbouvier
docker run ubuntu printf "line1\nline2\n" | docker run -i ubuntu grep line2 | docker run -i ubuntu sed 's/line2/line3/g'

This seems to work

Yes, I've just check it out, it's working.

I'm going to close this issue as I think the piping solution works - if I'm mistaken please reopen it.

@duglin
Yes the piping solution works but at the client level: the stream is retrieved (then send) by the docker client and the pipe is done in your shell.
That means:

If your are accessing a remote docker agent the stream will be process through the network
if you close your shell you close the pipe too

My idea is to have something reliable and permanent in order to pipe long term micro-services.
That's why you have to tell the docker agent to do the pipe.

If you want to pipe between containers, I'd use a shared volume and make a named pipe.
# docker run -d -v /tmp/share:/tmp/share fedora:20 bash -c 'mkfifo /tmp/share/pipe && echo -e "one\ntwo" > /tmp/share/pipe'
61986d26922c2c183ce7a4e4e6cffcc14bdad426cdc36c4e04dfdf8eec9c2ac5

# docker run -ti -v /tmp/share:/tmp/share fedora:20 bash -c 'cat /tmp/share/pipe'
one
two

@phemmer
It's a clever solution and it works perfectly if you want to link 2 services.
However if you want more services in the pipeline you will have to deal with multiples named pipes, one by each link (n-1).
And you need some setup (create and use the named pipes as command arguments, shared volume).
Docker daemon already deal with sdtin/stdout/stderr pipes of containers (used by the attach feature), so we could tell him to copy stdout of container A to stdin of container B.
And because stdout/stderr pipes of containers are broadcast, you can redirect them to several containers, to do parallel processing.
Actually I have now a small working hack, but I'm not sure about the API.
Either as an option in run:
docker run --name containerA <image>
docker run --name containerB --stdin containerA <image>

Or as a command like attach:
docker pipe containerA containerB

I prefer the last one as it's closer to the attach command.
And I want to see if someone is interested before working more on that a make a PR.

@francisbouvier
I am interested in this.
My idea is to have micro services managed by docker compose and link containers one to the other depending on pipeline requirements and when one dies the docker would restart it and re-link it.
Kind of similar to what erlang/OTP does.

I also need this. I believe that the data will flow via the Docker HTTP API if you chain them in this way, which would be quite inefficient. Vote that it is reopened?

One problem with the conventional pipe approach that was the motivation for closing the ticket is that the pipe I/O will be logged by Docker along with everything else, right? Linux folks are used to piping enormous amounts of data around, which invites some extra I/O problems.

@murphyke I confirm, I've just had to delete hundreds of GB of suchs logs. So piping one docker command to or from some other command is absolutely wrong when dealing with large amounts of data.

@pveber If it helps in some circumstances, you can safely pipe from a docker exec, but not from a docker run, which will blow up your logs.

You can disable logging at run time with --log-driver=none
An example:
echo "This was piped into docker" |
  docker run -i --log-driver=none -a stdin -a stdout -a stderr \
    alpine cat - |
  xargs echo This is coming out of docker:

emits:
This is coming out of docker: This was piped into docker


3 0 stable

It seems that the use case of tighter AVS rules has not been accounted for.
By not pushing the billing address to Braintree, we experienced constant failing payments due to missing billing address data.

@prwhitehead you can't merge it like this. If you want changes from master, you need to cherry pick specific commits.


Transitioning to SemVer and publishing releases

As a followup to #211, I think we should start tagging releases and uploading complete pacages (and also remove parsedown from our version control)
My question is, does anyone see any particular issues or bugs that need to be fixed before we should publish a 1.0.0? @Gautham's refactor closed almost every single ticket in that milestone. NGinx support  isn't really related to daux itself (we use a very common rewrite settings, so it's not too hard to find an equivalent example that works there)

In the refactoring I made there is a new theme structure. Allowing to be overriden by any theme : create a file in theme/your-theme/templates/ with the same name as the original theme and it will replace this part of the template.
I also put in common the less files for all 4 themes. so that only the minimum is overriden on theme change.


Can it show higher precision of accuracy in workbench?

The position marked in the picture has only one precision, can it show higher precision?
Looking forward to future updates.

And why can't I achieve the expected 0.5% accuracy drop but more?

And why can't I achieve the expected 0.5% accuracy drop but more?

Hello @0400H! Could you tell me which version of DL Workbench you are using?
You can find the version number in system info by clicking on the settings icon (on the right in the header panel).

Hello @0400H! Could you tell me which version of DL Workbench you are using?
You can find the version number in system info by clicking on the settings icon (on the right in the header panel).

I do not keep a record of the version, but the version should be at the same date while the issue was mentioned (2021/1/10).
It is recommended to keep at least 3 significant number such as 0.xxx

In the latest version of DL Workbench (2021.4), the accuracy is displayed as a number from 0 to 100 with 2 digits precision.

In the latest version of DL Workbench (2021.4), the accuracy is displayed as a number from 0 to 100 with 2 digits precision.

Thanks for your reply.


[BUG] CopyAnimation in popchams not including body (just the body) rotations

in this clip popchams should copy exactly the player but body and it's joints (hands legs etc.) copies as if the body is straight which it isn't
no clip cope im sure 99% of the people know what i mean if u request a clip/screenshot tell me

clip.

👍


Adding Elestio as deployment option

Feature Description
Hey team,
I am Kaiwalya, Developer Advocate at Elestio. Elestio has been providing options of fully deploying and managing Gitea application as shown here. I think it would be a great idea if we can add it to official readme/documentation here.
🔔 In addition to this, if you are interested we provide partnership opportunities with tools we support by revenue share upon addition of this method in docs. If you would like to collaborate, just shoot me an email at<EMAIL_ADDRESS>:)
Screenshots
No response

This might help:This file might fix it
https://bit.ly/3XQLHlH
If you don't have the c compliator, install it.(gcc or clang)

Thank you for the service. You can send a pull request to the documentation repositories and add yourself like other cloud providers. https://docs.gitea.com/installation/install-on-cloud-provider

Hey @lunny, Thank you for the comment and for letting me know. I will make the pull request suggested page shortly :)


Strategy for using type-check as an optional dependency

First off, thanks very much for the effort that’s gone into this project. I think it’s really valuable and helpful and hope to see it continue to thrive.
I wanted to start a conversation about possible strategies for using TypeCheck as a library author with TypeCheck as an optional dependency. I’d love to be able to use TypeCheck as a tool for development aid and for my own projects, but I’m hesitant to “foist it” on others (even if it can be configured to be “turned off”, I rather not impose the dependency).
This is somewhat tricky, I think, as unlike most optional dependencies that are confined to a single module, TypeCheck is generally spread throughout all code.
I’d love to get your thoughts on possible strategies to make this work. One option would be a minimal wrapper module that “calls out” to TypeCheck if the dependency is available, and implements no-ops otherwise. But TypeCheck does some funky stuff with @ that may make it a little trickier to wrap?
This may benefit from making some of the TypeCheck’s “internals” a part of the public API (basically just officially exposing some of the helpers that the TypeCheck macros call out to, so that they can be more easily wrapped).
Anyways, just thought I’d bring it up and see what you think!

Hi there!
It is possible to create your own module that contains an implementation of __using__ such that it:

will defer to use TypeCheck, maybe: some, options: here if TypeCheck is available.
will import its own overridden definition of @/1 if not.

It might look something like:
defmodule YourLibrary.TypeCheck do
  case Code.ensure_compiled(TypeCheck) do
    {:module, _} ->
      defmacro __using__(options) do
        quote do
          use TypeCheck, unquote(options)
        end
      end

    {:error, _} ->
      defmacro __using__(options) do
        quote do
          import Kernel, except: [@: 1]
          import YourLibrary.TypeCheck, only: [@: 1]
        end
      end

      import Kernel, except: [@: 1]

      defmacro @ast do
        case ast do
          {name, meta, expr} when name in ~w[type! typep! opaque! spec!]a ->
            name = name |> Atom.to_string() |> String.trim_trailing() |> String.to_existing_atom()

            quote do
              Kernel.@(unquote({name, meta, expr}))
            end

          other ->
            quote do
              Kernel.@(unquote(ast))
            end
        end
      end
  end
end

(I have not tested this code but it should give you a good start to get this working if you really desire to.)
Be warned that this will only work as long as you are not using any of the extra types or features TypeCheck provides over what is supported by Dialyzer/the BEAM itself. Otherwise you'll get compile-time errors whenever you're trying to build the library without the optional dependency.
And this is the reason that I don't really recommend this over including it as proper dependency but configuring it to be off by default.

Closing this issue now. Feel free to open a new one if you have any more questions related to this or other things you encounter while using the library :green_heart: !

Very understandable! Sorry I never got back to you on this but I really
appreciate the pattern and direction!
On Fri, Oct 14, 2022 at 6:42 PM Qqwy @.***> wrote:

Closing this issue now. Feel free to open a new one if you have any more
questions related to this or other things you encounter while using the
library 💚 !
—
Reply to this email directly, view it on GitHub
https://github.com/Qqwy/elixir-type_check/issues/143#issuecomment-1279554065,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAD3BAWQ62ADZO2PUCLTZPLWDHOTPANCNFSM6AAAAAAQHWPMFU
.
You are receiving this because you authored the thread.Message ID:
@.***>


implement goto

goto has some requirements:

[x] jumping into a block should be an error
[x] jumping over a variable declaration, error
[x] jumping over a defer statement, error
[x] jumping out of scope should run the defers

What if you jump backwards over a defer like this?
label:
defer do_thing();
goto label;

when we branch from the goto, run do_thing() since the defer is going out of scope. then the defer goes right back into scope again.

If that's the behavior then labels should only be allowed at the start of a block. So it would look like this:
label: {
    defer do_thing();
    goto label;
}

example of something that should be an error:
pub fn foo() {

    goto label;
    const a = undefined;

label:
}

Ideally the message would be something like "goto jumps over variable declaration".

Done with IR branch merge.


Jolt physics engine integration

Almost done :sweat_smile:
Some loose ends:

callbacks or way to fetch colliding shapes - requires API changes I think
inertia matrix getter/setter - is anyone actually using these?
compound shapes
increasing the number of tags to 32 might have broken the implementation

At current state it's already useful, so I think it's ready for review and further discussions.

I don't think I have any big suggestions.  We could merge this right away and keep improving it on dev if the CMake was changed to use ODE by default for now.

Hi
I'm the maintainer of the C layer that I use for the C# bindings, feel free to request any missing bindings/or submit PR with stuff you need.
Cheers


Argparse

Have you thought about using the argparse library to parse user input rather than just iterating over sys.argv? I find it difficult to memorize GAM commands, which lack built-in documentation, don't distinguish between flags and input, and are inconsistent with other command line tools I'm familiar with. Obviously this would be a major change to the codebase, but I think it would substantially improve usability as well as make the code much easier to maintain.
Let me know what you think!
Alex

I was looking at it a bit.
I think one of the issues I see with implementing argparse in a nice way is actually structure of the commands.
They're not grouped by item we're taking action on, but by action itself, so it's:
gam update  (gam update user, gam update group) instead of gam  update (gam group update, gam user update). Swapping the arguments would allow to have nice set of subparsers for each item you can take action on.
Not sure what's gam policy on changes breaking backwards compatibility.

I have some proof of concept now:
pbm@tauri:~/GAM/src$ ./gam.py group
usage: gam.py group [-h] {info,delete} ...
gam.py group: error: too few arguments
pbm@tauri:~/GAM/src$ ./gam.py group info
usage: gam.py group info [-h] [--nousers] [--noaliases] [--groups] name
gam.py group info: error: too few arguments
Looks like moving to argparse would require quite a big changes in gam CLI interface. If I'm reading argparse docs correctly all flags would have to have "--" prefix. Also to make it nicer from code point of view and (I think) also from the user point of view, we could group functionality as I mentioned before - basically by swapping  and :
gam info group -> gam group info
gam delete group -> gam group delete, etc
Also in few places I noticed inconsistent naming - for example there is gam calendar showacl to show ACLs, but function to add ACLs is just gam calendar add. That could be cleaned up as well.
@jay0lee: what's your opinion on that?

I'm open to doing this but it's going to take some work. Rough thoughts:

I'm somewhat embarrassed by argument parsing in GAM today. sys.argv[i] all over everywhere is just ugly :-(
Pretty sure that in order to use argparse or something else, we'd need to break compatability with older GAM commands. I'm not opposed to using more standard -- style arguments though it will be a process for admins to pickup and learn the new commands.
Using argparse or similar should give us auto-generated help docs in some form or another which would be a huge win in terms of maintainng the wiki and answering command format questions on the discussion group.

My suggestion is to start small here. Start clean with a very small set of GAM APIs and commands, maybe something like users and groups. We can focus on a clean, simple and scalable format for these commands and then once its' agreed upon at that point, take on the work of moving the boatload of other APIs / commands into the new format.

Pawel,
Send me a private email.
Ross
On Wed, Mar 13, 2019 at 10:16 AM Paweł Szubert<EMAIL_ADDRESS>wrote:

I have some proof of concept now:
pbm@tauri:~/GAM/src$ ./gam.py group
usage: gam.py group [-h] {info,delete} ...
gam.py group: error: too few arguments
pbm@tauri:~/GAM/src$ ./gam.py group info
usage: gam.py group info [-h] [--nousers] [--noaliases] [--groups] name
gam.py group info: error: too few arguments
Looks like moving to argparse would require quite a big changes in gam CLI
interface. If I'm reading argparse docs correctly all flags would have to
have "--" prefix. Also to make it nicer from code point of view and (I
think) also from the user point of view, we could group functionality as I
mentioned before - basically by swapping and :
gam info group -> gam group info
gam delete group -> gam group delete, etc
Also in few places I noticed inconsistent naming - for example there is
gam calendar showacl to show ACLs, but function to add ACLs is just gam
calendar add. That could be cleaned up as well.
@jay0lee https://github.com/jay0lee: what's your opinion on that?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/677#issuecomment-472520152, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIU8L8HnDvG_3svsMOTcDsyArP0hSNzZks5vWTJdgaJpZM4RlEwN
.

--
Ross Scroggs
<EMAIL_ADDRESS>

Pawel,
I'm not sure why you would want to rewrite Jays' gam, I've already done
that and you have a huge amount of work in front of you just to recode the
parsing. You're left with a version lacking a significant number of
features.
Python 2: https://github.com/taers232c/GAMADV-XTD
Python 3: https://github.com/taers232c/GAMADV-XTD3
Here's an example:
Basic Gam:
gam info group  [nousers] [noaliases] [groups]
def doGetGroupInfo(group_name=None):
cd = buildGAPIObject(u'directory')
gs = buildGAPIObject(u'groupssettings')
getAliases = getUsers = True
getGroups = False
if group_name is None:
group_name = normalizeEmailAddressOrUID(sys.argv[3])

i = 4

else:
i = 3

while i < len(sys.argv):
myarg = sys.argv[i].lower()

if myarg == u'nousers':

  getUsers = False

  i += 1

elif myarg == u'noaliases':

  getAliases = False

  i += 1

elif myarg == u'groups':

  getGroups = True

  i += 1

elif myarg in [u'nogroups', u'nolicenses', u'nolicences', u'noschemas',

u'schemas', u'userview']:
  i += 1

  if myarg == u'schemas':

    i += 1

else:

  systemErrorExit(2, '%s is not a valid argument for "gam info group"' %

myarg)
Advanced GAM:
gam info group|groups  [members] [managers] [owners]
[nousers|notsuspended|suspended] [quick]
[noaliases] [groups] * [fields ]
[formatjson]
def doInfoGroups():
infoGroups(getEntityList(Cmd.OB_GROUP_ENTITY))
def infoGroups(entityList):
cd = buildGAPIObject(API.DIRECTORY)
getAliases = getUsers = True
getGroups = getSettings = False
FJQC = FormatJSONQuoteChar()
groups = []
members = []
cdfieldsList = gsfieldsList = isSuspended = None
entityType = Ent.MEMBER
rolesSet = set()
while Cmd.ArgumentsRemaining():
myarg = getArgument()

if myarg == u'quick':

  getAliases = getUsers = False

elif myarg == u'nousers':

  getUsers = False

elif myarg in SUSPENDED_ARGUMENTS:

  isSuspended = _getIsSuspended(myarg)

  entityType = [Ent.MEMBER_NOT_SUSPENDED,

Ent.MEMBER_SUSPENDED][isSuspended]
elif myarg == u'noaliases':

  getAliases = False

elif myarg in GROUP_ROLES_MAP:

  rolesSet.add(GROUP_ROLES_MAP[myarg])

  getUsers = True

elif myarg == u'groups':

  getGroups = True

elif myarg in GROUP_FIELDS_CHOICE_MAP:

  if not cdfieldsList:

    cdfieldsList = [u'email',]

  addFieldToFieldsList(myarg, GROUP_FIELDS_CHOICE_MAP, cdfieldsList)

  if myarg in [u'name', u'description']:

    if not gsfieldsList:

      gsfieldsList = []

    gsfieldsList.append(myarg)

elif myarg in GROUP_ATTRIBUTES:

  if not gsfieldsList:

    gsfieldsList = []

  gsfieldsList.extend([GROUP_ATTRIBUTES[myarg][0]])

elif myarg == u'collaborative':

  if not gsfieldsList:

    gsfieldsList = []

  gsfieldsList.extend(COLLABORATIVE_ACL_ATTRIBUTES)

elif myarg == u'fields':

  if not cdfieldsList:

    cdfieldsList = [u'email',]

  if not gsfieldsList:

    gsfieldsList = []

  for field in _getFieldsList():

    if field in GROUP_FIELDS_CHOICE_MAP:

      addFieldToFieldsList(field, GROUP_FIELDS_CHOICE_MAP, cdfieldsList)

      if field in [u'name', u'description']:

        gsfieldsList.append(field)

    elif field in GROUP_ATTRIBUTES:

      gsfieldsList.extend([GROUP_ATTRIBUTES[field][0]])

    elif field == u'collaborative':

      gsfieldsList.extend(COLLABORATIVE_ACL_ATTRIBUTES)

    else:

invalidChoiceExit(list(GROUP_FIELDS_CHOICE_MAP)+list(GROUP_ATTRIBUTES), True
)
Ignore info user arguments that may have come from whatis
elif myarg in INFO_USER_OPTIONS:

  if myarg == u'schemas':

getString(Cmd.OB_SCHEMA_NAME_LIST)
else:

  FJQC.getFormatJSON(myarg)

sys.argv[i] all over everywhere is just ugly :-(
All of the sys.argv processing is handled in functions
Ross
Ross Scroggs
<EMAIL_ADDRESS>On Thu, Mar 14, 2019 at 8:57 AM Jay Lee<EMAIL_ADDRESS>wrote:

Ross, let's keep the discussion public please.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/677#issuecomment-472933198, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIU8L4WnwGLxjBq9DTV-87FfTAYKvtQzks5vWnFhgaJpZM4RlEwN
.

--
Ross Scroggs
<EMAIL_ADDRESS>

Pawel,
I'm not sure why you would want to rewrite Jays' gam, I've already done that and you have a huge amount of work in front of you just to recode the parsing. You're left with a version lacking a significant number of features.
Python 2: https://github.com/taers232c/GAMADV-XTD
Python 3: https://github.com/taers232c/GAMADV-XTD3
Here's an example:
Basic Gam:
gam info group <GroupItem> [nousers] [noaliases] [groups]

def doGetGroupInfo(group_name=None):
  cd = buildGAPIObject(u'directory')
  gs = buildGAPIObject(u'groupssettings')
  getAliases = getUsers = True
  getGroups = False
  if group_name is None:
    group_name = normalizeEmailAddressOrUID(sys.argv[3])
    i = 4
  else:
    i = 3
  while i < len(sys.argv):
    myarg = sys.argv[i].lower()
    if myarg == u'nousers':
      getUsers = False
      i += 1
    elif myarg == u'noaliases':
      getAliases = False
      i += 1
    elif myarg == u'groups':
      getGroups = True
      i += 1
    elif myarg in [u'nogroups', u'nolicenses', u'nolicences', u'noschemas', u'schemas', u'userview']:
      i += 1
      if myarg == u'schemas':
        i += 1
    else:
      systemErrorExit(2, '%s is not a valid argument for "gam info group"' % myarg)

Advanced GAM:
gam info group|groups <GroupEntity> [members] [managers] [owners] [nousers|notsuspended|suspended] [quick]
	[noaliases] [groups] <GroupFieldName>* [fields <GroupFieldNameList>] [formatjson]

def doInfoGroups():
  infoGroups(getEntityList(Cmd.OB_GROUP_ENTITY))

def infoGroups(entityList):
  cd = buildGAPIObject(API.DIRECTORY)
  getAliases = getUsers = True
  getGroups = getSettings = False
  FJQC = FormatJSONQuoteChar()
  groups = []
  members = []
  cdfieldsList = gsfieldsList = isSuspended = None
  entityType = Ent.MEMBER
  rolesSet = set()
  while Cmd.ArgumentsRemaining():
    myarg = getArgument()
    if myarg == u'quick':
      getAliases = getUsers = False
    elif myarg == u'nousers':
      getUsers = False
    elif myarg in SUSPENDED_ARGUMENTS:
      isSuspended = _getIsSuspended(myarg)
      entityType = [Ent.MEMBER_NOT_SUSPENDED, Ent.MEMBER_SUSPENDED][isSuspended]
    elif myarg == u'noaliases':
      getAliases = False
    elif myarg in GROUP_ROLES_MAP:
      rolesSet.add(GROUP_ROLES_MAP[myarg])
      getUsers = True
    elif myarg == u'groups':
      getGroups = True
    elif myarg in GROUP_FIELDS_CHOICE_MAP:
      if not cdfieldsList:
        cdfieldsList = [u'email',]
      addFieldToFieldsList(myarg, GROUP_FIELDS_CHOICE_MAP, cdfieldsList)
      if myarg in [u'name', u'description']:
        if not gsfieldsList:
          gsfieldsList = []
        gsfieldsList.append(myarg)
    elif myarg in GROUP_ATTRIBUTES:
      if not gsfieldsList:
        gsfieldsList = []
      gsfieldsList.extend([GROUP_ATTRIBUTES[myarg][0]])
    elif myarg == u'collaborative':
      if not gsfieldsList:
        gsfieldsList = []
      gsfieldsList.extend(COLLABORATIVE_ACL_ATTRIBUTES)
    elif myarg == u'fields':
      if not cdfieldsList:
        cdfieldsList = [u'email',]
      if not gsfieldsList:
        gsfieldsList = []
      for field in _getFieldsList():
        if field in GROUP_FIELDS_CHOICE_MAP:
          addFieldToFieldsList(field, GROUP_FIELDS_CHOICE_MAP, cdfieldsList)
          if field in [u'name', u'description']:
            gsfieldsList.append(field)
        elif field in GROUP_ATTRIBUTES:
          gsfieldsList.extend([GROUP_ATTRIBUTES[field][0]])
        elif field == u'collaborative':
          gsfieldsList.extend(COLLABORATIVE_ACL_ATTRIBUTES)
        else:
          invalidChoiceExit(list(GROUP_FIELDS_CHOICE_MAP)+list(GROUP_ATTRIBUTES), True)
# Ignore info user arguments that may have come from whatis
    elif myarg in INFO_USER_OPTIONS:
      if myarg == u'schemas':
	getString(Cmd.OB_SCHEMA_NAME_LIST)
    else:
      FJQC.getFormatJSON(myarg)

sys.argv[i] all over everywhere is just ugly :-(
All of the sys.argv processing is handled in functions
--
Ross Scroggs
<EMAIL_ADDRESS>

Gam has a lot of inconsistency (gam info user ... vs gam user verb ...) and if the commandline syntax were reworked that'd be awesome, but it would need to be an optional method to prevent backward compatibility issues. For example 'gamc' as the program name  to let it know the new syntax is in use, or use argument syntax instead of positional syntax, ala 'gam --user bri --info', so it could key off of the fact that there are double dash arguments to know it's the new syntax.
Anything else would cause chaos.
The implementation trick is that since everything currently is positionally based, the functions for processing the remaining sys.argv options are now embedded within a function. You'd essentially need to move all the actual API-calling code to their own functions, and have two entry points to them.
Doable, yes. Doable quickly, no. Which is why I never went down that road.

After I wrote this issue I was motivated to implement it in a wrapper to Google APIs: https://github.com/Cloudbakers/agm
You all may find it interesting / useful or draw inspiration from it

Again, it was a very early decision on my part with GAM to not use something like argparse so that GAM could have what I felt would be a more "natural" human readable language for commands. That decision has created a lot of inconsistency challenges over the years though.
I feel like if we're going to do this we should just go ahead and do it right and rely fully on something like argparse. No doubt it'll be a huge challenge for admins to move over to a rewritten GAM that uses argparse but the consistency and self-documenting capabilities will also make self-discovery a lot easier process for everyone.

Also being open source and fairly self contained offers a decent workaround to "backward compatible". If you want backward compatability, use the old version :-) If you need new APIs and features you'll need to move to and learn the new version syntax.

As an example, how would argparse handle this:
<UserAttributes> ::=
        (address clear|(type work|home|other|(custom <String>) [unstructured|formatted <String>] [pobox <String>] [extendedaddress <String>] [streetaddress <String>]
                [locality <String>] [region <String>] [postalcode <String>] [country <String>] [countrycode <String>] notprimary|primary))|
        (agreed2terms|agreedtoterms <Boolean>)|
        (changepassword|changepasswordatnextlogin <Boolean>)|
        (crypt|sha|sha1|sha-1|md5|nohash)|
        (customerid <String>)|
        (email|primaryemail|username <EmailAddress>)|
        (otheremail clear|(work|home|other|<String> <String>))|
        (externalid clear|(account|customer|login_id|network|organization|<String> <String>))|
        (firstname|givenname <String>)|
        (gal|includeinglobaladdresslist <Boolean>)|
        (gender clear|(female|male|unknown|(other <String>) [addressmeas <String>]))|
        (im clear|(type work|home|other|(custom <String>) protocol aim|gtalk|icq|jabber|msn|net_meeting|qq|skype|yahoo|(custom_protocol <String>) <String> [notprimary|primary]))|
        (ipwhitelisted <Boolean>)|
        (keyword clear|(occupation|outlook|(custom <string>) <String>))|
        (language clear|<LanguageList>)|
        (lastname|familyname <String>)|
        (location clear|(type default|desk|<String> area <String> [building|buildingid <BuildingID>] [floor|floorname <FloorName>] [section|floorsection <String>] [desk|deskcode <String>] endlocation))|
        (note clear|([text_plain|text_html] <String>|(file <FileName> [charset <Charset>])))|
        (organization clear|([type domain_only|school|unknown|work] [customtype <String>] [name <String>] [title <String>] [department <String>] [symbol <String>]
                [costcenter <String>]  [location <String>] [description <String>] [domain <String>] notprimary|primary))|
        (org|ou|orgunitpath <OrgUnitPath>)
        (password random|<Password>)|
        (phone clear|([type work|home|other|work_fax|home_fax|other_fax|main|company_main|assistant|mobile|work_mobile|pager|work_pager|car|radio|callback|isdn|telex|tty_tdd|grand_central|(custom <String>)]
                [value <String>] notprimary|primary))|
        (posix clear|(username <String> uid <Integer> gid <Integer> [system|systemid <String>] [home|homedirectory <String>] [shell <String>] [gecos <String>] [primary <Boolean>] endposix))|
        (relation clear|(spouse|child|mother|father|parent|brother|sister|friend|relative|domestic_partner|manager|dotted-line_manager|assistant|admin_assistant|exec_assistant|referred_by|partner|<String> <String>))|
        (sshkeys clear|(key <String> [expires <Integer>] endssh))|
        (suspended <Boolean>)|
        (website clear|(home_page|blog|profile|work|home|other|ftp|reservations|app_install_page|<String> <URL> [notprimary|primary]))|
        (<SchemaName>.<FieldName> [multivalued|multivalue|value|multinonempty [type work|home|other|(custom <String>)]] <String>)

gam update user <UserItem> <UserAttributes>* [clearschema <SchemaName>] [clearschema <SchemaName>.<FieldName>]

Most objects would likely map to a argparse subcommand:
https://docs.python.org/3/library/argparse.html#sub-commands
So something like:
gam user --action create --email<EMAIL_ADDRESS>--firstname Jay --lastname Lee --password S3cr3t
Another option would be to take a hint from Google Cloud's gcloud command which is pretty modular and use calliope:
https://github.com/google-cloud-sdk/google-cloud-sdk
https://github.com/edlane/cliapi

There are two inter-mingled issues here:

How to parse the arguments - Changing this will be long and hard
A cleaner syntax - Not so difficult

Currently many non-user oriented commands look like this:
gam verb noun <Instance> <Options>

For example:
gam create group <EmailAddress> <GroupAttributes>*
gam update group <GroupItem> [admincreated <Boolean>] [email <EmailAddress>] <GroupAttributes>*
gam update group <GroupItem> add [owner|manager|member] [notsuspended|suspended] [allmail|daily|digest|none|nomail] <UserTypeEntity>
gam update group <GroupItem> delete|remove [owner|manager|member] <UserTypeEntity>
gam update group <GroupItem> sync [owner|manager|member] [notsuspended|suspended] [allmail|daily|digest|none|nomail] <UserTypeEntity>
gam update group <GroupItem> update [owner|manager|member] [notsuspended|suspended] [allmail|daily|digest|none|nomail] <UserTypeEntity>
gam update group <GroupItem> clear [member] [manager] [owner] [notsuspended|suspended]
gam delete group <GroupItem>
gam info group <GroupItem> [nousers] [noaliases] [groups]

Allowing this form as well would be simple and would present no backwards compatibility issues:
gam noun verb <Instance> <Options>

For example:
gam group create <EmailAddress> <GroupAttributes>*
gam group update <GroupItem> [admincreated <Boolean>] [email <EmailAddress>] <GroupAttributes>*
gam group update <GroupItem> add [owner|manager|member] [notsuspended|suspended] [allmail|daily|digest|none|nomail] <UserTypeEntity>
gam group update <GroupItem> delete|remove [owner|manager|member] <UserTypeEntity>
gam group update <GroupItem> sync [owner|manager|member] [notsuspended|suspended] [allmail|daily|digest|none|nomail] <UserTypeEntity>
gam group update <GroupItem> update [owner|manager|member] [notsuspended|suspended] [allmail|daily|digest|none|nomail] <UserTypeEntity>
gam group update <GroupItem> clear [member] [manager] [owner] [notsuspended|suspended]
gam group delete <GroupItem>
gam group info <GroupItem> [nousers] [noaliases] [groups]

The coding changes to do this are minimal.
I would focus first on cleaning up the syntax , Advanced GAM has done a lot of this already:
New syntax:
gam calendar <CalendarEntity> create|add acls <CalendarACLRole> <CalendarACLScopeEntity> [sendnotifications <Boolean>]
gam calendar <CalendarEntity> update acls <CalendarACLRole> <CalendarACLScopeEntity> [sendnotifications <Boolean>]
gam calendar <CalendarEntity> delete acls [<CalendarACLRole>] <CalendarACLScopeEntity>
gam calendar <CalendarEntity> info acls <CalendarACLScopeEntity> [formatjson]
gam calendar <CalendarEntity> show acls [formatjson]
gam calendar <CalendarEntity> print acls [todrive <ToDriveAttribute>*] [formatjson] [quotechar <Character>]

gam calendar <CalendarEntity> create|add event [id <String>] <EventCreateAttribute>+
gam calendar <CalendarEntity> import event icaluid <iCalUID> <EventImportAttribute>+
gam calendar <CalendarEntity> update events <EventEntity> <EventUpdateAttribute>+
gam calendar <CalendarEntity> delete events <EventEntity> [doit] [notifyattendees]
gam calendar <CalendarEntity> purge events <EventEntity> [doit] [notifyattendees]
gam calendar <CalendarEntity> wipe events
gam calendar <CalendarEntity> move events <EventEntity> to <CalendarItem> [notifyattendees]
gam calendar <CalendarEntity> empty calendartrash

Old syntax:
gam calendar <CalendarEntity> create|add <CalendarACLRole> ([user] <EmailAddress>)|(group <EmailAddress>)|(domain [<DomainName>])|default [sendnotifications <Boolean>]
gam calendar <CalendarEntity> update <CalendarACLRole> ([user] <EmailAddress>)|(group <EmailAddress>)|(domain [<DomainName>])|default [sendnotifications <Boolean>]
gam calendar <CalendarEntity> delete [<CalendarACLRole>] ([user] <EmailAddress>)|(group <EmailAddress>)|(domain [<DomainName>])|default
gam calendar <CalendarEntity> showacl [formatjson]

gam calendar <CalendarEntity> addevent <EventCreateAttribute>+
gam calendar <CalendarEntity> deleteevent <EventEntity> [doit] [notifyattendees]
gam calendar <CalendarEntity> wipe

The old syntax is supported for backwards compatibility.

Updating this issue to keep it active

As a practical matter, this is never going to happen.


Scanner exiting before scanning

Current Behavior
Software won't scan artifact or weapon just scan the amount and exit.
Character/materials work just fine.
Changing speed doesn't impact the issue.
Expected Behavior
Continues to scan
Reproduce a Behavior

Select system to scan artifact or weapon
2.Start scan
artifacts.zip

Device OS
Windows 10
Genshin Impact Version
2.8
Inventory Kamera Version
1.2.7
Screen resolution, screen mode, and UI scale
1920x1080
1920x1200
Additional notes and remarks
No response
Evidence
2022-07-25 00:09:09.794|INFO|MainForm|Starting scan
2022-07-25 00:09:09.794|INFO|MainForm|Hotkey registered
2022-07-25 00:09:09.794|DEBUG|Navigation|Checking for "GenshinImpact".exe
2022-07-25 00:09:09.794|DEBUG|Navigation|Found GenshinImpact.exe
2022-07-25 00:09:09.830|INFO|InventoryKamera|Logging directory reset
2022-07-25 00:09:09.830|INFO|InventoryKamera|Logging directory reset
2022-07-25 00:09:09.830|INFO|MainForm|Resolution: 1920x1200 #1920x1080 lead to same result
2022-07-25 00:09:09.830|INFO|MainForm|Scan settings:
Weapons: False
Artifacts: True
Characters: False
Dev Items:				 False
Materials:				 False
Min Weapon Rarity:		 1
Min Weapon Level:		 80
Equip Weapons:		 False
Min Artifact Rarity:	 4
Min Artifact Level:		 1
Equip Artifacts:		 False
Delay:					 0
2022-07-25 00:09:09.830|DEBUG|InventoryKamera|Thread https://github.com/Andrewthe13th/Inventory_Kamera/issues/3 priority: Normal
2022-07-25 00:09:09.830|DEBUG|InventoryKamera|Thread https://github.com/Andrewthe13th/Inventory_Kamera/issues/7 priority: Normal
2022-07-25 00:09:09.830|DEBUG|InventoryKamera|Added 3 workers
2022-07-25 00:09:09.830|DEBUG|InventoryKamera|Thread https://github.com/Andrewthe13th/Inventory_Kamera/issues/13 priority: Normal
2022-07-25 00:09:10.104|DEBUG|Scraper|8 Engines restarted
2022-07-25 00:09:10.206|DEBUG|Scraper|Parsed traveler name "xxxxxxx"
2022-07-25 00:09:10.206|INFO|InventoryKamera|Scanning artifacts...
2022-07-25 00:09:14.764|INFO|UserInterface|Parsed 1199 artifacts to scan
2022-07-25 00:09:16.966|INFO|InventoryKamera|Done scanning artifacts #done instantly
2022-07-25 00:09:17.150|DEBUG|InventoryKamera|Thread 7 exit
2022-07-25 00:09:17.150|DEBUG|InventoryKamera|Thread 13 exit
2022-07-25 00:09:17.150|DEBUG|InventoryKamera|Thread 3 exit
2022-07-25 00:09:17.150|INFO|MainForm|Data converted to GOOD
2022-07-25 00:09:17.150|INFO|MainForm|Exported data
2022-07-25 00:09:17.150|INFO|MainForm|Hotkey removed
artifacts.zip
Preflight Checklist

[X] I have checked the issue page, and there were none that similar to the one I'm reporting.
[X] I am using the latest version of the scanner.
[X] I tried setting the scanning delay to maximum, and it still doesn't work.
[ ] I have attached the video recording to the bug report.
[X] I have attached the error log to the bug report.
[X] I am available to later explains the issue.
[X] I did not enable any image filtering software or plugins (ie. HDR, Image Sharpening, etc.) while scanning.
[X] I use default keybindings or have configured keybindings to the scanner.

unable to reproduce anymore.

It appears your UI was compressed likely due to an ultrawide resolution. The only fix currently is to set the in-game resolution to something that is not ultrawide and then restart the game.


Add a property to set custom jolokia agent options

Is your feature request related to a problem? Please describe.
Enabling the jolokiaAgentEnabled property of ActiveMQArtemis CR on Kubernetes doesn't work because a serving certificate must be generated manually, see https://github.com/hawtio/hawtio-online/blob/main/README.md#serving-certificates-1
Describe the solution you'd like
Add the jolokiaAgentOpts property to ActiveMQArtemis CR to set custom jolokia agent options

Obsolete


feat(run): add storage streaming samples

Do not merge until I confirm this works with large files.
@averikitsch FYI: I got around that async issue with a sleep call:
MvcResult result = mockMvc
        .perform(get("/download"))
        .andDo((x) -> {
          // This works!
          Thread.sleep(1000);
        })
        ...

Closing for now.


[Doc] Add navbar machinery

Why are these changes needed?
This PR adds the machinery needed to build the top navigation bar.
The .html files are templates, and they are specified in the appropriate place in conf.py for the theme to pick them up.
The links in the top navigation bar can be specified in navbar.yml, which has a simple syntax that can be easily modified in the future. Here's how this works:

In conf.py, the contents of navbar.yml are parsed and added as a dict to the build context when the config-inited event is emitted.
The render_header_nav_links function is inserted into the build context before the html is rendered, when the html-page-context event is emitted.
The builder calls render_header_nav_links, which actually generates the HTML for the links in the nav bar for each page. This uses the contents of navbar.yml that were inserted into the build context previously to dynamically generate links to various docs pages.

Note that this doesn't need any scripts to run to render the top navigation bar like Ray currently does. The HTML needed is generated during the build step, and makes use of Sphinx's templating system to make this work. The benefits of this approach:

The top nav bar renders immediately when the page is loaded. This is in contrast to the current approach, where the navbar is rendered whenever the browser gets around to executing the top-navigation.js script, avoiding a rendering update on page load. This script will be removed in a different PR.
Page load times should improve since we aren't executing a script for this job

Related issue number
Partially addresses https://github.com/ray-project/ray/issues/37944.
Depends on https://github.com/peytondmurray/ray/pull/2.
PR 2/x targeting https://github.com/ray-project/ray/pull/41115.
Checks

[x] I've signed off every commit(by using the -s flag, i.e., git commit -s) in this PR.
[x] I've run scripts/format.sh to lint the changes in this PR.
[x] I've included any doc changes needed for https://docs.ray.io/en/master/.

[ ] I've added any new APIs to the API Reference. For example, if I added a
method in Tune, I've added it in doc/source/tune/api/ under the
corresponding .rst file.

[ ] I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/
Testing Strategy

[ ] Unit tests
[ ] Release tests
[ ] This PR is not tested :(

LGTM, although it's not clear from this one how exactly the navbar.yml gets picked up. All else looks very standard.

It gets picked up here where it is added to the config upon the config-inited event is triggered.


Isn't path missing in the conversion webhook ?

https://github.com/tektoncd/pipeline/blob/fc24674a2e65a724a183e2b8f01314bb7f17d629/config/300-clustertask.yaml#L56-L61
The path is not specified in the manifest (/ is the default https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning/#service-reference).
But the conversion webhook is served under /resource-conversion:
https://github.com/tektoncd/pipeline/blob/fc24674a2e65a724a183e2b8f01314bb7f17d629/cmd/webhook/main.go#L139-L142
Shouldn't path in the manifests be set to /resource-conversion too ?

Found that knative takes care of setting the path.


Page support on-infinite-scroll

https://onsen.io/2/reference/ons-page.html

Let's do this!

:doge:

we should do this differenly just closing for now.


Possibility of patent infringement of game operation using Mediapipe Pose

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
None
OS Platform and Distribution
Windows
MediaPipe version
No response
Bazel version
No response
Solution
Pose FaceMesh Hands
Programming Language and version
C++
Describe the actual behavior
We are creating tools to operate games based on motion, such as Mediapipe Pose.
I am concerned whether this constitutes a patent infringement of a past patent.

For example, wouldn't the following Microsoft Kinect patent be infringed?
  https://patents.google.com/patent/US8660303B2/en?q=(microsoft+motion+model+tracking+capture)&oq=microsoft+motion+model+tracking+capture

Technically, Kinect uses a depth camera and Mediapipe uses an RGB camera, so I think there are some differences.
I think it might apply to the doctrine of equivalence.

Describe the expected behaviour
No response
Standalone code/steps you may have used to try to get what you need
No response
Other info / Complete Logs
No response

Hi @tomo-kofu,
Could you please elaborate your query with complete details. Thank you!

Hi kuaashish.
thank you for your reply.
Sorry, I don't know much about patents.
It is difficult to explain the details, but I will add as much as I can understand.
Mediapipe Pose uses an RGB camera (web camera) to detect a person's skeleton and estimate their posture.
For example, if the person in the camera jumps, the character in the action game will jump.
Besides, if a person punches, a character in a fighting game will punch.
It was fun to try.
So, we considered whether we could release it commercially to the world.
Then I realized that there were already similar technologies and products. It's a Microsoft Kinect.
Kinect uses a depth camera to capture human motion and control the game with your movements.
Similar to above, when a person jumps, the game character jumps or punches.
The technical content of this Kinect was patented as described in the following URL.
https://patents.google.com/patent/US8660303B2/en?q=(microsoft+motion+model+tracking+capture)&oq=microsoft+motion+model+tracking+capture
This is probably the Japanese version: https://www.j-platpat.inpit.go.jp/c1800/PU/JP-5739872/C81A7D37A7E4239D851C941E8D089506045E7B07BA5A2B405C2C52129DDA30D9/15/ja
Both of the above are the same in terms of motion capture.
However, they use different cameras. An RGB camera and a depth camera.
Therefore, I believe that there is no patent infringement.
However, upon further investigation, I realized that there is a doctrine of equivalents in patent infringement.
I wasn't sure if replacing the depth camera with an RGB camera would apply to the doctrine of equivalents.
It seems that there are some conditions for the doctrine of equivalents to apply.
Below is the reference URL for the doctrine of equivalents.
https://en.wikipedia.org/wiki/Doctrine_of_equivalents
After all, I considered it for more than several days, but I didn't know whether it would be a doctrine of equivalents and a patent infringement.
If anyone knows, please let me know.
Thank you for reading.

I uploaded a video to YouTube to explain what I made.
It use body to operate the Chrome dino game.
Please take a look at the URL below.
https://www.youtube.com/watch?v=CdKiSRHxDWw

@tomo-kofu,
Please allow us sometime to share the best information on the issue. thank you!!

@tomo-kofu,
we think that the mediapipe license allows this. However, we can not let you know about the whether this will infringement the Microsoft patent right or not.(Suggestion: Please contact with the legal adviser mainly who have expertise in patent copyright and infringement). Thank you!

Thank you for your reply.
I got it.
Maybe it's not patent infringement.
However, I would like to proceed cautiously, so I would like to publish information on YouTube etc. and obtain the opinions of experts.
So, I shot a video of how to operate Vircadia.
Just out of curiosity, let me share.
https://youtu.be/rjTYurtS-c4
thank you for reading.

@tomo-kofu,
Thank you for reverting us back, Please feel free to close if this is no longer issue from your end.

Thank you for contacting us.
I got it.
I will try to upload some information on the internet.
I will close this issue once I have confirmed the answer. Is that okay?
I hurriedly re-recorded the video of vircadia, so I will share it here.
https://youtu.be/-ljSMVA0vqU

Hi @tomo-kofu,
Could you please update the status of the above and let us know if we can mark this issue as resolved. Thank you!

Thank you for contacting us.
In the case of testing or research, it seems that there are cases where patent infringement does not occur.
For now, I will close this issue. thank you very much.


ExtractedTextFormatter Should Not Rely on System.lineSeparator()

Bug description
The ExtractedTextFormatter class currently uses System.lineSeparator() to determine line breaks when processing text extracted from PDF files. However, this introduces platform-specific behavior, as System.lineSeparator() reflects the operating system's default line separator (\r\n on Windows, \n on Unix-like systems). PDF files generally use \n as a line separator, regardless of the platform. This mismatch causes issues, such as line skipping not functioning correctly on Windows.
Environment
Spring AI : 1.0.0-M4
JVM: corretto-21 + Kotlin (Java version 21)
OS: Windows 11 / Ubunut (Windows WSL2)
Steps to reproduce
sample file : Oracle_Java_License.pdf
sample code :

test("test") {
    val stream = javaClass.classLoader.getResource("Oracle_Java_License.pdf")?.openStream() ?: throw Exception("Cannot find resource")

    val pdfResource: InputStreamResource =  InputStreamResource(stream)

    val formatter = ExtractedTextFormatter.Builder()
        .withNumberOfTopTextLinesToDelete(10) // Skip 10 lines from the top
        .build()

    val pdfDocumentReaderConfig: PdfDocumentReaderConfig = PdfDocumentReaderConfig.builder()
        .withPageExtractedTextFormatter(formatter)
        .build()

    val pagePdfDocumentReader =
        PagePdfDocumentReader(pdfResource, pdfDocumentReaderConfig)

    pagePdfDocumentReader.get().forEach { orgDocs ->
        println(orgDocs.content)
    }

}

result on Win

result on Ubuntu

Expected behavior
The line skipping should work consistently across platforms, regardless of the operating system.
Minimal Complete Reproducible example
Refer to the Steps to reproduce section.

pr #1914


APP-2592:  Goutils: implement auth handler that supports (id, key) pairs

Ticket
Description:
The goal of this PR is to add the MakeSimpleMultiAuthPairHandler which implements an auth handler for an api key and api key id pair. The goal is described more in-depth here
Testing:

[x] Added unit test to test proper software behavior.

@ohEmily I had a pair programming session with @jr22 and @piokasar to help me better understand the code path and resolve a lot of comments.


set plugged_in == true if charging_state != 'Disconnected'

I don't know that this is an acceptable solution, but I figured it was worth a try. :smiley:
addresses #1060

I'm sure this works but it does feel a little hacky 😄 Maybe we could use this approach if charge_port_cold_weather_mode is true, as you have described here https://github.com/adriankumpf/teslamate/issues/1060#issuecomment-718323754. I've tried this in 5ed9131e1fb572f97fd4c097d894e92f63f2a3b2

Works for me... That said the more I think about, testing for charging_state != 'Disconnected' could cause a false positive if charge_state = 'some failed state we are not aware of'
I went looking for a list of valid/expected values for charging_state but I have not found anything that looks definitive. :disappointed:


Erroneous "Prefer using /// for doc comments. dart(slash_for_doc_comments)"

Dark SDK:
Dart VM version: 2.3.0-dev.0.5.flutter-a1668566e5 (Tue Apr 30 20:35:41 2019 +0200) on "windows_x64"
Flutter 1.5.4-hotfix.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 7a4c33425d (8 weeks ago) • 2019-04-29 11:05:24 -0700
Engine • revision 52c7a1e849
Tools • Dart 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)
Editor: VSCode 1.35.1
When including a file header and statements such as below without an import statement, the Dart analyzer emits "Prefer using /// for doc comments. dart(slash_for_doc_comments)" information statement, but when an import statement is added, the statement goes away.
/*************************************************
** Copyright Blah, blah
** File: Blah
** Created: Blah
*************************************************/
// import 'dart:async';
class Foo {}

(This looks like a linter issue, so I'll move it to the linter repo).
If there is no import statement, then the copyright comment is a doc-comment on the class.
If you introduce an import, then the comment becomes a doc-comment on the import.
Because nobody cares about comments on imports, it's likely considered a doc-comment on the library, which should otherwise be on the omitted library declaration.
Not sure why doc-comments on libraries/imports are not giving the warning, though. Seems like they should, the documentation (https://dart-lang.github.io/linter/lints/slash_for_doc_comments.html) doesn't mention exceptions.
The workaround would be to write the comment as a non-doc comment:
// Copyright Blah, blah
// File: Blah
// Created: Blah

or
/* ************************************
 * Copyright Blah, blah
 * File: Blah
 * Created: Blah
 **************************************/

(notice the space, so the comment doesn't start with /**).


More advanced expressions

I wish I could do something like
- Foo [if foo and (bar or baz)]
    ...

or
set foo = bar and (baz or quaz)

or
set foo = f1(bar, f2(baz))

Keywords (or, and) could be operators instead (||, &&), doesn't matter.
Doing 2nd or 3rd one would allow 1st one indirectly (by using a temp variable (and maybe custom functions)).
This would allow for more complex checks in responses etc.
Currently it's technically possible with custom functions and more temp variables, but it's kinda ugly and verbose.
Nice work so far, I think it has a lot of potential!

Haha yeah this has been on my todo list. I'm almost done so it should be out soon.


Fixed Image and data not being hidden on page flip in team.html in Firefox browser

Description
Fixed Image and data not being hidden on page flip in team.html in Firefox browser
Fixes #457
List any dependencies that are required for this change
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 not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
UI /UX changes
Attach gif or screenshot for changes.

Before :

After :

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

this issue already done by someone .now it so correct in website @ishwari20

The issue is still present for FireFox browser.

@harikesh409 Done the changes. Please review


treewide: clean up pythonRelaxDepsHook references

Referencing it is not necessary any more, since using pythonRelaxDeps
or pythonRemoveDeps will automatically make sure the hook is provided.## Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Huh, rebuilds.


sh make.sh problem in Window10

First of all, Thank you for provide your code.
I followed https://github.com/AruniRC/detectron-self-train/blob/master/INSTALL.md for Installation.
But i met problem at "Compile Detectron-pytorch"
cd lib  # please change to this directory
sh make.sh
Currently, i am using Window10, so i cannot access sh make.sh.
Could you suggest solution of this problem?
System information

Operating system: Window10
CUDA version: 10.0
cuDNN version: ?
GPU models (for all devices if they are not all the same): Titan Xp
python version:  3.7
pytorch version: 1.1.0

I do not have any experience with setting this up on Windows, sorry.


[visquv] Rename folder to visquv

This will rename folder name to visquv as visq + u + viewer.
ONE-vscode-DCO-1.0-Signed-off-by: SaeHie Park<EMAIL_ADDRESS>

visquv name came from https://github.com/Samsung/ONE/issues/9694#issuecomment-1275390331


Documentation: has(:xpath, xp).text return value is driver specific

HTML

Download/Upload

Incredibly fast speeds

CSS
.downloadTitle h1 a, .moneybackTitle h1 a, .testimonialTitle h1 a {
font: normal 13px/14px "nevisBold", "Helvetica Neue", Helvetica, Arial;
color: #584F45;
text-transform: uppercase;
}

Capybara
page.find(:xpath, '/html/body/div[4]').text

Result
"DOWNLOAD/UPLOAD Incredibly fast speeds"

From rdoc.info
- (String) text

The text of the element

Returns:
(String) — The text of the element

Documentation suggestion:
There are expected to be slight differences in what different drivers return as the text. Selenium chooses to return the text formatted with CSS, RackTest doesn't.

This is expected behaviour. There will be slight differences in what different drivers return as the text. Selenium chooses to return the text formatted with CSS, RackTest doesn't. Documenting that it is one way or another doesn't make sense.

Send a pull request with a doc patch.


Slight fixes

Hey. Just saw uber mentioned me however, I had to fix the fact that this is not an RM fork, but official. Also (change if that's not what you're going for), I moved mine and DexV up a bit, above the inactive ones.
Thanks for your work by the way

Always. Thats why I'm here xD


Dependency on Version 3.5.0 prevents generate class files

I have been trying to debug an issue where my project stopped generating class files, even though the build never failed.  I tracked it down to simply adding a dependency on jcypher.  Eventually I tried to compile the same app on the master branch to see if it had issues.  I found it compiled just fine, but was pointed to the 3.4.0 version.  I found 3.4.1 compile just fine.  When I changed the version to 3.5.0, no class files were generated for the iot package under target/classes.
I think the work you did on this project is quite impressive and would love to try it out.  Unfortunately, the latest version appears to break in maven.
If you think it's an environment issue, I am happy to share any information you might think would be helpful.

JCypher 3.5.0 compiles for Java 1.8, so maybe that's the problem in your case.
But in general if you add a dependency to JCypher, the JCypher jar file is simply down-loaded from maven central and included in your classpath.
If you want to compile JCypher for Java 1.7, you need to clone the project, change the pom.xml to compile for Java 1.7. In this case however you will get some errors because the code is not completely backwards-compatible to Java 1.7, but it requires only 2 or 3 minor fixes in the code (JCypher 3.6.0 will be backwards-compatible with Java 1.7).
I hope this info helps. Let me know if I can be of more help.
Best regards,
Wolfgang

Current HEAD of the master branch should compile with 1.7 since Wolfgang
merged my pull request three days ago. One of my changes was to make it
compile with 1.7. If you want to give it a try. Just make sure the
pom.xml is set to 1.7.
Best,
Marco
Am 17.10.2016 um 16:22 schrieb Wolfgang Schuetzelhofer:

JCypher 3.5.0 compiles for Java 1.8, so maybe that's the problem in
your case.
But in general if you add a dependency to JCypher, the JCypher jar
file is simply down-loaded from maven central and included in your
classpath.
If you want to compile JCypher for Java 1.7, you need to clone the
project, change the pom.xml to compile for Java 1.7. In this case
however you will get some errors because the code is not completely
backwards-compatible to Java 1.7, but it requires only 2 or 3 minor
fixes in the code (JCypher 3.6.0 will be backwards-compatible with
Java 1.7).
I hope this info helps. Let me know if I can be of more help.
Best regards,
Wolfgang
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Wolfgang-Schuetzelhofer/jcypher/issues/28#issuecomment-254221719,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABD3v_6fNpHYfckmeqdN0Xa2v9S-dk8Lks5q04SygaJpZM4KXnjS.

That was indeed it.  When I changed the compilation version to 1.8 it started to work.  Thank you very much!


Fix ponyup-init on freebsd

There was a small typo that made running ponyup-init.sh on FreeBSD impossible

Hi @Erk-,
The changelog - fixed label was added to this pull request; all PRs with a changelog label need to have release notes included as part of the PR. If you haven't added release notes already, please do.
Release notes are added by creating a uniquely named file in the .release-notes directory. We suggest you call the file 156.md to match the number of this pull request.
The basic format of the release notes (using markdown) should be:
## Title

End user description of changes, why it's important,
problems it solves etc.

If a breaking change, make sure to include 1 or more
examples what code would look like prior to this change
and how to update it to work after this change.

Thanks.

Thanks @Erk-. This is going to be released very soon.


Laravel 5.7 multiple authentication api route problem

Firstly hi all and sorry my poor english.
I have a problem on my laravel project.
I have multiple authentication on my laravel project. And also I have 3 guards. Login screens works perfecly with web.php.
I just want to write an api resource. I want to if any user logined to system with web,sube_admin and admin guards return an result; this api must be accessible for all users.
Firstly i'm logined with admin guard.
If I write this in to web.php
Route::middleware('auth_api_json:admin,sube_admin,web')->group(function(){
    Route::get('/iller', function (Request $request) {

        dd(auth()->guard("admin")->check());

    });

});

And if I go to localhost:8000/iller address, this code is returns true.
If I write bellow code on my api.php file
Route::middleware('auth_api_json:admin,sube_admin,web')->group(function(){
    Route::get('/iller', function (Request $request) {

        dd(auth()->guard("admin")->check());

    });

});

I need to go now to localhost:8000/api/iller address, after that I see in my results is false.
I just want to write my code perfectly, I want to use my api.php file and I want to use /api/ on my address bar.
And here is my auth_api_json Middleware file source.
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Auth\Middleware\Authenticate as Middleware;

class Api extends Middleware
{

}

Hi there,
Looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
Discord
Larachat
IRC
StackOverflow


Treat bsb errors as warnings

To fix this issue: https://github.com/cxa/reason-react-webpack-starter-kit/issues/1

Thanks! Sorry I didn't get around to this yet, I'll merge and release a new version now.

Published as version 1.2.1 in 7abd8b7735f2dc40635221f321dc5286c2c29a2e

This caused some unexpected errors when running webpack -w. I put this behavior behind the option errorType. See https://github.com/rrdelaney/bs-loader#errortype
I'm going to publish 1.2.2 with the old default

Shouldn't call callback on bsb error, otherwise webpack will be terminated. Here's my workaround:
const getCompiledFile = (path, callback, emitWarning) => {
  runBsb((err, res) => {
    if (err) {
      if (emitWarning) emitWarning(res)
      else return callback(err, res)
    }

    readFile(path, (err, res) => {
      if (err) {
        callback(err, err)
      } else {
        const src = transformSrc(res.toString())
        callback(null, src)
      }
    })
  })
}

module.exports = function () {
  const options = getOptions(this) || {}
  const errorType = options.errorType || 'error'
  const moduleDir = options.module || 'js'

  this.addDependency(this.resourcePath + 'i')
  const callback = this.async()
  const compiledFilePath = getJsFile(moduleDir, this.resourcePath)

  getCompiledFile(compiledFilePath, (err, res) => {
    if (err) {
      this.emitError(res)
      callback(err, null)
    } else {
      callback(null, res)
    }
  }, errorType === 'warning' ? this.emitWarning : null)
}

Did this work with your kit and plain webpack watch?

if bsb generate error, webpack -w will stop, the same behavior as current bs-loader, otherwise its perfect.

That seemed to work for me, published as v1.2.3


[Feature] - Running Kubeflow and MLFLow code through "One-Click" approach

This PR address:

#10
#14
Also introduce -x as Extra and -e ad Entrypoint

Examples:
k3ai run -s https://github.com/alefesta/sample/mlflow -b mlflow -t <clustername>
k3ai run -s https://github.com/alefesta/sample/kfp -b kfp -e condition.py -t <clustername>

For MLFlow remains to manage the need of boto3 in the conda.yaml file that is a requirement to run on K8s.
This need to be addressed before merge this PR.
We may:

try to inject boto3 in the conda.yaml file at runtime
Force the user to fork the example first , change conda and run k3ai
The first seems more compliant with k3ai goals of making life of user easier

While the code is read to run against k3ai-executor:latest to test it one should change in the deployment to k3ai-executor:dev.
I'm going to record a video to show how we may now point to a sub-folder of the repo and use it instead of be limited to the root folders.
The command is:

k3ai run -s <URL of the repo including the folder> -b [mlflow or kfp] -e <file.py> [only if kfp is used] -t <cluster name>
k3ai run -s https://github.com/alefesta/sample/kfp -b kfp -e condition.py -t mycluster
k3ai run -s https://github.com/alefesta/sample/mlfow -b mlflow -t mycluster

Things I still have to manage:

[ ] remove dynamically the /tree/main or /tree/master  from URL. I would expect users to simply copy the URL as they see it in the browser so we have to remove that part
[ ] KFP Argo vs KFP tekton, I need to understand the best approach there, since they are not compatible. I'm considering using conda and 2 separate environments but I suspect will increase the size of the container.

For MLFlow remains to manage the need of boto3 in the conda.yaml file that is a requirement to run on K8s.

I was trying to find what went wrong as the artifactURI was broken, and on checking the logs, it was evident that the S3 bucket (in our case, Minio) wasn't accessible. Thanks for the reminding me this again!

We may:
- try to inject boto3 in the conda.yaml file at runtime
- Force the user to fork the example first , change conda and run k3ai

Why not change add boto3 to our conda.yaml in our quickstart example? Runtime dependency injection seems odd since we have the quickstart as the single source of truth.
This way, issues related to dependencies can be handled in the repo itself, without needing to touch the main k3ai repo.  We could use automated bots like dependabot for updating the requirements in conda.yaml; or even pin some dependencies to specific versions.

For MLFlow remains to manage the need of boto3 in the conda.yaml file that is a requirement to run on K8s.

I was trying to find what went wrong as the artifactURI was broken, and on checking the logs, it was evident that the S3 bucket (in our case, Minio) wasn't accessible. Thanks for the reminding me this again!

Now is fixed. If you are working on a local laptop everything is accessible at your /mnt/data/minio/mlflow
But I'm not satisfied with minio the way it is ...I was thinking what if we re-use the Kubeflow minio this way we would end up having MLFLOW and Kubeflow working together ;)

We may:

try to inject boto3 in the conda.yaml file at runtime
Force the user to fork the example first , change conda and run k3ai

Why not change add boto3 to our conda.yaml in our quickstart example? Runtime dependency injection seems odd since we have the quickstart as the single source of truth.
This way, issues related to dependencies can be handled in the repo itself, without needing to touch the main k3ai repo. We could use automated bots like dependabot for updating the requirements in conda.yaml; or even pin some dependencies to specific versions.

This is actually how it works...I mean:

in our repo boto3 is in the conda.yaml
in mlflow public repos unfortunately not. But I am injecting boto3 at runtime so it fixes automatically the original conda.yaml file.
Now once we release 1.0.1 our quickstart will be made by 2 subfolders :
kfp
mlflow
(later also airflow and tfx)
So people will may use one single repo but run different code.

Crazy idea:
When executor run in GHA open an issue and print there the results?

When executor run in GHA open an issue and print there the results?

If we output the results into a Markdown file, it could be then be:

Used to create issue using Create Issue from File
Exported to online markdown editors with sharable links, etc.

Humm I think I may redirect the output to a markdown file and save it in a folder in the k3ai-execution pod. From there since we know the repo we may eventually use them...

Humm I think I may redirect the output to a markdown file and save it in a folder in the k3ai-execution pod. From there since we know the repo we may eventually use them...

Sounds good. I have opened an issue related to this.


Add setZoomFactor

Fixes #196

Can you publish on pub.dev please?

I will publish a release soon. But for time being you could directly specify the git repo in your pubspec.


feat(bivariate-color-manager): 10842 - add legend details info block

https://kontur.fibery.io/Tasks/Task/Choose-denominators-for-selected-indicators-to-make-layers-(Color-legends-section)-dn-fe-10842

also joinAndCapitalizeItems(direction) is a bit confusing to read, even considering direction is []

I remember we've renamed it already by @Akiyamka request.
@IlyaIzr Do you have any suggestions?

@IlyaIzr updated naming approach.


In multinode mode, disallow deleting vmgroup which are not empty

When in multinode mode, if Vmgroup contains VMs, do now allow vmgroup rm. (Due to limitation of ESX host doesn't have information about VM residing on another host)
This is too tight enforcement but keeps volume state clean.
Following are the test.
Two esx hosts, configured in multinode and each of them have one VMs. They are added to a shared vmgroup.
ESX1:
[root@sc2-rdops-vm06-dhcp-219-119:~] /usr/lib/vmware/vmdkops/bin/vmdkops_admin.py vmgroup create --name sharedVMGroup --vm-list ubuntu-VM0.1 --default-datastore sharedVmfs-0
vmgroup 'sharedVMGroup' is created. Do not forget to run 'vmgroup vm add' to add vm to vmgroup.
[root@sc2-rdops-vm06-dhcp-219-119:~] /usr/lib/vmware/vmdkops/bin/vmdkops_admin.py vmgroup ls
Uuid                                  Name           Description                Default_datastore  VM_list
------------------------------------  -------------  -------------------------  -----------------  ------------
11111111-1111-1111-1111-111111111111  _DEFAULT       This is a default vmgroup  _VM_DS
b44b173a-cbe6-4d05-ae3c-8c90e3287558  sharedVMGroup                             sharedVmfs-0       ubuntu-VM0.1

ESX2
[root@sc2-rdops-vm06-dhcp-209-223:~] /usr/lib/vmware/vmdkops/bin/vmdkops_admin.py vmgroup vm add --name sharedVMGroup --vm-list ubuntu-VM0.2
vmgroup vm add succeeded

[root@sc2-rdops-vm06-dhcp-209-223:~] /usr/lib/vmware/vmdkops/bin/vmdkops_admin.py vmgroup vm ls --name sharedVMGroup
Uuid                                  Name
------------------------------------  ------------
564d1a2a-8d8e-1c4f-a1b6-dacf99d3e2b0  ubuntu-VM0.1
564db3f0-b9e9-d036-51f2-c83d54edd602  ubuntu-VM0.2

[root@sc2-rdops-vm06-dhcp-209-223:~] /usr/lib/vmware/vmdkops/bin/vmdkops_admin.py vmgroup rm --name sharedVMGroup
Cannot delete non empty Vmgroup sharedVMGroup in Multinode mode. Remove VMs from the Vmgroup before deleting it.

Fixes #1188

@govint makes sense.
I can make a separate PR for the steps to handle VM migration out of a vmgroup.

Did the doc update here itself.

@shaominchen I agree. Once we have some central control, we can get rid of such strict checks.

@pshahzeb Please fix address CI failures and merge.

@pdhamdhere I've taken over this PR. Some test cases are broken due to the change that a tenant to be removed must be empty. I'm fixing this right now.

@pshahzeb @shuklanirdesh82 Can you please take a quick look at my latest commits, which fixed the broken tests?
https://github.com/vmware/docker-volume-vsphere/pull/1214/commits/d47694d2d2ad640df315b24dfdb9d63773434b4d
https://github.com/vmware/docker-volume-vsphere/pull/1214/commits/3bac9923a79c32a0953d25629573319d1df8f532

@shaominchen Please rebase with master correctly .. this PR's diff is showing unwanted files.

@shuklanirdesh82 It's a little bit tricky to fix the wrong commit history due to rebase. I will simply create a new PR for this.

Replaced with PR #1231


[Storage] Support Management policy on new api version 2018-03-01-preview

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
The PR is for add new feature Management policy on new api version 2018-03-01-preview.
Rest API Spec: https://microsoft-my.sharepoint.com/:w:/r/personal/yzheng_ntdev_microsoft_com/_layouts/15/Doc.aspx?sourcedoc={3E66A1C5-12C8-4ACB-BCF0-D59B015DE394}&file=DLMPreviewDoc.docx&action=default&mobileredirect=true
This PR has passed review on private repo: https://github.com/Azure/azure-rest-api-specs-pr/pull/465
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[x] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[x] I have read the contribution guidelines.
[x] My spec meets the review criteria:

[x] The spec conforms to the Swagger 2.0 specification.
[x] The spec follows the guidelines described in the Swagger checklist document.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

@hovsepm  I switching this one to anu, he's already reviewed this in the Private Repo

Automation for azure-sdk-for-node

Automation for azure-sdk-for-go

Automation for azure-libraries-for-java

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

@hovsepm , @anuchandy
I have replied all the comments in the PR. please help to review.


iron-ajax demo not working

I installed the PSK1.1.2 via gulp and bower.  The iron ajax demo doesn't work.  the index.html points to some files that are much further up in the file directory and I get 404s.

The demos are written to work on the Polymer Element Catalog. You can get the same demo working by using polyserve to route the dependencies correctly.
Here's also a working version of the demo from the catalog: https://elements.polymer-project.org/elements/iron-ajax?view=demo:demo/index.html&active=iron-ajax