Front-end does incorrect UP on equivalent promoted type variables.

Example:
// ignore_for_file: unnecessary_cast, unused_local_variable
void main() { foo<num>(false, 0, 0); }

void foo<X>(bool test, X a, X b) {
  if (a is! int) return;
  {
    // UP(T, T) = T  -- success
    var c = (test ? a : a)
      ..toRadixString(2) // Allows int method.
      ..st<E<X>>()  // Erases to X
      ;
    {
      X v1 = c; // Assignable to X
      int v2 = c; // Assignable to int
      c.st<E<X>>; // Erases to X.
      c = a as X;
    }
  }

  if (b is! int) return;
  {
    // a : X & int
    // b : X & int
    // "It's the same picture!"
    //
    // UP(T, T) = T  -- failure :(
    var c = (test ? a : b)
      ..toRadixString(2) // Not defined on Object?
      ..st<E<X>>() // X is not T (Wat?!)
      ;
    {
      X v1 = c;
      int v2 = c; // X not assigable ot int
      c.st<E<X>>; // X is not X
      c = a as X; // X not nullable, X is.
    }
  }
}

extension Ext<T> on T {
  void st<S extends E<T>>(){}
}
typedef E<T> = T Function(T); // Invariant.

Here the first test ? a : a successfully takes UP(X&int, X&int) and gives X&int.
This is witnessed to excess by members called directly on the expression via cascades,
and by assignability to/from the variable afterwards.
The second test ? a : b gives a different result, even though it should also do UP(X&int, X&int), it's just X&int from two different sources, but it's the same type. (Not even after NORM, just plain the same type. Types are structural, they do not have identities, there cannot be two X & int types.)
The front-end doesn't recognize that the two types are the same, falls back to the same logic as https://github.com/dart-lang/sdk/issues/52993, and produces the faulty X-but-not-nullable type.
All the produced errors (checked in DartPad) match that.
Analyzer has no warnings or errors.
The errors:
lib/main.dart:28:9:
Error: The method 'toRadixString' isn't defined for the class 'Object?'.
 - 'Object' is from 'dart:core'.
      ..toRadixString(2) // Not defined on Object?
        ^^^^^^^^^^^^^
lib/main.dart:29:9:
Error: Type argument 'X Function(X)' doesn't conform to the bound 'T Function(T)' of the type variable 'S' on 'Ext|st'.
      ..st<E<X>>() // X is not T (Wat?!)
        ^
lib/main.dart:41:11:
Info: This is the type variable whose bound isn't conformed to.
  void st<S extends E<T>>(){}
          ^
lib/main.dart:33:16:
Error: A value of type 'X' can't be assigned to a variable of type 'int'.
      int v2 = c; // X not assigable ot int
               ^
lib/main.dart:34:11:
Error: Type argument 'X Function(X)' doesn't conform to the bound 'X Function(X)' of the type variable 'S' on 'void Function<S extends X Function(X)>()'.
      c.st<E<X>>; // X is not X
          ^
lib/main.dart:35:13:
Error: A value of type 'X' can't be assigned to a variable of type 'X' because 'X' is nullable and 'X' isn't.
      c = a as X; // X not nullable, X is.
            ^
Error: Compilation failed.

It seems the identity of the promoted type variable depends on its, well, identity.

Yes, exactly! The rule UP(T, T) = T is implemented using identical in our code, and using == instead of it makes the example compile without errors.
What's the right notion of equivalence on types should be used here? Equality of terms? Any other kind of structural equality? Should we use any sort of type normalization to account for all possible top types?

I'm preparing a CL that uses the term equality instead of identity: https://dart-review.googlesource.com/c/sdk/+/315443. The CL doesn't seem to break anything locally. It should be a safe option to land at least that for now because any other interpretation of equivalence, including those that involve any kind of normalization, will be more permissive.

What's the right notion of equivalence on types should be used here?

That goes right to the question: What are the entities of the type system?
Dart's type system is an inductively defined "term" system.
A number of types are defined by the specification, fx. the types for void, dynamic, and Never.
Record types exist for each shape and each choice of type for the field.
Function types exist for each possible parameter list shape and type per parameter and tror type, and each possible type parameter list and choice of type parameter bound type, for genetic function types.
For each type T, T? and FutureOr<T> is a type.
For each nominative type, and valid type argument list, we have a type.
And each type variable declaration introduces a type inside it's scope. Outside the scope they'll be bound to another type. And X & T is yet another type.
This inductively defined set has one element per proof of inclusion, and each of those is a unique type in the type system. If it is structurally equivalent (ignoring things like order of named parameters, names of bound type variables), then it's the same type.
(We then have a further equivalence on top, which is structural equivalence after normalization, NORM. I can't say when to use that instead. With any luck, it should not make any difference, but here it probably would.)

Thanks for the elaborate response! To my understanding, it confirms that my CL reflects the expected behaviour.

I think it might be dangerous to use == on DartType representations of Dart types in some situations, because the object identity is used to keep track of types that are distinct even though their representation does not reveal that distinction. In other words, I'd expect == to have some false positives.
Of course, this is just something that @johnniwinther told me a long time ago. @johnniwinther, perhaps you'd comment?

The DartTypes from package:kernel have no identity, so it always correct to use ==.
@eernstg I can't recall the conversation you refer to but I guess it was about different type system implementation.

Thanks, @johnniwinther! That's great, by the way! ;-)


Testsuite 1.3.2 deploys CNF into the default namespace even when helm_install_namespace is set

Describe the bug
After upgrade to 1.3.2 the CNF is deployed into the default namespace even when helm_install_namespace is set.
To Reproduce
Steps to reproduce the behavior:

Install 1.3.2
Use the following settings in cnf-testsuite.yml

Note, Helm package is used with the parameter helm_directory as per https://github.com/cnti-testcatalog/testsuite/discussions/2041
helm_directory: dns-24.03.0.tgz
helm_install_namespace: dns-system
release_name: dns

See the CNF deployed in the default namespace

Expected behavior
The parameter helm_install_namespace shall be respected if set (just like with 1.3.1).
Device (please complete the following information):
[ec2-user@ip-10-0-110-88 ~]$ uname -a
Linux ip-10-0-110-88.ec2.internal 5.10.223-212.873.amzn2.x86_64 #1 SMP Wed Aug 7 16:53:32 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

How will this be tested? aka Acceptance Criteria (optional)
Additional context

I guess this is addressed by already merged #2127 so a next release should contain the fix. @barmull to check.

I checked it on current main branch, and everything works as expected. If variable helm_install_namespace is not set , then cnf is installed into cnf-default. If variable is set, cnf is installed into helm_install_namespace value.

Thanks! I am closing the ticket.

@sysarch-repo
https://github.com/cnti-testcatalog/testsuite/releases/tag/v1.3.3
should work.


Arrows on footer sections remains on desktop

Hi,
If a footer section is deployed when the browser is less than 774px wide, the arrow remains if the browser is resized.

Can you try and describe the problem you are seeing a little bit more? I can’t reproduce the problem from what you are saying:

Yep I can !

up

Thanks for the bump, @jfily. Got lost. Seems like this is a valid bug. Gonna look into it.

no problem :)

Should be fixed now.


Expose paths to $service-worker module

Describe the problem
An aside in #2571:

src/service-worker.js can't import $app/paths with build errors

That's expected — $app modules aren't available in service workers, because in general they don't make any sense in that context. But it might be useful to expose paths.
I don't know what the concrete use cases are, but it seems worth having a ticket distinct from #2571. And it's all tree-shakeable and therefore free anyway
Describe the proposed solution
One of these:
import { paths } from '$service-worker';

import { base, assets } from '$service-worker';

import { base, assets } from '$service-worker/paths';

Alternatives considered
No response
Importance
nice to have
Additional Information
No response

I'm not that familiar with service workers. Why do you say paths.assets is incompatible with service workers? You can't have a site that loads assets from a CDN and uses a service worker?


Where is the Database connection string

You have to add appsettings.json, with connectionstring like:
{
"AllowedHosts": "*",
"ConnectionStrings": {
"DefaultConnection": "Data Source=[SQLServerInstance];Initial Catalog=FancyRealEstate;User ID=sa;Password=yourpwd;"
}
}


Fixes prop names causing menu height to be NaN

Keeping the selected suggestion in view when using max-height and overflow: scroll was not working. The css property names being used to calculate the menu height were mistakenly camelCased causing menuHeight to be NaN and never triggering the conditional.

Coverage remained the same at 88.624% when pulling 6beb52199798f7f365e6f4ed66dac081a65e8be9 on zdkroot:fix/menu-overflow-scroll into a4cbd24af1e92dcaa850b79e4ad63eec39556587 on algolia:master.

Seems legit given other usages, thanks! Any idea if this could break other websites css that had implemented autocomplete.js long time ago?

I don't think so, it's only an internal calculation. Neither the value nor method are exposed anywhere and there are no events connected to it. No errors were being thrown either. Perhaps if someone was manually implementing this - I don't believe this feature is documented anywhere. I only found it by digging through the source trying to create it myself.

Thanks, merging!


Handle field types without help_text as string

I was seeing AttributeError: 'NoneType' object has no attribute 'replace' for the call
help_text = field.help_text.replace('"', '\\"')

Evidently some field types can have help_text in field_attributes, but field.help_text is still None (rather than an empty string). This is true in particular for django-taggit's TaggableManager, which was the source of the error – a model that defined a tags field using
tags = TaggableManager(blank=True)

which seems like a pretty common use case.

Hi @thatbudakguy
Unfortunately I didn't see notifications about this pull request, I'll review it soon as possible


cmake error: Could not find a package configuration file provided by "fmt"

Below is the error msg:
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Module support is disabled.
-- Version: 8.0.1
-- Build type:
-- CXX_STANDARD: 20
-- Performing Test has_std_20_flag
-- Performing Test has_std_20_flag - Success
-- Performing Test has_std_2a_flag
-- Performing Test has_std_2a_flag - Success
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS - Success
-- Performing Test FMT_HAS_VARIANT
-- Performing Test FMT_HAS_VARIANT - Success
-- Required features: cxx_variadic_templates
-- Looking for strtod_l
-- Looking for strtod_l - found
CMake Error at CMakeLists.txt:59 (find_package):
  By not providing "Findfmt.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "fmt", but
  CMake did not find one.

  Could not find a package configuration file provided by "fmt" with any of
  the following names:

    fmtConfig.cmake
    fmt-config.cmake

  Add the installation prefix of "fmt" to CMAKE_PREFIX_PATH or set "fmt_DIR"
  to a directory containing one of the above files.  If "fmt" provides a
  separate development package or SDK, be sure it has been installed.

-- Configuring incomplete, errors occurred!
See also "/home/yhc/asyncio/build/CMakeFiles/CMakeOutput.log".```

seems need to build and install fmt in third_party dir manually first.

seems need to build and install fmt in third_party dir manually first.

sure it is, so maybe the origin CMakeLists.txt file need to be modified for automating this process

do you clone recursive submodules?
$ git clone --recursive https://github.com/netcan/asyncio.git
$ cd asyncio
$ mkdir build
$ cd build
$ cmake ..
$ make -j

yes

do you clone recursive submodules?
$ git clone --recursive https://github.com/netcan/asyncio.git
$ cd asyncio
$ mkdir build
$ cd build
$ cmake ..
$ make -j

yes, git clone with --recursive

Seems like #18 makes it

The same issue occured:
 $cmake ..
-- The CXX compiler identification is GNU 11.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:62 (find_package):
  By not providing "Findfmt.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "fmt", but
  CMake did not find one.

  Could not find a package configuration file provided by "fmt" with any of
  the following names:

    fmtConfig.cmake
    fmt-config.cmake

  Add the installation prefix of "fmt" to CMAKE_PREFIX_PATH or set "fmt_DIR"
  to a directory containing one of the above files.  If "fmt" provides a
  separate development package or SDK, be sure it has been installed.

-- Configuring incomplete, errors occurred!

I have to run this first:
cd third_party/fmt
mkdir build
cd build
cmake ..
make
sudo make install

after this, cmake is ok.

I use ubuntu 22.04 and install cmake by snap. cmake is on /snap/bin/cmake.
This make me touble. On vscode, it cannot find cmake even it just be there!
After reinstall it with apt, everything is ok.

Woooooo, Thanks for sharing the solution! : )
-----原始邮件-----
发件人:Bigben @.>
发送时间:2024-10-25 11:35:00 (星期五)
收件人: netcan/asyncio @.>
抄送: "H.Yuan" @.>, Author @.>
主题: Re: [netcan/asyncio] cmake error: Could not find a package configuration file provided by "fmt" (Issue #23)
The same issue occured:
$cmake ..
-- The CXX compiler identification is GNU 11.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:62 (find_package):
By not providing "Findfmt.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "fmt", but
CMake did not find one.
Could not find a package configuration file provided by "fmt" with any of
the following names:
fmtConfig.cmake
fmt-config.cmake

Add the installation prefix of "fmt" to CMAKE_PREFIX_PATH or set "fmt_DIR"
to a directory containing one of the above files.  If "fmt" provides a
separate development package or SDK, be sure it has been installed.
-- Configuring incomplete, errors occurred!
I have to run this first:
cd third_party/fmt
mkdir build
cd build
cmake ..
make
sudo make install
after this, cmake is ok.
I use ubuntu 22.04 and install cmake by snap. cmake is on /snap/bin/cmake.
This make me touble. On vscode, it cannot find cmake even it just be there!
After reinstall it with apt, everything is ok.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


How can I get a dynamic depthwise convolution with ddf ?

I want to make a 3x3 depthwise convolution dynamic, what should I change?

Similarly, you can get a WeightNet-like depthwise filter by fixing all values in the spatial filter to 1 for 'mul' combination or 0 for 'add' combination.
spatial_filter = torch.ones(filter_size)
output = ddf(input, channel_filter, spatial_filter,
kernel_size, dilation, stride, 'mul')
or
spatial_filter = torch.zeros(filter_size)
output = ddf(input, channel_filter, spatial_filter,
kernel_size, dilation, stride, 'add')


Dragonfly support

Hey Archit,
i've created a pull request, so that we can see the differences better before merging them into dev.
Is it mergeable from your side?

Hey, sorry for the late update. I'm keeping this branch separate for now due to an ongoing issue we're having between the cluster and dragonfly. I can push some stuff through if the merge is halting progress on your end somehow. Is it urgent?

No it's totally fine. It's not urgent from my side :)

It should now be stable enough for a merge. If you get the chance, do go through it real quick. I think the changes that concern more than just dragonfly's own ecosystem are these:

Introduced global module constants, such the the name of the output trajectory file.
Changed the loggers to use __name__ (at least for run_benchmark and the dragonfly files) since this makes it much easier to program a CLI switch for debug mode.
Dragonfly itself only cares about "time_limit_in_s" as far as the optimizer settings go. This overall interface may need further revision soon.
Dragonfly no longer expects to read fidelity parameters from experiment_settings.json but rather assumes that benchmarks will implement a get_fidelity_space() method which returns a ConfigSpace.ConfigurationSpace object. This change may or may not need to be adapted by the other optimizers as well.


Replace home/ncw with $HOME?

Hello, @ncw !
I saw /home/ncw in documentation many times. git grep 'home/ncw' on you repository and replace home/ncw with $HOME, maybe?
Thanks.

Well spotted.
You can ignore any that are outside docs/content - all the other docs are auto generated.
These seem to be nearly all in the docs/commands - these are generated by this Makefile targe
commanddocs: rclone
        rclone gendocs docs/content/commands/

So an ideal fix would be to fix the gendocs command, or maybe add a post-processor into the make command - maybe a bit of sed to do the replacements?


Make resource scheduling more flexible for small model runs

We currently require 1 ensemble member per HPC job when running calibrations on HPC systems.
For many models, this causes the runtime to be dominated by compilation time.
We can avoid this by using a worker pool-resource model, using the same HPC job "worker" for multiple ensemble members.
This will be a big change from the current scheme but should allow users to parallelize more easily across small model runs.
It may be helpful to measure precompilation vs solve time: https://github.com/CliMA/TurbulenceConvection.jl/blob/main/perf/precompilable.jl

Simple example of SlurmWorkers, in ClimaAtmos run julia --project=calibration/test and add ClusterManagers
using Distributed, ClusterManagers

addprocs(SlurmManager(5), t="00:20:00", cpus_per_task=1,exeflags="--project=$(Base.active_project())")

@everywhere begin
	import ClimaCalibrate as CAL
	import ClimaAtmos as CA

	experiment_dir = joinpath(pkgdir(CA), "calibration", "test")
	model_interface =
		joinpath(pkgdir(CA), "calibration", "model_interface.jl")
	output_dir = "calibration_end_to_end_test"
	include(model_interface)
	ensemble_size = 30
    obs_path = joinpath(experiment_dir, "observations.jld2")
end

# Generate observations
import ClimaAnalysis: SimDir, get, slice, average_xy

function CAL.observation_map(iteration)
    single_member_dims = (1,)
    G_ensemble = Array{Float64}(undef, single_member_dims..., ensemble_size)

    for m in 1:ensemble_size
        member_path = CAL.path_to_ensemble_member(output_dir, iteration, m)
        simdir_path = joinpath(member_path, "output_active")
        if isdir(simdir_path)
            simdir = SimDir(simdir_path)
            G_ensemble[:, m] .= process_member_data(simdir)
        else
            G_ensemble[:, m] .= NaN
        end
    end
    return G_ensemble
end
function process_member_data(simdir::SimDir)
    isempty(simdir.vars) && return NaN
    rsut =
        get(simdir; short_name = "rsut", reduction = "average", period = "30d")
    return slice(average_xy(rsut); time = 30).data
end

if !isfile(obs_path)
    @info "Generating observations"
    atmos_config = CA.AtmosConfig(joinpath(experiment_dir, "model_config.yml"))
    simulation = CA.get_simulation(atmos_config)
    CA.solve_atmos!(simulation)
    observations = Vector{Float64}(undef, 1)
    observations .= process_member_data(SimDir(simulation.output_dir))
    JLD2.save_object(obs_path, observations)
end

# Initialize experiment data
@everywhere begin
    import JLD2
    import LinearAlgebra: I
	astronomical_unit = 149_597_870_000
	observations = JLD2.load_object(obs_path)
	noise = 0.1 * I
	n_iterations = 6
	prior = CAL.get_prior(joinpath(experiment_dir, "prior.toml"))

	config = CAL.ExperimentConfig(;
		n_iterations,
		ensemble_size,
		observations,
		noise,
		output_dir,
		prior,
	)
end

function run_iteration(config, iter)
    futures = map(1:config.ensemble_size) do m
        worker_index = mod(m - 1, length(workers())) + 1
        worker = workers()[worker_index]
        @info "Running on worker $worker"
        model_config = CAL.set_up_forward_model(m, iter, config)
        remotecall(CAL.run_forward_model, worker, model_config)
    end
    fetch.(futures)
    G_ensemble = CAL.observation_map(iter)
    CAL.save_G_ensemble(config, iter, G_ensemble)
    eki = CAL.update_ensemble(config, iter)
    return eki
end

function calibrate(config)
    CAL.initialize(config)
    eki = nothing
    for iter in 0:config.n_iterations
        s = @elapsed run_iteration(config, iter)
        @info "Iteration $iter time: $s"

    end
    return eki
end

eki = calibrate(config)

import EnsembleKalmanProcesses as EKP
import Statistics: var, mean
using Test

function minimal_eki_test(eki)
    params = EKP.get_ϕ(prior, eki)
    spread = map(var, params)

    # Spread should be heavily decreased as particles have converged
    @test last(spread) / first(spread) < 0.1
    # Parameter should be close to true value
    @test mean(last(params)) ≈ astronomical_unit rtol = 0.02
end

import CairoMakie

function scatter_plot(eki::EKP.EnsembleKalmanProcess)
    f = CairoMakie.Figure(resolution = (800, 600))
    ax = CairoMakie.Axis(
        f[1, 1],
        ylabel = "Parameter Value",
        xlabel = "Top of atmosphere radiative SW flux",
    )

    g = vec.(EKP.get_g(eki; return_array = true))
    params = vec.((EKP.get_ϕ(prior, eki)))

    for (gg, uu) in zip(g, params)
        CairoMakie.scatter!(ax, gg, uu)
    end

    CairoMakie.hlines!(ax, [astronomical_unit], linestyle = :dash)
    CairoMakie.vlines!(ax, observations, linestyle = :dash)

    output = joinpath(output_dir, "scatter.png")
    CairoMakie.save(output, f)
    return output
end

function param_versus_iter_plot(eki::EKP.EnsembleKalmanProcess)
    f = CairoMakie.Figure(resolution = (800, 600))
    ax = CairoMakie.Axis(
        f[1, 1],
        ylabel = "Parameter Value",
        xlabel = "Iteration",
    )
    params = EKP.get_ϕ(prior, eki)
    for (i, param) in enumerate(params)
        CairoMakie.scatter!(ax, fill(i, length(param)), vec(param))
    end

    CairoMakie.hlines!(ax, [astronomical_unit]; color = :red, linestyle = :dash)

    output = joinpath(output_dir, "param_vs_iter.png")
    CairoMakie.save(output, f)
    return output
end

scatter_plot(eki)

After some simple cases, MPI provides a much more robust and flexible workflow but is more difficult to run interactively. I think small and forward model runs can always be parallelized with MPI going forward, we just need the slurm scheduling interface for expensive calibration runs.
I think it is worth figuring out an ideal interface around MPI and how to play nice with ClimaComms!
Initial MPI script

After even more testing, it seems as though spinning out slurm julia workers and testing them well within our package will be the nicest way to work interactively. MPI does not fit the task-based parallelism paradigm that we want, it is easier to load balance with the workers and will be more flexible for complex calibration runs.


Audit our combustion script ordering & document for customers

We've been inconsistent in using prefixes on our combustion scripts. Once we finish with rapid development, we need to revisit these to ensure we're comfortable with our ordering, have accounted for possible hooks, and have all of them ordered correctly.

Closing out; this is tracked as part of our internal productization efforts.


New package: UnitfulMR v0.1.0

Registering package: UnitfulMR
Repository: https://github.com/fmrilab/UnitfulMR
Created by: @tianrluo
Version: v0.1.0
Commit: 7b0b10e3df5bc2105daabf323ce418bdf0c1b45e
Git reference: master
Release notes:

Adding [compat]

Needs compat at least for Julia itself.

@StefanKarpinski Sorry I am a bit confused here. You mean the tests do not run with current Julia?

You need to add a section to the Project.toml file entitled [compat] that indicates what versions of your dependencies the package is compatible with.

@StefanKarpinski Thanks for clarifying that!

Updated, hopefully it is now meeting the requirements. Thanks!

Hi, I was just wondering if there is anything else I need to do before this package can be added to the index library.

No, sorry, just missed that this had been approved for the usual three days!

Thanks! :D


[BUG] Android 13 -  PhotoManager.getAssetPathList(hasAll: true) returns empty list

Describe the bug
On android version 13, PhotoManager.getAssetPathList(hasAll: true) always returns an empty list
To Reproduce
code sample:
    var result = await PhotoManager.requestPermissionExtend();
    if (result.isAuth) {
      // success
      photoPermissionGranted = true;
      //load the album list
      List<AssetPathEntity> albums = await PhotoManager.getAssetPathList(hasAll: true);
      print(albums);
    }

Expected behavior
Should return a list of media, as it does on iOS and on android version < 13
Flutter version

Smartphone (please complete the following information):

Device: emulated pixel c tablet, also seen on pixel 6
OS: Android 13

Log
n/a

FWIW - I also cloned this repository and tried running the example demo on these devices and I see the same behavior. Any pointers on how to resolve or work around this would be greatly appreciated.

@davidbrenner, @AlexV525 I faced the same issue with android 13, I did everything explained in the documentation with no luck.
Then I added READ_EXTERNAL_STORAGE to the list of permissions inside AndroidManifest.xml like this
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE>" />
and it worked, hope this may help you

Pixel C Tablet emulator.

Be aware, emulators won't detect images unless you manually browse them first from the file manager, then a reboot is required in addition.
Closing as it seems invalid and not related.

@AlexV525 and @majd-fouuqhaa - thanks for investigating and for the pointers. I don't know exactly which one unlocked this for me, but I can confirm I got it to work between the 2 of your suggestions (rebooting the emulator and adding READ_EXTERNAL_STORAGE.
Confirmed that this was invalid and good to close. Hopefully if someone else runs into this, the suggestions in this thread work for them as well.

@davidbrenner
In my case, minSdkVersion, compileVersion, targetSdkVersion is matter.
I've updated minSdkVersion to 21, compileVersion to 33, targetSdkVersion to 33. Then it works.

For Android 13, I added
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />

And used permission_handler
To request media library and photos permission
final permitted = await Permission.mediaLibrary.request().isGranted &&
        await Permission.photos.request().isGranted;

And it worked.
Note: I also upgraded targetSdkVersion 33 in app build.gradle.

@erisanolasheni

I was able to get it working without Permission.photos.request().isGranted:

I found that in production, if you request without Permission.photos, it returns still empty array.
(Only in Android production)

Nothing works in my case also , same issue androdi 13 pxel 4 , tried emulator and real device aslo
 getData() async {
    PermissionStatus status;
    final deviceInfo = await DeviceInfoPlugin().androidInfo;

    if (deviceInfo.version.sdkInt > 32) {
      status = await Permission.photos.status;
    } else {
      status = await Permission.storage.status;
    }
    print("status $status");
    if (status.isGranted == false) {
      if (!mounted) {
        return;
      }
      return showCupertinoDialog(
          context: context,
          barrierDismissible: false,
          builder: (_) => CustomDialog(
                showCross: false,
                title: Text(
                  "Permission Required",
                  style: CustomStyles.headingTextStyle,
                ),
                content: const Text(
                  '''This Permission allows Digrowfa to let you choose which photos/videos to share with your friends/connections.''',
                  textAlign: TextAlign.center,
                ),
                actions: [
                  Center(
                    child: RoundedButton(
                      width: Dimensions.screenWidth * 0.7,
                      color: Constants.primaryColor,
                      child: const Text("Ok"),
                      onPressed: () {
                        if (status.isPermanentlyDenied) {
                          Navigator.pop(context);
                          openAppSettings();
                        } else {
                          _fetchNewMedia();
                        }
                        Navigator.pop(_);
                      },
                    ),
                  ),
                  CupertinoDialogAction(
                    child: const Text("cancel"),
                    onPressed: () {
                      Navigator.pop(_);
                      Navigator.pop(context);
                    },
                  ),
                ],
              ));
    } else {
      _fetchNewMedia();
    }

    return null;
  }

  Future<void> _fetchNewMedia() async {
    lastPage = currentPage;
    final deviceInfo = await DeviceInfoPlugin().androidInfo;
    var result;
    if (deviceInfo.version.sdkInt > 32) {
      result = await Permission.photos.request();
    } else {
      result = await Permission.storage.request();
    }
    print(result);
    if (result == PermissionStatus.granted) {
      List<AssetPathEntity> albums = await PhotoManager.getAssetPathList();
      print(albums);
      if (dropList.isEmpty) {
        for (var i in albums) {
          if (await i.assetCountAsync != 0) {
            dropList.add(DropdownMenuItem(
              value: albums.indexOf(i),
              child: Text(i.name,
                  style: CustomStyles.mediumBodyTextStyle
                      .copyWith(color: Colors.white)),
            ));
          }
        }
      }
      List<AssetEntity> media = await albums[listIndex]
          .getAssetListPaged(page: currentPage, size: 12);

      List<Widget> temp = [];
      if (albums.isNotEmpty) {
        for (var asset in media) {
          mediaFile = await asset.file;
          if (widget.type == UploadType.shout) {
            if (asset.type == AssetType.video) {
              paths.add({"file": mediaFile, "type": asset.type});
              addToTemp(temp, asset);
            }
          } else {
            paths.add({"file": mediaFile, "type": asset.type});
            addToTemp(temp, asset);
          }
        }
      } else {}
      if (!mounted) return;
      setState(() {
        _mediaList.addAll(temp);
        currentPage++;
      });
    } else {
      if (!mounted) {
        return;
      }
      showCupertinoDialog(
          context: context,
          builder: (_) => CustomDialog(
                title: const Text("Permission Issue"),
                content: Column(
                  mainAxisSize: MainAxisSize.min,
                  children: [
                    const Text(
                        "It seems like Digrowfa doesn't have access to your File and Images, Please Go to the App Settings and Provide them Manually."),
                    addVerticalSpace(40),
                    RoundedButton(
                      color: Constants.primaryColor,
                      onPressed: () {
                        PhotoManager.openSetting();
                      },
                      child: const Text("Go to Settings"),
                    )
                  ],
                ),
              ));
    }
  }

PhotoManager.getAssetPathList() always returns [] for android 13
<uses-permission
     android:name="android.permission.READ_EXTERNAL_STORAGE"/>
 <uses-permission
     android:name="android.permission.WRITE_EXTERNAL_STORAGE"
     android:maxSdkVersion="28"/>
 <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
 <uses-permission
     android:name="android.permission.READ_CONTACTS"/>


Breakpoints are not working in newer Chrome Version - 100.0.4896.75

After automatic upgrade of Chrome version to 100.0.4896.75, breakpoints are stopped working. I believe internally framework crashing at somewhere.
Steps to Reproduce

Set breakpoints and run application.
Your breakpoint will never hit

Expected results:
Breakpoints should work.
Actual results:
Breakpoints are not hitting.

Code sample
Application is pausing inside internal framework. Check attached screenshot and log inside that screenshot.

Logs
packages/mutu/common/model/notification/message_notification_data.dart
[   +1 ms] MetadataProvider: Loaded debug metadata for module: packages/mutu/common/model/notification/info_notification_data.dart
[        ] MetadataProvider: Loaded debug metadata (no sound null safety)
[  +85 ms] DwdsInjector: Injected debugging metadata for entrypoint at http://localhost:49505/main_module.bootstrap.js
[+19159 ms] ChromeProxyService: Initializing expression compiler for main_module.bootstrap.js with sound null safety: false
[ +303 ms] DevHandler: Debug service listening on ws://<IP_ADDRESS>:52952/NgaB2SulXxo=/ws
[  +41 ms] This app is linked to the debug service: ws://<IP_ADDRESS>:52952/NgaB2SulXxo=/ws
[  +12 ms] Debug service listening on ws://<IP_ADDRESS>:52952/NgaB2SulXxo=/ws
[        ] Running with unsound null safety
[        ] For more information see https://dart.dev/null-safety/unsound-null-safety
Connecting to VM Service at ws://<IP_ADDRESS>:52952/NgaB2SulXxo=/ws
[ +361 ms] DevHandler: VmService proxy responded with an error:
           {jsonrpc: 2.0, id: 18, error: {code: -32601, message: setLibraryDebuggable: Not supported on web devices}}

Logs are tool long and not allowing here as a part of comment. Attaching file with full logs.
VerboseLogs.txt

Idrishsorathiya@RSPLMAC052 Utilities % flutter doctor -v
[✓] Flutter (Channel stable, 2.10.4, on macOS 12.2.1 21D62 darwin-x64, locale en-IN)
    • Flutter version 2.10.4 at /Users/Idrishsorathiya/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c860cba910 (12 days ago), 2022-03-25 00:23:12 -0500
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/Idrishsorathiya/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio 2.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.66.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 100.0.4896.75

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

I am using VSCode for my development but I tried in Android Studio as well. Both are behaving same.

Same thing was happening from the last release I guess. This is a Blocker instead of an issue!, Intelli J same issue!!!!! Android Studio will test. ARGHHHH. This needs to be done ASAP.

As a temporary workaround I have downgraded chrome and it is working for me but it is inconvenient and tricky to stop upgrade of Chrome.

Same thing here.
I checked different approaches to fix this by using Flutter & Dart pre-Release version of the VS-Code extensions.
Neither of these fixes it. It is also independend of the used flutter version (2.10.4 / 2.10.3).
Only possible fix is to downgrade Chrome. ( Note here: Reinstallation of chrome + removing chrome profile will also not fix this bug). Edge is also not working

Version 99.0.4844.84 of Chrome is working without problems. We also downgraded to it.

Took the same approach as detroxx92. I am using Mac and also downgraded to a version below 100.

Hi @idrish-sorathiya, Thanks for filing the issue.
This is a known issue and is being tracked here https://github.com/flutter/flutter/issues/101224, Please follow up there for further updates, Closing this issue as a duplicate. If you disagree feel free to write in the comments and we will reopen it.
Thank you.


My Cluster Explorer and Apps&Marketplace become disconnected

Hi, I'm touring rancher's feature nowadays. But I got in stuck.
It is happened to me that "My Cluster Explorer and Apps&Marketplace become disconnected".
For further explanation, I have added the details below.

Apps & Marketplace is unavailable. and charts, installed apps, chart repositories, etc, they show nothing.

when I click terminal icon in the upper right of Cluster Explorer, as you see below, my shell is disconnected

my nodes in the rke cluster has internal IP and NAT IP.
and I only can connect to the nodes by not internal IP but NAT IP.
so, I can do anything without error in rancher dashboard including scheduling. see below.

but, I can do nothing about internal IP. and I think that Cluster Explorer schedules pods about Apps&Marketplace using internal IP.

- Can I get some architecture or network information about Apps&Marketplace's helm GUI?
Thanks to read! :)

I found my trouble. It's just worker node's disk device got lost. haha :-)

@bellship24 It seems like you've determined the root error. If you're still seeing issues just let us know


Full refresh not working

Hello, I may not be using this correct, but when I make a change to my prompt that requires a full refresh it doesn't seem to we working. So far I am manually having to drop all tables that are managed by BQML and anything downstream.

Will close this as my assumption of " I may not be using this correct " is most likely.

Hello @chtyim, I am still having issues with any workflow executation with the "run with full refresh" option.
In theory, I would expect that if I select all actions for the workflow execution, and then select "run with full refresh", that it would delete all records from the bqml managed tables and send all records to the ML.GENERATE_TEXT again.
This doesn't seem to be the current functionality, and I am having to manually DROP all tables when I need a full refresh.
Appreciate any help or advice


Pages from wordpress

These changes are required to use the new home and contact us pages from the new pantheon instance.
I also discovered a legacy bug where a few imgs were missing from old blog posts and copied over a missing directory

good find!
Angelica Quirarte, "Angie"
Deputy Director | Office of Digital Innovation
c:<PHONE_NUMBER> or<PHONE_NUMBER>
Digital Crisis Standard- covid19.ca.gov
https://github.com/cagov/covid19/wiki/Crisis-Standard
Follow us:
Web https://alpha.ca.gov/ | Blog https://medium.com/cadotgov | Twitter
https://twitter.com/cadotgov
On Tue, Nov 9, 2021 at 4:27 PM Chach Sikes @.***> wrote:

@.**** approved this pull request.
Very exciting!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cagov/digital.ca.gov/pull/38#pullrequestreview-802027661,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACI5BXCF7N2VWPBVDWXAWJ3ULG35PANCNFSM5HWTE6CA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Funky problem with date parsing remains


content/docs/python: update tracing example

Update to use last release version (v0.5.0)

hmm, I just realized https://github.com/open-telemetry/opentelemetry.io/pull/144 is removing those files and introducing links to documentation directly. Closing now.


How to programatically select a segment index?

I want to change selection from "Apple" to "Google" when taping change button.How to achieve that.
i already tried 'selectedSegmentIndex' but it is not working.

Sorry
titleCont.setSelected(forIndex: diceRoll, animated: true)
i got it.


Let users change their display name and email from the app

Problem

Let users change their display name and email from the app
The API is probably undocumented at the moment
https://world.openfoodfacts.org/cgi/user.pl?type=edit&userid=teolemon

any update on this? what are the required fields for the req?


self.inputs instead of inputs

We should be able to use self.inputs instead of explicitly requiring inputs.
Courtesy of @Mic92

implemented in develop

https://github.com/divnix/digga/pull/37


Add DNS challenge provider for namecheap.

Ok here is a new pull request with the namecheap DNS challenge code.  It's based on the new dns provider code organization.
Note, I had to expose the checkDNSPropagation function in acme/dns_challenge.go in order to use a custom WaitFor delay within Present.

I've only had a chance to glance at your PR, but it looks pretty solid so far! :+1:

@beevik, if #148 gets merged you will be able to specify the custom timeout via a Timeout method as you did in your old PR, instead of exposing checkDNSPropagation. I think @xenolf is mostly happy with #148 now.

Ok I rebased my PR onto this PR.  I also removed the change that exposed checkDNSPropagation.

In #148 I have removed the interval growth, and instead allowed specifying the interval via the Timeout() method. For Gandi, I've just set it to 60 seconds. Let me know if you have objections to this.

Rebased and updated.


Created XML fields are not displayed

Hello Michal Vasko!
I'm trying to implement features of o-ran-performance-management.yang but getting as issue I cannot even investigate. Need some help.
There is one big container "performance-measurement-objects" in o-ran-performance-management model. It contains fields
enable-SFTP-upload
enable-random-file-upload
transceiver-measurement-interval
epe-measurement-interval
rx-window-measurement-interval
tx-measurement-interval
notification-interval
file-upload-interval
max-bin-count
and few anothers in the root of the container.
They all writable and not mandatory except the last one (max-bin-count).
And when I create these fiels inside GET-request callback in Sysrepo daemon I see only one field created - 'max-bin-count' in netopeer2-cli as on the picture below.
I didn't face such issues for another YANG models.

The actual code block:
#define XPATH_CONFIG_STR_BASE "/o-ran-performance-management:performance-measurement-objects"

ret = lyd_new_path(NULL, ctx, XPATH_CONFIG_STR_BASE "/enable-SFTP-upload", "false", 0, parent);
if (ret != LY_SUCCESS) {
	syslog(LOG_ERR, "Failed to add 'enable-SFTP-upload' field; error %d", ret);
	return SR_ERR_LY;
}

ret = lyd_new_path(*parent, NULL, XPATH_CONFIG_STR_BASE "/enable-random-file-upload", "false", 0, parent);
if (ret != LY_SUCCESS) {
	syslog(LOG_ERR, "Failed to add 'enable-random-file-upload' field; error %d", ret);
	return SR_ERR_LY;
}

ret = lyd_new_path(*parent, NULL, XPATH_CONFIG_STR_BASE "/transceiver-measurement-interval", "1", 0, parent);
if (ret != LY_SUCCESS) {
	syslog(LOG_ERR, "Failed to add 'transceiver-measurement-interval' field; error %d", ret);
	return SR_ERR_LY;
}

ret = lyd_new_path(*parent, NULL, XPATH_CONFIG_STR_BASE "/rx-window-measurement-interval", "1", 0, parent);
if (ret != LY_SUCCESS) {
	syslog(LOG_ERR, "Failed to add 'rx-window-measurement-interval' field; error %d", ret);
	return SR_ERR_LY;
}

ret = lyd_new_path(*parent, NULL, XPATH_CONFIG_STR_BASE "/tx-measurement-interval", "1", 0, parent);
if (ret != LY_SUCCESS) {
	syslog(LOG_ERR, "Failed to add 'tx-measurement-interval' field; error %d", ret);
	return SR_ERR_LY;
}

ret = lyd_new_path(*parent, NULL, XPATH_CONFIG_STR_BASE "/notification-interval", "1", 0, parent);
if (ret != LY_SUCCESS) {
	syslog(LOG_ERR, "Failed to add 'notification-interval' field; error %d", ret);
	return SR_ERR_LY;
}

ret = lyd_new_path(*parent, NULL, XPATH_CONFIG_STR_BASE "/file-upload-interval", "1", 0, parent);
if (ret != LY_SUCCESS) {
	syslog(LOG_ERR, "Failed to add 'file-upload-interval' field; error %d", ret);
	return SR_ERR_LY;
}

ret = lyd_new_path(*parent, NULL, XPATH_CONFIG_STR_BASE "/max-bin-count", "1024", 0, parent);
if (ret != LY_SUCCESS) {
	syslog(LOG_ERR, "Failed to add 'max-bin-count' field; error %d", ret);
	return SR_ERR_LY;
}

So the fileds are created successfully but due to some unknown reason they are not displayed. Do you have an idea why?
FYI... The versions I'm using:
Netopeer2 of version 2.0.30 from master branch (8ec6d81d2a4991535c448e011e13380134d2bcfe).
Sysrepo of version 2.0.47 from master branch (https://github.com/sysrepo/sysrepo/commit/aec5ddc8be13c6e8cd7262024a57eac562487d8f).
Libyang of version 2.0.97 from master branch (320f34305dd9c7d14af5f13bec18e477b37f5db8).
Libnetconf of version 2.0.19 latest from master branch (37380c9f895b08c5e57092ea2fbead1b769a0711).

I found out it works if I previously set these RW fields with edit-config and XML:
<performance-measurement-objects xmlns="urn:o-ran:performance-management:1.0">
	<enable-SFTP-upload>false</enable-SFTP-upload>
	<enable-random-file-upload>false</enable-random-file-upload>
	<transceiver-measurement-interval>1</transceiver-measurement-interval>
	<epe-measurement-interval>1</epe-measurement-interval>
	<rx-window-measurement-interval>1</rx-window-measurement-interval>
	<tx-measurement-interval>1</tx-measurement-interval>
	<notification-interval>1</notification-interval>
	<file-upload-interval>1</file-upload-interval>
	<max-bin-count>1024</max-bin-count>
</performance-measurement-objects>

It seems like callback for GET request should cover only RO nodes.
@michalvasko , can you confirm that?

callback for GET request

What is that? Post the code snippet you use for subscribing this callback.

I'm constructing the XML output inside my callback mru_pfm_get_measurement_config_cb which is subscribed with the code below.

int error = sr_oper_get_items_subscribe(session, "o-ran-performance-management",
                                        "/o-ran-performance-management:performance-measurement-objects",
                                        mru_pfm_get_measurement_config_cb, NULL, SR_SUBSCR_CTX_REUSE, &subscription);
if (error) {
    syslog(LOG_ERR, "sr_oper_get_items_subscribe error (%d): %s", error, sr_strerror(error));
    sr_unsubscribe(subscription);
    return error;
}

I found the way to set RW nodes if needed. Sysrepo API should be used for that. Particularly method sr_set_item_str with sr_apply_changes.
As a hint for somebody in future...


Add the ability to create a reset point on a macro context

The ability to move back one term can be implemented as a utility function. Unfortunately the time complexity is O(n) in the number of syntax items.
To my mind a big reason to have this ability is to expand a term based on the type of syntax read:
import { prev } from './utils' for syntax;

syntax m = ctx => {
  ctx.next() // eatThis
  let stx = ctx.next().value;
  let ret;
  if(stx.isIdentifier()) {
    ret = #`${stx}`;
  } else if(stx.isDelimiter() && stx.isBracket()) {
    prev(ctx); // <- call to prev
    ret = #`${ctx.expand('ArrayExpression')}`;
  }
  return ret;
}

m eatThis foo; // foo
m eatThis [1,2,3] // [1,2,3]

But the same thing can be accomplished with lookahead:
import { lookahead } from './utils' for syntax;

syntax m = ctx => {
  ctx.next(); // eatThis
  let stx = lookahead(ctx); // <- call to lookahead
  let ret;
  if(stx.isIdentifier()) {
    ret = #`${stx}`;
  } else if(stx.isDelimiter() && stx.isBracket()) {
    ret = #`${ctx.expand('ArrayExpression')}`;
  }
  return ret;
}

m eatThis foo; // foo
m eatThis [1,2,3] // [1,2,3]

With this PR lookahead(1) can be implemented in constant time and lookahead(m) is O(m).
The feature works as follows:
syntax m = ctx => {
  ctx.next(); // eatThis
  ctx.mark(); // <- marks a reset point
  let stx = ctx.next().value
  let ret;
  if(stx.isIdentifier()) {
    ret = #`${stx}`;
  } else if(stx.isDelimiter() && stx.isBracket()) {
    ctx.reset(); // <- back to reset point
    ret = #`${ctx.expand('ArrayExpression')}`;
  }
  return ret;
}

m foo; // foo
m [1,2,3] // [1,2,3]

@disnet if you give the go-ahead, I'll update the docs.

👍
Does it make sense for mark to return a mark pointer and reset to take a mark pointer? That way you could have multiple marks to reset back to?

How do you track which point are after which points?  Do you have a particular use case in mind?
@vendethiel Just what you described. If you wanted to ensure order you could store them in a sequence.

I'm thinking of marks as branches in a decision tree. You might be deep in the tree and want to reset all the way to the top (first mark).

Without having to track the number marks you've made. Yeah, I can dig it. I'll put something together a little bit later.
What about reset no arg behavior? The same as before (to the beginning) or closest mark behind current position?
I'm a little torn. Automatically resetting to the beginning is convenient, but so is just going back to the last breadcrumb.

On second thought, you could do what I suggested to vendethiel if you just want to go back one.

What about reset no arg behavior?

Definitely should go back to the beginning.

@disnet do you want me to update the docs?

Do you want ctx.reset(marker) to throw if the marker is from another context?

Yes to updating docs and throwing on the wrong marker (or non-marker values).

@disnet Does this look good to you?

Thanks!


✨ Support bulk affect updates at independent affects endpoint

This endpoint has not yet been implemented by OSIDB.

@superbuggy maybe we can mark this PR as a draft until the needed functionality is supported in OSIDB?


Avoid all caps at form labels

I'd like to open a discussion about the design of form label .dc-label
Expected Behaviour
There are a few UX guidelines that recommend to avoid all caps
https://uxdesign.cc/design-better-forms-96fadca0f49c
https://blog.prototypr.io/all-caps-on-ui-good-or-bad-2570f14dc457
http://uxmovement.com/content/all-caps-hard-for-users-to-read/
I've notice a similar feedback from my users while using dress-code.
What do you think about a change of the style to remove all-caps constrains?
https://github.com/zalando/dress-code/blob/master/src/styles/atoms/_label.scss#L9
Actual Behavior
.dc-label uses all caps

Any thoughts !?

@fogfish Can be changed or you can add a modifier.... are you able to open a PR for that?


Failed to initialize GLFW: failed to watch joystick

Hi,
I have installed glfw and I get the following error:
Linux: Failed to watch for joystick connections in /dev/input: No space left on device
glfwInit() fails to initialize without joystick support.
I am using Arch Linux (linux 4.7-1) and I have installed glfw-x11 (3.2-4) via pacman. I have also tried to solve this problem by compiling the stable version 3.2.
I can run it without error when running as sudo.
This is the code I am running:
#include <stdio.h>
#include <stdlib.h>
#include <GL/glew.h>
#include <GLFW/glfw3.h> //on Arch: glfw-x11
#include <glm/glm.hpp>

void error_callback(int error, const char* description)
{
    puts(description);
}

int main(int argc, char *argv[])
{
    glfwSetErrorCallback(error_callback);

    // Initialise GLFW
    if( !glfwInit() )
    {
        fprintf( stderr, "Failed to initialize GLFW\n" );
        return -1;
    }

    return 0;
}

I have just found one similar issue, but for go-gl: Can not initialize GLFW without joystick support

Seems the error originates from glfwInitJoysticksLinux, whenever inotify_add_watch fails with -1 flag. I'm not experiencing these issues myself, and I'm sitting on the exact same setup as you @thacoon. So, according to the manual/posts referenced below, it seems ENOSPC (The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource) was triggered. Which has primarily been caused when fs.inotify.max_user_watches is exceeded. My system reports 8192 upon cat /proc/sys/fs/inotify/max_user_watches is executed. @thacoon, would you mind also trying this? Might be a good idea to look at the output of tail -f | dmesg for any additional reports by the system.
Also, please attempt increasing fs.inotify.max_user_watches temporarily by issuing a higher value for it e.g. echo 16384 > /proc/sys/fs/inotify/max_user_watches (won't be permanent, so no worries :wink:). Then attempt initializing glfw again, and report your results. This isn't a fix, but it might help debugging it.

inotify: http://linux.die.net/man/7/inotify
limit of inotify: http://blog.sorah.jp/2012/01/24/inotify-limitation
inotify_add_watch: http://linux.die.net/man/2/inotify_add_watch
http://askubuntu.com/questions/154255/how-can-i-tell-if-i-am-out-of-inotify-watches

Yep, increasing fs.inotify.max_user_watches fixed the issue. Thanks :smile:
With  cat /proc/sys/fs/inotify/max_user_watches I also get 8192.
The Atom Editor also complained about fs.inotify.max_user_watches and I get rid of the error by using there Troubleshooting:
I tried it temporarly with:
sudo sysctl fs.inotify.max_user_watches=32768
it worked and now I have made it permanent with:
echo 32768 | sudo tee -a /proc/sys/fs/inotify/max_user_watches

@thacoon try setting fs.inotify.max_user_watches=32768 in /etc/sysctl.d/99-sysctl.conf, should work for applying it permanently. Reload kernel parameters with sysctl --system. From the Arch Wiki.

glfwInit fails to initialize without joystick support.

This is a bug. The function should still succeed even if joystick support is unavailable.

Aha, sorry @elmindreda for jumping to conclusions. So the failure state in x11_init shouldn't happen because there isn't any joystick support for notifying the connection? Looking over the linux_joystick, seems to imply it's trying to do things correctly Continue without device connection notifications not returning GLFW_FALSE. Therefore it must be something after inotify_add_watch that returns an failure state regardless, even though it should proceed silently (just reporting said error messages)? Again, sorry for jumping into conclusions, :see_no_evil:. Might be we still need your help soon, @thacoon, for debugging this. I'm currently having problems in reproducing these issues on my own machine.

@CaffeineViking can I share any information from my machine that may help you?

@CaffeineViking There's nothing to apologize for. Your diagnosis is correct, and very detailed too, it's just that it shouldn't cause glfwInit to fail.

@thacoon Just to verify, glfwInit does indeed return GLFW_FALSE on your machine?

@elmindreda Yes glfwInit returned GLFW_FALSE, the if statement was called every time until I have increased fs.inotify.max_user_watches

Thanks for offering your help @thacoon! Since I can't reproduce these issues, you are going to have to feed us some debugging information, more specifically, we want to find out exactly where the glfwInit function returns with GLFW_FALSE, that should give us enough information to start working with. Alright, so the first step is building glfw with debugging information. The snipplet below, should (hopefully), do this for you by cloning and then compiling with certain flags that then enable gdb to reason about this.
git clone https://github.com/glfw/glfw.git
cd glfw ; mkdir build ; cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j8

Additionally, when you have executed the commands above, this should have created a glfw directory, and created and moved you to an internal build directory, then finally building. Please stay in build, we are going to start gathering some information now. Below follow a series of commands that will open tests/glfwinfo and start logging its execution flow to a gdb.txt file in the build directory (a current one). Basically, we halt execution when we reach glfwInit, then proceed to step over statements with the next command (printing these to the log) until we have returned from the glfwInit function (base pointer hack). Finally, we just exit. Two files should now exist: gdb.txt and .gdb_history. If you could be so kind to copy the contents of these files here, that would help quite a lot in debugging this issue! :+1:
gdb tests/glfwinfo
set history save on
set logging overwrite on
set logging on
break glfwInit
run
set $glfwInitBase = $rbp
while $rbp == $glfwInitBase
  next
end
set logging off
continue
quit

If something goes wrong or doesn't work correctly, connect to GLFW IRC and I'll try to help you with this.

@CaffeineViking I am currently not at home, it may take a few days before I can answer again. I'll do it as soon as I am back home.

Ok, I did another run now, should be correct now:
gdb_history.txt
gdb.txt
openJoystickDevice returns GLFW_FALSE.
In the gdb.txt file GLFW_FALSE is only mentioned twice. The other one can be found in _glfwPlatformInit where GLFWbool found = GLFW_FALSE; , but I checked it with gdb and  found is assigned to 1 (GLFW_TRUE) and the function returns with GLFW_TRUE.

Thanks for the information @thacoon! Based on the output of gdb.txt, it seems that glfwInit returns GLFW_TRUE, which is the correct behaviour. (even though the inotify_add_watch call fails with -1), :+1:, just as you mentioned in the post above too, meaning _glfwInitJoysticksLinux did return GLFW_TRUE. The reason openJoystickDevice fails with GLFW_FALSE is because GLFW tries to open several devices under /dev/input prefixed with js (joystick), which might not be readable or of type block, open fails. Therefore, I think the behaviour of seem GLFW correct here. What do you make of this @elmindreda?

@CaffeineViking I have not used glfw before. But the code at the top fails on two of my PCs running Arch Linux if fs.inotify.max_user_watches was not incremented.

Hi, I have stumbled across the same problem in openSUSE 13.1. My max_user_watches is set to 64K and checking who's watching (as described here) only shows about 20 watchers. So I didn't even bother to try increasing the limit, since I think this is not the problem. The weird thing is that up until now everything woked fine for years, but suddenly it stopped working (no HW or GLFW update, not even a reboot, one moment it works fine and couple of minutes later this). So I have two questions:

Any idea what has changed? Ok, I get this is a hard one, but just in case...
glfwInit() returns GLFW_TRUE, but error callback is called during the call. My application (conservatively) treats this as an error condition. Should it? I think if this is an ok state, it should be pointed out in the docs.

Cheers

Any updates on this? I ran into the same issue. (Chromium exhausting all my file descriptors and inotify_init1 failing consequently.)
Failure to detect joysticks shouldn't make glfwInit return false IMO.

@rrika Oops, I was sure I'd fixed that. It should be fixed now with a397195d3fd14b3e94026bce684e6b5f392f5015. Thank you!

A similar issue affects GLFW initialization on Windows Subsystem for Linux.  At this time WSL does not provide "/dev/input".  GLFW initialization fails with error:
Failed to watch for joystick connections in /dev/input: No such file or directory
Hopefully this fix addresses this issue as well.

I believe this issue has been resolved. The only thing in Linux joystick init that can cause initialization to fail now is if the regexp fails to compile, which should never happen™.


Reduce docker pull timeout for hyperkube image

What this PR does / why we need it: Make sure we don't exceed 90 minutes RP timeout when failing to pull the hyperkube image.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
If applicable:

[ ] documentation
[ ] unit tests
[ ] tested backward compatibility (ie. deploy with previous version, upgrade with this branch)

Release note:

/lgtm


Peering Request

Full Name
O'Neil Castro - Targo Communications Inc.
ASN
40864
PeeringDB Integration

[X] My PeeringDB Entries are current
[x] Peer at ALL EXCHANGES (and skip the Peer Address(es) field below)

Peer Address(es)
No response
Multihop

[X] Multihop Peering Request

Thanks for your request to peer with RouteViews and your interest in the RouteViews project. To be able to set up the EBGP Multihop peerings we would require the IPv4 and IPv6 addresses of your router. Our details are:
IPv4: <IP_ADDRESS>
IPv6: 2001:468:d01:33::113
ASN: 6447
FQDN: route-views7.routeviews.org

Looking forward to hear from you soon.

Hello, here it is:
IPv4: <IP_ADDRESS>
IPv6: 2001:438:fffe::389e/126
ASN: 40864

Thanks! I've set up the multihop configuration now, ready whenever you are:
Neighbor             V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
<IP_ADDRESS>        4      40864         0         1        0    0    0    never       Active        0 Targo
2001:438:fffe::389e  4      40864         0         1        0    0    0    never       Active        0 Targo

Hello, I can't figure out why it's stuck on Open. Do you see any errors on your side?
My logs only show me this:
2024 May 30 01:39:12.451 : EC-1250RL : CMLSH : CLI_HIST : User gotar@/dev/pts/1 : CLI : clear ip bgp <IP_ADDRESS>
2024 May 30 01:39:12.452 : EC-1250RL : BGP : INFO : %BGP-3-NOTIFICATION: sending to <IP_ADDRESS> 6/4 (Cease/Administratively Reset.) 0 data-bytes
2024 May 30 01:39:12.452 : EC-1250RL : BGP : NOTIF : [BGP_OPR_NEIGH_STATE_CHANGE_4]: Neighbour [<IP_ADDRESS>] Status change opensent -> idle
2024 May 30 01:39:12.452 : EC-1250RL : BGP : INFO : %BGP-3-NOTIFICATION: sending to <IP_ADDRESS> 6/3 (Cease/Peer Unconfigured.) 0 data-bytes
2024 May 30 01:39:12.452 : EC-1250RL : BGP : INFO : %BGP-5-ADJCHANGE: neighbor <IP_ADDRESS> Down Peer being deleted

This is what the collector is reporting:
May 30 07:29:04 route-views7 bgpd[6853]: %NOTIFICATION: sent to neighbor <IP_ADDRESS> 6/7 (Cease/Connection Collision Resolution) 0 bytes
May 30 07:29:04 route-views7 bgpd[6853]: [EC 33554452] bgp_process_packet: BGP OPEN receipt failed for peer: <IP_ADDRESS>
May 30 07:29:10 route-views7 bgpd[6853]:  %NOTIFICATION: sent to neighbor <IP_ADDRESS> 4/0 (Hold Timer Expired) 0 bytes
May 30 07:29:12 route-views7 bgpd[6853]: [EC 33554504] <IP_ADDRESS> unrecognized capability code: 128 - ignored
May 30 07:32:09 route-views7 bgpd[6853]: %NOTIFICATION: sent to neighbor <IP_ADDRESS> 6/7 (Cease/Connection Collision Resolution) 0 bytes
May 30 07:32:09 route-views7 bgpd[6853]: [EC 33554452] bgp_process_packet: BGP OPEN receipt failed for peer: <IP_ADDRESS>
May 30 07:32:12 route-views7 bgpd[6853]: %NOTIFICATION: sent to neighbor <IP_ADDRESS> 4/0 (Hold Timer Expired) 0 bytes
May 30 07:32:13 route-views7 bgpd[6853]: [EC 33554504] <IP_ADDRESS> unrecognized capability code: 128 - ignored

Hmmmm. First one - both sides opened a TCP connection, so one has to drop, seems normal. But then 3 seconds later we get hold timer expired. It could be an MTU issue, and I've tried reducing the MSS, to no avail. It seems like we open the session but don't get anything after that, and hold time expires, repeating the cycle all over again.

And for IPv6:
May 30 07:34:03 route-views7 bgpd[6853]: [EC 33554455] 2001:438:fffe::389e [Error] bgp_read_packet error: Connection reset by peer

which usually means the BGP session has not been configured on the remote.

And for IPv6:
May 30 07:34:03 route-views7 bgpd[6853]: [EC 33554455] 2001:438:fffe::389e [Error] bgp_read_packet error: Connection reset by peer

which usually means the BGP session has not been configured on the remote.

IPv6 will be configured at a later date.

This is what the collector is reporting:
May 30 07:29:04 route-views7 bgpd[6853]: %NOTIFICATION: sent to neighbor <IP_ADDRESS> 6/7 (Cease/Connection Collision Resolution) 0 bytes
May 30 07:29:04 route-views7 bgpd[6853]: [EC 33554452] bgp_process_packet: BGP OPEN receipt failed for peer: <IP_ADDRESS>
May 30 07:29:10 route-views7 bgpd[6853]:  %NOTIFICATION: sent to neighbor <IP_ADDRESS> 4/0 (Hold Timer Expired) 0 bytes
May 30 07:29:12 route-views7 bgpd[6853]: [EC 33554504] <IP_ADDRESS> unrecognized capability code: 128 - ignored
May 30 07:32:09 route-views7 bgpd[6853]: %NOTIFICATION: sent to neighbor <IP_ADDRESS> 6/7 (Cease/Connection Collision Resolution) 0 bytes
May 30 07:32:09 route-views7 bgpd[6853]: [EC 33554452] bgp_process_packet: BGP OPEN receipt failed for peer: <IP_ADDRESS>
May 30 07:32:12 route-views7 bgpd[6853]: %NOTIFICATION: sent to neighbor <IP_ADDRESS> 4/0 (Hold Timer Expired) 0 bytes
May 30 07:32:13 route-views7 bgpd[6853]: [EC 33554504] <IP_ADDRESS> unrecognized capability code: 128 - ignored

Hmmmm. First one - both sides opened a TCP connection, so one has to drop, seems normal. But then 3 seconds later we get hold timer expired. It could be an MTU issue, and I've tried reducing the MSS, to no avail. It seems like we open the session but don't get anything after that, and hold time expires, repeating the cycle all over again.

Been trying a few things but keep getting the same results.
Do you have any ideas?

I've been trying a few things too. Thought it might be MTU, but not. Finally got success with turning off BGP capability negotiation on the collector:
route-views7.routeviews.org# sh bgp sum  | include 40864
<IP_ADDRESS>         4      40864    142595<PHONE_NUMBER>4    0    0 00:08:42        NoNeg        0 Targo
2001:438:fffe::389e   4      40864         0       179        0    0    0    never       Active        0 Targo

I've applied the same configuration for the upcoming IPv6 peering for when you are ready with that.

Ok great news, I did turned up IPv6 and it works too but not sending any prefix for now.
Thank you for your help.

Oh yes, I see IPv6 up too:
<IP_ADDRESS>         4      40864    145143<PHONE_NUMBER>4    0    0 00:24:48        NoNeg        0 Targo
2001:438:fffe::389e   4      40864    242170<PHONE_NUMBER>    0    0 00:03:09       192072        0 Targo

and sending routes too. Full table from both peerings, we really appreciate that!
Thank you for supporting the RouteViews project.
Philip


update in Pima Indian diabetes.

Hi admin,
I am happy to listen that your company is working in the open-source community. I would like to work as an open-source contributor with you. I made the following changes in the repository as an update.

In the Notebook directory I updated Pima Indian diabetes I have updated the decision tree to ensemble classifiers gives extreme accuracy on the given dataset.
I have made a directory for Python code that contains deployment-ready python code of different codes.

It would be very glad to be accepted as a contributor with edualgo.

@gaurav19063 please add the PR to the main repo, not to this forked repo


separate mongoDB entries for experiments and runs

This would:

remove duplication for saving stuff in the DB
make it easier to determine which runs are from the exact same experiment
better fit with the internal structure of sacred
make the run DB entries more comprehendable by shrinking them

Problems might be:

need database "joins" to get full info for a run
makes using the entries harder

Maybe also extract out host info?

I implemented this, but I am less convinced now, that this is a good idea.

Duplication is clearly not much of a problem here, since it doesn't take much space, and entries are not meant to be changed, so consistency is not an issue.
Finding out which runs come from the exact same experiment would still be a possible query.
joins in Mongo have to happen in client code, so they are painful. And querying using joins is especially hard.

removed


redis.duplicate doesn't inherit scripts

At the moment redis.duplicate doesn't copy over scripts from the origin to the new instance. Therefore calling a loaded script fails when called on a duplicated connection.
https://github.com/luin/ioredis/blob/b8177479c348aa4bbd467fa944d61fe9b35aec19/lib/redis/index.ts#L476-L478
Basically we could just copy over the whole scriptsSet and all the functions belonging to it onto the new instance.
https://github.com/luin/ioredis/blob/62b6a648910eccc3d83a3acd2db873704fd2080a/lib/commander.ts#L118-L125
Redis.prototype.duplicate = function (override: IRedisOptions) {
  const instance = new Redis(Object.assign({}, this.options, override || {}));
  for (const name in this.scriptsSet) {
    instance[name] = this[name];
    instance[name + "Buffer"] = this[name + "Buffer"];
  }
  return instance
};

An issue issue could be the keyPrefix passed, in case it changes on the new instance.
As soon as a script is initialized we don't have access to the defineCommand options as those are private, therefore a .duplicate function on the script itself could be useful.
Or we make the script less stateful and always pass the keyPrefix in the execute function: https://github.com/luin/ioredis/blob/bf3bec7778d071edfca67120f21cb8f9f8bc83d3/lib/script.ts#L28-L30
This problem likely also causes this issue https://github.com/luin/ioredis/issues/1405

Should we just update the documentation about that or copy the scripts over?

We could also think about extending the prototype of the main redis instance.
This would be similar to what's been asked in https://github.com/luin/ioredis/issues/1410
// root instance doesn't inherit scripts,
// we could create a new prototype object, that's extendable
// and gets reused with `.duplicate()` and maybe pipelines
const redis = new Redis()
redis.defineCommand(...)

// with duplicate, it should inherit scripts
const clone = redis.duplicate()

v5 allows users to provide scripts via constructor options:
const redis = new Redis({
  scripts: {
    myecho: {
      lua: 'xxx'
    }
  }
});

I didn't think of this issue when doing this but seems it should solve the issue and the keyPrefix one as well. However, it may be not intuitive that the scripts defined by defineCommand won't be inherited so sounds like we need to document this. WDYT?

The scripts support in the config looks good and that way it gets inherited. 👍
Let's document the current behavior of .duplicate()


KAFKA-15045: (KIP-924 pt. 23) More TaskAssignmentUtils tests

Also moved the assignment validation test from
StreamsPartitionAssignorTest to TaskAssignmentUtilsTest.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Oh the build is already finished 😅  -- looks like all test failures are unrelated, merging to trunk

Merged to trunk and cherrypicked to 3.8


InvalidateMemoryCache blocking on iOS.

I am using the Xamarin API and am runnining into an issue when I call FFImageLoading.ImageService.Instance.InvalidateMemoryCache().  The call is just blocking indefinitely.  It is being called from the UI thread.  It repros on iOS but not android.
I am using FFImageLoading v2.2.9.  It repros on physical devices (I am using an iPhone SE and someone on my team saw it on some other iPhones) but the issue is not repro'ing in the simulator (I tried about 6-7 simulators today, mostly on iOS 10.3 but also 8.1 and 9.0).  We are on Xamarin.Forms.<IP_ADDRESS>.
There might be something special about our app that is causing this issue, but I don't know what that is to isolate the issue.
I can work around this issue by just not invalidating the memory cache.  We have loaded some PNG images from disk that we won't need anymore- I wonder if I don't clear the cache will those images stay in memory for the lifetime of the app?

Did you try the newest prerelease if it's fixed?

I can work around this issue by just not invalidating the memory cache. We have loaded some PNG images from disk that we won't need anymore- I wonder if I don't clear the cache will those images stay in memory for the lifetime of the app?

No, it will be removed automatically after some time (when not used or cache filled)


Only print normal attributes

The printAttribute function should only print attributes that have a specialty of ATTRIBUTE_SPECIALTY_NORMAL.

Completed in https://github.com/Gigabyte-Giant/JPEG-Meta-Extractor/commit/89cdb67dab5021b196ba9a9d946e64c0e45f2fa8.


Errors in authorization.

I posted pull request through bloom.(https://github.com/ros/rosdistro/pull/18357)
My code was passed travis test but I seems it was failed when
verifying diff of file '/home/travis/build/ros/rosdistro/kinetic/distribution.yaml'

Authorization publickey was denied.
Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
ERROR: In file '''/home/travis/build/ros/rosdistro/kinetic/distribution.yaml''': Could not validate source entry for repo cog_publisher with error [[[Could not validate repository with url git@github.com:OUXT-Polaris/cog_publisher-release.git and version master from entry at line 1487]]]
ERROR: In file '''/home/travis/build/ros/rosdistro/kinetic/distribution.yaml''': Could not validate doc entry for repo cog_publisher with error [[[Could not validate repository with url git@github.com:OUXT-Polaris/cog_publisher-release.git and version master from entry at line 1478]]]
F
======================================================================
FAIL: test.rosdistro_check_urls_test.test_rosdistro_urls
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/travis/build/ros/rosdistro/test/rosdistro_check_urls_test.py", line 29, in test_rosdistro_urls
    assert not failed_distros, "There were problems with urls in the distribution files for these distros: %s, see folded blocks above for details: %s" % (failed_distros, fold_blocks)
AssertionError: There were problems with urls in the distribution files for these distros: ['kinetic'], see folded blocks above for details: ['block4']
-------------------- >> begin captured logging << --------------------
rosdistro: DEBUG: Load index from "file:///home/travis/build/ros/rosdistro/index.yaml"
rosdistro: DEBUG: Load index from "file:///home/travis/build/ros/rosdistro/index.yaml"
rosdistro: DEBUG: Load file from "file:///home/travis/build/ros/rosdistro/indigo/distribution.yaml"
rosdistro: DEBUG: Load index from "file:///home/travis/build/ros/rosdistro/index.yaml"
rosdistro: DEBUG: Load file from "file:///home/travis/build/ros/rosdistro/kinetic/distribution.yaml"
rosdistro: DEBUG: Load index from "file:///home/travis/build/ros/rosdistro/index.yaml"
rosdistro: DEBUG: Load file from "file:///home/travis/build/ros/rosdistro/lunar/distribution.yaml"
rosdistro: DEBUG: Load index from "file:///home/travis/build/ros/rosdistro/index.yaml"
rosdistro: DEBUG: Load file from "file:///home/travis/build/ros/rosdistro/melodic/distribution.yaml"
--------------------- >> end captured logging << ---------------------

Please tell me how to solve this problem.
My detailed travis test result is here.

Can you try updating your pull request to use the https url of your repository instead of the ssh one?

The error message in the Travis log states:
Skipped "github_manifest_provider()": Could not git ls-remote repository "git@github.com:OUXT-Polaris/cog_publisher-release.git"
Skip non-bitbucket url "git@github.com:OUXT-Polaris/cog_publisher-release.git"
Skipped "bitbucket_manifest_provider()": Cannot handle non bitbucket url.
Skipped "git_manifest_provider()": Unable to fetch package.xml: Could not clone repository "git@github.com:OUXT-Polaris/cog_publisher-release.git" at reference "release/kinetic/cog_publisher/1.0.1-2"

As @mikaelarguedas suggested already you must use https urls instead of<EMAIL_ADDRESS>(see all other URLs in the distribution file).

Yes, all repos need to be accessible via https not ssh for the buildfarm to be able to operate on them. You changed one of 3 urls to be https. All 3 need to be https.


Annoints not showing

Is it just me or aren't the annoints showing up anymore on 3.21 Crucible? Checked it out by hovering over two Amulets. One with Nightstalker (Sepia, Teal, Gold) and Arsonist (Verdant, Verdant, Azure).
Edit: Playing on Windows. Patch 3.21.0c

Hey mate, thanks a lot for reporting. Could you send me the clipboard for the amulet? Im currently not that far into the game yet, so i dont have many items with annoints yet.

Just checked the list and both seem to be still there, maybe there is something else going wrong.
Is it working for other items for you? Is it working with other annoints on amulets or amulets in general arent working?

Just looking at the window again, it seems the program was struggling to get started (the inside should be a lighter gray)

Migrated the tool to godot 4 and new release is out, could you test it again with the new release?

Thank you for the quick reply. Just downloaded the new version. I have a stash tab with a bunch of anointed amulets and rings and still none of them show any oils.

Are you just hovering or are you pressing CTRL+C when hovering over an item?
The tool uses the item-info that gets printed to the clipboard by PoE when pressing CTRL+C over an item. (similar to what craftofExile uses)

Well that explains it. It works. Now I feel kind of dumb lmao. Thank you for taking your time to update your tool and helping me out.
Would suggest creating a readme for your repo with this shortcut in case someone else gets stuck on the same thing as well.

No Problem, Thanks for taking your time as well!
That is a good point, i will do that!
Keep it up!

Added a Readme!


Cannot see FoundationPress theme

I have successfully build FoundationPress theme. When I run grunt build, everything is build without error. However, when I go to my dashboard and bring up themes, FoundationPress theme is not there. What am I missing?
Node: v0.12.2
OS: Ubuntu 14.04

Never mind. I figure it out. thanks


Accept elements as the tooltip / popover content

When a DOM node is passed to an HTML tooltip, the title node is only
moved if it is not already in the tooltip. Otherwise, empty() is used
instead of detach() before appending the title to avoid memory
leaks. If a DOM node is passed to a plain text tooltip, its text is
copied via jQuery .text().
Replaces .detach() with .empty(), as .detach() is almost never
useful but instead leaks memory. The difference between empty and
detach is that the latter keeps all the attached jQuery events/data.
However, since we do not return the previous children, the user would
have to keep these themselves, thus they can detach() if necessary.
This is a port of https://github.com/twbs/bootstrap/pull/14552 to v4.

:+1:


Fix local helm releases deletion issue

What this PR does / why we need it:
releasesFilterFn is used to filter out the helm releases that will be uninstalled. When using local helm charts, the helm releases can be deleted without any releases after applying kubeone apply again because we are comparing the Chart Name with the path of the Chart (HelmRelease.Chart is considered a chart path for local usage).
This PR will allow kubeone to correctly read the chart name for local and remote helm charts!
Which issue(s) this PR fixes:

Fixes #3211
What type of PR is this?

Special notes for your reviewer:
Does this PR introduce a user-facing change? Then add your Release Note here:

NONE

Documentation:

NONE

/assign
/cc @xmudrii @kron4eg

/approve
/lgtm


Request for a Close() method

Currently for an in-proc extension I think the only way to close a file is with DTE.ActiveDocument.Close() and I don't know if there's a way to close a file in an out-of-proc extension. Also see #367.
There is also no way to invoke File.FormatDocument() .
For either a single-file (DTE.ActiveDocument) or files accessed via Extensibility.GetOpenDocumentsAsync() it would be very useful if ITextDocumentSnapshot had Close() and Format() methods.

@LeeMSilver - yes, close method does exist for files. Please see documentation here: https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.extensibility.documentsextensibility.closedocumentasync?view=vs-extensibility


General discussion about the Arduino firmware

Should the control for the two separate slit pairs also be cleanly separated in the code? E.g. each slit pair has its own instance of a control. Alternatively, one could just ignore the second slit pair and make it impossible (error) when trying to access it. As the used DAC has 4 channels as of now, one would have to implement such a way there anyway as both controls would share the DAC, but not its channels obviously.

I think that is a good idea: the most minimal yet complete control flow contains 2 slits for control of 1 respective dimension. In the code, you can have something like a PlaneController which controls exactly one plane e.g. has input of two corresponding quantities and outputs one control quantity.
Then, in the software interface, we define the how many pairs are connected to the controller: either 1 or 2.


which is video generate LoRA？

Great job！which could be used to generate video？My base model is SD1.5.
I tried normal cfg and small cfg lora with 2 and 4 steps, the result is bad

The bad result could be attributed to improper usage.  You can refer to the demo for proper usage: https://huggingface.co/spaces/wangfuyun/Phased-Consistency-Model-PCM/tree/main


Master to v5

This will pull the master branch into V5 so that development on V5 can go into full effect.
For anyone reading this: don't get too excited. We don't have an ETA and unfortunately the team is in a very busy period, everyone for their own reasons.
The only thing left to pull is an outdated request which I'd personally like to close: let me know if there are any votes against this.
#225
Since this is a very important step, I've requested all of you to approve this merge before I go through with it. After that, I can try to add one or two features to V5 once in a while (but no promises!)
And also: it's good to be back, if even for a moment ^_^

I've requested everyone not so much for a review, but for an approval (you 'may' review... if you dare!)
But seriously, this PR is to push the master branch into the V5 branch and finally make it independent from V4. This is NOT a fix-all-V5-is-ready-now type of deal: all the features are still very much in need of implementation, but this will allow us to do so.
Here was my process:

copy the master branch
pull the v5 branch into the copy
fix all compile errors

I haven't done any testing yet (I'm going to do that now, but I thought I'd get this out first).

Awesome job @Casey-Hofland! <3 Haven't looked through all of the code (obviously), but been reading though some of core stuff and it looks good. I also tested it out in the unity-atoms-examples project, made a couple of adjustments in the example scripts and voila, all the demo scenes worked 🎉
FYI. I did create and push a v5 branch in the unity-atoms-examples repo for use when we develop v5.


ignore case for config enums. Fixes #738

This time the code is a true hack, I do not like that I had to switch it from a match to many if statements, but I did not see a different way of doing so.

This looks like a decent solution to me. @nrc, do you approve of case insensitive configs as well?

sgtm!

Thank you for the PR!


fix: devtools being blocked in strict mode

Types of changes

[X] Bug fix (a non-breaking change which fixes an issue)
[ ] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

Fix devtools being blocked when strict mode is enabled
88dbb4c4f7d10e05a01336d6bf409e1434aaabd5 the existing documentation has been removed, so it should work the same in strict mode as in none-strict mode
ref: #487
Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes (if not applicable, please state why)

Hey @dungsil
Thanks for this PR. @vejja do you think we could change that to allow DevTools to work in Strict? DevTools will work only in development so the code proposed by @dungsil shouldn't affect the production env in any way.

For strict mode, I think it might be a good idea to provide documentation the same as v1.0.  Like adding this to the Advanced > Strict CSP document:

Hi
Yes this change is ok
By the way we should probably think about refactoring the Advanced > Strict CSP section because it is now a source of confusion: the strict default config has no relationship with Strict CSP.
That section was initially intended as a user guide when we didn't have reasonable defaults that allowed CSP to work in all setups. We have much less issues and questions raised now.

Thanks @dungsil @vejja I have merged this PR to 2.1.0 branch that will be used to release a new major version :)

I think major would be a 3.x.x, 2.1.x should be a "feature" level release. This being a fix could've translated into a quick 2.0.1 also 😁

I think major would be a 3.x.x, 2.1.x should be a "feature" level release. This being a fix could've translated into a quick 2.0.1 also 😁

Correct, I meant minor 2.1.0. Thanks for correcting! :)


fix: match inherited SDK types

Description
Matches inherited types from the SDK

Testing required outside of automated testing?

[x] Not Applicable

Screenshots (if appropriate):

[x] Not Applicable

Rollback / Rollforward Procedure

[x] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


chore: release 0.29.0

:robot: I have created a release *beep* *boop*
0.29.0 (2019-05-15)
Bug Fixes

deps: update dependency @google-cloud/paginator to v1 (#592) (181553a)
deps: update dependency @google-cloud/precise-date to v1 (#603) (2e669a1)
deps: update dependency @google-cloud/projectify to v1 (#588) (d01d010)
deps: update dependency @google-cloud/promisify to v1 (#589) (dad7530)
deps: update dependency arrify to v2 (#565) (8e3b7b8)
deps: update dependency google-auth-library to v4 (#601) (baf9d39)
deps: update dependency google-gax to v1 (#604) (6415e7c)
DEADLINE_EXCEEDED no longer treated as idempotent and retried (39b1dac)
DEADLINE_EXCEEDED retry code is idempotent (#605) (1ae8db9)
deps: update dependency google-gax to ^0.26.0 (#583) (4214a4f)
include 'x-goog-request-params' header in requests (#562) (482e745)
relax strictEqual to match RegExp (#566) (3388fb7)
deps: update dependency p-defer to v2 (#553) (fe33e40)

Build System

upgrade engines field to >=8.10.0 (#584) (2116474)

Features

subscriber: ordered messages (1ae4719)
subscription: accept pull timeout option (#556) (468e1bf)
subscription: ordered messages (#560) (38502ad)

BREAKING CHANGES

upgrade engines field to >=8.10.0 (#584)

Release is at https://github.com/googleapis/nodejs-pubsub/releases/tag/v0.29.0

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


Allow dynamic model properties with underscores

[x] Added or updated tests
[x] Documented user facing changes

Fixes https://github.com/larastan/larastan/issues/1790.
Changes
Fixes an internal error and allows dynamic model properties with underlines.
Breaking changes
None

@canvural @nunomaduro Do you have the chance to have a look at it? Our tests are currently failing due to the problem. Thank you very much!

Hello,
I've been having the same issue as described in the ticket #1790. This solution works for me.

Hey there,
it would help me a lot if you could merge this. Thanks!

@szepeviktor Is there anything blocking this or could you merge it? Unfortunately, we need the fix for our build pipeline. Thank you in any case for your effort.

I ran into this as well, would be amazing to have merged

Those void errors are because of phpstan/phpstan (1.10.50)

Yes it seems to be unrelated to this issue.

I have added a PR (https://github.com/larastan/larastan/pull/1802) to solve this problem.

@szepeviktor @canvural @nunomaduro What is the problem that things are not moving forward? Other PRs (including mine) have already been merged in the meantime. Larastan has been throwing an internal error since the last version. Would it be possible to merge the PR as soon as possible and make a new release?

I was told not to make releases.

@canvural @nunomaduro Can you please take a look and do a review? We really need the fix urgently. It would be great if we could make some progress here.

@canvural @CanVuralStudocu @nunomaduro Please excuse me for asking again, but I have not received any reply for the last two weeks. Can you please take a look and do a review?

I'll check it when I have time.

Rebased.

Thank you!


Opentelemetry OTLP support

We already have support for Jaeger using opentelemetry_rust, but not yet for other opentelemetry implementations like OpenObserve. Would be nice to switch to OTLP. We could probably ditch opentelemetry_jaeger and only use opentelemetry_otlp.
However, I had some issues while implementing. I need an HTTP client like hyper or reqwest. Not a lot of docs for this. I think I'm close though.
PR Checklist:

[ ] Link to related issues: #number
[ ] Add changelog entry linking to issue, describe API changes
[ ] Add tests (optional)
[ ] (If new feature) add to description / readme

Jaeger no longer supports OpenTelemetry.
The opentelemetry_jaeger crate is deprecated, v0.22 will be the last one


Block: headers toggle don't work

I have found a small, cosmetic problem:
With the setting "headers: false" in the blueprint, the first line is still displayed as a header in the inline editor. In the dialog editor, the display is correct.
  table:
    label: Tabelle
    type: table
    headers: false

Perhaps I have created an unnecessary complication...
My problem was the missing "thead" in the previous plug-in. I had created a temporary solution for this in the template. Today I have removed this temporary solution and can use "thead" as in your template. If I don't need a "thead", I can solve this individually, for example with a toggle field in the table options. I assume that 99% of other users need a "thead" for tables. Instead of adding new functions, it would be better to concentrate on the core functions of a table.

This feature is still welcomed but would stay as 'experimental' for now until I can find a good balance on how it works.
@gbdesign2023 Would be nice to share your progress on how you've been able to fix your issue after the last update and some panel shots/video on how are you currently using it. It would help me to better understand it's purpose. :)


Better document use of '$' in sprintf format string

The '$' symbol has a special meaning in the sprintf format string  and must be escaped if intended to be used as a literal character. That fact is very briefly described in an offhand manner and, as a result, I, dummy, have twice this year wasted lots of time finding my error.  I propose some solutions:

better describe it in the docs
file an issue with Rakudo to generate a better error message
add mention of it in traps

Do you mean in sprintf?

Yes, thanks.