Use UidNumber and GidNumber fields in the user objects

Recently the CS3APIs user object was enhanced with the fields UidNumber and GidNumber. Previously, we used to store these in the opaque map. We need to update all the instances where this happens to use these first-class citizens instead.

Hi @ishank011! I'd like to do this if it's possible. Just to clarify, should we update where user objects are created or where they are used?

Hi @sudo-sturbia! You'll need to update both such instances. The user objects are populated in pkg/auth, where the logged-in user is set in the context, and pkg/user, which providers user resolution methods. So these would need to be updated. And the opaque object might contain other fields which you can just leave be, but these two can be removed.
These methods and objects are utilized by other microservices, especially the ones in the storage layer, so in those pieces of code, you need to read from these fields rather than extract them from the opaque map.


MAINTAINERS: Add Tomasz Andrzejak (andreiltd) as a REVIEWER

I'd like to invite @andreiltd as a reviewer. He's made many contributions to this project, including improvements to the documentation and http/proxy support in wasmtime, and demonstrated his deep knowledge in this field.
Needs explicit LGTM from @andreiltd and 1/3 of the runwasi Committers according to https://github.com/containerd/project/blob/main/GOVERNANCE.md.

[ ] @cpuguy
[ ] @mossaka
[ ] @danbugs
[x] @devigned
[x] @jprendes
[ ] @jsturtevant

This PR will remain open for 7 days.

LGTM, thanks!

LGTM!


Should the class extending SQLiteAssetHelper be singleton? SQLiteConnection was leaked

Hello Jeff and others,
I am using SQLiteAssetHelper in an Android word game.
About 100 000 words are stored in an SQLite database (gzipped size: 5 MB).
Unfortunately, I sometimes get this error message:
09-12 13:16:43.453  15214-15223/myapp W/SQLiteConnectionPool﹕ A
SQLiteConnection object for database
'/data/user/0/myapp/databases/words.db' was leaked!  Please fix
your application to end transactions in progress properly and to close
the database when it is no longer needed.

My source code looks liked this:
public class DatabaseHelper extends SQLiteAssetHelper {
    private static final int DATABASE_VERSION       = 1;
    private static final String DATABASE_NAME       = "dict.db";
    public static final String TABLE_NOUNS          = "nouns";
    public static final String TABLE_VERBS          = "verbs";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    public boolean containsWord(String word) {
            Cursor cursorNouns = getReadableDatabase().query(TABLE_NOUNS,
                    new String[]{ COLUMN_WORD },
                    "word=?",
                    new String[]{ word },
                    null,
                    null,
                    null);

            boolean foundNoun = (cursorNouns.getCount() > 0);
            cursorNouns.close();
            return foundNoun;
        }

And I call the above method from an IntentService:

    @Override
    protected void onHandleIntent(Intent i) {
        mBroadcastManager = LocalBroadcastManager.getInstance(this);
        mDatabaseHelper = new DatabaseHelper(this);
        ....
        if (mDatabaseHelper.containsWord(word))
            mBroadcastManager.sendBroadcast(i);
    }

Searching on Stackoverflow and this blog
http://www.androiddesignpatterns.com/2012/05/correctly-managing-your-sqlite-database.html
suggest to use a getInstance() factory method in singleton-like class...
However SQLiteAssetHelper does not support such a method... what should I do?
Thank you

I usually got this error too. Closing the cursor (with 'cursor.close()') and call a 'super.close()'  - both at the end of the method that "communicate" with the database in the class that extends SQLiteAssetHelper - solved this problem (at least I'm not getting this error anymore in the console).
Unfortunately I can't help you whith the Singleton use... at least by now.


How do I load a pre-trained model?

Discussed in https://github.com/google/brax/discussions/403

Originally posted by eleninisioti October 11, 2023
There is a notebook that explains how to save and load models (https://github.com/google/brax/blob/main/notebooks/training.ipynb) but there testing happens right after training, calling function make_inference_fn(params), which requires first running make_inference_fn, params, _ = train_fn(environment=env, progress_fn=progress), the whole training process.
My question is how I can test without running the training process, simply by loading the params. How can I have inference_fn withour training?

@btaba Thank you for your works.
Would you let us know when the updates will be for this issue?

Hello,
Thank you for creating the issue @btaba from the original discussion.
Will this sort of functionality or @jihan1218 's solution become part of the main branch at some point?
Thanks!

Should be fixed in b164655
Here's an example:
from orbax import checkpoint as ocp
from flax.training import orbax_utils

ckpt_path = epath.Path('/tmp/some-env/ckpts')
ckpt_path.mkdir(parents=True, exist_ok=True)

def policy_params_fn(current_step, make_policy, params):
  # save checkpoints
  orbax_checkpointer = ocp.PyTreeCheckpointer()
  save_args = orbax_utils.save_args_from_target(params)
  path = ckpt_path / f'{current_step}'
  orbax_checkpointer.save(path, params, force=True, save_args=save_args)

make_networks_factory = functools.partial(
    ppo_networks.make_ppo_networks,
        policy_hidden_layer_sizes=(128,) * 4)
train_fn = functools.partial(
      ppo.train, num_timesteps=100_000_000,
      policy_params_fn=policy_params_fn,
      restore_checkpoint_path=ckpt_path / '11141120'  # to restart from a previous checkpoint
)

make_inference_fn, params, _= train_fn(environment=env, progress_fn=progress)

You can recover the inference fn like so:
make_inference_fn, params, _= ppo.train(environment=env, num_timesteps=0)

And the params can be loaded from the checkpoint.

hi @btaba, not sure if it's an issue just on my end, but I having problems loading checkpoints in this manner on python3.10. When try to load the checkpoint using the train_fn function I get the following error (I read that this is an issue for python3.10 specifically https://github.com/aio-libs/janus/issues/358, and that the error can be fixed when going to python3.11 or using cpython3.10), any way to resolve this so I can still use python3.10?:
File "/home/schperberg/ASCENT_biped/sim/mujoco/rl_mjx_envs/rl_scaler_training.py", line 803, in <module>
    make_inference_fn, params, _ = train_fn(environment=env,
  File "/home/schperberg/SCALER_Mujoco/venv/lib/python3.10/site-packages/brax/training/agents/ppo/train.py", line 399, in train
    (normalizer_params, init_params) = orbax_checkpointer.restore(
  File "/home/schperberg/SCALER_Mujoco/venv/lib/python3.10/site-packages/orbax/checkpoint/checkpointer.py", line 211, in restore
    restored = self._handler.restore(directory, args=ckpt_args)
  File "/home/schperberg/SCALER_Mujoco/venv/lib/python3.10/site-packages/orbax/checkpoint/pytree_checkpoint_handler.py", line 637, in restore
    return self._handler_impl.restore(directory, args=args)
  File "/home/schperberg/SCALER_Mujoco/venv/lib/python3.10/site-packages/orbax/checkpoint/base_pytree_checkpoint_handler.py", line 755, in restore
    byte_limiter = get_byte_limiter(self._concurrent_gb)
  File "/home/schperberg/SCALER_Mujoco/venv/lib/python3.10/site-packages/orbax/checkpoint/base_pytree_checkpoint_handler.py", line 77, in get_byte_limiter
    return asyncio.run(_create_byte_limiter())
  File "/home/schperberg/Python3.10/Lib/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/home/schperberg/Python3.10/Lib/asyncio/base_events.py", line 641, in run_until_complete
    return future.result()
  File "/home/schperberg/SCALER_Mujoco/venv/lib/python3.10/site-packages/orbax/checkpoint/base_pytree_checkpoint_handler.py", line 75, in _create_byte_limiter
    return LimitInFlightBytes(concurrent_bytes)  # pylint: disable=protected-access
  File "/home/schperberg/SCALER_Mujoco/venv/lib/python3.10/site-packages/jax/experimental/array_serialization/serialization.py", line 170, in __init__
    self._cv = asyncio.Condition(lock=asyncio.Lock())
  File "/home/schperberg/Python3.10/Lib/asyncio/locks.py", line 234, in __init__
    raise ValueError("loop argument must agree with lock")
ValueError: loop argument must agree with lock

Process finished with exit code 1

@btaba Hi.
I ran my code with orbax_checkpointer like the example above and got '_CHECKPOINT_METADATA', '_METADATA', and 'checkpoint' files. Then, when i tried to restore the checkpoint, i got the error such as
    136 print("*********************************")
    138 evalEnv = envs.GetEnvironment(self.envName)
--> 140 make_inference_fn, self.params, self.metrics = train_fn(environment=self.env, progress_fn=ProgressCallback, eval_env=evalEnv, policy_params_fn=PolicyCallback)
    142 # create data frame with train_rewards and steps
    143 df = pd.DataFrame({'Steps': trainSteps, 'Rewards': trainRewards, 'RewardsError': trainRewardsErr})

File ~/.pyenv/versions/3.10.14/lib/python3.10/site-packages/brax/training/agents/ppo/train.py:399, in train(environment, num_timesteps, episode_length, action_repeat, num_envs, max_devices_per_host, num_eval_envs, learning_rate, entropy_cost, discounting, seed, unroll_length, batch_size, num_minibatches, num_updates_per_batch, num_evals, num_resets_per_eval, normalize_observations, reward_scaling, clipping_epsilon, gae_lambda, deterministic_eval, network_factory, progress_fn, normalize_advantage, eval_env, policy_params_fn, randomization_fn, restore_checkpoint_path)
    397   orbax_checkpointer = ocp.PyTreeCheckpointer()
    398   target = training_state.normalizer_params, init_params
--> 399   (normalizer_params, init_params) = orbax_checkpointer.restore(
    400       restore_checkpoint_path, item=target
    401   )
    402   training_state = training_state.replace(
    403       normalizer_params=normalizer_params, params=init_params
    404   )
    406 training_state = jax.device_put_replicated(
    407     training_state,
    408     jax.local_devices()[:local_devices_to_use])

File ~/.pyenv/versions/3.10.14/lib/python3.10/site-packages/orbax/checkpoint/checkpointer.py:211, in Checkpointer.restore(self, directory, *args, **kwargs)
    209 logging.info('Restoring item from %s.', directory)
    210 ckpt_args = construct_checkpoint_args(self._handler, False, *args, **kwargs)
--> 211 restored = self._handler.restore(directory, args=ckpt_args)
    212 logging.info('Finished restoring checkpoint from %s.', directory)
    213 multihost.sync_global_processes(
    214     multihost.unique_barrier_key(
    215         'Checkpointer:restore',
   (...)
    219     processes=self._active_processes,
    220 )

File ~/.pyenv/versions/3.10.14/lib/python3.10/site-packages/orbax/checkpoint/pytree_checkpoint_handler.py:637, in PyTreeCheckpointHandler.restore(self, directory, item, restore_args, transforms, transforms_default_to_original, legacy_transform_fn, args)
    628 if (
    629     (directory / _METADATA_FILE).exists()
    630     and transforms is None
    631     and legacy_transform_fn is None
    632 ):
    633   args = BasePyTreeRestoreArgs(
    634       item,
    635       restore_args=restore_args,
    636   )
--> 637   return self._handler_impl.restore(directory, args=args)
    639 logging.debug('directory=%s, restore_args=%s', directory, restore_args)
    640 if not directory.exists():

File ~/.pyenv/versions/3.10.14/lib/python3.10/site-packages/orbax/checkpoint/base_pytree_checkpoint_handler.py:800, in BasePyTreeCheckpointHandler.restore(self, directory, args)
    794   logging.debug(
    795       'ts_metrics: %s',
    796       json.dumps(ts.experimental_collect_matching_metrics('/tensorstore/')),
    797   )
    799 if item is not None:
--> 800   return utils.deserialize_tree(restored_item, item)
    801 return restored_item

File ~/.pyenv/versions/3.10.14/lib/python3.10/site-packages/orbax/checkpoint/utils.py:269, in deserialize_tree(serialized, target, keep_empty_nodes)
    266     result = result[key_name]
    267   return result
--> 269 return jax.tree_util.tree_map_with_path(
    270     _reconstruct_from_keypath,
    271     target,
    272     is_leaf=is_empty_or_leaf if keep_empty_nodes else None,
    273 )

File ~/.pyenv/versions/3.10.14/lib/python3.10/site-packages/jax/_src/tree_util.py:1001, in tree_map_with_path(f, tree, is_leaf, *rest)
    999 keypath_leaves = list(zip(*keypath_leaves))
   1000 all_keypath_leaves = keypath_leaves + [treedef.flatten_up_to(r) for r in rest]
-> 1001 return treedef.unflatten(f(*xs) for xs in zip(*all_keypath_leaves))

File ~/.pyenv/versions/3.10.14/lib/python3.10/site-packages/jax/_src/tree_util.py:1001, in <genexpr>(.0)
    999 keypath_leaves = list(zip(*keypath_leaves))
   1000 all_keypath_leaves = keypath_leaves + [treedef.flatten_up_to(r) for r in rest]
-> 1001 return treedef.unflatten(f(*xs) for xs in zip(*all_keypath_leaves))

File ~/.pyenv/versions/3.10.14/lib/python3.10/site-packages/orbax/checkpoint/utils.py:266, in deserialize_tree.<locals>._reconstruct_from_keypath(keypath, _)
    264   if not isinstance(result, list) and key_name not in result:
    265     key_name = str(key_name)
--> 266   result = result[key_name]
    267 return result

KeyError: 'policy'
'''

can you give me any hints to solve the problem?

Thank you!

Hi @Rian-Jo , are you saving the full params in your checkpoint? It looks like the "policy" key is missing. Take a look at the colab example here to see what the diff is:
https://colab.research.google.com/github/google-deepmind/mujoco/blob/main/mjx/tutorial.ipynb

@btaba I got it. Thank you so much!!
One more question.
Is there any difference between the params resulted from the train function and its saveed/loaded params? simulation playback with first and last seem different. And also, is there also any difference between the make_inference_fn from train function and the one from jax.xla_computation?
Thank you.

Can you be a bit more specific about  what the "saveed/loaded params" are?
What is the make_inference_fn from jax.xla_computation ? Not understanding what the question is

Hi @btaba,

Here's an example:
from orbax import checkpoint as ocp
from flax.training import orbax_utils

ckpt_path = epath.Path('/tmp/some-env/ckpts')
ckpt_path.mkdir(parents=True, exist_ok=True)

def policy_params_fn(current_step, make_policy, params):
  # save checkpoints
  orbax_checkpointer = ocp.PyTreeCheckpointer()
  save_args = orbax_utils.save_args_from_target(params)
  path = ckpt_path / f'{current_step}'
  orbax_checkpointer.save(path, params, force=True, save_args=save_args)

train_fn = functools.partial(
      ppo.train, num_timesteps=100_000_000,
      policy_params_fn=policy_params_fn,
      restore_checkpoint_path=ckpt_path / '11141120'  # to restart from a previous checkpoint
)

make_inference_fn, params, _= train_fn(environment=env, progress_fn=progress)

You can recover the inference fn without training like so:
make_inference_fn, params, _= ppo.train(environment=env, num_timesteps=0)

I have three jit_inference_fn.

trained make_inference_fn

make_inference_fn, params, _= train_fn(environment=env, progress_fn=progress)
jit_inference_fn = jax.jit(make_inference_fn(params))
model.save_params(model_path, params)

restored make_inference_fn with saved_params

make_inference_fn, params, _= train_fn(environment=env, num_timesteps=0)
params = model.load_params(model_path)

jit_inference_fn = jax.jit(make_inference_fn(params))

a wrapped version of jit_inference_fn by using jax.xla_computation

c = jax.xla_computation(jit_inference_fn)(...)

i use c from case 3 in c++.
should these three be functioning same? i got the results from each are different..
i wander that there are some chnages during the process,
(case 2) when the params is saved and loaded or call train_fn with 'num_timesteps=0'
(case 3) when the function is wrapped with xla_computation.

https://colab.research.google.com/github/google-deepmind/mujoco/blob/main/mjx/tutorial.ipynb

Meanwhile, in quadruped example, what is the meaning of editing state value (qvel)? i understand the qvel is the sensored value. how can random noise kick to floating base state (qvel[:2]) ensure the legs kick?
i imagined if random noise is added to the floating base state and pipeline_step runs, the floating base jumps to the randomly noised direction continuosly not legs.
...
  def step(self, state: State, action: jax.Array) -> State:  # pytype: disable=signature-mismatch
    rng, cmd_rng, kick_noise_2 = jax.random.split(state.info['rng'], 3)

    # kick
    push_interval = 10
    kick_theta = jax.random.uniform(kick_noise_2, maxval=2 * jp.pi)
    kick = jp.array([jp.cos(kick_theta), jp.sin(kick_theta)])
    kick *= jp.mod(state.info['step'], push_interval) == 0
    qvel = state.pipeline_state.qvel  # pytype: disable=attribute-error
    qvel = qvel.at[:2].set(kick * self._kick_vel + qvel[:2])
    state = state.tree_replace({'pipeline_state.qvel': qvel})

    # physics step
    motor_targets = self._default_pose + action * self._action_scale
    motor_targets = jp.clip(motor_targets, self.lowers, self.uppers)
    pipeline_state = self.pipeline_step(state.pipeline_state, motor_targets)
    x, xd = pipeline_state.x, pipeline_state.xd
...

Thank you.

Hi, I have the similar issue when loading the policy:
Traceback (most recent call last):
  File "/root/vast/scott-yang/VNL-Brax-Imitation/train.py", line 365, in main
    make_inference_fn, params, _ = train_fn(
                                   ^^^^^^^^^
  File "/root/vast/scott-yang/VNL-Brax-Imitation/ppo_imitation/train.py", line 431, in train
    (normalizer_params, init_params) = orbax_checkpointer.restore(
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/anaconda3/envs/vnl/lib/python3.11/site-packages/orbax/checkpoint/checkpointer.py", line 211, in restore
    restored = self._handler.restore(directory, args=ckpt_args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/anaconda3/envs/vnl/lib/python3.11/site-packages/orbax/checkpoint/pytree_checkpoint_handler.py", line 642, in restore
    return self._handler_impl.restore(directory, args=args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/anaconda3/envs/vnl/lib/python3.11/site-packages/orbax/checkpoint/base_pytree_checkpoint_handler.py", line 812, in restore
    return tree_utils.deserialize_tree(restored_item, item)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/anaconda3/envs/vnl/lib/python3.11/site-packages/orbax/checkpoint/tree/utils.py", line 176, in deserialize_tree
    return jax.tree_util.tree_map_with_path(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/anaconda3/envs/vnl/lib/python3.11/site-packages/jax/_src/tree_util.py", line 1170, in tree_map_with_path
    return treedef.unflatten(f(*xs) for xs in zip(*all_keypath_leaves))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/anaconda3/envs/vnl/lib/python3.11/site-packages/jax/_src/tree_util.py", line 1170, in <genexpr>
    return treedef.unflatten(f(*xs) for xs in zip(*all_keypath_leaves))
                             ^^^^^^
  File "/root/anaconda3/envs/vnl/lib/python3.11/site-packages/orbax/checkpoint/tree/utils.py", line 173, in _reconstruct_from_keypath
    result = result[key_name]
             ~~~~~~^^^^^^^^^^
KeyError: 'policy'

May I ask what is the fix for saving the checkpoint? I am saving the checkpoint according to the example provided:
from orbax import checkpoint as ocp
from flax.training import orbax_utils

ckpt_path = epath.Path('/tmp/some-env/ckpts')
ckpt_path.mkdir(parents=True, exist_ok=True)

def policy_params_fn(current_step, make_policy, params):
  # save checkpoints
  orbax_checkpointer = ocp.PyTreeCheckpointer()
  save_args = orbax_utils.save_args_from_target(params)
  path = ckpt_path / f'{current_step}'
  orbax_checkpointer.save(path, params, force=True, save_args=save_args)

Thank you!


can we create the adaptive icon fro android

m trying to create the adaptive icon for android. do we have any field for that

Any news about this ?

+1 for this feature

Hey @sailes-coding , do you mean adding this feature #206 ?


No output in IJulia

plot just returns a PyObject but does't show anything. I am using julia 0.3.10, python3

Are you using PyPlot (vs. @pyimport matplotlib with PyCall).  Can you try Python 2?

I am using PyPlot. I don't have time to check it right now with python2 but maybe in a few days.

Ok, it works with Python2. When will Python2 support be finally dropped? It would be a good signal if you start to remove the Python2 support from PyCall :)

For me the output works fine using (explicitly) ion() in the notebook.
But after calling ioff(), neither the show() nor the draw() functions display the plot.
This happens with Python 2.7.3, matplotlib 1.4.3, IJulia master, and PyPlot master as well as the PyCall imported version.
OT: I also discovered that using plot in one IJulia cell doesn't carry over the figure to the next cell, i.e. it is not possible to draw a figure over multiple cells. This probably is intended, but is there some way to control this?

At the moment, I have no plan to drop Python2 support, as Python2 more widely used in science than Python3.
However, with the latest version of PyCall (Pkg.checkout("PyCall"); Pkg.build("PyCall")) plotting in IJulia works fine for me with Python 3.3 (from Anaconda) on OSX.


fix(client): support v5 fully

Summary
This PR updates all algoliasearch dependencies in examples to algoliasearch@5 and ensures full compatibility locally with algoliasearch v5
FX-2922
fixes https://github.com/algolia/algoliasearch-client-javascript/issues/1537
fixes https://github.com/algolia/instantsearch/issues/6329

✅ Approved (I can't do it properly as I'm the creator of the PR).


Update all lib package versions to 1.0.0

Codecov Report
Base: 24.61% // Head: 36.62% // Increases project coverage by +12.01% :tada:

Coverage data is based on head (5351cb5) compared to base (6a88064).
Patch has no changes to coverable lines.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #179       +/-   ##
===========================================
+ Coverage   24.61%   36.62%   +12.01%
===========================================
  Files          56       57        +1
  Lines        1552     1518       -34
  Branches      345      343        -2
===========================================
+ Hits          382      556      +174
+ Misses       1147      925      -222
- Partials       23       37       +14

Impacted Files
Coverage Δ

packages/lib-utils/src/index.ts
0.00% <0.00%> (ø)

packages/lib-utils/src/web-socket/index.ts
0.00% <0.00%> (ø)

...s/lib-utils/src/components/horizontal-nav/index.ts
0.00% <0.00%> (ø)

.../src/components/details-page-header/utils/index.ts
100.00% <0.00%> (ø)

...kages/lib-utils/src/components/table/test-data.tsx
100.00% <0.00%> (ø)

...tils/src/components/table/VirtualizedTableBody.tsx
39.28% <0.00%> (+39.28%)
:arrow_up:

...lib-utils/src/components/list-view/FilterChips.tsx
66.66% <0.00%> (+66.66%)
:arrow_up:

...ib-utils/src/components/table/VirtualizedTable.tsx
67.07% <0.00%> (+67.07%)
:arrow_up:

...es/lib-utils/src/components/list-view/ListView.tsx
81.33% <0.00%> (+81.33%)
:arrow_up:

...ages/lib-utils/src/components/status/StatusBox.tsx
91.30% <0.00%> (+91.30%)
:arrow_up:

... and 1 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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

/lgtm


Patch System.Environment.Exit

Just leaving these here for context:

kyleavery/inject-assembly
Massaging your CLR: Preventing Environment.Exit in In-Process .NET Assemblies

Implemented!


Added coverScreen props (@samin) + allow it to be used with a backdrop + typescript

This duplicates https://github.com/react-native-community/react-native-modal/pull/259 and adds the ability to use it with a backdrop as well as adding it to typescript. I've cherry-picked @samin's commits and then resolved conflicts.
I'm guessing that we'd want this to be merged into the "next" branch?

@cjroth awesome stuff! Sorry for not replying quickly, been busy. @mmazzarolo Feel free to close my PR https://github.com/react-native-community/react-native-modal/pull/259 and consider this one instead.

(@samin thanks for the feedback!)

Merged, thanks 👍

Available in v10.0.0-next.0 ✈


Adds Shrink Sidebar according to the new design and also navigation tabs

I forgot to say this too: please store the sidebar state (expanded = true/false) in the local storage (stored from a saga) so we can keep the state between sessions.
The schema for storing should be something like:
settings: {
  ui: {
    sidebar: {
      expanded: true
    }
  }
}

@ashu8912 Please check the quick and WIP changes I have added in a new commit. I think this may help understand the ideas I tried to communicate earlier today. Cheers.


Allocate negative amounts

Applies to #65

Fixed allocateToTargets for negative amounts
Fixed allocateByRatios for negative amounts
Added test for allocateToTargets with negative amount
Added test for allocateByRatios with negative amount
Extended the method behaviour documentation for negative amounts in README.md

Merged manually, thanks.


Adafruit_GPIO and ftdi1 modules get installed on different python versions!

I followed the installation instructions on -> learn.adafruit.com/adafruit-ft232h-breakout/linux-setup
Adafruit_GPIO got installed on python2 and ftdi1 module got installed on python3.
How do I resolve this?
I'm sorry for the newbie-ish question, any help would be appreciated.

Okay, so apparently you can't work with ftdi chips on 32 bit systems. Switched to a 64 bit system and everything just worked. I know it doesn't make much sense but that's what fixed my issue!


Amplify push failure - CloudFormation stack rollback failed

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
16.20.2
Amplify CLI Version
12.10.3
What operating system are you using?
macOS
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
Made one change to an AppSync resolve after seeing this post (https://github.com/aws-amplify/amplify-category-api/issues/2157) which seemed related to the issue I was seeing. I only made this change after the stack was in a bad state (not able to roll back).
Describe the bug
We recently upgraded from Amplify Transformer V1 to V2. A bug was detected a few days after this upgrade, and to verify the V1 -> V2 Transformer change was the cause, I synced back to the commit before the upgrade, did an amplify push, and confirmed things worked as expected.
After doing some digging I discovered the issue was down to a change in behavior from Amplify Transformer V1 to V2 where the owner field is not automatically populated when making GraphQL requests. I found this post https://github.com/aws-amplify/amplify-category-api/issues/37, which suggested to update amplify/cli.json to include "populateOwnerFieldForStaticGroupAuth": true. I made this change, along with a few other updates to amplify.json (see cli.diff.txt, just remove the .txt extension to preview), synced back to our change after the upgrade to Transformer V2, and did an amplify push.
After running this push, the CloudFormation stack for the application failed. It failed in the api<app>client stack. From the top level, its status is reported as UPDATE_COMPLETE, but when you click the Physical ID link, it shows as UPDATE_ROLLBACK_FAILED. The reason is The following resource(s) failed to update: [ConnectionStack].. Looking at the ConnectionStack, I can see it is also in UPDATE_ROLLBACK_FAILED. The following reason is three resolvers failed to deploy (these are tables in our GraphQL schema):
The following resource(s) failed to update: [GuestUserRegistrationssourceFileResolver, AppUserlicenseResolver, ViewSessionsourceFileResolver].

If I attempt to continue the rollback, I go from one of the nested stacks to the root stack, but as it is not reported as being in UPDATE_ROLLBACK_FAILED, I can't rollback at all. If I try and run amplify push again I see:
Rolled back (2 of 1)
🛑 ["Index: 0 State: {\"deploy\":\"deploying\"} Message: Stack:arn:aws:cloudformation:eu-west-2:<account>:stack/amplify-<app>client-<environment>-115352-api<app>client-.../... is in UPDATE_ROLLBACK_FAILED state and can not be updated."]

At this stage I am not sure how to recover the stack. Is there something I can do to fix the resolvers outside Amplify? Any guidance/support/advice would be hugely appreciated.
Expected behavior
The CloudFormation stack can be rolled back and amplify push works as expected.
Reproduction steps
Not sure exactly if this will work, but this is roughly what I did:

Upgrade project from Amplify Transformer V1 to V2 (without "populateownerfieldforstaticgroupauth": true set - see attachment for state of amplify/cli.json)
amplify push
Sync back in Git history to before the upgrade (Transformer V1)
amplify push (restore earlier state)
Sync back to latest Git commit (Transformer V2)
Update amplify/cli.json with changes shown in diff
amplify push
See push fail, CloudFormation enters apparent unrecoverable state.

Project Identifier
Attempting to run amplify diagnose --send-report shows:
⠏ Sending zip
DiagnoseReportUploadError
✖ Sending zip

Log output
See earlier description
Additional information
No response
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

Hey👋 thanks for raising this! I'm going to transfer this over to our API repository for better assistance 🙂


make logo transparent background, change font to #414042 so can be se…

…en on github dark background

from ipyregulartable, before:

After on dark:

After on light:

from ipyregulartable, before:

After on dark:

After on light:

feel free to close if you prefer the original

feel free to close if you prefer the original

link to verify https://github.com/timkpaine/regular-table/blob/logotransparent/logo.png

link to verify https://github.com/timkpaine/regular-table/blob/logotransparent/logo.png

Thanks for the PR!  I think this looks good!


bin: Upgrade Helm to v3.4.1

What this PR does / why we need it:
Upgrades Helm to v3.4.1
Which issue this PR fixes: fixes #64
Public facing documentation PR (if applicable)

Special notes for reviewer:
Checklist:

[x] Added relevant notes to WIP-CHANGELOG.md
[x] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[ ] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] will create noticeable cluster degradation.
E.g. logs or metrics are not being collected or Kubernetes API server
will not be responding while upgrading.
[ ] requires draining and/or replacing nodes.
[ ] will change any APIs.
E.g. removes or changes any CK8S config options or Kubernetes APIs.
[ ] will break the cluster.
I.e. full cluster migration is required.

The old stable repository causes an error now, so I will have to fix this before merging.


Mobile clients/BIP158: Add function to get single ScriptPubKey from single n as input

No need to make an endpoint for every n, just n=0. In that case this issue is a duplicate of #23


Various apps: support setting properties

The -provider and -propquery options did not work on some OpenSSL apps. Fix this and add tests to check that operations that would usually fail with the FIPS provider work when run with
-provider default -propquery '?fips!=yes'

See also #18576, which previously fixed the same problem in dsaparam and gendsa. See also the initial report in https://bugzilla.redhat.com/show_bug.cgi?id=2094956.
Checklist

[x] tests are added or updated

Test failures seem relevant

Test failures seem relevant

Yes, I'll fix those.

Rebased on top of the current master. I believe I have currently addressed all review comments and would appreciate another round of reviews.

This pull request is ready to merge

Merged. Many thanks!


Problem with character encoding

There seems to be a problem when applying a migration which contains special characters like German Umlauts. The attached gist contains a migrations with some ä characters. They are fine until this line of code is executed: https://github.com/Firstborn/Craft-Migration-Manager/blob/master/src/services/Migrations.php#L236
https://gist.github.com/urbantrout/2f866c25fd6687ec16734307da0c23d2

More Details:
<EMAIL_ADDRESS><EMAIL_ADDRESS>

I created a pull request #28

Works perfectly fine - fixes problems with Norwegian æ, ø and å characters

Hey, any ideas when this will be added to a new version?

In the meantime you can install my forked version via composer:
composer config repositories.firstborn/migrationmanager '{"type": "vcs", "url": "'https://github.com:urbantrout/Craft-Migration-Manager.git'", "no-api": true }'
composer require firstborn/migrationmanager:dev-master

Thanks for doing this and sorry it took so long, I've gone ahead and merged this.

is this already in a release? in 3.0.11, I am still getting encoding errors… the latest release is over 2 months old

Just to push this a tiny bit ... I would really appreciate a fresh version soon, too :-)

Is it just the version number that needs to be updated?

the version number, and it needs to be pushed to packagist…
by the way, the fix worked, I just imported a migration that was exported with the broken encoding


Fix tests failing against HEAD, fixes #7

Dockerfile.example didn't have #ddev-generated in it, so ddev HEAD refused to overwrite
We were using a directory replacement (web-build) instead of installing individual files (web-build/Dockerfile.cron), so switch to that approach instead of triggering this bug (fixed in https://github.com/drud/ddev/pull/3916)
Add #ddev-nodisplay to the capabilities check so it doesn't make so much noise (new feature, but does no harm with existing ddev versions)
Only test ddev stable and HEAD versions, as edge shouldn't really add any particular value. HEAD would break first.

Please take a look @tyler36 and let's get this promoted when you're ready.

Thank you. Released in 1.0.1


Type error in RuleDocsInfo

Issue workflow progress

Progress of the issue based on the Contributor Workflow

[ ] 1. The issue provides a reproduction available on GitHub, Stackblitz or CodeSandbox

Please make sure the graphql-eslint version under package.json matches yours.

[ ] 2. A failing test has been provided
[ ] 3. A local solution has been provided
[ ] 4. A pull request is pending review

Describe the bug
Hi 👋
This is just a small thing that I discovered when I wanted to add urls to our rules and TS didn't like it with the strict flag on, because url wasn't part of RuleDocsInfo.
I took a closer look and discovered that the problem is caused by docs being optional, and therefore the type returned by Omit<Rule.RuleMetaData['docs'], 'category'> is {}.
export type RuleDocsInfo<T> = {
  docs: Omit<Rule.RuleMetaData['docs'], 'category'> & {   <<<<<
    category: CategoryType | CategoryType[];
    requiresSchema?: true;
    requiresSiblings?: true;
    ...
  };
};

To Reproduce

Expected behavior
I think you wanted to keep all the properties from docs except for category, so that should be happening.
Proposed solution
Adding Required solves it.

Environment:

OS: MacOS Monterey
@graphql-eslint/eslint-plugin: 3.10.7
Node.js: 16

Hey @B2o5T 👋
Any thought on this? 🙂

Hi @Berger92 sorry for delay ! Will be fixed on next release!

Hi @B2o5T, no worries. Thanks for taking a look. If you like the proposed solution I'm happy to put the PR together.

Hi @Berger92 👋 and sorry for the long time fixing this issue (was too busy with another open source project 😄), I don't think Required<RuleMetaData['docs']> is the right way as:

it's requires always set recommended to true/false (setting false for me it's redundant)
it's requires always set suggestions field to true/false, but this field is marked as deprecated and should be omitted

Anyway I enhanced RuleDocsInfo type to always requires description and url fields
You can already test these changes and give your feedback with alpha version 3.11.0-alpha-20220923193910-c1bb619 that will be included in the next release 🚀

@B2o5T Thanks for getting back to me. My proposal was based on not modifying the types, but I like your approach. However, I disagree with making description and url required. That's not the case in eslint.

@Berger92 made description and url optional as well as meta.docs
Try 3.11.1-alpha-20220926112156-14d4be3

Yeah, good idea Re meta.docs 👍 I'll take a look a bit later today.

Hi @B2o5T I've taken a look and whilst it doesn't bother my use case, there's something off with it again. It doesn't seem to like the description field. Although, this time, I don't know why 🤔
 error TS2322: Type '{ category: "Schema"; description: string; url: string; }' is not assignable to type 'RuleDocsInfo<any[]>'.
  Object literal may only specify known properties, and 'description' does not exist in type 'RuleDocsInfo<any[]>'.

14             description: 'Enforces usage of `@contact` directive on the schema.',
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  ../../node_modules/@graphql-eslint/eslint-plugin/types.d.ts:68:9
    68         docs?: RuleDocsInfo<Options>;
               ~~~~
    The expected type comes from property 'docs' which is declared here on type 'Omit<RuleMetaData, "docs"> & { docs?: RuleDocsInfo<any[]> | undefined; }'

Actually, having dug deeper, it looks like the same problem as reported in the first comment in this issue: Omit and optional field result in an interesting type.
So, you can use the Required utility type (notice that it won't change any of the fields inside, it just helps us get the correct type for the Omit)
export declare type RuleDocsInfo<T> = Omit<Required<Rule.RuleMetaData>['docs'], 'category' | 'suggestion'> & { ... }

or  just manually declare the fields:
export declare type RuleDocsInfo<T> = Omit<Rule.RuleMetaData['docs'], 'category' | 'suggestion'> & {
    description?: string | undefined;
    recommended?: boolean | undefined;
    url?: string | undefined;

    category: CategoryType | CategoryType[];
    ...
}

Hey @Berger92 can you make a PR with your change? :)

Sure, I'll crack on with it today.

Hi @Berger92, I decided to not fixing this issue, since it’s issue on your side and maybe due your typescript version.
I already applied your suggestions for fields to mark them as optional, for me this issue is done and completed. Sorry

Hi @B2o5T , the issue isn't the typescript version (I am also on 4.7.4). As I said it in the first comment ☝ , it is the strict flag in typescript options. I know it is an optional flag, but it does point out the type issue with RuleDocsInfo. If you turn on strict mode for this project, you'll see exactly the same error:

Here's my tiny PR to fix it. If you don't like it, that's fine, I can have a workaround for it locally 🙂


Author and link fixes by Marc

Please use this template to ensure easier processing of your pull request
Category

[ X] Content fix

Docs Build status updates of commit 1d0a758:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Community/accessibility-by-design.md
:bulb:Suggestion
View
Details

Community/microsoft365-maturity-model--management-of-content.md
:white_check_mark:Succeeded
View

Community/accessibility-by-design.md

Line 73, Column 19: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/learn/paths/accessibility-fundamentals/' will be broken in isolated environments. Replace with a relative link.
Line 73, Column 142: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/learn/' will be broken in isolated environments. Replace with a relative link.
Line 113, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/style-guide/a-z-word-list-term-collections/term-collections/accessibility-terms' will be broken in isolated environments. Replace with a relative link.
Line 114, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/style-guide/bias-free-communication' will be broken in isolated environments. Replace with a relative link.

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


How to use pinpoint with VSpare Center ?

I am news to java monitoring systems.
But I can understand how to develop systems to monitor Vspare Center by using VSpare SDK.
How can I use Pinpoint to monitoring VSpare Center ?

Hi @phuongphally
I have no idea what VSpare Center is so I can't tell you with full confidence, but we don't currently have support for VSpare Center.

I hope coming soon.


feat(Popup): add pinned and popperModifiers prop

Fixes #3615.
pinned
Will stop flipping of opened Popup.

popperModifiers
We can map all PopperJS modifiers to component's props, so it will be better to just export them.\
Restore rending children in ComponentExample
I just noticed that we're are missing helpful descriptions in docs:

Fixed 💥

Codecov Report

Merging #3654 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #3654   +/-   ##
=======================================
  Coverage   99.81%   99.81%
=======================================
  Files         174      174
  Lines        2749     2749
=======================================
  Hits         2744     2744
  Misses          5        5

Impacted Files
Coverage Δ

src/modules/Popup/Popup.js
98.24% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8950d7c...f5259cf. Read the comment docs.

Even after adding pinned the popup move up if squeezed
<StyledPopup     basic     content={<SomeKindaList />}     flowing     hoverable     onOpen={props.p1}     onClose={props.p2}     open={props.p3}     position='bottom right'     trigger={(       <StyledLinkMenuItem isOpenPopup={props.p1}>         ..........       </StyledLinkMenuItem>     )}     offset='0, -10'     pinned   />
So if I decrease the window size the popup moves up. How to fix the same.


Multi Validation pipeline

Is your feature request related to a problem? Please describe.
Sometimes it makes sense to use multiple validation sets in order to test your model,
for example a validation set for each use-case (night, day, small objects, large objects etc...)
Describe the solution you'd like
The trainer should be able to accept multiple validation dataloader and run the validation loop on each and report the metrics connfigured in the config file.

Hello @wematan, assuming your datasets output the same format- isn't ConcatDataset a solution?
You can just concatenate the different datasets, and instantiate a data loader for the concatenated dataset.

I think the ideas was to obtain validation metrics per dataset:
{
"night": { "mAP": 0.123 },

Hi @shaydeci,
@BloodAxe is correct...
the idea is to get the metrics for each dataset segment.
BR,
Matan.

Thanks,
I'll try that solution then.


Feature Request: Callback for choices and input questions

I often want to perform an action as a result of a prompt choice/input:
For example:
q = {
    'type' : 'list,
    'name' : 'action',
    'message' : 'choose an option',
    'choices' : [
        {
            'name' : 'foo',
            'disabled' : False
        },
        {
            'name' : 'bar',
            'disabled' : False
        }
   ]
}

def foo() : print("you chose foo!")
def bar() : print("you chose bar!")

a = prompt(q)
if a['action'] == 'foo':
    foo()
elif a['action'] == 'bar':
   bar()

As the number of options grows, and the prompts become more complex this can become messy, as you have to update the logic that handles the choice every time you change/add a choice.
It would be good if you could do something like:
q = {
    'type' : 'list,
    'name' : 'action',
    'message' : 'choose an option',
    'choices' : [
        {
            'name' : 'foo',
            'disabled' : False,
            'callback' : lambda : print("you chose foo!")
        },
        {
            'name' : 'bar',
            'disabled' : False
            'callback' : lambda : print("you chose bar!")
        }
   ]
}

a = prompt(q)

#The callback could be called automatically as a result of the choice, or an alternative design could be to call it with:
handle(a, q)  # This would call the appropriate callback depending on the answer

This is better than the previous example because the callbacks are defined with the choices, so adding new behaviour to handle a new choice is easy.
The handle function can already be implemented now, without having to change any of the rest of the application. See below:
def handle(a, q):
    choicesList = q['choices']
        for opt in choicesList:
            if opt['name'] == a:
                opt['callback']()
# a similar function can be written for the case that a is a future, and not a string (when `return_asyncio_coroutine = True` is used)

But this relies on me being able to add the callback Dict item to the choices List. This currently happens to work, but as it is not an official feature I cannot guarantee that this will work with future versions of PyInquire. It would be good if the callback property could be officially supported.
It would also be good if I could do the same with different types of prompts, such as input. For example:
q = {
    'type' : 'input',
    'name' : 'value',
    'message' : "choose a value",
    'callback' : lambda val : print("you typed " + val)
}

a = prompt(q)

But unlike the choices example, this currently doesn't work and gives the error:
TypeError: create_prompt_application() got an unexpected keyword argument 'callback'

Again, it would be good if the callback function could be called (with the input value) after the user has entered the input. Again, this could happen automatically, or by using some kind of handle function.
What do you think of this idea?

I could create a fork / branch and assign myself to this if others think it is a useful feature?

I've gone ahead and made a fork, as this feature was easy to implement. A working example can be found here:
https://github.com/craigh92/PyInquirer/blob/master/examples/callbacks.py

This looks good, I would go through it but I think we have something like this. @craigh92

@CITGuru  Thanks for your reply.
If that is the case, could you please let me know how this is currently done?
Also, here's a better example of how it could be used:
https://github.com/craigh92/PyInquirer/blob/master/examples/calculator.py

I will be looking into this, this is fairly easy. I hope I could get enough time


Use chef-ingredient cookbook

The chef-server-ingredient cookbook is now fully deprecated, and we
should use the chef-ingredient cookbook instead. We're pinning to 0.7.0
to ensure we get the latest version fix, with product_name used instead
of package_name (see the chef-ingredient cookbook readme).
Please review @chef-cookbooks/engineering-services

:+1:


Nonoptimal simplification

Code:
a=qm.QuineMcCluskey()
print a.simplify([3,4,5,7,9,13,14,15])

Output:
set(['-1-1', '010-', '1-01', '111-', '0-11'])

But the first item -1-1 seems to be redundant

Yes, the code does not implement Petrick's method, and therefore the solution is not minimal.

I needed this functionality and your implementation's handling XOR/XNOR is a key feature. After not finding any alternatives, I went ahead and wrote a minimizer -- diff attached. It's not performant, nor well-tested, but it meets my particular need and I'm including it here in case it's useful to anyone else.
qm.py-135c276a.diff.txt

I needed better reduction with XOR functionality. All of the included tests pass, as well as these new ones:
# Sometimes fails returns {'^^--', '--^^'} instead of {'^^^^'}
{ 'res': set(['^^^^']), 'ons': [1, 7, 8, 14], 'dnc': [2, 4, 5, 6, 9, 10, 11, 13] },

# Test for QuineMcCluskey(use_xor = False)
{ 'res': set(['010-', '1-01', '111-', '0-11']), 'ons': [3,4,5,7,9,13,14,15] },

This is not rigorously tested and it's certainly slower. It's also somewhat outside the scope of pure QM - so I'm not planning to submit a pull request. However, I've attached a diff to qm.py at commit 135c276a in case it's useful to anyone.
qm.py-135c276a.diff.txt


BUG: Halo install requires UTF-8 locale to be set

Description of new feature, or changes
See #124 for the issue that this fixes.
This change has been tested with the test set out in that issue.
Checklist

[X] Your branch is up-to-date with the base branch
[X] You've included at least one test if this is a new feature: This is not a new feature.
[ ] All tests are passing: I hope they will!

Related Issues and Discussions
Fixes #124 .
People to notify
@manrajgrover

Pull Request Test Coverage Report for Build 370

0 of 0   changed or added relevant lines in 0 files are covered.
6 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-1.5%) to 88.689%

Files with Coverage Reduction
New Missed Lines
%

halo/halo.py
2
91.97%

halo/_utils.py
4
70.49%

Totals

Change from base Build 355:
-1.5%

Covered Lines:
283

Relevant Lines:
313

💛  - Coveralls

Pull Request Test Coverage Report for Build 370

0 of 0   changed or added relevant lines in 0 files are covered.
6 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-1.5%) to 88.689%

Files with Coverage Reduction
New Missed Lines
%

halo/halo.py
2
91.97%

halo/_utils.py
4
70.49%

Totals

Change from base Build 355:
-1.5%

Covered Lines:
283

Relevant Lines:
313

💛  - Coveralls

Pull Request Test Coverage Report for Build 370

0 of 0   changed or added relevant lines in 0 files are covered.
6 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-1.5%) to 88.689%

Files with Coverage Reduction
New Missed Lines
%

halo/halo.py
2
91.97%

halo/_utils.py
4
70.49%

Totals

Change from base Build 355:
-1.5%

Covered Lines:
283

Relevant Lines:
313

💛  - Coveralls

I think my fix still has something you need - it ensures the README is opened read-only, which is missing from the old code and #125
Thanks for sorting it out anyway!

@juledwar Ah, makes sense. I'll make that change in some time. For now, I've made the release for this.
https://pypi.org/project/halo/0.0.24/

@manrajgrover Thanks! Is there any chance you can release log-symbols 0.0.13 as well and release Halo again to use it? It has the important enum34 fix!

@juledwar Looking into it. Thanks for pointing it out. I've been a lot occupied lately and had decided to squash and sort out everything today. :smile:

@juledwar Made a release and updated halo to v0.0.25! This should be fixed now.


Add base_shape to find_item with calendar_view

Add a
find_item(const calendar_view& view, const folder_id& parent_folder_id, base_shape shape);

to the overload set. Document that this overload does not return all properties of a calendar item (and does not allow additional properties) because of the special role of CalendarView.
See issue #48.

This should be done with 2c50388.


use_peft  Not working?

Full finetuning is working well but use peft is error.
My config is
Model arguments
model_name_or_path: /workspace/sandbox/model_sealion7b
Data training arguments
dataset_mixer:
#HuggingFaceH4/ultrafeedback_binarized: 1.0
UCLA-AGI/SPIN_iter0: 1.0
dataset_splits:

train
test
preprocessing_num_workers: 12

Trainer arguments
bf16: true
beta: 0.1
do_eval: false
evaluation_strategy: "no"
eval_steps: 100
gradient_accumulation_steps: 1
gradient_checkpointing: true
hub_model_id: zephyr-7b-spin
learning_rate: 5.0e-7
log_level: info
logging_steps: 10
lr_scheduler_type: linear
max_length: 1024
max_prompt_length: 512
num_train_epochs: 3
optim: rmsprop
output_dir: outputs
per_device_train_batch_size: 1
per_device_eval_batch_size: 1
push_to_hub: false
save_strategy: "epoch"
save_total_limit: null
seed: 42
warmup_ratio: 0.1
use_peft: True
lora_r: 16
lora_alpha: 32
lora_dropout: 0.05
lora_target_modules: ["down_proj", "out_proj", "up_proj", "Wqkv"]
trust_remote_code: True
I got error message
File "/workspace/SPIN/spin/run_spin.py", line 169, in main
train_result = spin_trainer.train()
File "/usr/local/lib/python3.10/dist-packages/transformers/trainer.py", line 1555, in train
return inner_training_loop(
File "/usr/local/lib/python3.10/dist-packages/transformers/trainer.py", line 1860, in _inner_training_loop
tr_loss_step = self.training_step(model, inputs)
File "/usr/local/lib/python3.10/dist-packages/transformers/trainer.py", line 2725, in training_step
loss = self.compute_loss(model, inputs)
File "/workspace/SPIN/spin/alignment/trainer.py", line 579, in compute_loss
loss, metrics = self.get_batch_metrics(model, inputs, train_eval="train")
File "/workspace/SPIN/spin/alignment/trainer.py", line 546, in get_batch_metrics
) = self.concatenated_forward(self.ref_model, batch)
File "/workspace/SPIN/spin/alignment/trainer.py", line 504, in concatenated_forward
all_logits = model(
TypeError: 'NoneType' object is not callable
What should I do?

Hi, thank you for your interest! Our codebase has not incorporated lora fine-tuning yet. We will look into this soon.


Fix $PATH

/var/www/html/.global/bin was not correctly set in the $PATH using regular web_environment section.
Fix #74

I couldn't have $PATH work in web_environment. It just doesn't show up unfortunately.

I mean, it does show up in config.platformsh.yaml, but the value is not taken into account. Plus, the value is expanded to the host value of $PATH

Ah, overriding PATH the way it was being done doesn't work. Thanks for explaining.


[FEATURE REQUEST] Need more detailed and accurate documentation

hi there,
I find the documentation may out of date.
some configuration property not found in there, like -c -w -l
does all property has enable? or just remove it when not needed, like static

@lanlin Yes, there is no documentation from these flags, but you can use rr help to show description for all the CLI flags.
-c -> config file (default is .rr.yaml)
-l -> select log formatter (color, json, plain)
w  -> working directory

Thanks for the proposal, we will add all CLI flags to the docs.

@48d90782 thanks a lot


Add 'created' and 'updated' fields to project serializer

similar to https://github.com/rdmorganiser/rdmo/pull/546.
Adds the fields to the api/v1

Thanks! Can you add the fields to the other serializers in projects as well. That would make it more consitent.


New version: Microsoft.Teams.Classic version <IP_ADDRESS>53

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

2024-02-14T20:55:29.8816531Z ##[error] Manifest Error: DisplayVersion declared in the manifest has overlap with existing DisplayVersion range in the index. Existing DisplayVersion range in index:  [ [<IP_ADDRESS>, <IP_ADDRESS>]]

(Automated response - build 740.)


Add documentation on renewing GPG keys

These had expired, and rather than have to hunt around the Internet for how to renew them when this happens again in 2024, document the steps here.

Sounds like we need to have a discussion about where to store the private key?

I've been made aware of a shared Envoy LastPass folder, so I've uploaded it there as an item titled "Sonatype EnvoyMobile".

Great, thanks @jpsim!


Multiple Markers Overlapping

I am trying to add several markers into my workspace to see around me, however, they seem to be overlapping in the same location even though they have different coordinates.
I am creating a Layout for each Renderable, and then a marker from each Layout, then adding all 3 markers into the LocationScene.
Am I missing anything?
Below is a code snippet showing what I've done.
CompletableFuture<ViewRenderable> smokingAreaLayout = ViewRenderable.builder().setView(this, R.layout.example_layout).build();
CompletableFuture<ViewRenderable> carEntranceLayout = ViewRenderable.builder().setView(this, R.layout.example_layout).build();
CompletableFuture<ViewRenderable> amnDawleLayout = ViewRenderable.builder().setView(this, R.layout.example_layout).build();

CompletableFuture.allOf(smokingAreaLayout, carEntranceLayout, amnDawleLayout).handle((notUsed, throwable) -> {
      if (throwable != null) {
          DemoUtils.displayError(this, "Unable to load renderables", throwable);
          return null;
      }
      try {
          smokingAreaRenderable = smokingAreaLayout.get();
          carEntranceRenderable = carEntranceLayout.get();
          amnDawleRenderable = amnDawleLayout.get();
          hasFinishedLoading = true;
      } catch (InterruptedException | ExecutionException ex) {
          DemoUtils.displayError(this, "Unable to load renderables", ex);
      }
      return null;
});

arSceneView.getScene().setOnUpdateListener(frameTime -> {
      if (!hasFinishedLoading) {
          return;
      }

      if (locationScene == null) {
          locationScene = new LocationScene(this, this, arSceneView);
          locationScene.setAnchorRefreshInterval(60);
          locationScene.setRefreshAnchorsAsLocationChanges(true);
          locationScene.setMinimalRefreshing(true);

          // Create location markers.
          LocationMarker layoutLocationMarkerSmokingArea = new LocationMarker(33.872342, 35.485326, getMarkerView(smokingAreaRenderable, "Smoking Area"));
          LocationMarker layoutLocationMarkerCarEntrance = new LocationMarker(33.872095, 35.485219, getMarkerView(carEntranceRenderable, "Car Entrance"));
          LocationMarker layoutLocationMarkerAmnDawle = new LocationMarker(33.872767, 35.485211, getMarkerView(amnDawleRenderable, "Amn Dawle"));

          // Update Distances
          layoutLocationMarkerSmokingArea.setRenderEvent(node -> {
              View eView = smokingAreaRenderable.getView();
              TextView distanceTextView = eView.findViewById(R.id.textView2);
              distanceTextView.setText(node.getDistance() + " m");
          });
          layoutLocationMarkerCarEntrance.setRenderEvent(node -> {
              View eView = carEntranceRenderable.getView();
              TextView distanceTextView = eView.findViewById(R.id.textView2);
              distanceTextView.setText(node.getDistance() + " m");
          });
          layoutLocationMarkerAmnDawle.setRenderEvent(node -> {
              View eView = amnDawleRenderable.getView();
              TextView distanceTextView = eView.findViewById(R.id.textView2);
              distanceTextView.setText(node.getDistance() + " m");
          });

          // Adding the markers
          locationScene.mLocationMarkers.add(layoutLocationMarkerSmokingArea);
          locationScene.mLocationMarkers.add(layoutLocationMarkerCarEntrance);
          locationScene.mLocationMarkers.add(layoutLocationMarkerAmnDawle);
      }

      Frame frame = arSceneView.getArFrame();
      if (frame == null) {
          return;
      }

      if (frame.getCamera().getTrackingState() != TrackingState.TRACKING) {
          return;
      }

      if (locationScene != null) {
          locationScene.processFrame(frame);
      }

      if (loadingMessageSnackbar != null) {
          for (Plane plane : frame.getUpdatedTrackables(Plane.class)) {
              if (plane.getTrackingState() == TrackingState.TRACKING) {
                  hideLoadingMessage();
              }
          }
      }
 });

private Node getMarkerView(ViewRenderable renderable, String name) {
        Node base = new Node();
        base.setRenderable(renderable);
        Context c = this;
        View eView = renderable.getView();
        TextView text = eView.findViewById(R.id.textView);
        text.setText(name);
        eView.setOnTouchListener((v, event) -> {
            Toast.makeText(c, name + " marker touched.", Toast.LENGTH_LONG).show();
            return false;
        });
        return base;
}

Here are screenshots showing two of the markers, I am moving slightly left and right and the markers switch in order.

Hi there,
The code looks good to me. Try swapping the latitude and longitude?

Yes that worked, turned out long and lat were switched, and that is why I was getting a huge number for distance.
But the results keep shifting and are not 100% accurate. As I move around or turn between different markers they start shifting left and right altogether.
What can I do to make sure the markers are more stable at their respective locations (buildings)?

Accuracy is a known issue because of the limitations of GPS and the compass on mobile phones.
The markers refresh often by default, to try and achieve the highest possible accuracy as the library gathers data.
If this isn't the desired behavior you can increase the refresh interval:
locationScene.setAnchorRefreshInterval(60);
Alternatively you can tell it to refresh only when it detects a location change from the device:
locationScene.setRefreshAnchorsAsLocationChanges(true);
You can also tell the library to stop trying to refine the angles so often with:
locationScene.setMinimalRefreshing(true);


I am trying to get the classification description into a note.

I'm trying to use the description of the classficiation but I can't seem to find the source anywhere. Where does this data come from. Im sure it comes from the jsonld i downloaded but it's a doozy to sift through. care to point me to the correct direction?

It’s in the download and the json conversion, but at the moment only used for display purposes.
https://github.com/kometenstaub/linked-data-helper/blob/ce3a564cd99bc598134ba89d79d5a7d827bc145b/src/methods/parseJson.ts#L77
https://github.com/kometenstaub/linked-data-vocabularies/blob/51a2fd5ee166de260b58fd318eb99277e8512bee/src/ui/LOC/utils.ts#L50

Thanks, now that I know where it is I can intercept it somehow. The jsonld
structure was more complicated than I had expected.
On Fri, Apr 12, 2024 at 7:00 AM kometenstaub @.***>
wrote:

I hadn’t considered offering the possibility to add it to the properties.
The data is there, though.
—
Reply to this email directly, view it on GitHub
https://github.com/kometenstaub/linked-data-vocabularies/issues/34#issuecomment-2051819248,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHB7EBFPDSHP7IHHFX7GBFDY47SHBAVCNFSM6AAAAABGC5N5I2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJRHAYTSMRUHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Full Stack Developer
contact:<PHONE_NUMBER>
resume: zety.com/mycv/mariomui
github: github.com/mariomui
in: linkedin.com/in/mariomui/

I can look into supporting it in the plugin.

Do you mean as an extra option (different modifier) for the already existing modal?

I meant an extra command that brings up the same modal but this one adds
the description. The user has a choice on whether or not to add the
description.
On Fri, Apr 12, 2024 at 8:29 AM kometenstaub @.***>
wrote:

Do you mean as an extra option (different modifier) for the already
existing modal?
—
Reply to this email directly, view it on GitHub
https://github.com/kometenstaub/linked-data-vocabularies/issues/34#issuecomment-2051982850,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHB7EBEEZVDLBFPQKSOECPTY474VXAVCNFSM6AAAAABGC5N5I2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJRHE4DEOBVGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Full Stack Developer
contact:<PHONE_NUMBER>
resume: zety.com/mycv/mariomui
github: github.com/mariomui
in: linkedin.com/in/mariomui/


Unprocessed Items while batchWrite and batchGet

While doing a batchWrite some of the items were not written and I still got a success response. For example if I am writing 10 items I only got 7 in the table and 3 were missing. I believe that dynamodb does return a unprocessed items array in response but I cant find that in dynamoose. Is that available in dynamoose as well?

Closing due to not filling out the issue template


Another installation source for qnap users

Since the qnap app store is slow to review updates, I'm wondering if there are more ways to provide qpkg package

Maintain a third-party application repository on pkgs.tailscale.com/stable/#qpkgs
Collaboration with existing reputable third-party repository（myqnap.org maintains a branch on its own）

I think the existing manual update method is bad

github release is out of sync with the pkgs.tailscale.com release
People are confused which variants to choose #88 #119 #122
It's very inconvenient for updating apps

### Tasks

Happy to find these are now up to date at https://pkgs.tailscale.com/stable/#qpkgs

@delaveganz any idea if those new packages auto-update?

I don't think they do. But @awly would know.

QNAP clients know how to auto-update, but only using the QNAP app store.
IMO, our options to improve QNAP updates, in decreasing order of preference, are:

work with QNAP to let us update more often (unlikely, but we should try)
set up a 3rd-party QNAP app repository on pkgs.tailscale.com, but only if we can preserve signature validation in the app store (these instructions require disabling signature validation entirely)
reimplement auto-update / tailscale update support for QNAP to fetch our packages from pkgs.tailscale.com and install them on top of the app store version

In the meantime, this pkgs.tailscale.com/stable/#qpkgs source for tailscale qnap releases should be written in the readme - I did not know about it until digging through for the most up-to-date qpkg, since github releases are outdated.


[wildcards] report a warning on final wildcard variables

With wildcard variables, this doesn't make much sense:
void f() {
  final _ = '';
}

I'm thinking we should produce a warning?
/cc @eernstg @lrhn @kallentu

I don't think it makes less sense than var _ = 0;.
It just doesn't make sense to have a local variable declaration named _ which is not a parameter or pattern (which already does not obtrusive a variable).
An "unnecessary variable" warning would apply no matter how you declare it, late int _;, const int _ = 1;;, or just plain var _;.
(I guess I can see someone doing
var a = e1, _ = for effect(), b = e3;

but they still shouldn't.)

I don't think it makes less sense than var _ = 0;.

Good points!
Following your logic, it's probably sufficient to treat them both as dead and just issue a DEAD_CODE warning.
Thank you!

Purely philosophically it's not really dead code. It's not code that could be run, but isn't reachable on any path.
It's just noise that does nothing, even though it does run: A variable declaration that does not introduce a variable, all it does is to evaluate its initializer expression, is just the same as that expression as an expression statement.
(Still allows you to format multiple such expressions on one line as var _ = doA(), _ = doB(), _ = doC();, formatter permitting. Not a good reason.)
In practice, I'm fine with labeling it dead code.

Should the full expression be marked dead code or only the assignment to the variable?

Purely philosophically it's not really dead code.

I appreciate this, thanks. You're right.

It's just noise that does nothing, even though it does run

Absolutely and if the initializer is side-effecting...

Should the full expression be marked dead code or only the assignment to the variable?

If we issue a dead code warning, I'd say we should limit it to the variable (and not the initializer).
/fyi @bwilkerson for 2 cents

I agree, we should only mark the variable, not the initializer.
I believe that in the past we've made a distinction between 'dead code', code that can't be reached, and 'unnecessary' code, code that doesn't need to be there because it has no semantic value. I'd opt for using the latter terminology in this case.

Thanks! It sounds like we want to ensure that unnecessary_final is properly getting reported here.

One thing might come up:
String? get maybeHello => null;

void main() {
  // A switch statement isn't checked for exhaustiveness, unless
  // the scrutinee has a type which is always-exhaustive.
  switch (maybeHello) {
    case String():
      print('Got a String');
    // Oops, we forgot the null case, no warning.
  }

  // We can use a switch expression, they are always checked for exhaustiveness.
  // But they can't be used as statements, so we wrap it in `(...)`.
  (switch (maybeHello) {
    String() => print('Got a String'),
    null => print('Got null'),
  });

  // Alternative way to allow for a switch expression. Perhaps some
  // people would prefer this style?
  var _ = switch (maybeHello) {
    String() => print('Got a String'),
    null => print('Got null'),
  };
}

A couple of expressions (switch expressions and map literals, at least) cannot be used as the expression of an expression statement (that is, it is an error to turn them into a statement simply by adding a semicolon at the end). We may need a workaround for those cases, and var _ = ... could be it.
I don't know if it actually matters, but it wouldn't be too hard to omit the lint when the initializing expression is a switch expression.


LIMIT

How do we perform limit:
{select * from schdowntime limit 5}

db.SchDownTime.All().Take(5)

Should that be FindAll()?

No, .All() works.

Ok, thanks.
I seem to get an error if I use .All(), but no error if I use .FindAll()
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot convert type 'Simple.Data.SimpleQuery' to 'System.Collections.Generic.List'

Probably something I'm doing wrong, right?

Ignore me. I needed to .All().ToList<MyModel>.


Issue with multi-line strings in Rspec spec descriptions

Ruby version: ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-darwin19]
Rubyfmt git sha: 3435618

Input file
RSpec.describe MyClass do
  it 'foo ' \
     'bar ' \
     'baz' do
  end
end

Rubyfmt's output
RSpec.describe(MyClass) do
  it(
    "foo " \
      "bar " \

      "baz"  ) do
  end
end

This breaks because
Output is syntactically incorrect, when running Rspec, Ruby errors with:
  ./spec/test_spec.rb:15: syntax error, unexpected tSTRING_BEG, expecting ')'
        "baz"  ) do
        ^
  ./spec/test_spec.rb:15: syntax error, unexpected ')', expecting end
        "baz"  ) do
               ^

I've confirmed this bug is still live in V0.6.7, output is:
RSpec.describe MyClass do
  it 'foo ' \
     'bar ' \
     'baz' do
  end
end

This should be fixed in #343, the output on master is the following:
RSpec.describe MyClass do
  it(
    "foo " \
      "bar " \
      "baz"
  ) do
  end
end


[#169971129] Integrate a role-based access control mechanism

This PR aims to add a role-based access control mechanism.

Affected stories

⚙ #169971129: Considerare l'integrazione di un meccanismo di autorizzazione di tipo RBAC

New dependencies added: accesscontrol.
accesscontrol
Author: Onur Yildirim
Description: Role and Attribute based Access Control for Node.js
Homepage: https://github.com/onury/accesscontrol#readme

Createdabout 3 years agoLast Updatedover 1 year agoLicenseMITMaintainers1Releases10Direct DependenciesnotationKeywordsaccess, access-control, acl, role, attribute, grant, deny, allow, reject, permission, action, possession, rbac, abac, crud, create, read, update, delete, resource, express, admin, user, glob, wildcard, policy, scope and context

This README is too long to show.

  Generated by :no_entry_sign: dangerJS against 63fdac83267de3c0f494c92863eff26e56489ccb


[AutoPR] datalake-store/resource-manager

Created to accumulate context: datalake-store/resource-manager

Codecov Report

Merging #5263 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5263      +/-   ##
==========================================
- Coverage   49.04%   49.04%   -0.01%
==========================================
  Files        6041     6039       -2
  Lines      166188   166186       -2
==========================================
- Hits        81507    81505       -2
  Misses      84681    84681

Impacted Files
Coverage Δ

azure-mgmt-hanaonazure/azure/mgmt/__init__.py

...ch-autosuggest/azure/cognitiveservices/__init__.py

...mvision/azure/cognitiveservices/vision/__init__.py

azure-mgmt-compute/azure/mgmt/__init__.py

...bsearch/azure/cognitiveservices/search/__init__.py

...age-spellcheck/azure/cognitiveservices/__init__.py

...check/azure/cognitiveservices/language/__init__.py

...arch-websearch/azure/cognitiveservices/__init__.py

azure-mgmt-servermanager/azure/mgmt/__init__.py

...esearch/azure/cognitiveservices/search/__init__.py

... and 12 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c49c74f...07b8f6f. Read the comment docs.


Aim integration to track and debug LangChain executions

Integrating Aim with LangChain allows for a streamlined and efficient method of tracking and recording LangChain experiments. By using Aim, users can log important information such as prompts, generated results, and serialized LangChain modules.
The following additions have been made to the system:

A callback handler called AimCallbackHandler for storing chain responses
An example .ipynb file named aim_tracking.ipynb providing guidance

The following event listeners have been integrated:

on_llm_start
on_llm_end
on_llm_new_token
on_llm_error
on_chain_start
on_chain_end
on_chain_error
on_tool_start
on_tool_end
on_tool_error
on_text
on_agent_finish
on_agent_action

resolves #1861


Extract livenessProbe from CUSTOM_SCRIPT_PATH block and Generate readinessProbe

https://github.com/confluentinc/cp-helm-charts/issues/605

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


Use compiler from SDK not from image

dart-services is currently using the Analysis server from a specific SDK version but pulling the compiler from the GAE image, due to a problem starting the snapshot from from image.
This results in version skew between analysis and compilation.

@jcollins-g, is this still currently the case?


[Qt-Wallet] Change wallet instance is throwing warning messages

Description:
Goto QT wallet Settings -> Wallet Configurations and then change "Wallet folder name" --> Click "Apply" Button, getting an error message "Stopping process mwc713 is taking longer than expected...."
On clicking "Yes" button, same warning message is popping up again and on clicking "No" wallet is getting logout.

Setup Details

OS: MAC OS
Build: Beta- 20200512.1

Successfully verified in the latest build- https://ftp.mwc.mw/nightly_builds/05-18-2020/, hence closing this ticket.


Dev

Refactoring with new parser functionality

Codecov Report

Merging #13 (2b17c03) into main (76871d5) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              main       #13    +/-   ##
==========================================
  Coverage   100.00%   100.00%
==========================================
  Files           57        58     +1
  Lines         2346      2167   -179
==========================================
- Hits          2346      2167   -179

Impacted Files
Coverage Δ

advent_of_code/year2016/day12.py
100.00% <ø> (ø)

advent_of_code/year2016/day23.py
100.00% <ø> (ø)

advent_of_code/year2016/day25.py
100.00% <ø> (ø)

advent_of_code/utils/parser.py
100.00% <100.00%> (ø)

advent_of_code/year2015/day1.py
100.00% <100.00%> (ø)

advent_of_code/year2015/day10.py
100.00% <100.00%> (ø)

advent_of_code/year2015/day11.py
100.00% <100.00%> (ø)

advent_of_code/year2015/day12.py
100.00% <100.00%> (ø)

advent_of_code/year2015/day13.py
100.00% <100.00%> (ø)

advent_of_code/year2015/day14.py
100.00% <100.00%> (ø)

... and 42 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


[FIX] Close sockets upon worker death

@goose42 @riteshnoronha
Small fix to close sockets when the worker is killed and reaped.

@Ceraunograph Can we also add a log line here, that says something on the lines of "Worker #{Process.pid} initializing"?

Done

LGTM. 👍


A link to Shell would be awesome

Since Shell is the new recommended approach for Navigation - it would be nice to link it form this page.

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

ID: 31212614-035f-01b6-d709-250173086778
Version Independent ID: 354945b1-351b-bb2d-a8c4-878650f521d0
Content: Xamarin.Forms Navigation - Xamarin
Content Source: docs/xamarin-forms/app-fundamentals/navigation/index.md
Product: xamarin
Technology: xamarin-forms
GitHub Login: @davidbritch
Microsoft Alias: dabritch

Hi @rlingineni
I've added a link to the Shell nav doc, in a PR that will go live next week.


ng-recaptcha integration

Hi. I use the ng-recaptcha (https://github.com/DethAriel/ng-recaptcha) module in my project,
I described my problem here
Maybe you know what's the matter. Why the behavior in the prod mode differs from the dev mode?
Thanks.

It's probably an AoT build issue that you can resolve following this step: https://github.com/aspnet/JavaScriptServices/issues/1168#issuecomment-320026397
If that doesn't fix it, please contact the ng-recaptcha maintainers for instructions on making it work with AoT compilation.


How to use preload?

Going through my own code, I've been replacing uses of GDScript's preload with a call to the ResourceLoader and using the load function in the _ready hook.
I recently discovered that there is a ResourcePreloader - which is used by the preload function available in godot-rust, but I can't find any examples of it being used. Is this a case where the ResourcePreloader isn't actually useful in GDNative? Or could I actually use it and take advantage of pre-loading?

Unfortunately, there is no equivalent to preload in languages other than GDScript, because preload is GDScript-specific magic that works at compile time. If you read the official documentation on preload, it says:

Returns a resource from the filesystem that is loaded during script parsing. (emphasis mine)

This is only possible in GDScript because the parser is deeply integrated into the engine.
You can use ResourcePreloader as a separate node in your scene, which will work regardless of whether you're using Rust or GDScript. However, note that if you create a ResourcePreloader in your code, you will still be loading these resources at the time of construction, because there is no way for the engine to know what resources are being added before actually running the code.
I'd suggest that ResourceLoader be used in most cases.

Also, you can always put a Mutex<HashMap> into a Rust static and load everything you need there during a loading screen.

Thanks for the detailed answer. If I understand this right it seems like we lose an optimization here. When porting from GDScript to Rust I moved preload calls into ready, and used the global ResourceLoader to load them. It worked fine, but I can imagine in some situations you'd want to use the ResourcePreloader as a node to get the same effect as the preload function.
This might be a good item for issue https://github.com/godot-rust/godot-rust/issues/330

Added to the tracker. Thanks!


Introduce property instead of attr

In some situation, attr method calls Module#attr, not Serverspec::Helper::Attributes#attr.
Ref: #292

Changes Unknown when pulling c4a42071809b28378137b14590f83ac090c43781 on introduce-property-instead-of-attr into ** on master**.


Unable to get working on neovim

Logs

[START][2023-02-18 02:25:13] LSP logging initiated
[ERROR][2023-02-18 02:25:13] .../vim/lsp/rpc.lua:733    "rpc"   "marksman"      "stderr"        "[02:25:13 INF]  Starting Marksman LSP server: {}\n"
[ERROR][2023-02-18 02:38:55] .../vim/lsp/rpc.lua:733    "rpc"   "marksman"      "stderr"        "[02:38:55 INF]  Starting Marksman LSP server: {}\n"

After restart lsp server, got error: Client 1 quit with exit code 143 and signal 0
additional information

work fine with single file;
not working on markdown folder;
the root directory is right;

Hi @EvanLind! Could you please provide

marksman --version,
nvim --version,
Your OS,
What` exactly does't work? Is it an insta-crash or some functionality doesn't work?

Also, it'd be helpful if you could run marksman with verbose output e.g. marksman server -v 5 (I think the arguments should be configurable in neovim)?
The logs as they are now don't tell much -- if there was an error I'd expect to see a stack trace.

marksman version: 1.0.0-89f73f7
neopvim: NVIM v0.8.3
OS:  Arch Linux x86_64
Kernel:  Linux nova 6.1.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 06 Feb 2023 09:28:04 +0000 x86_64 GNU/Linux
with marksman server -v 5, log output:

[ERROR][2023-02-19 00:54:23] .../vim/lsp/rpc.lua:733    "rpc"   "marksman"      "stderr"
"[00:54:23 INF]  Starting Marksman LSP server: {}\n"
[ERROR][2023-02-19 00:54:34] .../vim/lsp/rpc.lua:733    "rpc"   "marksman"      "stderr"        "Unhandled exception: "
[ERROR][2023-02-19 00:54:34] .../vim/lsp/rpc.lua:733    "rpc"   "marksman"      "stderr"        "System.AggregateException: One or more errors occurred. (MailboxProcessor.PostAndAsyncReply timed out.)\n ---> System.TimeoutException: MailboxProcessor.PostAndAsyncReply timed out.\n   at <StartupCode$FSharp-Core>.$Mailbox.PostAndAsyncReply@418-1.Invoke(FSharpOption1 res) in D:\\a\\_work\\1\\s\\src\\fsharp\\FSharp.Core\\mailbox.fs:line 419\n   at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvokeNoHijackCheck[a,b](AsyncActivation1 ctxt, b result1, FSharpFunc2 userCode) in D:\\a\\_work\\1\\s\\src\\fsharp\\FSharp.Core\\async.fs:line 465\n   at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc2 firstAction) in D:\a\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 104\n   --- End of inner exception stack trace ---\n   at Ionide.LanguageServerProtocol.Server.startWithSetup[client](FSharpFunc2 setupRequestHandlings, Stream input, Stream output, FSharpFunc2 clientCreator, FSharpFunc2 customizeRpc) in /home/runner/work/marksman/marksman/LanguageServerProtocol/LanguageServerProtocol.fs:line 179\n   at Ionide.LanguageServerPr" [ERROR][2023-02-19 00:54:34] .../vim/lsp/rpc.lua:733    "rpc"   "marksman"      "stderr"        "otocol.Server.start@268-2.Invoke(FSharpFunc2 customizeRpc)\n   at Marksman.Program.startLSP(Int32 verbosity, Boolean waitForDebugger) in /home/runner/work/marksman/marksman/Marksman/Program.fs:line 58\n   at Marksman.Program.lspCommand@87.Invoke(Tuple`2 tupledArg)\n   at FSharp.SystemCommandLine.CommandBuilders.SetHandlerInt@207-2.Invoke(InvocationContext ctx)\n   at System.CommandLine.Invocation.AnonymousCommandHandler.Invoke(InvocationContext )\n   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<b__0>d.MoveNext()\n--- End of stack trace from previous location ---\n   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass17_0.<b__0>d.MoveNext()\n--- End of stack trace from previous location ---\n   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass12_0.<b__0>d.MoveNext()\n--- End of stack trace from previous location ---\n   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<b__0>d.MoveNext()\n--- End of stack trace from previous location ---\n   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass19_0.<b__0>d.MoveNext()\n--- End of stack trace from previous location ---\n   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<b__18_0>d.MoveNext()\n--- End of stack trace from previous location ---\n   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<b__0>d.MoveNext()\n--- End of stack trace from previous location ---\n   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<b__5_0>d.MoveNext()\n--- End of stack trace from previous location ---\n   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass8_0.<b__0>d.MoveNext()\n"

Hm, the issue looks similar to #144 with Arch being the common denominator. This is helpful! @EvanLind thanks for the information!

Ok, so this just happened to me on MacOS, Emacs + LSP-mode. So, it's not arch or neovim specific. Still not sure how to reliably repro it though.

I repro the issue more or less reliably with Emacs + LSP-mode and it looks like a bug in the text sync in the LSP-mode client.
I'll do a bit more digging but most likely I'm just going to disable incremental text sync by default given how problematic is has been historically.

emacs-lsp issue: https://github.com/emacs-lsp/lsp-mode/issues/4013

@EvanLind please try the latest version. Best case - I was right about the text sync and this release will fix the problem for you; otherwise, the new release will output a more helpful crash diagnostics.
https://github.com/artempyanykh/marksman/releases/tag/2023-04-02

Thank you very much, the issue has been fixed

Glad to hear that @EvanLind !


Fix version placeholder

Fix version placeholder for source url when fetching the package from github

Codecov Report

Merging #292 (1bf583b) into main (9c3242e) will increase coverage by 0.17%.
The diff coverage is 93.50%.

@@            Coverage Diff             @@
##             main     #292      +/-   ##
==========================================
+ Coverage   91.30%   91.48%   +0.17%
==========================================
  Files          17       16       -1
  Lines        1576     1503      -73
==========================================
- Hits         1439     1375      -64
+ Misses        137      128       -9

Flag
Coverage Δ

unittests
91.48% <93.50%> (+0.17%)
:arrow_up:

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

Impacted Files
Coverage Δ

setup.py
0.00% <0.00%> (ø)

grayskull/license/discovery.py
95.62% <44.44%> (-1.52%)
:arrow_down:

grayskull/strategy/abstract_strategy.py
83.33% <83.33%> (ø)

grayskull/utils.py
89.67% <86.08%> (-10.33%)
:arrow_down:

grayskull/base/github.py
88.67% <88.67%> (ø)

grayskull/__main__.py
95.29% <92.10%> (-2.86%)
:arrow_down:

grayskull/base/factory.py
91.17% <93.33%> (+1.17%)
:arrow_up:

grayskull/strategy/py_base.py
95.11% <95.11%> (ø)

grayskull/config.py
98.27% <98.27%> (ø)

grayskull/strategy/pypi.py
98.72% <98.72%> (ø)

... and 7 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3a17579...1bf583b. Read the comment docs.


Sanitise SQL Queries - Part 1 of 2 - Login pages to Home Page

Explanation
All the SQL Queries used in the project are not sanitised. This makes it highly susceptible to SQL injection attacks. We need to sanitise all queries before they are passed to the database. We do not expect you to sanitise all of the queries since that would take too much time and would be lengthy. Sanitise all queries from the login page to the home page. This includes all the pages that come in between in the flow, including the register page, forgot password, etc.
Possible Way To Fix It
Use pattern matching/ text parsing specific to the context to sanitise the SQL queries. Another way is to use the sanitisation feature of SQLAlchemy
Resources
SQLAlchemy Sanitisation
Bounty Points: 40 to 80 Depending on the number of queries sanitised and the amount of login/code required.

You can sanitize a small subset of queries and get lower bounties.[The issue will remain open until majority of sql queries are sanitized.

Can i be assigned to this?

sure

issue is open again

being worked on by @varuni7

Can I be assigned this?

Ok can I be deassigned?

@Python-is-better-than-Java do you want to work on this issue?

i would like to work

Can i work on this issue?

give me work

can i have it?

@Python-is-better-than-Java do you want to work on this issue?

No I would like for someone else to be assigned it

@ProSai8055 please go ahead

can i get assigned to this issue


⚠ Secret Website 3 has degraded performance

In 9ab4608, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 5354 ms

Resolved: Secret Website 3 performance has improved in 5b3ae7d.


chore(playwrighttesting): NUnit 1.0.0-beta.2 release changes

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


HAWQ-823. Initial Amazon S3 External Table Support

Seeing some success using GPDB S3 external protocol support:
# On master instance
$ PGOPTIONS='-c gp_session_role=utility' psql postgres

postgres=# CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS                                  '$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;

postgres=# CREATE PROTOCOL s3 (readfunc = read_from_s3);

---

# On segment instance
$ PGOPTIONS='-c gp_session_role=utility' psql template1 -p 40000

template1=# CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS                                  '$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;

template1=# CREATE PROTOCOL s3 (readfunc = read_from_s3);

---

# On master instance
$ PGOPTIONS='-c gp_session_role=utility' psql postgres

postgres=# select * from pg_extprotocol ;
 ptcname | ptcreadfn | ptcwritefn | ptcvalidatorfn | ptcowner | ptctrusted | ptcacl
---------+-----------+------------+----------------+----------+------------+--------
 pxf     |     10888 |      10887 |          10889 |       10 | t          |
 s3      |     18881 |          0 |              0 |       10 | f          |
(2 rows)

postgres=# CREATE READABLE EXTERNAL TABLE S3TBL (row text)
LOCATION('s3://s3.amazonaws.com/goddard.datasets/osm_exerpt_ config=/home/gpadmin/s3.conf')            FORMAT 'csv' (delimiter '>');
CREATE EXTERNAL TABLE

postgres=# select count(*) from S3TBL ;
  count
---------
 3995735
(1 row)

In order to CREATE PROTOCOL - I had to access both the master and segment instance (only 1 in sandbox) using utility mode to circumvent the syntax check. Not able to run the test suite as it seems to be GPDB-specific.

Glad to see this porting from GPDB S3

Good stuff.
Pxf is automatically registered through CREATE PROTOCOL in src/backend/catalog/cdb_external_extensions.sql. If this is going to be a core feature of HAWQ then it makes sense to have a similar .sql file for this extension.

Great to see s3 works with HAWQ now!

Anything else needed here? This is a critical feature both Hive and Impala already offer.

Any idea if this is going to be moved forward?

@Lwelch45 - I don't think the community members are ready to move on S3 integration just yet. There were some design discussions pending and S3 wasn't being actively worked on at the moment.

CC @tpednekar-pivotal.

@vVineet ... as this work is on hold, can we close this PR and revive at a later point in time?

Hello, is there any version restriction for this practice?

Not sure which library/API version you're asking about. For the S3 API, it's likely only compatible with v4.
I'd refer to the updated upstream code base for this PR here: https://github.com/greenplum-db/gpdb/tree/master/gpAux/extensions/gpcloud
The same build process I used could probably been done with this updated code.


Feature request:  Add support for multiple environments (e. g. LIVE, PTU, EPTU, etc.)

This might be a not-insignificant amount of work I suppose, so I can understand why you might want not to, but it might be worth considering supporting multiple installs, as the last few patches to the game have added new bindings that differ from those in the LIVE build; this might facilitate being able to still use the plugin when switching between builds in the event that some keys overlap between the configurations.

no sorry, I have no plans to do this.  what you see is what you get... I'll do bugfixes, and make sure it works with new SC versions, but that's it

I understand.  Thanks for the response.


Using customHash has returned to prepending multiple times again

(note: closed https://github.com/rickharrison/broccoli-asset-rewrite/issues/43 in favor of this issue)
Updated to latest and assets are now getting "assets" three times when using customHash and prepend.
in:

out:

  var fingerprintOptions = {
    enabled: true,
    extensions: ['js', 'css', 'png', 'jpg', 'gif', 'map', 'svg'],
    generateAssetMap: true,
    prepend: 'http://localhost:4200/',
    customHash: null,
    generateAssetMap: false
  };

Looks specific to customHash again (removing that fixes again) and may be related to https://github.com/rickharrison/broccoli-asset-rev/issues/87

FYI, the assetMap generated when generateAssetMap: true looks correct, so this may be an ember-cli issue.

The same over here :/

Hi @typeoneerror, any solution or at least workaround regarding this? ;)
I needed for a commercial project, I'm afraid :/

@bichotll I didn't have any issues with production builds, it was only when I had customHash: null and generateAssetMap: false set in development build that it fails like this. So workaround is to just not use customHash at all locally and deal with the hash output on the dist files.

A failing test case would be really helpful in debugging this!

I ran into this issue and in the process of trying to create a failing test case realised, for me at least, that's it's actually caused by an open issue on broccoli-asset-rewrite: https://github.com/rickharrison/broccoli-asset-rewrite/issues/39.
We reference the same relative image URL a few times in our CSS and each of those references appears to be rewritten multiple times, resulting in assets/ appearing in the path multiple times. This only happens when customHash: null is specified as if the file is fingerprinted then after the first rewrite the path will no longer match the fingerprint regex.
Happy to provide a failing test for the broccoli-asset-rewrite repo, but believe the test in the proposed PR to fix the issue linked above covers the same scenario.

Yes, that would be great if you had a failing test case over there.


Tests and exposed config option for hyphenated_BEM

Unless you look at the source, you don't realize that there is a SelectorFormat convention named hyphenated_BEM.

:+1: I'm actually surprised we didn't have tests for hyphenated_BEM.

Thanks for the pull request, @bookwyrm!
We really appreciate you adding tests for this feature!
Merged in c955f70cd12cf64cae77dabe37083f3dd0e783c5.


HOTFIX: Fix wrong function declaration in Console Logger

Description
Fixes issue https://github.com/Mikadily/poloniexlendingbot/issues/134 where status function in Console Logger is missing a parameter.
TESTING STAGE
Couldn't test myself.
Types of changes

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

Checklist:

[X] I have read CONTRIBUTING.md
[X] I fully understand Github Flow.
[X] My code adheres to the [code style of this project.] (https://poloniexlendingbot.readthedocs.io/en/latest/contributing.html)
[x] I have updated the documentation in /docs if I have changed the config, arguments, logic in how the bot works, or anything that understandably needs a documentation change.
[x] If my change requires a change to the config, I have updated the config file and command line arguments accordingly.
[ ] I have tested the bot with no issues for 24 continuous hours. If issues were experienced, they have been patched and tested again.

We don't want to show the days remaining if using console view?
LGTM

I made a functional fix, do you think it should be displayed?

Console view is too cluttered already, I say merge as-is.

Oh, and sorry for overlooking this in the first place. I always use the botlog so it never came up.


App Service Plan Regional VNET subnet size

In regards to the recommended minimum /27 subnet size for Regional vnet integration. Would there be any issues using a /28 if I know I'll never need the additional addresses for scale out/up operations?
Also is there a timeline on sharing the subjects amongst multiple app service on separate ASP? I recall this being mentioned at Ignite 2019.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a7a98803-1438-b1b5-f543-7dd88bc4294e
Version Independent ID: 37ff1d0f-ed8e-5e4d-1f4c-1b9f6cffb938
Content: Integrate app with Azure Virtual Network - Azure App Service
Content Source: articles/app-service/web-sites-integrate-with-vnet.md
Service: app-service
GitHub Login: @ccompy
Microsoft Alias: ccompy

@Kenneth-Abrams, Thanks for leveraging Azure docs feedback channel to raise this question.
We will check on this and get back to you shortly. In the interim, could you please confirm on this ask "Also is there a timeline on sharing the subjects amongst multiple app service on separate ASP?", I believe you're referring to subjects for subset and you're referring to this point in the doc - 'The integration subnet can be used by only one App Service plan'. Could you please share more details on this?  Please see Azure App Service at Microsoft Ignite 2019

@AjayKumar-MSFT Sorry, it was late. I meant to ask about the timeline for sharing SUBNETs across multiple app service plans

No worries, @Kenneth-Abrams.  Thanks for adding more clarity.
@ccompy, Requesting your comments on this.

Kenneth, Your feedback has been shared with the content owner for further review.

The doc has been updated to include a table of CIDR block recommendations.