Fails to start

Hi guys,
I have a 13" M1 MacBook Pro (16GB) and the other day after I got a Fedora system update my touchbar stopped working.
I tried to start it manually but it also fails.
I have here a screenshot of the error I'm facing.

I'm a Linux noob so, sorry if I'm the one doing something wrong 😅

try to start it manually (sudo tiny-dfr) and attach the output here.

I've tried that and it's outputting this

I haven't change any kind of config file

Do you have displaylink drivers installed? Or any other out of tree kernel modules.

yes, I have the DisplayLink driver installed and it also stopped working.
I'm starting to feel that I'm the one who borked everything 😅

https://github.com/WhatAmISupposedToPutHere/tiny-dfr/commit/d5491af2f46dc6b141a1e0107e5f98dd875a6c6a
If you are comfortable compiling it yourself - latest commit should fix it. Alternatively, you can remove the displaylink drivers, or wait for a release that includes the commit above.


Added a convenient method to clamp the vector's components.

Hello,
I came across several times where I used the Vector3 to specify locations in my game's world and many times wanted to clamp the position to the map's size. So I thought instead of repeating it, it might be useful for other devs.
Thanks

In that case it could be added to the Vector interface and implemented in each respective class.
I'm unsure how robust this solution is, as you may not want your map size to be perfectly cubic forever and am generally struggling to come up with uses for clamping each component to the same range.

Taken your feedback and applied it by adding a generic unified method to the interface and also added a more flexible version to each Vector class.

In that case it could be added to the Vector interface and implemented in each respective class.
I'm unsure how robust this solution is, as you may not want your map size to be perfectly cubic forever and am generally struggling to come up with uses for clamping each component to the same range.

Mainly, clamping to the -1 to 1 or the 0 to 1 range come to mind, since those can then be scaled out to any non-cubic range you want. I'm approving this now.

I like the added clampComponents(float min, float max) added to the Vector interface but I don't like the implementation specific overloaded methods.
This signature hurts my eyes public Vector4 clampComponents (float xMin, float xMax, float yMin, float yMax, float zMin, float zMax, float wMin, 		float wMax). I'd personally stick to the generic one and remove the others. I'm not dying on this hill though if others think it's worth having them all.


Dialyzer error in brod_cg_commits.erl on OTP 25

OTP commit e9dfd9d54e398b414f40cf65c4b37ba5b648858d adds type specifications to gen_server. One of them is for gen_server:reply/2
-spec reply(
        Client :: from(),
        Reply  :: term()
       ) ->
                   ok.

This breaks brod_cg_commits:maybe_reply_sync/1:
.../brod/src/brod_cg_commits.erl:283:20: The call gen_server:reply(From::{pid(),reference()},'ok') does not have a term of type {pid(),gen_server:reply_tag()} (with opaque subterms) as 1st argument

because it does
maybe_reply_sync(#state{pending_sync = From} = State) ->
  gen_server:reply(From, ok),
  log(State, info, "done\n", []),
  State#state{pending_sync = ?undef}.

Where pending_sync is typed to {pid(), reference()}.

This should affect all OTP 25.x versions.

fixed in: https://github.com/kafka4beam/brod/pull/553


Feature request: allow to skip extraction for binary releases

Is your feature request related to a problem? Please describe.
I want to use binary releases of programs that are not packed into gzipped tarballs (e.g. stedolan/jq). However, using from'gh-r', zplugin always tries to extract whatever it finds. If it doesn't find an archive it just skips extraction:
zpextract: WARNING: didn't recognize the archive type (no extraction has been done).
zpextract: Successfully extracted and assigned +x chmod to the file: `jq-linux-x86_64'.

The downside here is that the version somehow isn't remembered. So subsequent calls to zpl update force a complete download again (in this case "only" a ~6s delay, but there are much larger binaries around):

Describe the solution you'd like
A simple ice, e.g. noextract, to prevent zplugin from extracting github releases
Describe alternatives you've considered
I just read about z-a-as-track (in #183, which might be related, kind of ...) and believe it could solve this issue to some degree, but then I would probably lose the comfort of automatic arch detection again.

Thanks for bringing this up. It is done – with a slight modification: the warning will be skipped when no binaries will be found upon the download. This way the binary still gets a guaranteed +x.


eng, sdk repo now contains emitter-package-lock.json

and need to call a script to update it when update typespec-java in SDK repo (besides the emitter-package.json file)
tested in patch release pipeline https://dev.azure.com/azure-sdk/internal/_build/results?buildId=3536666&view=logs&j=c28f120c-e125-5ec5-8d4c-ba1a4d871fcc&t=b83a11c4-9f3c-5115-167f-68dcfe6f5445
result https://github.com/Azure/azure-sdk-for-java/pull/38984
context https://github.com/Azure/azure-sdk-for-java/pull/38883

May need to call "New-EmitterPackage.ps1" as well.
Checking with Patrick.

/check-enforcer override


Fix example using custom_attr_whitelist and custom_attr_maxval_len in…

… ldap documentation
Signed-off-by: Craig Perkins<EMAIL_ADDRESS>Description
The section on (Advanced) Control LDAP user attributes contains a mistake in the example of how to configure the attributes custom_attr_whitelist and custom_attr_maxval_len, this PR updates the documentation to ensure the example is in the correct area of the security configuration.
Issues Resolved
Related Issue issue from the security repo: https://github.com/opensearch-project/security/issues/2032
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@cwillum @Naarcha-AWS Looks like the backport to 2.x did not work automatically. Should I go ahead and run the manual steps?

@cwperks I think we need to break these out into separate backport 2.0, 2.1, and 2.2 PRs. The "2.x" label was an attempt to consolidate the backport operation. We can probably revert and generate a new PR to do this. Will check in with @Naarcha-AWS .

@cwperks: I went ahead and generated the backport PR for 2.0 for you. I was experimenting with the 2.x label. Sorry for the confusion!

Thank you @Naarcha-AWS !


Maximum recursion depth limit exceeded for Invocable.Action

Expected Behavior
The framework can handle the invocation of more than 3 Salesforce Flows in a single transaction.
Actual Behavior
The framework cannot handle the invocation of more than 3 Salesforce Flows in a single transaction.
Steps to Reproduce the Problem

Flow 1 on Object 1 executes and updates Object 2
Flow 2 on Object 2 executes and updates Object 3
Flow 3 on Object 3 executes and updates Object 4
Flow 4 on Object 4 fires and hits the following system limit:
Error Occurred: The flow tried to update these records: null. This error occurred: LIMIT_EXCEEDED: System.LimitException: We couldn’t run the invocable action because you exceeded the maximum recursion depth of 3 for the Invocable.Action class. . You can look up ExceptionCode values in the SOAP API Developer Guide.

Specifications
Hi Mitch. I was referred to you by CarlV. We are looking for guidance on how to use this framework with Salesforce Flows. The framework appears to to be restricted to a maximum of 3 Flows that can be invoked per transaction due to the system limit "maximum recursion depth of 3 for the Invocable.Action class". Please advise if we are using the framework correctly and how best to structure our Flows so we are not constrained by this system limit. Thanks!

Version: 0.2.5
Platform: Salesforce

Thanks for bringing this to my attention. Unfortunately, this depth limit of 3 is not documented in the documentation for the Invocable.Action class.
I have added a some guidance to the README regarding the safe use of Trigger Action Flows.


Update to latest p0323

P0323rx std::expected

Wrong project.
Issue already exists at expected-lite.


feature: add rules for type validation

Signed-off-by: zhuangqh<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Add rules to validate post request body.

Parameter
type
pattern

StopTimeout
*int64
>= 0

Parameter
type
pattern

ExecCreateConfig.Cmd
[]string
len > 0

Parameter
type
pattern

HostPort
string
^([1-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$  (0-65535)

Ⅱ. Does this pull request fix one issue?

fixes #443
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
added, but not complete. I would like to invite volunteers to complete test.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

feels so good to see it! 😍

@rudyfly please double check these rules.

I think that there is no limit of Labels. Do we have any requirement for this kind of validation?

@allencloud after discussing with @rudyfly . I have removed all of the rules related to volume or label.

LGTM


Post link to upcoming K8 blog on relevant pages

We have an upcoming K8 video (https://www.cockroachlabs.com/webinars/deploy-cockroachdb-on-kubernetes). We should put a banner on top of the following pages:
https://www.cockroachlabs.com/docs/v19.1/orchestrate-cockroachdb-with-kubernetes.html#main-content
https://www.cockroachlabs.com/docs/v19.1/kubernetes-performance.html#main-content
https://www.cockroachlabs.com/docs/v19.1/training/orchestration-with-kubernetes.html#before-you-begin
After the event, we should modify the banner to say watch the previous event.

@maria-toft, thoughts?

@awoods187 I'm presenting this to the Docs this morning (how we can launch relevant Kubernetes content on those Docs pages) including the webinar you mentioned in rotation with the exiting Kubernetes webinar that Alex presented and our Kubernetes guide. We are hoping to go live this week. I'll post here once live. @jseldess

@awoods187 relevant cross-promotional content is now live on the docs site (on certain pages). We are rotating the kubernetes content and it will include today's webinar. Here are the kubernetes pages where the relevant content promotion is live:
https://www.cockroachlabs.com/docs/v19.1/orchestrate-a-local-cluster-with-kubernetes-insecure.html
https://www.cockroachlabs.com/docs/v19.1/orchestrate-a-local-cluster-with-kubernetes.html
https://www.cockroachlabs.com/docs/v19.1/orchestrate-cockroachdb-with-kubernetes-insecure.html
https://www.cockroachlabs.com/docs/v19.1/orchestrate-cockroachdb-with-kubernetes-multi-cluster.html
https://www.cockroachlabs.com/docs/v19.1/orchestrate-cockroachdb-with-kubernetes.html
https://www.cockroachlabs.com/docs/v19.2/orchestrate-a-local-cluster-with-kubernetes-insecure.html
https://www.cockroachlabs.com/docs/v19.2/orchestrate-a-local-cluster-with-kubernetes.html
https://www.cockroachlabs.com/docs/v19.2/orchestrate-cockroachdb-with-kubernetes-insecure.html
https://www.cockroachlabs.com/docs/v19.2/orchestrate-cockroachdb-with-kubernetes-multi-cluster.html
https://www.cockroachlabs.com/docs/v19.2/orchestrate-cockroachdb-with-kubernetes.html

Thanks, @maria-toft!


Visual Studio Startup is slow

Performance of  visual studio startup is slow . Here the details  of my startup process
System Info

Code: 1.78.2 (b3e4e68a0bc097f0ae7907b217c1119af9e03435)
OS: win32(10.0.22621)
CPUs: Intel(R) Core(TM) i7-10875H CPU @ 2.30GHz(16 x 2304)
Memory(System): 15.88 GB(8.04GB free)
Memory(Process): 187.90 MB working set(152.63MB private, 1.09MB shared)
VM(likelihood): 0%
Initial Startup: true
Has 0 other windows
Screen Reader Active: false
Empty Workspace: true

Here are the output of Startup performance of Visual studio code for your reference.
https://gist.github.com/Sameer-Ahmed-S/e80d9ef9dc631a8f555c65368d29fe16

If you are using Mcafee antivirus please see #178962

Thank you @gjsjohnmurray for quick response. I went thru this   #178962   issues. It did resolved the issue. Appreciated !!!


Energy page - Solar production - Correcting data with Solar information from yesterday

When viewing the energy page I see some kind of correction at the beginning of the day at 0:00 - 1:00 and  1:00 - 2:00.
Looks like the same amount of total Solar energy from the day before but why is it in the next day with an direct correction.
So in the morning I have for example an -30kWh and the next hour I have +30kWh of Solar energy.
If there are any questions please let me know
Thanks !

Hi!
Anyone have a fix for the problem?

Hi! Anyone have a fix for the problem?

I have modified the energy dashboard and switched from total energy meter to daily (from this integration), where the daily energy meter does not have such +- of energy gaps.

That is not a solution or a workaround because if you do that the info for used solar energy is no longer displayed.

Hi! Anyone have a fix for the problem?

I have modified the energy dashboard and switched from total energy meter to daily (from this integration), where the daily energy meter does not have such +- of energy gaps.

That is not a solution or a workaround because if you do that the info for used solar energy is no longer displayed.

It works for me

I don't see that drops in my integration, but could you tell me how your energy dashboard is configured? Or where do you see these graphs with the drops?

Thx. I will try to see if I can reproduce the issue. But probably this is something related to the data the integration receives from Huawei Fusion Solar.

I have the same issue.
Could it be a fix/workaround to have a validation on incoming lifetime energy where negative drops from prev. value are rejected.

Another thought. Could it be a Date and Time zone problem? Client being 1 or more hours ahead of the server. Could cause problems at midnight. I.e. client asks for today's data at 00:00, server is still on yesterday and responds with data for yesterday 00:00. I am in CET (Stockholm) with DST (GMT +2), a user in the GMT zone might not see the problem.

Tried changing from GMT+1 to GMT, no difference. Looking at sensor history, it is clear that data for 00:00 - 01:00 is one day old. Will try GMT without DST next.

.

This is a Huawei problem!
I ran the Fusionsolar kiosk url in firefox, no HA components involved. Attached cut outs from screenshots speaks for them selfs.
Only thing that can be done in HA is checking and rejecting invalid data.
/A

First of all: I'm very sorry this took this long.
I have a fix ready (https://github.com/tijsverkoyen/Home-Assistant-FusionSolar-Kiosk/pull/33) and will test this tonight, of this works I will publish a new release this week.
Thx @AndersHoglund for the PR you did, which made me see the 💡. I was totally working on a wrong approach.

This issue is fixed in the v3.0.1 release.


Fix a few clang warnings

Fixed a few warnings that's been annoying me. The majority of warnings left are related to types used in printf() (-Wformat).

Just a heads up that you should probably send these to the mailing list, I asked on IRC and that's the preferred place for patches


SteamAudio and Phonon linkage for mac

These do not currently work, so a debug printf is added to spatializer_phonon.c to help in debugging.
Notice the awkward extra step for Oculus Audio.

I figured out how to fix this PR without adding move_lib to the non-bundle builds. However, I think probably we want the move_lib approach anyway because it will work better with plugins. I will wait on that.
I'm back on Windows today so there's no urgency for me on this right now.

The rpath is now fixed and move_lib happens on all macOS builds.  So the stuff here will probably work better now, maybe get simplified a bit too.  Just let me know!

I'll take a pass at it, probably not today tho

With new commits, Oculus Audio works— but Steam Audio doesn't, and I don't know why.
I went to Stack Overflow with a description of the new problem to ask for help.

I literally found and filed two separate CMake bugs in the process of writing this but this patch is now ready to commit, it works anyway. I can squash into a single commit if you'd prefer.

Uh, wow, CMake.  Squash would be preferred if it reduces the number of un-buildable commits here

Refiled as #426 so I could squash without losing the mac-spatializer-test-2 branch


[FLINK-15487][table] Update code generation for new type inference

What is the purpose of the change
This updates the code generation for the new type inference and thus completes FLINK-15487. Scala function work with the types supported by the planner. Tests added in this PR only test basic behavior. We will need more tests per data type. But this is a follow up issue.
Brief change log

Update the code generation
Fix a couple of bugs and shortcomings

Verifying this change
FunctionITCase tests the implementation.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): yes
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? JavaDocs

Thanks for the review @JingsongLi and @dawidwys. I hope I could address most feedback. I will merge this once Travis gives green light. I will open a follow-up issue for more extensive tests for all data types.

@flinkbot run travis


Start sharing awesome VS code ability to handle ligatures!

Hi, thanks for the suggestion.
I'd suggest putting this section somewhere close to themes.


Update usage-scenario-downstream-more-columns.md

What is changed, added or deleted? (Required)
support more columns in downstream for full export and import, because we have supported it in https://github.com/pingcap/dm/pull/906
Which DM version(s) do your changes apply to? (Required)

[x] master (the latest development version, including v2.0 changes for now)
[ ] v1.0 (TiDB DM 1.0 versions)

What is the related PR or file link(s)?

This PR is translated from: https://github.com/pingcap/docs-dm/pull/263
Other reference link(s):

Do your changes match any of the following descriptions?

[ ] Delete files
[ ] Change aliases
[x] Have version specific changes
[ ] Might cause conflicts

/merge


Poetry and Archive analyzers fail when run together after building project

Describe the bug
When poetry build is executed, a tar.gz file is produced in the dist subdirectory, which contains the source code, along with the pyproject.toml file, per PEP-517. This tarball will not contain the poetry.lock file, as it is not part of the PEP.
If dependency-check is executed following a poetry build, this tarball is extracted, then detected as a Poetry project, due to the presence of the pyproject.toml file. The Poetry analyzer then fails due to the poetry.lock file's absence.
This behavior can be reproduced with any Poetry project, even the default template one generated by poetry init.
Version of dependency-check used
Docker image docker.io/owasp/dependency-check:9.0.7
Log file
Redacted excerpt follows
...
2024-01-03 17:01:38,806 org.owasp.dependencycheck.Engine:812
DEBUG - Parallel processing with up to 30 threads: Archive Analyzer.
2024-01-03 17:01:38,808 org.owasp.dependencycheck.AnalysisTask:86
DEBUG - Begin Analysis of '/home/jenkins/agent/workspace/<redacted>/dist/<redacted>.tar.gz' (Archive Analyzer)
2024-01-03 17:01:38,823 org.owasp.dependencycheck.analyzer.ArchiveAnalyzer:712
DEBUG - Decompressing '/tmp/dctempc8d64938-ac96-49be-9024-479cce48b807/check16690950676736243985tmp/1/<redacted>.tar'
2024-01-03 17:01:38,850 org.owasp.dependencycheck.analyzer.ArchiveAnalyzer:684
DEBUG - Extracting '/tmp/dctempc8d64938-ac96-49be-9024-479cce48b807/check16690950676736243985tmp/2/<redacted>/build.py'
2024-01-03 17:01:38,851 org.owasp.dependencycheck.analyzer.ArchiveAnalyzer:684
DEBUG - Extracting '/tmp/dctempc8d64938-ac96-49be-9024-479cce48b807/check16690950676736243985tmp/2/<redacted>/pyproject.toml'
2024-01-03 17:01:38,852 org.owasp.dependencycheck.analyzer.ArchiveAnalyzer:684
DEBUG - Extracting '/tmp/dctempc8d64938-ac96-49be-9024-479cce48b807/check16690950676736243985tmp/2/<redacted>/<redacted>/__init__.py'
2024-01-03 17:01:38,853 org.owasp.dependencycheck.analyzer.ArchiveAnalyzer:684
DEBUG - Extracting '/tmp/dctempc8d64938-ac96-49be-9024-479cce48b807/check16690950676736243985tmp/2/<redacted>/<redacted>/<redacted>.py'
...
2024-01-03 17:01:38,853 org.owasp.dependencycheck.analyzer.ArchiveAnalyzer:684
DEBUG - Extracting '/tmp/dctempc8d64938-ac96-49be-9024-479cce48b807/check16690950676736243985tmp/2/<redacted>/PKG-INFO'
...
2024-01-03 17:01:38,955 org.owasp.dependencycheck.analyzer.PoetryAnalyzer:145
DEBUG - Checking file /tmp/dctempc8d64938-ac96-49be-9024-479cce48b807/check16690950676736243985tmp/2/<redacted>/pyproject.toml
2024-01-03 17:01:38,955 org.owasp.dependencycheck.AnalysisTask:90
WARN  - An error occurred while analyzing '/tmp/dctempc8d64938-ac96-49be-9024-479cce48b807/check16690950676736243985tmp/2/<redacted>/pyproject.toml' (Poetry Analyzer).
2024-01-03 17:01:38,957 org.owasp.dependencycheck.AnalysisTask:91
DEBUG -
org.owasp.dependencycheck.analyzer.exception.AnalysisException: Python `pyproject.toml` found and there is not a `poetry.lock` or `requirements.txt` - analysis will be incomplete
	at org.owasp.dependencycheck.analyzer.PoetryAnalyzer.ensureLock(PoetryAnalyzer.java:208)
	at org.owasp.dependencycheck.analyzer.PoetryAnalyzer.analyzeDependency(PoetryAnalyzer.java:152)
	at org.owasp.dependencycheck.analyzer.AbstractAnalyzer.analyze(AbstractAnalyzer.java:131)
	at org.owasp.dependencycheck.AnalysisTask.call(AnalysisTask.java:88)
	at org.owasp.dependencycheck.AnalysisTask.call(AnalysisTask.java:37)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
...

To Reproduce
poetry init
poetry build
dependency-check.sh

Expected behavior
The scan to succeed.
Additional context
N/A

Have you considered not scanning the dist directory?

As a temporary workaround, yes, however, I don't think its too unreasonable to expect the analyzer not to fail on files that can and should be expected to be present. By analogy, if the maven analyzer failed unless --exclude target/foo.jar is set, that would be equally concerning.
If nothing else, I feel this case should be documented, and the error message should include something along the lines of "make sure to --exclude dist/** if you've run poetry build" until a complete solution can be implemented.

Any suggestion on where this should be documented?


Column Toggle makes the column order and column width go haywire

I'm submitting a ...  (check one with "x")
[x ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior

Toggling between Column makes the column order and column width go haywire
Expected behavior

The order should the same as the original order, while it is rendered.
Reproduction of the problem

Check the "column toggle demo" example; try unchecking all the columns and then select gender,company and name(or any other randomcombination).
What is the motivation / use case for changing the behavior?

Please tell us about your environment:

WAMP, Visual studio, node

Table version: 0.8.x

Yes issue remains

Angular version: 2.0.x

Issue faced in angular 4

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

all

Language: [all | TypeScript X.X | ES6/7 | ES5]
all

I've updated toogle function in demo file  column-toggle.component.ts and it works like expectation.
toggle(col) {
const isChecked = this.isChecked(col);
if(isChecked) {
  this.columns = this.columns.filter(c => {
    return c.name !== col.name;
  });
} else {
  const newColumns = [...this.columns, col];
  this.columns = this.allColumns.filter(
        f => newColumns.filter(
          s => s.name === f.name)
        ).map(x => Object.assign({}, x));
}

https://github.com/hatung/ngx-datatable/commit/6b2f0ff7feb4fbed428c64f829d62e89375aacd7

the solution proposed by @hatung works for the order but if you hide multiple columns and then toggle back any of them, all the columns get visible again.

i used this one
    if (isChecked) {
      this.columns = this.columns.filter(c => {
        return c.name !== col.name;
      });
    } else {
      const newColumns = [...this.columns, col];
      this.columns = [];
      this.allColumns.forEach((f) => {
        newColumns.forEach((s) => {
          if ( s.prop === f.prop){
            this.columns.push(f);
          }
        });
     });
    }


Wrong direction

Seems like the mapping switches direction at some point.
Not sure if I'm using it wrong
Here is a gif of the bahaviour

I use both of theese
Plug 'christoomey/vim-tmux-navigator'
Plug 'RyanMillerC/better-vim-tmux-resizer'

with the default settings
also
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'RyanMillerC/better-vim-tmux-resizer'

with the default settings

I have experienced the same thing; it seems to switch direction when a vertical split is added to a horizontal split.

we should make a state diagram or statechart to see all the possible states and transition between them

I can confirm this is an issue I’ve noticed. Haven’t gotten a chance to debug and see why this happening. In the meantime to resize Vim Tmux panes I’ve been swapping to the non-Vim Tmux pane and resizing it. That is my hack workaround. 😅

Fixed! a791fe5
There was already logic to prevent this when resizing up. Added condition when resizing down.

On second review, the above commit only fixes the issue if Vim is only vertically split. I am still able to replicate the second half of GIF above with Vim split vertically and one side split horizontally. Will need to look further into this.


NotifyItemChanged does not call onBindChildViewHolder

I am clicking an item (child), opens a dialog fragment. If CANCEL is pressed then nothing happens and if OK is pressed then the background color of the childview changes.
This is notified through notifyItemChanged(). If the group is collapsed and expanded again then the data change gets reflect but it does not get reflected if the group remains expanded.
For the change to be reflected immediately I have tried the following

DefaultItemAnimator animator = new DefaultItemAnimator() {         @Override         public boolean canReuseUpdatedViewHolder(RecyclerView.ViewHolder viewHolder) {             return true;         }     };     rvFoodList.setItemAnimator(animator);

((DefaultItemAnimator) rvFoodList.getItemAnimator()).setSupportsChangeAnimations(false);

rvFoodList.setItemAnimator(null);

((SimpleItemAnimator) rvFoodList.getItemAnimator()).setSupportsChangeAnimations(true);

None of these work.
Please tell how can I achieve this?

== Solution for MultiTypeExpandableRecyclerViewAdapter ==
The decition is very simple, but hard to find:)
in "notify item changed" you must pass not "absolutItemPosition", but "FlatItemPosition".
so, to find flat position of child, you must call in adapter:
int flatChildPos = expandableList.getFlattenedChildIndex(groupPos, posInGroup); notifyItemChanged(flatChildPos );
from documentation:

The flat position (or index in the list of {@link#getVisibleItemCount()} in the list at which to bind

So, it is index in visible items list


Flutter web Stuck at Hot restart

Tried on chrome, Brave, Edge. Also tried on old & fresh projects.
Also I turned of auto hotreload, hotrestart on save. Then Pressed the hotreload button manually. Nothing worked!
Steps to Reproduce

Create a fresh flutter project on windows.
Add web support.

Expected results: Updating the implemented changes
Actual results: Stuck on what it was before

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData.dark(),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      // This call to setState tells the Flutter framework that something has
      // changed in this State, which causes it to rerun the build method below
      // so that the display can reflect the updated values. If we changed
      // _counter without calling setState(), then the build method would not be
      // called again, and so nothing would appear to happen.
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually change instances of widgets.
    return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: const Text("Welcome3"),
      ),
      body: Center(
        // Center is a layout widget. It takes a single child and positions it
        // in the middle of the parent.
        child: Column(
          // Column is also a layout widget. It takes a list of children and
          // arranges them vertically. By default, it sizes itself to fit its
          // children horizontally, and tries to be as tall as its parent.
          //
          // Invoke "debug painting" (press "p" in the console, choose the
          // "Toggle Debug Paint" action from the Flutter Inspector in Android
          // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
          // to see the wireframe for each widget.
          //
          // Column has various properties to control how it sizes itself and
          // how it positions its children. Here we use mainAxisAlignment to
          // center the children vertically; the main axis here is the vertical
          // axis because Columns are vertical (the cross axis would be
          // horizontal).
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

Logs

Analyzing webtest...
No issues found! (ran in 10.1s)

[√] Flutter (Channel stable, 2.10.1, on Microsoft Windows [Version 10.0.19043.1415], locale en-IN)
[√] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.0.6)
[√] Android Studio (version 2021.1)
[√] VS Code, 64-bit edition (version 1.64.2)
[√] Connected device (3 available)
[√] HTTP Host Availability

Hi @irajeshh, Thanks for filing the issue. I am unable to reproduce the issue does this happen frequently or is it a rare case? Also, do you see this happening only in vscode or when running from other IDE or terminal too?

@maheshmnj Today I tried the same project on Zorin Os.

In Vscode is not launching, it stucks at Waiting for connection from debug service on Chrome
In Android Studio It works as expected.

Here is the flutter doctor logs
[✓] Flutter (Channel stable, 2.8.1, on Zorin OS 16 5.13.0-27-generic, locale
    en_IN)
[!] Android toolchain - develop for Android devices (Android SDK version
    32.1.0-rc1)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for
      more details.
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.63.2)
[✓] Connected device (2 available)

! Doctor found issues in 1 category.

I'll update the flutter sdk version to 2.10.1 like in windows, then I'll update the issue.

Iv'e updated the flutter version to 2.10.1, but the same Waiting for connection from debug service on Chrome stucking happened on vscode. But Android studio worked as before.
The issue is on Windows platform only.

On windows platform, both Vscode & Android Studio is making the same Performing hot restart... issue. But Find out a step that shows the code change on Broswer:
Step1: I have to make some change in the code
Step2: Press HotReload button on vscode.
Step3: Immediately refresh chrome by using **Ctrl+R** (on browser window)

On Linux plaform, I'v fixed the Waiting for connection from debug service on Chrome bug by Uninstalling brave browser [I installed it from snap store on zorin os]. Then re-installed it again with apt. and set the chrome executable value in ~bashrc file.
But still the problem exists on windows platform.

@irajeshh, I am unable to reproduce the issue, Hot Restart completes instantly with your reproducible steps

Restarted application in 160ms.
Restarted application in 437ms.
Restarted application in 273ms.
Reload already in progress, ignoring request
Restarted application in 5,556ms.
Restarted application in 315ms.
Reload already in progress, ignoring request
Reload already in progress, ignoring request
Restarted application in 7,755ms.
ChromeProxyService: Failed to evaluate expression 'entrypoint.main': InternalError: No frame with index 150.
Error
Error
Restarted application in 2,871ms.
Restarted application in 282ms.
Restarted application in 4,408ms.
Restarted application in 301ms.

flutter doctor -v
[√] Flutter (Channel stable, 2.10.1, on Microsoft Windows [Version 10.0.19044.1526], locale en-US)
    • Flutter version 2.10.1 at C:\flutter_sdk\stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision db747aa133 (6 days ago), 2022-02-09 13:57:35 -0600
    • Engine revision ab46186b24
    • Dart version 2.16.1
    • DevTools version 2.9.2

[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\mahesh\AppData\Local\Android\sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.4)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31727.386
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 2020.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[√] VS Code (version 1.64.2)
    • VS Code at C:\Users\mahesh\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.34.0

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19044.1526]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 98.0.4758.102
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 97.0.1072.76

[√] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Are there any logs /errors in the console when the hot restart is stuck?

I think the issue is already here. And I just stopped using windows, so closing this issue here.

The issue you linked was reproducible in 2.5 and was fixed in the consecutive stable release (2.8), In case you have any further info or logs on the reproduction feel free to write back on this, issue or file a new issue.


GCC 13 enum usage

On main with GCC 13:
n file included from /home/matt/src/elastix/Core/Kernel/elxIterationIn
fo.cxx:21:
/home/matt/src/elastix/Core/Kernel/elxlog.h:33:8: warning: elaborated-t
ype-specifier for a scoped enum must not use the ‘class’ keyword
   33 |   enum class level : uint8_t
      |   ~~~~ ^~~~~
      |        -----
/home/matt/src/elastix/Core/Kernel/elxlog.h:33:14: error: use of enum ‘
level’ without previous declaration
   33 |   enum class level : uint8_t
      |              ^~~~~
/home/matt/src/elastix/Core/Kernel/elxlog.h:33:22: error: ‘uint8_t’ was
 not declared in this scope
   33 |   enum class level : uint8_t
      |                      ^~~~~~~

@thewtex Thanks for reporting this issue! Can you please confirm that this issue is also fixed with pull request #917 commit c0256e9ef352b5cb96040738a37ca0196618c94d ?

@N-Dekker I will check tomorrow. :white_check_mark:

The build did succeed! :heavy_check_mark:


NodeBots AU swag

Okay - does anyone know of a place where we might be able to get some "nice" stickers created that are the AU versions of the nb logo? Some of you might have seen some of the new nb stickers I had at CampJS which came from @rockbot - they are pretty good so would be good to be able to hand out at our days.
Likewise, if anyone knows a place we can get t-shirts made (or indicative prices for what might be involved with that) then again, would be good to explore as an option.

Speaking of cool stickers, check out Tabtag: http://www.tabtag.com
I imagine there'd be plenty of Mac users interested in these.


Adds reference to contributing.md

Adding reference to Contributing.md for someone looking for "how to contribute/where to start".
I've tried to keep it short. Open to suggestions to make it more relatable to the community/end-users :).

/assign @coreydaley @divyansh42 @mbharatk

/lgtm

/label docs-approved
/label px-approved
/label qe-approved

/jira refresh


RAT-224 website correction

If you follow the custom license example, it fails as the license isn't approved as mismatch between license familyName.

Thanks for your patch, applied via https://issues.apache.org/jira/browse/RAT-224 - please close this pull request as things have to go via the official ASF jira.

fyi, apache might want to rethink github pull requests as at the moment it looks like my change wasn't accepted and the pull request was closed without merging. without regarding the details of the each pull request you simply see the headline 'Closed with unmerged commits' might put some people off if you want to encourage the community to help.


Animation is playing, but mesh is not animated (random).

Godot version:
3.3, this is working in 3.2 (regression)
OS/device including version:
GLES3
Windows 10
AMD Radeon R9 200 Series
Issue description:
I have barrels that the player can open. When opening a barrel, an animation is played that opens the lid.
In 3.2, it works correctly.
In 3.3, randomly the barrel won't open, but the animation is playing. I know the animation plays because I put a bone attachment, so I can see the bone is animating, but the mesh is not.
This is random, if I reload the map, some barrels will open, and some not, not always the same.
I have the same issue with chests.
So it seems the issue is linked to the skinning system. However, I am not using the new software skinning system in 3.3.
Steps to reproduce:
Unfortunately, I have not been able to reproduce the issue. I reproduce it in my game, but when trying with a small project, it works all the time.
I reimported the barrels from Blender with gltf2, and I have still the same issue.
Minimal reproduction project:
Unfortunately, I have not been able to reproduce the issue. I reproduce it in my game, but when trying with a small project, it works all the time.
Here is the barrel: https://1drv.ms/u/s!Ago61yJ7YVZDlEzsj_0TMavH3ZGK?e=slUqYQ

I was able to reproduce the issue using my zone loading system:
https://1drv.ms/u/s!Ago61yJ7YVZDlE0xNRkfokNk3U4g?e=dejkFR
There is a thread that is used to load the zones, maybe that is what causes the issue?
Working in 3.2
Not working in 3.3
Can someone confirm?

Can you test this in all older 3.3 RCs and betas? You can download them here and here (3.2.4 was renamed to 3.3 during the development process).

The issue was already present in 3.2.4 beta 1.
I tested again in 3.2.3 final, and it is working correctly.

I found the exact commit that introduced this issue by compiling several versions of Godot and testing the bug.
This is the commit f9544716f432cf3c04ee71c89354d8fbca0467c2: Option for software skinning in MeshInstance
https://github.com/godotengine/godot/commit/f9544716f432cf3c04ee71c89354d8fbca0467c2

CC @pouleyKetchoupp @lawnjelly

I can confirm seeing this both with and without software skinning (it doesn't work every time for me, it doesn't seem to be random). This will probably need @pouleyKetchoupp to look at as I'm not super familiar with the setup aspects of the PR, and indeed how it worked originally (although I got added as co-author I only helped with a limited part in the skinning code itself if I remember right).
I'll keep looking in case I spot something.

I've managed to cut down the project to something more minimal. Just run it click 3d, and walk up to the barrel then click E to interact.
SkinAnimationBug.zip
By getting rid of the other meshes and adding some debug prints what appears to happen is this:
1432  set_mesh
1432  attaching skeleton invalid
1432 BarrelMesh resolve_skeleton_path
1432 BarrelMesh attaching skeleton valid

The 1432 is the godot instance ID, after that is the name from get_name(). It seems like set_mesh is called first, without a valid skin_ref. This calls instance_attach_skeleton with RID(), which appears to put the instance in a state it can't get out of by calling the second time with a valid RID.

@lawnjelly Thanks for investigating! I'm having a look right now.

Fixed by #48217.


img-responsive not working with v4-alpha

To scale the image according the container width i was using
<img src=">" class="img-responsive"/>
which was working with V3  but now when i updated v4-alpha its not working

img-fluid instead of img-responsive


No mention of PCB type it seems

Assuming 1.6mm FR4, but I cannot see this specified anywhere. Apologies if I just missed it.

I found 1.51mm (?) FR4 specified in the PCB file, but that is definitely an odd thickness.


go build fails with "error loading module requirements"

Installed go and libvips via apt-get on debian 10.11
Downloaded latest code from https://github.com/imgproxy/imgproxy/archive/master.tar.gz
Then CGO_LDFLAGS_ALLOW="-s|-w"   go build -o /usr/local/bin/imgproxy

Getting error:
go: error loading module requirements

Full output: https://pastebin.com/b7153nYp

Hey @YChebotaev!
Debian Buster provides pretty old versions of Go and libvips. Your issue is probably related to the old Go version. But even if you install a newer version of Go, you probably won't be able to build imgproxy with the libvips version from the Debian Buster repo. Building libvips from the source is not an easy task too as it needs a lot of dependencies so every feature works as expected.
So, I recommend using dockerized imgproxy as it contains all the dependencies updated and tuned. Building imgproxy and libvips from the source and keeping it updated most probably bring you more headache than a performance boost.


Add find event command to allow users to search for events

Codecov Report
Base: 40.40% // Head: 42.09% // Increases project coverage by +1.68% :tada:

Coverage data is based on head (3ca7fd9) compared to base (15c4fd1).
Patch coverage: 51.25% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #83      +/-   ##
============================================
+ Coverage     40.40%   42.09%   +1.68%
- Complexity      452      485      +33
============================================
  Files           131      136       +5
  Lines          2737     2822      +85
  Branches        344      359      +15
============================================
+ Hits           1106     1188      +82
+ Misses         1550     1541       -9
- Partials         81       93      +12

Impacted Files
Coverage Δ

...main/java/longtimenosee/commons/core/Messages.java
0.00% <ø> (ø)

.../longtimenosee/logic/parser/AddressBookParser.java
50.00% <0.00%> (-1.62%)
:arrow_down:

...longtimenosee/logic/commands/FindEventCommand.java
27.77% <27.77%> (ø)

...vent/predicate/EventDateMatchesInputPredicate.java
28.57% <28.57%> (ø)

...redicate/NameInEventContainsKeywordsPredicate.java
30.76% <30.76%> (ø)

...redicate/DescriptionContainsKeywordsPredicate.java
44.44% <44.44%> (ø)

...timenosee/logic/parser/FindEventCommandParser.java
96.00% <96.00%> (ø)

.../main/java/longtimenosee/model/policy/Company.java
0.00% <0.00%> (ø)

...main/java/longtimenosee/model/policy/Coverage.java
0.00% <0.00%> (ø)

.../java/longtimenosee/model/person/RiskAppetite.java
55.26% <0.00%> (+1.20%)
:arrow_up:

... and 4 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


pubsub client relies on psutil which fails on appengine standard

Using:
Version: 0.28.2
Summary: Python Client for Google Cloud Pub/Sub
Home-page: https://github.com/GoogleCloudPlatform/google-cloud-python
Author: Google Cloud Platform
Author-email<EMAIL_ADDRESS>License: Apache 2.0
Location: /<proj>/.env/lib/python2.7/site-packages
Requires: googleapis-common-protos, grpc-google-iam-v1, grpcio, google-gax, psutil, google-cloud-core

I get the following stack trace when deployed to an app engine standard module:
Traceback (most recent call last):
  File "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/base/data/home/apps/s~<proj>/admin:20170828t162057.403716850892108987/main.py", line 10, in <module>
    from google.cloud import pubsub
  File "/base/data/home/apps/s~<proj>/admin:20170828t162057.403716850892108987/lib/google/cloud/pubsub.py", line 17, in <module>
    from google.cloud.pubsub_v1 import PublisherClient
  File "/base/data/home/apps/s~<proj>/admin:20170828t162057.403716850892108987/lib/google/cloud/pubsub_v1/__init__.py", line 17, in <module>
    from google.cloud.pubsub_v1 import types
  File "/base/data/home/apps/s~<proj>/admin:20170828t162057.403716850892108987/lib/google/cloud/pubsub_v1/types.py", line 20, in <module>
    import psutil
  File "/base/data/home/apps/s~<proj>/admin:20170828t162057.403716850892108987/lib/psutil/__init__.py", line 80, in <module>
    from . import _pslinux as _psplatform
  File "/base/data/home/apps/s~<proj>/admin:20170828t162057.403716850892108987/lib/psutil/_pslinux.py", line 26, in <module>
    from . import _psutil_linux as cext
ImportError: cannot import name _psutil_linux

The short answer is that due to limitations in the App Engine standard environment, this library is not supported there.
The long answer(s) are over at #1893. I'm going to go ahead and close this as a duplicate, but by all means please continue to comment- the feedback is useful in communicating issues with the App Engine team. :)

For what it is worth, old versions did not have this problem (eg pubsub-v1==0.15.4)

Yep, that's true for a few libraries here. Mostly that was just accidental and there's a lot of edge cases where those would fail. We simply can not offer the same level of support in standard as we do elsewhere at this point in time, but we're working really hard to do so.
In the meantime I'd recommend using the API client as mentioned in #1893 or pinning to an older version.

I have recently run into an import error with psutils in the types.py called from google.cloud.pubsub_v1 on a GAE standard project inside Pycharm. I messed around for a day trying to find away around it, but no go. psutil imports in python run from the terminal and the console and from a vanilla python project but not from a GAE project. To double up on this I made a basic test of the two as seen below:
Standard Vanilla Python Project:
main.py contains
import psutil

def x():
    print "hello world"

if __name__ == "__main__":
    x()

Google App Engine Project -
main.py contains
import webapp2
import psutil

class MainHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write('Hello world!')

app = webapp2.WSGIApplication([
    ('/', MainHandler)
], debug=True)

The import in the vanilla python project works fine, but the import in the GAE app returns the traceback:
Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/Users/chez 1/google-app-engine-projects/untitled/main.py", line 18, in <module>
    import psutil
ImportError: No module named psutil

pubsub uses psutil only for computing a maximum amount of RAM to be used:  ISTM we could fall back to some GAE-standard-appropriate default if import psutil raises.

It does raise on a mac El Capitan / Pycharm in GAE Standard env, even when installed as a third party to a libs directory. So now we have to write a cloud function to access the pubsub, not ideal...
Traceback (most recent call last):
  File "/usr/local/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/usr/local/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/usr/local/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/Users/chez 1/google-app-engine-projects/pitpit-gae/main.py", line 56, in <module>
    import supplier.api.v1.routes as supplierroutes
  File "/Users/chez 1/google-app-engine-projects/pitpit-gae/supplier/api/v1/routes.py", line 8, in <module>
    from supplier.api.v1.handlers import *
  File "/Users/chez 1/google-app-engine-projects/pitpit-gae/supplier/api/v1/handlers.py", line 9, in <module>
    import psutil
  File "/Users/chez 1/google-app-engine-projects/pitpit-gae/external/psutil/__init__.py", line 149, in <module>
    from . import _psosx as _psplatform
  File "/Users/chez 1/google-app-engine-projects/pitpit-gae/external/psutil/_psosx.py", line 16, in <module>
    from . import _psutil_osx as cext
  File "/usr/local/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py", line 965, in load_module
    raise ImportError('No module named %s' % fullname)

What was the solution to this? I am having the same issue with _psutil_osx.


Update composer.json

Added Type for upcoming Composer Installers Support

Hi Björn,
At this time, we are not introducing Composer support for WHMCS extensibility layers (modules, themes, etc).  The WHMCS Update utility, which is used to update a WHMCS installation, is based on top of Composer.  Because of this, there is a risk that direct usage of Composer within the directory that contains a WHMCS installation can break core functionality. Yes, it is technically feasible to use Composer within a WHMCS installation; there's even a forum post or two about this.  However there are some notable complexities and caveats...and those community discussions do not involve Composer\Installers. As such, we do not provide any official support or guidance at this time.
We find this proposal interesting but must unfortunately decline the change at this time.  We will contact you directly for a more in-depth discussion and to understand any concerns you may have.
Thanks!


Detect immediate update cancel

Is there a way to detect if the user pressed the cancel button of an immediate update dialog?

Same  question. Is there any way we can detect if user cancelled the FLEXIBLE Update ?
Because i want to perform a certain function on it

You can do that using addIntentSelectionListener


Update de_DE.yml

fixing german translation

Hallo @chillu ,
vielleicht kannst du den pull request reviewen?
Spek

Hello Peter! Looks good - I don't have merging powers here though. @nyeholt?

Thanks Peter!


Every content object should have a unique string value based on its basic information.

Every content element contain data that allows for the creation of a unique key string that can be used to differentiate one work of art from another.
For movies, that is assumed to be a string created by combining these elements:
movie_title : (copyright_year/creation_year) : optional_incrementor_integer

That same string formula should probably work as well for other works of art.  There may be a need to add a qualifier regarding the type of art.  For example, a book and movie with the same title could conceivably be released in the same year.
Whatever the value is, it needs to be accessible from the main object.  IE, an instance of a media.data.media.contents.movie.Movie object needs a simple attribute or getter method to return the value.
Related issues/issue comments:
https://github.com/cjcodeproj/vtmedia-schema/issues/9
https://github.com/cjcodeproj/medialibrary/issues/25#issuecomment-1010564405

Updated notes:
Every media content should have a string attribute that is a unique identifier to the media, used for internal use.

Type
Title
Year
Value

Movie
Paris, Texas
1984
movie/paris_texas-1984-1

Essay
On The Road Again
unknown
essay\on_the_road_again-2010-1


chore(perf): assign tests/performance to merlin

Description
Looks like @stackrox/merlin owns this part of codebase.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
N/A

/retest


make sure that file/line is correct on zigtest

completed, last problem was semicolon reporting not-where-expcted (but where sensible).


Option to add custom field from request

Hi!
Given the scenario that I would like to get metrics for requests from a certain basic auth identified user I would need to be able to extract such a field and add it as custom label to the metrics next to labels: endpoint, method, status.
Could that be supported somehow?
Thanks

It's currently not possible to extend labels, however I might try to implement it someday. It doesn't seem to be easy that's for sure. If you'd like to customize labels, I'd suggest writing your own middleware, similar to Axum's Prometheus example.


Fatal error: Uncaught BlockCypher\Exception\BlockCypherSignatureException: 1 private keys do not correspond to any input. Please check private keys provided.

I am working on blockcypher create sign and send transaction example. I am able to create new transaction every time however when i am signing the transaction i am getting following error.
Fatal error: Uncaught BlockCypher\Exception\BlockCypherSignatureException: 1 private keys do not correspond to any input. Please check private keys provided. in C:\xampp_new\htdocs\opaldemoareabit\Blockcypher\blockcypher\php-client\lib\BlockCypher\Api\TXSkeleton.php:164 Stack trace: #0 C:\xampp_new\htdocs\opaldemoareabit\Blockcypher\blockcypher\php-client\lib\BlockCypher\Api\TXSkeleton.php(102): BlockCypher\Api\TXSkeleton->generateSignatures(Object(BlockCypher\Crypto\PrivateKeyList), Object(BlockCypher\Crypto\PrivateKeyList), 'btc-testnet') #1 C:\xampp_new\htdocs\opaldemoareabit\Blockcypher\blockcypher\php-client\lib\BlockCypher\Client\TXClient.php(35): BlockCypher\Api\TXSkeleton->sign(Array, 'btc-testnet') #2 C:\xampp_new\htdocs\opaldemoareabit\action\bitcoin_wallet.php(56): BlockCypher\Client\TXClient->sign(Object(BlockCypher\Api\TXSkeleton), Array) #3 C:\xampp_new\htdocs\opaldemoareabit\btcwallet.php(23): require_once('C:\xampp_new\ht...') #4 {main} thrown in C:\xampp_new\htdocs\opaldemoareabit\Blockcypher\blockcypher\php-client\lib\BlockCypher\Api\TXSkeleton.php on line 164
The private key which i am passing is from generateAddress api call. I'd searched a lot to solve this issue but didn't found any help. Please let me know the problem i am stuck with this issue from last 2 days

Try using v2.0.0-beta.1 and please report back. Thank you!


Update platform support and require symengine

Summary
This commit updates our platform support matrix to reflect upcoming changes. The first is that in Rust 1.74 the Rust programming language is raising their minimum support macOS version to 10.12, so Qiskit is raising it's supported version of macOS to match this. The second change is making symengine a hard requirement. We previously had symengine as a requirement only on platforms that had precompiled packages available. But, the percentage of our user base that runs qiskit on those platforms is very small, and maintaining dual support for symengine and sympy adds a lot of complexity around managing the dependencies. This commit promotes symengine to a hard requirement for all users regardless of platform. As a result Linux i686 and 32 bit Windows for Python < 3.10 has been downgraded to tier 3 support as you'll need a C++ to install Qiskit on that platform now (regardless of Python version).
Details and comments
This PR is on hold until after the 0.45.0 release. These platform changes don't apply to the 0.45.0 release, I just wanted to push them up earlier so we can debug any potential issues prior well in advance of making the change.

This should be ready to go now, I fixed the bug with symengine in: https://github.com/Qiskit/qiskit/pull/10902/commits/4bdcc20f530ea3e2d0061da3701eaaf5a84e618b. I'm going to open a standalone PR for that though so we can backport it to 0.45.1 (I'll remove the release note once I do).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

48 of 50 (96.0%)  changed or added relevant lines in 5 files are covered.
5 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.07%) to 85.943%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/circuit/parameterexpression.py
22
23
95.65%

qiskit/qpy/binary_io/value.py
4
5
80.0%

Files with Coverage Reduction
New Missed Lines
%

qiskit/exceptions.py
1
92.31%

qiskit/qpy/type_keys.py
1
82.99%

crates/qasm2/src/lex.rs
3
92.17%

Totals

Change from base Build<PHONE_NUMBER>:
0.07%

Covered Lines:
65902

Relevant Lines:
76681

💛  - Coveralls

Rust 1.74 released yesterday so the importance on this PR is increased a bit since whenever we tag a release we'll be pulling that in and won't be able to build binaries that are compatible with macOS 10.9. I do think we should wait for #11261 first though and then rebase this on top of that.


Trying to find a few data points

Is there a way to see newsletter growth over time?
Is there a way to view individual emails in Sendgrid or do I have to filter stats by day?
I still can't find the "newsletter" signup email

You can run queries in CiviCRM against the group based on periods of time. Another way we used to keep track of this at the FSF was to put the number of subscribers in the email. You can see it here: http://www.fsf.org/free-software-supporter/2016/july

You can see the emails in CiviCRM under "Scheduled and Sent" -- you can see all the previous emails and you'll be able to see their delivery numbers.

Do you have a ticket open for it?

I'm looking for individual email open and CTRs, not for number sent.
And yes-- https://github.com/creativecommons/communications/issues/18#issuecomment-231399042
That's not where it lives anymore

I think there's also this ticket? https://github.com/creativecommons/creativecommons.org/issues/390
Let's get a list of all these things ready for tomorrow's meeting.


EACCES: permission denied, open '/github/home/.cache/Cypress/12.14.0/binary_state.json'

Running the following github workflow:
jobs:
  cypress:
    runs-on: default-visable
    container:
      image: cypress/browsers:node16.16.0-chrome107-ff107
    env:
      GITHUB_TOKEN: ${{ secrets.PACKAGES_READ_ONLY_TOKEN_GITHUB }}
    steps:
      - uses: pnpm/action-setup@v2
        with:
          version: 8.6.2
      - name: Define proper Checkout REF
        shell: bash
        run: echo "ref=$(echo ${GITHUB_HEAD_REF:-${GITHUB_REF}})" >> $GITHUB_OUTPUT
        id: extract_ref
      - uses: actions/checkout@v3
        with:
          ref: "${{ steps.extract_ref.outputs.ref }}"
      - name: setup github packages authentication
        run: 'echo "//npm.pkg.github.com/:_authToken=${{ secrets.PACKAGES_READ_ONLY_TOKEN_GITHUB }}" > ~/.npmrc'
      - uses: cypress-io/github-action@v5
        id: cypress
        with:
          browser: chrome
          wait-on: 'http://localhost:3000'
      - name: cleanup repo files
        if: always()
        run: find . -mindepth 1 -delete

getting the following error:
/usr/local/bin/npx cypress verify
[STARTED] Task without title.
[FAILED] EACCES: permission denied, open '/github/home/.cache/Cypress/12.14.0/binary_state.json'
An unexpected error occurred while verifying the Cypress executable.

Please search Cypress documentation for possible solutions:

https://on.cypress.io/

Check if there is a GitHub issue describing this crash:

https://github.com/cypress-io/cypress/issues

Consider opening a new issue.

----------

Error: EACCES: permission denied, open '/github/home/.cache/Cypress/12.14.0/binary_state.json'

----------

Platform: linux-x64 (Debian - 11.4)
Cypress Version: 12.14.0
Error: The process '/usr/local/bin/npx' failed with exit code 1

I know a similar error has been reported before but I found no solution proposed besides customizing the actual docker image..

by the way, I tried cypress/included:12.6.0 as I saw there were some recent changes in the way you build your docker images, and it failed,
but I tried cypress/browsers:latest and it worked. Could you guys give us a more specific/limited tag ( I don't need FF/Edge ) after which the fix was done?

What's weird is that I had another application on the same hosted environment,
jobs:
  acceptance_tests:
    runs-on: default-visable
    container:
      image: cypress/browsers:node14.17.6-chrome100-ff98
    env:
      GITHUB_TOKEN: ${{ secrets.PACKAGES_READ_ONLY_TOKEN_GITHUB }}
    steps:
      - name: Define proper Checkout REF
        shell: bash
        run: echo "ref=$(echo ${GITHUB_HEAD_REF:-${GITHUB_REF}})" >> $GITHUB_OUTPUT
        id: extract_ref
      - uses: actions/checkout@v3
        with:
          ref: "${{ steps.extract_ref.outputs.ref }}"
      - name: setup github packages authentication
        run: 'echo "//npm.pkg.github.com/:_authToken=${{ secrets.PACKAGES_READ_ONLY_TOKEN_GITHUB }}" > ~/.npmrc'
      - uses: cypress-io/github-action@v4
        id: acceptance_tests
        with:
          install-command: yarn --frozen-lockfile --silent
          build: yarn build
          start: yarn start
          browser: chrome
          wait-on: 'http://localhost:3000'
          config: 'excludeSpecPattern=**/visualRegressionTest.js'
      - name: cleanup repo files
        if: always()
        run: find . -mindepth 1 -delete

which worked fine. Could it be related to my configuration?:
import { defineConfig } from "cypress"

export default defineConfig({
  projectId: "dbzk5w",
  video: false,
  viewportWidth: 1440,
  viewportHeight: 768,
  scrollBehavior: "center",
  screenshotOnRunFailure: false,
  e2e: {
    specPattern: "cypress/integration/**/*",
    baseUrl: "http://localhost:3000",
    setupNodeEvents() {
      // implement node event listeners here
    },
  },
})

maybe I am trying to create a folder somewhere

Regarding your workflow in https://github.com/cypress-io/cypress-docker-images/issues/903#issuecomment-1599222440

container:
image: cypress/browsers:node14.17.6-chrome100-ff98

This is a different Node.js version (which has now passed into end-of-life)

uses: cypress-io/github-action@v4

This is the @v4 version, not the @v5 version of github-action

   with:
    install-command: yarn --frozen-lockfile --silent

This is Yarn, not pnpm
Using an explicit install-command overrides some steps of github-action
So it's different in several aspects.

I can try to replace each of these difference points to see if the error persists but since we already know that :latest doesn't have the issue, would there be a way to generate a new node+chrome image based on latest ? that'd probably be generally a good solution for future issues.

@gkatsanos

A similar issue has been reported before. See the open issue https://github.com/cypress-io/cypress-docker-images/issues/560.

You might like to try if adding the following helps:
options: --user 1001
In other words:
    container:
      image: cypress/browsers:node16.16.0-chrome107-ff107
      options: --user 1001

cypress/browsers:latest is currently identical to
cypress/browsers:node-18.16.0-chrome-114.0.5735.133-1-ff-114.0.2-edge-114.0.1823.51-1

cypress/browsers:node-18.16.0-chrome-114.0.5735.133-1-ff-114.0.2-edge-114.0.1823.51-1

hey @MikeMcC399  would there be a possibility to generate a version of this docker with just chrome preinstalled ? (shave some MBs of the docker image since we run our pipelines quite often)

@gkatsanos

would there be a possibility to generate a version of this docker with just chrome preinstalled ? (shave some MBs of the docker image since we run our pipelines quite often)

Firstly, I should probably clarify that I'm only a community contributor, so I don't make decisions about which Docker images are generated!
https://github.com/cypress-io/cypress-docker-images/tree/master/factory describes how you can generate different Docker images. (Disclaimer: I have never done this myself, so I can't vouch for the accuracy of the instructions.)
cypress/browsers:node18.12.0-chrome107 is a published example which includes only Chrome.

@gkatsanos

Due to the caching which github-action carries out, it only executes /usr/local/bin/npx cypress verify if there was a cache miss. So, depending on how effective the caching was, when you run the workflow again, you may not get the permission denied error. That might lead you to believe that a certain Docker image was good whilst another looked to be faulty.

The problem of EACCES: permission denied in conjunction with Docker images has been raised a lot. There is a similar discussion, for instance on https://github.com/cypress-io/cypress/issues/19457.

@gkatsanos
I have not been able to reproduce your issue
EACCES: permission denied, open '/github/home/.cache/Cypress/12.14.0/binary_state.json'
with
<EMAIL_ADDRESS>github-action@v5
cypress/browsers:node16.16.0-chrome107-ff107

on a regular GitHub-hosted runner.
I added the following debug steps:
    steps:
      - name: id
        run: |
          id -nu #display user
          id -ng #display group

to confirm that GitHub starts the container with the default user root which has access to the directory causing your issue.
You might like to check which user your runner is starting the Docker container under in case it is not root.

Unfortunately we have to close this issue due to inactivity. Please comment if there is new information to provide concerning the original issue and we can reopen.

Hi @mike-plummer , what other reproduction information do you want? This issue is still relevant and I'm not the only one experiencing it.

@gkatsanos Recent troubleshooting ideas from @MikeMcC399 hadn't been responded to so I presumed this issue had gone dormant. If his suggestions don't address your issue can you comment as such and I'll reopen

Hi Mike, as I wrote before, the issue seems to be fixed when using the latest docker images. The only thing is that I'd love to use an image with chrome only included.

@gkatsanos We do have the cypress/factory image which would seem to be what you're looking for - does that not meet your needs? You can build an image containing exactly the Node, Cypress, and browser version(s) you want - see the "Reducing the size..." section for info on excluding browsers you don't want to achieve a "Chrome-only" image.

That's good! But wouldn't it be useful to pinpoint the differences between the last and the previous version of the factory that resolved these issues?

@gkatsanos

But wouldn't it be useful to pinpoint the differences between the last and the previous version of the factory that resolved these issues?

The two different docker images have been built quite differently. You can see this if you view them on the Docker Hub:

cypress/browsers:node16.16.0-chrome107-ff107

cypress/browsers:latest is currently identical to

cypress/browsers:node-18.16.0-chrome-114.0.5735.133-1-ff-114.0.2-edge-114.0.1823.51-1

It would need more investigation to find out which differences allowed the newer Docker image to work in your environment.
Getting the output from
    steps:
      - name: id
        run: id

would have been a start.
Possibly the fact that the later image sets CYPRESS_CACHE_FOLDER=/root/.cache/Cypress may mitigate against a Docker container which is started with a non-root user, if indeed that has been the case.

Will come back with an output from steps: as you said :) could you kindly reopen?

The ENV setting I mentioned was introduced with the factory image build process with PR https://github.com/cypress-io/cypress-docker-images/pull/812 on Jan 17, 2023, so I would guess that the problem affects only Docker images built before that date and which are invoked with a non-root user.

Sounds the probable cause.

@gkatsanos

Sounds the probable cause.

Except that if it were a random non-root user, then checkout would fail.

@gkatsanos

Will come back with an output from steps: as you said :) could you kindly reopen?

Are you still planning to provide the output from the id command?
If you now have a working system, it would be good to define the goal of re-opening this issue.

@nagash77 could you kindly reopen my issue?

@gkatsanos
If possible, I would suggest that you test your workflow on a GitHub-hosted runner such as ubuntu-22.04. If the GitHub-hosted runner works, then the troubleshooting could concentrate on your specific self-hosted runner default-visable.


not dismissing keyboard

Hi,
I have a Xamarin.Forms application and is using the PanCardView.CarouseView. The ItemTemplate contains editor and entry controls. My issue is that the keyboard is not dismissing when I swipe the carousel on the next carousel item. For example, If I'm on the first index of the carousel then taps on the Entry, the keyboard shows but if I swipe to the second index while the keyboard is still active, its still there which I suppose should be dismissed?
Is there any solution/work-around for this?
Thanks in advance!

Hi @sbxamdev you should dismiss keyboard on your own.
Probably ItemDisappearing event / ItemDisappearingCommand should help you.
You need to perform unfocus when a correpsonding view goes away.

thank you! that solves it


additional specs

All these specs don't pass yet, but I think they should (unless one rule makes the other impossible or does not follow a general logic I'm currently not aware). All these examples are taken from tweets of the last few days I came across, partly cleaned up or shortened or german words replaced by random english words (that might not have much meaning in this combination).
it 'handles words with a slash 1' do
  text = "We pay 3000 €/month"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["we", "pay", "3000", "€", "month"]
  )
end

it 'handles words with a slash 2' do
  text = "Ich frage mich, wieso er nicht Herr der Lage war/ist."
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["ich", "frage", "mich", "wieso", "er", "nicht", "herr", "der", "lage", "war", "ist"]
  )
end

it 'handles words with a slash 3' do
  text = "Poison gas attack in Ghuta/Syria."
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["poison", "gas", "attack", "in", "ghuta", "syria"]
  )
end

it 'handles words with a question mark' do
  text = "Essen á la carte?Man ist versucht…"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["essen", "á", "la", "carte", "man", "ist", "versucht"]
  )
end

# or should one run strings through pragmatic_segmenter first, and only then through pragmatic_tokenizer?
it 'handles non-domain words with a dot 1' do
  text = "They were being helped.This is solidarity."
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["they", "were", "being", "helped", "this", "is", "solidarity"]
  )
end

it 'handles non-domain words with a dot 2' do
  text = "picture was taken in sept.2015"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["picture", "was", "taken", "in", "sept", "2015"]
  )
end

# or would it be better to return '18:16'?
it 'handles numbers with symbols' do
  text = "Pittsburgh Steelers won 18:16 against Cincinnati Bengals!"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["pittsburgh", "steelers", "won", "18", "16", "against", "cincinnati", "bengals"]
  )
end

# I'm unsure if tokens shouldn't be stripped of any "`s", "'s",... suffix
it 'handles apostrophes and quotes 1' do
  text = "Watch the video of @amandapalmer ́s song “Killing Type” here"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["watch", "the", "video", "of", "amandapalmeŕs", "song", "killing", "type", "here"]
  )
end

it 'handles apostrophes and quotes 2' do
  text = "“Data Visualization: How to Tell Stories with Data — Jeff Korhan” by @AINewsletter"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["data", "visualization", "how", "to", "tell", "stories", "with", "data", "jeff", "korhan", "by", "ainewsletter"]
  )
end

it 'handles apostrophes and quotes 3' do
  text = "Die “Mitte der Gesellschaft” interessiert sich jetzt für “Feminismus”."
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["die", "mitte", "der", "gesellschaft", "interessiert", "sich", "jetzt", "für", "feminismus"]
  )
end

it 'handles apostrophes and quotes 4' do
  text = "Endlich regnet es ihm nicht mehr auf ́s Haupt!"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["endlich", "regnet", "es", "ihm", "nicht", "mehr", "auf́s", "haupt"]
  )
end

# or would it be better to return '1:0'?
it 'handles mentions 1' do
  text = "@RainerSteinke @_Sternchen_2015 1:0 für dich."
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["rainersteinke", "@_sternchen_2015", "1", "0", "für", "dich"]
  )
end

it 'handles mentions 2' do
  text = ".@someone I disagree"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["@someone", "i", "disagree"]
  )
end

it 'handles mentions 3' do
  text = "@LandauDaniel @AnthZeto @julianfranz @S_Beck19 Yep!"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["@landaudaniel", "@anthzeto", "@julianfranz", "@s_beck19", "yep"]
  )
end

it 'handles old school emoticons 1' do
  text = "du übertreibst maßlos :D"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["du", "übertreibst", "maßlos", ":D"]
  )
end

# I wonder if there's a regex or whitelist of most common oldschool emoticons on should use,
# as "<3" is a heart, but ">3" should probably return "3" as token?
it 'handles old school emoticons 2' do
  text = "oooh! <3"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["oooh", "<3"]
  )
end

it 'handles old school emoticons 3' do
  text = "@someone <33"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["@someone", "<33"]
  )
end

# I do believe that valid hashtags and mentions should be treated differently
# than other symbol-letter combinations.
it 'handles words with a symbol prefix 1' do
  text = "Yes! /cc @someone"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["yes", "cc", "@someone"]
  )
end

it 'handles words with a symbol prefix 2' do
  text = "blah blah |photo by @someone"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    [["blah", "blah", "photo", "by", "@someone"]
  )
end

it 'handles words with a symbol suffix' do
  text = "hier ist ein Whirlpool versteckt^^"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["hier", "ist", "ein", "whirlpool", "versteckt"]
  )
end

# maybe the emoticon should be returned as token too, analogue to emoji?
it 'handles words with a emoticon suffix' do
  text = "look, a dog with shoes☺ !!"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["look", "a", "dog", "with", "shoes"]
  )
end

it 'handles words with a emoji suffix' do
  text = "Let's meet there.😝 ok?"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["let's", "meet", "there", "ok"]
  )
end

it 'handles hashtags 1' do
  text = "„Was wir tun wird in diesem Land Leben retten“:#Obama"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["was", "wir", "tun", "wird", "in", "diesem", "land", "leben", "retten", "#obama"]
  )
end

it 'handles hashtags 2' do
  text = "This is the #upper-#limit"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["this", "is", "the", "#upper", "#limit"]
  )
end

it 'handles hashtags 3' do
  text = "The #2016-fun has just begun."
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["the", "#2016", "fun", "has", "just", "begun"]
  )
end

# this would require a configurable option that splits a word at each hyphen
# as soon its total length is > n characters.
it 'splits too long words with hypens' do
  text = "hi-hat and old-school but not really-important-long-word"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none', long_word_split: 12)
  expect(pt.tokenize).to eq(
    ["hi-hat", "and", "old-school", "but", "not", "really", "important", "long", "word"]
  )
end

# I'm unsure how to treat currencies
it 'handles domains' do
  text = "Get a CNN.com-subscription for $5/month"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["get", "a", "cnn.com", "subscription", "for", "$5", "month"]
  )
end

# The German language likes to join numbers with words, this example
# translates to "Air Force one had 18,270-times liftoff."
it 'handles numbers and words' do
  text = "Air Force Once ist 18.270-mal abgehoben."
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["get", "a", "cnn.com", "subscription", "for", "$5", "month"]
  )
end

# I don't know how to easily treat these forms, especially the most frequent form
# that attaches "Innen" (plural) or "In" (singular) (with a capital I) to a word.
it 'maintains the german gender-neutrality form 1' do
  text = "Wir brauchen eine/n erfahrene/n Informatiker/in."
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["wir", "brauchen", "eine/n", "erfahrene/n", "informatiker/in"]
  )
end

it 'maintains the german gender-neutrality form 2' do
  text = "der/die Lehrer_in und seine/ihre Schüler_innen"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["der", "die", "lehrer_in", "und", "seine", "ihre", "schüler_innen"]
  )
end

Thanks, these are awesome! I'm working through them today. I'll leave notes here as I come to any issues.
I think we should use the following spec and keep it as one token, or else we are going to have a big problem distinguishing "18:16" the score from "18:16" the time.
it 'handles numbers with symbols 1' do
  text = "Pittsburgh Steelers won 18:16 against Cincinnati Bengals!"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["pittsburgh", "steelers", "won", "18:16", "against", "cincinnati", "bengals"]
  )
end

For the following spec if downcase: false is added it will pass. I don't think we should treat emoticons differently with respect to case. In other words, if downcase: true is passed then emoticons should also get downcased.
it 'handles old school emoticons 1' do
  text = "du übertreibst maßlos :D"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none', downcase: false)
  expect(pt.tokenize).to eq(
    ["du", "übertreibst", "maßlos", ":D"]
  )
end

What is the reasoning for "#2016", "fun" instead of "#2016-fun"?
it 'handles hashtags 3' do
  text = "The #2016-fun has just begun."
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
     ["the", "#2016", "fun", "has", "just", "begun"]
   )
end

Same for this one, I don't think we should be splitting at the hyphen. Let me know what you had in mind though.
it 'handles domains' do
  text = "Get a CNN.com-subscription for $5/month"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["get", "a", "cnn.com", "subscription", "for", "$5", "month"]
   )
end

OK, current status - there are 8 of the above that are not yet passing. If you run the test suite you can find them as they have been skip "NOT IMPLEMENTED".

"18:16" as token is great too!
"#2016-fun" should be splitted at the hyphen as hashtags do not support hyphens.
"CNN.com-subscription" if splitted results in a domain plus a normal token, which I'd prefer especially in German as this is a language that uses tons of hyphens to combine words, and from a tf-idf standpoint it's no use processing such very rare words over two more common words.
as for emoticons: I have no idea if there are common examples of an emoticon changing meaning when downcased. If there is, then that would be an argument for keeping them upcass (by treating them as some special entity, like emojis too)

I have a few more specs. I hope they don't want the opposite of other specs:
it 'knowns what a domain isn't 1' do
  text = "An abbreviated domain www.cnn.c"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["an", "abbreviated", "domain", "www", "cnn", "c"]
  )
end

it 'handles numbers suffixed with a symbol' do
  text = "4 Things Marketers Must Do Better in 2016: blah"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["4", "things", "marketers", "must", "do", "better", "in", "2016", "blah"]
  )
end

it 'identifies old school emoticons' do
  text = "looking forward to the new kodak super8 camera \o/"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["looking", "forward", "to", "the", "new", "kodak", "super8", "camera", "\o/"]
  )
end

it 'identifies emojis' do
  text = "How bad!😝"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["how", "bad", "😝"]
  )
end

it 'handles markdown' do
  text = "This is _bold_ and this is *italic*"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["this", "is", "bold", "and", "this", "is", "italic"]
  )
end

Thanks for these. I added most of them (https://github.com/diasks2/pragmatic_tokenizer/commit/cff6a6dcebc014d8c563a1aff551935bee7b27b4). A few comments:
it 'knowns what a domain isn't 1' do
  text = "An abbreviated domain www.cnn.c"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none')
  expect(pt.tokenize).to eq(
    ["an", "abbreviated", "domain", "www", "cnn", "c"]
  )
end

I disagree with this one. I think the normal behavior of a tokenizer would be to split at the whitespace. Same for "CNN.com-subscription" and "#2016-fun" - IMO they should not be split. We don't split other hyphenated words so I don't think these would be outside of this rule. Of course we can have a special option to handle cases like these, but for the normal tokenizer I don't think they should be split. I like your idea of the long_word_split option. I think that can cover this use case and still let the normal tokenizer follow a more expected convention.

The following spec passes if you include clean: true.
it 'handles markdown' do
  text = "This is _bold_ and this is *italic*"
  pt = PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none', clean: true)
  expect(pt.tokenize).to eq(
    ["this", "is", "bold", "and", "this", "is", "italic"]
  )
end

As for splitting at hyphens, I guess the question is: shall one be able to trust the gem to correctly identify hashtags, mentions, email addresses etc? If yes, then '#something-else' should be split. If no, then it can stay that way, but then users will have to post-process the tokens to check if something is a valid hashtag/email/…
A long_word_splitoption could be very helpful for languages like german that use the hyphen a lot, see a pseudo-translation of a German sentence: "Some main-categories of the mathematics-test have sub-examples that most 14-year olds can't answer, therefor the implementation-instruction made in the 1990-years needs to be revised". While the option would be set at 10 or more for English, it might be appropriate to use a value of less than 5in German.
As for handling markdown, when using clean: true it will unfortunately also remove any #hashtag (probably a bug?) and strip the @ from mentions (probably w.a.d.?):
> text = "cnn.com mentions this *funny* #hashtag used by @obama http://cnn.com/something"
> PragmaticTokenizer::Tokenizer.new(text, punctuation: 'none', clean: true).tokenize
=> ["cnn.com", "mentions", "this", "funny", "used", "by", "obama", "http://cnn.com/something"]

How do you think about an options hash like:
options = {
    remove:              [:emojis, :emoticons, :tokens_without_letters,
                          :roman_numerals, :stop_words, :urls],
    keep_and_clean:      [:hashtags, :mentions, :markdown],
    keep_original:       [:email_addresses, :domains],
    expand_contractions: true,
    language:            :en,
    punctuation:         :none,
    downcase:            true,
    minimum_length:      3,
    long_word_split:     10
}

This would allow to differ between tokens that should be cleaned (=strip all symbols at beginning and end) and those that should be kept original (e.g. if I care about mentions I'd want to return the token @john_doe2_ and not have it converted to john_doe or maybe even split to ['john', 'doe'] if the word length is above the long_word_split  setting).

I really like the options hash you laid out! Let's shoot for that for the 1.0 public API.

I'll extract the open tasks form this issue to separate issues, there's too much happening in here. :)

Thanks :+1:
I hope to get started on those next week. I appreciate all your help!


Fix issue in Key and increase test coverage

This fixes an issue in Key::from_formatted_str where Key::Package was not being handled.
There are also several cleanups and further tests added.
Closes #4363.

bors merge

bors merge


write business routes

I have a few routes implemented, and ready to be tested. I'll be adding the search route, but we can possibly make that its own issue.

PR #34 merged. I think we should close this issue when the routes are tested successfully.

Business routes are being tested successfully so this issue is done


Download translations without pushing to branch

Could you guys make it so we are able to download translations without pushing to a branch on the repository? I want to download our translated strings and package them into our Docker Images without having to push translations to the repo.
Thanks a bunch :)

Hi @pedrofracassi !
We added option push_translations now you can set it to false and download translations without pushing to branch.

Thank you so much!


How to run on Openstack

@derekschultz can we get this out now?  The murano package, the runbook and how about a blog post too?

Yep, just got the logo this morning. Will get that into the Murano app today and take necessary screenshots to add to runbook. I can have it ready to submit to OpenStack app catalog by tomorrow. Runbook may take another day or so. Blog post is a good idea.

IronFunctions Murano app pushed to app-catalog: https://review.openstack.org/#/c/407223/
Repo here, will make public unless anyone objects: https://github.com/iron-io/ironfunctions-murano
Closing issue.


Spotify support?

Hi there,
any news on the integration of Spotify into this project?
Would be an awesome feature - please tell me if I can assist :)

Hi,
Unfortunately not too soon, doing some AR stuff currently
If you want to help with the integration, it would be great :)

@funtax  I just added support for Spotify with the connect API :)


chore: Bump LimeSurvey docker image tag to 5.3.8+220404

Blocked by https://github.com/martialblog/docker-limesurvey/pull/119

Codecov Report

Merging #400 (d60b113) into master (7679fcd) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master      #400   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            6         6
  Lines          271       271
  Branches        31        31
=========================================
  Hits           271       271

Continue to review full report at Codecov.

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


Make signExtend generate prettier SystemVerilog

Motivation
Right now the signExtend genreates a mux, which is especially ugly when there's only 1 bit.  SystemVerilog has some nice syntax for repeating a signal value (replication operator) which could be nicer in the generated code.
Desired solution
For example:
logic x;

// instead of this
x[0] ? 8'hff : 8'h0

// do this
{8{x}}

There's special cases to consider for 1-bit values vs. >1-bit values, since you don't need to do [0] on a 1-bit signal to get the upper-most bit.

@mkorbel1 can you please assign this to me?

PR https://github.com/intel/rohd/pull/203 raised with the fix.


Converted to superclass shorthand.

Utilized ({super.key}) syntax

It looks good, have you made sure to test it locally, reviewing on the phone is always a bit hard haha.
Also consider bumping the minor version and add the change to the CHANGELOG

Haha no worries, have a nice vacation!

During testing, I was glancing at the Riverpod docs (still learning Dart/Flutter & Riverpod!) and see that StateNotifierProvider uses TodosNotifier(): super([]); in the example.
What is the common use case here? Is the most common use case for the developer to use super.xParameter or do they initialize unique code blocks as in the example?
I'm unsure if converting to the new syntax is net positive in this snippet. Suggestion?

@RobertBrunhage ...see question above.

@decadentsavant super is just a shorthand to do it.
you can do this if you want to be able to pass the state
class SomethingStateNotifier extends StateNotifier<int> {
  SomethingStateNotifier(
    super._state,
  );
}

And if you want a default value, you can just make it optional
class SomethingStateNotifier extends StateNotifier<int> {
  SomethingStateNotifier(
    [super._state = 1]
  );
}

But haven't worked on riverpod for a bit so @pythonhubpy, maybe you know if this is a good change or not?
We could also keep the normal use of super in this case and only use it for things we are sure as such as the key for widgets.

Shall we leave it as is? Pull, then wait for feedback?

@decadentsavant if you update the version as explained here: https://github.com/RobertBrunhage/flutter-riverpod-snippets/pull/25#issuecomment-1210636947
And remove the changes to the StateNotifier regarding super we can merge!

@RobertBrunhage can this be merged it's been open for a long time.

Fixes #24


Verifies that the passed enum is a defined value

Complementary to #524 this will only allow valid values to be posted when creating or editing repos.

I don't think this is worth doing.  It's an incredibly unusual case - there's no normal way of a user injecting this wrong value into the database via a web-page.  It adds a lot of clutter to the controller action to very little benefit, IMO.

He can change it by editing the select field value. That's how I do the testing.

Do you mean changing it by playing with the developer tools to change the POSTed field values?

No, i change the form in selenium with setAttribute and then send the form.

OK, I get that for testing, but is that the kind of thing we generally protect against (people injecting illegal form values into the browser using extra tools)?   I'd have thought there would be loads of stuff which could be done using those sort of techniques which would break various form posts.
I don't have a strong feeling about this really, and I'd sound a bit deranged trying to construct an argument against server-side form validation.
Is there a way to do this with attributes on the viewmodel property which then feeds directly into the ModelState without having special code in the action method?   So then it would be like the other validation, and would automatically apply whenever that viewmodel was used?

I can create an attribute for that.
Generally you try to prevent any kind of non authorized change. That's why you have the validation attributes on server side. In case the user disables javascript for instance on their side, or modify the forms structure before sending, or plainly forges a POST with all kinds of mischievous data.

Yes, I get the arguments for server-side validation in general, it was just that protecting against repo-admins who want to forge form data didn't seem a high priority!   But the general principle is good.
This might be relevant http://stackoverflow.com/questions/26425242

LGTM


Deserialization of ES range queries does not work

The DSL is:
"range": {
   "age": {
     "gte": 10,
     "lte": 20,
     "boost": 2.0
   }
}

and we expect
"range": {
   "field": "age",
   "gte": 10,
   "lte": 20,
   "boost": 2.0
}

Fixed in #3148

Closing as #3148 was merged.


v0.4.0 hex release?

Any plans for a hex release of v0.4.0? Still showing v0.3.2 there.
Appreciate the library.
Thank you!

Yes that would be very nice! 👍🏻

Oops. Can do right now. Sorry about that.

Should be live! Sorry, dunno how I forgot to do that originally.

Looks like the checksum-Elixir.Tiktoken.Native.exs file was not updated before the release, the precompiled NIF fails to download:
==> tiktoken
Compiling 8 files (.ex)

== Compilation error in file lib/tiktoken/native.ex ==
** (RuntimeError) Error while downloading precompiled NIF: the precompiled NIF file does not exist in the checksum file. Please consider run: `mix rustler_precompiled.download Tiktoken.Native --only-local` to generate the checksum file..

My bad. Waiting on the GitHub actions to finish for v0.4.1 to fix it.

Okay should be fixed on 0.4.1. Sorry about that.


The sub menues does not display correctly in IE11

It looks like the items does not get the right width

Thats for reporting this bug. I don't have a windows machine at the moment but I'll try to setup a VM for testing soon. I assume its the same in Edge browser.

I did not test it there, sorry. But yes, I am quite sure that it is also an issue there