help horizontal/vertical

greetings, I'm trying to change the location of the items in the module and would appreciate some help.

I'm using the developer mode, but when I put in the #NEWSAPI_article image, header, content, etc I'm drawing a blank.
I want to move the font from underneath to the right of the image and have the footer at the bottom, under the image.

Hi. Unfortunately the default module template not designed like that. You cannot move the text around. You can design your own template if you like and specify that the module should use that.

understood.

From the template code you would want to move the %DESCRIPTION% out of the content and into it's own div and you can move that div to where you would like it to be.

can I find the div classes or titles that work in custom.css  in the template.html?

Morning. Yes, but it will not assist you in doing what you want. The best
option is as described above to design your own custom template and make
use of that. Hence the module was designed so others could create their own
layouts.
On Wed, 26 Jun 2024, 00:51 greedyvegan, @.***> wrote:

Hi. Unfortunately the default module template not designed like that. You
cannot move the text around. You can design your own template if you like
and specify that the module should use that.
understood.
From the template code you would want to move the %DESCRIPTION% out of the
content and into it's own div and you can move that div to where you would
like it to be.
can I find the div classes or titles that work in custom.css in the
template.html?
—
Reply to this email directly, view it on GitHub
https://github.com/mumblebaj/MMM-NewsAPI/issues/11#issuecomment-2190130964,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJQ4UAWAQVT2OWR2AWI2DLTZJHX7RAVCNFSM6AAAAABJ242SPOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJQGEZTAOJWGQ
.
You are receiving this because you commented.Message ID:
@.***>


Switch dependencies and devDependencies

It seems like your dependencies and devDependencies are the wrong way around. ava and webpack should definitely be devDependencies since they're only used during development/testing. chalk, babel-loader and their peerDependencies should be normal dependencies since they are used in the production build. release-it, webpack-cli and deepcopy seen to be correct.
The reason I bring this up is because I'm using Yarn PnP, which is very strict about correct dependency declaration. If a package requires another package without it being listed in the (non-dev) dependencies, it will throw an error which is currently the case.

lol so sorry about this, do you mind opening a PR?


bpf: Check native-routing-cidr in BPF masquerade

This commit extends the BPF masquerade by adding a check for whether a dst IPv4 addr is in native-routing-cidr.
The check fixes a problem when a node hasn't received an ipcache update for a pod running on a remote node, and thus a packet sent from a local pod to that pod is SNAT'd (this happens because the dst is considered as WORLD_ID until the update has been received).
Fix #11464.

test-me-please

Coverage increased (+0.01%) to 37.886% when pulling e56cd2fd1cfdd505ca8dd91b9e28d723f7672d0e on pr/brb/bpf-masq-native-routing-cidr into e24ab5b85abfebb47bdf7b164d5771fc77fadf83 on master.

4.9 CI hit https://github.com/cilium/cilium/issues/11457.

retest-4.9

test-me-please

retest-runtime

retest-4.19

retest-runtime

retest-4.19


mise import error

Hello,
I am trying to compile the project but I am running into an error for the meshing.py runtime compilation:
ImportError: cannot import name 'mise' from 'lib.libmise' (unknown location)
This might be a cython error but I have it installed and also the mise.pyx is in the libmise folder.
Pls let me know if this is an isolated issue or if its reproducible.
regards
SK

Hi @skore11, have you run python setup.py install ?

yes that has been done after recreating the conda env and running the demo.py I get this import error:
ImportError: cannot import name 'get_num_classes' from 'torchmetrics.utilities.data' (/home/skore11/anaconda3/envs/snarf/lib/python3.7/site-packages/torchmetrics/utilities/data.py)

looks like get_num_classes has been removed for that version of torchmetrics

I just checked my conda environment - it's using torchmetrics==0.3.2. Is it the same for you? Otherwise, can you try installing torchmetrics==0.3.2?

i see, I have 0.8.2, ill reinstall and let you know......

all rightey got it working thanks for the support! great work btw :)

great :) thank you


Add ?pretty

Could we add the pretty parameter to format the output. That would be very helpful for debugging.

+1 good idea, lets do this.

It will not be the "small" task to add ?pretty, because currently we use several serializers and they are configured not in request handling phase. It is possible to write some event listeners and reconfigure settings depending on request, but I am not sure if we really need it.
So question is do we want to have additional logic layer for feature like this.
It is possible to get "pretty" json response though. Disadvantage is that you can not control it with request parameters anymore. Following configuration has to be added:
jms_serializer:
    visitors:
        json:
            options: JSON_PRETTY_PRINT


Bitcore Core <IP_ADDRESS> - no sync from scratch- no connection hard coded nodes

The Core <IP_ADDRESS> is nearly done. We have two open task currently.

No sync from scratch

The wallet connected only with addnode "addnode <IP_ADDRESS> onetry".
The connection with lots of nodes is possible. The wallet looks the correct chain high. But the sync is not possible. It is possible to move the chain in the appfolder. After then works the wallet normal.

No connection hard coded nodes

https://github.com/LIMXTEC/BitCore/blob/0.15/src/chainparams.cpp#L134
The wallet connected only with addnode "addnode <IP_ADDRESS> onetry" or similar.
Bounty for this task 100 Bitcore. (Only for tested pullrequest)

#19


Automated Package Upgrade

:tada: This PR is included in version 2.2.11 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add example to create a virtual dataset using lithops

At the suggestion of @TomNicholas, I created a simple example using lithops (and serverless compute) to create a virtual dataset from a list of netcdf files hosted on s3.
This PR depends on the fix provided in #206 (now merged).
Resolved with #206
The workflow was broken in the latest version of VirtualiZarr.
 The example runs fine on  zarr-developers/VirtualiZarr@5d0851976778ebaf52eb6df57970b0706a892d98.
However, using zarr-developers/VirtualiZarr@179bb2ab42664546dd243a2e04fab8737846229a the workflow will run, but complains about ValueError: Could not convert object to NumPy datetime when I open the dataset using xarray:
Traceback (most recent call last):
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/zarr/meta.py", line 127, in decode_array_metadata
    fill_value = cls.decode_fill_value(meta["fill_value"], dtype, object_codec)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/zarr/meta.py", line 260, in decode_fill_value
    return np.array(v, dtype=dtype)[()]
           ^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: Could not convert object to NumPy datetime

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/xarray/backends/api.py", line 571, in open_dataset
    backend_ds = backend.open_dataset(
                 ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/kerchunk/xarray_backend.py", line 12, in open_dataset
    ref_ds = open_reference_dataset(
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/kerchunk/xarray_backend.py", line 46, in open_reference_dataset
    return xr.open_dataset(m, engine="zarr", consolidated=False, **open_dataset_options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/xarray/backends/api.py", line 571, in open_dataset
    backend_ds = backend.open_dataset(
                 ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/xarray/backends/zarr.py", line 1182, in open_dataset
    ds = store_entrypoint.open_dataset(
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/xarray/backends/store.py", line 43, in open_dataset
    vars, attrs = filename_or_obj.load()
                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/xarray/backends/common.py", line 221, in load
    (_decode_variable_name(k), v) for k, v in self.get_variables().items()
                                              ^^^^^^^^^^^^^^^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/xarray/backends/zarr.py", line 563, in get_variables
    return FrozenDict(
           ^^^^^^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/xarray/core/utils.py", line 443, in FrozenDict
    return Frozen(dict(*args, **kwargs))
                  ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/xarray/backends/zarr.py", line 563, in <genexpr>
    return FrozenDict(
                     ^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/zarr/hierarchy.py", line 691, in _array_iter
    yield _key if keys_only else (_key, self[key])
                                        ~~~~^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/zarr/hierarchy.py", line 467, in __getitem__
    return Array(
           ^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/zarr/core.py", line 170, in __init__
    self._load_metadata()
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/zarr/core.py", line 193, in _load_metadata
    self._load_metadata_nosync()
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/zarr/core.py", line 207, in _load_metadata_nosync
    meta = self._store._metadata_class.decode_array_metadata(meta_bytes)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/thodson/micromamba/envs/cubed-dev/lib/python3.11/site-packages/zarr/meta.py", line 141, in decode_array_metadata
    raise MetadataError("error decoding metadata") from e
zarr.errors.MetadataError: error decoding metadata

This is awesome @thodson-usgs ! Thanks for trying this out!

I'm marking this WIP, because the workflow is broken in the latest version of VirtualiZarr.

I'll raise a separate issue to track whatever regression has occurred there, so we can talk about the cool serverless map_reduce you've done here! (which is relevant to #123)
My conception of what lithops.map_reduce is actually doing is quite fuzzy. Is it saving out any intermediate results to a storage layer? Is it doing multiple rounds of reduction (i.e. a tree-reduce)? Do you foresee any scaling issues with this approach?

Hmm. I pulled the lastest version of VirtualiZarr in my testing environment, but I neglected to rebuild the runtime image, so I'll double check that.

My conception of what lithops.map_reduce is actually doing is quite fuzzy. Is it saving out any intermediate results to a storage layer? Is it doing multiple rounds of reduction (i.e. a tree-reduce)? Do you foresee any scaling issues with this approach?

Right, I set up s3 storage for cubed, but I think this workflow is entirely in memory.  So, we'll invariably hit scaling issues unless avoid the reduce and by writing to disk during the map operation. Nevertheless, I'm really excited by how easy this was to set up, and I hope others will help improve upon it.

Hmm. I pulled the lastest version of VirtualiZarr in my testing environment, but I neglected to rebuild the runtime image, so I'll double check that.

No, I rebuilt the image to use the latest commit, and the error persisted, so I believe it's real.

Right, I set up s3 storage for cubed

You're not using cubed at all here, that's for the actual rechunking.

I think this workflow is entirely in memory.

Lithops does have the ability to persist things - did you set up the storage layer for that?

So, we'll invariably hit scaling issues unless avoid the reduce and by writing to disk during the map operation. Nevertheless, I'm really excited by how easy this was to set up, and I hope others will help improve upon it.

My plan for scaling this to arbitrary size is actually to use cubed for the virtualizarr array reduction too - see https://github.com/zarr-developers/VirtualiZarr/issues/123#issuecomment-2244001155. I expect this to be pretty complicated to achieve though - I'm not even sure if it's possible yet.

No, I rebuilt the runtime image using the latest VirtualiZarr commit, and the error persisted, so I believe it's real.

Presumably this error can be reproduced without lithops involved at all?

Presumably this error can be reproduced without lithops involved at all?

Good point. I'll try that next, though something is fishy or else how did this work with previous versions?

My plan for scaling this to arbitrary size is actually to use cubed for the virtualizarr array reduction too - see #123 (comment). I expect this to be pretty complicated to achieve though - I'm not even sure if it's possible yet.

Ah, okay. So maybe my hope of simply creating a skeleton zarr, then writing the meta-chunks during the map with to_zarr(region=) is half baked.

I'll try that next, though something is fishy or else how did this work with previous versions?

My current guess is that we simply introduced some accidental regression in virtualizarr recently. The way to find it is to (1) reproduce the error without all the lithops stuff (opening and concatenating 2 files should be enough), then (2) use git bisect to find the offending commit.

Ah, okay. So maybe my hope of simply creating a skeleton zarr, then writing the meta-chunks during the map with to_zarr(region=) is half baked. (The current workflow writes to json, but I'll test cloud optimized formats once this is running.)

If you write a manifest to zarr right now (i.e. a "virtual zarr store") you have no way of opening or loading the data via xarray/zarr, because no zarr reader understands what a manifest.json is yet.
My model of what we're trying to do is:

We need to get to one in-memory virtual xr.Dataset, on one worker, containing references to all the netcdf files. Once we have that we can save it to kerchunk json / kerchunk parquet / zarr manifests / whatever and we would be done (for a large number of references we should currently save to kerchunk parquet format).
We know that that virtual dataset will fit on one worker, because we estimate the memory requirements in https://github.com/zarr-developers/VirtualiZarr/issues/104#issuecomment-2103039189.
Problem is that inspecting the netCDF files to generate chunk references is slow, and we want to parallelize that across many workers (i.e. call open_virtual_dataset(some_file.nc')` on each worker).
This step is embarrassingly parallel and hence can be done nicely with serverless functions, i.e. lithops map.
Issue is that once we open them we have to combine them in-memory via concatenation. If we used dask we could communicate them all to one worker, but with serverless the only way to communicate is to write to persistent storage then read from that storage.
I believe lithops map_reduce uses a storage layer to hold intermediate results https://lithops-cloud.github.io/docs/source/design.html#computation-flow. So it does a map, then reduce, each of which must read from and write to that storage layer.
Using that might be enough for a 1D reduce job, especially if there isn't too many files. But to do it in N-dimensions at large scale we really want a N-dimensional tree-reduce using serverless functions.
That's what cubed implements, for the case of N-D arrays. Then the question is how to get cubed to understand what to do with a ManifestArray instead of a np.ndarray?

Updated with the changes made in #206. Also fine to close this example, if cubed can do this better.

Thank you @thodson-usgs !!

Just a guess... file was a reserved word in Python2. If the example code was old enough, or written by someone with  habits formed in the Python2 days (I'm one of those folks :grin: ), that might explain things.

Just a guess... file was a reserved word in Python2. If the example code was old enough, or written by someone with habits formed in the Python2 days (I'm one of those folks 😁 ), that might explain things.

Ah, @douglatornell! I thought that was the case but then I didn't see file among the reserved words. Thanks for clarifying.

Yeah @thodson-usgs, I did a bit of a double take when I looked at the reserved words list and realized that file isn't reserved anymore in Python3.

@thodson-usgs excited to see the lithops integration!


Simple fix for CVE-2020-9488

Delete Appender to close CVE-2020-9488.

Thanks for the PR. I added the hostname check instead.


Release v1.2

Changes:

Prepare develop to be merged in main and make the release

Codecov Report
Patch coverage: 84.04% and project coverage change: -0.08 :warning:

Comparison is base (ec494bd) 86.65% compared to head (4e4d10d) 86.58%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #291      +/-   ##
==========================================
- Coverage   86.65%   86.58%   -0.08%
==========================================
  Files          76       78       +2
  Lines        4496     4584      +88
==========================================
+ Hits         3896     3969      +73
- Misses        515      527      +12
- Partials       85       88       +3

Flag
Coverage Δ

unittests
86.58% <84.04%> (-0.08%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cli/actions/actions.go
75.00% <ø> (ø)

cli/actions/importKeys.go
95.48% <ø> (ø)

cli/actions/jwt_secrets.go
100.00% <ø> (ø)

cli/dependencies.go
0.00% <ø> (ø)

cli/importKeys.go
100.00% <ø> (ø)

configs/init.go
100.00% <ø> (ø)

cli/actions/getContainers.go
76.47% <76.47%> (ø)

cli/show.go
88.88% <88.88%> (ø)

cli/actions/setup.go
100.00% <100.00%> (ø)

cli/run.go
100.00% <100.00%> (ø)

... and 1 more

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


refactor: Extract transmit.js from compose.js.

We now isolate the code to transmit messages into transmit.js.
It is stable code that most folks doing UI work in compose.js don't
care about the details of, so it's just clutter there.  Also, we may
soon have other widgets than the compose box that send messages.
This change mostly preserves test coverage, although in some cases
we stub at a higher level for the compose path (this is a good thing).
Extracting out transmit.js allows us to lock down 100% coverage on that
file.

Testing Plan:
GIFs or Screenshots:

lgtm, merged, thanks @showell!


maintainers file: add missing labels

also fix Kconfig area to not include every single Kconfig file.

Is there anything yet parsing MAINTAINERs?

Is there anything yet parsing MAINTAINERS?

./scripts/get_maintainer.py areas
Note that there is in progress work to change the schema slightly and also change the way we parse the file in preparation for adding GH action


Add OSD secret when using encrypted data bags

When encrypted_data_bags is enabled, it is necessary to inject the OSD
secret into the monitor keyring used to create the cluster. If that
isn't done, by the time the OSD recipe tries to use the OSD secret as
client.bootstrap-osd, Ceph will have generated a random key (and it
won't match the key from the encrypted data bag).

1

I'm obviously :+1: for keyring ;)
For the other part... I follow your advice @hufman

That looks great. Perhaps, can you make another one for the bootstrap_mds?


Cannot Login without refresghing

Logging in does not work successfully until I refresh the page, then it is a coin toss on whether or not it loads the next screen

It will not log in until I refresh the page


cross jobs runs with incomplete datum causing "broken" full history

What happened?:
Not able to retrieve full history from output repo of cross pipeline when all input repos have valid data (i.e. a complete datum). This is a bug with started a cross job when not all input repos have valid datums.
What you expected to happen?:
A cross job should only start when a complete datum exists. This would fix the "broken" full history from the output repo.
How to reproduce it (as minimally and precisely as possible)?:
1. Add dummy pipeline join.json to “join” two input filenames
{
  "pipeline": {
    "name": "join"
  },
  "transform": {
    "image": "alpine:latest",
    "cmd": [ "/bin/sh" ],
    "stdin": [
       "for a in /pfs/A/*",
       "do",
       "for b in /pfs/B/*",
       "do",
       "touch /pfs/out/$(basename $a)_$(basename $b)",
       "done",
       "done"
    ]
  },
  "input": {
    "cross": [
        {"pfs": {
           "repo": "A",
           "glob": "/*"
            }},
        {"pfs": {
           "repo": "B",
           "glob": "/*"
            }}
  ]},
  "standby": true
}

2. add pipeline + repos
pachctl create repo A
pachctl create repo B
pachctl create pipeline -f join.json

3. check pipeline status
pachctl list pipeline

NAME INPUT         CREATED       STATE / LAST JOB
join (A:/* ⨯ B:/*) 2 seconds ago standby / starting

4. add empty dummy file to repo A
echo "" | p put file A@master:A1

5. job successfully runs and makes an output commit with only one input
pachctl list job

ID                               PIPELINE STARTED        DURATION           RESTART PROGRESS  DL UL STATE
64277ed3fcaf4c7abc8c5ce85ad04b76 join     3 seconds ago Less than a second 0       0 + 0 / 0 0B 0B success

6. inspection of job yields incomplete datum
pachctl inspect job 64277ed3fcaf4c7abc8c5ce85ad04b76

# abbreviated output

Input:
{
  "cross": [
    {
      "pfs": {
        "name": "A",
        "repo": "A",
        "branch": "master",
        "commit": "913b3e11fbf04e6c9b4af245d1ee1de4",
        "glob": "/*"
      }
    },
    {
      "pfs": {
        "name": "B",
        "repo": "B",
        "branch": "master",
        "glob": "/*"
      }
    }
  ]
}

7. add empty dummy file to repo **B
**
echo "" | p put file B@master:B1
pachctl list-job

ID                               PIPELINE STARTED        DURATION           RESTART PROGRESS  DL UL STATE
63c5451d74d24b35922c4b33c9ae9501 join     17 seconds ago 15 seconds         0       1 + 0 / 1 2B 0B success
64277ed3fcaf4c7abc8c5ce85ad04b76 join     32 seconds ago Less than a second 0       0 + 0 / 0 0B 0B success

8. check file in join repo
pachctl list file join@master

COMMIT                           NAME   TYPE COMMITTED          SIZE
185000eda854410b8a03c5ca4e73e719 /A1_B1 file About a minute ago 0B

9. add more files to repo A and B
echo "" | p put file A@master:A2
echo "" | p put file A@master:A3
echo "" | p put file B@master:B2
echo "" | p put file B@master:B3

10. check output files in join repo (default)
pachctl list file join@master

COMMIT                           NAME   TYPE COMMITTED    SIZE
e3d061d667b84843a74714bb9c0f2b7d /A1_B1 file 1 second ago 0B
e3d061d667b84843a74714bb9c0f2b7d /A1_B2 file 1 second ago 0B
e3d061d667b84843a74714bb9c0f2b7d /A1_B3 file 1 second ago 0B
e3d061d667b84843a74714bb9c0f2b7d /A2_B1 file 1 second ago 0B
e3d061d667b84843a74714bb9c0f2b7d /A2_B2 file 1 second ago 0B
e3d061d667b84843a74714bb9c0f2b7d /A2_B3 file 1 second ago 0B
e3d061d667b84843a74714bb9c0f2b7d /A3_B1 file 1 second ago 0B
e3d061d667b84843a74714bb9c0f2b7d /A3_B2 file 1 second ago 0B
e3d061d667b84843a74714bb9c0f2b7d /A3_B3 file 1 second ago 0B

11. check output files in join repo (actual commit history)
pachctl list file join@master --history -1

no file(s) found that match /A1_B1

I would expect the actual commit history, similar to how the input repo A (or B) would look.
pachctl list file A@master --history -1

COMMIT                           NAME TYPE COMMITTED     SIZE
913b3e11fbf04e6c9b4af245d1ee1de4 /A1  file 5 minutes ago 1B
186f168990714da2a0aca0b2521c7804 /A2  file 3 minutes ago 1B
5542804fe7e946088782e6585adbabec /A3  file 3 minutes ago 1B

Thanks for submitting @jfri3d!
And just to clarify what you said in Slack, if you repeat this process but don't create the pipeline until after at least one commit is created in both A and B, this error does not occur?

Exactly. A workaround is to first create and add files to both A and B then the pipeline will not create an "incomplete" datum job.

@jdoliner - I came across this issue once more with the latest version of pachyderm (1.9.0). Any idea why this issue resurfaced? I followed the same example as above.

@jfri3d Pachyderm's model to still trigger a zero-datum job when you have data in one input but not the other didn't change. This fix was the make sure history didn't error in that use case as it does in the initially-filed issue.
Does pachctl list file join@master --history -1 work for you now?


fkdl0048's mentoring meeting 3, 2022-10-31

일시: 10월 31일 오후 11시
장소: google meet

https://github.com/fkdl0048/Mentoring-Project/discussions/16


Create security disclosure / handling policy

With several security issues in ruby-saml being fixed so far this year, it would be a good idea to have a vulnerability reporting process to ensure things are handled correctly, CVEs requested, notifications to appropriate forums / lists / databases made (oss-security, OSVDB, rubysec), etc.
Here's some recent other discussions from other projects on this same topic:

https://internals.rust-lang.org/t/proposed-security-disclosure-policy/2024
https://github.com/sparklemotion/nokogiri/issues/1191

The Ruby on Rails team uses HackerOne for this purpose (https://hackerone.com/rails, as mentioned on http://rubyonrails.org/security/), and it seems to really work well for them, so that's one option (disclaimer, I lead security for HackerOne, though I truly think our platform is amazeballs).
Main thing is just to have a defined process that works for everybody and is followed. Whether that's just some private e-mail address or use of some platform or whatever in the end.
Happy to help in any way I can... Security is my full-time job, so used to dealing with this stuff.

Any thoughts, @pitbulk?

Hi @reedloden , I'm not the one that must decide this. I will reference this to the OneLogin's Chief Information Security Officer.

Bump on this, given the recent security issue fixed in v1.3.0. Would be good to have some type of policy/process around this and a defined path for people to report issues related to this gem. Perhaps that's just pointing to https://www.onelogin.com/security and explaining what the expectations are around vuln handling? Just unclear currently.

Yes, https://www.onelogin.com/security should be the place to report them

Added reference to Security Guidelines
https://github.com/onelogin/ruby-saml/commit/47b7a8efec960b49a9d56391687f88b4e219b7c2

Awesome, thanks so much!


Added a constant at the top of the file which is used to determine the speed at which the ball should move vertically

Added a constant at the top of the file which is used to determine the speed at which the ball should move vertically.

I am sorry this is not what i wanted.I want to change the speed of lines relative to ball(make the line come slower towards player).I will edit the description as well.

ah my bad @VRamazing


[DOCS] Dead links for technical papers in docs

Hi! While going through the nillion documentation, I ran in to some dead links.
**What section of the docs could be improved? **
Discord server guide > # Learn more about Nillion

key documents > One pager summary is a dead link

docs.nillion.com

https://docs.nillion.com/nillions-mpc-protocol link at the bottom to “full technical paper on Nillion’s MPC Protocol” brings you to a website, but the paper can't be accessed there. Paper is available at https://nillion.pub/sum-of-products-lsss-non-interactive.pdf instead.

thanks for reporting this @hehozo! We'll get it updated


python3Packages.niwidgets: init at 0.2.2

Description of changes
Adds niwidgets and 3 dependencies
python3Packages.niwidgets: init at 0.2.2
python3Packages.pythreejs: init at 2.3.0
python3Packages.ipyvolume: init at 0.5.2
python3Packages.ipywebrtc: init at 0.6.0

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

CC @bcdarwin

@GrahamcOfBorg build python3Packages.niwidgets

Results of nixpkgs-review pr on x64 Linux:
error: builder for '/nix/store/j4sahn2primmfn8plqy50jc48knnbk63-python3.10-ipyvolume-0.5.2.drv' failed with exit code 1;
       last 10 log lines:
       >   File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
       >   File "<frozen importlib._bootstrap_external>", line 883, in exec_module
       >   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
       >   File "/nix/store/yw8yb6x8iad55hnwr77ch198864qbjrw-python3.10-ipyvolume-0.5.2/lib/python3.10/site-packages/ipyvolume/__init__.py", line 4, in <module>
       >     from . import styles
       >   File "/nix/store/yw8yb6x8iad55hnwr77ch198864qbjrw-python3.10-ipyvolume-0.5.2/lib/python3.10/site-packages/ipyvolume/styles.py", line 56, in <module>
       >     utils.dict_deep_update(default, _defaults)
       >   File "/nix/store/yw8yb6x8iad55hnwr77ch198864qbjrw-python3.10-ipyvolume-0.5.2/lib/python3.10/site-packages/ipyvolume/utils.py", line 19, in dict_deep_update
       >     if isinstance(v, collections.Mapping):
       > AttributeError: module 'collections' has no attribute 'Mapping'
       For full logs, run 'nix log /nix/store/j4sahn2primmfn8plqy50jc48knnbk63-python3.10-ipyvolume-0.5.2.drv'.
error: 1 dependencies of derivation '/nix/store/sds3d5gydk8afm23b0rgyx0f3bsv5ycl-python3.10-niwidgets-0.2.2.drv' failed to build
error: builder for '/nix/store/b4p1afagb34pb2xqs1hgw3jhhgfpa2d6-python3.9-ipyvolume-0.5.2.drv' failed with exit code 1;
       last 10 log lines:
       >     from . import datasets
       >   File "/nix/store/qp7wchxnk5rirfn0vi3qpy8d75iry0q8-python3.9-ipyvolume-0.5.2/lib/python3.9/site-packages/ipyvolume/datasets.py", line 8, in <module>
       >     os.makedirs(data_dir)
       >   File "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/lib/python3.9/os.py", line 215, in makedirs
       >     makedirs(head, exist_ok=exist_ok)
       >   File "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/lib/python3.9/os.py", line 215, in makedirs
       >     makedirs(head, exist_ok=exist_ok)
       >   File "/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/lib/python3.9/os.py", line 225, in makedirs
       >     mkdir(name, mode)
       > PermissionError: [Errno 13] Permission denied: '/homeless-shelter'
       For full logs, run 'nix log /nix/store/b4p1afagb34pb2xqs1hgw3jhhgfpa2d6-python3.9-ipyvolume-0.5.2.drv'.
error: 1 dependencies of derivation '/nix/store/f0w74rqqv96izgsyc6l6pb4zf3qawp4f-python3.9-niwidgets-0.2.2.drv' failed to build
error: 4 dependencies of derivation '/nix/store/dphl08azjvwc1550f7ynqimv5livc801-review-shell.drv' failed to build

Link to currently reviewing PR:
https://github.com/NixOS/nixpkgs/pull/168423

4 packages failed to build:
python310Packages.ipyvolume python310Packages.niwidgets python39Packages.ipyvolume python39Packages.niwidgets

4 packages built:
python310Packages.ipywebrtc python310Packages.pythreejs python39Packages.ipywebrtc python39Packages.pythreejs

Thanks @bcdarwin, I've been working in python39, haven't checked against 310 yet, good to know there are some incompabilities there. Is failing under 310 a blocker to merge, or can we flag that this doesn't work on 310 yet?

The pythonImportsCheck for niwidgets appears to be failing; maybe you need to export HOME=$TMPDIR or similar for that phase?

What error are you getting and is this with python3Packages, or a specific version? It's working for me but as I'm not on nixOS that doesn't mean much.

Stylistically, a few more blank lines between logical sections of the expression would be slightly nicer.

What do you consider to be the logical sections? package level vars + src fetch, dependendencies, and meta maybe?

Also looking at the OfBorg failures for darwin and linux, it looks like the the test directory is read only during check phase where the test suite is attempting to create files. Any suggestions for how to work around this (it doesn't seem to be the case when I build locally, don't know if this is CI or NixOS or something weird about my set up)

Build failures under 310 seem to be the use of collections.Mapping, which is now collections.abc.Mapping

Also looking at the OfBorg failures for darwin and linux, it looks like the the test directory is read only during check phase where the test suite is attempting to create files. Any suggestions for how to work around this (it doesn't seem to be the case when I build locally, don't know if this is CI or NixOS or something weird about my set up)

See my above comment about setting $HOME.  Not sure why the tests pass on your machine, though - they should not (irrespective of NixOS or not).

Also looking at the OfBorg failures for darwin and linux, it looks like the the test directory is read only during check phase where the test suite is attempting to create files. Any suggestions for how to work around this (it doesn't seem to be the case when I build locally, don't know if this is CI or NixOS or something weird about my set up)

See my above comment about setting $HOME. Not sure why the tests pass on your machine, though - they should not (irrespective of NixOS or not).

If the issue is $HOME is unset and the tests are trying to write there, It's possible I forgot to build purely at some point and have been hitting the cached version. This seems like this has nothing to do with pythonImportsCheck though, should break the normal check phase though.

Build failures under 310 seem to be the use of collections.Mapping, which is now collections.abc.Mapping
This has been fixed in the github version but hasn't made it to pypi yet (currently release was 0.5.2 from 2019, github is tagged at 0.6.0-alpha10), happy to migrate to the github version if this is a blocker.

You should set disabled = pythonOlder "..." in general, and for this package you can either update to the GitHub version or set meta.broken = ....

It would be disabling pythonNewer I think, meta.broken would be annoying because the package isn't broken, it just isn't compatible with 310 (yet). I think switching to the github version should be ok - I'll give that a go.

Also looking at the OfBorg failures for darwin and linux, it looks like the the test directory is read only during check phase where the test suite is attempting to create files. Any suggestions for how to work around this (it doesn't seem to be the case when I build locally, don't know if this is CI or NixOS or something weird about my set up)

See my above comment about setting $HOME. Not sure why the tests pass on your machine, though - they should not (irrespective of NixOS or not).

If the issue is $HOME is unset and the tests are trying to write there, It's possible I forgot to build purely at some point and have been hitting the cached version. This seems like this has nothing to do with pythonImportsCheck though, should break the normal check phase though.

Build failures under 310 seem to be the use of collections.Mapping, which is now collections.abc.Mapping
This has been fixed in the github version but hasn't made it to pypi yet (currently release was 0.5.2 from 2019, github is tagged at 0.6.0-alpha10), happy to migrate to the github version if this is a blocker.

You should set disabled = pythonOlder "..." in general, and for this package you can either update to the GitHub version or set meta.broken = ....

It would be disabling pythonNewer I think, meta.broken would be annoying because the package isn't broken, it just isn't compatible with 310 (yet). I think switching to the github version should be ok - I'll give that a go.

Sorry, what I meant was that you should additionally add the lower bound for these packages (even if they're lower than what Hydra builds).
Switching to the Github version is probably fine but I'd be happy to have the non-alpha version with meta.broken set -- it's a fairly common idiom in python-modules.

Closing as niwidgets appears to be abandoned and unbuildable with recent Python packages (ipywidgets etc.).
Of course, it may still be worthwhile to add updated versions of the dependencies included in this PR at some point.


Platform/Core : Rest Service for Area

Data model
The model is identical to Iterations except Area only has a name, no start/end date)
It's hierarchical structure that belongs to a Space and can be attached to a WorkItem.
Actions

Create
List
Create Child
Update
Delete
Associate with WorkItem
Filter WorkItems

Actions not available on the Area Service

Associate with WorkItem
Filter WorkItems


Update how-to-increase-disk-quotas.md

Added automatically approved limit for users.

Ping @jotaskin :)


Integrating Lighthouse Plugin with Openshift CoreDNS.

The lighthouse coreDNS plugin is now not a part of the default Openshift CoreDNS image, we build a custom image and the coreDNS in the cluster is restarted after updating the image.
We need to make the Lighthouse Plugin a part of the default coreDNS image. The lighthouse shall be always enabled in the coremap, but it should just return a default status if SubMariner is not deployed so that the next plugin will take over the request.

As part of our effort to align with the proposal coming from sig-multicluster, we will go with a forward plugin instead.


fix: use current() instead of approved_up_to_transaction() in codebase

TP-2000-396 - Use current() instead of approved_up_to_transaction() in codebase

Why

approved_up_to_transaction() is largely redundant and the functionality that it holds instead sits under the current function instead.
Instead of passing around transactions between views and forms before supplying approved_up_to_transaction, we should use the current queryset method instead. This ticket is to replace any instances of the former with the latter.
What

Essentially replacing (almost) every instance of approved_up_to_transaction() with current(). This also means in some cases, the extra arguments that are passed to functions are also being removed as part of this. Thorough regression testing will be carried out by myself and the product manager to ensure this does not break any features within TAP.

I'm just about to push the button on a review, Tash. Sorry there're so many repeat comments, but I did stop before the end of my diff, so there may be more to follow - or not if some of my (repeated) comments are ill-founded!


Include custom columns in header row of datamap

Closes #2768
Code Changes

[x] Ensure custom columns are included with the header output of /datamap
[x] Resolve duplication of custom fields across all rows regardless of fides_key

Steps to Confirm

[x] Bounce this branch against fidesplus and test the datamap UI has the custom fields

Manual detail steps:

[ ] Using fides run nox -s "fides_env(test)"
[ ] Using fidesplus run the datamap UI locally using npm run dev
[ ] Ensure the datamap looks good normally without custom fields http://localhost:4000/datamap
[ ] Execute the following sql commands against the database to populate custom fields (I used dbeaver)

insert into public.plus_custom_field_definition (id, name, description, field_type, resource_type, field_definition, active)
select 'new_id', 'country', 'country name', 'string', 'system', 'string', true;

insert into public.plus_custom_field (id, resource_type, resource_id, custom_field_definition_id, value)
select 'updated_id', 'system', 'demo_analytics_system', 'new_id', '{portugal}';

[ ] Ensure the datamap looks good with custom fields populated for demo_analytics_system http://localhost:4000/datamap

Pre-Merge Checklist

[x] All CI Pipelines Succeeded
Documentation:

[x] documentation complete, PR opened in fidesdocs
[ ] documentation issue created in fidesdocs

[x] Issue Requirements are Met
[x] Relevant Follow-Up Issues Created
[x] Update CHANGELOG.md

Description Of Changes
Found as part of the release for 2.8.0
An additional finding around the application of the custom fields was also found and included in here

resolved the issue where the data was overpopulating, now just need to clean up and put into review. We should be able to move ahead with a patch release for this as early as tomorrow

Updated screenshot with custom field only applied where it should be:


[WIP] Add non-MPL references from Miro

What is this PR trying to achieve?
Expose other legacy identifiers in the API content.
Resolves #1129.
Who is this change for?
Folks who have old references lying around.
Have the following been considered/are they needed?

[ ] Deployed new versions

Moving back to WIP as the zipping-two-fields logic will be useful for the WIA stuff. It’s already a bit hacky, so I’d like to do it properly.

And now that’s done. Ready for review.


Added link to Accessibility Observatory data sets

We might trim the description later, but  your contribution is  greatly appreciated! We will accept this as is.


Fixed #32885 -- Removed cookie-based token specific logic from CsrfViewMiddlewareTestMixin.

https://code.djangoproject.com/ticket/32885

@cjerdonek Thanks :+1:


add rollbar stub when actual snippet is not loaded

During testing and development it's nice to be able to continue to have Rollbar calls made while not loading the snippet nor having token available.
This is not seen as the best potential solution but as a discussion to get started.
Instead of stubs could make use of Ember.logger.warn etc to have output to developers that something is actually happening when they are making calls to Rollbar.

@trisrael thanks for the PR!
I'm not sure I'm in favor of this approach though. Stubbing out the Rollbar API seems prone to edge cases - we would have to track each API change and update the stub to match. Especially since it would be stubbed by default during testing, but not in production, this feels like a recipe for difficult to diagnose bugs.
Perhaps we could change it so the snippet is always included, but set enabled to false for development and test environments? Would that satisfy your use case?

Okay I've been able to include the snippet by turning rollbar.enabled = true which is working for my cases so far.


Remove AD CS service restart

There is no need to restart AD CS service after creating and publishing a new Certificate Template.

Learn Build status updates of commit 1d49d39:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

WindowsServerDocs/remote/remote-access/vpn/always-on-vpn/deploy/vpn-deploy-server-infrastructure.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Performance: Elements 'snap-in' on load

It looks like layout is being blocked while the File Explorer loads:

This adds some 'jank' to the loading experience.
I wonder if there are any blocking portions of loading the explorer?

@bryphe just tried opening it repeatedly on my machine and I can't replicate this on my machine unless I up the recurse depth, but in that case it does do something similar.
Could be that I've missed a trick in the docs(https://ocsigen.org/lwt/4.1.0/manual/manual). Two things of note is that when Lwt_main.run is called it waits for the promise to be fufilled, I don't quite know how Isolinear works but the run is called in an effect there so maybe waiting for that promise stops things temporarily. I also just realised that although it talks about a separate thread a lot I think you have to use Lwt_preemptive.detach to actually run the promise in a seperate thread

Scratch that lwt_preemptive.detach is intended for long running non-lwt functions

I might have jumped in too heavily on the Lwt aspect of things I guess something to also consider is rendering/processing the tree

Ok I'll stop spamming this thread I'll look into it (unless someone else has already), it could be that I'm misusing Lwt in parts :thinking:

Dropping the maxDepth to 5 or so completely resolves the issue in large directories on my machine, although before implementing that I'm going to look into if/how I can get Lwt to handle this differently.

Cool, thank you for investigating this @Akin909 ! 💯

Dropping the maxDepth to 5 or so completely resolves the issue in large directories on my machine,

This seems reasonable - we don't expand directories by default, I don't think, so would it be OK to just use a maxDepth of 1 for the initial load - and then go deeper when the user expands a folder? 🤔

@bryphe tbh that's definitely doable its probably what I'd have done from the outset if I'd implemented it with the depth concept at the beginning as all the folders are closed on load. I actually tested with one when implementing the depth, there's no real difference to the user :man_shrugging:.
But yeah it would be nice for Lwt to handle all the processing of to the side and only report back when the tree is loaded

Fixed by #320


cranelift-codegen: Expose EmitState and EmitInfo from aarch64

This commit exposes EmitState and EmitInfo so that they can be consumed by Winch.
This is a follow up to https://github.com/bytecodealliance/wasmtime/pull/5570, in which this should've been included.

That makes sense to me, thanks!


Philips TV not discovering emulated hue

Hi, I have non Android Philips TV that doesn't discover emulated hue bridge for use with Ambilight+Hue.
I have also diyHue setup and diyHue bridge is working with my TV. I think that problem is with SSDP discovery.
This is ssdp from emulated hue:
[+] ('<IP_ADDRESS>', 57234)
HTTP/1.1 200 OK
CACHE-CONTROL: max-age=60
EXT:
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: FreeRTOS/6.0.5, UPnP/1.0, IpBridge/0.1
hue-bridgeid: 1234
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:Socket-1_0-221438K0100073::urn:schemas-upnp-org:device:basic:1

And this from diyHue:
[+] ('<IP_ADDRESS>', 1900)
HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
EXT:
CACHE-CONTROL: max-age=100
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.20.0
hue-bridgeid: B827EBFFFEB31E9E
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-b827ebb31e9e::upnp:rootdevice

[+] ('<IP_ADDRESS>', 1900)
HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
EXT:
CACHE-CONTROL: max-age=100
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.20.0
hue-bridgeid: B827EBFFFEB31E9E
ST: uuid:2f402f80-da50-11e1-9b23-b827ebb31e9e
USN: uuid:2f402f80-da50-11e1-9b23-b827ebb31e9e

[+] ('<IP_ADDRESS>', 1900)
HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
EXT:
CACHE-CONTROL: max-age=100
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.20.0
hue-bridgeid: B827EBFFFEB31E9E
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-b827ebb31e9e

I'm using both on the same host (ofcourse not simultaneously), so the IP is the same...
description.xml looks almost the same - differnece that UDN match ssdp USN in diyHue, this is from Emulated Hue:
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<URLBase>http://<IP_ADDRESS>:80/</URLBase>
<device>
<deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
<friendlyName>Home Assistant</friendlyName>
<manufacturer>Signify</manufacturer>
<manufacturerURL>http://www.philips.com</manufacturerURL>
<modelDescription>Philips hue Personal Wireless Lighting</modelDescription>
<modelName>Philips hue bridge 2015</modelName>
<modelNumber>BSB002</modelNumber>
<modelURL>http://www.meethue.com</modelURL>
<serialNumber>B682D3FFFE45AC29</serialNumber>
<UDN>uuid:2f402f80-da50-11e1-9b23-b682d345ac29</UDN>
<presentationURL>index.html</presentationURL>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<height>48</height>
<width>48</width>
<depth>24</depth>
<url>hue_logo_0.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<height>120</height>
<width>120</width>
<depth>24</depth>
<url>hue_logo_3.png</url>
</icon>
</iconList>
</device>
</root>

and this from diyHue:
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<URLBase>http://<IP_ADDRESS>:80/</URLBase>
<device>
<deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
<friendlyName>Philips hue (<IP_ADDRESS>)</friendlyName>
<manufacturer>Signify</manufacturer>
<manufacturerURL>http://www.philips.com</manufacturerURL>
<modelDescription>Philips hue Personal Wireless Lighting</modelDescription>
<modelName>Philips hue bridge 2015</modelName>
<modelNumber>BSB002</modelNumber>
<modelURL>http://www.meethue.com</modelURL>
<serialNumber>b827ebb31e9e</serialNumber>
<UDN>uuid:2f402f80-da50-11e1-9b23-b827ebb31e9e</UDN>
<presentationURL>index.html</presentationURL>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<height>48</height>
<width>48</width>
<depth>24</depth>
<url>hue_logo_0.png</url>
</icon>
</iconList>
</device>
</root>

I'm using diyHue currently but prefer Emulated Hue because of better HA integration.

Thanks for the detailed report. We'll adjust the discovery schemes according to your info so we can see if that helps.
I'll let you know once a new version is available.

Problem can be also bad MAC adress used as serialNumber in Emulated Hue. MAC address for external network interface is b8:27:eb:b3:1e:9e - diyHue uses it OK in SerialNumber, UDN and hue-bridgeid fields (ssdp, and description.xml) but I can configure it in env variables - Emulated Hue cannot be configured (only autodiscovery that discovers bad, internal virtaul, MAC address I think)

Yes, MAC is definitely one of the problems:
2020-12-31 18:56:36,504 INFO  emulated_hue.config -- Auto detected listen IP address is <IP_ADDRESS>
2020-12-31 18:56:36,586 DEBUG getmac -- Raw MAC found: None

It falls back to some default/hardcoded mac when it can't be autodetected which worked correctly before on my Philips TV. Although we should probably find a way to properly determine the mac on docker this shouldn't be the issue of the failing discovery. @alexyao2015 fixed some stuff yesterday that might solve the discovery issue but we're still doing some tests.
For now I'll build a new 0.0.8 version so you can test with yesterday's changes to see if it helps.

version 0.0.8 is currently building to docker hub and should be available within an hour.
can you give that a test drive please ?

version 0.0.8 is currently building to docker hub and should be available within an hour.
can you give that a test drive please ?

Sorry, discovery still fails and still ssdp message looks like before:
[+] ('<IP_ADDRESS>', 52385)
HTTP/1.1 200 OK
CACHE-CONTROL: max-age=60
EXT:
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: FreeRTOS/6.0.5, UPnP/1.0, IpBridge/0.1
hue-bridgeid: 1234
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:Socket-1_0-221438K0100073::urn:schemas-upnp-org:device:basic:1

<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<URLBase>http://<IP_ADDRESS>:80/</URLBase>
<device>
<deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
<friendlyName>Home Assistant</friendlyName>
<manufacturer>Signify</manufacturer>
<manufacturerURL>http://www.philips-hue.com</manufacturerURL>
<modelDescription>Philips hue Personal Wireless Lighting</modelDescription>
<modelName>Philips hue bridge 2015</modelName>
<modelNumber>BSB002</modelNumber>
<modelURL>http://www.philips-hue.com</modelURL>
<serialNumber>b827ebb31e9e</serialNumber>
<UDN>uuid:2f402f80-da50-11e1-9b23-b827ebb31e9e</UDN>
<presentationURL>index.html</presentationURL>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<height>48</height>
<width>48</width>
<depth>24</depth>
<url>hue_logo_0.png</url>
</icon>
</iconList>
</device>
</root>

MAC is correctly detected now  and brisge serial id changed, so I have been forced to wipe old config and cert to get it back to work with Hue Android App, but no luck with Philips TV...
As you can see, difference from diyHue in ssdp is:

1 ssdp message instead of 3
hue-bridgeid is 1234 instead of bridge serial
USN does not match  field in description.xml
bridge serial number is pure MAC address without FFFE in the middle

Sorry, discovery still fails and still ssdp message looks like before:
[+] ('<IP_ADDRESS>', 52385)
HTTP/1.1 200 OK
CACHE-CONTROL: max-age=60
EXT:
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: FreeRTOS/6.0.5, UPnP/1.0, IpBridge/0.1
hue-bridgeid: 1234
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:Socket-1_0-221438K0100073::urn:schemas-upnp-org:device:basic:1

<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<URLBase>http://<IP_ADDRESS>:80/</URLBase>
<device>
<deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
<friendlyName>Home Assistant</friendlyName>
<manufacturer>Signify</manufacturer>
<manufacturerURL>http://www.philips-hue.com</manufacturerURL>
<modelDescription>Philips hue Personal Wireless Lighting</modelDescription>
<modelName>Philips hue bridge 2015</modelName>
<modelNumber>BSB002</modelNumber>
<modelURL>http://www.philips-hue.com</modelURL>
<serialNumber>b827ebb31e9e</serialNumber>
<UDN>uuid:2f402f80-da50-11e1-9b23-b827ebb31e9e</UDN>
<presentationURL>index.html</presentationURL>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<height>48</height>
<width>48</width>
<depth>24</depth>
<url>hue_logo_0.png</url>
</icon>
</iconList>
</device>
</root>

MAC is correctly detected now  and brisge serial id changed, so I have been forced to wipe old config and cert to get it back to work with Hue Android App, but no luck with Philips TV...
As you can see, difference from diyHue in ssdp is:

1 ssdp message instead of 3
hue-bridgeid is 1234 instead of bridge serial
USN does not match  field in description.xml
bridge serial number is pure MAC address without FFFE in the middle

Are you able to confirm that diyhue does connect without issues currently? I know I've seen bug reports specifically relating the the Phillips TV and ambilight+hue in the past from diyhue.
The bridge serial in the xml should be correct here as purely the Mac address, so that's unlikely to be causing the issue. It seems like it would be more likely that those other variations are causing it.

Are you able to confirm that diyhue does connect without issues currently? I know I've seen bug reports specifically relating the the Phillips TV and ambilight+hue in the past from diyhue.
The bridge serial in the xml should be correct here as purely the Mac address, so that's unlikely to be causing the issue. It seems like it would be more likely that those other variations are causing it.

Yes, I can confirm, that my Philips TV discovers and connects to diyHue without problem (i'm switching back to diyHue after each test, becaouse I'm using ambilight+hue fucntion often ;) )

Yes, I can confirm, that my Philips TV discovers and connects to diyHue without problem (i'm switching back to diyHue after each test, becaouse I'm using ambilight+hue fucntion often ;) )

OK, I made some tests, I have copied 4 lines from diyHue code, and replaced in upnp.py in this repo:

Lines 27-42 replaced with:

        self.response_message = 'HTTP/1.1 200 OK\r\nHOST: <IP_ADDRESS>:1900\r\nEXT:\r\nCACHE-CONTROL: max-age=100\r\nLOCATION: http://' + config.ip_addr + ':' + str(config.http_port) + '/description.xml\r\nSERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.20.0\r\nhue-bridgeid: ' + config.bridge_id + '\r\n'
        self.custom_response_message = {0: {"st": "upnp:rootdevice", "usn": "uuid:" + config.bridge_uid + "::upnp:rootdevice"}, 1: {"st": "uuid:" + config.bridge_uid, "usn": "uuid:" + config.bridge_uid}, 2: {"st": "urn:schemas-upnp-org:device:basic:1", "usn": "uuid:" + config.bridge_uid}}

Line 95 relaced with:

                for x in range(3):
                    resp_socket.sendto(bytes(self.response_message + "ST: " + self.custom_response_message[x]["st"] + "\r\nUSN: " + self.custom_response_message[x]["usn"] + "\r\n\r\n", "utf8"), addr)

And my Philips TV detects Emulated Hue now ;)

OK, I made some tests, I have copied 4 lines from diyHue code, and replaced in upnp.py in this repo:

Lines 27-42 replaced with:

        self.response_message = 'HTTP/1.1 200 OK\r\nHOST: <IP_ADDRESS>:1900\r\nEXT:\r\nCACHE-CONTROL: max-age=100\r\nLOCATION: http://' + config.ip_addr + ':' + str(config.http_port) + '/description.xml\r\nSERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.20.0\r\nhue-bridgeid: ' + config.bridge_id + '\r\n'
        self.custom_response_message = {0: {"st": "upnp:rootdevice", "usn": "uuid:" + config.bridge_uid + "::upnp:rootdevice"}, 1: {"st": "uuid:" + config.bridge_uid, "usn": "uuid:" + config.bridge_uid}, 2: {"st": "urn:schemas-upnp-org:device:basic:1", "usn": "uuid:" + config.bridge_uid}}

Line 95 relaced with:

                for x in range(3):
                    resp_socket.sendto(bytes(self.response_message + "ST: " + self.custom_response_message[x]["st"] + "\r\nUSN: " + self.custom_response_message[x]["usn"] + "\r\n\r\n", "utf8"), addr)

And my Philips TV detects Emulated Hue now ;)

Great! I was about to make the same changes. Maybe the second change is not even needed btw.
One single message with correct bridge id and USN should suffice is my guess

Great! I was about to make the same changes. Maybe the second change is not even needed btw.
One single message with correct bridge id and USN should suffice is my guess

I have tried at first just single message like this:
        resp_template = """HTTP/1.1 200 OK
CACHE-CONTROL: max-age=60
EXT:
LOCATION: http://{0}:{1}/description.xml
SERVER: FreeRTOS/6.0.5, UPnP/1.0, IpBridge/0.1
hue-bridgeid: {2}
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:{3}::urn:schemas-upnp-org:device:basic:1

"""

        self.upnp_response = (
            resp_template.format(config.ip_addr, config.http_port, config.bridge_id, config.bridge_uid)
            .replace("\n", "\r\n")
            .encode("utf-8")
        )

But that didn't help... Only after applying all 3 messages it detected emulated hue bridge

I have tried at first just single message like this:
        resp_template = """HTTP/1.1 200 OK
CACHE-CONTROL: max-age=60
EXT:
LOCATION: http://{0}:{1}/description.xml
SERVER: FreeRTOS/6.0.5, UPnP/1.0, IpBridge/0.1
hue-bridgeid: {2}
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:{3}::urn:schemas-upnp-org:device:basic:1

"""

        self.upnp_response = (
            resp_template.format(config.ip_addr, config.http_port, config.bridge_id, config.bridge_uid)
            .replace("\n", "\r\n")
            .encode("utf-8")
        )

But that didn't help... Only after applying all 3 messages it detected emulated hue bridge

can you test with this message:
`        resp_template = """HTTP/1.1 200 OK
CACHE-CONTROL: max-age=60
EXT:
LOCATION: http://{0}:{1}/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.20.0
hue-bridgeid: {2}
ST: uuid:{3}
USN: uuid:{3}
"""
    self.upnp_response = (
        resp_template.format(config.ip_addr, config.http_port, config.bridge_id, config.bridge_uid)
        .replace("\n", "\r\n")
        .encode("utf-8")
    )

`

can you test with this message:
`        resp_template = """HTTP/1.1 200 OK
CACHE-CONTROL: max-age=60
EXT:
LOCATION: http://{0}:{1}/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.20.0
hue-bridgeid: {2}
ST: uuid:{3}
USN: uuid:{3}
"""
    self.upnp_response = (
        resp_template.format(config.ip_addr, config.http_port, config.bridge_id, config.bridge_uid)
        .replace("\n", "\r\n")
        .encode("utf-8")
    )

`

Yes, you're right - I've tried also yours modifier response with just one message and that also worked 👍

Yes, you're right - I've tried also yours modifier response with just one message and that also worked 👍

great, just as I thought. Thanks for your help testing!!!

great, just as I thought. Thanks for your help testing!!!

Are you able to test one more thing in a few minutes once I fixed the code ?

Are you able to test one more thing in a few minutes once I fixed the code ?

Yes, I can test, but currently I have not menaged to connect to HA with my local repo yet

Yes, I can test, but currently I have not menaged to connect to HA with my local repo yet

version 0.0.9 is now up. it includes the SSDP broadcast fix. Can you let me know if is indeed fixed now ?

version 0.0.9 is now up. it includes the SSDP broadcast fix. Can you let me know if is indeed fixed now ?

Thanks, I can confirm it is fixed now! Successfully discovered and linked Emulated Hue with Ambilight+Hue on my Philips TV

Thanks, I can confirm it is fixed now! Successfully discovered and linked Emulated Hue with Ambilight+Hue on my Philips TV


Fix README for JavaCV

Update the link.

Modify the documentation according to:

https://mvnrepository.com/artifact/com.github.sarxos/webcam-capture-driver-javacv
https://mvnrepository.com/artifact/com.github.sarxos/webcam-capture-driver-opencv

Coverage increased (+0.07%) to 18.849% when pulling 3a30edc1d02c59a361dbffba6a3267d76197e808 on GaillardTheo:fix-README-link into 4d8d63aa6ac19611f0473687f0aac1f913aa38e3 on sarxos:master.

Hi @GaillardTheo,
Thank you for this pull request! I'm merging it :)


MSAL Authentication and InteractiveBrowserCredential

We have react SPA and asp.net webapi, both use Azure AD authentication. React app uses MSAL libraries and get the token, which can be used to call webapi. However if we use azure-sdk-for-js, how can we use the existing token and convert to InteractiveBrowserCredential? If we try to get a toekn using InteractiveBrowserCredential, it will ask to reauthenticate.

@daggubatirao you could try implementing the TokenCredential interface, returning the existing token from getToken()
https://github.com/Azure/azure-sdk-for-js/blob/c73618e2946852ac36b5379d158044ee68f64afe/sdk/core/core-auth/src/tokenCredential.ts#L10


Improve archived hash map implementation

The current implementation has great performance but could stand to save space. This is an opportunity to decrease its memory footprint by reducing the size of the indirection table. Right now, every entry in the indirection table is a u32, but most of them probably don't have to be that big. Let's take a look and see if we can't make it a bit lighter.

Moving this out of the milestone.


Device dimensions currently affect the final position of parallax tileset layer (setScrollFactor)

Version

Phaser Version: 3.55.2 (tested with 3.24 too, before the Static & Dynamic layers were merged)

Operating system: W10, MacOs Montery

Browser: Reproduced on Brave, Chrome, Safari.

Description
When creating parallax layers from a tilemap, the setScrollFactor value is used in conjuction with the main.camera's scrollX value in order to determine the parallax layer's offset.
The result is that a same tilemap will have its parallax layers move slower on a wide screen than on a narrow screen. It's thus impossible to safely create cross-device parallax experiences based on a tilemap.
See illustrations in forum forum post
Example Test Code
See https://github.com/Dercetech/phaser-355-broken-parallax, the README.md has the instructions.
With 320px wide, move the "frog" right until it faces the FG5 block (50th foreground tile). Here, you notice both midground 3 (MG3) and background 2 (BG3) are perfectly aligned:

Now, modifying the game config in src/main.ts, use 512px width:

The midground and background are no longer aligned in spite of the camera being centered on the same midpoint (square: FG5). Midground and background are lagging behind: larger screens have lower scrollX due to being "closer" to the world origin for the given midpoint. This is to be expected since the scrollX value of the camera is used to compute the parallax background offsets.
Additional Information
The main.camera's midpoint should be used to synchronize all the layers that have a scroll factor. Only the non-parallax one should use the existing behavior. A basic but effective approach is to instruct Phaser to align all layers via their center.
The best scenario would be to define a per parallax layer focal point. Out of scope as we're discussing a bug, not a feature request.

This issue has been mentioned on Phaser. There might be relevant details there:
https://phaser.discourse.group/t/screen-size-affects-scrollfactor-bug-or-expected-behavior/11802/1

Hi @photonstorm, indeed it's my original post. Since it appears to be a problem I decided to report it here.

Hi @photonstorm, indeed it's my original post. Since it appears to be a problem I decided to report it here.

Those messages are auto-posted by Discord, I don't create them manually.

@Dercetech I played around with your example. The issue is that the camera does not start scrolling before the player reaches the center of the screen. This is by design. If you want to support different viewport sizes, then this can easily be fixed with the offsetX and offsetY arguments of the startFollow function:
Instead of:
this.cameras.main.startFollow(this._player);

use:
this.cameras.main.startFollow(this._player, undefined, undefined, undefined, (320 - this.cameras.main.width) / 2,0);

Then 320px is your "main" width while the others adopt to it.

Going to close this as it can be resolved via the startFollow offset or layer position adjustments via the Scene update.


Rename teamdigitale/italia-* repos to teamdigitale/io-*

Warnings

:warning:

Please include a Pivotal story at the beginning of the PR title (see below).

:warning:

Please include a description of your PR changes.

Example of PR titles that include pivotal stories:

single story: [#123456] my PR title
multiple stories: [#123456,#123457,#123458] my PR title

  Generated by :no_entry_sign: dangerJS


Support hyphen - and other special characters in variable names

Updating variable access logic to work with {{ regular }} (which is current behavior) as well as {{ _['base-url'] }}, which caters for dashes and special characters in the key.
Nunjucks templates support JS square bracket notation out of the box, but not as the first node. For example, {{ ['base-url'] }} is invalid (as it is in JS) while {{ variable['base-url'] }} is valid. For this reason, we have exposed the template context object (which is provided to Nunjucks), on the variable _, allowing you to access root keys that contain dashes or special characters, like {{ _['base-url'] }}.
The context object is exposed under _ in addition to the current implementation, so the old syntax (without _) will still work, when importing workspaces, or upgrading versions of Insomnia, for example.
I selected _ somewhat arbitrarily. If we would like to change that to something like _ctx, _env, $, or a different character, now is the best time to chime in. _ feels least invasive.
The autocomplete drop-down has been updated to always prefix an environment variable with _, to keep things consistent. It will also only use square bracket notation where necessary. If there are no special characters, regular dot notation will be used, now prefixed with _.
Old left, new right, both work

Old returns NaN, new returns the correct variable

Hiding the _. prefix or the bracket syntax from the user in the nice rendered tag view is doable, and shouldn't be too tricky, but it would be somewhat misleading. Open to thoughts on that, but I will not change in this PR, it will be changed in a future PR.

Additionally, NeDB has rules to prevent a key from starting with $ or contain a ., so I have updated the regex key check for the environment editor. In the current implementation, errors are presented in console, and the changes do not persist (semi-silent failure), if you try to save something without following these rules which the existing regex did not check for.

Screenshots
Environment

Autocomplete dropdown

Tags

Raw syntax

Not found errors

Variable editor modal

Regex Checks

Most importantly, this doesn't impact any existing tags

TODO:

[x] Extract reusable regex and hard-coded strings into constants
[x] Ensure folder environment editor handles hyphen the expected way
[x] Double check all regex related changes
[ ] Add unit tests where possible

To test:

[x] Ensure export/import works
[x] Check importers (postman)
[x] Check openapi import
[x] Ensure environment editor presents appropriate errors for invalid keys
[x] Ensure folder environment editor presents appropriate errors for invalid keys

Fixes #1666, Fixes #456, Fixes #1960, Related to #2051, Fixes INS-118

👍 as a developer who works with Twig on a daily basis, I was going to suggest a custom filter to handle the dashes and it seems exactly the approach you have already gone with. I think your solution is solid.  Retains template capabilities, UI mostly hides the filter so it does not impact usability.  Really looking forward to this.

Another option I've thought of in the past is to expose the root environment under $ (or something similar) just before rendering, then use square bracket syntax like {{ $['foo']['bar-haha+blah  woo!']['baz'] }} instead of dot notation. You wouldn't need an extra filter and it works out of the box with nested properties.

Another option I've thought of in the past is to expose the root environment under $ (or something similar) just before rendering, then use square bracket syntax like {{ $['foo']['bar-haha+blah woo!']['baz'] }} instead of dot notation. You wouldn't need an extra filter and it works out of the box with nested properties.

Yah in Twig the option is there to use _context['foo']['bar-haha+blah woo!']['baz'] in the same way, I just didn't realize how similar Nunjucks was. The whole _context and square brackets is slightly uglier though, but if it's hidden, it really it comes down to what fits best for Insomnia.

I will explore this option as well 👍 and I need to validate whether nested variables work (I don't think they will).
Either way, the template and the UI will need to be different, so if the feature set is identical between the two approaches I would favour the custom filter still, as it feels a bit clearer/easier to explain. Will ponder 🤔

Added support for nesting:

Further testing - looks like nesting can kind of work without the filter altogether, square bracket syntax being supported OOTB

Doesn't quite work if the first item has illegal characters though, so it would require exposing the entire resolved context under a _ctx or $ variable, and then (likely) some regex to convert from the bracket syntax to display nicely in the tag.

All of these syntax (syntaii? :trollface:) now work. 1 & 2 are new, 3, 4 and 5 are existing, ensuring backwards compatibility

IMO there is nothing wrong to simply remove _. prefix. In most cases it looks dirty and doesn't really help, so it should be removed everywhere when possible.


Schema

Implements a first draft of a Schema.
Its validation comes afterwards.

The schema object should follow the JSON Schema specs.

closed with #11


A more general question on the builder

hi @shakfu!
Came here from our conversation in unloop, which I unfortunately have had to slow down on due to other work I've had to do for grad school.
I wanted to ask about your relocatable python builder (I think it's referred to as relocatable-python by the makefile entrypoint). More specifically, I'd like to be able to build a portable python distribution that I can embed into a VST3 plugin so I can call the gradio-client from the plugin (similar to what I wanted to do with unloop). My VST3 is built using JUCE, using CMake to take care of the build process?
I was wondering if you could point me in the right direction to see if it's possible to embed python in a C++ app w/ a Cmake build system using your builder?
Thanks in advance!

Hi @hugofloresgarcia
Interesting question. I have never hear of embedding python into a VST...
Incidentally, the py-js relocatable python build variant using the relocatable-python makefile target is based on Greg Neagle's project with the same name. I have also included some other projects which may be useful to your task:

relocatable-python: A tool for building standalone relocatable Python.framework bundles.

python-cmake-buildsystem: A cmake buildsystem for compiling Python. Probably what you are looking for.

python-build-standalone: Produce redistributable builds of Python.

Python Apple Support: A meta-package for building a version of Python that can be embedded into a macOS, iOS, tvOS or watchOS project.

Ended up going with relocatable-python, and everything worked! Thanks so much @shakfu!

My pleasure. Glad it worked out for you @hugofloresgarcia


Asynchronous AfterAll sometimes being executed before completion of asynchronous async-await tests

💥 Regression Report
An asynchronous AfterAll (that returns a promise) is sometimes executing before completion of async-await tests
Last working version
Worked up to version:
26.6.3
Stopped working in version:
27.0.1
To Reproduce

Create an asynchronous BeforeAll and an asynchronous AfterAll that both return a promise.
Create a unit test that uses async and await
Intermittently, the AfterAll function begins executing before the async-await unit tests have completed.

Expected behavior
AfterAll should not execute until all asynchronous unit tests have fully completed.

Closing as can no longer replicate


Always print progress

Currently, progress is only printed when some options were specified (see #32), but I think it's better to always print it.
Before:
$ cargo hack check --all
info: running `cargo check` on member1
...
info: running `cargo check` on member2
...
info: running `cargo check` on member3
...

After
$ cargo hack check --all
info: running `cargo check` on member1 (1/3)
...
info: running `cargo check` on member2 (2/3)
...
info: running `cargo check` on member3 (3/3)
...

bors r+


Remove version: Wesnoth.BattleForWesnoth version 1.16.1

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

Close with reason: URL works;


Default XR action map broken in webXR on Quest 3

Tested versions
Godot v4.3.stable
System information
Manjaro Linux  X11 - GLES3 (Compatibility) - NVIDIA GeForce RTX 3060 (nvidia; 550.107.02) - Intel(R) Core(TM) i5-8600K CPU @ 3.60GHz (6 Threads)
Issue description
"primary" action  (for the main thumbstick) is not working. reports 0,0
godot xr tools movement providers also affected, as they default to this action
other things work, such as the trigger
Steps to reproduce
create a blank project and add godotxr tools, add the default startxr script to add a button to enter XR mode, add a basic player and controller setup for XR and try adding one of the movement providers (they don't work)
Minimal reproduction project (MRP)
N/A

cc @dsnopek

Thanks!
What headset and web browser are you using?
WebXR actually doesn't use the action map, that's an OpenXR thing. WebXR itself returns data for either "thumbstick" or "trackpad", and XR Tools has some internal settings that chooses which of those will be mapped to "primary" or "secondary".
In any case, I just tested on a Meta Quest Pro in the Meta Browser (with v69 - there's a bug presently in v68 that affects Godot) and the "thumbstick" was returning correct output.
So, I suspect the problem is either related to the headset or browser, or perhaps there is an XR Tools issue?


More control over the prompt plugin

This PR extends the idea introduced in #1597 which allowed the possibility of reuse the previous entered value if you marked Default to Last Value.
Background
I've found myself having a separate file with text strings to C&P them into the prompt dialogs because the behavior of that dialog wasn't as flexible as I wanted, so I tried to improve the current prompt dialog plugin with my own needs, but I thought they are general enough so they could be useful for others.
Feature

This PR leaves the user to choose between a couple of options about how to show the prompt:

on each request with an empty text box, ignoring any previously entered value (original behavior)
on each request but defaults to the prompt's default value, ignoring any previously entered value (new behavior)
on each request but defaults to the current stored value (aka Default to Last Value)
once and storing the value for futher requests (the behavior used when a Storage Key was set).

As a new feature now the prompt text is autoselected in order to quickly edit it if you want to change the value.
Remarks
In order to keep the backwards compatibility I transformed the current Default to Last Value booleans to the equivalents enums.
A broken behavior is that the prompt now is shown regardless a custom storage key has been set if the user choosed any of the on each request options, but this could be useful because until now there was no way to change the stored message unless one reload the whole application.

I'm wondering if this should be split into it's own select, and retain the previous functionality as-is. Thoughts?

I choosed this approach because I think that the previous feature was a very specific case, while mine is more general and encompasses it (also it's backwards compatible)
Also I tried to prevent increasing the number of parameters of the prompt plugin.

@superruzafa After playing around with this, I can't actually find any new behavior that can't already be done with the old setup.

on each request with an empty text box, ignoring any previously entered value (original behavior)

Default to Last Value unchecked
Default empty
Storage Key unchecked

on each request but defaults to the prompt's default value, ignoring any previously entered value (new behavior)

Default to Last Value unchecked
Default set
Storage Key empty

on each request but defaults to the current stored value (aka Default to Last Value)

Default to Last Value checked
Default empty or set
Storage Key empty

once and storing the value for futher requests (the behavior used when a Storage Key was set).

Default to Last Value checked or unchecked
Default empty or set
Storage Key set

Going to keep the old behavior for now unless you can point out something I'm missing. I agree that having a dropdown does make it a bit nicer, but since we can't remove other params, it sends up complicating things too much.

@gschier, it seems that the behavior I though it couldn't be reproduced can be done in fact using a combination of filters. Having said that it's ok for me if you ignore this PR if you wish :)
But maybe we can learn something good after all. What about let the user to set the exactly behavior of the prompt choosing an option from a dropdown instead of think what chekboxes/textboxes should be checked/unchecked/filled/emptied to have the same behavior?
That, I guess, is what this PR would be useful for.
Anyway, thanks a lot for your fantastic application!

I agree it would be useful to do that. However, I don't see an easy way to add this functionality without (1) duplicating options or (2) breaking backwards-compatibility. Perhaps a new prompt plugin v2 later on that implements all the things we've added since the beginning 😄


DRAFT: Adding data to host_env

Capturing sys modules, installed packages (not necessarily in sys modules), cwd, virtual_env

Blocked by issue in main preventing testing. Need to test what happens when we install a package from local or branch
pip install ../agentops
pip install git+https://github.com/AgentOps-AI/crewAI.git@main

Tested

(crewai.tools and crewai_tools are both valid packages unfortunately nothing we can do there)


show unlisted packages when searching by id

fixes #435
Review: https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/pull/436?w=1

 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.:x: campersau sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Cannot handle long file paths.

I've been using Kudu successfully for a few days to deploy a Meteor app on Window Server 2012. Recently, though, a package I added to my app has a ton of nested npm dependencies, and when I deploy, I get this:
Invalid path for filesystem 'D:/kudu/apps/scorecard/site/repository/bundle/programs/server/npm/tdamsma_meteor-accounts-ldap/node_modules/activedirectory/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.gitattributes': The data area passed to a system call is too small.\r\n

In order to get commits working in Git, I had to use Git Bash and run the command:
git config core.longpaths true

After that, I can push & pull from GitHub & Bitbucket.  Is there any way to fix this in Kudu?

windows has path limit of 260 character unless it is a network path. And your file path seems to have 265 characters.
Even if Kudu can do similar config on libgit2sharp, git library kudu is using, at the end file and folder will be created on windows file system, your deployment will fail due to the file path limit.
You might want to look for ways to reduce the length of the file path.

npm3 will allegedly help to flatten the node_modules folder (which will help me, at least), but it's not released yet.
I'm using Git-Bash to deploy manually, and it works fine.  If Kudu/libgit2sharp will not support longpaths, then I guess I'll have to wait.

@ericterpstra
npm3 seems already released https://www.npmjs.com/package/npm
3.3.8 is the latest of 169 releases

@shrimpy That's correct. Using npm3 is a good solution.  Unfortunately for me, Meteor bundles an older version of node and npm in its installer, so when it pulls packages from npm, the old nested structure is used.  I'll close this, since it's really a Meteor issue rather than Kudu.


PR updates and tests

Made a few updates based on issues created from last PR
Added more tests
Created a couple additional modules and moved some code in main to these modules
Added pre-commit and CI (made some updates based on line length issues)

Thanks! No questions as of now.


Call functions with global namespace

In my PR #44 I got feed back to use global namespace function calls . There are two things we can do here.

Opcode optimizations
For example: \is_array instead of is_array.
There is a list of functions that have an opcode benefit from those optimizations.
@see https://github.com/php/php-src/blob/master/Zend/zend_compile.c#L3803

Minor speed advantage without opcode change
Others might only have a minor advantage in speed like: \array_merge vs array_merge
There is a benchmark comparing the global namespace call vs the function lookup
@see http://veewee.github.io/blog/optimizing-php-performance-by-fq-function-calls/

There a many repositories who already have this implemented.
Like PHP-CS-Fixer (https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/3048)

Which might be a good addition to this repository to simply keep everything in check an even set the global namespace call for functions.

Since I didn't want to change the whole implementation with the mentioned PR I simply propose this here and would also file a PR if necessary.

I'm fine with explicitly calling global functions with the global namespace. I think there's an argument to be made for consistency. Feel free to open a PR for this. 😄

Will do. You can assign it to me then ;)


Create tests for ToDoTasksService #65

Wrote tests for ToDoTasksController and ToDoTasksService
Did code refactoring
This is the part of the issue #65

Codecov Report

Merging #118 (a9b6c6b) into main (0cb24c1) will increase coverage by 9.66%.
The diff coverage is 53.68%.

@@             Coverage Diff              @@
##               main     #118      +/-   ##
============================================
+ Coverage     45.32%   54.99%   +9.66%
- Complexity      202      237      +35
============================================
  Files            45       45
  Lines           942      971      +29
  Branches        116      141      +25
============================================
+ Hits            427      534     +107
+ Misses          502      400     -102
- Partials         13       37      +24

Flag
Coverage Δ

unittests
54.99% <53.68%> (+9.66%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...main/kotlin/com/innopolis/innoqueue/models/User.kt
100.00% <ø> (ø)

...n/com/innopolis/innoqueue/services/QueueService.kt
3.02% <3.03%> (+0.17%)
:arrow_up:

...om/innopolis/innoqueue/services/ToDoTaskService.kt
79.16% <76.08%> (+67.87%)
:arrow_up:

...nopolis/innoqueue/services/NotificationsService.kt
92.68% <92.30%> (-1.15%)
:arrow_down:

...innopolis/innoqueue/rest/v1/ToDoTasksController.kt
75.00% <100.00%> (+46.42%)
:arrow_up:

.../services/FirebaseMessagingNotificationsService.kt
86.11% <0.00%> (+55.55%)
:arrow_up:

...n/com/innopolis/innoqueue/utils/UsersQueueLogic.kt
62.50% <0.00%> (+62.50%)
:arrow_up:

... and 2 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[CT-1556] Smarter handling of --vars in partial parsing

Just like https://github.com/dbt-labs/dbt-core/issues/3885, but for CLI --vars.
This would require us to capture, at parse time, which files depend on which --vars, via calls to the Jinja {{ var() }} function. That would also include macros that call var(), and are then called by models / other macros in turn.
For Python models, if we introduce a built-in dbt.var() function, we'd want to do the same. We're already doing something similar for configs, to power config.get() at runtime.
Whenever the --vars change, instead of triggering a full re-parse, we'd schedule just the files that depend on the var for re-parsing. Of course, if the var is used for a configuration within dbt_project.yml, that could still affect many many nodes.

If possible, can we separate this handling from parsing? What I am thinking is that parsing is going from everything in project file -> a representation, then in actual runtime, we apply configuration to the representation and do the execution.

@ChenyuLInx Supportive of this line of thinking! The biggest caveats here is that vars can be used to dynamically disable/enable models, or to conditionally affect relationships between models — so it is necessary to resolve some vars during parsing in order to know the shape of the DAG, and to support node selection.
During parsing, we could store pointers to those variables, and then conditionally reevaluate them just before each execution. That feels similar to the approach described in this issue (partial parsing), though with some subtle differences in implementation.

@gshank Do you know if the partial parsing manifest (target/partial_parse.msgpack) contains enough information (raw file contents & unrendered yaml configurations/attributions), such that we could support a re-parse when CLI --vars are supplied, without needing to go back to the actual file system?
I'm thinking:

we can skip the need to re-read files (sooner)
we can also add support for "partial" re-parsing of only those files/nodes which are actually affected by the --vars override (the original scope of this issue)

We use the cli --vars to pass in airflow datetime variables. These change on each run, so we can't partial parse.
Is there a better way of handling datetime variables?
Can we have an ignorelist of some variable names (so that they don't trigger the partial parse) (or similiar to the secret env var ignore rule, some var prefix like VAR_NO_PARSE_my_datetime)


added_bitlocker_to_encryption_avoid

Related to https://github.com/pluja/awesome-privacy/issues/271

Yes, BitLocker is a commercial product, Windows-only and fully available only in the more expensive versions. And Microsoft in general is maybe questionable in terms of privacy.
However, how does this affect either privacy or security of BitLocker itself?
(Unless maybe you opt-in to upload the keys to your Microsoft account, but this not required at all.)

I think that @cdrnet is right. Maybe we should have more reasons to add it to the avoid list. Do we know if such app has any kind of trackers that can gather user data (or metadata) for example?

That is a nice explanation. @SoftwareRat could you edit your description to fit the information shared by @monokrome and link to the corresponding comment in this issue?

If we need more reason, let's consider that Microsoft has - in the past - gone out of their way to help law enforcement decrypt bitlocker encrypted hard disks without user consent. I recall this being in the news around 15 years ago, maybe? Even if I'm misremembering, Microsoft admittedly stores disk encryption keys which means that they'd be forced by a court to provide the keys if requested. In today's world, warrants for this kind of thing are given out in an automated fashion for NSA projects and similar things.

For completeness maybe also add that this does not seem to be true (anymore) these days, and for many years now. Yes, with BitLocker you can opt-in to upload your recovery keys to a Microsoft Account (not OneDrive), as one way among multiple to recover them if you forget the passphrase. You're not forced to do that and it does not happen automatically without asking (unless it does it anyway, but I'm not aware of any indication it would indeed do that - please correct me on this if you can find any serious infosec report on this aspect). See here on how this is shown in the UI. If you indeed do upload, then you can view and managed them on https://account.microsoft.com/devices/recoverykey - and yes, then of course Microsoft does have direct access to them and could forward them if legally required.

There are plenty of reasons to not trust bitlocker in this thread, and probably a thousand more have gone unmentioned. Even ignoring all of this, why recommend it when there are cross-platform open source solutions which already exist?

As stated above I'm not suggesting to actively recommend it, just to not put it into the avoid list - i.e. to not recommend against it. It is significantly increasing privacy for a lot of relevant vectors like lost devices or theft (arguable maybe not against government vectors) while being very easy to set up without much risks and downsides. It certainly does not negatively affect your privacy to use BitLocker vs. not using any device encryption.

Closing this issue. Will not be adding BitLocker neither recommending it.


TODO Build JACOCO test report to be used by SonarCloud

by altering the actions to run tests, output jacoco test report and then perform sonar cloud analysis

Done


Exercises-w2

Exercises
Name
Stefan Gerrits
Class
211 / Tech - 1
GitHub username
https://github.com/StefanGerrits2
Bootcamp exercises
https://github.com/StefanGerrits2/javascript-bootcamp
Bootcamp notes
https://github.com/StefanGerrits2/javascript-bootcamp/blob/master/notes.md

Your exercises have been checked and your grade is added to the admin sheet. The notes look incomplete. Just a small heads up, make sure you make correct clickable links in markdown. Your links don't point to the right repository.
Results in the next lesson!


LocaleSubPaths is not working with sub folders

Description of the bug
I'm using the simple example of next-i18next.
I have these routes:
/second-page
/news/1
/news/2
Without localeSubPaths it works fine. But when I use localeSubPath like "de", "en" etc. sub folders (news/1, news/2) are not working.
Occurs in next-i18next version
4.2.0
Steps to reproduce
https://github.com/codesignist/next-i18next-example
Expected behaviour
Routes should work with localeSubPaths like that:
/en/second-page
/en/news/1
/en/news/2
OS

OS: Win 10, 64 Bit
Browser: Chrome 80.0.3987.122

Duplicate of #413


Add Swoole

Add Swoole, Swoole has 8,840 stars, it is most popular PHP event-driven library in the world, here is the official site and document https://www.swoole.co.uk/

Duplicate of https://github.com/ziadoz/awesome-php/pull/794.

I know it’s a duplicate issue, but there are  1 year has passed, nothing changes


Fix travis build [WIP]

@Ptico  Don't merge it yet. Opening it so you can see what I have already done.
I may do some rebasing still. 👍

I'll have to do some forth and back here.
I've just discovered that we're locked at specific ruby patch level versions because of parser a mutant dependency.
When I get to a "final" form, I'll rebase.
See:
warning: parser/current is loading parser/ruby21, which recognizes

warning: 2.1.8-compliant syntax, but you are running 2.1.10.

warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.

I personally don't care about rebasing, so it's up to you. Let's lock the 2.1.8 and then reorganize, simplify and update development tools. Possibly we can bundle devtools and run mutant separately somehow

Locking the patching versions at travis and:
2.1.8 -> not running mutant tests
2.2.6 -> running
2.3.3 -> running
2.4.0 -> running
They're running but not passing mutation tests (not yet).
My plan, run mutation tests in just ONE in a separate item of travis matrix.
Put it in allow_failures.

With these last commits we are officially green. Although mutation tests are red.

I think I'll not rebase. Later someone can track some of the reasoning behind the current travis configuration.
@Ptico After travis finish, feel free to merge, modify, whatever!
I'll have to take a break now. Perhaps I'll not be back today, only tomorrow.

One more commit. Rubocop didn't like the caching of gems at vendor/ folder.

With these last commits we are officially green. Although mutation tests are red.

If you have any questions on mutation testing, feel free to show up in my slack channel.

@mbj I'll surely will. These mutation tests are so cool!

@abinoam I'm searching participants for a public mutant code dive, so I can point to it in the future. Are you interested? https://twitter.com/m_b_j/status/926277814600466433 //cc everyone here.

I'm not good at english so I'm not finding the words to explain my situation to you.
My actual work, the one that pays my bills, happens most of the time without being scheduled (<- don't know the word for this). But, I just wait for being requested, then I go out almost immediately.
So I have a poor schedule. I'm afraid to being recorded and suddenly I gotta go out and leave you alone. But, if there's more people involved and there's no problem if I go out and come in later when you're recording, perhaps I can participate. And I would surely enjoy it!


Listen long click event

Hi there,
I want to know if there any method can make me add maker through long click

onLongPress is exposed: https://github.com/moagrius/TileView#hooks-and-listeners, search issues or wiki for how to get a lat/lng back from a touch event, and then add marker however you want


Icons not included in Meteor package

<i class="material-icons prefix">account_circle</i> not being loaded.

I need to include <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> manually.

This is described in the icon documentation


What do you use it for?

Just curious

I've used it on multiple occasions, where I've had to bridge traffic from one place to the other for various reasons.
Here are a few use cases I came across:

SSL Off-loading
I had a project where we had to connect to a client's web api which was using https, but with an invalid certificate. The problem was that our ReactNative app would refuse to connect to it because certificate validation couldn't be turned off. I hosted a TcpMux instance in Azure which would connect to the remote HTTPS endpoint, and expose the API as HTTP

Network routing through a work laptop
This is why I created TcpMux in the 1st place. I had a work laptop that had a VPN setup to access internal services. I used TcpMux on that machine to expose a Tcp Port that allowed me to access those resource from my home machine. I suppose socat does this on Linux. But implementing it in C# was a lot more fun :)

Investigating and working around SSL issues in .NET
In this instance, we had a .NET app on Windows that refused to connect to an HTTPS endpoint. I investigated the issue by runnning TcpMux locally (with logging and SSL re-encryption enabled) to connect to the remote endpoint and expose a local HTTPS endpoint, and configured the app to go through it. That allowed us to use the app while we were investigating the issue (which turned to be a TLS 1.2 bug in .NET Core).

Working around firewall restriction on machine
This a classic one. Say you have a PC where the firewall only allows traffic through port 8080, but you've got an app that only expose traffic on port 1234. You can run TcpMux to open port 8080 and redirect traffic to port 1234. You also get the additional option to monitor the traffic by logging all requests in and out.

Convert HTTPS to HTTP, or vice-versa
TcpMux allows you to "turn" an HTTP endpoint into HTTPS, or the opposite. Can be useful if a particular client has restriction one way or the other.

That's all I can think of for now. Let me know if you have other ideas! :)