Commonmark markdown renderer

Markdown rendering is brought by tilt but the option supported in middleman are limited

compared to the ones available in tilt:

None of the supported libraries in middleman is supporting commonmark but tilt already support commonmarker, a ruby renderer that does. So as tilt already does it it should not be much paint to support in middleman too.

Agree, its just an allow-list of Tilt's option so adding new ones is pretty straightforward.

You can already do now:
bundle add commonmarker

and in config.rb:
set :markdown_engine, :commonMarker

But this will have non-default extensions disabled...

You can already do now:
bundle add commonmarker

and in config.rb:
set :markdown_engine, :commonMarker

But this will have non-default extensions disabled...

But this will have non-default extensions disabled...

Exactly. I don't think I have a single Markdown file that doesn't use at least one extension. 😢

stale bots...

This should remain open.

Sigh... bump.

This bot is annoying.

naughty bot

PR's welcome. No reason to keep re-opening this issue.

@tdreyno Why not leaving this issue open and removing this useless stalebot? So people wanting to PR would see the issue.

If someone could offer a bit more insight into what changes are needed, I'd be happy to prepare a PR. In particular, I am not sure I understand @tdreyno's comment that

its just an allow-list of Tilt's option

Where is that allow-list defined? For example, searching for "bluecloth" (mentioned in @noraj's list at the opening comment of this issue) doesn't yield any results in the code :raised_eyebrow:
And furthermore, what does one need to do (besides adding an entry to that list, wherever it is) to add support for commonmarker?

its just an allow-list of Tilt's option

@waldyrious probably around here? I tried to get this to work a year ago, but somehow didn't succeed... don't remember what the errors were...

@mb21 I had already read through that code (which you pointed out above) with my limited understanding of Ruby, and I couldn't figure out how it results in the subset listed by @noraj in the opening comment of this issue. In particular, as I mentioned in my previous comment, I can't figure out where BlueCloth is included in the allow-list. Could it be that the list is incorrect? :thinking:

I tried adding
set :markdown_engine, :commonMarker

to my site's config.rb but I get this error when opening a url that uses markdown
NameError: uninitialized constant Tilt::CommonMarkerTemplate::CommonMarker
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/tilt-2.0.11/lib/tilt/commonmarker.rb:80:in `evaluate'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/tilt-2.0.11/lib/tilt/template.rb:109:in `render'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/middleman-core-4.5.1/lib/middleman-core/file_renderer.rb:79:in `render'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_reference.rb:43:in `send_to'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/call_with.rb:87:in `call_with_inner'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_handler.rb:133:in `block (2 levels) in redefine_method'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_handler.rb:132:in `each'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_handler.rb:132:in `block in redefine_method'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/middleman-core-4.5.1/lib/middleman-core/template_renderer.rb:184:in `_render_with_all_renderers'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/middleman-core-4.5.1/lib/middleman-core/template_renderer.rb:147:in `block in render'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications.rb:208:in `instrument'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/middleman-core-4.5.1/lib/middleman-core/util.rb:20:in `instrument'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/middleman-core-4.5.1/lib/middleman-core/template_renderer.rb:146:in `render'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_reference.rb:43:in `send_to'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/call_with.rb:87:in `call_with_inner'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_handler.rb:133:in `block (2 levels) in redefine_method'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_handler.rb:132:in `each'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_handler.rb:132:in `block in redefine_method'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/middleman-core-4.5.1/lib/middleman-core/sitemap/resource.rb:154:in `render'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_reference.rb:43:in `send_to'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/call_with.rb:87:in `call_with_inner'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_handler.rb:133:in `block (2 levels) in redefine_method'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_handler.rb:132:in `each'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/contracts-0.16.1/lib/contracts/method_handler.rb:132:in `block in redefine_method'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/middleman-core-4.5.1/lib/middleman-core/rack.rb:113:in `process_request'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/middleman-core-4.5.1/lib/middleman-core/rack.rb:67:in `block in call'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/middleman-core-4.5.1/lib/middleman-core/rack.rb:66:in `catch'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/middleman-core-4.5.1/lib/middleman-core/rack.rb:66:in `call'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/rack-2.2.9/lib/rack/urlmap.rb:74:in `block in call'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/rack-2.2.9/lib/rack/urlmap.rb:58:in `each'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/rack-2.2.9/lib/rack/urlmap.rb:58:in `call'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/rack-2.2.9/lib/rack/show_exceptions.rb:23:in `call'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/rack-2.2.9/lib/rack/head.rb:12:in `call'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/rack-2.2.9/lib/rack/lint.rb:50:in `_call'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/rack-2.2.9/lib/rack/lint.rb:38:in `call'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/rack-2.2.9/lib/rack/builder.rb:244:in `call'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/rack-2.2.9/lib/rack/handler/webrick.rb:95:in `service'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/webrick-1.8.1/lib/webrick/httpserver.rb:140:in `service'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/webrick-1.8.1/lib/webrick/httpserver.rb:96:in `run'
	/opt/homebrew/lib/ruby/gems/3.3.0/gems/webrick-1.8.1/lib/webrick/server.rb:310:in `block in start_thread'

M1 macOS 15.1.1
ruby 3.3.6 (2024-11-05 revision 75015d4c1f) [arm64-darwin24]
gem "commonmarker", "~> 2.0"
gem 'middleman', '~> 4.5'

Likely some logic needs to be added here to map from the symbol to whatever the correct class Tilt uses to render is called: https://github.com/middleman/middleman/blob/47223f5768ce079e24865ceef836a0d95a154398/middleman-core/lib/middleman-core/renderers/markdown.rb#L22-L28

whatever the correct class Tilt uses to render is called

It's been a long time since I looked at this, but the relevant Tilt class does seem to be called CommonMarkerTemplate, so I'm not sure @verhovsky's error

NameError: uninitialized constant Tilt::CommonMarkerTemplate::CommonMarker

...would necessarily be fixed by an additional entry in that mapping :thinking:
But just to be on the safe side, I interpreted your suggestion as meaning a change somewhat like this:
 # Map symbols to classes
 markdown_engine_klass = if app.config[:markdown_engine].is_a? Symbol
   engine = app.config[:markdown_engine].to_s
-  engine = engine == 'rdiscount' ? 'RDiscount' : engine.camelize
+    engine = case engine
+    when 'rdiscount' then 'RDiscount'
+    when 'commonmarker' then 'CommonMarker'
+    else engine.camelize
+    end
   app.config[:markdown_engine_prefix].const_get("#{engine}Template")
 else
   app.config[:markdown_engine_prefix]
 end

Is that roughly what you had in mind, or am I off the mark?

Just for future reference, and following up on my previous comment:

I am not sure I understand @tdreyno's comment that [middleman's list of supported options for markdown, listed in the opening comment of this issue]

is just an allow-list of Tilt's options

Where is that allow-list defined?

and the later one:

I had already read through [the code in lib/middleman-core/renderers/markdown.rb] [...], and I couldn't figure out how it results in the subset listed by @noraj in the opening comment of this issue.

I dug up where indeed that list came from, and it seems it was originally introduced in https://github.com/middleman/middlemanapp.com/commit/78b265931acf52a496c3b9dac1c86a7c819a5beb, from 17 Nov 2011; and as the commit message alludes to ("all possible Tilt templating engines"), that list indeed came straight from what Tilt supported at the time: see the table in their README, and lib/tilt/markdown.rb, both of which indeed indicated the following list at the time:

RDiscount (Tilt::RDiscountTemplate)
Redcarpet (Tilt::RedcarpetTemplate)
BlueCloth (Tilt::BlueClothTemplate)
Kramdown (Tilt::KramdownTemplate)
Maruku (Tilt::MarukuTemplate)

CommonMarker was only added later, in https://github.com/rtomayko/tilt/pull/281 (7 Apr 2016). The current list
So it seems like Middleman's documentation needs to be updated to include the new entries (CommonMarker and Pandoc), although this should only happen once the usage of the new options is confirmed to work (see @verhovsky's comment above).

You can try to reproduce the issue like this:
cd /tmp

git clone https://github.com/adambard/learnxinyminutes-site.git
cd learnxinyminutes-site
git checkout 299fc33a17fbfef820ef0c6e4a2b41f0ff7dd726
git clone https://github.com/adambard/learnxinyminutes-docs.git source/docs

sed 's|^set :markdown_engine, :redcarpet|set :markdown_engine, :commonMarker|' config.rb > config.tmp && mv config.tmp config.rb
echo >> Gemfile
echo "gem 'commonmarker'" >> Gemfile

gem install bundler
bundle install
bundle exec middleman serve

Though when I tried this just now I got this error before even changing from redcarpet to commonmarker
/opt/homebrew/Cellar/ruby/3.3.6/lib/ruby/3.3.0/bundled_gems.rb:69:in `require': cannot load such file -- asciidoctor (LoadError)

and if I do
echo "gem 'asciidoctor'" >> Gemfile
echo "gem 'less'" >> Gemfile
echo "gem 'therubyracer'" >> Gemfile
bundle install

I get this error
dyld[10716]: missing symbol called
Abort trap: 6


Test

Test #2

Thank you for the pull request.
I noticed that CHANGES.md has not been updated. If this change affects users in any way, please add a bullet point describing the change and include a link back to this pull request.
Thanks again!
Also: Thank you for the pull request.
I noticed that {ThirdPartyFileName} has been added or modified. Since this is a Third-party library, please verify that it has a section in LICENSE.md and that its license information is up to date with this new version.
Thanks again!


How to disable parallax on mobile screens?

Use a browser sniffer and remove the classes you attributed to your elements.
https://modernizr.com/docs
if (mobile) {   Do this: https://stackoverflow.com/questions/26362423/how-to-remove-a-specific-class-from-all-elements#answer-26362454 }

Use a browser sniffer and remove the classes you attributed to your elements.
https://modernizr.com/docs
if (mobile) {   Do this: https://stackoverflow.com/questions/26362423/how-to-remove-a-specific-class-from-all-elements#answer-26362454 }

Use this:


Using the revalidate method to trigger hot reload can cause service crashes

Describe the bug
When I use the example React-18-server-2-server for debugging, touching a hot update will cause the service to crash and prompt port :3000 is occupied. Is my posture incorrect?
// react-18-server-2-server/app1/src/server/server-entry.ts

import { revalidate } from '@module-federation/node/utils'

export default () => async (req, res, next) => {
  await revalidate().then((shouldUpdate) => {
    console.log({ shouldUpdate })
    if (shouldUpdate) {
      // reload
    }
  })

  const renderer = (await import('./render')).default
  return renderer(req, res, next)
};

Error messages 👇:
app2 hash is different - must hot reload server
@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning.
node:events:496
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::3000
    at Server.setupListenHandle [as _listen2] (node:net:1872:16)
    at listenInCluster (node:net:1920:12)
    at Server.listen (node:net:2008:7)

Emitted 'error' event on Server instance at:
    at emitErrorNT (node:net:1899:8)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  code: 'EADDRINUSE',
  errno: -48,
  syscall: 'listen',
  address: '::',
  port: 3000
}

Reproduction
https://github.com/shixianqin/react-18-server-2-server
Used Package Manager
pnpm
System Info
System:
    OS: macOS 14.5
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 187.31 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.11.1 - /usr/local/bin/node
    npm: 10.2.4 - /usr/local/bin/npm
    pnpm: 8.15.6 - /usr/local/bin/pnpm
  Browsers:
    Chrome: 126.0.6478.126
    Safari: 17.5

Validations

[X] Read the docs.
[X] Read the common issues list.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Module federation issue and not a framework-specific issue.
[X] The provided reproduction is a minimal reproducible example of the bug.

Ill look at the example, its quite old so probbably needs to be redone.
We are about to release SSR federation support in modernjs https://modernjs.dev/en/ so if you are looking at rolling your own ssr, this is going to be a much less painful solution with less pitfalls like waterfall or css flushing

Is there a detailed or up-to-date example of the revalidate method？

You want to clear the require cache when hash is different.
Im guessing your server entrypoint is getting cleared and re-required as well.
I can take a look at your repo and see. What are steps to reproduce? Just update remote and refresh and it crashed?

After both services are started:

Modify the app2 code
Refresh the app1 page
Then the app1 server crashed

okay will check it out


Train on custom dataset

is there any way to train using our custom dataset and with transfer learning?

Hi @enekuie!
Thanks for your interest in our work!
Training on a custom dataset is surely possible. However, I need more information to help you properly. Do you want to change the unlabeled images used during the pre-training of the encoder? Do you also want to change how they are synthetically degraded? What do you mean by "using transfer learning"?

For example, I have a custom dataset in which all pictures have a score 0-1. Can I use this dataset to train the linear regressor only? How can I do that? Thanks!

First thing first, you have to implement a custom dataset class that inherits from IQADataset. You can take a look at the other datasets to have a guide on how the class should be structured. If you need to evaluate the performance of the model on your custom dataset, you should also randomly split it 10 times into training (70%) / val (10%) / test (20%).
Then, depending on what you want to do, it could be very straightforward (or not).
If you want to follow the evaluation protocol of the paper (i.e. for each of the 10 random splits, train the linear regressor on the train split and evaluate on the test split) you just need to add your dataset in this loop (here).
If you want to train a linear regressor on the whole custom dataset, it is a bit trickier as this operation is not currently supported by the code. Luckily, it is not hard. You need to write a custom function similar to this one. This is the pseudocode of the function:
dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=False, num_workers=num_workers, pin_memory=True)
features, scores = get_features_scores(model, dataloader, device, "arniqa")
best_alpha = 0.1        # for simplicity, I will use a fixed alpha value

train_indices = np.arange(len(dataset))        # as you want to train on the whole dataset
train_indices = np.repeat(train_indices * 5, 5) + np.tile(np.arange(5), len(train_indices))        # for each index generate 5 indices (one for each crop)

train_features = features[train_indices]
train_scores = scores[train_indices]
regressor = Ridge(alpha=best_alpha).fit(train_features, train_scores)

with open("custom_regressor.pkl", "wb") as f:
    pickle.dump(regressor, f)

Feel free to ask more questions if you need further assistance.


Update immediately after install

I think it's a good idea to run an update after installing the program... what do you think:question:
And thanks for this handy program!!

Well, this may badly affect offline users, that use install.bat file.
But it will solve a lot of incoming issues, so I'll merge it. Thanks :)


Fix the problem of creating a database error while executing the Trav…

[x] 修正 Travis CI 脚本第二次执行时，再次创建数据库会报错的问题。

谢谢

	看一下 #1357，用来给联动选择设置默认值的，不然每次修改的时候联动选择都是空的，要重新选才行，现在默认选中已保存的值。

On Mon, Oct 30, 2017 at 9:56 AM +0800, "Song"<EMAIL_ADDRESS>wrote:
Merged #1360.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


c-vars don't accept Tailwind classes as default values?

<c-vars size="w-1/2 h-1">

Doesn't seem to work. When I try to use it, the component doesn't seem to parse correctly because it doesn't appear.

It should be a self-closing tag
<c-vars size="w-1/2 h-1" />


Cant install MacOS/ No internet connection error

when i go to download the macos, i follow all instrusctions except it says no internet connection when i hit install

Do you have wifi in Xubuntu aswell, or does that also cut off?

i get wifi in xubuntu just not there. when i first boot the installer, it takes me to a clover boot menu to boot the mac os install, then it says i have no connection

Try to use Ethernet if possible.

@MagzGames has it been fixed?

I have tried Ethernet. Still no luck.

i have tried to look into as much settings as possible, still nothing, i have been at this all day

still no luck

Hmm. Try to use ethernet on your xubuntu device to install wifi drivers for your pc

your error is different to mine (mine was The recovery server could not be contacted) but it's worth a shot
in a terminal on host do
sudo virsh net-start default
sudo virsh net-autostart default

you should just download the macos os offline , covert it to an img file and place it in the correth path. it will save you time

your error is different to mine (mine was The recovery server could not be contacted) but it's worth a shot
in a terminal on host do
sudo virsh net-start default
sudo virsh net-autostart default

How did you solved the the recovery servers could not be contacted.

your error is different to mine (mine was The recovery server could not be contacted) but it's worth a shot
in a terminal on host do
sudo virsh net-start default
sudo virsh net-autostart default

How did you solved the the recovery servers could not be contacted.

with the commands I posted

your error is different to mine (mine was The recovery server could not be contacted) but it's worth a shot
in a terminal on host do
sudo virsh net-start default
sudo virsh net-autostart default

Thanks man! I have set up KVMs so many times and I have completely forgot about it.


Minimal Configuration error

I am a newb to React so forgive me :)
I have a base project using this tutorial: https://reactjs.org/tutorial/tutorial.html
I am trying to display the default Minimal Configuration table on my page. I have added all the relevant config, including the webpack.config.js in my root dir. When I npm start the webserver boots but my page gives me an error: Error: Target container is not a DOM element.
Any help/advice is appreciated. Thank you!

Ooops - I did not add the appropriate code to index.html. After doing so I get a new error
Error: Element ref was specified as a string (tableLoaded) but no owner was set. This could happen for one of the following reasons:
1. You may be adding a ref to a function component
2. You may be adding a ref to a component that was not created inside a component's render method
3. You have multiple copies of React loaded
See https://fb.me/react-refs-must-have-owner for more information.

Hello thanks for issue, I'll definitely take a look at this problem later probably at week-end.
It seems like deprecated features in ReactJS.

Thanks Arthur! I was thinking it could be webpack related as well, the webpack.config.js references a main.js but in my project im using index.js.
I am a newb to React so I am still figuring out all the little pieces :)

Would it be possible for you to provide a basic example project that uses Gigatables for nubs like me?

So I think my issue was with webpack... I just cant get any data now using https://jsonplaceholder.typicode.com/todos for testing. My table just says Loading...

Now I see - u don't have required rows key in the document, so it should look like that:
{ "rows": [
  {
    "userId": 1,
    "id": 1,
    "title": "delectus aut autem",
    "completed": false
  },
.....
]
}

Thank you!!!

Is there a way to change the "rows" part to accept different formatted json feeds?

For example?

I have a flask backend that is just doing a lazy jsonify on `/var/log/syslog/' on an Ubuntu box.
From the raw data it looks like It's just returning a list:
[
  "Oct 30 00:07:40 frickyou anacron[23035]: Job `cron.daily' terminated\n",
  "Oct 30 00:07:40 frickyou anacron[23035]: Normal exit (1 job run)\n",
  "Oct 30 00:12:05 frickyou systemd[1]: Starting Daily apt download activities...\n",
  [...]
]

I guess the better question is - how do i modify what the package is expecting?

I created an API that follows the spec:
{
  "rows": [
    {
      "date": "Oct 30 ",
      "hostname": "frickyou",
      "msg": "anacron[23035]: Job `cron.daily' terminated",
      "time": "00:07:40"
    },
    {
      "date": "Oct 30 ",
      "hostname": "frickyou",
      "msg": "anacron[23035]: Normal exit (1 job run)",
      "time": "00:07:40"
    },

I modified my code to match the dictionary keys. I no longer get Loading... but I get no data now.

I have a network error in my console logs but the api works fine from my browser... when this makes the ajax call, does the server or the browser make that call?

apparently the id key is required in the json results :)

rows must be anyway, but the inner structure is free to change in any way:
{ "rows": [
  {
   {"log":"Oct 30 00:07:40 frickyou anacron[23035]: Job `cron.daily' terminated\n"},
   {"log":"Oct 30 00:07:40 frickyou anacron[23035]: Normal exit (1 job run)\n"},
  },
.....
]
}

so there will be 1 column log, you can put as many columns as u wish and those which shouldn't be displayed will be empty.
PS imagine this as rows/columns - nothing more nothing less.

apparently the id key is required in the json results :)

Yes, if you didn't set GTRow_id, then the id will be taken for data manipulation.


VSCode API tests no longer run from within Code

Mac OS X
I am not sure when that broke but I am quite sure it used to work:

Works for me - also build machines are happy.
I did git clean -xfd followed by scripts/npm.sh install and ran the tests again from insiders with same result.
What else am I missing?

So to clarify: I am trying to run the tests from within Code via our launch config.

I run them via ./scripts/test-integration.sh and I think that's also what the build machines do. I am not aware of other ways how to launch them - tho it might be a hint that those are broken?

Wow, this is https://github.com/Microsoft/vscode/issues/14611


Docz plugin

Description

Hello. I'm working with nx in our company for a few months now. I want to work on Docz plugin here with you guys. If you guide me towards I think I can make it happen. Thanks

I manage to add files to apps and add dependencies. Then I create the dev executed but this is the tricky part which I stack in it


v1.12 backports 2022-07-13

v1.12 backports 2022-07-13

#20378 -- images, contrib/coccinelle: update alpine image to 3.16.0 (@tklauser)
#16499 -- docs: Document clustermesh datapath configuration for non-tunneled modes (@jrajahalme)
#20408 -- docs: fix flags for 1.12 branch (@aanm)
#19533 -- Use '.Values.enableIPv4Masquerade' in 'node-init' (@bmcustodio)
#20389 -- daemon: Fix issue where stale router IPs were not cleaned up (@gandro)
#20404 -- Add metric to track terminating endpoint events (@aditighag)
#18384 -- istio: Update to release 1.10.6 (@jrajahalme)
#20209 -- bpf: switch egress gateway logic to identity_is_cluster() (@jibi)
#20420 -- ci: pick up cilium-cli v0.11.11 for master, v1.11 and v1.12 workflows (@tklauser)
#16179 -- daemon: Don't auto disable session affinity (@brb)
#20417 -- Documentation: Restart cilium-operator and cilium after enabling Service Mesh (@chancez)
#20353 -- operator: start the event queue in a dedicated go routine (@aanm)
#20082 -- helm: Make DNS policy for agent and operator configurable (@michi-covalent)
#20403 -- docs: Update docs with minimum helm version (@aditighag)
#20363 -- endpointmanager: Add extra check for out-of-range endpoint IDs (@twpayne)
#20332 -- test/helpers: Fix variadic expansion related panic (@christarazi)
#20305 -- dnsproxy: update dnsproxy benchmark memory calculation (@odinuge)
#20296 -- Add Peer Service to Cilium DS Port List (@nathanjsweet)
#20251 -- Fix the bugs when empty CiliumEndpointSlices were created and leaked. (@alan-kut)
#20239 -- docs: Add example how to config ipmasq via ConfigMap (@brb)
#20416 -- Documentation: Only install 1 replica of operator on k3s (@chancez)
#20430 -- install/kubernetes: do not initialize variable twice (@aanm)
#20433 -- pkg/metrics: Remove source node label (@aditighag)
#20440 -- Disable Envoy version check if L7 proxy is disabled (@bmcustodio)
#20442 -- docs: Fixed service list command in clustermesh affinity guide (@dylandreimerink)
#20421 -- docs: L7 traffic management getting started guide (@sayboras)
#20406 -- docs: Add CLI installation for ServiceMesh (@sayboras)
#20461 -- test/k8s/manifests: bump test-verifier image to latest version (@tklauser)
#20473 -- config: Fix unit tests for native routing CIDR (@pchaigno)
#20376 -- Add Prometheus gRPC metrics for hubble and hubble-relay (@chancez)
#20387 -- Aspsk/pr/better error reporting for cilium monitor (@aspsk)
#20428 -- docs: Add troubleshooting docs for Ingress (@sayboras)
#20407 -- bpf: Handle tuple collisions for inactive backends (@borkmann)
#20446 -- hubble/parser/threefour: check (*Parser).linkGetter before accessing it (@tklauser)
#20486 -- docs: Bump up Netlify Python version to 3.8 (@michi-covalent)
#20413 -- bgp: fixed PodCIDR announcement being overwritten by SVC announcement (@dylandreimerink)
#20481 -- docs: Fix update-spelling_wordlist.sh to run command on spelling errors (@qmonnet)
#20471 -- Improve Egress Gateway Getting Started Guide (@pippolo84)
#20507 -- update k8s versions to the latest releases (@aanm)
#20521 -- bgp: Fixed broken bgp speaker unit tests (@dylandreimerink)

Once this PR is merged, you can update the PR labels via:
$ for pr in 20378 16499 20408 19533 20389 20404 18384 20422 20209 16179 20417 20353 20082 20403 20363 20332 20305 20296 20251 20239 20416 20430 20433 20440 20442 20421 20406 20461 20473 20376 20387 20428 20407 20446 20486 20413 20481 20471 20507 20420 20521; do contrib/backporting/set-labels.py $pr done 1.12; done

/test-backport-1.12

@dylandreimerink travis CI failure on this backport PR seems to revolve around BGP changes.
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓

┃   PANIC  package: github.com/cilium/cilium/pkg/bgp/speaker • TestSpeakerOnUpdateNode   ┃

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

panic: runtime error: invalid memory address or nil pointer dereference

[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x185dbd6]

goroutine 54 [running]:

github.com/cilium/cilium/pkg/bgp/mock.(*MockMetalLBSpeaker).GetBGPController(0xc00014f490?)

	/home/travis/gopath/src/github.com/cilium/cilium/pkg/bgp/mock/mock.go:38 +0x16

github.com/cilium/cilium/pkg/bgp/speaker.(*MetalLBSpeaker).announcePodCIDRs(0xc0003c5620, {0xc0004028d0, 0x1, 0x1})

	/home/travis/gopath/src/github.com/cilium/cilium/pkg/bgp/speaker/pod_cidr.go:84 +0x131

github.com/cilium/cilium/pkg/bgp/speaker.(*MetalLBSpeaker).handleNodeEvent(0xc0003c5620, {{{0x0, 0x0}, 0x1}, 0x2, 0xc000010a40, 0xc0001287b0, 0x0})

	/home/travis/gopath/src/github.com/cilium/cilium/pkg/bgp/speaker/events.go:231 +0x445

github.com/cilium/cilium/pkg/bgp/speaker.(*MetalLBSpeaker).do(0xc0003c5620, {0x1b423c0?, 0xc0005f1b40?})

	/home/travis/gopath/src/github.com/cilium/cilium/pkg/bgp/speaker/events.go:187 +0x496

github.com/cilium/cilium/pkg/bgp/speaker.(*MetalLBSpeaker).run(0xc0003c5620, {0x1f5a938, 0xc0003c5560})

	/home/travis/gopath/src/github.com/cilium/cilium/pkg/bgp/speaker/events.go:114 +0x1e9

created by github.com/cilium/cilium/pkg/bgp/speaker.TestSpeakerOnUpdateNode

	/home/travis/gopath/src/github.com/cilium/cilium/pkg/bgp/speaker/speaker_test.go:368 +0x470

FAIL	github.com/cilium/cilium/pkg/bgp/speaker	0.035s             `

https://app.travis-ci.com/github/cilium/cilium/jobs/576612745
Did this slip through that initial PR?

Travis CI has been fixed in #20521, adding it to this PR should fix the CI

@tklauser just pulled in your CI changes, lmk if it looks good.

/test-backport-1.12

rerunning ci-aks-1.12 - looks like cloud infra flake.

/test-1.21-4.9

/test-1.17-4.9

test gke-stable (test-gke) is currently failing for most branches and builds. Considering this a flaky test and we won't block merge on this.

The AKS workflow for 1.12 is incorrect: https://github.com/cilium/cilium/runs/7345075686?check_suite_focus=true
It should be using BYOCNI, not Azure IPAM => for some reason when we branched out in 51961dd2599393b12744594101b247de1ebf6a5a 23 days ago we used the wrong workflow file as basis, and it's missing the following changes from the same day: 6d5512303c5dc1dd2f99587c17dbd85b6e88c146


Improve IM docs

Improve IM docs
Ths PR improve the IM docs adding some TOSCA information.

just added and then removed one space to trigger the builds


Upgrade Rust Toolchain: jemalloc or the system allocator

According to the official rust blog: jemalloc is removed by default since rust v1.32.0.
The rust v1.33.0 is coming. The rust v1.33.0 release pr was created few minutes ago.
So, any plan to upgrade the rust toolchain? And, jemalloc or the system allocator?

yeah. Will upgrade the toolchain to the latest stable version at v1.0.
I'm not sure about jemalloc or the system allocator.

Rust 1.33.0 has been released.

image: ubuntu-18.04-20190304

I'd like to continue to use the jemalloc. @yangby-cryptape

https://github.com/rust-lang/rust/issues/36963#issuecomment-252029017

I'd like to continue to use the jemalloc

TBD. Will decide it after check the performance

tps: 4410 -> 4338
That's acceptable.  use system allocator.
jemalloc still is a choice.


Add new dunder methods and attributes

New dunder methods for more Pythonic interaction:

Make KmerCountTable iterable, returns (hash,count) tuples.
Add __setitem__, Set values using the indexing syntax obj[key] = value
Add __getitem__, Query an object to using the indexing syntax obj[key]
Add len() method, returns number of keys in KmerCountTable.

New attributes:

.version, returns oxli version that object was created with (will use later when serialising objects)
.consumed, returns total number of bases consumed using either count() or consume()
.sum_counts, returns sum total of all counts in table.

Note: Have added "toml" package as a conditional dependency for testing .version.
It is in pyproject.toml under optional dependencies. Will be installed if installing oxli from repo via pip install -e .[test]
Closes #20

Was using toml library because I didn't know about tomllib. Will look into it.

@ctb Looks like tomllib was introduced in Python 3.11.
Do we want 3.11 to be the min version required for this package? or keep the external toml import?
I'm going to leave it for now and merge this branch. Can update later.


Brilliant

I'm sorry - I just wanted to drop a line and tell you this library is absolutely awesome. Thank you niklasb

Thanks for making my day :)


OpenWhisk Web Enabled action pickup random subject

Environment details:
*Kubernetes,  kubernetes 1.13

Docker version 18.09.7

Steps to reproduce the issue:

Create an action with Web enabled
wsk -i action create HelloGet helloget.py --web true

Use the action URL to call it via a browser
Get action URL > wsk -i action get  --url
Example https:///api/v1/web/testns/default/HelloGet

The subject is random ID in your namespace

Provide the expected results and outputs:
It should rather tie to an internal OpenWhisk account or allow administrator to set a default id to use for web enabled actions
activations
output comes here
    "namespace": "testns",
    "name": "HelloGet",
    "version": "0.0.2",
    **"subject": "<openwhiskweb?>",** <-- Should have ability to use some internal id for the activation or allow to set a default ID for web enabled activations

## Provide the actual results and outputs:

"namespace": "testns",
"name": "HelloGet",
"version": "0.0.2",
**"subject": "zuser1",** <-- picks a random ID or appears to be the first id with first alphabet descending order

## Additional information you deem important:
* The issue happens consistently for any invocation to web enabled action via curl or any browser.

Do you have multiple users sharing the testns namespace? If so, one is picked to record as the subject and it is the first subject returned from the couchdd index.

thanks Rabbah to pick this up, yes we have multiple users in the OpenWhisk(OW) namespace(NS) .
It been setup by our admin , like one OW NS for each team or project.  Is there a way to lock it to a specific ID in the NS?

The code is here - you'll see limit = 1 which essentially picks the subject.
https://github.com/apache/openwhisk/blob/2036548e62dbf959d91c2328e86318bd7cfa656f/common/scala/src/main/scala/org/apache/openwhisk/core/entity/Identity.scala#L83
If the db is not changing (you're not adding and removing subjects frequently) the choice should be stable.
There isn't a way to do what you want right now - you'd need to make some changes to the system. For example: specify if the subject is the "default" for the namespace, update the views to return the default subject or remove the limit and then filter in code.

Alternatively - you can hide the subject field in the activation. The subject id may not be semantically meaningful to you.

Is there a way to hide subject only when its a web enabled call?.. we do find the use of subject for other activation which which are not web enabled

Is there a way to hide subject only when its a web enabled call?

Not without editing the code for the system.

I understand the code is set to do that but isint that incorrect reporting.

The management of users (subjects and namespaces) has generally been outside of scope for openwhisk. This is usually tied to an identity management service in the provider's cloud.
We'd need to introduce the concept of a "subject owning a namespace". It is currently ambiguous when sharing a namespace between subjects who to attach to the activation record.
If this is a feature you'd like to see - I'd be happy to work with you or others on your team to implement it. Contributions are welcomed.

appreciate the transparency .. yes it is a feature that  makes logical sense to have
Either a way designate an id in OW NS which will show as subject or a way to set a default for an NS which will auto assign "default" when a web activation happens


[BUG] final_goal_analyze bug

Describe the bug
The following case will be judged as a mismatch in _final_goal_analyze:

case:

Constraints from final goal:
[('price', '75.10 pounds'), ('arriveBy', '15:45'), ('day', 'friday'), ('departure', 'cambridge'), ('destination', 'birmingham new street')]

self.booked[train]:
{'arriveBy': '07:44', 'day': 'friday', 'departure': 'cambridge', 'destination': 'birmingham new street', 'duration': '163 minutes', 'leaveAt': '05:01', 'price': '75.10 pounds', 'trainID': 'TR9678', 'Ref': '00002092'}

code:
https://github.com/thu-coai/ConvLab-2/blob/db9ddd461048779f6d19fb2ffec7be3abb2b7465/convlab2/evaluator/multiwoz_eval.py#L390

Expected behavior
In train domain, arriveBy and leaveAt in goal may be not equal to item in DB exactly, but it is right.

Thanks! fixing

#99


refresh token expiration discovery

Problem
There is no standard way to discover expiration data for refresh tokens. This means holders of
the refresh token simply do not know how long it will last for and therefore what refresh timing
strategy to use. It would be far nicer to know before hand if a refresh token is likely to work or
not.
Possible Solution - within spec
Make the refresh_token a JWT encoded with expiration info.
Alternatives Considered - not quite within spec?

Implementing a discovery endpoint to return expiration data about a given refresh token
overriding the token response to include refresh token expiration

Additional context
Our implementation does not have a one-size-fits-all pattern for access token and refresh token expirations. In many cases we simply can't tell our clients ahead of time just how long their access will last. Having expiration dates in the refresh token or on the token response would solve this.

There is no standard way to discover expiration data for refresh tokens. This means holders of
the refresh token simply do not know how long it will last for and therefore what refresh timing
strategy to use. It would be far nicer to know before hand if a refresh token is likely to work or
not.

This will never be 100% perfect as the end user can always revoke them. So you have to code for that.

Make the refresh_token a JWT encoded with expiration info.

No, the refresh token is not meant for clients to parse. Same goes for access tokens.

I would settle for 90% perfect. As it stands today access tokens can also be rendered useless via consent revocation. That the JWT is not meant to be parsed by the client is of course correct but pragmatism rules the day. Using values in the JWT is a practical way for our clients to perform account reconciliation amongst other things.
I am still curious as to why the refresh token expiration is omitted on a Token response (should there be a refresh token of course). I know it's not in the spec but do you know the reasoning behind this? One approach I am considering is simply changing the response to have this data. I can only guess there must be a really good reason not to.

The spec does not cover this sort of response information back to the client. Thus I don't see why IS core needs to have it.
You can add custom response parameters yourself by implementing the custom token request validator.

Fair enough. Thanks :)


Load multiple samples or a cohort through the UI

Hello @sehilyi,
I hope you are having a great day! Before I get started, I just wanted to say thank you for creating this awesome tool. Chromoscope is amazing.
Would it be possible to add a mechanism that allows a user to load multiple samples from config through the UI? I was thinking it would be awesome if a user could point to a multi-sample config file as described here via https or as a local config file, it would be awesome.
Some thing like this would be perfect:

Please let me know what you think, and have a great day!
Best regards,
@skchronicles

Thank you for pointing this out!
So we can best help you and other users, I would like to ask a follow-up question. Am I correctly guessing that the graphical interface for adding cohorts would eliminate the complicated URLs for the cohorts (which contain URLs within URLs)? What you are describing would currently be achieved by modifying the URL and using the 'external' variable.
https://chromoscope.bio/loading-data/url-parameters
Or, perhaps, would you like to entirely skip the need to upload configuration files to servers, hoping that Chromoscope would take care of this complexity?
Thank you
Dominik

Hey @dominikglodzikhms,

Am I correctly guessing that the graphical interface for adding cohorts would eliminate the complicated URLs for the cohorts (which contain URLs within URLs)?

Yes, that is correct. I was hoping I could send another user a copy of a local config file and then they could upload it into the application to view a batch or set of samples. If the UI could accept a local file (and also a file over https, less important), that would be perfect!

Hey @dominikglodzikhms,
I hope you are having a great day! Are there any updates on this?
Sorry for bugging you,
@skchronicles

Hi @skchronicles, thank you for reaching out!
We have it on our todo list, but because of competing priorities will not happen by February.
So that we better prioritize, could you please tell us more about your use case? How do you store your data?
So I better understand, other than usability, would it work for you to the config to cloud and accessing it via https in the chromoscope URL, and share the entire URL? Would there be data privacy concerns with this?
https://chromoscope.bio/loading-data/url-parameters
We just started a Slack workspace. If you would like to join, please send me an email to<EMAIL_ADDRESS>- I would send an invitation back.
Dominik

Hey @dominikglodzikhms,
That could work; however, I was hoping I could send a collaborator a config file that they could then locally upload into the UI.
This isn't a huge priority so it if takes some time to add that is also 100% okay.
Please let me know what you think.
Best regards,
Skyler Kuhn


[Skill Use case] Certificate access validation missing

User Aditya can access the certificate created for student Pratiksha.
Copy the certificate URL and check

[Skill Use case] Certificate access validation missing


util/meson-purge-includes.sh: Fix meson 0.55+ build

Since meson 0.55 OpenTitan has failed to build with errors like this:
../sw/device/lib/dif/dif_usbdev.c:9:10: fatal error: usbdev_regs.h: No such file or directory
9 | #include "usbdev_regs.h"  // Generated.
An issue was raised with meson: https://github.com/mesonbuild/meson/issues/7800
It turns out it's an issue with how the OpenTitan file
util/meson-purge-includes.sh is editing the include paths.
We are currently removing paths like this:
-Isw/device/lib/dif/libdif_rv_timer_ot.a.p
which since meson 0.55 are required for the build.
This commit changes the regex to allow builds with meson greater then
0.55.
Signed-off-by: Alistair Francis<EMAIL_ADDRESS>

Who would have thought that this line is fragile (and did now cost us and the meson maintainers time to debug).
I'd just remove it until we have a better understanding of why we need it, and then file a meson bug for it, as indicated in https://github.com/mesonbuild/meson/issues/7800#issuecomment-847387067
@mcy you added this line initially. Did you file an upstream bug for the problem you were trying to work around, and/or remember what the problem was?

I highly doubt fixing this in Meson is worth it. Given we're on the cusp of likely getting rid of Meson, I'd prefer just putting a bandaid over this and moving on.
This is here to help enforce the style guide and stop us from slipping back, which will be extra relevant as we switch build systems. I don't need yet another thing to watch out for in code review.

Currently, our python-requirements.txt file says we support meson >= 0.53.0, <= 0.54.  Considering that we want to replace the build system with something better than meson, is there a reason to be concerned with supporting newer versions?

Yes, because most distros ship with a newer version of meson. Not to mention that it seem silly to not fix something just because you say you don't support it. As well as that the fix is unobtrusive and pretty simple

Done! https://github.com/lowRISC/opentitan/pull/6767


Change UVM branch and disable DPI

It disables DPI, because it is currently unsupported. It also changes UVM branch to the one that contains more workarounds for issues. The only commit that may affect functionality (assuming that DPI is disabled) is https://github.com/antmicro/uvm-verilator/commit/2e667ac506c12e91d81bde62fe2c08d992731bd4. We work on fixing this problem.

Thanks @RRozak!


FFmpeg missing vaapi support on Linux

The FFmpeg build for Linux is missing vaapi support, which is used by Shaka Streamer by default for hardware encoding on Linux.

There doesn't seem to be a way to build VAAPI statically, at least not without hacking up the source.

It's possible. See this.

Fixed in https://github.com/shaka-project/static-ffmpeg-binaries/pull/48


Improve observers documentation

Observers is a super cool new feature, but I think there might be some gaps currently in the documentation around them, especially w.r.t when to use observers vs events.
A quick list of things to mention:

[x] Explain that an observer system needs to have Trigger in the first position of the SystemParam list, but otherwise it's the same as another system (actually it's mentioned here already: https://github.com/bevyengine/bevy/blob/main/crates/bevy_ecs/src/observer/runner.rs#L152-L152)

[ ] Make the distinction between the OnAdd and OnInsert triggers more clear. Also explain that OnInsert only happens if a new version of the component is inserted on the entity; it is not triggered if the component is simply mutated

[ ] Observer vs events:

maybe mention that observers/EventReaders are basically two ways to react to events. One is more push-based and the other pull-based
explain that one of the key strengths of observers systems is that they only run when the event is triggered. This can be more performant than having a system run every frame and read events from a EventReader. In the case where the events are emitted infrequently, the system is scheduled every frame but would often do nothing, whereas the observer systems only runs when the event is actually triggered. Conversely, if an event is triggered multiple times every frame, it is more efficient to have a system that reads all buffered events from EventReader than to trigger the observer system individually for each event. (we need benchmarks to compare the two)

[ ] Maybe better explain the concept of the observer target?
The trigger is an Event which can target optionally for one or more entities, one or more components. I feel like the docs on TriggerTargets and TriggerEvent are pretty light, whereas the concepts are not that straightforward.
I think this is the part that needs the most work. For example I see in the code that Vec<ComponentId> can be a target, but then it seems like each observer actually only fires for at most 1 componentId. (see https://github.com/bevyengine/bevy/blob/main/crates/bevy_ecs/src/observer/mod.rs#L135-L135)

[ ] Clarify how to access component data from the trigger. Is it this function? https://github.com/bevyengine/bevy/blob/main/crates/bevy_ecs/src/observer/mod.rs#L51

[ ] There's a lot of questions on discord about observers vs hooks, and observer order

[ ] Users could more or less not worry at all about applying the command buffers since the apply_command_buffers system was added automatically in the schedule if there is an ordering dependency between systems that use Commands. It is not really true anymore, with observers you have to think about:

applying command_buffers after calls to commands.trigger(event) to make sure that the observers are triggered
applying command_buffers after the observer triggers so that any commands buffered by the observer are applied.

[ ] Clarify current observer limitations:

can't update an observers component or entity targets after the observer has been spawned

Asked about this in the #ecs-dev discord channel out of curiosity: it sounds like it's possible for users to introduce multiple observers that could feasibly cause cycles (observer system 'A' sends an event that triggers observer system 'B'...and wraps back to 'A' again). It sounds like the current behavior is that bevy will loop in this case (I'm not suggesting any changes to that). I do think it might be worth adding docs saying that this can happen and that it's up to users to design observer systems so that it doesn't.


Test all fields on ReverseGeocodeQuery

Test that all fields are used correctly.
Same for bulk reverse geocoding.

Actually should this class even exist? It's inconsistent when compared to all the other querying methods which use (optional) parameters instead of a class to define the query.

Yes it should: it allows for the bulk reverse geocoding as well.


nbt on chrome

how do i get nbt explore on chrome

This is a program you install on a PC. For a Chrome application visit webNBT.


Roll engine 8a465596533d..4e839444f81e (1 commits)

https://github.com/flutter/engine/compare/8a465596533d...4e839444f81e
git log 8a465596533d75eb128faab5cd70b60c5e989935..4e839444f81eec776955015a303e79c79bf51935 --no-merges --oneline
4e839444f Roll src/third_party/skia 0ea414a08208..696e8dda3ca3 (3 commits) (flutter/engine#8509)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/5011484751953920

Commit queue failed; closing this roll.


Onboarding is not shown after first install

Debug log ID
NZHUB9JW-refs-euc/6.7.143-6
What happened?
As mentioned in the title, the onboarding mentioned in the manual (Installation -> "On first install you will be asked a few questions. Please read these instead of just clicking through." at the bottom) is never shown.
I have restarted Zotero and uninstalled/reinstalled the plugin several times but such a window was never shown.

I thank you for your diligence, but the onboarding wizard has been removed as it seemed to raise more questions than answer them. I have updated the installation page, that will take about 10 minutes to show up publicly.

That makes sense, thanks for the quick response!


Composite action action-unit-test-and-analysis

Outside organizations aren't well supported by GitHub Projects right now, so work is being linked.

https://github.com/marketplace/actions/unit-test-and-analysis-with-sonarcloud
https://github.com/bcgov-nr/action-test-and-analyse


Create JSON_RAW type, implement helpers and test coverage.

Related to issue #10
This is just an initial implementation of the json_raw type.  This patch does not include any changes to the parser, the idea is that one of the patches which allow numbers to not be parsed would be updated to store values in json_raw instead of using json_string with a flag.  The main goal is to avoid expanding the memory footprint of json strings which are very widely used.
apiref.rst needs updating to document the new functions.  I'll do that once it's decided that we want to proceed with this change.

Coverage increased (+0.1%) to 96.429% when pulling 887c7baae73de0786b4029ffd9fb82948429e988 on coreyfarrell:json_raw into 4ba5c7cc5d94db20a2120c5b0f178d5f6895cbde on akheron:master.


add support for API_BASE that changes the mackerel API endpoint

API_BASE is used when you want to modify the mackerel API endpoint for debugging or particular environments.

Thanks for your contribution!
I'd be grateful if you could add documentation about setting of api base into https://github.com/mackerelio-labs/terraform-provider-mackerel/blob/main/docs/index.md.

I appreciate your response for my comment :pray:
I think api_base is not a part of the setting of authentication and it's optional.
How about describing it separately from authentication as other settings?


New Hugo install, errors loading lanyon

On Mac OSX Mavericks, if I do
hugo server --theme=lanyon --buildDrafts --watch
ERROR: 2014/09/30 Rendering error: template: theme/post/single.html:5:47: executing "theme/post/single.html" at <.Site.Params.DateFor...>: invalid value; expected string
ERROR: 2014/09/30 Rendering error: template: theme/index.html:10:53: executing "theme/index.html" at <.Site.Params.DateFor...>: invalid value; expected string

Hi, I am facing the same problem. I added the "DateForm"="ANSIC" to my config.toml file but it doesn't work still. Is there anything else I should do?
Thanks.

Hi, I am facing the same problem. I added the "DateForm"="ANSIC" to my config.toml file but it doesn't work still. Is there anything else I should do?
Thanks.

The thing is that ANSIC is a Go constant that happens to equal a valid date/time format string. It's not a valid string in and of itself. You need to set DateForm to the value of ANSIC, ie "Mon Jan _2 15:04:05 2006".

The thing is that ANSIC is a Go constant that happens to equal a valid date/time format string. It's not a valid string in and of itself. You need to set DateForm to the value of ANSIC, ie "Mon Jan _2 15:04:05 2006".

how we should fix <.Site.Params.DateFor...>: invalid value; expected string ??

What's in your config.json or equivalent?

config.toml
baseurl = "http://yourSiteHere"
languageCode = "en-us"
title = "My Blog"

You need a DateForm key in there, eg DateForm = "Jan 2 2006". Take a look at the config.json in this repository.
Btw PRs are welcome to set a default dateform in the layouts, but I don't use Hugo anymore so making this easier is really not a priority for me.

I added this (DateForm = "Jan 2 2006") to my config.toml, restarted the server and nothing is fixed. I tried the other values here too.

what's the error message you're seeing and what's the full content of your config file?

It was the same error message*, config.toml:
baseurl = "http://promisekit.org/"
languageCode = "en-us"
title = "PromiseKit"
PygmentsCodeFences = true
DateForm = "Mon Jan _2 15:04:05 2006"

ERROR: 2014/09/30 Rendering error: template: theme/post/single.html:5:47: executing "theme/post/single.html" at <.Site.Params.DateFor...>: invalid value; expected string

Ah, DateForm needs to be under params, not the top level. Try:
baseurl = "http://promisekit.org/"
languageCode = "en-us"
title = "PromiseKit"
PygmentsCodeFences = true

[params]
DateForm = "Mon Jan _2 15:04:05 2006"

Terrific, thanks.

I already had this:
[params]
  DateForm = "Mon Jan 2, 2006"

But that did not work!
Turns out that even though you call it .Site.Params.DateForm, that params needs to be lower case in config.toml.
Summary
Worky
[params]
  DateForm = "Mon Jan 2, 2006"

No Worky
[Params] # capitalized does not work
  DateForm = "Mon Jan 2, 2006"

I got the same problem with Hugo v.0.18-DEV. My configuration file:
baseurl = "http://luizdepra.com/"
title = "luizdepra"

theme = "lanyon"

languagecode = "en-us"
canonifyurls = true
pygmentsuseclasses = true
pygmentscodefences = true

[permalinks]
    post = ":year/:month/:day/:title/"
    fixed = ":title/"

[params]
    Title = "luizdepra"
    Tagline = "a sip of FUNgramming"
    Author = "Luiz de Prá"
    DateForm = "Jan 2, 2006"

I solved it changing .Site.Params.DateForm to .Site.Params.dateform. Have Hugo changed something in this last version?


xEventGroupSetBits- assert failed!

Hi @tonyp7
My requirement is to quit wifimanager after some time. To achieve this i am calling wifi_manager_destroy(); . But this is not working. After destroying wifi_manager also ESP32 in AP mode.  Please help me to solve this issue.
My Main Code:
void app_main()
{
wifi_manager_start();
wifi_manager_set_callback(EVENT_STA_GOT_IP, &cb_connection_ok);
vTaskDelay(20000/portTICK_PERIOD_MS);
wifi_manager_destroy();
xTaskCreatePinnedToCore(&monitoring_task, "monitoring_task", 2048, NULL, 1, NULL, 1);
}
Debug Log:
[1B][0;32mI (1479) wifi_manager: SYSTEM_EVENT_AP_START[1B][0m
[1B][0;32mI (20209) main: free heap: 227980[1B][0m
[1B][0;32mI (30209) main: free heap: 227980[1B][0m
[1B][0;32mI (40209) main: free heap: 227972[1B][0m
[1B][0;32mI (50209) main: free heap: 227972[1B][0m
[1B][0;32mI (60209) main: free heap: 227972[1B][0m
[1B][0;32mI (70209) main: free heap: 227972[1B][0m
[1B][0;32mI (80209) main: free heap: 227972[1B][0m
[1B][0;32mI (90209) main: free heap: 227972[1B][0m
[1B][0;32mI (100209) main: free heap: 227972[1B][0m
[1B][0;32mI (110209) main: free heap: 227972[1B][0m
[1B][0;32mI (120209) main: free heap: 227972[1B][0m
[1B][0;32mI (130209) main: free heap: 226584[1B][0m
[1B][0;32mI (140209) main: free heap: 226584[1B][0m
[1B][0;32mI (150209) main: free heap: 227972[1B][0m
[1B][0;32mI (155289) wifi_manager: SYSTEM_EVENT_AP_STACONNECTED[1B][0m
C:/esp32/esp-idf-v3.3/components/freertos/event_groups.c:560 (xEventGroupSetBits)- assert failed!
abort() was called at PC 0x4008e0c4 on core 0

wifi_manager_destroy(); is today not really where it should be. It just frees memory but doesn't shutdown the wifi manager properly.
Basically you are de-allocating memory and of course the program crashes when it tries to access some objects which no longer exists.
I mark this as a bug since wifi_manager_destroy(); should indeed properly shutdown everything related to the manager.


Speed up travis build

Description
See https://jira.czi.team/browse/IDSEQ-954 . This speeds up the build by using existing images as a layer cache, from_cache.
This should speed up build time by ~5min because in most PRs there are no changes to external dependencies and therefore no need to download and install gems and node modules.
The docker cache should invalidate itself when desired because of the gem and npm lock files changing. See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#leverage-build-cache#leverage-build-cache .
The largest remaining time is in webpack build, around 2min. @MarkAZhang is there an easy way you can see to trim this? Would it be safe to have a custom travis webpack config that does less? I don't see how we actually need webpack in travis except to test that it will work in prod.
Test
The changes are visible in the travis log of this PR.
The total time in this run decreased by from ~15min to ~7min.
Building web
Step 1/24 : FROM ruby:2.5
2.5: Pulling from library/ruby
Digest: sha256:063f661153e37b60c8345c63d76c02ba914f54e0df9f6de48e7111d49d1b2828
Status: Downloaded newer image for ruby:2.5
 ---> e86557c9a8ab
Step 2/24 : RUN apt-get update && apt-get install -y build-essential nodejs mysql-client python-dev python-pip apt-transport-https
 ---> Using cache
 ---> 2bed7b309dff
Step 3/24 : RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
 ---> Using cache
 ---> 2e352c320037
Step 4/24 : RUN apt-get update && apt-get install -y nodejs
 ---> Using cache
 ---> 586355434e30
Step 5/24 : RUN pip install --upgrade pip
 ---> Using cache
 ---> 145d0aabb98c
Step 6/24 : RUN pip install --upgrade setuptools
 ---> Using cache
 ---> 20945fd1ebd8
Step 7/24 : RUN pip install --upgrade pyOpenSSL
 ---> Using cache
 ---> 770c0e7edb02
Step 8/24 : RUN pip install --upgrade aegea
 ---> Using cache
 ---> e15ed5354d71
Step 9/24 : ADD https://github.com/segmentio/chamber/releases/download/v2.2.0/chamber-v2.2.0-linux-amd64 /bin/chamber
 ---> Using cache
 ---> 8114e91af4d1
Step 10/24 : RUN chmod +x /bin/chamber
 ---> Using cache
 ---><PHONE_NUMBER>20
Step 11/24 : RUN mkdir -p /app
 ---> Using cache
 ---> 26dc389c889a
Step 12/24 : WORKDIR /app
 ---> Using cache
 ---> 2f5ca9f5f8f1
Step 13/24 : COPY Gemfile Gemfile.lock ./
 ---> Using cache
 ---> 58598c35439e
Step 14/24 : RUN gem install bundler && bundle install --jobs 20 --retry 5
 ---> Using cache
 ---> 771679b1a9e7
Step 15/24 : RUN npm update -g
 ---> Using cache
 ---> 6cdb19f97dbe
Step 16/24 : COPY package.json package-lock.json ./
 ---> Using cache
 ---><PHONE_NUMBER>96
Step 17/24 : RUN npm install
 ---> Using cache
 ---> a0a75648ed5f
Step 18/24 : COPY . ./
 ---> e7c00c874e6a
Step 19/24 : RUN mkdir -p app/assets/dist && npm run build-img && ls -l app/assets/dist/
 ---> Running in 9433ee84431c
...

Sounds good! Is it worth to run a quick test with some new gem/npm package to guarantee the invalidation works as expected?

Tiago, good point. I’ll add a temporary commit that changes a lock file to see if the cache is invalidated.

Test of updating deps worked:
Step 14/24 : RUN gem install bundler && bundle install --jobs 20 --retry 5
 ---> Running in 08078d849cf8
Successfully installed bundler-2.0.1
1 gem installed


Fix unwanted comments in remote-read API doc

Some text from comments in the review at #7266 seems to have been included in the doc.

Closing in favour of #11731


Overriding default rules

Summary
Hi 👋🏻 ,
I'm using dstlint to help type an existing library, next-auth, that runs on top of NextJS:
https://github.com/iaincollins/next-auth/pull/220
The library depends on a few types from NextJS...
import type { NextApiRequest, NextApiResponse } from 'next';
// ...
function NextAuth(req: NextApiRequest, res: NextApiResponse, options?: InitOptions): Promise<void>;

When running dtslint, it tries to parse the types from NextJS and throws an error given there's a // ts-ignore comment somewhere on them:
$ npx dtslint types
Error: At /Users/lluis.agusti/Code/next-auth/node_modules/next/types/index.d.ts:{"line":14,"character":6}: 'ts-ignore' is forbidden.
    at /Users/lluis.agusti/Code/next-auth/node_modules/dtslint/bin/index.js:198:19
    at Generator.next (<anonymous>)
    at fulfilled (/Users/lluis.agusti/Code/next-auth/node_modules/dtslint/bin/index.js:6:58)

Following the docs, I tried to override that linting rule by writing my own tslint.json but it didn't make the error go away ( maybe it only applies to our declaration files? )
Any chance we could get some help on this?

We shouldn't raise errors like this for .d.ts files inside node_modules IMO

Where would the code be for that?
https://github.com/microsoft/dtslint/blob/285e5a9a168800e72382101b2e416baf129e8fc4/src/lint.ts#L51-L55
but then add it behind a feature flag to not lint "dependencies" at all? Or am I misunderstanding the code?

Hi! Stumbled upon this issue because I'm facing the same problem – a broken CI pipeline due to a dependency usage of ts-ignore. Has anyone found a valid workaround? 😃  Adding a local tslint.json and disabling the check did not work.

related https://github.com/microsoft/dtslint/pull/89#issuecomment-782581190


Sanitize SS58 addresses to Hex.

Right now main is broken because I switched over addresses to be only SS58 and have rejected hexes, but that breaks the api. Polkadot-js only accepts a hex value for constructing xcm messages.

closing via https://github.com/paritytech/asset-transfer-api/pull/78


Wrong ODATA Base URL for OnPrem

This was reported for the beta version (https://docs.microsoft.com/en-us/dynamics-nav/endpoints-apis-for-dynamics) on december 8, 2018 and it's still wrong for OnPrem for version 1.0
Instead of this
https://<base URL>:<port>/v1.0/api/<API version>/
it should be
https://<base URL>:<port>/<instance>/api/<API version>/
Example:
https://nav.contoso.com:7048/NAV/api/v1.0/
It took us a very long time to figure out why v1.0 was before /api/ as that is not working nor making any sense. Please correct this as it causes confusion.

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

ID: 5c2e0a70-16db-cebb-ff63-e7b0a5f4f70d
Version Independent ID: 041169de-956b-f1a8-c66b-7bf77f5e5f64
Content: Endpoints for the APIs for Microsoft Dynamics NAV and Microsoft Dynamics 365 Business Central - Dynamics NAV
Content Source: dynamics-nav/api-reference/v1.0/endpoints-apis-for-dynamics.md
Product: dynamics-nav-2018
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for catching this. This will be fixed with the next refresh of the docs.


Running Microk8s in an unprivileged LXD container

Official docs for running Microk8s inside LXD containers still define microk8s LXD profile that runs it in as a privileged container and also disables a bunch of other security related features.
What is missing to run Microk8s in a regular, unprivileged container? I'm running Microk8s in a VM, but would love to have an option for running it in (unprivileged) containers. You can already run Docker like that, so nested container runtimes are probably not the main issue?

The profile we have for LXD is very permissive so as to not block any workloads users may want to run in Kubernetes. Users with well defined workloads can start with the wide open LXD profile and try to make it less permissive allowing only the capabilities their workload requires.

I face with the same issue. Does anyone find a solution for Kubernetes on unprivileged LXC?

not stale, not cometed

I'm not sure if it's relevant to this discussion, but I stumbled upon this concept of "rootless mode" in Kubernetes: https://kubernetes.io/docs/tasks/administer-cluster/kubelet-in-userns/

This document describes how to run Kubernetes Node components such as kubelet, CRI, OCI, and CNI without root privileges, by using a user namespace.

Which relies on the KubeletInUserNamespace feature gate from what I can read.
And while we're talking about MicroK8s here, I found some similar discussion regarding K3s: https://github.com/k3s-io/k3s/issues/4249.

KubeletInUserNamespace is not set in unprivileged LXD containers when k3s is run as root
And, from the discussion on this page, it looks like K3s does work in an unprivileged LXD container thanks to this mode.
Or am I understanding it incorrectly?

If my interpretation is correct, could the same capability be built in MicroK8s?

@dalbani this is an interesting feature/setup configuration that up to this point we have not looked into it.

Rootless mode can be a welcomed addition, but it (currently) has many limitations (see docs). I would still prefer a regular K8s.

/unstale

What's the status?
Is it mandatory to use a privileged Docker context, for now, in order to run MicroK8s?
Is it a requirement?
Installing recent Docker on Linux releases seems to use rootless context by default.


Set the user by env variables and remove registration api

I changed the user creation in the backend.
Now it is only possible to set the user with the env variables BACKEND_USER_EMAIL and BACKEND_USER_PASSWORD. The registration api is now deactivated.
Rest of the changes is a bit refactoring (password handling, configuration handling).

See https://github.com/riesgos/async/issues/62

@MichaelLangbein Feel free to make the changes on the frontend & on the deployment for TUM.


Support for TypeScript custom rules without transpiling to JS

Following up from issue #131 in the deprecated plugin repository, I'm wondering if this project would consider enabling dynamic loading of TypeScript custom rules.
Currently, enabling the ts-node loader in node allows rules authored in TypeScript to be loaded directly when invoking tslint via CLI, but I haven't been able to find a way to do this for the VSCode plugin without precompiling the custom rule first.
Given that the last comment mentions being able to enable ts-node within the language server, what would it take to enable such behaviour?

This is not possible because the plugin is run the TypeScript server. We have no control over the node environment the server runs the plugin in
To workaround this, you could try writing a JavaScript rule that invokes ts-node on your rule.ts file

OK, compiling the rules it is, then. Thank you!


Read data on Windows 7

OS: Windows 7
Sensor: TI CC2650 SensorTag
BLE USB Adapter: CSR8510 A10
Hello,
I'm having some trouble for reading data from my sensor on Windows 7. I didn't see anybody using it on Windows 7 so maybe it's not compatible but I still wanted to try...
So, the problem is that I get nothing for the services and characteristics, so I can't get the data from the sensors. At least, that's my conclusion...
C:\Users\John\Documents\noble-master\examples>node peripheral-explorer.js b0b448d31185
peripheral with ID b0b448d31185 found
  Local Name        = CC2650 SensorTag
  Manufacturer Data = 0d00030000
  Service Data      =
  Service UUIDs     = aa80

services and characteristics:

Thanks in advance!

yofun,
Noble does run on Windows 7, but the current Noble version is temporally broken. See my issue 372. If you do not have an older version of Noble on your own machine, download or clone the Noble repository and step back to a version in early Feb.
Good luck

Probably related to #372, I'll close this as a duplicate for now. Let's continue the discussion there.


[Explorer] Execution failed for question 3b9eaf90-82ae-4296-af07-21195260c04c: which repository has the most number of issues and pull requests

Hi, It's failed to execute the question 3b9eaf90-82ae-4296-af07-21195260c04c which repository has the most number of issues and pull requests (errorType = error-query-execute):

executedAt: 2024-05-29T14:43:00.000+00:00
requestedAt: 2024-05-29T14:43:00.000+00:00

Error message
unexpected rpc resp is MPPStreamResponse

Generated SQL
SELECT
  `repo_name`,
  SUM(
    CASE
      WHEN `type` = 'IssuesEvent' THEN 1
      ELSE 0
    END
  ) + SUM(
    CASE
      WHEN `type` = 'PullRequestEvent' THEN 1
      ELSE 0
    END
  ) AS `total_issues_and_pull_requests`
FROM
  `github_events`
GROUP BY
  `repo_name`
ORDER BY
  `total_issues_and_pull_requests` DESC
LIMIT
  1

The generated SQL cost too much memory to get the result. When I ask the same question, it generates another SQL and it can get the result successfully.
The pingcap teams will investigate whether the memory consumption of your post SQL can be optimized. Thanks for reporting it!
https://ossinsight.io/explore/?id=e28b7865-c396-4528-ac7c-7b39f577ffd8
SELECT
  `repo_name`,
  COUNT(*) AS `total_issues_and_pull_requests`
FROM
  `github_events`
WHERE
  `type` IN ('IssuesEvent', 'PullRequestEvent')
GROUP BY
  `repo_name`
ORDER BY
  `total_issues_and_pull_requests` DESC
LIMIT
  1


Error Cannot read properties of undefined (reading 'bronze')

Describe the bug
When I search my username, "Error
Cannot read properties of undefined (reading 'bronze')" error appearing.
Profile/Location
https://sky.shiiyu.moe/stats/Halhadus
Screenshots

Smartphone (please complete the following information):

Device: Redmi Note 8 Pro (begonia)
OS: Android 13
Browser: Fennec Fdroid
Version: 119.1.0

@metalcupcake5 close this

@metalcupcake5 close this

Why?

Same

same as #2083, we are waiting for hypixel to fix


Uhh, unsure if I can do proper testing on that.
My work is set up entirely within WSL2 so vscode isn't very useful to me without extensions.

Yes you should keep that one enabled for testing. If you can test it though, do you see this issue if you open the project outside of wsl?

do you see this issue if you open the project outside of wsl?

Personally no, but that is on an entirely different setup/machine and much smaller projects.
I haven't tried the insider build yet, but this stackoverflow solution about deleting ./vscode-server seems to have resolved it for me (hasn't crashed today so far)

Closing as it sounds like this is no longer reproducible

Deleting ./vscode-server didn't resolve the issue, but I think I found another cause for it.
Our codebase works against TS 4.5.5 while VSCode is 4.8.4. For some reason, it reverted to using vscode's version instead of the version defined in our workspace.

Hope this helps out anyone that stumbles upon this issue.


Convenient tiled array I/O with NGFF

This PR creates an abstraction layer for storing tiled images as chunks in a OME-Zarr array.
Resolves #59.

One caveat as of https://github.com/czbiohub/iohub/pull/73/commits/64719d2262dee759f74a0d329682442f4b1b611b: 'auto' layout in open_ome_zarr() does not work since there is no metadata to indicate the tiled layout.
One potential solution is to always return a TiledPosition if one of the arrays have shape[-2:] > chunks[-2:]. But this can be slower (not by much) and confusing if one does not need Tiled... objects.

---------- coverage: platform darwin, python 3.9.16-final-0 ----------
Name                      Stmts   Miss  Cover
---------------------------------------------
iohub/__init__.py             0      0   100%
iohub/_version.py             2      2     0%
iohub/cli/__init__.py         0      0   100%
iohub/cli/cli.py             24     24     0%
iohub/lf_utils.py            12      1    92%
iohub/multipagetiff.py      162     25    85%
iohub/ngff.py               459     79    83%
iohub/ngff_meta.py          181     20    89%
iohub/pycromanager.py        69      7    90%
iohub/reader.py             151      9    94%
iohub/reader_base.py         25      4    84%
iohub/singlepagetiff.py     155     20    87%
iohub/upti.py                87     70    20%
iohub/zarrfile.py           139     29    79%
---------------------------------------------
TOTAL                      1466    290    80%

I had this issue while simulating writing big datasets like the ones we typically acquire (1,6,200,2048,2048), and it wasn't able to write them.

Thanks for testing! The RAM usage skyrockets for large 5D array writing, so lazy writing seems to be broken...

@edyoshikun If you do not create large NumPy arrays in RAM but loop over Z it should be fast:
with open_ome_zarr(
    store_path, layout="tiled", mode="a", channel_names=["DAPI", "GFP"]
) as dataset:
    tiles = dataset.make_tiles(
        "tiled_raw", grid_shape=grid_shape, tile_shape=tile_shape
    )
    for row in range(grid_shape[0]):
        for column in range(grid_shape[1]):
            # each tile will be filled with different constant values
            data = np.zeros(shape=tile_shape, dtype=np.uint16) + row + column
            for z in tqdm(range(tile_shape[2])):
                tiles.write_tile(
                    data[:, :, z], row, column, pre_dims=[None, None, z]
                )

Do you think the tiled mode should have the same API to access the positions as hcs?

I don't think so. tiled is essentially just fov with a different chunking scheme and some array-level convenience, and the same data can be opened properly with either mode (i.e. with the same pixel values from __getitem__). A same API as hcs is confusing since they don't write the same data and metadata -- there is no high-content screening hierarchy or metadata involved in tiled.

I think the examples should start saving the data at /tmp to not pollute home, they could be inside an if __name__ == "__main__". This requires changing the other examples too, so we should it in another PR

Sorry for polluting your $HOME... I'm not sure of how to handle /tmp on Windows, but that can be a separate issue.

@ziw-liu we could try something like this for /tmp.


Upgrade Linux Kernel for main from 6.1.38 to 6.1.41

Subject says it all.

See instead https://github.com/flatcar/scripts/pull/1021


Upgrade docker base image to use golang 1.15

have all new features applied
patch bug fixes and security flaws
allow downstream forks to utilize up to date Dockerfile

latest docker image is pulling from 1.17


Ability to set application icon in both titlebar and taskbar

Please Describe The Problem To Be Solved
Right now, it is only possible to set the icon of the application (if its not web) during the building process. I feel like if we have the option to change it even before building it would be more efficient because wed be able to see how the icon looks even before building the application to exe
(Optional): Suggest A Solution
so idk how to do implement that but I guess it could be smth like:
page.set_icon(icon_path: str)

If you are a windows user, give page.window.icon ="path/to/image" a try.

If you are a windows user, give page.window.icon ="path/to/image" a try.

doesnt work, with both png and jpg

doesnt work, with both png and jpg

you have to use image with .ico extension

@ndonkoHenri I found an bug with page.window.icon, absolute path to the icon has to be provide, e.g. instead of page.window.icon = "assets/icon.ico" you have to use page.window.icon = "C:/Users/<user>/<path to project folder>/assets/icon.ico"

Ok. It will be addressed.

@Kacper-OS, will you mind giving the latest prerelease a try?: https://pypi.org/project/flet/#history

@Kacper-OS, will you mind giving the latest prerelease a try?: https://pypi.org/project/flet/#history

sorry but it looks like it still doesn't work


Add CI/CD for the latest stable pouch + shim-rune + rune

pouch will become a new container runtime to interact with shim-rune and rune.
It is necessary to add the CI/CD for the integration test.

pouch is not active in 2020, so we won't fix this issue any more.


Revert "Exclude com/sun/crypto AEAD ByteBuffer tests (#2249)"

This reverts commit<PHONE_NUMBER>d36c5d15af27cd2d7d207f71f3bb09 from #2249.
The code was fixed by ibmruntimes/openj9-openjdk-jdk#266 and ibmruntimes/openj9-openjdk-jdk16#25.

Pete has #2266 up for review to re-enable these

Duplicate: closing.


Axios params encode

Axios' params encode does not perform as expected to bring response from github api with qualifiers, probably because of the plus and comma sign required in the URL.
In order to use qualifiers to get the expected response from github api, instead of using params axios option we should take the responsibility of encode the url params and pass the entire parsed url string as the url param to axios.

Maybe octokit graphql.js could be a better option than axios.
https://github.com/octokit/graphql.js


Expansion of Plotly options and add support for configuration options

@essenciary, @hhaensel:
With this PR, I propose additions and changes for StipplePlotly. Note that some changes break backward compatibilty.
Here are the most significant changes and additions:

In general, I propose to follow the original design pattern as laid out for PlotData: a mutable structure, and show, Dict and Stipple.render functions with optionals! as a supporting function. I followed the Plotly reference as much as possible, so names of options differ from Julia Plots.
Plotly JS comes with a comprehensive set of defaults for graphs. So, it is not necessary to change and send from back-end to front-end all optional parameters/settings. This was how it was implemented for PlotData. I propose to apply it for PlotLayout as well.
Plotly JS has several (sub)elements, e.g. axis, colorbar, legend, line marker, title etc. In this PR I promoted such elements to structures in Julia. Previous PR implemented this for plot annotations as demonstrated in example heatmap2.jl in the docs directory. I updated all examples to reflect the changes.
It is worthwhile for some use cases to change Plotly configuration options, e.g. change download filetype. This is the Config structure in Julia Charts.jl. However, this needs a change to vueplot.js by adding a third argument to javascript function newPlot. By any measure I am not familiar with javascript, so help is welcome here.
In the docs are now examples for subplots and bar-type plots. I updated all other examples.

On the downside, creating code in Julia can become verbose for simple plots. I think one can create shortcuts or implement "styles" like PlotlyBase does.
Finally, Plotly JS has so many options that I still haven't implemented. So far, I've implemented plots that serve my use cases. If some graphs are missing, I am happy to create examples for the docs. Interaction with Vue (e.g. scaling of graph size) I have not explored yet.

@LMW38 Thank you so much Leo, looking great!
Tbh, you're the top authority for StipplePlotly :) If you think the code is ready to be merged, please do.
Changes makes sense - yes, it does become a bit more verbose in places with the introduction of the new types but I can't see how we can avoid that, the Plotly.js API itself is quite complex.
Happy to modify the JS code if you can give me more details please? Happy to have a chat or a quick call to discuss this.
Unrelated: one thing that I'm curious about (something I've thinking about quite a bit) is how to handle the nested properties. Defining so many fields for custom types takes a lot of work. It's kind of nice cause it's self documenting in a way - but using Dicts (like PlotlyJS.jl does) has the benefit of only defining the keys that are needed, and for everything else defaults in JS are used.

@essenciary
Thank you for reviewing and suggestions. Before merging, we should discuss the modifications to JS code. I will contact you.


Feature Request: New filter to provide alternate values based on bool() as an alternative to inline {% if %} blocks.

Feature Request
Provide a built-in filter that outputs a given string or variable value based on a bool() of the original value.
Use Case
I use Jinja2 to build configurations for network equipment from multiple vendors. The context variables I'm looking at have attributes that can be checked via bool(). Currently, in the templates for the various vendor configurations, I use an inline {% if %} like this in numerous locations:
spantree vlan {{ vlan }} admin-state {% if vlan_entry.stp_disable %}disable{% else %}enable{% endif %}
While this works, the inline {% if %} statement is super hard to read and makes the line length considerably longer. I would propose something like this:
spantree vlan {{ vlan }} admin-state {{ vlan_entry.stp_disable|bool_values('disable','enable') }}
The signature could be bool_values(value, true_value='True', false_value='False').
An undefined context variable would use the false_value.
I don't think the filter would be hard to write, but I didn't see anything built-in that would accomplish this task. I'm totally open to naming the filter to something more pragmatic if need be.
I don't know if there would be a need to allow for callbacks in the true_value/false_value variables, but I can see references to existing values in the template context being useful.
It would also have the benefit of working around issue #713 for me in most cases since I wouldn't be ending the line with a block.
If there is already a way to do this, I'd love to hear it. I can't imagine I'm the only one who uses inline {% if %} blocks.
Your Environment

Python version: 3.5.2
Jinja version: 2.10

if else can already be used inline like in Python: {{ "disable" if vlan_entry.stp_disable else "enable" }}


Added specific models for POST APIs

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Changing the height and the width of the circle

Signed-off-by: Mauricio Diaz<EMAIL_ADDRESS>

PR of a new feature new circle size


Handle back button navigation on android

works on my phone!
ideally we'd have a "pop stack" nav, rather than using window history because:
if you go to settings, then click the back link in the app, then click the back button it goes back to settings...
so anyway something to keep in mind I don't think this is exact native behavior but def a big improvement

agreed, i noticed that too. Or at least pulling in the BackLink functionality to mimic that. But at least it doesn't exit the app which is what happens now and is pretty jarring. Worst case the user corrects it themselves to the right screen.


add POC of rpc for plugins

What

[x] add RPC for plugins
[x] create companion library: https://github.com/mathieudutour/stdio-jsonrpc

That's what a plugin looks like:
const { setup, sendRequest, sendNotification, RPCError } = require('stdio-jsonrpc')

setup({
  onRequest(method, params, callback) {
    console.log(method, params)
    callback(new RPCError.MethodNotFound())
  },
  onNotification(method, params) {
    console.log(method, params)
  }
})

sendRequest('workspace_path')
  .then(workspace => sendNotification('alert', {msg: workspace}))
  .catch(x => console.error(x))
  .then(() => process.exit(0))

cc: @dabbott

All good questions:

I only found libraries to parse and generate the JSON (like JSONRPCKit) which seems a bit useless to me.

Even simples plugins would still need some info from Lona to run, right?

No that's the issue. I can't close stdin because I won't be able to reopen it. So I need to keep it open as long as the plugin is running and the plugin won't stop running until I close stdin or if the plugin exit. That's why there is a process.exit(0) after the promise. That's really not ideal. Xi doesn't care about it since the process never stops.

1-2. sounds good, let's just use our own stuff for now.

Currently some node "plugins" (just processes really) use info passed via argv/stdin. I think one-shot plugins are convenient and a simpler mental model when working in LS. So even if we instead pass info to them via RPC instead of argv at some point (or maybe read argv/stdin as JSON RPC), it's nice to have a convenience method to invoke them from LS as if they were functions, without the hassle of handling processes or pipes.

Ah, true. I guess we'll have to rely on plugins exiting themselves then. I could imagine in the future we could have a health JSON RPC call for long-lived processes and ping them to see if they're still doing OK -- if no response is received, we kill the process.

You can still pass arguments to the process like before, and if the plugin isn't listening to stdin (eg, doesn't use rpc), it will exit as expected. The API of PluginFile hasn't changed, it's still just run(onSuccess: (String) -> Void) so I'm not sure what the convenience method would look like.

I guess we could have a health check but I'm not sure i'd be useful to find plugins that have forgotten to call process.exit(): it'd be mostly for plugins with their event loop stuck

I'm mainly seeing the _ = LonaNode.runs in multiple places and wondering if we can get rid of the unused return value. There isn't a case where we actually do something with it yet.

yeah, maybe. I don't think we'll run into this for a long time, so we can think through it then.

Ah so a convenience method for LonaNode and not for PluginFile, got it


Only assign Intel 32/64 to default GCC and Clang

Context
The purpose of this change is to prevent the adding of x86 and x86_64 platforms to AbstractGccCompatibleToolchain, and instead have them added by the default Gcc (or Clang) toolchain should no other toolchains be defined in the DSL. This is beneficial for those wishing to implement cross-compiling toolchains, as I described in #2909.
To try and affect as little existing projects as possible, the default Intel platforms will be added to any toolchain that exhibits the default Gcc or Clang name (gcc or clang). Names that differ from these will be 'bare' toolchains with no default targets.
See this gist for a demonstration of the changes: https://gist.github.com/JacisNonsense/aa55c75e4c9fc784743ecd945c57071a
Please note the AbstractGccCompatibleToolchainTest changes. Tests assuming the default platforms added have been set to use another instance of toolchain where these platforms are added. Another test case has been added to confirm non-default toolchains do not gain this association by default.
As far as I can tell, no additional integration tests would be required as this only affects installed cross compilers, however I'm open to more dialog regarding this.
Contributor Checklist

[x] Review Contribution Guidelines
[x] Sign Gradle CLA
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:check

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

@eljobe is this something your team could look into?

@oehme, we'll be happy to review this contribution and help it land.

Thanks for the PR @JacisNonsense - good stuff!
A big issue with basing the behavior off of the name of the toolchain is backwards compatibility.  There may be existing builds out there that assume that a toolchain that doesn't match the default names will have the default platform support that we're trying to remove.  Certainly, they can add it back using target() statements, but their scripts will not work until they do so, so this would be a breaking change for them (which is something we want to avoid).
I have some suggestions about how we could move forward in such a way that we can preserve backwards compatibility and still address your use case, but first I'd like to challenge the assumption that this can't be done with the current functionality so that I can better understand your use case.  As I understand it,  the issue is that you want to declare support for the aarch64 platform, but you want to have two separate toolchains, and because of the default platform support that gets added to each custom toolchain, it tries to use the wrong toolchain (i.e. xgcc instead of gcc).   The question I have is, do you actually need these specified as two separate toolchains?  For instance, could you do something like this?
model {
 platforms {
    x86 { architecture 'x86' }
    x64 { architecture 'x86_64' }
    xaarch64 { architecture 'aarch64' } // Cross-platform
 }

 toolchains {
    gcc(Gcc) {
       target("x86") { ... }
       target("x64") { ... }
       target("xaarch64") { cppCompiler.executable = "aarch64-linux-gnueabi-g++" }
    }
 }
}

Or is there something about your use case I'm not understanding?
As far as a potential way forward if this is still not workable with the current functionality, I think the best way would be to introduce a setTargets(String) and setTargets(String, Action) method on GccCompatibleToolchain.  It would change the list of platformConfigs in AbstractGccCompatibleToolChain instead of adding to it.  This is a pattern you see in other parts of gradle (i.e. a method that adds to a collection and a setter that overwrites it) and it would preserve backwards compatibility of the toolchain.
In any event, thank you for the excellent PR and issue.  I'm sure we can land on a good solution here if we still need to make changes.  Please let me know if you have any questions about anything above.

Hey @ghale, thanks for the suggestion, I'll take that on board when I get some spare time.
The main reason I can't do this in the same toolchain is to support changing the search path of the toolchain. Most of this is intended for plugins that add their own toolchains to support specific targets, as this way we can register a new toolchain type that subclasses AbstractGccCompatibleToolChain and still allow users to override behaviour in the DSL if they so choose. In my experience, it is much cleaner to register another toolchain than attempting to add to the default toolchain's targets.

Closed in favor of #3124


MEQP1 does not working properly

We have executed the below command,
phpcs --standard=MEQP1 module/
But throw below errors:
PHP Fatal error:  Interface 'PHP_CodeSniffer\Sniffs\Sniff' not found in /var/www/marketplace-eqp-master/MEQP1/Sniffs/Classes/Mysql4Sniff.php on line 15
How to resolve this issue.

Hello @sankar1061! Could you please provide steps to reproduce? Describe your environment (OS, PHP version, etc) and how you've installed MEQP standard?

Helloo @lenaorobei
My system details.
OS  - Ubuntu 16.04.3
PHP -  7.0.18
MEQP installed below method.
1) I have download the marketplace-eqp-master package.
2) executed the commands ( sudo phpcs --config-set installed_paths /var/www/marketplace-eqp-master/ ).
3) Run the command phpcs -i
4) Displayed ( The installed coding standards are PSR1, MySource, PEAR, PSR2, PHPCS, Zend, Squiz, MEQP2 and MEQP1 )

Did you run composer install inside marketplace-eqp-master folder?

Yes already installed the composer

I suspect you have phpcs installed globally, and you didn't install MEQP standard correctly. I mean, you need to:

cd /var/www/marketplace-eqp-master
Run composer install command to install all dependencies
vendor/bin/phpcs --standard=MEQP1 module/

One month before, I have check the same everything working fine. But now update the folder structure in marketplace-eqp-master. In marketplace-eqp-master added the  MEQP/Utils folder. But one month before does not available. I have try to installed the old package and executed the MEQP1, all are working.

Please refer the my old package >>
marketplace-eqp-master.zip

Yes, that's correct. We updated MEQP Standard by adding new dynamic sniffs and also installation steps were changed. Please follow the instruction.

How to install the dynamic sniffs.
My system details.
OS - Ubuntu 16.04.3
PHP - 7.0.18

Installation instructions are available in README.md file.


When the first loading response is very slow, a white screen will appear.

You can try loading a slow-response URL on Android, which happens every time, such as browsing https://www.google.com in China.
Ref: https://github.com/google/accompanist/issues/1442#issuecomment-1723305205, there is a way to solve this problem, as follows:
setLayerType(View.LAYER_TYPE_HARDWARE, null) or setLayerType(View.LAYER_TYPE_SOFTWARE, null)

However, there is currently no public API to set layerType, do you have plans for to provide it?

@robxyy Thank you for your feedback! I have also identified the problem you mentioned and plan to address it at a later time. I appreciate the solution you provided and will implement it into the project soon.

It has been fixed in version 1.7.8


Unable to use virtualenv in Debian Jessie

In Debian Jessie the python-virtualenv package no longer provides a binary named virtualenv. See Debian bug #752467 for more information.
Instead of installing python-virtualenv, it apperas that one must install the package virtualenv, which installs python3-virtualenv and the /usr/bin/virtualenv script.

Hi @olavmrk
Could you send us a PR with this fix?


Issues with System.Runtime using RoslynPad in a Net 4.6.2 WPF Application

I've a Net 4.6.2 Application.
If I try to use your Nuget in this App, a reference to NetStandart2.0.1 Package is added. This Package copies System.Runtime in Version <IP_ADDRESS> to my bin directory. Also other DLLs Reference System.Runtime Nuget (4.3) wich includes System.Runtime in Version <IP_ADDRESS>
My App.config has wrong dll Redirects every time I update a nuget package, because it redirects to <IP_ADDRESS> but in the bin directory is <IP_ADDRESS>
Is it possible to remove the need of Referencing Netstandart 2.0.1?

Change references you don't want to copy to output to false

The System.Runtime is set to "false". Also the Refernce to NetStandart2.0.1 Package does not add any refernces in the Project. It adds build steps...

@jogibear9988 can you try to add the following block to your project file? This will disable the netstandard2.0 <> net46x compatibility.
    <PropertyGroup>
        <ImplicitlyExpandNETStandardFacades>false</ImplicitlyExpandNETStandardFacades>
        <DisableHandlePackageFileConflicts>true</DisableHandlePackageFileConflicts>
    </PropertyGroup>

I've had similar issues where this "helpful" compatibility copied different versions of dlls to my build output.
Note that disabling this may break you, if you actually use a netstandard2.0 dll.
Just a shot in the dark, but maybe it helps ...

This is not a problem that's specific to RoslynPad, which is just a netstandard1.3 library, and so has a dependency to NETStandard.Library (>= 1.6.1). NuGet just picked up the latest version; you can limit it by specifying the dependency behavior. My guess is that you have it set to highest (the default is lowest). If this is not the case, perhaps this issue is related.
As you can see in the demo project, referencing the packages from a 4.6.2 project works just fine.
You may also want to move to using package references instead of packages.config (it's available even for the "classic" csproj).


[Wasm] route name property returns empty

When trying updating proxy SHA (https://github.com/istio/istio/pull/28073), register only egress tcp failed because destination service name label is not blackhole. I investigate it a bit and seems like route name returns empty string with latest sha update. Will need to dig deeper on this.

Upstream tracking issue: https://github.com/envoyproxy/envoy/issues/13157


multiple test runs cause ENOENT error

After upgrading to 0.3.5 or 0.3.6, when running karma from gulp with singleRun = false:
  new karma.Server({
    configFile: __dirname + '/webpack/karma.conf.js',
    singleRun: false,
  }, done).start()

And the following reporter configuration:
    junitReporter: {
      outputDir: 'build/tests',
    },

The first execution succeeds, but upon detecting file changes, the subsequent test runs fail:
29 09 2015 17:06:02.040:WARN [reporter.junit]: Cannot write JUnit xml
	ENOENT: no such file or directory, open '/home/xxxx/dev/xxxxx/build/tests/PhantomJS_1.9.8_(Linux_0.0.0)/home/xxxx/dev/xxxx/build/tests/TESTS-PhantomJS_1.9.8_(Linux_0.0.0).xml'

(edit: I was trying a few things to fix it and pasted the wrong error path originally)
It appears to be trying to append the full original output path to the new one.
Downgrading to version 0.3.4 fixes the problem.

I'm facing the same issue here.

FYI: I no longer get this error after upgrading to 0.3.7.


ranged should be deprecated (again)

As soon as mir.image be implemented, we will have good conversions between all formats we use. ranged is functions that stretch color domain for each channel. If you apply this for not very contrast image, it will make it more contrast. This implicit filter functionality is bad practice.

If you apply this for not very contrast image, it will make it more contrast

Well, use should use histogram equalization to do that. ranged is not the right tool for contrast enhancement. There will be some more advanced methods for histogram equalization in DCV, but that's the basics.

This implicit filter functionality is bad practice

Primary use of ranged is not to adjust contrast in images. It is a simple tool, used often in signal (image) processing, in various occasions to linearly stretch the histogram. This is analogue to OpenCV's cv::normalize with norm type of NORM_MINMAX. Sorry, but ranged will not be deprecated, except mir.image can offer exactly the same functionality with as simple API.

OK, but I am worried that it is frequently used. BTW, I will add minmax to Mir and scale. So ranged will be optimized with this two functions.

BTW, I will add minmax to Mir and scale

This is a whole another story. If those functions are present in low-level API manor, I'm sold. We'll deprecate ranged.
Reopening, and idling until minmax and scale are present in mir. Good?

Yep, thanks!

Np, thank you!