bug v3: Error with Lualine component

Did you check docs and existing issues?

[X] I have read all the trouble.nvim docs
[X] I have searched the existing issues of trouble.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.10.0-dev-3078+g3a8265266
Operating system/version
Linux Mint 21.3
Describe the bug
When I was trying to skim through some of lazy.nvim's code today in my locally forked repo, when i went on this line, I got the following error
   Error  07:41:31 PM notify.error Trouble ...hare/nvim/lazy/trouble.nvim/lua/trouble/view/section.lua:98: Error executing lua: ...e/nvim/lazy/lualine.nvim/lua/lualine/utils/nvim_opts.lua:77: E539: Illegal character <d>
stack traceback:
	[C]: in function 'nvim_win_set_option'
	...e/nvim/lazy/lualine.nvim/lua/lualine/utils/nvim_opts.lua:77: in function 'setter_fn'
	...e/nvim/lazy/lualine.nvim/lua/lualine/utils/nvim_opts.lua:50: in function 'set_opt'
	...e/nvim/lazy/lualine.nvim/lua/lualine/utils/nvim_opts.lua:74: in function 'set'
	...rn23/.local/share/nvim/lazy/lualine.nvim/lua/lualine.lua:432: in function 'refresh'
	.../.local/share/nvim/lazy/trouble.nvim/lua/trouble/api.lua:150: in function 'on_update'
	...hare/nvim/lazy/trouble.nvim/lua/trouble/view/section.lua:108: in function 'update'
	...hare/nvim/lazy/trouble.nvim/lua/trouble/view/section.lua:72: in function 'finder'
	...hare/nvim/lazy/trouble.nvim/lua/trouble/view/section.lua:66: in function 'fn'
	...hare/nvim/lazy/trouble.nvim/lua/trouble/view/section.lua:99: in function <...hare/nvim/lazy/trouble.nvim/lua/trouble/view/section.lua:98>
	[C]: in function 'nvim_win_call'
	...
	....local/share/nvim/lazy/trouble.nvim/lua/trouble/util.lua:115: in function <....local/share/nvim/lazy/trouble.nvim/lua/trouble/util.lua:114>
	[C]: at 0x5608fb05d846
	[C]: in function 'pcall'
	...ocal/share/nvim/lazy/noice.nvim/lua/noice/util/hacks.lua:177: in function <...ocal/share/nvim/lazy/noice.nvim/lua/noice/util/hacks.lua:162>
	[C]: in function 'pcall'
	...al/share/nvim/lazy/which-key.nvim/lua/which-key/view.lua:126: in function 'getchar'
	...al/share/nvim/lazy/which-key.nvim/lua/which-key/view.lua:317: in function 'on_keys'
	...al/share/nvim/lazy/which-key.nvim/lua/which-key/view.lua:255: in function 'open'
	...al/share/nvim/lazy/which-key.nvim/lua/which-key/init.lua:49: in function 'show'
	[string ":lua"]:1: in main chunk

Steps To Reproduce

Clone lazy.nvim repo locally
Open Neovim with Trouble v3 installed (in my case I enabled the LazyVim extra)
Go to this file and line https://github.com/folke/lazy.nvim/blob/d3974346b6cef2116c8e7b08423256a834cb7cbc/lua/lazy/view/init.lua#L170
Observe the error

Expected Behavior
No error
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/trouble.nvim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Good catch. Fixed!

I also observe something similar in the .vim files that are from session save/restore in the directory ~/.local/state/nvim/sessions.
...azyVimDev/lazy/trouble.nvim/lua/trouble/view/section.lua:98: Error executing lua: ...VimDev/lazy/lualine.nvim/lua/lualine/utils/nvim_opts.lua:77: E539: Illegal character <j>
stack traceback:
	[C]: in function 'nvim_win_set_option'
	...VimDev/lazy/lualine.nvim/lua/lualine/utils/nvim_opts.lua:77: in function 'setter_fn'
	...VimDev/lazy/lualine.nvim/lua/lualine/utils/nvim_opts.lua:50: in function 'set_opt'
	...VimDev/lazy/lualine.nvim/lua/lualine/utils/nvim_opts.lua:74: in function 'set'
	...local/share/LazyVimDev/lazy/lualine.nvim/lua/lualine.lua:432: in function 'refresh'
	...l/share/LazyVimDev/lazy/trouble.nvim/lua/trouble/api.lua:150: in function 'on_update'
	...azyVimDev/lazy/trouble.nvim/lua/trouble/view/section.lua:108: in function 'update'
	...azyVimDev/lazy/trouble.nvim/lua/trouble/view/section.lua:72: in function 'finder'
	...azyVimDev/lazy/trouble.nvim/lua/trouble/view/section.lua:66: in function 'fn'
	...azyVimDev/lazy/trouble.nvim/lua/trouble/view/section.lua:99: in function <...azyVimDev/lazy/trouble.nvim/lua/trouble/view/section.lua:98>
	[C]: in function 'nvim_win_call'
	...azyVimDev/lazy/trouble.nvim/lua/trouble/view/section.lua:98: in function 'main_call'
	...azyVimDev/lazy/trouble.nvim/lua/trouble/view/section.lua:64: in function 'fn'
	.../share/LazyVimDev/lazy/trouble.nvim/lua/trouble/util.lua:119: in function <.../share/LazyVimDev/lazy/trouble.nvim/lua/trouble/util.lua:115>
	[C]: in function 'xpcall'
	.../share/LazyVimDev/lazy/trouble.nvim/lua/trouble/util.lua:115: in function <.../share/LazyVimDev/lazy/trouble.nvim/lua/trouble/util.lua:114>

I thought maybe it was the same error and it would be resolved if you fixed the one I mentioned in my OP, so that's why I didn't mention it before. Initially I thought it happened in vim files in general but I opened other vim files in ~/.local/share/nvim/lazy and that didn't happen. This only happens in vim files that are from session save/restore. For now I just disable the specific component in my config. Of course it's not something major as when skimming through code like in my OP.

It's the escaping of % characters that still fails.
Can be easily reproduced with for example: nvim foo%j.txt.
Will further look into this.

hmm, it seems that I can trigger the same issue even without trouble

It seems that LazyVim's pretty path triggered the same issue. Fixed it in LazyVim


add python docs

To be released in v212

Sure, just notify us which process we should stick to in the future.


filter test-ng tests from coveralls

goal: coveralls coverage should exclude test source code

@iizrailevsky i think we have unit test parity. concur?

@jwtodd +1 we're good here now! 👍  Unit test coverage matches internal sonar coverage. This is now complete.


(maint) Relay errors for blocking commands

When submitting a command in blocking mode, relay any errors that occur
before the timeout in the http response.

@ajroetker updated

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1778/

⬆transient

@pljenkinsro retest this please

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1777/

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1779/

@ajroetker addressed your comments

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/1790/


fix(cdk-table): delay clearing view containers in ngOnDestroy

Requires angular zone to be stable for a second before clearing the view containers to allow route transition animations to complete.

Fixes #8057

@andrewseguin I am having difficulty rewriting the failing test so that is passes. Any suggestions?

@andrewseguin can you take a look with @matsko when you get back from Angular Connect?

@andrewseguin I fixed the test a while back but just got around to fixing the lint error, hah. If it turns out that manually clearing the view containers is necessary is there a chance that this will land in 5.2.0?

@josephperrott Yes! Rebased. @andrewseguin Can you take a look?

@jelbourn @andrewseguin I have rebased again after confirming the issue persists in the latest version (6.4.6). Could I please get some feedback if this won't be merged? If this strategy is not preferable I would be happy to investigate other solutions.

@andrewseguin Ping, I've rebased on master again.

Closing since this solution relies on a 1000ms timeout in the chance that an animation is needed to complete before this (also this has been needing rebase for a while). Feel free to re-open a PR addressing the issue with a solution that relies on a more stable approach


Add focus-trap-react library

Name of library: focus-trap-react
Details

Link to package: https://github.com/focus-trap/focus-trap-react
Problem solved by using this package: It helps correctly handle focus & tab navigation in modals, RHP and LHP.
Number of stars in GH: 697
Number of monthly downloads:  about 2 milion
Number of releases in the last year: 7
Level of activity in the repo: low, library is simple and only maintain
Alternatives: none
Are security concerns brought up and addressed in the library's repo?
No security concerns
How many dependencies does this lib use that will be brought into our code?
2
What will the effect be on the bundle size of our code?
91.8kb

Link to PR adding the library

@jnowakow There seems to be only one person maintaining this and the library seems to be one file. Is there a specific reason to use this library instead of just creating our own lib function that could do the same given its not that complex code?

For me the reason is that it's ready to use and doesn't introduce any security concerns. It's also tested as it's quite popular. So, I don't see a point in rewriting it as it would require us to spend time on the rewrite. We can make a mistake when rewriting. And then we need to maintain the lib. In summary I don't see reason why we would need to copy it instead of using ready package

@jnowakow I believe we are good to go here with the PR, we got couple 👍 and no 👎 from deployers

@jnowakow this is ready to move ahead


State is not reactive when compared

Qwik Version
0.12.0-dev20221024094026
Operating System (or Browser)
All
Node Version (if applicable)
v16.14.2
Which component is affected?
Qwik Runtime
Expected Behaviour
State should be reactive even when compared against a string or used in a ternary expression
Actual Behaviour
State is not reactive when compared against a string or used in a ternary. Probably some other comparison operators as well
Additional Information
Reproduction:
https://stackblitz.com/edit/qwik-starter-zoe7dt?file=src%2Fcomponents%2Ftest%2Findex.jsx

Got a fix! thanks a lot for catching this one, added a new e2e test too!

Awesome, thanks!


Update to React 16.3 (context)

Hi @jaredpalmer,
I'm trying to update formik-effect to use it with the new Context API (fix #3 #4 #6).
The code looks ok for me, but the Formik prop of the Effect consumer is always empty.
Is my code not correct ?

Using this code in our projet (as component, not as library) it works.
So the issue must be related to the dependencies.

Sooo, why this hasn't been merged yet? :)

@JulienMalige Oh, the test is failing because it's trying to run test script, but no such is defined. Can you perhaps add it?

Any update?

@imamatory Given that Formik is getting rewritten to Hooks, I don't think this PR is relevant anymore. Or at least that functionality of this package will be included in core Formik.


Add Coffee-Script Support for Plugins

It would be super helpful if Haraka would look for files in the plugin directory with a .coffee extension if no .js extension of the same name is found. I write all my plugins in coffee-script and it's messy to have to require two files for each plugin I write (the original .coffee and its .js counterpart).

This is unlikely to happen based on an Issue. Per comments in this thread, PRs will be considered.


Refactor: use class pattern in pattern matching

Description
Use class pattern in pattern matching
Type of change

[x] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)

Codecov Report
Attention: Patch coverage is 88.88889% with 1 line in your changes missing coverage. Please review.

Project coverage is 94.83%. Comparing base (d3076b3) to head (14e2903).
Report is 52 commits behind head on main.

Files with missing lines
Patch %
Lines

ols/utils/errors_parsing.py
88.88%
1 Missing :warning:

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1542      +/-   ##
==========================================
+ Coverage   94.75%   94.83%   +0.07%
==========================================
  Files          59       60       +1
  Lines        2631     2671      +40
==========================================
+ Hits         2493     2533      +40
  Misses        138      138

Files with missing lines
Coverage Δ

ols/utils/errors_parsing.py
72.97% <88.88%> (+1.54%)
:arrow_up:

/retest

/retest

/retest

/approve

/lgtm

/approve

/override "Red Hat Konflux / lightspeed-service-on-pull-request"


[Merge] unhide --Xvalidators-proposer-*

PR Description
unhide --Xvalidators-proposer-*
Fixed Issue(s)
#4874
Documentation

[ ] I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

[ ] I thought about adding a changelog entry, and added one if I deemed necessary.

One more to unhide please:

oh gosh is on the top 😭


Broken UTF-8 encoding

Can't get correct display for strings

That's a new one. Probably an issue in Podata itself but I'll take a look
in the next few days and let you know.
Thanks for reporting.
On Tue, 24 Sep. 2019, 2:10 am Kirichenko Nickita<EMAIL_ADDRESS>wrote:

Can't get correct display for strings
[image: image]
https://user-images.githubusercontent.com/18256217/65442912-bacada00-de35-11e9-89fa-477c3b3610ab.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Algo-Web/POData-Laravel/issues/179?email_source=notifications&email_token=AD5QEGRUE2LRFCNUUJAQ44TQLDS6VA5CNFSM4IZM2XL2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HNCSHNA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD5QEGTKPMVZX6WPPPQKDCLQLDS6VANCNFSM4IZM2XLQ
.

There was a triple utf8 encoding, one was in IronicSerialiser so I've remove it https://github.com/Algo-Web/POData-Laravel/blob/master/src/Serialisers/IronicSerialiser.php#L877
I have non-english text, so maybe use mutlibyte conversions?
Text is stored in a Mysql DB in utf8_general_ci encoding

Well that saves me a lot of time tracking it down :) my only two languages
are English and bad English so I have not tested other languages but we
will take a look.
We are open to a pull request for mb encoding if you have the time. If not
we will try and get to it as soon as possible.
On a side note I notice you have an "isPaid" field that is a string.
Shouldn't that field be a bool?
On Tue, 24 Sep. 2019, 4:05 am Kirichenko Nickita<EMAIL_ADDRESS>wrote:

There was a triple utf8 encoding, one was in IronicSerialiser so I've
remove it
https://github.com/Algo-Web/POData-Laravel/blob/master/src/Serialisers/IronicSerialiser.php#L877
http://here
I have non-english text, so maybe use mutlibyte conversions?
Text is stored in a Mysql DB in utf8_general_ci encoding
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Algo-Web/POData-Laravel/issues/179?email_source=notifications&email_token=AD5QEGRVLCIXM23CS7JHXRTQLEANTA5CNFSM4IZM2XL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7LX2YY#issuecomment-534216035,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD5QEGXVOGIGRXK6VLKANSTQLEANTANCNFSM4IZM2XLQ
.

On a side note I notice you have an "isPaid" field that is a string. Shouldn't that field be a bool?

Indeed, it's an appended field and gets its value is from a related model, maybe that's why it is a string

So you were right =)
The problem was in POData itself
Here's a link to a PR https://github.com/Algo-Web/POData/pull/215
Main fix is in OutgoingResponse, I had to force charset in the content-type header
Gonna close this. Thx for your quick response.
Feel free to do anything with PR. Glad to be helpful

Thanks for that i will jump on the pull request shortly, Just FYI, if you put your attribute (appended field) in the $casts array on the model. PoData will read that. and case appropriately


Server should forward query strings

Would it be possible to allow the server to forward query strings? Here's our use-case:
We are using smee to forward webhooks from our git system to a Jenkins server. Jenkins needs the repository URL passed in as a query string in order for it to be matched to jobs correctly:
http://jenkins.local:8081/git/notifyCommit?url=git@ourgitserver.com:group/repo.git

We would like to be able to specify this query string on the git server's webhook configuration as such:
https://smee.local/qyfFcBhyEfMl0k3o?url=git@ourgitserver.com:group/repo.git

But this doesn't currently work. The only way to forward these types of hooks is to set up a channel and client for each repository, and hard code the query string into the client's -P (path) parameter.

Closed by #100 - thanks @rpetti ✨


Arcs system tracing on DevEx

Arcs System Trace on DevEx
This implements a quick path to Arcs system tracing capabilities (roughly stage A & B) at the design.

Hope one of you can help review post-holidays.
Happy New Year!

Looks like only Walter and Maria are in town today and tomorrow.
Walter has been the 1st reviewer, @mmandlis can you be the 2nd reviewer if you have time for it :)
Thanks.

Thank you!


Upgrade calling sdk for main branch to 1.1.0

Purpose

Upgrade calling sdk for mainbranch to 1.1.0

Does this introduce a breaking change?

[ ] Yes
[ x ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ x ] Other... Please describe: SDK upgrade

What to Check
Verify that the following are valid

Check basic calling flow scenarios are still working

Other Information

The new calling SDK removes the dependency for AzureCore, need to add it in Podfile as work around as suggested by https://github.com/Azure/Communication/issues/344 have a separate ticket in ADO 2533262 for tracking

Changes look good. Just testing it now.

Changes look good. Just testing it now.

All good.


Update bosh template naming

hey all,
i want to highlight two small but important changes we recently made in the director that you could apply to your releases and deployment manifests:
(...we are backwards compatible of course...)

previously your deployment manifest described jobs and templates. that naming is misleading since "job" already means something in a context of a release. recent director versions correct this word reuse. here is an example:

before:
jobs:
- name: cloud_controller
  instances: 4
  templates:
  - {name: cloud_controller_ng, release: cf}
  - {name: metron_agent, release: loggregator}
  resource_pool: ...

- name: postgres
  instances: 4
  templates:
  - {name: postgres, release: cf}
  - {name: metron_agent, release: loggregator}
  resource_pool: ...

after:
instance_groups:            # <---
- name: cloud_controller
  instances: 4
  jobs:                     # <--- correctly named since metron_agent is a job in loggregator release
  - {name: cloud_controller_ng, release: cf}
  - {name: metron_agent, release: loggregator}
  resource_pool: ...

- name: postgres
  instances: 4
  jobs:
  - {name: postgres, release: cf}
  - {name: metron_agent, release: loggregator}
  resource_pool: ...

tldr: deployment jobs renamed to instance groups, and templates are now jobs (as they should be since they reference jobs from each release). more info: https://bosh.io/docs/manifest-v2.html#instance-groups

most jobs namespace their properties under job and/or release name (e.g. cloud_controll.max_connections). this is of course repetitive for the release authors and does not make it very clear to the operators which property belongs to which job. to solve this problem we now support job level properties. job level properties are not merged with instance group or top level properties. here is an example:

before:
# spec in the release
name: cloud_controller
templates:
  ctl.erb: bin/ctl
  conf.erb: config/conf
packages: [cloud_controller]
properties:
  cloud_controller.max_connections:
    description: "Maximum connections"
    default: 10

and its use in the manifest:
instance_groups:
- name: cloud_controller
  instances: 4
  jobs:
  - {name: cloud_controller_ng, release: cf}
  - {name: metron_agent, release: loggregator}
  resource_pool: ...
  properties:
    cloud_controller:
      max_connections: 11

after:
# spec in the release
name: cloud_controller
templates:
  ctl.erb: bin/ctl
  conf.erb: config/conf
packages: [cloud_controller]
properties:
  max_connections:           # <--- drop the namespace
    description: "Maximum connections"
    default: 10

and its use in the manifest:
instance_groups:
- name: cloud_controller
  instances: 4
  jobs:
  - name: cloud_controller_ng
    release: cf
    properties:              # <--- job level properties, only visible to cloud_controller_ng job
      max_connections: 11
  - name: metron_agent
    release: loggregator
    properties: {}
  resource_pool: ...

by using job level properties unnecessary namespace is removed and it's now clear which job read which property. more info: https://bosh.io/docs/manifest-v2.html#instance-groups
I want to encourage everyone to use these new features (and others) in your manifests and releases to make your manifests clearer.

Does not affect tile-generator as the bosh template generation is done by Ops Manager.


(OTA) firmware flashing fails when PMS sensor is connected

Hi,
Thank you for making this firmware :)
I have a small question. How can I make (OTA) firmware flashing possible without removing the connection to the PMS sensor? The flashing times out, when connected. I do believe it is because of the sharing of the first UART?
Is that where the safe mode switch is for?
Thanks!

That is why there is the safe mode switch, exactly.
If you press the safe mode switch it will take a little while in order to be able to flash.
I had experienced even something like 30 seconds!
You can check the logs with a serial to USB cable on your computer, to see when it is ready to flash. That will be after the wifi connection has been established.

Thank you for your help!


Allow user input during patch command (fixes #21)

Using spawn allows us to explicitly share input/output streams between the parent grunt process and the child patch process.

@aaronjorbin Any chance you could review this?


🧑💻: Added Stargazers and Forkers section in CONTRIBUTING.md

:red_circle: Title :Added Stargazers and Forkers section in CONTRIBUTING.md
Screenshots 📷

:white_check_mark: To be Mentioned while taking the issue :

Full name : Siddharth A
What is your participant role?
GSSOC-ext,Hacktoberfest

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Not required.


feat(739): create api route for ahbap locations

Description
We want to render secure locations addresses coming from Ahbap Google Maps data. This PR creates an API route to fetch that data and serve as an endpoint.
discord username: csirin#5041
**closes #739 **
Please describe your changes. Also describe your aim and content. Do not forget to list the dependencies required caused by those changes.
## Things to check before creating a PR

[x] I have inspected my topic, checked.
[ ] If it is a core feature, executed detailed tests.

Creating PR rules

[x] PR must be created for an issue with approved tag. Otherwise PR will be rejected.
[x] Relevant issue number: The issue number related to PR must be attached to head of PR header, after prefix after prefix # must be attached in parenthesis. A header like this could be used "prefix(#issue_number): PR header" .
[x] A descriptive and understandable title: The PR title should clearly describe the nature and purpose of the changes. The PR title should be the first thing displayed when the PR is opened. And it should follow the semantic commit rules. For example, a title like "docs(#issueId): Add README.md" can be used.
[x] Related file selection: Only relevant files should be touched and no other files should be affected.
[x] Format and Lint Suitability : The code should be made in accordance with a certain format standard and examined according to the lint rules.
[x] Clean commit history: The commits where the changes are made should be clear and organized.
[x] Opening PR when job is completed: PR should be opened when job is completed and sent for review by other team members.

Changes

[ ] A new feature (a change that adds a new feature, not a breaking change)
[ ] A new refactor (a change that is not a breaking change, that improves the readability or performance of the code)
[ ] A breaking change
[ ] Documentation change

How were these changes tested?
Please describe the tests you did to test the changes you made. Please also specify your test configuration.
Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

If understood correct, we are going to put this KML on top of our map or? That would be awesome if possible ⭐

Yes, we are going to put this KML on top of our map with the google maps icons etc. This still needs a couple changes before merging.

Response coming from the endpoint api/ahbap-locations:
{
  "data": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          38.8079293,
          37.1705571,
          0
        ]
      },
      "properties": {
        "name": "Şanlıurfa - Levent Börek Haliliye",
        "description": "Ücretsi çay ve börek ikramı verilmektedir.",
        "styleUrl": "#icon-1577-7CB342",
        "icon-scale": 1,
        "icon": "images/icon-1.png"
      }
    },
    ...
  ]
}

@cansirin #766 ile PR'ını güncelleyebilir misin ? Vercel deployment için

I pulled the development branch and triggered the build again but it has failed again. I can look into this when I wake up

@fdemir check this out. he is @usirin brother and they worked together in this feature


Insta-Auto Login

Aim

Loging in to instagram automation.

Details

Automation script using selenium to auto-login to instagram.

@avinashkranjan as the repo contains script for auto login to facebook, I can add script to auto login to instagram. Can you please assign me this?

Sure Go Ahead.. @Aayush-hub


Fixes #325: Implementation of castanets

FATAL ERROR: Castanets class does not exists ('castanets' is a wrong name).
Also note useless fields copy for each instance while data are common to class.


Make login properly safe

I believe it's quite okay now, but if you were a proper hacker I think it would probably be a breeze to hack it as it's the same hash you need to send as a password every time

This is the same as #24


E2E validation tests: Extend wait for operator deployment timeout

It can take more than 5 seconds for the operator deployment to be ready.

LGTM, thanks


Is it mandatory to define a gradient function?

I want to use this package as an emcee sampler, but if possible I'd like to avoid having to define the gradient for the log-likelihood.
I know this is possible with the sampyl package, which uses autograd to do it, but I'm not sure if this package does something similar. The README says about the grad function: "if not numerical estimates are made, but slower", but nothing else.
Can I not define a gradient function? If so, how does NUTS handle this?
Thank you!

NUTS is a refined hamiltonian MCMC sampler. Hence, it is necessary to define a gradient function to use this sampler.
You can use the numerical gradient function in the helpers I provide, but that has a cost.
You can use the emcee_nuts class which will use it directly if you don't provide a gradient function.
But my version of gradient implementation is very simple and expensive.

Thank you for the clarification Morgan!


Feature Request / Fixed Header / sap.m.Table

OpenUI5 version: ALL
Browser/version (+device/version): ALL
I very often get the feedback that customers would like to have a scrollable responsive table with a fixed header for tablet and desktop and normal scrollable header on phone. From what I see the fixedHeader functionality is offered by sap.ui.table but not by sap.m.Table.
There are several 'solutions' on scn using two tables - for multiple reasons I don't like this approach though (both tables might not react identical on screen changes, table settings & personalization, etc.).
Is this feature planned in a future version of openui5?
Thanks

@timostark, this is a highly requested feature and it's on the backlog. We're working on a comprehensive solution that covers all elements that should snap to the top when scrolling (e.g. page/section/group headers and toolbars), but without taking up all the screen space on smaller screens. Please stay tuned.

wanted to also register my interest in this enhancement - it's something that comes up time and time again. @timostark, any update on where this is in your backlog?

@thomaskoetter any news here?

@simlin : can you please comment in place of @thomaskoetter?

If anyone interested - apparently this is implemented (experimental) in 1.54..
https://openui5nightly.hana.ondemand.com/#/api/sap.m.Sticky

Right, we did a first shot in 1.54 and currently working on stablization and refinement.
Best Regards
Jens

Just for the discussion: Wouldn't it be helpful for the users if <headerToolbar> and <infoToolbar> were sticky as well? Currently, only the column headers are sticky if sap.m.Sticky.ColumnHeaders are applied.
The header toolbar might contain title, number of items, current filter settings, and other control related actions.

Having an option to make them sticky too would help them to see the relevant information immediately without having to scroll to the top.
Maybe an additional Sticky option would be nice. Something like sap.m.Sticky.Header which includes ColumnHeaders.

Just hold the line. The feature is still work in progress ...


pywin32 dependency breaks Linux build (1.3.0)

The latest release will not install on Linux. We kindly ask you to keep tm1py platform independend compatible.
➜  ~ python3 -m pip install "tm1py>=1.3.0" Collecting tm1py>=1.3.0   Downloading https://files.pythonhosted.org/packages/c8/06/6f6d51efa0a925c0821f172572a41c250921c7056bfd6d06e0594a6c30e7/TM1py-1.3.0.tar.gz (53kB)     100% |████████████████████████████████| 61kB 1.8MB/s  Requirement already satisfied: requests in ./.local/lib/python3.6/site-packages (from tm1py>=1.3.0) (2.21.0) Requirement already satisfied: pandas in ./.local/lib/python3.6/site-packages (from tm1py>=1.3.0) (0.23.4) Requirement already satisfied: pytz in ./.local/lib/python3.6/site-packages (from tm1py>=1.3.0) (2018.7) Collecting requests_negotiate_sspi (from tm1py>=1.3.0)   Downloading https://files.pythonhosted.org/packages/7c/0b/99220cb4d3c8cf9b667a1cd13650d28b19e689ab7145085897e254d141a3/requests_negotiate_sspi-0.5.2-py2.py3-none-any.whl Requirement already satisfied: chardet<3.1.0,>=3.0.2 in ./.local/lib/python3.6/site-packages (from requests->tm1py>=1.3.0) (3.0.4) Requirement already satisfied: urllib3<1.25,>=1.21.1 in ./.local/lib/python3.6/site-packages (from requests->tm1py>=1.3.0) (1.24.1) Requirement already satisfied: idna<2.9,>=2.5 in ./.local/lib/python3.6/site-packages (from requests->tm1py>=1.3.0) (2.8) Requirement already satisfied: certifi>=2017.4.17 in ./.local/lib/python3.6/site-packages (from requests->tm1py>=1.3.0) (2018.11.29) Requirement already satisfied: numpy>=1.9.0 in ./.local/lib/python3.6/site-packages (from pandas->tm1py>=1.3.0) (1.15.4) Requirement already satisfied: python-dateutil>=2.5.0 in ./.local/lib/python3.6/site-packages (from pandas->tm1py>=1.3.0) (2.7.5) Collecting pypiwin32>=223 (from requests_negotiate_sspi->tm1py>=1.3.0)   Using cached https://files.pythonhosted.org/packages/d0/1b/2f292bbd742e369a100c91faa0483172cd91a1a422a6692055ac920946c5/pypiwin32-223-py3-none-any.whl Requirement already satisfied: six>=1.5 in ./.local/lib/python3.6/site-packages (from python-dateutil>=2.5.0->pandas->tm1py>=1.3.0) (1.12.0) Collecting pywin32>=223 (from pypiwin32>=223->requests_negotiate_sspi->tm1py>=1.3.0)   Could not find a version that satisfies the requirement pywin32>=223 (from pypiwin32>=223->requests_negotiate_sspi->tm1py>=1.3.0) (from versions: ) No matching distribution found for pywin32>=223 (from pypiwin32>=223->requests_negotiate_sspi->tm1py>=1.3.0)

Hi @kaylon ,
Thanks for the catch!
Just pushed a new version (1.3.1) to PyPI that should fix the issue.
Could you please try to install it again with pip ?
I added a line to the setup.py script, so that requests_negotiate_sspi is only installed on windows and made the import in the RESTService fail safe.
You can see the changes here:
https://github.com/cubewise-code/tm1py/pull/128

Sorry, took me some time to get to it.
That works for us. Thank you!

Hi @kaylon ,
OK. thanks for the update!


Auto-sizing images and inline SVG as flex children

In a single row/column flex container, the child items will stretch to fit the full height/width (cross-axis) and then determine their size in the opposite (flex main axis) direction.  However, browsers are currently inconsistent when the flex items are images.  Normally, once you set an image's size in one direction, an auto value for the other direction is calculated based on the aspect ratio.  But Chrome and Firefox
Images do get a minimum size, in all browsers, based on the aspect ratio. If you don't set min-width or min-height to 0 (or change the overflow settings), they will have a minimum size based on the aspect ratio and the cross axis size.  However,  Chrome & Firefox do not apply the minimum sizing rule to inline SVG, but Edge & Safari do.
To make things even more confusing, Chrome & Firefox can't even agree on what they do instead: Chrome treats the elements as 0 width/height (if flex-grow is 0, otherwise they grow equally). Firefox treats them as 100% width/height (if flex-shrink is 0, otherwise they shrink equally).
See spec bug https://github.com/w3c/csswg-drafts/issues/694 for more details.
Avoid the issue by:

Always making sure image / SVG elements in a flex container have an explicit size in the cross axis (i.e., height for a flex row, width for a flex column).

Expressly override the minimum size constraint with min-width: 0 (for row) or min-height: 0 (for column).

Is a height attribute sufficient for an explicit cross-axis size?

How do you prevent an SVG which has a viewBox, no width/height, and is a flex column item, to expand the width of its (flex) container in Firefox?
Eg.: a site-wide vertical nav bar (an inline flex container) covering the full viewport's height, containing an SVG logo that should fill the available space along the cross-axis, but not extend it.
It tried wrapping the SVG, but it doesn't work. Worse: if the SVG has a cross-axis padding defined, it will now overflow its container.
Demo: https://codepen.io/creative-wave/pen/zgqXYQ?editors=1000

Here’s a simple reproduction of this issue (I believe) in Safari:

  <svg width="800" height="200" style="height: auto; width: 100%;">
    <rect fill="steelblue" width="800" height="200"></rect>
    <text text-anchor="middle" dy="0.35em" x="50%" y="50%">800 x 200</text>
  </svg>

Safari shows this as a 300×200 image, while Chrome scales it down to 300×75 as expected, preserving the aspect ratio. With a viewBox, you get whitespace around the 300×75 rect, but the SVG is still 300×200.

  <svg width="800" height="200" viewBox="0 0 800 200" style="height: auto; width: 100%;">
    <rect fill="steelblue" width="800" height="200"></rect>
    <text text-anchor="middle" dy="0.35em" x="50%" y="50%">800 x 200</text>
  </svg>

It seems you can workaround this issue by adding Apple’s nonstandard height: intrinsic constant in addition to height: auto.
Live examples: https://observablehq.com/d/405e33d0a2be5a73

I created this codepen to visualize the differences between browsers, if it can help anyone figure out the issues that still stuck me for hours, 2 years after my previous comment.


Fix #15

Fixes #15, #23
Notes

The score is dependent on the name of the question or panel. If question name does not have the expected suffixes, then the panel name will be consulted. Supported suffix:

"-RS": Risk
"-MS" : Mitigation
"-NS": Not scored

Item values now support strings. We expect the last "-" is followed by a number. If it is not, then 0 is returned.

Result page needs to show score for multicheck


Fix entity names in list view + entity_settings not getting picked up

This PR fixes (parts of) the problem reported and dicussed in #18 + another case of the recurring issue of entity_settings not getting applied to some model classes because class names aren't matched correctly.
Caveat: only GenericListViewNew in apis_entities/views.py was refactored, so other views may need equivalent work (depending on where/how context data is reused/set).
Summary of changes:

Reverts context['class_name'] to singular but verbose name
Introduces context['class_name_plural'] for more flexibility in Django templates (once templates are refactored to work on a per-project basis, see acdh-oeaw/apis-rdf-devops#3)
Improves ad-hoc pluralisation of class names which don't have verbose_name_plural set
Fixes broken access of entity_settings configs for camel-cased class names
Removes, simplifies redundant code, improves variables names, adapts formatting for readability

Additional context
As before, references to settings.APIS_ENTITIES were dropped altogether; entity settings are assumed to be set for each entity class individually in models.py going forward (see discussion in acdh-oeaw/apis-ontologies#9).
The use of self variables (or lack thereof) in this class continues to be somewhat unclear to me, but I introduced self.entity_settings anyway to allow for less convoluted checking for entity settings. Pointing it out in case this could have unintended effects I'm unaware of.
Lastly, the ordering in get_queryset() might need some further looking into because the view seems to get reused for non-entity classes as well, which do not necessarily have a name field objects can be ordered by.
Related issues and PRs
Partly solves issue:

#18

Checklist (Replace the space in square brackets with a lowercase x for all that apply)

[x] My changes don't generate new warnings or errors
[x] My changes follow the project's code formatting rules and style guidelines
[x] I have commented my code with Docstrings and code comments, particularly complex, unusual or hard-to-read code
[ ] I have updated the project documentation to reflect the changes I introduce
[ ] I have added new unit tests or updated existing ones to demonstrate my changes works

Updated to follow black formatting rules.

Tested and works. Nice improvements, thank you Kay.

This needs rebasing as the earlier fix for abstract classes introduced lots of (non-functional, formatting-related) changes to the file.

Rebase done, merging now...


How to not load in languages?

I am working on a project that is English-only, but all the other languages are being loaded up into our final code. Since codebase size is very important in this project, is there any way to not load up all the extra languages?

Not currently.
But the file is only 16kb, uglified and gzipped it would be next to nothing. I can't see much room for optimisation here to be honest.

Why the issue is closed? It's really important to keep size small!


chore) embed fs

approve

Codecov Report

Merging #4 into master will increase coverage by 43.8%.
The diff coverage is 88.88%.

@@            Coverage Diff             @@
##           master       #4      +/-   ##
==========================================
+ Coverage   42.85%   86.66%   +43.8%
==========================================
  Files           1        1
  Lines          14       15       +1
==========================================
+ Hits            6       13       +7
+ Misses          8        2       -6

Impacted Files
Coverage Δ

vos.go
86.66% <88.88%> (+43.8%)
:arrow_up:

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 fae4b4c...662b619. Read the comment docs.


Generic resolution within Readonly

TypeScript Version:  2.1.1 / nightly (2.2.0-dev.201xxxxx)
Code
class TBaseState {
  public value: string;
}

declare function globalFunc<T extends Readonly<TBaseState>>(item: T): void;

class MyComponent<TState extends TBaseState> {
  public state: Readonly<TState>;
  broken() {
    // typing of this.state is Readonly<TState>
    // this is not assignable to Readonly<TBase>
    globalFunc(this.state);

    // this is a horrible hack to fix the generics variance issue
    globalFunc(this.state as TState as Readonly<TBaseState>);
  }
}

class MyState extends TBaseState {
}

let component: MyComponent<MyState> = new MyComponent<MyState>();

// here the typing of component.state is Readonly<MyState>
// this is assignable to Readonly<TBase>
globalFunc(component.state);

Expected behavior:
The first call to globalFunc in broken should be able to infer that this.state is a superset of readonly<TBaseState>
Actual behavior:
Errors as marked above.
Raised by @patsissons in https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14250

the hack is a little less horrible as the following, which is still valid
globalFunc(this.state as TState);

should not it be?
declare function globalFunc<T extends TBaseState>(item: Readonly<T>): void;

I think it could be either or, but I ran into a similar typing issue one way or the other. I believe I went with the first version because in my scenario there was a function delegate that was consuming the generic type.

Perhaps. I filed on behalf of @patsission

The error you are getting in the OP seems correct to me. I can not comment on the other code sample.

so Readonly<TState extends TBaseState> should not be compatible with T extends Readonly<TBaseState>? It seems on the surface that the types should line up, but this is a bit of a complicated type intersection for me to visualize.
I will mention that you are correct that globalFunc<T extends TBaseState>(item: Readonly<T>) is more appropriate, I have adjusted my code to use that form instead.

Here is an updated sample that (i think) better illustrates the typing issue. Or if you guys think there is no issue, it would just be nice to better understand why the typing system is rejecting the covariant conversion.
interface Base {
  // the typing only fails if we have a member defined in the base type
  val: string;
}

interface Derived extends Base {
}

function funcA<T extends Readonly<Base>>(item: T) {
  funcB(item);
}

function funcB<T extends Base>(item: Readonly<T>) {
  // this fails generic covariance
  // error TS2345: Argument of type 'Readonly<T>' is not assignable to parameter of type 'Readonly<Base>'.
  funcA(item);

  // this passes generic covariance
  funcA(item as T);
}

let rw = <Derived>{ val: 'test' };
let ro = <Readonly<Derived>>rw;

// rw typing has no problem with either function
funcA(rw);
funcB(rw);

// ro typing has no problem with either function
funcA(ro);
funcB(ro);

The error seems correct to me. the first funcA says it needs a type that is at least Readonly<Base>, that means that other properties that are not in Base can be writable. funcB has a stricter requirement, that all properties must be readonly.
Again I think what you mean is:
function funcA<T extends Base>(item: Readonly<T>) {
  funcB(item);
}

ah, so T extends Readonly<Base> means only the Base members must be readonly, and not the T members as well. I was reading the type constraint a little different and that threw me off i guess.
funcA was written as intended, as it results in the typing issue. But im guessing the resulting type constraint is a bit awkward and probably not desired.


Fix parsing ip address #259

Codecov Report

Merging #267 into develop will decrease coverage by 0.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #267      +/-   ##
===========================================
- Coverage     52.6%   52.59%   -0.02%
===========================================
  Files          230      230
  Lines        22301    22301
===========================================
- Hits         11732    11729       -3
- Misses        9239     9244       +5
+ Partials      1330     1328       -2

Impacted Files
Coverage Δ

...fig/bfe_route_conf/vip_rule_conf/vip_table_load.go
82.35% <100%> (ø)
:arrow_up:

bfe_balance/bal_gslb/sub_cluster.go
48.14% <0%> (-7.41%)
:arrow_down:

bfe_websocket/server_conn.go
74.24% <0%> (-2.28%)
:arrow_down:

bfe_spdy/server_conn.go
78.98% <0%> (+0.44%)
:arrow_up:

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 2336f73...ecde3b5. Read the comment docs.


Fix the regex match pattern to include the case with multiple equal signs.

Thanks for your contribution!


Upload Wizard does not correctly remove info taken from misclicked "Is it a picture of X?"

When uploading this Sakura Stage picture, the app asked me whether it was a picture of Shibuya River, and I mistakenly tapped Yes.
I corrected the caption/description/depiction/category in the upload wizard to remove any reference to Shibuya River, but problem: in the uploaded picture a mention of Shibuya River subsists:

https://commons.wikimedia.org/wiki/File%3AShibuya_Sakura_Stage_pink_S.jpg

Is this reproducible for other images?

Not sure, but at least there are some circumstances where it happens.

Not sure, but at least there are some circumstances where it happens.

Then we have only code to figure out the problem.


Face Filters using Mediapipe Face Mesh

Currently I'm trying to implement a Facial filter (snapchat like) using mediapipe facemesh. I thought of doing it in two steps -

Get the coordinates of concerned landmark for the specific filter (e.g. to Augment a crown we'll need forehead's landmarks).
Write a calculator to superimpose the filter using the coordinates from previous step.

Now I could see the coordinates of landmarks, facemesh example's subgraph FaceRendererGpu and trying to modify it for superimposing the filter, But it's getting quite hard to implement.
Is there a better way of implementing these kinds of filters? How can I divide the second step in terms of coding, since I'm not expert in C++?

We will be releasing in end Sept a 3D face system to Face Mesh that will help with (2). Pls just wait for that

Thanks @mgyong I'll be looking forward to that.

MediaPipe Face Transform https://github.com/google/mediapipe/releases/tag/v0.7.11

Great release indeed @mgyong . But I want to make a similar solution for web. is there any plans to release for this?

Nice one @mgyong , I'm right on it, although I thought I got pretty much control over the keypoint's coordinates. I'll try it and hopefully get it done. Thanks a lot!

Hey @mgyong the Face Effect is rendered for a single face, Is there a quick modification to make it work for multiple faces?

@Gauraviiitian Have you find some solutions for rendering multiple faces in the Face Effect application?

I didn't use their face effect application for my use case, you can take face mesh for multiple faces and then implement your calculator for rendering face effects... I did the same.

@Gauraviiitian Would you mind sharing the graph and calculator? I would like to do a quick test on it.

Hii @MyChocer, I cannot share the calculator due to confidentiality policy with my company since the project is affiliated for them. Although I can share some key notes for the same -
Break down the project into two parts -

Finding the landmark points (for face detection or facemesh) ie their absolute coordiantes.
Now rendering any image or filter with the help of landmarks detected.

First one is quite simple using calculations since we already have normalized landmarks, you just need to know which landmark index corresponds to which point on facemesh or face landmark.
Second one is a bit tricky as we need to render the filter using landmark points and there are two ways of doing this -

Using OpenGL which uses GPU buffer Image form, I didn't use it since it was quite complex.
Using OpenCV which uses CPU Image form, I used this one effectively for my project.

To use opencv first convert input stream to CPU using GpuBufferToImageFrameCalculator and then you can easily load and use opencv for rendering and performing any kind of filter.
you can also traverse through all of the pixels and set values as per your filter (the naive method).
Hope this helps! I'm still to learn a lot things about mediapipe framework.


More complex units definition

It is currently needed to expand all possible units, prefixes and suffixes.
It will be nice functionality to implement separate definitions of prefixes, separate definitions of suffixes, separate definition of units and connect it somewhare together.

Temperature units would require a linear conversion, so a multiplication and an addition.

This is true, but it is very simple to define new unit "fahrenheit". You then implement ParamTemperature on your own and do the conversion yourself. In your function, there must be also specified, what is default unit for temperature. So if the user send command with parameter "20", is it "20 °F", "20 °C" or even "20 K"?

Logarithmic units often used for signal power in spectrum analyzers would require logarithmic operations.

There are two problems:

definition of logarithmic units using dB prefix
do we always need the real value? If I specify some RF parameter in dBm and friends, isn't it better to leave it in dBm for some internal calculations in the instrument?

Here I added units for angle (phase) it is not yet ready for merging, and tests are missing:
https://github.com/RedPitaya/scpi-parser/commit/fb6979d1926bb6813898012de934eca366d93ff8
For now I used the quantity in the enumeration name in types.h, using the unit name seemed a bit strange, since unit names for angle do not have much in common.
Did you have in mind a SCPI_Result* function, which would accept a unit and recalculate the value before printing it?
I will have a look at the source to see if I can do this LOG/MUL/SUM unit recalculation without too much trouble. The inverse operation of log might not be obvious. If the base unit is not linear, POW should also be available.
Regarding a use case, the user might wish to define the output amplitude of a signal generator in volts of decibel, depending on what is beeing measured.

Here I added units for angle (phase) it is not yet ready for merging, and tests are missing:
https://github.com/RedPitaya/scpi-parser/commit/fb6979d1926bb6813898012de934eca366d93ff8
For now I used the quantity in the enumeration name in types.h, using the unit name seemed a bit strange, since unit names for angle do not have much in common.

I prefer name of unit over name of measure.
For everyone, base unit is different. Everyone in continental europe will use meter for distance, but everyone in US will use inches, etc. For me (european), "1 distance" will be 1 meter, but somebody in US will presume, that "1 distance"  is "1 inch" and it is wrong approach. If the enumeration name will be SCPI_UNIT_METER, everything is clear for everyone.
It is the same as "1 ANGLE". What does it mean? I think, that it is common to use "radian" or "degree". After looking into units.c I see, that it is "1 radian". So I prefer naming everything by its right name - SCPI_UNIT_RADIAN, SCPI_UNIT_DEGREE. If you are mathematician, you will prefere radians, but if you are engineer, you may prefer degrees or revolutions.
There is problem with "MIN" and "SEC", because it can colide with time.

Did you have in mind a SCPI_Result* function, which would accept a unit and recalculate the value before printing it?

There is already SCPI_NumberToStr so I can introduce SCPI_ResultNumber to produce what you want. For now with base unit only.

I will have a look at the source to see if I can do this LOG/MUL/SUM unit recalculation without too much trouble. The inverse operation of log might not be obvious. If the base unit is not linear, POW should also be available.

I think, that we can produce some helper functions for conversions, but I don't like the idea of automatic non trivial recalculations while processing of the unit. So having conversion functions for dB, °C/°F, RAD/DEG/REV, etc. is nice, but doing this inside SCPI_ParamNumber is not so ince for me.
We can have table, how to convert some units to other units. This conversion table can support log/exp, multiplication and addition.

Regarding a use case, the user might wish to define the output amplitude of a signal generator in volts of decibel, depending on what is beeing measured.

But I still think, that it is up to developer of the generator, how he internally represent output value. If he prefer dBV, it is his choice. I don't want to force him to use V, so he must recalculate it back to dBV to do some internal calculations.


feat: update nest and dependency versions

NestJS v9 is now available.
Running npm-check-updates and then npm install to upgrade all version hints in package.json to allowing installation of the new major versions:

Next todo for this PR is to ensure that the repo needs to be tested to see app and tests run as intended.

Already updated to v10


Runtime error from String.indices ""

This program:
import Html
import String

main = Html.text <| toString <| String.indices "" "Goodbye, Cruel World!"

leads (on current http://elm-lang.org/try) to an "out of memory" JS error.

@lorenzo says this is fixed. On http://elm-lang.org/try it still happens.

Yeah, it was fixed here https://github.com/elm-lang/core/pull/646


Update sysfs paths to use /sys/class/fsi-master

The OpenBMC kernel as of 5.3 supports class based paths for the FSI
devices. This means each master (hardware master, or hub master) appears
under /sys/class/fsi-master, allowing a common path to be used no matter
the hub implementation.
Using this method allows us to the AST2600 hardware master and the
existing GPIO master in the same code base.
Signed-off-by: Joel Stanley<EMAIL_ADDRESS>Change-Id: Ie4ea1a66bf06c564b8212b10421b0a213b71f217

We've been on the 5.3 kernel for a while so not sure why this is suddenly needed? Maybe something in 5.4 that makes this needed? Either way, seems fine to me. Lets make sure Eddie/Joel don't have any comments.


IO Failed to Fill buffer error

Because you use the same stream for reading and writing, the cursor is moved to the end of the file and any reading will attempt to read there, which will of course fail. You can observe that if you'll print file.stream_position().
You need to rewind() before reading.
Maybe related to most recent update.  Only affects 1/3 sav files, other work good

How are you running the tool? I'm not seeing which entry point is re-using a stream.

2/3 sav files work.  the third is different somehow, not sure how.  I'm just doing the basic uesave edit ./SaveProfile.susres.sav
SaveProfile.susres.sav.md

That save has a MapProperty with 12 byte keys, unlike all other saves I've seen which have 16 bytes (as they are GUIDs). I don't think is any context for the parser to know how many bytes keys are supposed to have so this would require a type hinting system to fix more generally. As a hack to get this save to parse you could do the following:
diff --git a/src/lib.rs b/src/lib.rs
index f3c5faf..6d5a82a 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -208,7 +208,7 @@ type UInt32 = u32;
 type Float = f32;
 type Bool = bool;
 type Enum = String;
-type StructKey = uuid::Uuid;
+type StructKey = [u8; 12];

 #[derive(Debug, PartialEq, Serialize, Deserialize)]
 pub struct MapEntry {
@@ -603,14 +603,16 @@ impl ValueKey {
             if id.is_some() {
                 ValueKey::Struct(read_properties_until_none(reader)?)
             } else {
-                ValueKey::StructKey(uuid::Uuid::read(reader)?)
+                let mut id = [0; 12];
+                reader.read_exact(&mut id)?;
+                ValueKey::StructKey(id)
             }
         })
     }
     fn write<W: Write>(&self, writer: &mut W) -> TResult<()> {
         match self {
             ValueKey::Base(v) => v.write(writer)?,
-            ValueKey::StructKey(v) => v.write(writer)?,
+            ValueKey::StructKey(v) => writer.write_all(v)?,
             ValueKey::Struct(v) => write_properties_none_terminated(writer, v)?,
         }
         Ok(())

Thanks for the information.  Not sure why its different, but it is

7c2570f adds type specifications which can be used to parse this save file:
uesave to-json -i SaveProfile.susres.sav.md -t ".SuspendAndResumeData.LevelGenMapData.DoorSpecialCaseSuspendSerializations.Key=Vector"
Note: I don't actually know it's a vector. It's possible it could be another 12 byte struct, but would require some deeper investigation.


Conflicting dependecies

Please, update sdk tools versions to latest version 26 or exclude com.android.support libs from yoour project, because I can't use this module with my apps target sdk = 26;
Gradle build error code:
`Error:Execution failed for task ':app:processDebugManifest'.

Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.3.1) from [com.android.support:design:25.3.1] AndroidManifest.xml:27:9-31
is also present at [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value=(26.0.0-alpha1).
Suggestion: add 'tools:replace="android:value"' to  element at AndroidManifest.xml:25:5-27:34 to override.`

@ruha9005 until it's not supported on an stable AS version and it's not an alpha it will not be supported by us.

@ruha9005 We've just published a new version of the library that solves the issue. (v3.6.0)
Many thanks for reporting it and for your patience!


Fixing azure file copy (HotFix) for classic VM support

Fixing azure file copy (HotFix) for classic VM support

Looks fine reviewed along with Anaggar.

Reviewed by Pavan as well.


Implement per-route options in Cloud Controller

A short explanation of the proposed change:
This Pull-Request adds per-route options to the Cloud Controller. Support is added for the following APIs:

POST /v3/routes
GET /v3/routes
PATCH /v3/routes

Per-route options support is also added to the manifest.
An explanation of the use cases your change solves
Users / app developers want to define load-balancing algorithms per route, instead of being forced to use the globally defined algorithm.
Links to any other associated PRs

RFC for per-route options: https://github.com/cloudfoundry/community/blob/main/toc/rfc/rfc-0027-generic-per-route-features.md

capi-release issue: https://github.com/cloudfoundry/capi-release/issues/482

[ ] I have reviewed the contributing guide

[ ] I have viewed, signed, and submitted the Contributor License Agreement

[ ] I have made this pull request to the main branch

[ ] I have run all the unit tests using bundle exec rake

[ ] I have run CF Acceptance Tests

I've tested the new feature on a dev landscape and everything works as expected. There are however a few corner cases that we should discuss:
1. "options" with null value
This request is accepted:
cf curl -X PATCH /v3/routes/<guid> -d '{"options": null}'

It doesn't change anything. Is that intended or should the request be rejected?
2. Valid option key with null value
cf curl -X PATCH /v3/routes/<guid> -d '{"options": {"lb_algo": null}}'

Accepted and sets the "options" field to {} (empty map). Shouldn't this be rejected?
3. Create new route without "options"
Use the CF CLI to create a new route:
cf -v create-route <domain> --hostname <host>

This will send a POST request:
cf curl -X POST /v3/routes -d ...

Now the "option" field in the database is set to "null" (text "null"). For existing routes the option field is initially null (matches "where is null"). If found no problems with the "null" text, but I guess it would be better to set the "options" value to null for new routes.
4. "options" in app manifest
Pushing an app with manifest works:
version: 1
applications:
- name: test
  routes:
  - route: example.com
    options:
      loadbalancing-algorithm: round-robin

For configuration with null values, we can observe the same behaviour as above:
Setting "options" to null doesn't change anything.
Replacing "round-robin" with null and pushing again sets the options to {} (empty map).

Did you plan to create a new acceptance test for this feature? You could add it to this capi-bara-test:
https://github.com/cloudfoundry/capi-bara-tests/blob/fff7cf1f121c13e58c06e1c9d5cfec0e887f724c/baras/manifest.go#L141

The new options field seems to be breaking acceptance tests: https://concourse.app-runtime-interfaces.ci.cloudfoundry.org/teams/capi-team/pipelines/capi/jobs/gyro-exp-tests/builds/49
  [FAILED] Expected

      <string>: applications:

          - buildpacks:

              - ruby_buildpack

            env:

              foo: qux

              snack: walnuts

            lifecycle: buildpack

            metadata:

              annotations:

                  contact<EMAIL_ADDRESS><EMAIL_ADDRESS>
                  cougar: mellencamp

              labels:

                  juice: cherry

                  potato: yams

            name: BARA-2-APP-22ae327aa21a2346

            processes:

              - disk_quota: 1024M

                health-check-http-endpoint: /env

                health-check-type: http

                instances: 2

                log-rate-limit-per-second: -1

                memory: 300M

                readiness-health-check-type: process

                timeout: 75

                type: web

              - disk_quota: 1024M

                health-check-type: process

                instances: 0

                log-rate-limit-per-second: -1

                memory: 256M

                readiness-health-check-type: process

                type: worker

            routes:

              - options: {}

                protocol: http1

                route: BARA-2-ROUTE-9d3fa91d95c7fa2d.cf.gyro.app-runtime-interfaces.ci.cloudfoundry.org

            stack: cflinuxfs4

  to match YAML of

      <string>: applications:

          - buildpacks:

              - ruby_buildpack

            env:

              foo: qux

              snack: walnuts

            lifecycle: buildpack

            metadata:

              annotations:

                  contact<EMAIL_ADDRESS><EMAIL_ADDRESS>
                  cougar: mellencamp

              labels:

                  juice: cherry

                  potato: yams

            name: BARA-2-APP-22ae327aa21a2346

            processes:

              - disk_quota: 1024M

                health-check-http-endpoint: /env

                health-check-type: http

                instances: 2

                log-rate-limit-per-second: -1

                memory: 300M

                readiness-health-check-type: process

                timeout: 75

                type: web

              - disk_quota: 1024M

                health-check-type: process

                instances: 0

                log-rate-limit-per-second: -1

                memory: 256M

                readiness-health-check-type: process

                type: worker

            routes:

              - protocol: http1

                route: BARA-2-ROUTE-9d3fa91d95c7fa2d.cf.gyro.app-runtime-interfaces.ci.cloudfoundry.org

            stack: cflinuxfs4

  first mismatched key: "applications"[0]."routes"[0]

  In [It] at: /go/src/github.com/cloudfoundry/capi-bara-tests/baras/manifest.go:248 @ 12/10/24 12:42:54.278

This might require an update to cf-acceptance-tests

@sethboyles Fixed with https://github.com/cloudfoundry/capi-bara-tests/pull/106.


OAuth API - correct scopes not fetch for multiple products

In OAuth API there is a scope verification. This uses access entity to get the scopes from the product. However in case case API key has multiple products, this doesn't work always.

Closing as the project has been refactored and this bug issue no longer applies - please see https://github.com/apigee/openbank#previous-versions


Stable names for headings and internal doc: links

Feature Name
Stable names for headings and internal doc: links
Description
Other documentation tools like sphinx or asciidoctor frequently offer a way to refer "intra" a documentation page.
For example, I might be discussing a complex topic and another new word might pop up. I don't want to start explaining the new term right away, but want to cross link to the section that explains it:
## Blooping
This is why bloopy is very interesting, we can bloop and blop it (blopping will be explained in more depth in <doc:#bloping>)

@ID { bloping } // some name for this, not sure what's the best `SectionID` or something
## Bloping the Blops

Bloping is an advanced technique ...

Motivation
Currently one has to manually copy paste and guess around to get the ID of a heading from the TEXT of the heading, like so: #Bloping-the-Blops for Bloping the Blops.
I'm also forced to use <a> rather than rely on <doc:... style syntax.
If the section name ever changes, my link will be broken.
Importance
This is important for advanced features whose documentation has multiple advanced topics and needs to point the user at where they can learn about it if they haven't already.
It also is a popular feature in all kinds of other documentation engines, making porting docs to docc more painful than it has to be.
Alternatives Considered
Hardcoding headings as today -- this is not good, because the links are not stable nor are they validated, leading to big potential for broken internal docs links.

I agree that this is a feature that we should add to DocC to make it easier to evolve content over time.
Until then, you can write links to headings using <doc:page-name#heading-name> and get a little but more support from DocC (compared to writing inline html anchor tags):

DocC can turn #Bloping the Blops into #Bloping-the-Blops for you.
DocC can warn about documentation links that didn't resolve if the heading text changed. The current warnings only point out that the link failed to resolve but I'm working on some improvements to enable more actionable warnings for unresolved links.

Thanks! Good to hear that format works, I'll give it a shot, improvements would be welcome -- the improved resolver looks like a good step as well 👍

Some Markdown implementations (e.g. PHP Markdown Extra) have a special syntax for adding a custom id to a heading:
## This is my heading {#my-heading}

swift-cmark (the fork of GitHub-Flavored Markdown that Swift-DocC uses) doesn't support this, but something like this could be added.
Also related is https://github.com/apple/swift-markdown/issues/83, which is more about adding id attributes anywhere, rather than customizing existing header anchors.


remove group requests from inactivate users

Pull Request Checklist:

[x] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

Create a test user
Request to join a group with the test user
Deactivate the test user account
As a group owner, navigate to accept/reject the group membership request from the test user
Observe the request no longer appears in the list for approval

resolves #4456
fixes #4484

added a test but realized that this only handles case where user deactivates their account from their Profile
doesn't handle case where admin uses Mezzanine dashboard to set active=False


#120 Running tests in SaaS [run aws tests]

closes #120

Removed the double underscore from function names.


Change Background Color in "Our Staff" Section in "about" page

[ ] Update the background color of the "Our Staff" section from green to gray (rgba(54, 55, 50, 1)), as specified in the design.

[ ] Ensure the color change is consistent across all screen sizes and matches the Figma design.

I added the color "custom-gray": "rgba(54, 55, 50, 1)", to the tailwind.config.js, and updated the Our Staff to be grey.


Android raise touchup events when touched array is reset on pause

This fixes #4866
When game was sent to background, the touched array was reset, but no touchup events were raised. Thus, listeners and scene2d buttons hung in a clicked state.
Best to test with Scene2dTest and InputTest.

If I understand correctly this change performs a touchUp automatically on activity pause which can lead to undesired actions or clicks if a user is touching the screen and the activity changes state (like receiving a call). For instance, if in your game you have to drag your finger to aim and release to shoot, if the activity is paused while aiming, with this change the shot will occur right after resume on the direction your finger was last before pause, correct?
I think Android registers an ACTION_CANCEL event when it goes onPause() which means any gesture that was occuring is cancelled. On libGDX we lack a touchCancel event which would be useful to have control over what to do on this scenario.

If I understand correctly this change performs a touchUp automatically on activity pause which can lead to undesired actions or clicks if a user is touching the screen and the activity changes state (like receiving a call). For instance, if in your game you have to drag your finger to aim and release to shoot, if the activity is paused while aiming, with this change the shot will occur right after resume on the direction your finger was last before pause, correct?
I think Android registers an ACTION_CANCEL event when it goes onPause() which means any gesture that was occuring is cancelled. On libGDX we lack a touchCancel event which would be useful to have control over what to do on this scenario.

Good objection, this will indeed happen. But this is "correct" (as we have no cancel):

If a game polls the touch state, it will also register a touch up at the moment. With this change, event based input matches that behaviour
It is implemented this way on RoboVM, too [1]. What you describe applies for libGDX on iOS, I just rechecked. This is barely noticed and in my opinion better than on Android where the pressed state hangs.

So I think we are better off with this change.
[1] https://github.com/libgdx/libgdx/blob/f43e2d7f4d19cea6cc01089caf8c8083b6ac4a62/backends/gdx-backend-robovm/src/com/badlogic/gdx/backends/iosrobovm/DefaultIOSInput.java#L774

Good objection, this will indeed happen. But this is "correct" (as we have no cancel):

If a game polls the touch state, it will also register a touch up at the moment. With this change, event based input matches that behaviour
It is implemented this way on RoboVM, too [1]. What you describe applies for libGDX on iOS, I just rechecked. This is barely noticed and in my opinion better than on Android where the pressed state hangs.

So I think we are better off with this change.
[1] https://github.com/libgdx/libgdx/blob/f43e2d7f4d19cea6cc01089caf8c8083b6ac4a62/backends/gdx-backend-robovm/src/com/badlogic/gdx/backends/iosrobovm/DefaultIOSInput.java#L774

I don't think this is the "correct" and that this should be the default. It will cause unintended behaviour in more occasions than situations that may end up buggy (you need to be touching with 2 fingers when pause occurs to trigger the issue).

If a game polls the touch state, it will also register a touch up at the moment. With this change, event based input matches that behaviour

Well, it's not really a touch up is it? it just resets all inputs to default. I made that PR for a very specific issue on some devices but wouldn't affect gesture management with InputListeners.

It is implemented this way on RoboVM, too [1]. What you describe applies for libGDX on iOS, I just rechecked. This is barely noticed and in my opinion better than on Android where the pressed state hangs.

The major differencee is that on iOS you don't get a CANCEL event when you receive a call or other non user-triggered situations like you would on Android making it a not-issue.
I think we should have a thought on how to handle Cancel, this change would break bakwards compatibility heavily (it would on my 5 games).
Maybe @NathanSweet can help?

I don't think this is the "correct" and that this should be the default. It will cause unintended behaviour in more occasions than situations that may end up buggy (you need to be touching with 2 fingers when pause occurs to trigger the issue).

If a game polls the touch state, it will also register a touch up at the moment. With this change, event based input matches that behaviour

Well, it's not really a touch up is it? it just resets all inputs to default. I made that PR for a very specific issue on some devices but wouldn't affect gesture management with InputListeners.

It is implemented this way on RoboVM, too [1]. What you describe applies for libGDX on iOS, I just rechecked. This is barely noticed and in my opinion better than on Android where the pressed state hangs.

The major differencee is that on iOS you don't get a CANCEL event when you receive a call or other non user-triggered situations like you would on Android making it a not-issue.
I think we should have a thought on how to handle Cancel, this change would break bakwards compatibility heavily (it would on my 5 games).
Maybe @NathanSweet can help?

Well, it's not really a touch up is it?
It is if games poll state and the state changes from touched to untouched, it is same as a touch up.

The major differencee is that on iOS you don't get a CANCEL event when you receive a call
The code snippet I linked is called on iOS when app goes into background, that's why the issue with the hanging down state is not present on iOS. Please try it, you'll see that the touch up is called on iOS. By the way, it is the same on GWT: https://github.com/libgdx/libgdx/blob/24a6c9fb03eb7c8f8de17dcb71238a41a04cf4dc/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/GwtInput.java#L748

I think introducing a touch cancel is a too big change for this minor problem. Granted, it is a minor problem, but at the moment we have different behaviour on the platforms which is fixed with this PR. This is not a scene2d problem, by the way. I can just repeat the problems we have at the moment:

We have different behaviour on the platforms at the moment
We have the problem that polling and event based input differ on Android on pause while touched, which is why I think Android is the one with the problem

If 5 of your games are concerned by this change, I am afraid that they already are with your iOS versions.

Well, it's not really a touch up is it?
It is if games poll state and the state changes from touched to untouched, it is same as a touch up.

The major differencee is that on iOS you don't get a CANCEL event when you receive a call
The code snippet I linked is called on iOS when app goes into background, that's why the issue with the hanging down state is not present on iOS. Please try it, you'll see that the touch up is called on iOS. By the way, it is the same on GWT: https://github.com/libgdx/libgdx/blob/24a6c9fb03eb7c8f8de17dcb71238a41a04cf4dc/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/GwtInput.java#L748

I think introducing a touch cancel is a too big change for this minor problem. Granted, it is a minor problem, but at the moment we have different behaviour on the platforms which is fixed with this PR. This is not a scene2d problem, by the way. I can just repeat the problems we have at the moment:

We have different behaviour on the platforms at the moment
We have the problem that polling and event based input differ on Android on pause while touched, which is why I think Android is the one with the problem

If 5 of your games are concerned by this change, I am afraid that they already are with your iOS versions.

I've tested it on iOS devices. On iOS no CANCEL touch events are registered for non user triggered interruptions like a call. This means that, even if you get a CANCEL event if you do something like pressing the lock button on the device it's not an issue because that's a user triggered action so no unintended behaviour will occur.
The problem on Android is that events not initiated by the user can trigger a CANCEL and cause unintended behaviour. This change would actually make platform to behave differently.

I've tested it on iOS devices. On iOS no CANCEL touch events are registered for non user triggered interruptions like a call. This means that, even if you get a CANCEL event if you do something like pressing the lock button on the device it's not an issue because that's a user triggered action so no unintended behaviour will occur.
The problem on Android is that events not initiated by the user can trigger a CANCEL and cause unintended behaviour. This change would actually make platform to behave differently.

For me, the touchUp events are fired on iOS when the game comes back to foreground. I am sure that @piotr-j can acknowledge as he is familiar with the bug on Android and knows iOS well, too.

For me, the touchUp events are fired on iOS when the game comes back to foreground. I am sure that @piotr-j can acknowledge as he is familiar with the bug on Android and knows iOS well, too.

I don't know anything about how events are handled on mobile, but I don't think it's unreasonable to send a touch up event in order to uphold the contract that every touch down has a corresponding touch up.
FWIW, in scene2d Stage cancelTouchFocusExcept cancels touches for this reason by simulating a touch up, similar to this PR. It's a bit hacky, but I couldn't come up with a less clumsy way of doing it. Sometimes listeners need to know if the touch up was actually for cancelling focus. To do that InputEvent has to do this magicke nasty:
public boolean isTouchFocusCancel () {
	return stageX == Integer.MIN_VALUE || stageY == Integer.MIN_VALUE;
}

I don't know anything about how events are handled on mobile, but I don't think it's unreasonable to send a touch up event in order to uphold the contract that every touch down has a corresponding touch up.
FWIW, in scene2d Stage cancelTouchFocusExcept cancels touches for this reason by simulating a touch up, similar to this PR. It's a bit hacky, but I couldn't come up with a less clumsy way of doing it. Sometimes listeners need to know if the touch up was actually for cancelling focus. To do that InputEvent has to do this magicke nasty:
public boolean isTouchFocusCancel () {
	return stageX == Integer.MIN_VALUE || stageY == Integer.MIN_VALUE;
}

I don't know anything about how events are handled on mobile, but I don't think it's unreasonable to send a touch up event in order to uphold the contract that every touch down has a corresponding touch up.

@NathanSweet On mobile (both Android and iOS) the contract that every touch down has a corresponding touch up doesn't apply. A touch down can be followed by a touch cancel without the need of a touch up. The reason for this is to prevent unwanted gestures to be triggered under several scenarios such as an external interruption (depending on the device can be a phone call or a notification) or "strange" touch gestures such as starting with a touch down and progressively openning your hand palm on top of the screen.
You can test this on any Android or iOS native app,  while touching the screen (maybe a touching down a button), press the Home button on your device. When you get back the button will not have been pressed (not touch up occured).
Do you think we can add this behaviour to libGDX?

I don't know anything about how events are handled on mobile, but I don't think it's unreasonable to send a touch up event in order to uphold the contract that every touch down has a corresponding touch up.

@NathanSweet On mobile (both Android and iOS) the contract that every touch down has a corresponding touch up doesn't apply. A touch down can be followed by a touch cancel without the need of a touch up. The reason for this is to prevent unwanted gestures to be triggered under several scenarios such as an external interruption (depending on the device can be a phone call or a notification) or "strange" touch gestures such as starting with a touch down and progressively openning your hand palm on top of the screen.
You can test this on any Android or iOS native app,  while touching the screen (maybe a touching down a button), press the Home button on your device. When you get back the button will not have been pressed (not touch up occured).
Do you think we can add this behaviour to libGDX?

Canceling with a touch up event is more convenient, requiring less special cases. It can still be surprising though and needs a way of checking that a touch up is actually a touch cancel. If we want it in libgdx, that is probably what I would suggest.
If canceling touch is done with a touch up, like in scene2d, then everything mostly just works. Where it doesn't, something needs to check if the touch up is a cancel, usually to abort what it was doing. For example, a slider see it's a touch cancel and reverts the slider position to before the touch down. Other things don't need special behavior, eg buttons/click listeners see the touch up at Integer.MIN_VALUE and so don't trigger a click. Everyone always sees a touch up for every touch down, which is very convenient.
If canceling touch is done by some other mechanism, then almost everyone who cares about touch down/up needs to also care about touch cancel. For example, click listeners need to know about touch cancel so they can adjust their state.

Canceling with a touch up event is more convenient, requiring less special cases. It can still be surprising though and needs a way of checking that a touch up is actually a touch cancel. If we want it in libgdx, that is probably what I would suggest.
If canceling touch is done with a touch up, like in scene2d, then everything mostly just works. Where it doesn't, something needs to check if the touch up is a cancel, usually to abort what it was doing. For example, a slider see it's a touch cancel and reverts the slider position to before the touch down. Other things don't need special behavior, eg buttons/click listeners see the touch up at Integer.MIN_VALUE and so don't trigger a click. Everyone always sees a touch up for every touch down, which is very convenient.
If canceling touch is done by some other mechanism, then almost everyone who cares about touch down/up needs to also care about touch cancel. For example, click listeners need to know about touch cancel so they can adjust their state.

Sounds like a good approach. I would say that it'd be worth also going through classes that wouldn't require special handling such as ClickListener as when it's a "touch cancel" we could probably optimize by avoiding some logic (like determining if touch is over) .
Input implementations on backends that support touch cancel would fire the touch up set to Integer.MIN_VALUE when a real CANCEL is received. As a side effect we may even be able to remove the logic to reset touch states on onPause().

Sounds like a good approach. I would say that it'd be worth also going through classes that wouldn't require special handling such as ClickListener as when it's a "touch cancel" we could probably optimize by avoiding some logic (like determining if touch is over) .
Input implementations on backends that support touch cancel would fire the touch up set to Integer.MIN_VALUE when a real CANCEL is received. As a side effect we may even be able to remove the logic to reset touch states on onPause().

Closed in favor of #6871


Improved dialog events with event arguments

Added command, dialogElement and link to the event argument being passed to the show:dialog, save:dialog and cancel:dialog events.

Thanks for the work. Will look into this and consider merging it.


Feature: ulimit support

Forever should be able to modify the ulimit of the processes that it spawns: thanks @pquerna

+1


Fix: #166 error when exporting indirect class

Fix #166

I fixed this issue with c9937c2. Your code was very useful for this fixing. Thanks!

:+1:


Cassandra backend

Cassandra would be a nice option for storage since it's a popular and proven key/value store.

I implemented a Cassandra backend today. Everything works but I think Cayley isn't structured properly for using Cassandra as a backend since the idea of clustering keys isn't awkward to implement.  Here is sample query to explain the issue
g.V("Daniel Craig").Out("ACT").All()
Cayley it first asks me for all quads containing ACT as a predicate and then asks me for all quads containing Daniel Craig  loading a potenially large dataset into memory.  It then does a union of the results to find what they have in common and then returns the result.
Theoretically that could have all been a single cassandra query with the proper schema
SELECT object FROM quads WHERE subject = "Daniel Craig" AND predicate = "ACT"
I haven't been able to find a way to implement this inside Cayley. I did model it after the mongo backend which seems to be doing some hashing that may not be necessary in Cassandra so I may be approaching this incorrectly.

Hey @Dharun -- So I've written a Cassandra backend in https://github.com/barakmich/cayley/tree/cassandra_backend -- which does a bit more optimization, I think, than what you're describing.
Plus, I've had it kicking for a little while. It's at least as fast (usually faster) than Mongo.
I implore you to give it a shot -- if it works for you, I'll send it out for review and we can get into the nitty-gritty there.

A cassandra backing store for Cayley sounds very useful. Especially so since other backends also exist for Cayley.
I am interested in modelling CFG (computation flow graphs) and parametric equations with Cayley and Cassandra would really help with large scale.
i did not find any cassandra specific MQL mapping layer in the branch. Can you let me know more info, etc so i can see where the codes at and pick it up.

Great to see there is a Cassandra backend in development, thanks for your work on it Barak, I am pulling down the branch now and will give it a run and come back with a review for you.

+1

I pulled the cassandra backend  code, but i cannot build it. the go sep restore steps are not working as the folder structures are different.. can you publish instruction on how to build the binary..
I am not a go coder, so any help will be greatly appreciated..

This backend can't be compliled in the newest version ..

@jaiganeshvazhkudai  what you think about makea storage to http://www.scylladb.com/ it's 100% cassandra compatible and have a better performance.
See https://github.com/scylladb/scylla

scylladb looks like the best news in ages. I definitly support this.
I am wondering how binary compatible the driver is ?

Hello everyone,
Is there any ongoing work with this? I and my team(graduate students) are working with graph databases, but we need a distributed backend, if we have some direction and current status of this we can maybe help.

@mastayoda - i got Cayley working with Cassandra 3.0 as part of a test i was working on, it needed some very minor mods to get it to work but i am no GO programmer, my skills lie in Java / Python.
I have put it up on my blog here for all to use:
http://www.sitelabs.com/?p=29
It should be enough for you and your team to start more work on this  - hope it helps.

@thompson42 this is great! it will help a lot for sure. I will discuss this with my team and let you guys know what will be the roadmap if we choose Cayley as our codebase. This is for a big research project.

@mastayoda  - your other alternative is Tinkerpop / Titan Graph DB if you are looking for an excellent horizontally scalable graph DB backended by Cassandra.
Titan is a very large codebase and in those terms i think if your aim is to hack away at the source code then Cayley might be quite a bit more approachable.

@thompson42 , you are totally right. We have been evaluation TitanDB for months, but it is pretty buggy and the project is too quiet. The team is now owned by a company and they are building a new database that I guess is closed source. Our group is trying to build a nasty-fast and scalable graph database which supports both static and dynamic graphs. This obviously requires many thinks:

Distributed backend: Cassandra, ScyllabDB, etc.
Indexing capabilities, also distributed and high available, such as Lucene for example.
A powerful front end, the Thinkerpop Stack is amazing, we would love to have this with Cayley
A clean and modular graph indexing scheme, this is where Cayley looks great, is clean and modular, specially to attach many backends, we would build the indexing engine in this layer or in a new layer.
A good interface for distributed processing, specifically Spark. We need to compute heavy and distribute thinks, such as page rank for example.

As you can see, TitanDB has many of these things, but it is giving us a very hard time, even for importing data, indexing, and the codebase is pretty complicated to start analyzing everything, fix all bugs, then start implementing our stuff.
On the other hand, Cayley has the Quad Store model, which I don't know if will be appropriate for ur purpose. Also, the gremlin inspired query is nice, but too trivial in comparison with the Tinkerpop stack. If we can have in interface to the Gremlin Server with Cayley will be killer.
There is a lot of work to be done, but our options are very limited, and its hard to decide which direction to take.

I tried using arangodb meanwhile and I am impressed with what I was able to do this week with it..
Sent from my iPhone

On Mar 31, 2016, at 7:44 PM, thompson42<EMAIL_ADDRESS>wrote:
@mastayoda - your other alternative is Tinkerpop / Titan Graph DB if you are looking for an excellent horizontally scalable graph DB backended by Cassandra.
Titan is a very large codebase and in those terms i think if your aim is to hack away at the source code then Cayley might be quite a bit more approachable.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

@jaiganeshvazhkudai I just finished evaluating ArangoDB, I'm very impressed to be honest, thanks for pointing that out! I evaluate it months ago, but their new update looks beautiful.

Spent two days wrapping around the quirks of their AQL..
Sent from my iPhone

On Apr 1, 2016, at 2:05 PM, Victor O. Santos Uceta<EMAIL_ADDRESS>wrote:
@jaiganeshvazhkudai I just finished evaluating ArangoDB, I'm very impressed to be honest, thanks for pointing that out! I evaluate it months ago, but their new update looks beautiful.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

Any news on this?

This has been open for over 3 years now and for over one year on the "Later." list which states its entries should be implemented in about 6 months. Could anyone provide a brief status update? I don't want to complain, but am just genuinely interested in the current situation and roadmap. Also: GRAKN has Cassandra support - does it thus currently have an edge or how are they positioned with respect to Cayley? And what about ArangoDB which you mentioned? It seems awesome - any chance we'll see it supported in the near future?
Thanks in advance.

@k0105 We decided to postpone Cassandra integration until we have few architectural changes implemented in currently supported backends. There is also an ongoing work on making a generic NoSQL backend to minimize the code needed to support new databases from this family. When we finish it, we will port existing NoSQL backends to it (Mongo, GAE) and will probably add few new backends like Cassandra. The work for generic backend for KV is nearly finished, meaning that NoSQL layer can be started in the near term.

That sounds amazing. Thank you for letting me know.

Is there any update on this?

Backend support was moved to a separate project. Cassandra will be supported once we finalize a tuple store interface there.

@dennwc so can this issue be closed then?

This issue is now tracked here


Update Tutorial Code Injection

Description
This PR swaps out older code injection method with the updated testable code injection framework.
Resolves this issue.

The only thing I noted is that the first TypeScript example doesn't show the comments for both step 1 (create the EC2 instance) and step 2 (create the security group), whereas the Python and YAML code snippet show both steps. Is this intentional?

@scottslowe good catch, thank you! fixed.


Malformed HTML: conversations module

This page appears with exposed tags & unformatted text above the Microsoft header.
Using chromium edge.

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

ID: L2VuLXVzL2phdmFzY3JpcHQvYXBpL0BtaWNyb3NvZnQvdGVhbXMtanMvbWljcm9zb2Z0dGVhbXMuY29udmVyc2F0aW9ucw==
Version Independent ID: L2VuLXVzL2phdmFzY3JpcHQvYXBpL0BtaWNyb3NvZnQvdGVhbXMtanMvbWljcm9zb2Z0dGVhbXMuY29udmVyc2F0aW9ucw==
Content: conversations module - Teams
Content Source:

Linked page is auto generate and it looks fine now.

Could you please re-open this with more details?


Make the spectrogram fixed instead of dynamic

Static spectrogram has been implemented in this commit: https://github.com/sandcobainer/WaveEditor/commit/bee95e1b15f0f4fe20e011b0b9bbbd33c8405559
The whole spectrogram will be recalculated every time the audio buffer gets changed. If the audio buffer is very long, it will introduce a very noticeable latency in the editing process. Probably calculating spectrogram another thread can reduce the latency.