⚠ Spryr has degraded performance

In 16bcee0, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 5117 ms

Resolved: Spryr performance has improved in f43dc15 after 7 minutes.


Change Border Color

Is it possible to change the border color of a SettingsTile?

No not yet. Which border would you want to change anyway? The color is based on default Android or iOS color.


TypeError: context.parserServices.getStyleContext is not a function

Before You File a Bug Report Please Confirm You Have Done The Following...

[X] I have tried restarting my IDE and the issue persists.
[X] I have updated to the latest version of the packages.

What version of ESLint are you using?
v8.43.0
What version of eslint-plugin-svelte are you using?
2.31.0
What did you do?
After updating to 2.31.0 (and I also do have svelte-eslint-parser v0.31.0, I checked), I enabled no-unused-class-name and got the following error :/
@ota-meshi Any ideas? I'm not that familiar with how the parser services get passed along...
What did you expect to happen?
No error :)
What actually happened?
Oops! Something went wrong! :(

ESLint: 8.43.0

TypeError: context.parserServices.getStyleContext is not a function
Occurred while linting /home/marekdedic/project/src/d.ts/CONFIG.d.ts:1
Rule: "svelte/no-unused-class-name"
    at Program:exit (/home/marekdedic/project/node_modules/eslint-plugin-svelte/lib/rules/no-unused-class-name.js:32:61)
    at ruleErrorHandler (/home/marekdedic/project/node_modules/eslint/lib/linter/linter.js:1050:28)
    at /home/marekdedic/project/node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (/home/marekdedic/project/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (/home/marekdedic/project/node_modules/eslint/lib/linter/node-event-generator.js:297:26)
    at NodeEventGenerator.applySelectors (/home/marekdedic/project/node_modules/eslint/lib/linter/node-event-generator.js:326:22)
    at NodeEventGenerator.leaveNode (/home/marekdedic/project/node_modules/eslint/lib/linter/node-event-generator.js:349:14)
    at CodePathAnalyzer.leaveNode (/home/marekdedic/project/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js:816:23)
    at /home/marekdedic/project/node_modules/eslint/lib/linter/linter.js:1087:32

Link to GitHub Repo with Minimal Reproducible Example
https://github.com/scout-handbook/handbook-web-admin/pull/217
Additional comments
No response

Thanks for fixing my mistakes! :D


userns-remap flag causing docker daemon to crash on launch

Output of docker version:
[root@localhost vagrant]# docker version
Client:
 Version:      1.10.2
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   c3959b1
 Built:        Mon Feb 22 16:28:37 2016
 OS/Arch:      linux/amd64

Output of docker info:
[root@localhost vagrant]# docker info
Containers: 18
 Running: 0
 Paused: 0
 Stopped: 18
Images: 79
Server Version: 1.10.2
Storage Driver: devicemapper
 Pool Name: docker-253:0-33625769-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 1.842 GB
 Data Space Total: 107.4 GB
 Data Space Available: 41.4 GB
 Metadata Space Used: 6.582 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.141 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.109 (2015-09-22)
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: host bridge null
Kernel Version: 4.2.3-300.fc23.x86_64
Operating System: Fedora 23 (Twenty Three)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.955 GiB
Name: localhost.localdomain
ID: WF24:UCMM:U523:54ZH:KX2J:ROC2:GGFE:L46S:YKJI:PUKJ:SV5I:I75X

Provide additional environment details (AWS, VirtualBox, physical, etc.):
Running vagrant vm with image "box-cutter/fedora23" on a osx 10.11.3 (macbook pro)
List the steps to reproduce the issue:

set --userns-remap=default in systemctl config for docker service
reload systemctl : systemctl daemon-reload
restart docker service

Describe the results you received:
daemon fails to launch. setting --debug flag and looking at the journalctl -xe
Feb 27 18:23:03 localhost.localdomain systemd[1]: Starting Docker Socket for the API.
-- Subject: Unit docker.socket has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.socket has begun starting up.
Feb 27 18:23:03 localhost.localdomain systemd[1]: Listening on Docker Socket for the API.
-- Subject: Unit docker.socket has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.socket has finished starting up.
--
-- The start-up result is done.
Feb 27 18:23:03 localhost.localdomain systemd[1]: Starting Docker Application Container Engine...
-- Subject: Unit docker.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.service has begun starting up.
Feb 27 18:23:03 localhost.localdomain docker[21277]: time="2016-02-27T18:23:03.654094669Z" level=debug msg="Server created for HTTP on fd ()"
Feb 27 18:23:03 localhost.localdomain docker[21277]: time="2016-02-27T18:23:03.655865038Z" level=info msg="User namespaces: ID ranges will be mapped to subuid/subg
Feb 27 18:23:03 localhost.localdomain docker[21277]: time="2016-02-27T18:23:03.656368948Z" level=fatal msg="Error starting daemon: Can't create ID mappings: open /
Feb 27 18:23:03 localhost.localdomain systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Feb 27 18:23:03 localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=docker comm="systemd" exe="/usr/lib/systemd/syst
Feb 27 18:23:03 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.service has failed.
--
-- The result is failed.
Feb 27 18:23:03 localhost.localdomain systemd[1]: docker.service: Unit entered failed state.
Feb 27 18:23:03 localhost.localdomain systemd[1]: docker.service: Failed with result 'exit-code'.

Describe the results you expected:
Need to run the daemon with userns_remap enabled to test uid remapping functionality
Provide additional info you think is important:

Hm, could this be related to https://github.com/docker/docker/pull/20725? If it is, then I think removing the comment lines in those files can be used as a workaround
/cc @runcom

thanks for looking to this @thaJeztah. I don't see any files that match that description though
[vagrant@localhost etc]$ ls /etc/ | grep sub
[vagrant@localhost etc]$

[vagrant@localhost ~]$ sudo find / -type f -name "subuid"
[vagrant@localhost ~]$ sudo find / -type f -name "subgid"

The error message seems not complete.it just said
msg="Error starting daemon: Can't create ID mappings: open /

@zunayed  Could you pate it all error message about that ?

@HackToday running the docker daemon command without the systemctl.
[vagrant@localhost ~]$ sudo docker daemon --userns-remap=default
INFO[0000] User namespaces: ID ranges will be mapped to subuid/subgid ranges of: dockremap:dockremap
FATA[0000] Error starting daemon: Can't create ID mappings: open /etc/subuid: no such file or directory

Also creating the files its looking for changes the error message
[vagrant@localhost ~]$ sudo touch /etc/subuid
[vagrant@localhost ~]$ sudo docker daemon --userns-remap=default
INFO[0000] User namespaces: ID ranges will be mapped to subuid/subgid ranges of: dockremap:dockremap
FATA[0000] Error starting daemon: Can't create ID mappings: open /etc/subgid: no such file or directory
[vagrant@localhost ~]$ sudo touch /etc/subgid
[vagrant@localhost ~]$ sudo docker daemon --userns-remap=default
INFO[0000] User namespaces: ID ranges will be mapped to subuid/subgid ranges of: dockremap:dockremap
FATA[0000] Error starting daemon: Can't create ID mappings: No subuid ranges found for user "dockremap"

@zunayed we've been working to ship those files in fedora (23 and above) with the setup rpm. The work is in progress and should be available soon (comments will be removed from those files also).
You can track everything in this bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=1309425
I'm closing this - since the current documentation clearly states the you need to touch those files in a fedora installation (prior to this https://github.com/docker/docker/pull/20649/files).

@runcom I'm still getting errors even after touching the files


CocoaPods could not find compatible versions for pod "RxSwift"

[!] CocoaPods could not find compatible versions for pod "RxSwift":
Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "RxSwift":
 In Podfile:
   RxCocoa (~> 5.0.0) was resolved to 5.0.0, which depends on
     RxSwift (~> 5)

   RxSwift (~> 5.0.0)

   XCoordinator/RxSwift (~> 1.0) was resolved to 1.5.0, which depends on
     RxSwift (~> 4.0)

Try to use this commit
https://github.com/quickbirdstudios/XCoordinator/commit/323368d5f347191e6bba06fff1b3d91c10c6da6b
It seems current version requires rxswift 4, and you are already installing rxswift 5, so, not a good idea to have rxswift 4 and 5 in the same project.
pod 'XCoordinator', :git => 'https://github.com/quickbirdstudios/XCoordinator.git', :commit => '323368d5f347191e6bba06fff1b3d91c10c6da6b'


Floris/update stacs

Hi @EtienneKras,
This is a PR with some nice changes for GCTS, GCTR, DeltaDTM as well as 2 new collections Coastal Zone and Coastal Grid.

GCTS and GCTR now include a HTTPS href under item.links.alternate
GCTS and GCTR now use the citation extension
DeltaDTM is now updated to V1.1  - (bug fix)
DeltaDTM now includes https hrefs instead of cloud uri's
DeltaDTM has now a link to the WMS server (instead of an asset). The link is at collection level. This should be communicated with @IoannaMi
New STACs for a coastal zone (vectorized coastline buffer)
New STACs for a coastal grid to process data at scale (somewhat similar to Deltares box system)
All new STACs now use the appropriate asset types
All new stacs now adhere to best practices on datetime usage

I have tested the four STACs and they look OK. Hopefully you can merge without any trouble!

@IoannaMi @EtienneKras,
So In DeltaDTM I have referenced the WMS now in a STAC Link instead of as an asset. You can see that it nicely shows up in the browser under additional resources.
In PySTAC you can find the link under service:
coclico_catalog = pystac.Catalog.from_file(
    "https://coclico.blob.core.windows.net/stac/v1/catalog.json"
)

ddtm_collection = coclico_catalog.get_child("deltares-delta-dtm")
print(ddtm_collection.get_single_link("service"))

rel "service"
href "https://coclico.avi.deltares.nl/geoserver/cfhp/wms?bbox={bbox-epsg-3857}&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&transparent=true&width=256&height=256&layers=cfhp:HIGH_DEFENDED_MAPS_Mean_spring_tide"
type "application/vnd.ogc.wms_xml"
title "Geoserver WMS Link"

Similarly you can now find https references for STAC items that have a cloud uri in their asset:
coclico_catalog = pystac.Catalog.from_file(
    "https://coclico.blob.core.windows.net/stac/v1/catalog.json"
)
coastal_zone_collection = coclico_catalog.get_child("coastal-grid")
item = coastal_zone_collection.get_item("coastal_grid_z6_10000m")
href = item.assets["data"].href
print(href)

'az://coastal-grid/release/2024-12-10/coastal_grid_z6_10000m.parquet'

# the https protocol is stored under alternate
print(item.get_single_link("alternate"))

rel "alternate"
href "https://coclico.blob.core.windows.net/coastal-grid/release/2024-12-10/coastal_grid_z6_10000m.parquet"
type "application/vnd.apache.parquet"
title "HTTPS access"


feat: use hooks as a validating webhook handlers

Fix #216

This PR was successfully tested with hooks from addon-operator installation by @apolovov. I think it is ready to merge.

This PR was successfully tested with hooks from addon-operator installation by @apolovov. I think it is ready to merge.


Fix wrong options in dotnet nuget push

Tested a lot and find a strange behavior. dotnet nuget push seems can only support the first option on Travis.
When I use dotnet nuget push ./artifacts/build/*.nupkg -s $NUGET_SOURCE -k $API_KEY, I will get error: Missing value for option 'api-key'
And if I use dotnet nuget push ./artifacts/build/*.nupkg -k $API_KEY -s $NUGET_SOURCE, I will get error: Source parameter was not specified.
Don't know why, please have a look


Backend dev server (pre-HMR)

This PR introduces:

New cli command backend:dev, that spawns a webpack in watch mode and ready to accept HMR signals
Prettier config fix (for some reason my VSCode really don't like the package.json field, should not matter to others? :) )
Note: the logic for an actual reconciliation of HMR update is in another PR

Moved additional improvement requests to the #1238 , would be awesome if y'all can have one more look at this and we merge it so I can iterate on the next one ;)

Tbh I think it makes the most sense to handle this in 1 PR by now, I'd rather review the entire thing at once at least. Would be enough to just close this and switch the base of the other one to master.

Or hold up, that was assuming the pointing-to-src stuff was there, but I can't see it in that PR either?

Work towards #1289


Alexa Media player two-factor authentication error

IMPORTANT: Please search the issues, including closed issues, and the FAQ before opening a new issue. The template is mandatory; failure to use it will result in issue closure.
Describe the bug
The bug is that everytime I reboot HomeAssistant I need to re-authenticate my Alexa Media Player. This happened a few weeks ago. Before that it always worked flawlessly after every reboot.

After every reboot of HomeAssistant my alexa players become unavailable.
To Reproduce

1: restart home assisant
2: restart
Expected behavior

Expected that my devices stay available. Instead they become unavailable.
Screenshots

System details

Home-assistant (version):

Home Assistant 2023.10.3
Supervisor 2023.10.0
Operating System 11.0
Frontend 20231005.0 - latest

alexa_media (version from const.py or HA startup):
version__ = "4.6.5

alexapy (version from pip show alexapy or HA startup):

Amazon 2FA is enabled (y/n).

Yes, 2FA is enabled. <!---We will not debug login issues if unanswered--->:
Logs
Please provide logs.
Additional context
It worked before. Suddenly (I don't know how long) the Alexa  devices are unavailable after an reboot from home assistant.
I don't know if it happened after an reboot. I don't often reboot my HomeAssistant.
When I re-authicate my devices they are available and work again. After an reboot from homeassistant they become unavailable.

Same here! Working perfectly for months, suddenly I'm getting "please reauthenticate" prompts every day.

Same here since last week Following...

Please make sure you're updated to the 4.7.7. That should've fixed this issue. Please reopen if 4.7.7 gives the issue.


Verify that equivalent RawVals and ScVals compare the same

Per https://github.com/stellar/rs-soroban-env/pull/732/commits/225cf4ff02b7eaaba898645591985b577c5d1a1b#r1144119247 it is crucial that for all equivalent pairs of RawVals and ScVals, the pair has the same comparison results.
It looks to me that RawVal uses a custom Compare trait - RawVals don't appear to implement Ord; ScVal does implement Ord. So presumably the result of Compare on RawVals needs to be equivalent to the results of Ord::cmp (and PartialOrd::partial_cmp).
This should be testable with the fuzzing infrastructure in https://github.com/stellar/rs-soroban-sdk/pull/878 so I intend to try that. Fuzzing won't guarantee all possible values compare the same, but better than nothing.
cc @graydon @dmkozh

I have started fuzzing as described and have found differences in how RawVal and ScVal implement comparison.
ScVal's derive Ord, and RawVal implements Compare by hand, so to remediate issues I am currently focusing on making the RawVal implementations match the derived ScVal implementations.
It may be prudent though to write the Ord impls for XDR types by hand if it is important that they not change. As an example, the ScVal enum's Ord impl depends on the lexical order of ScVal variants, something that is prone to changing as the XDR definitions change.

If it is crucial for these comparison functions to be the same then perhaps it is possible to just remove the Ord impl from ScVal and always do comparisons aRas wVals. It seems very high-risk to have these two impls that might diverge over time, even if we fix them once with some confidence.

Thanks for the clarifications @dmkozh.
I've continued this fuzzing under the assumption that the only comparisons that matter are those where one of the RawVal or ScVal comparisons returns Ordering::Equal.
Is it important that impl Compare<ScVal> for Budget has the same logic as impl Compare<RawVal> for Host and/or PartialOrd for ScVal?
I have found one bug in Compare<ScVec> for Budget where differing vector lengths are not accounted for.

Unfortunately it's not just a matter of equal comparisons, we also need identical behaviour wrt. the total order of the values. This is because we treat maps as ordered collections, and their order is canonical so as not to admit logically-equal maps that have physically-different (encoded) representations. This is better than the alternative, in which we say we don't canonicalize the order of values and then a signature on a message {"a": 10, "b": 11} doesn't apply to a message {"b":11, "a": 10}.
Put another way: users think of maps as sets-of-pairs, and sets-of-pairs have no logical order, but hashing relies on a physical order, so we impose a canonical order to the not-logically-ordered artifact to eliminate the ability to make logically-equal but physically-different maps.
This is all 100% intentional and part of the design.

(Also practically speaking the "key-retrieval interface" relies on binary search in sorted maps, which relies on proper ordering, so key retrieval will fail if the ordering isn't correct.)

If you build a map out of a mis-sorted vector of pairs, the call to initialize the map fails. If you try to deserialize a mis-sorted ScMap into a host map, the deserialization fails.
The host never sorts ScVal by Ord but an external user / guest / other client can.  If there are divergences between a naive structural sort as generated by #[derive(Ord)] and what we're doing in Compare<RawVal> I actually really want to know and understand what's causing them.

(if divergence is arising from something deeply subtle and impossible to guard against, I can imagine being persuaded to turn off #[derive(Ord)] on the XDR, but it's generally a useful feature in XDR and it seems much more likely to me that a divergence arises from a bug in Compare<RawVal>. I want to find those!)

The host never sorts ScVal by Ord

But why do we implement Compare<ScVal> for Budget then if it's not intended to be called by host? Ord on XDR is fine because it's not a part of the host implementation and divergence should (hopefully) only affect the client.
I agree that there might be bugs in RawVal comparisons as well and we should make sure it works as expected.

The host does call Compare<ScVal> for Budget in the storage map. It doesn't call ScVal::Ord because that's un-metered.

Right, that's what we do now. Would it be too silly to use RawVals for the storage comparisons as well? I realize that we have to compute the LedgerKey anyway to verify its presence in the footprint, but that would be a bit safer and the overhead IIUC would come only from storing an additional RawVal per map entry. Maybe it's not worth the effort, just something to consider.

There are many discrepancies between impl Ord for ScVal and the impls of Compare,
so many that it would help to know for sure before continuing whether it is important that they agree.
Furthermore, I have found that some impls of Compare<ScVal> for Budget do defer to impls of Ord for ScVal,
and that does seem to result in potentially incorrect behavior that deviates from Compare<RawVal> for Env.
I'm a bit overwhelmed, not sure what should be changed and what should be ignored, but here are my concrete findings so far.
Patches
These are patches I've made to change the behavior of comparison functions,
with explanations.
 impl Ord for Status {
     #[inline(always)]
     fn cmp(&self, other: &Self) -> Ordering {
-        let self_tup = (self.as_raw().get_major(), self.as_raw().get_minor());
-        let other_tup = (other.as_raw().get_major(), other.as_raw().get_minor());
+        let self_tup = (self.as_raw().get_minor(), self.as_raw().get_major());
+        let other_tup = (other.as_raw().get_minor(), other.as_raw().get_major());
         self_tup.cmp(&other_tup)
     }
 }

This makes Compare<RawVal> for Env agree with Ord for ScStatus -
the minor part is the ScStatus variant, the major part the contained value.

+// Note that these must have the same order as the impl
+// of Ord for ScVal, re https://github.com/stellar/rs-soroban-env/issues/743
 fn host_obj_discriminant(ho: &HostObject) -> usize {
     match ho {
-        HostObject::Vec(_) => 0,
-        HostObject::Map(_) => 1,
-        HostObject::U64(_) => 2,
-        HostObject::I64(_) => 3,
-        HostObject::TimePoint(_) => 4,
-        HostObject::Duration(_) => 5,
-        HostObject::U128(_) => 6,
-        HostObject::I128(_) => 7,
-        HostObject::U256(_) => 8,
-        HostObject::I256(_) => 9,
-        HostObject::Bytes(_) => 10,
-        HostObject::String(_) => 11,
-        HostObject::Symbol(_) => 12,
-        HostObject::Address(_) => 13,
-        HostObject::ContractExecutable(_) => 14,
+        HostObject::U64(_) => 0,
+        HostObject::I64(_) => 1,
+        HostObject::TimePoint(_) => 2,
+        HostObject::Duration(_) => 3,
+        HostObject::U128(_) => 4,
+        HostObject::I128(_) => 5,
+        HostObject::U256(_) => 6,
+        HostObject::I256(_) => 7,
+        HostObject::Bytes(_) => 8,
+        HostObject::String(_) => 9,
+        HostObject::Symbol(_) => 10,
+        HostObject::Vec(_) => 11,
+        HostObject::Map(_) => 12,
+        HostObject::ContractExecutable(_) => 13,
+        HostObject::Address(_) => 14,
         HostObject::NonceKey(_) => 15,
     }

This makes the discriminants agree with Ord for ScVal, so that when objects of different types are compared they compare the same as Ord for ScVal.

@@ -211,13 +214,9 @@ impl Compare<ScVec> for Budget {
     type Error = HostError;

     fn compare(&self, a: &ScVec, b: &ScVec) -> Result<Ordering, Self::Error> {
-        for (a, b) in a.iter().zip(b.iter()) {
-            match self.compare(a, b)? {
-                Ordering::Equal => (),
-                unequal => return Ok(unequal),
-            }
-        }
-        Ok(Ordering::Equal)
+        let a: &Vec<ScVal> = &*a;
+        let b: &Vec<ScVal> = &*b;
+        self.compare(a, b)
     }
 }

This handles the case where the vecs have different lengths. Seems to just be a plain bug.

@@ -225,13 +224,22 @@ impl Compare<ScMap> for Budget {
     type Error = HostError;

     fn compare(&self, a: &ScMap, b: &ScMap) -> Result<Ordering, Self::Error> {
-        for (a, b) in a.iter().zip(b.iter()) {
-            match self.compare(&(&a.key, &a.val), &(&b.key, &b.val))? {
-                Ordering::Equal => (),
-                unequal => return Ok(unequal),
+        let a: &Vec<ScMapEntry> = &*a;
+        let b: &Vec<ScMapEntry> = &*b;
+        self.compare(a, b)
+    }
+}
+
+impl Compare<ScMapEntry> for Budget {
+    type Error = HostError;
+
+    fn compare(&self, a: &ScMapEntry, b: &ScMapEntry) -> Result<Ordering, Self::Error> {
+        match self.compare(&a.key, &b.key)? {
+            Ordering::Equal => {
+                self.compare(&a.val, &b.val)
             }
+            cmp => Ok(cmp),
         }
-        Ok(Ordering::Equal)
     }

This handles the case where the maps have different lengths. Seems to just be a plain bug.

Unresolved findings
I haven't made patches for these because they would take
a bunch of effort that might not be necessary depending on whether
it matters how Ord for ScVal is implemented.
i128/u128 comparisons
When both values are i128 or u128, Compare does a 128-bit numeric comparison;
whereas the Ord XDR implementations are doing comparisons on the layout
of two u64 struct fields, ordered lo, hi.
pub struct Int128Parts {
    pub lo: u64,
    pub hi: u64,
}

Compare<ScVal> for Budget falls back to Ord for ScVal
Related to the above.
impl Compare<ScVal> for Budget {
    type Error = HostError;

    fn compare(&self, a: &ScVal, b: &ScVal) -> Result<Ordering, Self::Error> {
        use ScVal::*;
        match (a, b) {
            (Vec(Some(a)), Vec(Some(b))) => self.compare(a, b),
            (Map(Some(a)), Map(Some(b))) => self.compare(a, b),

            (Vec(None), _) | (_, Vec(None)) | (Map(None), _) | (_, Map(None)) => {
                Err(ScHostValErrorCode::MissingObject.into())
            }

            (Bytes(a), Bytes(b)) => {
                <Self as Compare<&[u8]>>::compare(self, &a.as_slice(), &b.as_slice())
            }

            (String(a), String(b)) => {
                <Self as Compare<&[u8]>>::compare(self, &a.as_slice(), &b.as_slice())
            }

            (Symbol(a), Symbol(b)) => {
                <Self as Compare<&[u8]>>::compare(self, &a.as_slice(), &b.as_slice())
            }

            (Bool(_), _)
            | (Void, _)
            | (Status(_), _)
            | (U32(_), _)
            | (I32(_), _)
            | (U64(_), _)
            | (I64(_), _)
            | (Timepoint(_), _)
            | (Duration(_), _)
            | (U128(_), _)
            | (I128(_), _)
            | (U256(_), _)
            | (I256(_), _)
            | (Bytes(_), _)
            | (String(_), _)
            | (Symbol(_), _)
            | (Vec(_), _)
            | (Map(_), _)
            | (ContractExecutable(_), _)
            | (Address(_), _)
            | (LedgerKeyContractExecutable, _)
            | (LedgerKeyNonce(_), _) => Ok(a.cmp(b)),
        }
    }
}

The fallthrough case defers to Ord for ScVal.
Mentioned above, the i128 case at least disagrees with Compare<RawVal> for Env
because XDR i128s are not 128-bit ints but are two 64-bit uints.
Tag values disagree with ScVal variants
This shows up when e.g. a comparison between a U64 object and a small I128:
the Compare<RawVal> falls back to compare the Tag discriminant;
and a U64 object compares greater than a I128 smallval,
whereas in XDR all U64s are less than all I128s.

These are fantastic findings @brson thank you! Much to think about and discuss here. The i128 case probably has a similar companion issue around signed 256-bit values (since they're stored as 32-byte octet arrays in XDR, which won't sort correctly for negative values).
Concerning the vexing cases you identified but haven't patched yet, I think there are fixes to be had (besides "abandon the whole exercise and revisit the question of even having Ord on XDR", which I don't feel we're quite at the point of yet):

I think we can fix the i128-bit and 256-bit issues by changing the XDR:

Switching the representation of 128-bit numbers to a big-endian byte array, as with i256
Adding an explicit bool positive field before, so negatives sort before positives, and the body is always unsigned
Extending the ScVal validation code to exclude too-small, too-big, and negative-zero signed-number cases, for both i128 and i256
(though we could also treat this whole exercise as a signal to remove signed 128 and 256 options, but that'd be much more invasive)

I'm not 100% sure about the Compare<RawVal> case you're describing. In the code I see, if either input to the comparison is an object type, we delegate to the environment's obj_cmp function (which has special cases for all obj-vs-small and small-vs-obj mixtures) and we only do a tag-vs-tag comparison in Compare<RawVal> in the residual cases which is small-vs-small.  Though .. I see now that in the environment itself, in Host::obj_cmp, in the final residual branch (host.rs line 1714) when we were given a mix of object and small and they're not of the same underlying logical-ScValType, we do a tag-based comparison, which .. yeah, I suppose that case is wrong! Is that the one you meant? If so, great catch! I think it's fairly readily solvable by making a helper method on Tag that maps from Tag to its underlying (coarser) ScValType, and then comparing those. We only ever wind up in this branch if we were given values of unequal logical-ScValType, so making that inequality the basis for comparison should work and make things like U64-object-less-than-i128-small compare the same as they do in XDR.

Though .. I see now that in the environment itself, in Host::obj_cmp, in the final residual branch (host.rs line 1714) when we were given a mix of object and small and they're not of the same underlying logical-ScValType, we do a tag-based comparison, which .. yeah, I suppose that case is wrong! Is that the one you meant?

Yes, I believe that is the case where I am seeing a failure.
There are several types that I don't have fuzzing for yet, including the 256-bit integers and Timepoint. I'll add support for them soon, start making the fixes you've suggested, and continue fuzzing.

Ok I spent a bunch of time staring at the definition of 2s complement and running tests that enumerate all the boundary conditions because despite all attempts after decades of mistakes I just don't trust my guesses about splitting numbers and sign bits at all but .. I am fairly convinced at this point that the following representation works right:
struct UInt128Parts {
    uint64 hi;
    uint64 lo;
};

// A signed int128 has a high sign bit and 127 value bits. We break it into a
// signed high int64 (that carries the sign bit and the high 63 value bits) and
// a low unsigned uint64 that carries the low 64 bits. This will sort in
// generated code in the same order the underlying int128 sorts.
struct Int128Parts {
    int64 hi;
    uint64 lo;
};

struct UInt256Parts {
    uint64 hi;
    uint64 lo;
};

// Repeat the same signed high word, unsigned low words thing with int256.
struct Int256Parts {
    int64 hi_hi;
    uint64 hi_lo;
    uint64 lo_hi;
    uint64 lo_lo;
};

Feel free to pick better names for the fields that convey their most-to-least-significant order.
I think this is better than trying to recycle the "byte array" representation both because it's marginally faster and also because in XDR we don't have signed bytes at all, and we need a signed 2s complement integer type of some sort for the most significant byte-or-word-or-whatever of the encoding. Since int64 and uint64 are kicking around, we might as well use 'em.
There's a bunch of code to change to make this work in both XDR, guest and host. I talked to @jayz22 about this today and he suggested that he might want to do it (since doing the int256 host functions is currently on his plate anyways). I have no preference who does it -- I will if nobody else does! -- but I think this is the right change to make to both of the larger-integer types in XDR.

@graydon Yes I am happy to do it!

I am working on a a PR to just land the three patches from me previous comment. I am struggling to write comprehensive unit tests though: these bugs are fixed in the soroban-env crate; but I want to write proptests in the soroban-sdk crate; but I can't write proptests without landing a bunch of my broken/incomplete fuzzing stuff.
So I'll try to land some of these fixes with cursory unit tests, then endeavor to write comprehensive tests as I get my fuzzing patches straightened out.

I put some initial fixes in https://github.com/stellar/rs-soroban-env/pull/762
I'll rebase the fuzzer and try to get more results later this week.

@brson The i/u128 issue should be fixed now by https://github.com/stellar/rs-soroban-env/pull/763, it also fixed/added support for i/u256 as well. You should be able to fuzz them now.

I've posted a patch to fix a case where Symbols objects can contain invalid chars: https://github.com/stellar/rs-soroban-env/pull/765
Next I will fix the previously mentioned case where objects and smallvals of different types do not compare correctly.

I have written a patch to fix the comparison between objects and smallvals of different types, but not submitted a pull request.
The only new thing I've noticed is that Tag::Bad seems a bit special - any RawVal with an invalid tag will compare equal to any other RawVal with an invalid tag; and invalid RawVals also don't have an equivalent XDR type. I don't see a definite problem with Tag::Bad but I can imagine it being used to confuse container types, with multiple different RawVals comparing the same.
Right now the fuzzer is running without failing. I have a few more things to add to it. And once I'm not finding any more problems, I will look into converting the fuzz tests to proptests that will be easier to run as part of the test suite.

Here's the fix for comparisons between objects and smallvals of differing types: https://github.com/stellar/rs-soroban-env/pull/767

As of now all of the bugs I'm aware of related to this issue are fixed. I still intend to land proptests for this, and possibly expand the fuzzer to more edge cases.
The latest curiosity I have discovered, which I don't know if it is a bug or not is:
It is possible to create Status values in contracts that can't be converted to XDR types - Status values can contain arbitrary status codes, but the XDR definitions are limited to a fixed set of enumerated status codes. I don't know what impact this could have on contracts that create these semi-invalid statuses.

Here's one more minor problem where some Status's can't be converted to ScStatus even though they are representable in XDR: https://github.com/stellar/rs-soroban-env/pull/803


sfpowerscripts  apextests:trigger automatically disabling parallel apex testing .

while running sfpowerscripts  apextests:trigger  command it run test parallelly, but for specific test it starts totrigger tests synchronously which is expected and correct, and the test execution is successful but during the process it also change the org setting to disable parallel test due to which if i rerun the same command it will run the testsuite synchronously by default which is not expected and causing issue in ci-cd as we are runnning multiple test on same build
or , is there any way to enable the parallel apex test using cli ?

fixed


Create a form where user can create a new job profile

As a user, after logging in, I should be able to create a job profile and fill in the details.

Need to implement the validations to the form inputs.

Have added validations and hints that give the user when validations fail.


Cannot scroll through the result pane of an subscription

This issue pertains to the following package(s):

[ ] GraphQL Playground - Electron App
[ ] GraphQL Playground HTML
[x] GraphQL Playground
[ ] GraphQL Playground Express Middleware
[ ] GraphQL Playground Hapi Middleware
[ ] GraphQL Playground Koa Middleware
[ ] GraphQL Playground Lambda Middleware

What OS and OS version are you experiencing the issue(s) on?
Windows 10
What version of graphql-playground(-electron/-middleware) are you experiencing the issue(s) on?
1.7.x
What is the expected behavior?
Can scroll the result panel to see all events.
What is the actual behavior?
When I try to use the mouse wheel nothing happens.
What steps may we take to reproduce the behavior?
Just make a simple subscription query and get some events to see the problem.
Idea of how to solve the problem:
Currently the result panel has height: auto, you have to do the height calculation that the panel should have using javascript when the app is mounted or make the editor container have the height you want/possible and make the result panel have height: 100%.

Also experiencing this problem.

Me too!

No update on this issue? Then how did you guys use this for Subscription all this long? Any workaround?

Any workaround?

F5

For now, the only solution is install an extension to inject this css into localhost pages.
.graphiql-wrapper>div:first-child>div:first-child>div:nth-child(2)>div:nth-child(2) {
  height: 100%
}

@iagobruno , I can recommend adding display: flex and flex-direction: column-reverse to that snippet, to inverse the direction. This way you'll always have the most recent data on top. Making it unnecessary to scroll:
display: flex;
flex-direction: column-reverse;

@smeijer I tested your recommendation but it causes a scrollbar bug when a new result is added (I have no idea why), but the overflow-anchor property will make the last added item always visible if you scroll to extreme bottom.

This is broken in GraphQL Playground HTML too. Any idea how to temporarily fix it there?

Anything new on this?

+1

+1

still a problem..

Why is the issue closed, still facing this issue

The scrolling issue is fixed in this version, however it issue very possible that the GraphQL server you are using is using a different version of this library. I know that for instance Apollo maintains their own for which still has the bug.


Support Microsoft UWP platform by extending VisualCppTimeInMillis().

Support Microsoft UWP platform by providing an alternative timer function in VisualCppTimeInMillis() due to absence of timeGetTime() API in UWP.
TIMERR_NOERROR can be used to detect presence of timeGetTime() API.
UWP supports QueryPerformanceFrequency()/QueryPerformanceCounter() API which can be used for time calculation and this API is available on all Windows versions, so the proposal is to use this implementation for Windows platform in general and fallback to timeGetTime() or GetTickCount in case QueryPerformanceFrequency() fails due to some unknown reason.
timeGetTime() also suffers from lower time resolution  which can be avoided by new implementation too.

Coverage remained the same at 99.879% when pulling d0eb9bd90021b1c7e602d32a409420cebaadd6d1 on dmitrykos:master into b9ee2fd37a7a1a35dc216337d104ee96e97384aa on cpputest:master.

Could you have a look at the build failure. It seems to be caused by the changes.

Did not know that project is configured to treat warning as error, applied necessary changes!

@basvodde, the CI failed again but it failed on DOS target and according logs somehow unrelated to my commit, e.g. /Dos/UtestPlatform.cpp. Could it be failure on CI's side? Would you please check.

Yes, thanks


Issue with a modal opening

I'm in front of an issue with the modal opening using Trumbowyg. I'm just implementing it basically and when I try to add a link for example, the buttons Confirm and Reset are just displaying in every forms on the page :

So I tried to identify the issue by searching by myself (I'm using CDNJS version 2.25.2) and I found this (but I don't know why this seems to be an issue only for me) :

The "box" var on the line 1594 (when the modal is created and displayed) seems to be undefined.
This is how I'm using Trumbowyg :
<textarea id="my-editor" name="texte"></textarea>

<script>
    $('#my-editor').trumbowyg();
</script>

I'm sorry for posting hastily. An external plug-in used in my app was in conflict with Trumbowyg... I solved this by updating the version with the latest. Thanks a lot for your awesome work 👍


Outside-API subpackages: experimental and beta

I'm suggesting that we add two new subpackages that will be outside the official API. This wouldn't change anything for most new features, but for major changes (including API-breaking changes), this will provide a way to slowly integrate them into the main code. The basic idea is that I'd like things to progress through the packages experimental to beta and then into the core. I see it like this:

experimental: For developing new things that may take many PRs to fully implement (replacing the need to have a long-lived feature branch for big changes), and which may break the existing API or where the new feature's API is likely to change. Tests in this subpackage will be run during testing, but coverage doesn't count. Only the bravest cutting-edge users should use these.
beta: This is especially for features that will replace functionality in the current core, but will break the existing API. It would also be for mostly-developed features where we're not entirely sure that the API will be solid. Tests are run, and coverage does count. These should be mostly ready for the user base, with the caveat that some parts of the API may still be a little flexible.

In both cases, the idea is that instead of keeping long-lived development branches, we put things that will take a while into a subpackage. For example, right now I'm working on a re-write of our storage subsystem. That is a huge undertaking, and is required for other things I'm working on (e.g., parallelization). It would make my life easier if I could merge in partially-completed experimental storage instead of working from a tangle of branches that should be kept separate for review purposes.
In terms of current things, I'd put the hooks (#755) into the beta package, and the storage rewrite I'm doing now into experimental (to be followed soon by some of the parallelization stuff).
Thoughts, @jhprinz? Any objection to this approach?

Closing, with the note that #928 will be the first addition to experimental, and is slated for 1.4.
Policy is that experimental runs unit tests, but they don't count toward coverage, and only run on Python 3.
Testing for beta has the same rules as core: tests go toward coverage, and should run on Python 2 and Python 3 (we'll drop Python 2 with OPS 2.0, which will come in 2021. Py 2 support is so that people can finish up existing projects; no one should start new projects running OPS on Python 2).


Composer dependencies incompatible with PHPUnit 6.3

With latest PHPUnit and php-cs-fixer, there exists an incompatibility between dependencies:

php-cs-fixer 2.4.0 requires "sebastian/diff": "^1.4"
phpunit 6.3.0 requires "sebastian/diff": "^2.0"

Given that these two version requirements are incompatible, it's currently impossible to have both versions a dev dependencies in a project.
It's not a major issue yet, as there is nothing in PHPUnit 6.3 that I would require. Going forward, however, this prevents updating both, if I want to keep them as dev dependencies instead of separate installations. (and I just migrated all my projects to use dev dependencies rather than relying on external installations...)

Integration of sebastian/diff 2.0 is on its way so this issue should be solved soon. In the meantine, I would suggest you install PHP CS Fixer using a separate composer.json file (like we do on this repository), this would prevent such dependency issues.

thanks for report
it's on the go and have already opened issue. closing thanks to that


logger file does not exist in lib/model/utils?

I find the logger file doesn't exiti in lib/model/utils, but it is used in https://github.com/jwyang/faster-rcnn.pytorch/blob/9b1ca882168ea3ecaf482eabd6ac2e8731639fb8/trainval_net.py#L150
could you commit this file?

thanks for reminding, will commit this.

Thanks for your job.

already added


MF10.3.0 - Midi device now wants Orphaned serial (no selecteable choice) -> cancel -> working (bug?)

Describe the bug
After updating my MF to the latest version 10.3.0 my configs which includes rows with my midi device,
now asking for a orphaned serial after MF startup. The midi device is working, active and running, but in the lower chooseable assign field the midi device is not listed. After selecting the serial there is no chooseable selection available.
After clicking the "cancel" button, the midi device is working without issues inside the config with 10.3.0.

Details

MobiFlight Version: [10.3.0]
FlightSim: [e.g. MSFS2020]
any aircraft

worth to say i updated from last offical 10.2... to 10.3.0 (not tried the whole betas between)

Bug exists only, if additionaly a mobiflight module (arduino, miniFcu,...) is connected. With only joysticks and midi devices the dialog does not show up.


Twilio Driver uses TwiML API, meaning it can never originate a conversation.

Twilio's TwiML API format is 100% based on the client (botman) issuing responses on a webhook URL. This means that we can never initiate a conversation.

Hm right. We would need to use this POST endpoint: https://www.twilio.com/docs/api/messaging/send-messages
It requires the AccountSid , which the driver currently does not use.
I can add this and tag a 2.0 👍

Check out the diff on this branch. It's still broken (for somereason $message->getSender() is null) but it's close
https://github.com/DanielCoulbourne/driver-twilio/tree/dev-twilio-initiate-bugfix

Would love to see this added in order to initiate a conversation...


Hiding disabled items and then showing them will broke their look

Just like in title, when you hide a disabled item like button, and then show it, it will look like enabled style but it will not react to interactions like hover etc just like disabled item.

Thanks for reporting this.

Thanks for reporting this.

I'd like to try fixing this, if you haven't already done so in the 0.6.0 branch that is.

I'd like to try fixing this, if you haven't already done so in the 0.6.0 branch that is.

Hi, feel free to give it a go. I just checked and I haven't gotten around to fixing it yet

Awesome. I spent some time (~30m) looking at the code in the 0.6.0 branch and it wasn't obvious what the problem was. I'll probably have to actually run the code to determine where the issue is. I suspect the active state is being messed with and not restored.

Actually, which branch should I work from? Would it be better to go from main or version_060 ?

Looks like we're always setting the active_state to 'normal' when we show, regardless of the state of is_enabled.


Fix show-associated-branch-prs-on-fork classes

Test URLs
https://github.com/talknsmile/TestR/branches
Screenshot

??? —open is not a standalone class

Recheck the diff now 💇

Might as well use the entire class for both.
Also no comma


Improve the labs

improve the language and wording in the labs, i find them poorly worded for beginners
provide more scaffolding
make objectives clearer
add rubrics?

We did this last quarter! Nice!


Roll engine f4d92c1f0cd8..606a8ede2c3e (1 commits)

https://github.com/flutter/engine/compare/f4d92c1f0cd8...606a8ede2c3e
git log f4d92c1f0cd8227239c53c3b7f83e99105046c01..606a8ede2c3e73e904413d5590feb3618933c161 --no-merges --oneline
606a8ede2 Roll src/third_party/dart 1045ef1ceb..5b72293f49 (3 commits)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


Change server receiver name.

What does this PR do?
Rename Server method receiver from server to s
Motivation
Respect the convention.
Dedicate to @nmengin 😺

Which convention are we referring to exactly?
The one I know is that the length of a variable should roughly match its context length. While some of the functions / methods this PR touches fall under this rule and likely justify shortening the name, we have a few others which seem way too long to come to a similar conclusion.
Overall, I'd prefer to keep the longer name where we'd otherwise lose context. To me, this holds when you can't tell what a variable name refers to when you have to scroll to find out.

@timoreimann https://github.com/golang/go/wiki/CodeReviewComments#receiver-names

The name of a method's receiver should be a reflection of its identity; often a one or two letter abbreviation of its type suffices (such as "c" or "cl" for "Client").

@emilevauge hmm I think I confused receivers for method arguments. In the light of this, I can't come up with a good counter argument anymore.
Thanks for the extra pointer.


Don't expose EventData fields as Nullable's

Because we share the EventData type between the consumer and producer
clients, we exposed some fields as Nullable's if they were assigned
by the Event Hubs service when processing an event (since, when creating
an EventData to send to the service as part of a batch, these properties
would not yet have actual values).
In practice, these properties will always be set when consuming events
and never be set when producing events, while having the Nullable's
type signiture correctly expresses these semantics, it makes the API
worse to program against in practice. In production scinerios it's
unlikely that you would ever inspect these properties anyway, and in
consumption cases they will alwasy be present so the nullablity doesn't
actually buy you much, but at the expense of .Value calls or other
ways of dealing with the (never actually there) nulls.
So, we change Sequence, Offset and EnqueuedTime to no longer be
nullable. Instead, they are initialized with sentinal values
(long.MinValue for Sequence and Offset and
default(DateTimeOffset) for EnqueuedTime).  The choice of
long.MinValue instead of 0 is intentional, bases on user feedback
from the Track 1 SDKs that zero was a bad sentinal value for these
properties since it could be incorrectly interpreted as semantically
meaningful.

if you're open to them.

Happy to do so!


Consider selection algorithm for quartiles

Selection algorithm is O(n) https://en.wikipedia.org/wiki/Selection_algorithm
It's what statrs uses.
https://github.com/statrs-dev/statrs/blob/5411ba74b427b992dd1410d699052a0b41dc2b5c/src/statistics/slice_statistics.rs#L37-L102

Thanks @jpmckinney ... will dig into this...
BTW, while I have your attention, I've been looking for an algorithm to calculate kurtosis on a streaming basis...  would you know of one?

Hmm, I'm not familiar with kurtosis, but from a quick glance at its calculation, I'm not sure you can stream it – unless you use an approximation. (Of course, there may be a very ingenious solution!)

On using a selection algorithm, is there a particular reason the current algorithm needs to be replaced?

Selection algorithm is faster – O(n).
rust-stats currently sorts first, which is O(n log n).

Got it. Will look into using selection algorithm... in the meantime, qsv-stats now uses rayon for parallel sorting, so it should be markedly faster.
https://github.com/jqnatividad/rust-stats/commit/6c63f6024e1d537f48792bb6df00c39d4111d976


[bazel] Migrate rules_python and dependents to bzlmod

This PR migrates rules_python and the modules that depend on it to bzlmod.
These depending modules use python interpreters in their actual rule implementations, so they have to be migrated at the same time. The first commits add bzlmod support for each module before they're all switched over in the second-to-last commit.
bazel_skylib must also be migrated as it's needed for the Tock repositories (via bare_repository).
There is also a fix for the INCLUDE paths of linker scripts inside the external directory which is unstable and has to have its paths generated by Bazel.
The modules migrated are:

bazel_skylib.
lowrisc_misc_linters (license checker).
rules_fuzzing.
rules_python.

Yeah they could be split. I think it's unlikely I'll need to revert just one so I'm fine with leaving it as one


JuiceFS cannot use redis v7

Related to https://github.com/redis/go-redis/issues/2085, go-redis v8 is not compatible with redis v7.
Is there any plan to upgrade this dependencies to v9 to support redis v7?

We need to test whether go-redis v9 works with redis v6.

I believe I just ran into this exact issue. Installed JuiceFS v0.17.5 with Redis 7.0.0
Provisioning a volume and writing to it worked fine, but upon destroying I get:
# juicefs status redis://:foobar@redis-metadata-master.juicefs.svc.cluster.local:6379/1
2023/02/11 21:03:10.560897 juicefs[47] <INFO>: Meta address: redis://:****@redis-metadata-master.juicefs.svc.cluster.local:6379/1 [interface.go:402]
2023/02/11 21:03:10.562675 juicefs[47] <INFO>: Ping redis: 38.755µs [redis.go:2888]
{
  "Setting": {
    "Name": "juicefs-example",
    "UUID": "a06362c5-c64a-4165-bbe3-1522ebb017ac",
    "Storage": "minio",
    "Bucket": "https://example.com/foobar",
    "AccessKey": "foobar",
    "SecretKey": "removed",
    "BlockSize": 4096,
    "Compression": "none",
    "KeyEncrypted": true,
    "TrashDays": 1,
    "MetaVersion": 1
  },
  "Sessions": []
}

# juicefs destroy redis://:foobar@redis-metadata-master.juicefs.svc.cluster.local:6379/1 a06362c5-c64a-4165-bbe3-1522ebb017ac --force
2023/02/11 21:03:30.206832 juicefs[73] <INFO>: Meta address: redis://:****@redis-metadata-master.juicefs.svc.cluster.local:6379/1 [interface.go:402]
2023/02/11 21:03:30.209044 juicefs[73] <INFO>: Ping redis: 44.738µs [redis.go:2888]
Deleted objects count: 0                                 ⠋
Deleted objects count: 0
Deleted objects count: 0
2023/02/11 21:03:30.231855 juicefs[73] <FATAL>: reset meta: ERR unknown command 'flushdb', with args beginning with:  [destroy.go:208]

For the moment, at least a big warning in the docs would be helpful.


Loudly alert user when cell tower data is received

Cell tower coverage is poor in forests, and valleys. There should be an option, to loudly alert the user when cell tower data is received. This can be used to place an emergency call.
I don't know if it can be done without root.

While this is a cool idea, Trail Sense would need to request mobile data / Internet permission - which a lot of people using it may not like. I know many Android phones do support sending a text message when reconnected to data, so that could be a natively supported option.
Also, you would need some root permissions (or at least elevated permissions) to adjust the user's sound setting to play a loud sound to alert them.


Fix Upcoming Events button on the landing page

The buttons on the landing page that indicate whether or not there is an upcoming event for a program are broken. Event if there are future events scheduled for a program, the buttons are still grayed out and say there are no upcoming events. Investigate and fix.

 Fix Upcoming Events button on the landing page #1002


The whole project does not open when opening a single cs

VSCode Version: 1.11.1
OS Version: mac osx sierra 10.12.4

Unity cs is developing.
In the past, opening a cs file in a finder loaded the entire project,
If you open cs since the last update, please let me know if you have any options related to not opening the project link and opening it as a single file.
I know how to open a folder and load a project. What I want is to open the whole project when I open cs in the finder like before the update.

You need "window.openFilesInNewWindow": "off" for this to work from Finder (Mac specific). Could you check that?

ok I see
this setting values is  true/false on past versions,
latest version is "on", "off", and "default.
"off" setting then very well
thank you


Not Bug: CRITICAL manager Failed to find configuration file config.yml

Additional information:

FlexGet version: 3.5.17

For convenience after migration, I put config.yml in other location /volume1/config.yml, only run
flexget -c /volume1/config.yml status
# or
cd /volume1
root@:/volume1# flexget status

Otherwise it will report an error
Log:
CRITICAL manager Failed to find configuration file config.yml
manager Tried to read from: /root, /root/.flexget, /root/.config/flexget

Eventually, I found manager.py, and modified it to work properly.
*/site-packages/flexget/manager.py
     def _init_config(*):
        possible = []
# added this
        possible.append('/volume1/')

Is there any simpler or general way to deal with this problem?

You could make an alias that includes your config flag

Creating a symlink on one of the valid paths pointing to the new location is another option

You could make an alias that includes your config flag

alias flexget='flexget -c /volume1/ $1'

is it like this?

alias flexget=flexget -c /volume1/config.yml
alias is just a placeholder so anything you type after will be appended. so if you run flexget status it is the same as flexget -c /volume1/config.yml status after you set the alias


Not working when app is cleared from recent task list

Hi this is great library. its working when Application running in
background( here it means App is visible to user Or app is in recent task list)
But it is not working when user clear it from recent task list,
Tested in release version of react native app
Thanks.

@parmarkamlesh  No code can be executed and no listeners can be fired when the app is "dead" / closed.
You should check the date during each app startup

oke. i have requirement like even app is closed it will show notification mid night when day changed, So can you give me suggestion how to do that?

@parmarkamlesh You could schedule a local notification for when you expect the day to change or send a push notification from some server when you think the day changed for the user but you can't have your app listening when it's killed from memory.


Add monads support

Would be nice to have a monads support.
Rubygems has a lot of implementations:
https://rubygems.org/search?page=1&query=monad&utf8=✓
But interfaces have a small differences:
https://github.com/dry-rb/dry-monads
https://github.com/pzol/monadic
https://github.com/txus/kleisli
https://github.com/jcouyang/cats.rb
Need to find out which gems should be supported with ramda-ruby.
Guide:
https://github.com/MostlyAdequate/mostly-adequate-guide

https://github.com/lazebny/ramda-ruby/pull/8


Removes SpanCollector.close, deprecates addDefaultAnnotation

Closeable isn't the only way to close things, and in reality we weren't
doing anything with it. This punts the decision on how to close
resources to implementing types by removing SpanCollector.close
This also deprecates SpanCollector.addDefaultAnnotation as decorating
SpanCollector.collect can have the same effect.
Finally, this polishes call sites that make make binary annotations of
type string.
See https://github.com/openzipkin/zipkin/issues/584

rebased

:+1:


Caman.js Photoshop actions available?

Hi there
This is more of a question than a bug. We've used you very good library to create a site that allows people to design bespoke products before they are sent to print.
The final artwork will be recreated in Photoshop to a print quality standard.
Do you know of anyone who has created a set of Photoshop actions that match the pre-defined filters in Caman.js? If you know of someone who has done this it'll save me having to work them out myself.
Thanks, for your help.

What do you mean by Photoshop actions? And I'm assuming by "predefined filters" you are comparing the CamanJS filter with Photoshop Filters. Both the filters are implemented differently, so it might be possible to replicate the filters 100%. I don't understand what you mean by "final artwork will be recreated in Photoshop". Are you going to edit the original image in Photoshop to replicate the CamanJS output? Please be elaborate your question and this place is for bugs. Questions please move to sites like stack-overflow or similar.

don't think so... see: http://stackoverflow.com/questions/28547048/camanjs-filters-to-photoshop-curves


Change a couple promise-heavy functions in docs/src/project-loader.js; use async/await for readability

Originally posted by @kenchris in https://github.com/Polymer/lit-element/pull/263

Fixed by keanu


fix: GHSA-8qv2-5vq6-g2g7 webpki CPU denial of service in certificate path

Upgraded tonic, prost and tokio to the latest and greatest of versions
which was necessary  because one of their transitive dependencies being
affected by the GHSA-8qv2-5vq6-g2g7 vulnerability.
These upgrades also forced our hand in terms of bumping up the
rust edition from 2018 to 2021 and upgrading the rust compiler to v1.74.

Depends on https://github.com/hyperledger/cacti/pull/2916 (which upgrades
the rust compiler in the dev container)
Signed-off-by: Peter Somogyvari<EMAIL_ADDRESS>
Pull Request Requirements

[x] Rebased onto upstream/main branch and squashed into single commit to help maintainers review it more efficient and to avoid spaghetti git commit graphs that obfuscate which commit did exactly what change, when and, why.
[x] Have git sign off at the end of commit message to avoid being marked red. You can add -s flag when using git commit command. You may refer to this link for more information.
[x] Follow the Commit Linting specification. You may refer to this link for more information.

Character Limit

[x] Pull Request Title and Commit Subject must not exceed 72 characters (including spaces and special characters).
[x] Commit Message per line must not exceed 80 characters (including spaces and special characters).

A Must Read for Beginners
For rebasing and squashing, here's a must read guide for beginners.

@petermetz build for relay is failing. Can we hold the PR merge, I'll try to fix this in this PR itself.

@petermetz build for relay is failing. Can we hold the PR merge, I'll try to fix this in this PR itself.

@sandeepnRES Yes, of course, sorry for the slow response! I know it doesn't matter now that it's all been resolved ,but wanted to make sure I say it that it would've been totally fine to hold it because of a dependency like that.


Make it possible to change the font size of the panel & status bar

(the python side is probably not working for now)

@jbmouret thanks for this! I did some small final touches. I'll wait the CIs and merge..


Requesting mod_pywebsocket on conda.

Hi there.
I am requesting to package mod_pywebsocket to https://anaconda.org/ because only the Linux64 are there https://anaconda.org/auto/mod_pywebsocket and my Google summer of code 2018 project require Win64, Mac64, I will package using https://conda-forge.org/ If there was no one that can do it i will like to contribute.

Hopefully you read the note in the README that "pywebsocket is intended for testing or experimental purposes". If you need a WebSocket library for production use there are many others to choose from.

yah thanks you.

Closing WontFix as we won't be making any further changes to this version of pywebsocket.


AngularJS Generator toJS problem

I don't know why this is happening, but when I generate to use AngularJS for all the methods a .ToJS is used
for instance:
    AuthClient.prototype.registerNewUser = function (registerUser) {
        var _this = this;
        var url_ = this.baseUrl + "/api/v1/auth/register";
        var content_ = JSON.stringify(registerUser ? registerUser.toJS() : null);
        return this.http({
            url: url_,
            method: "POST",
            data: content_,
            transformResponse: [],
            headers: {
                "Content-Type": "application/json; charset=UTF-8",
                "Accept": "application/json; charset=UTF-8"
            }
        }).then(function (response) {
            return _this.processRegisterNewUser(response);
        }, function (response) {
            if (response.status)
                return _this.processRegisterNewUser(response);
            throw response;
        });
    };

Here it is:         var content_ = JSON.stringify(registerUser ? registerUser.toJS() : null);
The problem is I am getting always the error that toJS() is not a function. I already tried to remove toJS() and the client works great without it. So here is my question, what does the toJS() does, why is it not a function, is there anyway to make it a function or to avoid using it on code automatic generation?

The generator also generated a User class, you need to pass an instance of this to the registerNewUser function, otherwise you need to switch to DTO interfaces instead of DTO classes

@rsuter  yes I believe you must be right... Could you help me chose the best approach for building the interface? Maybe this one?

it did! fixed thank you 👍


when i use ant-design-vue DatePicker,should i Introduction of one date to moment.endOf function,like moment.endOf('2019-04-11')

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Thanks for opening this request. Unfortunately I'm not sure what you're asking here.

Please re-open if you still have issues.


Enhancement: editor.selectionHighlightBackground

It's hard to find the regions which have the same content as the selection.

"workbench.colorCustomizations": {
"editor.selectionBackground": "#135564",
"editor.selectionHighlightBackground": "#135564"
},

was any work done on this?  I also have a very hard time with all the different selection buffers and multiple selection types.


hamster-bridge does nothing after start

Hi all!
hamster-bridge seems like the perfekt tool i'm looking for. Unfortunately it does nothing after i start it.
Here is a log after starting hamster-bridge:
2015-02-26 12:03:18,375    INFO: Starting hamster bridge
2015-02-26 12:03:18,408    INFO: Activating listener: jira
2015-02-26 12:03:18,408    INFO: Registering <hamster_bridge.listeners.jira.JiraHamsterListener object at 0x7f8e5c141310>
2015-02-26 12:03:18,417    INFO: Starting new HTTPS connection (1): jira.domain.tld

I don't exactly know, how the bridge works but i whould except that hamster-bridge starts hamster after it gathered all informations from jira. For the sake of accuracy i also tried to start hamster first and then hamster-bridge and also the other way around - nothing.
Here is my (anonymized) hamster-bridge config:
[jira]
server_url = https://jira.domain.tld
username = foo
password = bar
auto_start = y

Seems, that the connection to jira works. It'd be nice, if the behavior of hamster-bridge is described somehow in the README or another document

Yeah, i should add an explicit note about the supposed workflow in the readme.
You need to start hamster on your own. As soon as the stop a task, the bridge will search the title for a jira ticket, if nothing found the tags, too. When it finds one, it will log the spent time to this ticket.
There's a feature request in #11 for writing the task description to the worklog comment. This will come in to next version soon.

I added some words in the README. Don't know if it's enough? What do you think?

Since i now found out how it works, your description seems pretty reasonable :)
Maybe you could add some words about the issue-finding from the hamster-bridge. My understanding is, that hamster-bridge tries to match the name (and? or? tags) to the first jira/redmine-issue it finds. What happens, if there is a matching tag and a matching name? Does hamster-bridge fillout multiple matching issues (e.g. hamstername is "issue1" and tag is "bugfix" - will hamster-bridge fillout the jira/redmine-issue "issue1 - fix something" or will it fill "issue 1337 - bugfix for xyz"?).
Since hamster-bridge does some automagic in the background, the user should know how that magic works to guarantee a stable and reasonable workflow.
BTW: used hamster-bridge today the whole time and it does it's job pretty well. So thanks for your efford in such a little but great tool :+1:

Yeah, for the first time, I was similarly not sure how and when hamster-bridge connects to JIRA, but after using it for a while, I figured out from the logs that it's connecting to JIRA when I stop the timer. Now the README is pretty clear and helpful.
I'd add an extra note, that you have to stop the timer if you want to log something, as if you do not click on "stop the timer" and simply change to a new task, then the time is not logged. At least here :)
But it's a really minor issue, hamster-bridge rocks.

Glad to here your happy with it.
I added some more on the issue finding. Should be fine now.


Added alert dialog before signing out from app

In this PR, I made an alert dialog before signing out as an alert. Before it was just signing out without any alert. @sagar15795 Please review this PR and suggests changes if required.
Please make sure these boxes are checked before submitting your pull request - thanks!

[x] Apply the AndroidStyle.xml style template to your code in Android Studio.

[x] Run the checks with ./gradlew check to make sure you didn't break anything

[x] If you have multiple commits please combine them into one commit by squashing them.

@300vikram
Please fix the issue.

@300vikram
Thanks for the enhancement.


Add julie picture for team page

Sorry - it wouldn't let me just add it to the other PR :/

Pulled in with https://github.com/hackclub/v2/pull/661


⚠ Bofrost.hr has degraded performance

In 32e427b, Bofrost.hr (https://www.bofrost.hr) experienced degraded performance:

HTTP code: 200
Response time: 3399 ms

Resolved: Bofrost.hr performance has improved in a39d170.


Update imap/imap_unordered to work

This commit makes imap/imap_unordered in celery/concurrency/processes/pool.py work. I can't find a branch where they ever did. I'd like to add tests, but I'm not sure how to do so; any feedback would be much appreciated.

Thanks!  This is merged now!


[Snyk] Security upgrade werkzeug from 1.0.1 to 2.2.3

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

requirements.txt

⚠ Warning
Flask 1.1.2 requires Werkzeug, which is not installed.
flake8 3.8.4 requires importlib-metadata, which is not installed.

Vulnerabilities that will be fixed
By pinning:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

416/1000  Why? Recently disclosed, Has a fix available, CVSS 2.6
Access Restriction Bypass SNYK-PYTHON-WERKZEUG-3319935
werkzeug:  1.0.1 -> 2.2.3
No
No Known Exploit

661/1000  Why? Recently disclosed, Has a fix available, CVSS 7.5
Denial of Service (DoS) SNYK-PYTHON-WERKZEUG-3319936
werkzeug:  1.0.1 -> 2.2.3
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Access Restriction Bypass
🦉 Denial of Service (DoS)

A preview environment was automatically created via Qovery.
Click on the link below to follow its deployment and use it.
:point_right: [PR] production - [Snyk] Security upgrade werkzeug from 1.0.1 to 2.2.3 - 2023-02-16T11:41:41Z
Another comment will be posted when deployments are terminated

Your preview environment failed to be deployed !
Click on the link below to check the deployment logs.
:point_right: [PR] production - [Snyk] Security upgrade werkzeug from 1.0.1 to 2.2.3 - 2023-02-16T11:41:41Z


If statusCode is not 0, data should return an empty bytes string

Currently, data returns bytes32(0) if there is no valid value.
https://github.com/api3dao/airnode/blob/6f31a4c27d40e86101673bf37d223fef6625dfdd/packages/node/src/evm/fulfillments/api-calls.ts#L97
Most people don't handle statusCode!=0 and then complain about the Airnode incorrectly returning 0. To prevent this, the data should return 0x so that if they attempt to to decode it it will revert.
Also, should this happen if statusCode!=0 || !request.responseValue?

I think we should always return 0x if requests.statusCode > 0. I'm not sure about checking !request.responseValue since there might be valid falsey values, like 0 or empty string, that we want to return (?)

bytes data type in solidity is just syntactic sugar for byte[] so I'm wondering if sending an empty array isn't the best option here instead of forcing a revert on the client side. This way they will not have side effects when status code != 0.

I don't think so, I think doing checks like aParameterOfBytesType.length != 0 is pretty common (so an empty bytes type variable is valid). If we reverted then we wouldn't be able to return a non-zero status code.

Tracked by https://api3dao.atlassian.net/browse/AN-143


Remove jinja2 dependency

Turns out we (apparently) aren't using it anywhere. The only place it
might be used is by sphinx, in the optional make jinja2 for sphinx
docs, but I don't think we normally run this as part of our
documentation generation process.

See also https://github.com/apple/coremltools/pull/355


Conflicting documentation in README

Hello,
https://github.com/raxod502/straight.el#integration-with-use-package
(use-package el-patch
  :straight (el-patch :type git :host github :repo "your-name/el-patch"
                      :upstream (:host github
                                 :repo "raxod502/el-patch")))

https://github.com/raxod502/straight.el#integration-with-use-package-1
(use-package el-patch
  :straight (:host github :repo "raxod502/el-patch"
             :branch "develop"))

In the last one the recipe name is omitted. It's not clear wether that is at typo or if it's the first one that is a typo and that it should be omitted.

Neither is a typo. Both forms are accepted, and if you omit the package name then it defaults to the use-package feature name. This is documented here, although I'd be happy to receive suggestions on how to make it clearer.

Ah, ok then. Thanks!

Hum, while we are discussing clarifications: when you install from MELPA, what happens exactly? From what I understand, it actually figures out the git repository to install then installs that?

Nevermind I found https://github.com/raxod502/straight.el/blob/develop/straight.el#L2180

You are correct. This is documented in https://github.com/raxod502/straight.el/tree/5a2c18ef8134f0ddc47c8bf2ea3f59982ebed4a5#where-do-recipes-come-from, and you can also add your own recipe repositories.

Thanks! Atm I use use-package with package.el, but I'm considering switching to straight.el because package management using git makes sense, and would avoid me having to use things like https://github.com/Silex/package-utils


Role definition update throws error "KeyError: 'roleName'"

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az role definition update
Errors:
'roleName'
Traceback (most recent call last):
python3.7/site-packages/knack/cli.py, ln 206, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 523, in execute
    raise ex
cli/core/commands/__init__.py, ln 581, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
cli/core/commands/__init__.py, ln 574, in _run_job
    six.reraise(*sys.exc_info())
lib/python3.7/site-packages/six.py, ln 693, in reraise
    raise value
...
azure/cli/core/__init__.py, ln 453, in default_command_handler
    return op(**command_args)
cli/command_modules/role/custom.py, ln 55, in update_role_definition
    return _create_update_role_definition(cmd, role_definition, for_update=True)
cli/command_modules/role/custom.py, ln 84, in _create_update_role_definition
    role_name = role_definition['roleName']
KeyError: 'roleName'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

az role definition update --role-definition {}

Expected Behavior
Environment Summary
Darwin-18.5.0-x86_64-i386-64bit
Python 3.7.3
Shell: bash

azure-cli 2.0.63

Extensions:
dev-spaces-preview 0.1.6

Additional Context

@subesokun, can you double check whether or not the input contains roleName?

@yugangw-msft It seems like my role definition was no longer valid as there has been some breaking changes. I've managed now to fix it and the command works again. Nevertheless, a helpful error message (e.g. role definition is invalid) would have been nice instead of some error stack trace.

Duplicate of https://github.com/Azure/azure-cli/issues/12027


Replace .restore by .noop

.restore is pretty complex and seem to have trouble properly restoring files sometimes. It was first introduced for situation where you don't want your files' name to change. A better solution could be to add a .noop() that set beforeRev to the file's name. That way .write() still works as expected but the file always end up with its original name.

Wrong repo...


feat: Could you provide extra css variable properties for ion-toggle in ionic 5?

In the below .toggle-inner  is not able to update because of shadow component.
.toggle-inner {     left: 2px;     top: 2px;     position: absolute;     width: 28px;     height: 28px;     box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 12px, rgba(0, 0, 0, 0.1) 0px 3px 1px;     will-change: transform;     contain: strict;     transition: transform 0.3s ease 0s, width 0.12s ease-in-out 80ms, left 0.11s ease-in-out 80ms, right 0.11s ease-in-out 80ms, -webkit-transform 0.3s ease 0s; }
Please provide the following css variables left, top, width, height and box-shadow for more flexible customisation.
Thank you

Any update on this

Thanks for the issue! Toggle has been improved to make it easier to customize as part of this PR: https://github.com/ionic-team/ionic/pull/21050
There is some new documentation for the customization added here (this will go live on the toggle API docs after we release): https://github.com/ionic-team/ionic/blob/master/core/src/components/toggle/readme.md#customization
This will be in the 5.1 release which is expected soon, but the following dev build can be used if you want to take a sooner look. Run one of the following commands based on your framework integration:
# core / vanilla JS
npm i<EMAIL_ADDRESS>--save

# angular
npm i<EMAIL_ADDRESS>--save

# react
npm i<EMAIL_ADDRESS>--save


DirectionalLight3D currently has no Specular property

Note: This issue was transferred from the godot_docs repository. What appeared to be an issue with the documentation turned out to be an issue with the feature itself. clayjohn has commented below a bit of background. Ultimately, the ghost documentation highlights that we removed a setting by mistake. The solution is to restore the setting.
Your Godot version: 4.1 Stable
Issue description: DirectionalLight3D missing Specular property, current documentation states this should exist
URL to the documentation page:
https://docs.godotengine.org/en/stable/tutorials/3d/lights_and_shadows.html
https://docs.godotengine.org/en/stable/tutorials/3d/global_illumination/faking_global_illumination.html
Additional information:
https://github.com/godotengine/godot-docs/blob/05fe756d9d1e6abab198da4721ba8f0407f0e45e/tutorials/3d/lights_and_shadows.rst?plain=1#L44
According to the text (from Godot Engine 4.1 - 3D Lights and Shadows, linked above) and the screenshot of common light properties above it, DirectionalLight3D (like Omni and Spot lights) should have a Specular property but currently doesn't (4.1 Stable). Not sure if this is a bug, a documentation issue or due to on going work.

specular property missing from DirectionalLight3D
Due to this, currently unable to remove the specular blob from DirectionalLights when following "Godot Engine 4.1 - Faking global illumination". Which specifically mentions setting Specular: 0.0 on DirectionalLight3D.
https://github.com/godotengine/godot-docs/blob/05fe756d9d1e6abab198da4721ba8f0407f0e45e/tutorials/3d/global_illumination/faking_global_illumination.rst?plain=1#L48

Hey, can I take up this issue?

I think I might've fixed the issue just through Clayjohns advice, but I can't figure out how to change the default value for it back to 1.0 (Default is 0.5 for some reason)
Also am I supposed to ask beforehand for something like this? I haven't contributed here before so sorry if I acted too early


Added methods for Top and Hot subreddit sections

I've added some methods to get the top posts from a subreddit and the hot posts.

Thanks for the PR! I'll probably have some time to look this over in a next few days.
One thing was apparent -- can you change the file permissions back to 644?

Hey sorry about that, I've corrected the file permissions now.

I think we should keep these definitions in the session.go file. I have kept all methods on the session type in there just for sanity's sake.

Yeah I agree, I moved them there as I thought the session file was getting too large but it makes more sense to keep them in the session file.
I'm not sure what you mean with creating an enum type.  Something like this: http://stackoverflow.com/questions/14426366/what-is-an-idiomatic-way-of-representing-enums-in-golang ?
I should have some time to make these changes later this evening.

Yep something like:
// Probably needs a better name
type time string

const (
	Hour  time = "hour"
	Day   time = "day"
	Week  time = "week"
	Month time = "month"
	Year  time = "year"
	All   time = "all"
)

This way the type documents the possible values, rather than simply "string".
It's debatable, because if reddit added a new value, the library would specifically have to be patched to use it. However, this makes it easier for someone to simply open up this package and not have to know how to use the reddit API before doing so.

Thanks, yeah I like that solution much cleaner that way.

Hey sorry for the delay, been busy with work this week.
I've been attempting to add in the enum type but I'm not sure if I'm going about this the right way.  If you get a chance could you check out my latest commit and see where I could improve?  thanks

@MajorMJR ping

Hey Jzelinskie,
I finally got around to finishing up this code, but it looks like the latest commit by aggrolite solves the problem much cleaner than my solution.
Sorry about the long delay, I'll keep looking for something I can improve.


Add PS Vita

oh no
it was not aligned

oh no it was not aligned

Please update and I'll merge it.


New package: Attenuations v0.5.0

Registering package: Attenuations
Repository: https://github.com/kczimm/Attenuations.jl
Created by: @kczimm
Version: v0.5.0
Commit: bc3d2279c60863b5df7b7617bf5aab9769c0d887
Reviewed by: @kczimm
Reference: https://github.com/kczimm/Attenuations.jl/issues/7#issuecomment-1642240582
Description: NIST XCOM x-ray attenuations in Julia.

[noblock] I’m in the fence about the package name maybe being a little too general. There are a lot of contexts where “Attenuations” could be meaningful. Maybe XRayAttenuations or something like that would be better?


Add category field for extensions

In order to improve usability of the UI we need to specify a category (e.g. driver, virtual-schema, ...) for extensions.
Precondition: https://github.com/exasol/extension-manager-interface/issues/42
### Tasks
- [ ] https://github.com/exasol/cloud-storage-extension/issues/251
- [ ] https://github.com/exasol/s3-document-files-virtual-schema/issues/120
- [ ] https://github.com/exasol/extension-manager-interface/issues/42

Review result: Added 1-1 proposal/questions


Not working on Iphone  real device

I tried its working on android and web, but when I run on iPhone  not show any image so I enabled debug mode  and got following error :
ERROR: ImageLoader Error:  [object Object]
My Xcode is 10.0

Can you dump the objects, for example with JSON.stringify(object)?

I've same error when we reload data many times. After that error, no more image is displayed from cache while they just worked fine before...
ImageLoader Error : FileError {code: 12, message: "PATH_EXISTS_ERR"}
the error is not always the same, some times it's NOT_FOUND_ERR with code 1


[StateManager] - state and event, a third possibility

Currently the StateManager can handle two type of data flow:

states - the value is considered valid in time, only changes of the value are handled. Setting to the same value is therefore ignored and the subscribe callbacks are not executed.
events - the value is a pure event (a point in time), .get('eventName') returns null, the value is only valid in a subscribe` callback. As such a event can trigger the same value multiple times.

We have a third possibility in between where we would like to be able to define a parameter that:

does not check if the value has changed.
re-trigger the subscribe callbacks each time a set call is made.

(@aside - this also shows that the component is not properly named)

deployed in 3.1.0


MK5 Change streams with watch aggregate stage not working properly.

So in my app I'm opening a change stream but I want to filter changes based on a match stage. I have the following
var options = ChangeStreamOptions()
options.fullDocument = ChangeNotificationType.updateLookup
let id = try ObjectId("blehblehbleh")
db["collection"].aggregate().match([:]).watch(withOptions: options).do { stream in
     stream.forEach { notification in
     if let doc = notification.fullDocument {
       let model = try decoder.decode(MyModel.self, from: doc)
       print(doc)
       print(model)
          }
       }
            }.catch { error in
                print(error)
        }

And with any changes to my collection I get back the document that was updated and that works fine.
if I change the aggregate() line to
db["collection"].aggregate().match(["_id": id]).watch(withOptions: options).do { stream in
I never get any notifications about the change in the collection.
I've even tried to match every specific field for one document and still no results. It only works when I don't provide any query for the match.
This makes me think that maybe the format isn't correct when sending over the wire. I'll attempt to try this in the mongo shell with Atlas to see if it works.

Was able to get this working by specifying the fullDocument
db["collection"].aggregate().match(["fullDocument._id": id]).watch(withOptions: options).do { stream in

Can this be closed?


Not getting continuous upload progress in iOS

Hi,
In iOS the upload progress is not continuous whereas in android is getting continuous progress.
Sample code:
import RNFetchBlob from 'react-native-blob-util';

 const apiPostdata = [
    {
      data: RNFetchBlob.wrap(imageUri),
      filename: imageUri.replace(/^.*[\\\/]/, ''),
      name: imageField,
      type: 'image/jpg'
    },
    ...apiBodyUpdated
  ];

  const apiHeader: Record<string, any> = header || {
    Authorization: `Bearer ${accessToken}`,
    'Content-Type': 'multipart/form-data'
  };

  return RNFetchBlob
    .config({ IOSBackgroundTask: true })
    .fetch('POST', apiUrl, apiHeader, apiPostdata)
    .progress((received, total) => {
      if (progress) {
        progress(received / total);
      }
    })
    .uploadProgress(
      { interval: 1 }, (written, total) => {
        console.log(written / total, 'written / total'); // => always returns 1 in iOS but in android its progress from 0 to 1

        if (progress) {
          progress(written / total);
        }
      }
    )
    .then((res) => {
      if (res.respInfo.status === 201) {
        return res.json();
      }
      return res;
    })
    .catch((error) => Promise.reject(error));

Here in  .progress(), written/ total  always return 1 in iOS while uploading but in android value ranges from 0 to 1 thus getting a continuous progress.
Versions using:
react-native-blob-util:  0.13.13
react-native: 0.64.0
react: 17.0.1
Android Studio: 4.1 AI-201.87<IP_ADDRESS>99119
Xcode: 12.5.1/12E507
In iOS
https://user-images.githubusercontent.com/32122016/131351354-11500773-2f54-4fe8-89f8-451c59e87c7a.mov
In Android
https://user-images.githubusercontent.com/32122016/131351582-badd4cee-d9c2-4a51-ac3b-9e01fcb5a92c.mov
Is there anything that is missing or is it the default behaviour in iOS ?
Thanks.

Can you hook into XCode and debug the lines around here? https://github.com/RonRadtke/react-native-blob-util/blob/master/ios/ReactNativeBlobUtilRequest.m#L321 (download) and https://github.com/RonRadtke/react-native-blob-util/blob/master/ios/ReactNativeBlobUtilRequest.m#L436 (upload)
Does the download handler work as expected?  I have a feeling this code hasn't been updated in a long time and lots of deprecated/outdated functions are in use.  I haven't tested this myself, but It looks like the bug shouldn't be hard to spot.

Hi @cristianoccazinsp ,
Thanks for the reply. Will have a try and let you know.
Thanks

Hi @cristianoccazinsp ,
Download progress also works like the same as upload progress.
Any solution for this behaviour in iOS ?
Thanks

What happens when you remove  .config(.. ?

Same here, upload progress in iOS will only trigger two times, around 0.9 and then around completion... i do not have .config parameters...

I have the same problem in iOS.

The same problem in iOS.

有解决办法吗

Facing this too in iOS / react-native 0.71.7 / react-native-blob-util 0.17.3. Any updates?

@skizzo I would start by checking this

Can you hook into XCode and debug the lines around here? https://github.com/RonRadtke/react-native-blob-util/blob/master/ios/ReactNativeBlobUtilRequest.m#L321 (download) and https://github.com/RonRadtke/react-native-blob-util/blob/master/ios/ReactNativeBlobUtilRequest.m#L436 (upload)
Does the download handler work as expected? I have a feeling this code hasn't been updated in a long time and lots of deprecated/outdated functions are in use. I haven't tested this myself, but It looks like the bug shouldn't be hard to spot.

First of all, thanks for your quick reply, @filipef101!
The didReceiveData() function in ReactNativeBlobUtilRequest.mm is only called a single time for a downloaded file, with the receivedBytes value set to the total file size.
I thought this might have to do with the configuration of our server where the file is loaded from, but even when trying to download an image from a placeholder service (in my case, https://placehold.co/1920x1080.png), the progress event is fired only once with 100%.

Just one more question, may I ask for the reason why the values for received and total in the .progress() function are returned as Strings, and not Numbers?

That's a good question - but in general all events arepassed as string or dict to JS . For the future only strings. But likely the typecast is simply missing.

I have the same problem in iOS. have anyone fixed it?

This is a serious bug, and it still exists

@RonRadtke ,  why did you close the ticket. Still facing the issue.


feat: add provider to extract polarized reduced data from periods

Fixes #37

I think this has already been fixed in the recent changes.
Or, in any case, the changes here are not applicable any more, so closing this for now.


technet gallery

the gallery should have an option to download the gallery for future reference

@aprilspeight Where should this feedback be directed?

I think the gallery team?  the issue is that this knowledge is going away completly so there should be some way to either get it all before it goes or some sort of searchable archive

Hi @gewarren please direct this feedback to @rloutlaw

TechNet Gallery has closed at https://docs.microsoft.com/en-us/teamblog/technet-gallery-retirement

Thanks @rootsmusic. I'll close this issue now since the gallery has already been retired.


Opening Compressed files (ZIP)

Is your feature request related to a problem? Please describe.
It isnt really a problem BUT i would like the files beta app to be able to open .ZIP compressed "folders"
Describe the solution you'd like
if you try to open a .ZIP file and that your default program is windows explorer it should open it inside of the files beta app insted of windows' explorer.exe
Describe alternatives you've considered
not doing  anything i guess is a alternative
Additional context
uhh what should i put here this is only a suggestion not a bug report
Sorry for bad english

this is not a bug
it is a feature request

Duplicate of #45

Marking this as a duplicate of #45


'Don't crawl external links' option

It would be great to have the option to disable the crawling of external links.
I'd like to crawl an entire website, but am not interested in external links. By setting the 'depth' option to something suitably high in order to capture the entire website, I also end up doing a deep crawl of external websites.

Actually, my mistake – I misunderstood how the crawler handles external link. My understanding now is that external links do not have their children traversed – which is what I was asking for.
Please ignore. Nothing to see here. :blush:


surfaced -f, -p options and env vars on docker-compose

What's changed

added subtopic headings to Docker Compose CLI overview to surface options
expanded info on -f and -p options, and added more links to environment variables info
added an example of using -f to specify a Compose file pathname
removed the notoc: true option from front matter of all relevant files to surface on-page headings

Related
Fixes #3568
Reviewers
@shin- @mahmoudmahdi24 @mstanleyjones @thaJeztah
Netlify preview link
https://deploy-preview-3586--docker-docs.netlify.com/compose/reference/overview/
Signed-off-by: Victoria Bialas<EMAIL_ADDRESS>

LGTM, merging based on thumbs up from user on the referenced issue


add project_id index for Roles table

Had a slow grind on the DB growing... traced to this query.

I'd say that was successful...