calling page with a number above the number of pages shows me an empty page list

Hi!
I am currently using Kaminari in a project and I came across this problem.
When the object only has 20 pages and I call Object.page(..) with params[:page] with a number larger than that, it returns me an empty object list.
Shouldn't it default to the last page? Is there any way of doing this without going into every controller where I use pagination and changing it by hand by checking if the number is larger than the number of pages I have?
Thank you 😄

saw you had this a while ago but not anymore https://github.com/amatsuda/kaminari/pull/306
any way of getting some of this behaviour back?

Shouldn't it default to the last page?

I don't think that's ideal. People want to do different things on pages out side of range and (e.g. redirection, returning 404, falling back to the last page, etc). We could add a hook that gets invoked when the page is out of range and I'm open to implementation suggestions.

I don't think we need a sledgehammer to crack a walnut.
That can be done in very simple and straightforward one line of Ruby code.
objects = SomeObject.page(params[:page])
objects = SomeObject.page(objects.total_pages) if objects.to_a.empty?

I bet this can't be made any easier by adding a new configuration option or hook API or some such.

@tiagonbotelho Also, changes like this wouldn't really buy users... In other words, for example, you wouldn't get 50% more page views by showing the last page, and problems like this shouldn't be the most important problem you are solving. If you are focusing on a problem like this, there's probably a problem with your prioritization process.

@yuki24 I respectfully ask you to reconsider this as a valid request.
Last page will not always be the 50th page of a google search for cat photos. There are many valid use cases. One of them is itens you are paginate that can be excluded (for example, in the 2nd page, when you finish excluding them, you get an empty list).
I agree that the out-of-range approach is not ideal as you are breaking the relation with URL and state and makes no sense to display :first content in page=999,  but does make sense for example to redirect the user to the last "known" page, or to an empty page as @amatsuda said, depending on the context.
I like when I delete the last email in a page and Gmail redirects me to the "new" last page.
This of course can be fixed with a few ruby lines of code, but I if it's the kind of pattern that repeats in an application, the developer will have to either duplicate the same thing all over or encapsulte/patch kaminari which is not ideal.
What kind of hook would you suggest here?

Last page will not always be the 50th page of a google search for cat photos.

I don't think you should allow google (or any other robots) to index pagination results. Pagination results change overtime, and by the time the user comes to a pagination result page from Google, the entry the user was really looking for may not be in the page any more. There are reasons why you never see StackOverflow's pagination results (at least on Google), but do see individual questions/answers.

(for example, in the 2nd page, when you finish excluding them, you get an empty list).

A more important question you should have an answer to is, "Does the user want to stay on the same page? Or does he/she want to go back to the first page when filtering criteria changes?" Think about why Amazon takes you back to the first page when you change filtering criteria.
I wouldn't feel comfortable adding a hook to kaminari unless you have validated that staying on the same is better at least 80% of the times on any product. We have received many requests like this in the past, but so far no one has provided any proof since I became a maintainer. In fact, feature requests like this should never be implemented unless it is validated well enough.

I like when I delete the last email in a page and Gmail redirects me to the "new" last page.

That's a different interaction. You could do that in, say, EmailsController#destroy and you shouldn't need a hook. Also, notice that Gmail is designed to never take you to pages out of the range.

What kind of hook would you suggest here?

I'm not really suggesting anything as I have never had the need of it. It would be fantastic if you could show us what you are thinking.
I understand we get requests like this pretty regularly, but most of the times you have a different problem in something else.
Happy to discuss further more, let us know if you have any objections.


May you helpe me to   log in android, thanks

In android ,I get a error :
2020-05-14 14:02:45.336 22211-22211/? W/System.err: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
2020-05-14 14:02:45.336 22211-22211/? W/System.err: SLF4J: Defaulting to no-operation (NOP) logger implementation
2020-05-14 14:02:45.336 22211-22211/? W/System.err: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
then I add a dependence:
implementation files('lib\slf4j-android-1.6.1-RC1.jar')
It reported Duplicate class org.slf4j.helpers.MessageFormatter found in modules slf4j-android-1.6.1-RC1.jar (slf4j-android-1.6.1-RC1.jar) and slf4j-api-1.7.25.jar (org.slf4j:slf4j-api:1.7.25)
how can I see the log ?
thanks!

Can you share your build configuration or post a link to your repository?

here is another project  by another author ,  https://github.com/yangxch/WebSocketClient  when I run ,it also:  Failed to load class "org.slf4j.impl.StaticLoggerBinder". the error comes from LogFactory.java:
Set staticLoggerBinderPathSet = null;
// skip check under android, see also
// http://jira.qos.ch/browse/SLF4J-328
if (!isAndroid()) {
staticLoggerBinderPathSet = findPossibleStaticLoggerBinderPathSet();
reportMultipleBindingAmbiguity(staticLoggerBinderPathSet);
}
// the next line does the binding
StaticLoggerBinder.getSingleton();
INITIALIZATION_STATE = SUCCESSFUL_INITIALIZATION;
reportActualBinding(staticLoggerBinderPathSet);
fixSubstituteLoggers();
replayEvents();
// release all resources in SUBST_FACTORY
SUBST_FACTORY.clear();

The project you linked to doesn't declare a dependency on any SLF4J backend. This causes the warning Failed to load class "org.slf4j.impl.StaticLoggerBinder". To add a backend, put something like this in build.gradle:

implementation group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25'

The error Duplicate class org.slf4j.helpers.MessageFormatter happens because you're using both slf4j-api and slf4j-android jars. If I understand correctly, slf4j-android already contains slf4j-api classes (see http://www.slf4j.org/android/), so you should replace slf4j-android with another backend like slf4j-simple.

Has this issue been solved for you?


433 MHz temperature sensors stops updating (RFXtrx)

Home Assistant release with the issue:

0.81.6
Last working Home Assistant release (if known):
0.81.2
Operating environment (Hass.io/Docker/Windows/etc.):

Manual install on Raspberry pi (Stretch)
Component/platform:

RFXtrx Sensor
Description of problem:
All my temperature sensors have stopped reporting temperature since upgrading Home Assistant to 0.81.5 and 0.81.6
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

  - platform: rfxtrx
    automatic_add: False
    devices:
      0a520110f6040010450079:
        name: Ute
        data_type:
          - Humidity
          - Temperature
      0a520206b70100d1280179:
        name: Ebbas rum
        data_type:
          - Humidity
          - Temperature
      0a520905f70000f2260279:
        name: Olivers rum
        data_type:
          - Humidity
          - Temperature
      0a52018b9e0400f8220269:
        name: sovrum
        data_type:
          - Humidity
          - Temperature
      08500705a700005d59:
        name: kyl
        data_type:
          - Temperature
      08500719c70080ca59:
        name: frys
        data_type:
          - Temperature
      0a52090dd7000044440169:
        name: forrad
        data_type:
          - Temperature
          - Humidity

**Traceback (if applicable):**

**Additional information:**

Same happend to me.
All RFxtrx sensors reports "unknown value" and the switches do not send any signal when pressed.

O will second this. Gets an initial value but does not update after that.


fixed filters to work correctly when to_block points to latest block

What was wrong?
filter didn't include logs  from block with blockNumber=to_block, when to_block was passed as a parameter to create_log_filter.
How was it fixed?
Increased upper_bound by 1 when to_block is passed.
https://github.com/ethereum/eth-tester/blob/a0ac1bc9dd5c467e41e6d841a374b28b72fa8701/eth_tester/main.py#L611
Cute Animal Picture

Here's a failing build.

The pyethereum tests are failing but the py-evm tests are passing. This now seems like a backend specific issue.

Will take a look at this later today. I feel that there is an issue with the latest block returned.

using latest instead of pending fixed the problem. Looking at the code again now my second commit was wrong as the upper_bound was calculated using the pending block which is already +1.
However, looks like the real problem is with the pending block returned between backends. I am not yet sure though. I need to dig in.

You've been neck deep in filters, lately @dylanjw - thoughts?

I rushed to the solution earlier as I needed an immediate fix. I have fixed this using a different approach.
There was no need to change pending -> latest. I was fixing this at the wrong place.
pending is already latest + 1, but  upper_bound = to_block needed to be
upper_bound = to_block + 1 to get the range below working:
https://github.com/ethereum/eth-tester/blob/a0ac1bc9dd5c467e41e6d841a374b28b72fa8701/eth_tester/main.py#L611
cc @carver @dylanjw

LGTM :+1: as long as it makes sense to @dylanjw


Port immutable.Queue

We currently have no equivalent of collection.immutable.Queue. An easy way to fix that would be to simply port the existing implementation. Or we could use #88 which has “ O(1) enqueue and amortized O(1) dequeue, but it also has O(1) ++ and O(1) push”

Fixed by 91fbf408fc7a25848108add55227f8d5508def88


Lens doesn't find/list all expected charts

Describe the bug
Hi. I have added some repositories like grafana
To Reproduce
Steps to reproduce the behavior:

Go to 'Preferences >  Kubernetes > Helm Charts > Select 'grafana' from the list'
Click on cluster on the sidebar
Scroll down to Apps > Charts
Search for Grafana
some charts are shown from the grafana repo but not all. The chart for grafana itself doesn't show up. I have tried helm repo update and closing/reopening the app but no difference.

Expected behavior
I would expect Lens to list all the charts in the enabled repos.
Environment (please complete the following information):

Lens Version: 5.1.3-latest.20210722.1
OS: [e.g. OSX] macOS Big Sur 11.5
Installation method (e.g. snap or AppImage in Linux): Just downloaded the app from the website

Logs:
When you run the application executable from command line you will see some logging output. Please paste them here:
https://pastebin.ubuntu.com/p/zwFQKy3hTk/
```

**Kubeconfig:**
Quite often the problems are caused by malformed kubeconfig which the application tries to load. Please share your kubeconfig, remember to remove any secret and sensitive information.
```
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: ...
    server: https://x.x.x.x:6443
  name: alpha
contexts:
- context:
    cluster: alpha
    user: alpha
  name: alpha
current-context: alpha
kind: Config
preferences: {}
users:
- name: alpha
  user:
    client-certificate-data: ...
    client-key-data: ...e
```

**Additional context**
Not sure of what other info to provide. Thanks in advance!

Have you added any helm repos? What is the response from helm repo list from the command line?

Hi, yes, I added some repos. From the command line I see all the charts as expected.

Okay I think I see what you see, if I run helm repo search grafana I see the following:
NAME                                              	CHART VERSION	APP VERSION	DESCRIPTION
appscode/grafana-operator                         	v0.1.0       	v0.1.0     	Grafana Operator by AppsCode
appscode/kubeform-provider-grafana                	v2021.08.02  	v0.3.0     	Kubeform Provider Grafana Controller by AppsCode
appscode/kubeform-provider-grafana-alert-crds     	v2021.08.02  	v0.3.0     	Kubeform Provider Grafana Alert Custom Resource...
appscode/kubeform-provider-grafana-builtin-crds   	v2021.08.02  	v0.3.0     	Kubeform Provider Grafana Builtin Custom Resour...
appscode/kubeform-provider-grafana-dashboard-crds 	v2021.08.02  	v0.3.0     	Kubeform Provider Grafana Dashboard Custom Reso...
appscode/kubeform-provider-grafana-data-crds      	v2021.08.02  	v0.3.0     	Kubeform Provider Grafana Data Custom Resource ...
appscode/kubeform-provider-grafana-folder-crds    	v2021.08.02  	v0.3.0     	Kubeform Provider Grafana Folder Custom Resourc...
appscode/kubeform-provider-grafana-organization...	v2021.08.02  	v0.3.0     	Kubeform Provider Grafana Organization Custom R...
appscode/kubeform-provider-grafana-role-crds      	v2021.08.02  	v0.3.0     	Kubeform Provider Grafana Role Custom Resource ...
appscode/kubeform-provider-grafana-synthetic-crds 	v2021.08.02  	v0.3.0     	Kubeform Provider Grafana Synthetic Custom Reso...
appscode/kubeform-provider-grafana-team-crds      	v2021.08.02  	v0.3.0     	Kubeform Provider Grafana Team Custom Resource ...
appscode/kubeform-provider-grafana-user-crds      	v2021.08.02  	v0.3.0     	Kubeform Provider Grafana User Custom Resource ...
bitnami/grafana                                   	6.1.5        	8.0.6      	Grafana is an open source, feature rich metrics...
bitnami/grafana-operator                          	1.0.1        	3.10.3     	Kubernetes Operator based on the Operator SDK f...
bitnami/grafana-tempo                             	0.2.2        	1.0.1      	Grafana Tempo is an open source, easy-to-use an...
eks/appmesh-grafana                               	1.0.4        	6.4.3      	App Mesh Grafana Helm chart for Kubernetes
grafana/grafana                                   	6.14.2       	8.0.5      	The leading tool for querying and visualizing t...
grafana/enterprise-metrics                        	1.4.3        	v1.4.2     	Grafana Enterprise Metrics
grafana/fluent-bit                                	2.3.0        	v2.1.0     	Uses fluent-bit Loki go plugin for gathering lo...
grafana/loki                                      	2.5.3        	v2.2.1     	Loki: like Prometheus, but for logs.
grafana/loki-canary                               	0.3.3        	2.2.0      	Helm chart for Grafana Loki Canary
grafana/loki-distributed                          	0.35.2       	2.2.1      	Helm chart for Grafana Loki in microservices mode
grafana/loki-stack                                	2.4.1        	v2.1.0     	Loki: like Prometheus, but for logs.
grafana/promtail                                  	3.6.1        	2.2.1      	Promtail is an agent which ships the contents o...
grafana/tempo                                     	0.7.4        	v1.0.1     	Grafana Tempo Single Binary Mode
grafana/tempo-distributed                         	0.9.13       	1.0.1      	Grafana Tempo in MicroService mode
grafana/tempo-vulture                             	0.1.0        	0.7.0      	Grafana Tempo Vulture - A tool to monitor Tempo...
prometheus-community/kube-prometheus-stack        	17.1.0       	0.49.0     	kube-prometheus-stack collects Kubernetes manif...
prometheus-community/prometheus-druid-exporter    	0.9.0        	v0.8.0     	Druid exporter to monitor druid metrics with Pr...

but if I search "grafana" in Lens I see:

Is that roughly what you see?
I think the issue is we are combining charts with the same name even if they are under different repos.

Yep, that's it! :)

Hi, I noticed the same happens for some other helm repo eg. gitlab. Lens app doesnt detect some charts

So it turns out that we do detect it but our logic for deprecated charts was incorrect, PR has been made.


Fixed some code smells in apollo-portal module

What's the purpose of this PR

Inline variable
Chenge deprecated method
Add final or static final keyword to class field

Which issue(s) this PR fixes:
Fixes #
Brief changelog
fixed some code smells
Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Read the Contributing Guide before making this pull request.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit tests to verify the code.
[ ] Run mvn clean test to make sure this pull request doesn't break anything.
[ ] Update the CHANGES log.

/recheck

I have read the CLA Document and I hereby sign the CLA

/recheck

WillardHu force-pushed the WillardHu:fix/code-smells branch from 80716c6 to b66b78b 21 seconds ago

rebase master and retest with jdk8 unit-test

WillardHu force-pushed the WillardHu:fix/code-smells branch from b66b78b to 0f95412 2 minutes ago

Fixed the ConsumerAuditUtil becuse ConsumerAuditUtilTest used reflection to set BATCH_TIMEOUT and BATCH_TIMEUNIT, so without final. Passed unit-test in local.

Codecov Report

Merging #3968 (0f95412) into master (ec9534f) will decrease coverage by 0.03%.
The diff coverage is 53.84%.

@@             Coverage Diff              @@
##             master    #3968      +/-   ##
============================================
- Coverage     50.80%   50.77%   -0.04%
+ Complexity     2467     2466       -1
============================================
  Files           475      475
  Lines         14608    14603       -5
  Branches       1523     1523
============================================
- Hits           7422     7414       -8
  Misses         6660     6660
- Partials        526      529       +3

Impacted Files
Coverage Δ

...o/openapi/filter/ConsumerAuthenticationFilter.java
94.11% <ø> (ø)

...enapi/v1/controller/NamespaceBranchController.java
14.28% <ø> (ø)

...ramework/apollo/openapi/util/OpenApiBeanUtils.java
8.95% <20.00%> (+0.13%)
:arrow_up:

...rk/apollo/openapi/v1/controller/AppController.java
42.30% <33.33%> (-2.14%)
:arrow_down:

...mework/apollo/openapi/service/ConsumerService.java
53.38% <100.00%> (-0.78%)
:arrow_down:

...amework/apollo/openapi/util/ConsumerAuditUtil.java
91.66% <100.00%> (+2.47%)
:arrow_up:

...rk/apollo/spring/property/SpringValueRegistry.java
83.78% <0.00%> (-5.41%)
:arrow_down:

.../framework/apollo/spring/property/SpringValue.java
87.71% <0.00%> (-1.76%)
:arrow_down:

.../apollo/internals/RemoteConfigLongPollService.java
77.10% <0.00%> (-1.21%)
:arrow_down:

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 ec9534f...0f95412. Read the comment docs.


⚠ Bofrost.lu has degraded performance

In 219ed1d, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1706 ms

Resolved: Bofrost.lu performance has improved in fc141c3 after 53 minutes.


Can't Load Git Repos after clone down.

Hi,
I did a fresh clone down and now when i build or run with
./build.sh or ./build-new.sh
/opt/node-webkit/nw '/home/al/github/git-watcher/
It loads up find, the options bar isn't in the top bar

The menu bar being embeded in the window is something that started happening since the new node-webkit version. I reported it but seems that no one cares or it's pending to be fixed.
So, you did open the repository using the 'open' button but the loading icons still stays there? Weird.
Which version of ubuntu are you using?

I downloaded the latest http://nwjs.io/ and im running 14.04 LTS, if i use the menu or the icon, it just shows the loading icon and doesn't load the repo.
i though the menu position was important because when i do a build its inside the window but when i use your build from the readme.md under download, the menu is in the top bar.

al@al-Inspiron-11-3147:~$ /opt/node-webkit/nw '/home/al/github/git-watcher/'
[4719:0314/110929:ERROR:browser_main_loop.cc(170)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
ATTENTION: default value of option force_s3tc_enable overridden by environment.
[4738:0314/110930:ERROR:sandbox_linux.cc(325)] InitializeSandbox() called with multiple threads in process gpu-process
[4719:0314/110942:ERROR:nw_shell.cc(335)] Error: Cannot find module '../build/Release/git.node'
    at Function.Module._resolveFilename (module.js:327:15)
    at Function.Module._load (module.js:264:25)
    at Module.require (module.js:356:17)
    at require (module.js:375:17)
    at Object. (/home/al/github/git-watcher/node_modules/git-utils/lib/git.js:8:16)
    at Object. (/home/al/github/git-watcher/node_modules/git-utils/lib/git.js:359:4)
    at Module._compile (module.js:451:26)
    at Object.Module._extensions..js (module.js:469:10)
    at Module.load (module.js:346:32)
    at Function.Module._load (module.js:301:12)
[4719:0314/110942:INFO:CONSOLE(329)] "Uncaught Error: Cannot find module '../build/Release/git.node'", source: module.js (329)

I just found this error above could i be missing the git module for node? i did an npm install. do more test later today.

I found the issue looks like it lies in the git utils build script. Is their a pre-requisite or an old version to use?

al@al-Inspiron-11-3147:~/github/git-watcher/node_modules/git-utils$ npm install
/
><EMAIL_ADDRESS>install /home/al/github/git-watcher/node_modules/git-utils/node_modules/grunt-coffeelint/node_modules/coffeelint
> [ -e lib/commandline.js ] || npm run compile

-
><EMAIL_ADDRESS>install /home/al/github/git-watcher/node_modules/git-utils
> node-gyp rebuild

make: Entering directory `/home/al/github/git-watcher/node_modules/git-utils/build'
make: *** No rule to make target `Release/obj.target/libgit2/deps/libgit2/src/attr.o', needed by `Release/obj.target/git2.a'.   System Linux 3.13.0-46-generic
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/al/github/git-watcher/node_modules/git-utils
gyp ERR! node -v v0.10.36
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok

npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is most likely a problem with the git-utils package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls git-utils
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.13.0-46-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! cwd /home/al/github/git-watcher/node_modules/git-utils
npm ERR! node -v v0.10.36
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/al/github/git-watcher/node_modules/git-utils/npm-debug.log
npm ERR! not ok code 0

I've successfully built git-utils v3.0.0 module using node v0.12 and latest nw-gyp with nw.js v0.12


[WIP] Fix URL on puppet cmtool

This PR is based on PR #178, and extends it by retaining support for older versions of the puppet cmtool.

Okay. now to test out the following cases for puppet...ugh, this is painful...

[ ] eval-win7x86-enterprise.json 1.0 series
[ ] eval-win7x86-enterprise.json 5.0 series
[ ] eval-win7x86-enterprise.json (latest)
[ ] eval-win7x64-enterprise.json 1.0 series
[ ] eval-win7x64-enterprise.json 5.0 series
[ ] eval-win7x64-enterprise.json (latest)
[ ] eval-win81x86-enterprise.json 1.0 series
[ ] eval-win81x86-enterprise.json 5.0 series
[ ] eval-win81x86-enterprise.json (latest)
[ ] eval-win81x64-enterprise.json 1.0 series
[ ] eval-win81x64-enterprise.json 5.0 series
[ ] eval-win81x64-enterprise.json (latest)

Okay, that's it. They're all tested! Jesus..


Autoplay Flag

This PR adds an autoplay flag defaulting to true that allows implementation to determine if a video should auto play when a url is set.
This change I made locally in my project because I wasn't sure whether videos should start playing automatically or not when I set a url.  When my url was streaming, the video would auto play upon setting the url.  However, when my video was a local video, it would not auto play.  The goal of this PR is correct that behavior.  Since I wasn't sure which was it should be, I went ahead and added an autoplay flag.
The reason the auto play was not consistent before this change, had to do with logic in the PlayerLoadedTimeRangesKey observable if block - either playing or not playing the video not consistent with setting a url.

thanks @btelintelo apologies for the delay


Markdown: initial fetch typically takes at least 1-2s

It always bugs me that Posts, even when it's just 10 characters, ends up showing a gray placeholder for a significant duration when loaded for the first time**.  The culprit seems to be the fetch time (CDN?).  Larger images seem to load faster than that.
** "first time" here really means loading that Post for the first time on your network/PC.  The fetch will be relatively faster afterwards, even when refreshed with the cached cleared.
Restarting dev:web or re-opening the browser does help to reproduce the "first time" scenario, although not guaranteed (usually will be 3/4 of the worst-case).

 How is loading text so slow?


Blank URL text from Slack should be ignored

Environment

Version: 1.9.0

Operating system: linux/amd64

Please describe the expected behavior.
When a Google Hangout is bridged to Slack (via Hangoutsbot slackrtm plugin) it adds a URL with an empty description to the messages (i.e. <ho://xxxxx/xxxxx | >). This allows it to track the return path of a message should it need to, but also keeps the tag invisible to Slack users.
When Slack is then bridged to another platform using matterbridge, this tag is exposed on the far end of the bridge. It should be stripped out since it doesn't have any use beyond that bridge.
Please describe the actual behavior.

[1318] DEBUG slack:        == Receiving event &slack.MessageEvent{Msg:slack.Msg{Type:"message", Channel:"C699FK1U3", User:"", Text:"No hail damage yay <ho:///| >", Timestamp:"1521562009.000762", ThreadTimestamp:"", IsStarred:false, PinnedTo:[]string(nil), Attachments:[]slack.Attachment(nil), Edited:(*slack.Edited)(nil), SubType:"bot_message", Hidden:false, DeletedTimestamp:"", EventTimestamp:"1521562009.000762", BotID:"B695YDH96", Username:"Google User (Hangouts)", Icons:(*slack.Icon)(0xc42061a460), Inviter:"", Topic:"", Purpose:"", Name:"", OldName:"", Members:[]string(nil), ReplyCount:0, Replies:[]slack.Reply(nil), ParentUserId:"", File:(*slack.File)(nil), Upload:false, Comment:(*slack.Comment)(nil), ItemType:"", ReplyTo:0, Team:"T67TH8VRQ", Reactions:[]slack.ItemReaction(nil)}, SubMessage:(*slack.Msg)(nil)}
[1318] DEBUG slack:        <= Sending message from Google User (Hangouts) on slack.dudegroup to gateway
[1318] DEBUG slack:        <= Message is &config.Message{Text:"No hail damage yay ho:///", Channel:"dude_group", Username:"Google User (Hangouts)", UserID:"B695YDH96", Avatar:"", Account:"slack.dudegroup", Event:"", Protocol:"", Gateway:"", Timestamp:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}, ID:"slack<PHONE_NUMBER>.000762", Extra:map[string][]interface {}{}}
[1318] DEBUG gateway:      => Sending config.Message{Text:"No hail damage yay ho:///", Channel:"dude_group", Username:"Google User (Hangouts)", UserID:"B695YDH96", Avatar:"", Account:"slack.dudegroup", Event:"", Protocol:"", Gateway:"dg2dg", Timestamp:time.Time{wall:0xbea46a46725ecc1f, ext:1318489013254, loc:(*time.Location)(0x15a8c80)}, ID:"slack<PHONE_NUMBER>.000762", Extra:map[string][]interface {}{}} from slack.dudegroup (dude_group) to discord.dudegroup (dude_group)
[1318] DEBUG discord:      => Receiving config.Message{Text:"No hail damage yay ho:///", Channel:"dude_group", Username:"Google User (Hangouts): ", UserID:"B695YDH96", Avatar:"", Account:"slack.dudegroup", Event:"", Protocol:"", Gateway:"dg2dg", Timestamp:time.Time{wall:0xbea46a46725ecc1f, ext:1318489013254, loc:(*time.Location)(0x15a8c80)}, ID:"", Extra:map[string][]interface {}{}}
[1318] DEBUG discord:      Broadcasting using token (API)
[1318] DEBUG gateway:      mID discord.dudegroup:<PHONE_NUMBER>90579988
Any steps to reproduce the behavior?
Setup a Google Hangouts group chat, a Slack team, and a Discord server as described above.
Please add your configuration file

[general]
MediaDownloadSize=10485760
[discord.dudegroup]
Token=""
Server=""
RemoteNickFormat="{NICK}: "
[slack.dudegroup]
Token=""
RemoteNickFormat="{NICK} ({PROTOCOL})"
[[samechannelgateway]]
name="dg2dg"
enable=true
accounts = ["discord.dudegroup","slack.dudegroup"]
channels = ["dude_group"]

Got merged


[dataModelUpdate]: Computational Tools Template

Change Type
Addition
Template to add or update
ComputationalTools
RFC Link
None
Additional Comments
Creating based on the computational tools tables

Added computational tools template to the data model.


Change the language of PowerToys

Description of the new feature / enhancement
Add a settings in 全般 to change the language to English (my OS is Japanese but my windows display language is English

)__
Scenario when this would be used?
When the OS language and display language is different
Supporting information
No response

/dup #7670


Firefox CSP issue

Context information
application version:
device:
browser:
operating system:
Steps to reproduce
Firefox gives different CSP errors in the console.
What is expected?
What is actually happening?

Probably caused by some extension. It's not a problem in incognito mode. And id doesn't have any negative effect even with extensions


ENH: Make non-example-plotting CircleCI run on PRs

CircleCI could run on all PRs and build the make html_dev-noplot version. It would make it easier to check how docstrings get formated. @jaeilepp WDYT?

Sounds good to me.

Are you on it or should I try?

I'm actually trying to get circle to auto-update the mne-tools.github.io repo on success. Maybe it's best to make these in separate PRs, so go ahead.


Show trial error message

This PR is for issue https://github.com/microsoft/nni/issues/1541 .
WebUI will show /trial-jobs error message if /trial-jobs return error filed. And website will stop refreshing page.

I think this message should be used for all REST requests instead of /trial-jobs only.


Setup Autosign.conf

Adds a paramter, autosign which is an array of domains/patterns to autosign. Uses that if present to write an autosign.conf.

Actually, I'm closing this, #52 looks better, I'll submit another PR w/ that work + the fixed test


TrackPlayer.STATE_NONE (undefined is not an object)

Hi guys,
looks like i have that problem like previously @chrissbendel had in issue #96.
I have tried that guide that he provided, but no success. I`m able to reproduce it only for iOS.
My configuration:
"react": "16.0.0",
"react-native": "^0.50.3",
"react-native-track-player": "^0.2.2"
I`m running my sample on iOS. Simulator v11.2
Can you please help how i can fix it?
Thanks in advance.

Since #96 was closed, I comment here as well:
I'm having a similar issue. I have dummy.swift and also 'react-native link' linked the library fine. However, if I do react-native run-ios, build fails with the following message:
=== BUILD TARGET RNTrackPlayer OF PROJECT RNTrackPlayer WITH CONFIGURATION Debug ===

Check dependencies

Swift is not supported for static libraries.

** BUILD FAILED **

I can run it on Android successfully and can play both mp3, HLS & IceCast 2.4, though!
"react": "16.0.0",
"react-native": "0.50.3",
"react-native-track-player": "^0.2.2",

is what I have.

I had XCode 8 and that was the issue. I updated it to 9.2 and now I can compile it and run on the iPhone simulator. At the moment I can play a local MP3 file, HLS and IceCast 2.4 on the simulator.

Hello @dcvz  - Good day! just an inquiry...have you published a new npm?

Can I use the library in Snack.expo.io


Internal links starting with http (not https) are not replaced while duplicating region contents

Describe the Bug

When you create a new region, you can import contents from an existing region (often from Deutschlandvorlage in the live system). If those contents contain region-internal links, the region slugs in the links will be replaced with that of the region being newly created.
Steps to Reproduce

Go to any region A and add into a page a link to a content of the region A with prefix http into a content.
Go to the network management and create a new region with importing contents from the region A
Go to the new region
See the region slug of the internal link is not replaced

If http://integreat.app/region_a/de/page_title/ is used in the step 1, http://integreat.app/new_region/de/page_title/ must appear in the step 4.
If https://integreat.app/region_a/de/page_title/ is used, https://integreat.app/new_region/de/page_title/ appears (success).
Expected Behavior

The region slug must be replaced even if URLs are starting with http instead of https
Actual Behavior

The region slug is not replaced.
Additional Information

Traceback

Would this be solved if we implement #68?


[29] old pycurl needs mocks for file-like memory objects - master

Allows centos 7's old pycurl to use WRITEDATA/READDATA to/from the connection.

please # this and 4-2-stable


How can I use it ?

how to perform an authentication / authorization for a user? what about admin / staff user?
It's a good idea to using jamstack site to perform a lightweight and fast ecommerce system but it strongly needs a clarified document.

Hi! Sadly, we only have what's in the Readme.
This project is not really supported by Netlify as a first-tier open-source project.
I'm happy to review a pull request that will improve the Readme. It does not have to be perfect, you could write down how you would run a Go service and we can work out how we'd like to document it.

Thanks @mraerino for the answer.

This project is not really supported by Netlify as a first-tier open-source project.

Can you add this to the Readme? It's important. I felt it between the lines of (make sure to understand MIT license) but it needs to be stated by the team so that people know that before building their commerce.
Thanks for this fantastic project.

How do we authenticate??
create user/login

Just wanted to share a couple of resources that may be helpful to folks:

@mraerino's awesome talk from Jamstack Boston: https://youtu.be/0QBrnxLw9ik
Matt and Chris discussing the project's origins: https://changelog.com/podcast/251 (timestamps 20:38 and 23:42)


Group Functionality for Teams

Hi @coccoinomane, @yigitest, and the rest of the crew,
I'm curious to know if you think this is a valid or needed feature: Grouping of Teams
Basically, our current .env file right now looks like this (trimmed to 8 teams for easy comparison):
# =========
# = TEAMS =
# =========
USER_1_TEAM_1="1111"
USER_1_TEAM_1_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_TEAM_1_TASK="mine"
USER_1_TEAM_1_REINFORCEMENT_TO_PICK="3"
USER_1_TEAM_2="1111"
USER_1_TEAM_2_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_TEAM_2_TASK="mine"
USER_1_TEAM_2_REINFORCEMENT_TO_PICK="3"
USER_1_TEAM_3="1111"
USER_1_TEAM_3_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_TEAM_3_TASK="mine"
USER_1_TEAM_3_REINFORCEMENT_TO_PICK="3"
USER_1_TEAM_4="1111"
USER_1_TEAM_4_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_TEAM_4_TASK="mine"
USER_1_TEAM_4_REINFORCEMENT_TO_PICK="3"
USER_1_TEAM_5="1111"
USER_1_TEAM_5_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_TEAM_5_TASK="mine"
USER_1_TEAM_5_REINFORCEMENT_TO_PICK="3"
USER_1_TEAM_6="1111"
USER_1_TEAM_6_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_TEAM_6_TASK="mine"
USER_1_TEAM_6_REINFORCEMENT_TO_PICK="3"
USER_1_TEAM_7="1111"
USER_1_TEAM_7_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_TEAM_7_TASK="mine"
USER_1_TEAM_7_REINFORCEMENT_TO_PICK="3"
USER_1_TEAM_8="1111"
USER_1_TEAM_8_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_TEAM_8_TASK="mine"

Now, I think we could group this by doing separate .env files or creating new folders per group. But what if we can make this a little bit cleaner by adding a group functionality.
Some features on top of my head that grouping might introduce:

Ability to create different strategies for different classes (Machines, Lux, Sunken, Ruineds, etc)
Cleaner looking .env files, IMO most of us use the same strategy for Reinforcement to Pick for example, or Reinforce Strategy, so it would look cleaner by having a group
A possibility to introduce staggering mines by having a check before deploying other groups (is this possible?)
Lastly, the ability to group Looters and Miners together without looking messy

The .env file would look something like this:
# =========
# = MINERS =
# =========
USER_1_GROUP_1_TEAMS=[1111,2222,3333,4444]
USER_1_GROUP_1_TASK="mine"
USER_1_GROUP_1_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_GROUP_1_REINFORCEMENT_TO_PICK="3"

# =========
# = LOOTERS =
# =========
USER_1_GROUP_2_TEAMS=[5555,6666,7777,8888]
USER_1_GROUP_2_TASK="loot"
USER_1_GROUP_2_REINFORCE_STRATEGY="HighestBpFromInventory, HighestBpHighCost, HighestBp"
USER_1_GROUP_2_REINFORCEMENT_TO_PICK="3"

or a staggered mine, where MINERS 2 can check if miners from MINERS 1 have a 30-minute gap for self-reinforce. Else, do not mine.
# =========
# = MINERS 1 =
# =========
USER_1_GROUP_1_TEAMS=[1111,2222]
USER_1_GROUP_1_TASK="mine"
USER_1_GROUP_1_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_GROUP_1_REINFORCEMENT_TO_PICK="3"

# =========
# = MINERS 2 =
# =========
USER_1_GROUP_2_TEAMS=[3333,4444]
USER_1_GROUP_2_TASK="mine"
USER_1_GROUP_2_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_GROUP_2_REINFORCEMENT_TO_PICK="3"

The group functionality seems like a nice feature @nikohd12 ... I never thought about it because I only have one team 😂
The most challenging point to implement would be:

A possibility to introduce staggering mines by having a check before deploying other groups (is this possible?)

Maybe we can go ahead with grouping and leave this for later.

The group functionality seems like a nice feature @nikohd12 ... I never thought about it because I only have one team 😂
The most challenging point to implement would be:

A possibility to introduce staggering mines by having a check before deploying other groups (is this possible?)

Maybe we can go ahead with grouping and leave this for later.

Yup. Totally agree with going with group functionality, just presented some pros with grouping.
Thank you!

The group functionality seems like a nice feature @nikohd12 ... I never thought about it because I only have one team joy
The most challenging point to implement would be:

A possibility to introduce staggering mines by having a check before deploying other groups (is this possible?)

Maybe we can go ahead with grouping and leave this for later.

Groups would definitely be nice.  I currently just have all my teams in there twice grouped by mining and looting and just comment out the group that I'm not using.

Hi guys and @nikohd12 !
I have pushed a new branch 2022-04-21_teams-grouping with the teams-grouping feature.
I have made a few tests, but with only one team my tests are obviously lacking.
Could you please test it and let me know if it is safe to merge with master?
Thanks,
Cocco

Hi guys and @nikohd12 !
I have pushed a new branch 2022-04-21_teams-grouping with the teams-grouping feature.
I have made a few tests, but with only one team my tests are obviously lacking.
Could you please test it and let me know if it is safe to merge with master?
Thanks, Cocco
PS: You can use python3 -m src.tests.testConfig to see the team configuration, without the need to actually run the bot.

I will test this for the next 12 hours. Thank you as always @coccoinomane

Same I'll test this as well.

Hi @coccoinomane,
I am getting the following errors
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/ec2-user/crabada-pool/src/tests/testConfig.py", line 1, in <module>
    from src.common.config import users, donatePercentage, nodeUri, notifications, telegram
  File "/home/ec2-user/crabada-pool/src/common/config.py", line 39, in <module>
    users.append(parseUserConfig(userNumber, teams))
  File "/home/ec2-user/crabada-pool/src/helpers/config.py", line 147, in parseUserConfig
    validateUserConfig(userConfig, userNumber)
  File "/home/ec2-user/crabada-pool/src/helpers/config.py", line 180, in validateUserConfig
    raise MissingConfig(f"User {userNumber} has no team configured")
src.common.exceptions.MissingConfig: User 1 has no team configured

My config looks like this:
# =========
# = MINER CRABOID =
# =========
USER_1_GROUP_1="300xx, 224xx, 22xx7, 20xx9, 196xx, 175xx4, 106xx, 95xx, 9xx4"
USER_1_GROUP_1_TASK="mine"
USER_1_GROUP_1_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMp"
USER_1_GROUP_1_REINFORCEMENT_TO_PICK="4"

# =========
# = MINER RUINED =
# =========
USER_1_GROUP_2="190xx, 190xx, 174xx, 108xx, 95xxx, 82xx"
USER_1_GROUP_2_TASK="mine"
USER_1_GROUP_2_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_GROUP_2_REINFORCEMENT_TO_PICK="4"

# =========
# = MINER SUNKEN =
# =========
USER_1_GROUP_3="21xxx"
USER_1_GROUP_3_TASK="mine"
USER_1_GROUP_3_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMpHighCost, HighestMp"
USER_1_GROUP_3_REINFORCEMENT_TO_PICK="4"

EDIT:
I was able to fix by removing the commas and changing
USER_1_GROUP_1="300xx, 224xx, 22xx7, 20xx9, 196xx, 175xx4, 106xx, 95xx, 9xx4"
to
USER_1_GROUP_1_TEAMS="300xx,224xx,22xx7,20xx9,196xx,175xx4,106xx,95xx,9xx4"

Ah, good find @nikohd12 !
I've fixed the readme: one should use USER_1_GROUP_1_TEAMS with the final _TEAMS.
The spaces after the commas are ignored, so you can leave them if you want 🙂
cc: @theBlackEndDev

Alright! I'm going to test this out overnight.
Thanks @coccoinomane! So far so good here

Reinforce_delay should work properly, right? @coccoinomane
Btw, I have also tried USER_1_GROUP_1_REINFORCEMENT_TO_PICK="4" and it worked :)

Thanks @nikohd12 !
Yes, REINFORCE_DELAY_IN_SECONDS should work as intended.
I forgot to mention: if you need to add exceptions, you should be able to mix grouped teams with non-grouped teams:
USER_1_GROUP_1="300xx, 224xx, 22xx7, 20xx9, 196xx, 175xx4, 106xx, 95xx, 9xx4"
USER_1_GROUP_1_TASK="mine"
USER_1_GROUP_1_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMp"
USER_1_GROUP_1_REINFORCEMENT_TO_PICK="4"

USER_1_TEAM_1="9000"
USER_1_TEAM_1_TASK="mine
USER_1_GROUP_1_REINFORCE_STRATEGY="HighestMp, HighestMp"
USER_1_GROUP_1_REINFORCEMENT_TO_PICK="1"

Thanks @nikohd12 !
Yes, REINFORCE_DELAY_IN_SECONDS should work as intended.
I forgot to mention: if you need to add exceptions, you should be able to mix grouped teams with non-grouped teams:
USER_1_GROUP_1="300xx, 224xx, 22xx7, 20xx9, 196xx, 175xx4, 106xx, 95xx, 9xx4"
USER_1_GROUP_1_TASK="mine"
USER_1_GROUP_1_REINFORCE_STRATEGY="HighestMpFromInventory, HighestMp"
USER_1_GROUP_1_REINFORCEMENT_TO_PICK="4"

USER_1_TEAM_1="9000"
USER_1_TEAM_1_TASK="mine
USER_1_GROUP_1_REINFORCE_STRATEGY="HighestMp, HighestMp"
USER_1_GROUP_1_REINFORCEMENT_TO_PICK="1"

The non-grouped teams will be added to a fictious group with number zero (0).

Cool and neat feature! Thanks as always, @coccoinomane !

I was gonna report an issue but looks like you just pushed an update to the README which clears up the issue.  Thanks!

Ok this feature is really nice.  It gives granular control over your team's strategies.  Updated my cronjob to only use the one folder and will see how it works with automating my mine and loots together.

Hi @coccoinomane,
No issues encountered for the past 24+ hrs. You may close this issue.

Thanks @nikohd12  and @theBlackEndDev for the testing 🙂
I have merged & closed the issue.


blank push notification icon on android when sdk > 20

I'm trying to integrate push notifications into my ionic app with phonegap-plugin-push.
When I set my android:targetSdkVersion greater than 20, I'll receive a blank push notification icon. With SdkVersion 20 it's working properly.
Is there a fix for newer sdk versions or can i unproblematically use version 20? (performance, functionality)

+1

hi @michaelknoch
did you mean that
SONY Android 5.1.1

@michaelknoch if you mean the blank white icon as @bau720123 pointed out it is all documented at:
https://github.com/phonegap/phonegap-plugin-push#images
You'll need to follow the Android guidelines when creating your icon.

hi @macdonst
just a question
in Android 4.4.2，the icon no mater desktop icon or system bar icon，all normal to show
according to this ("System icons" chapter，right ?)
https://www.google.com/design/spec/style/icons.html#
is you mean if "not follow" it's clue ，the icon will become white that only in Android 5.0 and greater，just like my [Screenshot 1] ?

@bau720123 yes, if you build with Android 5 or later then the icon will show up completely white. So the icon you use should not rely on color but rather transparency to be distinct.

hi @macdonst
sorry for bother again
but in my PGB cli 5.2.0 (build.phonegap.com) + "android-minSdkVersion" => 15
it is...
PhoneGap (iOS / Android / Windows)
cli-5.2.0 (3.9.1 / 4.1.1 / 3.8.1)
you said，if you build with Android 5 or later then the icon will show up completely white
I am a little confuse about "build with Android 5" true meaning，because in PGB，it is 4.1.1 for now
anyway...
according to my [Screenshot 1]，there are four icons in the Left corner
the first one and last one are all system app，them are all white (not happen in Android 4.4.2)
the third one is my app that made by PGB，still have white situation
but the second one "AirDroid" app that I download from GooglePlay still can have a "normal icon" (no white icon) in the system status bar
so my problem is，is there any way can know how "AirDroid" did this ?

@bau720123 yes but if you look your target SDK will be greater than 20. You can see how the SDK levels map to API version numbers here: https://source.android.com/source/build-numbers.html

thanks @macdonst
I will try to figure out the target SDK
last question..
according to my [Screenshot 2]，you can see I have a background color "blue"，this is because I use "iconColor": "blue"
well...
but you can see the "AirDroid" seem have a "transparent" color
or maybe it just a coincidence (the small icon maybe "white" too) ?

@bau720123 that version of AirDroid must be compiled with a lower target SDK version that still allows color in small icons in notifications.


Already have an app section needs to be at the top

The section that opens matrix.to links in your own app, if you already have one, needs to be at the top.

``


in preview, skip columns for codelists

What
show a more concise preview of filtered dataset - skip columns: (1) data markings, (2) codelists per dimension
How to review
you need the referenced PR (see below) on the filter-api
once you're running that, filter a dataset and enjoy fewer columns
Who can review
anyone

title and description updated to reflect non-removal of data markings


Enable analytics for users downloading the .torrent files

The download page should point to an intermediate HTML page that then redirects to the actual .torrent files. The analytics of that intermediate page will give us an idea of the volume of people attempting download. The intermediate page should always be the same whatever the issue date of the data being downloaded.

This is being done for the ongoing spring, see https://github.com/theodi/shared/issues/488 .


TO Go API: GET .../deliveryservices returns empty list

Initialized traffic ops db using  Kabletown test data (cd /opt/traffic_ops/app; ./bin/db/setup_kabletown.pl):
curl https://.../api/1.3/deliveryservices  returns {"response":[]}
The same query on the Perl endpoint returns an array with 8 entries.

tenant info is missing from deliveryservice and tm_user tables in the Kabletown data.  Once added,  it returns the same data as Perl


Line Number improvements

@Moosems Your thing aint workin or i set it up wrong

That's on your end. It works

You sure? Did you try my code? Maybe i set it up wrong

It's working for me. What do you mean it isn't working??

It's working for me. What do you mean it isn't working??

See? It aint workin ( latest commit )

That's weird. Looks fine on my computer

@not-nef With the linenums that's cause you copy pasted and the binds need to be set up for that. That's not the fault of tklinenums. Like I keep saying to fix this just use CodeView from chlorophyll. As for the sticking out a lot can you please create a minimum reproducible example piece of code so I can debug and create a release with a fix or find the error that you might have made?

Does it update? And did you try disableing the syntax highlighting?

??

@Moosems i added a test.py in the project root which is the thing you wanted.  It only gives the effect if I make it spread out sideways. If that's the effect you want that's not the fault of of tklinenums but rather improper packing

Thats not what im talking about. The line numbers simple dont work

@not-nef That's not the linenumbers. Here's a fix to the example:

from tkinter import Tk, Text, Frame
from tkinter import ttk
from tkinter.font import Font
from tklinenums import TkLineNumbers

root = Tk()

main_frame = Frame(root)
main_frame.pack(fill="both", expand=True)

textwidget = Text(main_frame, width=100, borderwidth=0, height=root.winfo_height() - 125)
textwidget.text = textwidget
textwidget.grid(row=0, column=1, sticky="nsew")

style = ttk.Style()
style.configure("TLineNumbers", background="#ffffff", foreground="#2197db")

font = Font(family="Courier New bold", size=15, name="TkLineNumsFont")

linenums = TkLineNumbers(main_frame, textwidget, font)
linenums.grid(row=0, column=0, sticky="nsew")
linenums.reload(font)

textwidget.bind("<<ContentChanged>>", lambda event: root.after_idle(linenums.redraw()))
textwidget["yscrollcommand"] = linenums.redraw()

root.mainloop()

Thats not what im talking about. The line numbers simply dont work

You mean not updating when typing? That's not the linenumbers, that's bad binding. Please stop blaming the code the binds needed are as shown below:
textwidget.bind("<Key>", lambda event: root.after_idle(linenums.redraw))
textwidget.bind("<ButtonRelease-1>", lambda event: root.after_idle(linenums.redraw))

What do you mean thats not the linenumbers? Why is it not working then?

I always told you i probably set it up wrong thats why i asked you for help!! I never expected the code to be buggy i know you can do this type of stuff i just asked you how to properely set it up. Sorry if that wasnt clear

No worries :)

This is with the bindings you sent

@not-nef Here are the bindings to use:
from platform import system

if system() == "Darwin":
    contmand = "Command"
else:
    contmand = "Control"
text.bind("<Key>", lambda event: root.after_idle(linenums.redraw), add=True)
text.bind(f"<BackSpace>", lambda event: root.after_idle(linenums.redraw), add=True)
text.bind(f"<{contmand}-v>", lambda event: root.after_idle(linenums.redraw), add=True)
text["yscrollcommand"] = linenums.redraw

This works perfectly fine in a normal Text widget (see below) but doesn't seem to work in txt2. I'll leave it up to you to figure out the "<Key>" binding and why it's not working
Working:
from tkinter import Text, Tk
from tkinter.font import Font
from tkinter.ttk import Style
from platform import system

if system() == "Darwin":
    contmand = "Command"
else:
    contmand = "Control"

from tklinenums import TkLineNumbers

root = Tk()

style = Style()
style.configure("TLineNumbers", background="#ffffff", foreground="#2197db")

text = Text(root, wrap="char")
text.pack(side="right")

for i in range(50):
    text.insert("end", f"Line {i+1}\n")

font = Font(family="Courier New bold", size=15, name="TkLineNumsFont")

linenums = TkLineNumbers(root, text, font)
linenums.pack(fill="y", side="left", expand=True)
linenums.reload(font)

text.bind("<Key>", lambda event: root.after_idle(linenums.redraw), add=True)
text.bind(f"<BackSpace>", lambda event: root.after_idle(linenums.redraw), add=True)
text.bind(f"<{contmand}-v>", lambda event: root.after_idle(linenums.redraw), add=True)
text["yscrollcommand"] = linenums.redraw

root.mainloop()

I have an idea. To use tkdnd you have to make the main window a tkdnd.Tk widget. Maybe it doesnt pass the after_idle call to the tk widget behind it. What do you think?

Can confirm its not because of tkdnd

yeah it's looks a bit misalign, I would prefer the numbers to be right align

Fixed in pypi release 1.5


Add remote option to job

Adds the remote field to the jobs table
Shows remote option for jobs in company card
Adds remote option to create/update form

@maartenvanvliet thank you so much! There are plenty of improvements that could be made to the site, we'd more than welcome your assistance 😁

👍


bench1/q4 vector Parquet query causes "panic: runtime error: index out of range [253] with length 253"

Repro is with super commit f166ba9 and the mgbench bench1/q4 query.
Test data is s3://brim-sampledata/mgbench/bench1-from-duckdb-table.parquet. This query previously ran ok and I've confirmed via binary search that this started failing at commit f166ba9 which is associated with the changes in #5502.
$ super -version
Version: v1.18.0-172-gf166ba93

$ SUPER_VAM=1 super -c '
from "bench1-from-duckdb-table.parquet"
| where
    machine_group=="Servers"
    and cpu_wio > float32(0.99)
    and log_time >= 2016-12-01T00:00:00Z
    and log_time < 2017-01-01T00:00:00Z
| summarize
    spikes := count()
    by machine_name
| sort -r spikes
| head 10'

panic: runtime error: index out of range [253] with length 253

goroutine 72 [running]:
github.com/brimdata/super/vector.Or(0xc0005f1440, 0xc0005f19b0)
	/Users/phil/work/super/vector/bool.go:121 +0x125
github.com/brimdata/super/runtime/vam/expr.(*And).eval(0xc000585440, {0xc0010824a0, 0x2, 0x0?})
	/Users/phil/work/super/runtime/vam/expr/logic.go:83 +0x1c7
github.com/brimdata/super/runtime/vam/expr.(*And).Eval.evalBool.func1({0xc0010824a0, 0x2, 0x2})
	/Users/phil/work/super/runtime/vam/expr/logic.go:165 +0x18d
github.com/brimdata/super/vector.Apply(0x10?, 0x74c92f8?, {0xc0010824a0?, 0xc002e19be8?, 0x605fbc5?})
	/Users/phil/work/super/vector/apply.go:17 +0xa3
github.com/brimdata/super/runtime/vam/expr.evalBool(...)
	/Users/phil/work/super/runtime/vam/expr/logic.go:157
github.com/brimdata/super/runtime/vam/expr.(*And).Eval(0xc000585440, {0x74c92f8, 0xc0004dcfc0})
	/Users/phil/work/super/runtime/vam/expr/logic.go:61 +0x125
github.com/brimdata/super/runtime/vam/expr.(*And).Eval(0xc000585620, {0x74c92f8, 0xc0004dcfc0})
	/Users/phil/work/super/runtime/vam/expr/logic.go:61 +0x3b
github.com/brimdata/super/runtime/vam/expr.(*And).Eval(0xc000585800, {0x74c92f8, 0xc0004dcfc0})
	/Users/phil/work/super/runtime/vam/expr/logic.go:61 +0x3b
github.com/brimdata/super/runtime/vam/op.(*Filter).Pull(0xc000585830, 0x0)
	/Users/phil/work/super/runtime/vam/op/filter.go:25 +0x6b
github.com/brimdata/super/runtime/vam/op/summarize.(*Summarize).Pull(0xc001aa6e70, 0x0?)
	/Users/phil/work/super/runtime/vam/op/summarize/summarize.go:58 +0x155
github.com/brimdata/super/runtime/vam/op.(*combineParent).run(0xc0008909c0)
	/Users/phil/work/super/runtime/vam/op/combine.go:110 +0x3f
created by github.com/brimdata/super/runtime/vam/op.(*Combine).Pull.func1 in goroutine 14
	/Users/phil/work/super/runtime/vam/op/combine.go:42 +0x35

It looks like I'm seeing this same panic with bench3/q1 and bench3/q4.

Verified in super commit 6e7d041.
The query now runs successfully without panic.
$ super -version
Version: v1.18.0-189-g6e7d041f

$ SUPER_VAM=1 super -c '
from "bench1-from-duckdb-table.parquet"
| where
    machine_group=="Servers"
    and cpu_wio > float32(0.99)
    and log_time >= 2016-12-01T00:00:00Z
    and log_time < 2017-01-01T00:00:00Z
| summarize
    spikes := count()
    by machine_name
| sort -r spikes
| head 10'
{machine_name:"sourpatch",spikes:8861(uint64)}
{machine_name:"louie",spikes:581(uint64)}
{machine_name:"zotz",spikes:550(uint64)}
{machine_name:"pieces",spikes:495(uint64)}
{machine_name:"reeces",spikes:453(uint64)}
{machine_name:"thing",spikes:438(uint64)}
{machine_name:"adminhost",spikes:366(uint64)}
{machine_name:"cadbury",spikes:357(uint64)}
{machine_name:"york",spikes:193(uint64)}
{machine_name:"reflect",spikes:156(uint64)}

Thanks @mattnibs!


Feat(eos_cli_config_gen): Add router path-selection feature

Change Summary
The PR is ready but the reviewers should react upon schema definition.
Component(s) name
arista.avd.eos_cli_config_gen
Proposed changes
    router_path_selection:
      peer_dynamic_source: <str>
      path_groups:
        - name: <str>
          id: <int>
          ipsec_profile: <str>
          flow_assignment: <str>
          local_interfaces:
            - name: <str>
              public_address: <str>
              stun:
                server_profile: <str>
          local_ips:
            - ip_address: <str>
              public_address: <str>
          dynamic_peers:
            ip_local: <bool>
            ipsec_disabled: <bool>
          static_peers:
            - router_ip: <str>
              name: <str>
              ip_address: <str>
      load_balance_policies:
        - name: <str>
          path_groups:
            - <str>
      policies:
        - name: <str>
          default_match:
            load_balance: <str>
      vrfs:
        - name: <str>
          path_selection_policy: <str>

How to test
molecule
Checklist
User Checklist

[x] - need to agree on path-group peer dynamic and peer static CLI - for now using dynamic_peers dict and static_peers list

[x] Need clarifty on local interfaces (Ethernet 1-6 but description says subinterfaces) and Switch auto-completion needs some more understanding.

Checked on Cloud EOS running 4.30.1F => not implementing Switch:
test-site101-r1(config-path-group-gmuloc-test-0)#local ?
interface  interface
   ip         ip

test-site101-r1(config-path-group-gmuloc-test-0)#local interface ?
Ethernet  Ethernet interface

test-site101-r1(config-path-group-gmuloc-test-0)#local interface Ethernet ?
<1-3>  Ethernet Port number

[x] id for path-group is optional it seems so need to remove secondary key in schema maybe

Repository Checklist

[x] My code has been rebased from devel before I start
[x] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation and documentation have been updated accordingly.
[ ] I have updated molecule CI testing accordingly. (check the box if not applicable)

Regarding this task:
need to agree on path-group peer dynamic and peer static CLI - for now using dynamic_peers dict and static_peers list

I agree on naming these keys dynamic_peers and static_peers. It doesn't follow exacly the cli, but I beleive in this case would actually make more common sense for user leveraging the models direcly.
We can capture the EOS specific cli in the description example:
dynamic_peers:
  keys:
    enabled:
      type: bool
      descrition: Enable `peer dynamic`

@ClausHolbechArista what are your thoughs?

Turns out a static peer can have multiple ip addresses
ceos2(config-peer-router-ip-<IP_ADDRESS>-internet)#show active
router path-selection
   path-group internet id 101
      peer static router-ip <IP_ADDRESS>
         ipv4 address <IP_ADDRESS>
         ipv4 address <IP_ADDRESS>
         ipv4 address <IP_ADDRESS>


Failed to send feedback

Thank you so much for the Aalto-C summer course.
Here is the issue I get when trying to submit the feedback:
Submitting: Module_3-03_join
Test results: 1/1 tests passed
100%
All tests passed on server!
Points permanently awarded: [M3.03]
Send feedback for Module_3-03_join? [Y/n] y
Feedback question: How difficult was this exercise? (1: trivial -- 5: very difficult)
[0-5] 3
Feedback question: Did this exercise support your learning? (1: not at all -- 5: very much)
[0-5] 5
Command failed in tmc-core, check tmc-cli.log file for more info
Failed to send feedback.

Why does it fail and where can I find tmc-cli.log?
TMC-CLI version 0.7.1
@Salmela @jclc

In linux the log file is at /home/YOUR_USERNAME/.config/tmc-cli/logs/tmc-cli.log.
In windows it's apparently in Users\User\.config\logs
I would really appreciate if you could post the log file. If the file is really long you can paste it in http://pastebin.com/ and just post a link to it.
And thanks for trying tmc-cli.

Thank you for information about the log.
Maybe it's a good idea to print full log path instead of check tmc-cli.log.
2016-07-14 19:42:26 INFO  TmcCore:109 - Creating new SendFeedback command
2016-07-14 19:42:26 INFO  HttpRequestExecutor:157 - Received http response with non 2xx response code 500 with body "org.apache.http.entity.BufferedHttpEntity@431cd9b2"
2016-07-14 19:42:26 ERROR TmcUtil:209 - Command failed in tmc-core
fi.helsinki.cs.tmc.core.exceptions.FailedHttpResponseException: Response code: 500
        at fi.helsinki.cs.tmc.core.communication.http.HttpRequestExecutor.handleResponse(HttpRequestExecutor.java:163)
        at fi.helsinki.cs.tmc.core.communication.http.HttpRequestExecutor.executeRequest(HttpRequestExecutor.java:142)
        at fi.helsinki.cs.tmc.core.communication.http.HttpRequestExecutor.call(HttpRequestExecutor.java:84)
        at fi.helsinki.cs.tmc.core.communication.http.HttpTasks$2.call(HttpTasks.java:94)
        at fi.helsinki.cs.tmc.core.communication.http.HttpTasks$2.call(HttpTasks.java:91)
        at fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory$7.call(TmcServerCommunicationTaskFactory.java:293)
        at fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory$7.call(TmcServerCommunicationTaskFactory.java:289)
        at fi.helsinki.cs.tmc.core.commands.SendFeedback.call(SendFeedback.java:44)
        at fi.helsinki.cs.tmc.core.commands.SendFeedback.call(SendFeedback.java:16)
        at fi.helsinki.cs.tmc.cli.tmcstuff.TmcUtil.sendFeedback(TmcUtil.java:181)
        at fi.helsinki.cs.tmc.cli.tmcstuff.FeedbackHandler.sendFeedback(FeedbackHandler.java:38)
        at fi.helsinki.cs.tmc.cli.command.SubmitCommand.run(SubmitCommand.java:139)
        at fi.helsinki.cs.tmc.cli.command.core.AbstractCommand.execute(AbstractCommand.java:63)
        at fi.helsinki.cs.tmc.cli.Application.runCommand(Application.java:67)
        at fi.helsinki.cs.tmc.cli.Application.run(Application.java:132)
        at fi.helsinki.cs.tmc.cli.Application.main(Application.java:141)
2016-07-14 19:42:26 ERROR TmcUtil:185 - Couldn't send feedback
fi.helsinki.cs.tmc.core.exceptions.FailedHttpResponseException: Response code: 500
        at fi.helsinki.cs.tmc.core.communication.http.HttpRequestExecutor.handleResponse(HttpRequestExecutor.java:163)
        at fi.helsinki.cs.tmc.core.communication.http.HttpRequestExecutor.executeRequest(HttpRequestExecutor.java:142)
        at fi.helsinki.cs.tmc.core.communication.http.HttpRequestExecutor.call(HttpRequestExecutor.java:84)
        at fi.helsinki.cs.tmc.core.communication.http.HttpTasks$2.call(HttpTasks.java:94)
        at fi.helsinki.cs.tmc.core.communication.http.HttpTasks$2.call(HttpTasks.java:91)
        at fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory$7.call(TmcServerCommunicationTaskFactory.java:293)
        at fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory$7.call(TmcServerCommunicationTaskFactory.java:289)
        at fi.helsinki.cs.tmc.core.commands.SendFeedback.call(SendFeedback.java:44)
        at fi.helsinki.cs.tmc.core.commands.SendFeedback.call(SendFeedback.java:16)
        at fi.helsinki.cs.tmc.cli.tmcstuff.TmcUtil.sendFeedback(TmcUtil.java:181)
        at fi.helsinki.cs.tmc.cli.tmcstuff.FeedbackHandler.sendFeedback(FeedbackHandler.java:38)
        at fi.helsinki.cs.tmc.cli.command.SubmitCommand.run(SubmitCommand.java:139)
        at fi.helsinki.cs.tmc.cli.command.core.AbstractCommand.execute(AbstractCommand.java:63)
        at fi.helsinki.cs.tmc.cli.Application.runCommand(Application.java:67)
        at fi.helsinki.cs.tmc.cli.Application.run(Application.java:132)
        at fi.helsinki.cs.tmc.cli.Application.main(Application.java:141)

I have never seen that error code and the problem doesn't seem to be in tmc-cli, but in tmc-server.
I made new issue about the log file path at #384.

Thanks for reporting this, I'll check the logs in a few days, whenever I have proper internet access...

Kiitos paljon!
On Jul 16, 2016 12:11 PM, "Jarmo Isotalo"<EMAIL_ADDRESS>wrote:

Thanks for reporting this, I'll check the logs in a few days, whenever I
have proper internet access...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tmc-cli/tmc-cli/issues/383#issuecomment-233137567,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAf3q0g0A92UiCUJa29bjwwk5kks6f7Mks5qWQKfgaJpZM4JM9Gc
.


Architecture and Logic behind the module

Hi,
I did go through code and docs but can you please provide a high-level architecture or the inner workings to help us understand the approach?
Thanks.

You're better off researching about the Boyer-Moore-Horspool algorithm, which this module uses. The remaining support code is straight forward enough.

I researched on it but what's confusing for me is what is your take on searching the chunks where the boundary is split across two chunks (large files).


Release 2.2.0

Version 2.2.0
New features

Provide version of module via 'OnNewStatusModuleVersion'
Function 'getParameters' to provide PersistentData parameters
Check if features of module can be used on device and provide this via 'OnNewStatusModuleIsActive' event / 'getStatusModuleActive' function

Improvements

New UI design available (e.g. selectable via CSK_Module_PersistentData v4.1.0 or higher), see 'OnNewStatusCSKStyle'
'loadParameters' returns its success
'sendParameters' can control if sent data should be saved directly by CSK_Module_PersistentData
Added browser tab information

Following tasks were checked

[x] Module is coded and structured according to the "Developing guideline for modules" described within the CSK documentation
[x] All functions/events/parameters are documented within the manifest documentation
[x] The manifest description of the main CROWN includes main information about the purpose of the module and how to use it in general
[x] API docu based on the manifest was created and stored within the "docu"-folder of the repository
[x] Internal LUA code documentation exists for variables and non served functions
[x] All relevant infos are logged via the SharedLogger 'ModuleLogger'
[x] Module supports persistent data feature based on 'CSK_Module_PersistentData'
[x] Module supports user management based on 'CSK_Module_UserManagement'
[x] No open "ToDos" within the code or at least clearly explained comments why they exist...
[x] "Version" key in app manifest was updated following semantic versioning (and use '0.x.y' for test / experimental modules which are not yet ready to be officially released)
[x] Meaningful IDs used for UI elements
[x] Module was tested on an AppSpace device (at least on SICK AppEngine) with no error message
[x] README.md is up to date (incl. info of device + firmware the module was tested with)
[x] CHANGELOG.md is up to date

There is this warning when run on TDC-E AppEngine 2.0.0``

Thx for the review!
All issues should be fixed.


Semi-supervised training with custom datasets

Thank you for your excellent work, I want to run the program on a custom dataset, but I only have a json file with labeled images - instances_train2017.json file, please how to generate a json file - unlabeled.json for unlabeled images, so as to pass unlabeled images into the teacher model for training, I will thank you for your guidance.

Dear @xcx121,
Thank you so much for the question. unlabeled.json actually has the same format as the instances_train2017.json, but with no box annotations. The format information is the same as the coco dataset.
You can write a script to create a json file for your own unlabelled images on your own dataset.
Best wishes


Enhancement/accessible composite disposable in presenter

for some reason unknown to me, there's newline at eof added

this already handles all observables and is bound with presenter's lifecycle, so this would be no real improvement


Optimize GitHub Workflows with Caching

makes sense! would it be possible to also add caching for test Docker build? This is where the runners spend the most time


Bug: Failed to deploy because of error listing connection strings off deployed Cosmos instance

I've got a very simple deployment that failed. You can see it spans Cosmos, adds an annotation to the utilities project to bundle Playwright with it and.. that's it.
var builder = DistributedApplication.CreateBuilder(args);

var cosmos = builder.AddAzureCosmosDB("cosmos");

builder.AddProject<Projects.Utilities>("utilities")
    .WithAnnotation(new ContainerImageAnnotation
    {
        Image = "mcr.microsoft.com/playwright",
        Tag = "v1.42.0-jammy"
    })
    .WithReference(cosmos);

builder.Build().Run();

I ran the following commands:
azd login
azd init
azd up

This successfully completed the step that reads "SUCCESS: Your application was provisioned in Azure in 2 minutes 6 seconds." and I see that it deployed a Container Registry, a Container Apps environment, Cosmos DB, Log Analytics, and a Managed Identity.
It failed upon attempting to deploy the services:
ERROR: failed deploying service 'utilities': failing invoking action 'deploy', failed executing template file: template: containerApp.tmpl.yaml:21:19: executing "containerApp.tmpl.yaml" at <connectionString "cosmos">: error calling connectionString: POST https://management.azure.com/subscriptions/5cec4120-f436-4a94-8a6e-************/resourceGroups/rg-myapp-web/providers/Microsoft.DocumentDB/databaseAccounts/cosmosholua67mc6kj2/listConnectionStrings
--------------------------------------------------------------------------------
RESPONSE 401: 401 Unauthorized
ERROR CODE: InvalidAuthenticationTokenTenant
--------------------------------------------------------------------------------
{
  "error": {
    "code": "InvalidAuthenticationTokenTenant",
    "message": "The access token is from the wrong issuer 'https://sts.windows.net/f8cdef31-a31e-4b4a-93e4-************/'. It must match the tenant 'https://sts.windows.net/efbbaae1-f282-4ff1-8f02-************/' associated with this subscription. Please use the authority (URL) 'https://login.windows.net/efbbaae1-f282-4ff1-8f02-************' to get the token. Note, if the subscription is transferred to another tenant there is no impact to the services, but information about new tenant could take time to propagate (up to an hour). If you just transferred your subscription and see this error message, please try back later."
  }
}
--------------------------------------------------------------------------------

I haven't transferred anything on this tenant in months (years?) and this is my first attempt to ever try deploying anything to it. Notably weird here too is that I have this message only after successfully creating all the other resources. It's only when it attempts to get the connection strings from one of those deployed resources that it all comes apart.
Anyway, filing as a bug report in hopes it can be resolved sooner than later. Thanks!

Can you file this on https://github.com/Azure/azure-dev/issues?

Also radom question, what is the purpose of this logic:
builder.AddProject<Projects.Utilities>("utilities")
    .WithAnnotation(new ContainerImageAnnotation
    {
        Image = "mcr.microsoft.com/playwright",
        Tag = "v1.42.0-jammy"
    })
    .WithReference(cosmos);

Also radom question, what is the purpose of this logic:
builder.AddProject<Projects.Utilities>("utilities")
    .WithAnnotation(new ContainerImageAnnotation
    {
        Image = "mcr.microsoft.com/playwright",
        Tag = "v1.42.0-jammy"
    })
    .WithReference(cosmos);

Oh, I saw it in the Intellisense and wanted to see what it would do. Just an experiment I neglected to remove.
The idea was to see if I could deploy Playwright alongside the .NET application in one container instead of explicitly making a separate resource and figuring out how to connect to it, but as it's not deploying, I've had some difficulty testing it.

Got it, well that doesn’t work at all 😅

Yeah, I noticed... is there anything on the roadmap for something like that? A way to add additional instructions to the container that's built for each application since there's no explicitly separate Docker file?

Yeah, I noticed... is there anything on the roadmap for something like that? A way to add additional instructions to the container that's built for each application since there's no explicitly separate Docker file?

That would be building your own docker file. We don't have an API for programmatically building up the docker file.


Unable to add role guard to the route using current route structure

using below method unable to add role guard to the route.
export class Route {
static withShell(routes: Routes): ngRoute {
}
}
As enterprise level app we should provide a way to safe route using role guard,
Please help.

Please give us a bit more context so that we can help you, I dont see anything with the code you shared, and I'm not sure I understand what you're trying to do.
You can take a look at the authentication guard if you want an example, see https://github.com/ngx-rocket/starter-kit/blob/master/src/app/core/route.service.ts for its usage in routes.

Closing this due to lack of information.


How to generate a correct struct file name from "#/definitions/IPAM"

Problem statement
Hi, All,
I ran into one situation that in my swagger.yml, I have defined an object IPAM in https://github.com/alibaba/pouch/blob/master/apis/swagger.yml#L1713-L1726:
  IPAM:
    type: "object"
    description: "represents IP Address Management"
    properties:
      Driver:
        type: "string"
      Options:
        type: "object"
        additionalProperties:
          type: "string"
      Config:
        type: "array"
        items:
          $ref: '#/definitions/IPAMConfig'

When generating a file, a file named ip_a_m.go is generated, see https://github.com/alibaba/pouch/blob/master/apis/types/ip_a_m.go.
I do not think the file name ip_a_m.go is what I want.
So, could I customize the file name in some places, like setting something to generate a file named IPAM.go?
/cc @rudyfly @CodeJuan
Swagger specification
See https://github.com/alibaba/pouch/blob/master/apis/swagger.yml
Steps to reproduce
NONE
Environment
swagger version: version: 0.12.0
go version: go version go1.9.1 darwin/amd64
OS:   Darwin AllenSundeMacBook-Pro.local 16.7.0 Darwin Kernel Version 16.7.0: Mon Nov 13 21:56:25 PST 2017; root:xnu-3789.72.11~1/RELEASE_X86_64 x86_64

I think we recently updated the way these names are generated. do you still see that same behavior on when you build from master?

So I think we need to first set the customized file name in swagger.yml, right?
Currently I have not get the way to set that file name. Could you share how to add a name in swagger.yml? Thanks a lot. Then I will try master branch.

we added changed the function that generates a file name to keep all uppercase letters grouped.
So the filename would still be lowercase but 1 word: ipam.go

@allencloud : this story is also related in go-openapi/swag#12, go-openapi/swag#11.
Name conversion heavily relies on camel case convention.
The point in your case is to detect correct "initialisms", i.e words that do not follow the regular Camel-casing.
IP is one of them, so the function knows it has to keep it one word. AM is not, so it is broken up in words.
If you had: IPAm, you should get ip_am as expected.
To work around your problem, you may configure the list of such initialisms in https://github.com/go-openapi/swag/blob/master/util.go#L27 and add "AM" as such an "initialism".


Add MOUSE_MODE_CONFINED_HIDDEN to MouseMode enum

Implements and closes https://github.com/godotengine/godot-proposals/issues/557, closes https://github.com/godotengine/godot-proposals/issues/1810
EDIT: Changed significantly, now it's a lot simpler as it just adds MOUSE_MODE_CONFINED_HIDDEN. For anyone who wants to see the original bitwise implementation, here is a direct link to the commit: https://github.com/aaronfranke/godot/commit/ca23e324ed15a4cfda5ea3acd6d14070a530a628
Open question: Why does DisplayServer have a duplicate enum? Maybe DisplayServer can just use Input::MouseMode?
Here's a checklist of platforms this is known to work on:

[x] Linux
[ ] macOS
[ ] Windows
[ ] UWP (can't test this on master, I tried building myself and it didn't work)
[ ] HTML5 (can't test this on master, web builds are not available)

Just tested on macOS, and the first three cases in the project don't seem to work properly.  The first one (hidden only) seems to hide the mouse and freeze it in place.  The second one (captured but not hidden) seems to do nothing, and behaves the same as MOUSE_MODE_VISIBLE.   The third seems to only hide the mouse (what the first test case should be doing).  The last two seem to work as expected, both confining the mouse and making it visible and not visible respectively.

All modes seem to work as intended now, but there are a few oddities (these were present with the last version; I just didn't mention them):

In either confined mode, the mouse can go up to the top of the window decoration bar (or whatever it's called—I'm talking about the OS's bar with the close, minimize, and fullscreen buttons), instead of being trapped in the usable area of the window.  I'm not sure if this is intentional.
When captured mode is activated, the cursor is warped to the center of the screen, but the mouse position (as printed in your example project) does not update until I attempt to move the mouse
In captured mode it is still possible to move the cursor by switching to another app (CMD+TAB), moving the cursor, and switching back.  The cursor is locked in place in its new position instead of being warped back to the center of the screen, and the mouse position being printed updates to this new position as soon as I try to move the mouse.

@name-here Thanks for your work testing this. I would appreciate further testing, specifically if each of these problems occurs on master, and for Captured see this branch which should force the mouse to be visible in Captured mode so that we can debug what's going on. I'm guessing the problem existed before but was hidden, so wouldn't be a problem with this PR. Also, in the test project, don't try and use the modes that say "previously not possible" with master, because they're not possible :)
I also tested for the same things on Linux and Windows:

In Confined, the mouse going on the window decorations is not intentional. I tested Confined on Linux and it works as expected in both master and this PR, and I tested Confined on Windows and it is broken (the mouse is able to freely leave the window) in both master and this PR (so it not working on Windows is not a problem with this PR).

In Captured, on Linux, the mouse isn't warped immediately when the game starts, and (0, 0) is output, but it warps to the middle when the mouse moves, on both master and this PR. On Windows, the mouse warps immediately and the correct position is output.

In Captured, on Linux, tabbing in doesn't warp the mouse, but it is warped when any mouse movement is given, on both master and this PR. On Windows, tabbing into the window moves the mouse to the center and the correct position is output on both master and this PR. In neither case does it get locked elsewhere like you describe on macOS.

Summary: This PR doesn't seem to change the behavior in any of these areas on both Windows and Linux. Captured works perfectly on Windows, and Confined works perfectly on Linux.

Current master seems to have all of the oddities I mentioned above, so they're not issues with this PR.  The cursor confinement issue seems particularly weird, as the console even prints the cursor y position as -22 in the console when it's at the top of the window decoration.  Does Godot take any part in keeping the cursor confined, or does it just tell the OS to enable confinement for the window?  If it's the latter, this might not be very fixable on Godot's end.

Thanks!

It didn't break compat in the end so it would be nice to backport this to 3.x, as currently users have no way to use confined with a hidden cursor on Windows due to #21745.


Adding the weather station web app.

Purpose

To add a web app to for the device type weatherstation.

Goals

Give a separate user interface for the users to enroll a device and view the analytics of the device.

Approach

Functionalities of the web application.

User stories

As a user i can enroll a weather station and view device analytics in a user friendly interface.

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Documentation

N/A

Training

N/A

Certification

N/A

Marketing

N/A

Automation tests

Unit tests

N/A

Integration tests

N/A

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? yes
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

Samples

N/A

Related PRs

N/A

Migrations (if applicable)

N/A

Test environment

JDK version: java 1.8.0_141
Operating System: Linux Ubuntu
Browser version: Google Chrome , Mozilla FIrefox

Learning

libraries and frameworks used

For maps -leafletjs

For pagination -bootpag

For charts - chartist-js

Creative tim and bootstrap

will be re-opened later for review


Add support for fuzzy case-insensitive match in PropertyRef

Summary

Describe your changes.

We often need to connect 2 nodes based on a fuzzy match like in https://github.com/cartography-cncf/cartography/pull/1380#discussion_r1837801778. This PR adds a fuzzy_and_ignore_case option to the PropertyRef so that the final rendered query performs a CONTAINS in a case-insensitive way instead of an exact match.
Related issues or links

Include links to relevant issues or other pages.

https://github.com/cartography-cncf/cartography/pull/1380
Checklist
Provide proof that this works (this makes reviews move faster). Please perform one or more of the following:

[x] Update/add unit or integration tests.
[ ] Include a screenshot showing what the graph looked like before and after your changes.
[ ] Include console log trace showing what happened before and after your changes.

@ramonpetgrave64 - you might be not available but just cc'ing you here anyway since i think you have the most context on this kind of data model change

@heryxpc lemme know what you think too

@ramonpetgrave64 so interesting to see the PropertyRef evolve


[CELEBORN-168][FEATURE] Add disk usage related metrics for Worker

What changes were proposed in this pull request?
Add disk usage related metrics for Worker.
BTW, shall we modify the PromServlet to support add customized label for Prom metrics, such as device_type or mount_point for disk related metrics?
And do we need to add metrics to monitor the hdfs capacity usage of each Worker, not sure if it is necessary.
Why are the changes needed?
Better display current OS device's (not disk's) capacity of each Worker on monitor.
Does this PR introduce any user-facing change?
No
How was this patch tested?
UTs
cc: @AngersZhuuuu

I think we can do that.
It's not of high priority. For shuffle read the client will directly read from hdfs, not through worker.

Since we allow users to specify capacity that can be used by Celeborn, we might also consider that accordingly.
celeborn.worker.storage.dirs

"`dir1[:capacity=][:disktype=][:flushthread=],dir2[:capacity=][:disktype=][:flushthread=]`")

Since we allow users to specify capacity that can be used by Celeborn, we might also consider that accordingly.
celeborn.worker.storage.dirs

"`dir1[:capacity=][:disktype=][:flushthread=],dir2[:capacity=][:disktype=][:flushthread=]`")

We can add a new metric such as DeviceUsableCapacity which equals to min{freeSpace, configuredSpace - usedSpace}

Since we allow users to specify capacity that can be used by Celeborn, we might also consider that accordingly.
celeborn.worker.storage.dirs

"`dir1[:capacity=][:disktype=][:flushthread=],dir2[:capacity=][:disktype=][:flushthread=]`")

We can add a new metric such as DeviceUsableCapacity which equals to min{freeSpace, configuredSpace - usedSpace}, see DiskInfo.configuredUsableSpace

+1, currently the new added metrics could only display the spaces status of OS capacity but not Celeborn capacity, will add it in this PR.

Since we allow users to specify capacity that can be used by Celeborn, we might also consider that accordingly.
celeborn.worker.storage.dirs

"`dir1[:capacity=][:disktype=][:flushthread=],dir2[:capacity=][:disktype=][:flushthread=]`")

We can add a new metric such as DeviceUsableCapacity which equals to min{freeSpace, configuredSpace - usedSpace}, see DiskInfo.configuredUsableSpace

capacity seems should be
if (freeSpace < reservedSpace) {
    return 0
} else {
  min{freeSpace - reservedSpace, configuredSpace - usedSpace}
}

cc @waitinfuture

I think the newest code is correct to DiskInfo's configuredUsableSpace and actualUsableSpace.


[Core feature request] runsOn should accept a list

What feature do you need?
from https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on:

If you specify an array of strings, your workflow will execute on any runner that matches all of the specified runs-on values.

Do you have an example usage?
jobs:
  build:
    runs-on: [self-hosted, X64]

Is there a workaround for not having this feature? If yes, please describe it.
no

It should be possible to work around it in a type-unsafe way using _customArguments.


add GeoJsonObjectVisitor.Adapter

I think that this library needs to provide an Adapter for the GeoJsonObjectVisitor.
Instead of adding a new class called GeoJsonObjectVisitor, I decided to add GeoJsonObjectVisitor.Adapter
I think that when an adapter is right inside its interface, the namespace is cleaner and its usage more intuitive (this is something I learned from the IntelliJ sources).

We have still Java 1.6 compatibility. I'm not sure if this will compile on Java 1.6. Have you checked?

Here's the test I've just run using jdk1.6.0_45.
public class TestCase {
    public interface Foo {
      void methodA();
      void methodB();

      class Adapter implements Foo {
        @Override public void methodA() { }
        @Override public void methodB() { }
      }
    }

  public static void main(String[] args) {
    final Foo foo = new Foo.Adapter();
    foo.methodA();
    foo.methodB();
  }
}


Making the event component

fixes #112 ~fixes#116~ fixes #115

Description:  Made a tabular structure for displaying all the events.
Checklist

[x] I've followed the Contributing guidelines provided in the repository.
[x] I've made the changes which were demanded in the linked issue.
[x] I've tested my code on a Chromium based browser.
[x] I've tested my code on Mozilla Firefox.
[x] My code gave a clean console on debugging. (no warnings/errors)

Testimonial
https://deploy-preview-191--houseofgeeks.netlify.app/event

Add a column for description and use extrnal_link_icon after the title!
rest LGTM

The columns are not aligned and look odd! What do you say @hariom1625 @tusharjain0022

The columns are not aligned and look odd! What do you say @hariom1625 @tusharjain0022
I too noticed it does look a bit odd and also the prior 24 hrs date and time format was alright because the present commit is quite confusing maybe it isn't rendering properly.
And if we will be using 24hrs format, printing AM and PM wouldn't be necessary.

The columns are not aligned and look odd! What do you say @hariom1625 @tusharjain0022

I am working my way around it. If anyone figures it out, you're welcome to push in some code here. :wink:

I too noticed it does look a bit odd and also the prior 24 hrs date and time format was alright because the present commit is quite confusing maybe it isn't rendering properly.
And if we will be using 24hrs format, printing AM and PM wouldn't be necessary.

I've fixed it, will be pushing it soon. It was something wrong with the way I implemented the function to convert 24hr format to 12hr format which didn't work out as expected in firefox.

@EmperorYP7 is it ready to merged?

I am noticing some wierd margin at the top. Couldn't figure out where its coming from. But this PR can be merged. We can make an issue to solve this.


error during installation

Dear skydive team,
I would like to use skydive in order to troubleshoot my openstack environment but I have some troubles during installation.
these are the output from my make install command:
[root@openstack-deployment skydive]# make install
3896f2a04008
go get github.com/kardianos/govendor
/root/go/bin/govendor sync
patch -p0 < dpdk/dpdk.govendor.patch
patching file vendor/github.com/intel-go/yanff/low/low.go
go get github.com/golang/protobuf/proto
go get github.com/golang/protobuf/protoc-gen-go
go get github.com/jteeuwen/go-bindata/...
protoc --go_out . flow/flow.proto flow/set.proto flow/request.proto
protoc --go_out . filters/filters.proto
# always export flow.ParentUUID as we need to store this information to know
# if it's a Outer or Inner packet.
sed -e 's/ParentUUID\(.*\),omitempty\(.*\)/ParentUUID\1\2/' -e 's/int64\(.*\),omitempty\(.*\)/int64\1\2/' -i flow/flow.pb.go
# do not export LastRawPackets used internally
sed -e 's/json:"LastRawPackets,omitempty"/json:"-"/g' -i flow/flow.pb.go
# add flowState to flow generated struct
sed -e 's/type Flow struct {/type Flow struct {\n\tXXX_state flowState `json:"-"`/' -i flow/flow.pb.go
go-bindata  -nometadata -o statics/bindata.go -pkg=statics -ignore=bindata.go statics/* statics/css/images/* statics/js/vendor/* statics/js/components/*
gofmt -w -s statics/bindata.go
make -C contrib/snort
make[1]: Entering directory `/root/go/src/github.com/skydive-project/skydive/contrib/snort'
govendor build snortSkydive.go
unexpected directory layout:
        import path: github.com/google/gopacket
        root: /root/go/src
        dir: /root/go/src/github.com/skydive-project/skydive/vendor/github.com/google/gopacket
        expand root: /root/go/src
        expand dir: /root/go/src/github.com/skydive-project/skydive/vendor/github.com/google/gopacket
        separator: /
Error: exit status 1
make[1]: *** [snortSkydive] Error 2
make[1]: Leaving directory `/root/go/src/github.com/skydive-project/skydive/contrib/snort'
make: *** [contribs] Error 2

This is my GOPATH variable:
[root@openstack-deployment skydive]# echo $GOPATH
/root/go

Any idea?
Thank you very much

Hi,
is the Skydive source folder in the right place, meaning in the $GOPATH folder? please have a look here if not already done:
http://skydive-project.github.io/skydive/getting-started/install/#install
please let me known if it solve your issue.
BTW, you can download the latest binary here: https://github.com/skydive-project/skydive-binaries
and the latest release binary here: https://github.com/skydive-project/skydive/releases/tag/v0.14.0
Thanks

Hi Sylvain,
I tried to compile today skydive on a new environment (https://docs.microsoft.com/en-us/windows/wsl/install-win10). This should actuallybe a typical ubuntu 16.04 environment and got the same build challenge:
sed -e 's/json:"LastRawPackets,omitempty"/json:"-"/g' -i.bak flow/flow.pb.go
# add flowState to flow generated struct
sed -e 's/type Flow struct {/type Flow struct { XXX_state flowState `json:"-"`/' -i.bak flow/flow.pb.go
gofmt -s -w flow/flow.pb.go
go-bindata  -nometadata -o statics/bindata.go -pkg=statics -ignore=bindata.go statics/* statics/css/images/* statics/css/themes/*/* statics/js/vendor/* statics/js/components/*
gofmt -w -s statics/bindata.go
make -C contrib/snort
make[1]: Entering directory '/root/go/src/github.com/skydive-project/skydive/contrib/snort'
govendor build snortSkydive.go
unexpected directory layout:
        import path: github.com/google/gopacket
        root: /root/go/src
        dir: /root/go/src/github.com/skydive-project/skydive/vendor/github.com/google/gopacket
        expand root: /root/go/src
        expand dir: /root/go/src/github.com/skydive-project/skydive/vendor/github.com/google/gopacket
        separator: /
Error: exit status 1
Makefile:6: recipe for target 'snortSkydive' failed
make[1]: *** [snortSkydive] Error 2
make[1]: Leaving directory '/root/go/src/github.com/skydive-project/skydive/contrib/snort'
Makefile:187: recipe for target 'contribs' failed
make: *** [contribs] Error 2

Environment variables:
# echo $PATH
/root/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

root@ERANRA2-TP [176] ~/go/src/github.com/skydive-project/skydive  (master u=)
# echo $GOROOT
/usr/local/go

root@ERANRA2-TP [176] ~/go/src/github.com/skydive-project/skydive  (master u=)
#

I think this might be connected somehow to the environment variables or shell but not totally sure
More info::
go version go1.9.1 linux/amd64

'''
root@ERANRA2-TP [248] ~/go/src/github.com/skydive-project/skydive  (master u=)
make
4e64886694f3
go get github.com/kardianos/govendor
/root/go/bin/govendor sync
patch -p0 < dpdk/dpdk.govendor.patch
patching file vendor/github.com/intel-go/yanff/low/low.go
rm -rf vendor/github.com/weaveworks/tcptracer-bpf/vendor/github.com/
go get github.com/golang/protobuf/proto
go get github.com/golang/protobuf/protoc-gen-go
go get github.com/jteeuwen/go-bindata/...
protoc --go_out . flow/flow.proto flow/set.proto flow/request.proto flow/defender_flow.proto
protoc --go_out . filters/filters.proto
always export flow.ParentUUID as we need to store this information to know
if it's a Outer or Inner packet.
sed -e 's/ParentUUID(.),omitempty(.)/ParentUUID\1\2/' -e 's/int64(.),omitempty(.)/int64\1\2/' -i.bak flow/flow.pb.go
do not export LastRawPackets used internally
sed -e 's/json:"LastRawPackets,omitempty"/json:"-"/g' -i.bak flow/flow.pb.go
add flowState to flow generated struct
sed -e 's/type Flow struct {/type Flow struct { XXX_state flowState json:"-"/' -i.bak flow/flow.pb.go
gofmt -s -w flow/flow.pb.go
go-bindata  -nometadata -o statics/bindata.go -pkg=statics -ignore=bindata.go statics/* statics/css/images/* statics/css/themes// statics/js/vendor/* statics/js/components/*
gofmt -w -s statics/bindata.go
make -C contrib/snort
make[1]: Entering directory '/root/go/src/github.com/skydive-project/skydive/contrib/snort'
govendor build snortSkydive.go
unexpected directory layout:
import path: github.com/google/gopacket
root: /root/go/src
dir: /root/go/src/github.com/skydive-project/skydive/vendor/github.com/google/gopacket
expand root: /root/go/src
expand dir: /root/go/src/github.com/skydive-project/skydive/vendor/github.com/google/gopacket
separator: /
Error: exit status 1
Makefile:6: recipe for target 'snortSkydive' failed
make[1]: *** [snortSkydive] Error 2
make[1]: Leaving directory '/root/go/src/github.com/skydive-project/skydive/contrib/snort'
Makefile:187: recipe for target 'contribs' failed
make: *** [contribs] Error 2
root@ERANRA2-TP [233] ~/go/src/github.com/skydive-project/skydive  (master u=)

'''

I just tested on a fresh install using this script
https://gist.github.com/safchain/c552453869f81d6739f52843925fada5
Could you test it ?

No update since awhile closing it for now

This is happening to us as well when we try to build the skydive project. the script you posted didn't help (or maybe I didn't understand what it does). can you please help us? we did install all the dependencies as specified here: http://skydive.network/documentation/build and we're working onb Ubuntu.
unexpected directory layout: 	import path: github.com/jteeuwen/go-bindata 	root: /home/shadikardosh/go/src 	dir: /home/shadikardosh/go/src/github.com/skydive-project/skydive/vendor/github.com/jteeuwen/go-bindata 	expand root: /home/shadikardosh/go/src 	expand dir: /home/shadikardosh/go/src/github.com/skydive-project/skydive/vendor/github.com/jteeuwen/go-bindata 	separator: / /home/shadikardosh/go/src/github.com/skydive-project/skydive gofmt -w -s statics/bindata.go make -C contrib/snort make[1]: Entering directory '/home/shadikardosh/go/src/github.com/skydive-project/skydive/contrib/snort' /home/shadikardosh/go/bin/govendor build -o $GOPATH/bin/snort-skydive snortSkydive.go go build command-line-arguments: /home/shadikardosh/go/pkg/tool/linux_amd64/link: signal: killed Error: exit status 1 Makefile:11: recipe for target 'snortSkydive' failed make[1]: *** [snortSkydive] Error 2 make[1]: Leaving directory '/home/shadikardosh/go/src/github.com/skydive-project/skydive/contrib/snort' Makefile:355: recipe for target 'contribs' failed make: *** [contribs] Error 2
I will also mention that the file $GOPATH/bin/snort-skydive snortSkydive.go is not present.

I just tested on a fresh ubuntu 18.04 taking the documentation steps which gives the following scripts
apt-get install -y git make patch golang findutils protobuf-compiler libprotobuf-dev   npm libpcap0.8-dev libxml2-dev libvirt-dev

mkdir $HOME/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH

mkdir -p $GOPATH/src/github.com/skydive-project
git clone https://github.com/skydive-project/skydive.git \
  $GOPATH/src/github.com/skydive-project/skydive
cd $GOPATH/src/github.com/skydive-project/skydive
make

It seems that the build as been killed.
/home/shadikardosh/go/pkg/tool/linux_amd64/link: signal: killed.
Is there enough memory ?
BTW the script pointed in this issue is deprecated, I deleted it.

Correct! there wasn't enough memory. Thanks a lot!