Monitoring means of neural interfaces?

Brain-computer interface technology supervision objects include not only brain-computer interface technology research and development personnel, brain-computer interface technology suppliers, but also brain-computer interface technology users.(脑机接口技术监督对象既包括脑机接口技术的研发人员、脑机接口技术的供应者，也包括脑机接口技术的使用者。)
Perfect review and supervision mechanism is helpful to prevent and resolve the safety and ethics risks of brain-computer interface technology, standardize the application of brain-computer interface technology, and ensure the healthy development of brain-computer interface technology. Brain-computer interface technology research institutions shall record the clinical research projects of brain-computer interface technology before the implementation of the project. Relevant industry authorities shall strictly examine the legality and safety of clinical research projects of brain-computer interface technology, prohibit research projects that violate laws or ethics and have security risks, strengthen the review of user agreements, and ensure that the collection and use of brain-computer interface data are authorized by users. Brain-computer interface technology research institutions should fulfill the main responsibilities of technical management, do a good job in daily supervision of the use of brain-computer interface data, encrypt and protect data against viruses, restrict the sharing of neural information, Internet transmission, and long-distance program control, and avoid data privacy leakage.(完善的审查监督机制有助于防范和化解脑机接口技术的安全、伦理等风险，规范脑机接口技术应用，保障脑机接口技术的健康发展。脑机接口技术研究机构要在项目实施前对脑机接口技术的临床研究项目进行备案。相关行业主管部门要对脑机接口技术临床研究项目的合法性和安全性进行严格审查，禁止开展违反法律或伦理及具有安全风险的研究项目，加强对用户协议的审查，确保脑机接口数据的收集和使用都经过用户授权。脑机接口技术研究机构要履行技术管理主体责任，做好脑机接口数据使用的日常监管工作，对数据进行加密和防病毒保护，限制共享神经信息、互联网传输和远距离程控等行为，避免出现数据隐私被泄露的情况。)
Responses to the risks of the education metacosm:(教育元宇宙风险的应对措施)

Emotional compensation for science and technology enablement: facial expression data, body posture data, and surrounding environment data are obtained through expression recognition technology and dynamic capture technology, and emotional computing technologies such as convolutional neural network, deep learning model, and multi-mode sensor measurement are used. Identify learners' emotions from psychological, physiological and behavioral aspects. On this basis, an "emotional virtual digital person" which can read, understand, understand, have memory, self-learning, and truly understand human language, movement and expression is developed, and the emotional state of the learner is judged and understood by recognizing the expression of the learner. By identifying learners' emotional changes to change the interaction form, and then giving corresponding emotional encouragement or compensation strategies, the learners can effectively alleviate the problem of emotional lack in learning. Through the brain-brain interface, the real-time two-way non-destructive emotional interaction, stimulate the nervous system under the emotional comfort, help it form a sound personality.(科技赋能情感补偿：通过表情识别技术、动态捕捉技术获取学习者面部表情数据、身体姿态数据、周围环境数据，通过卷积神经网络、深度学习模型和多模式传感器测量等情感计算技术，从心理、生理、行为等多方面识别学习者的情感。在此基础上开发出能够读懂、看懂、听懂、有记忆、自学习，真正理解人类语言、动作与表情的"情感虚拟数字人"，通过识别学习者的表情来判断和理解其情绪状态，通过识别学习者的情绪变化以改变交互形式，然后给出相应的情感鼓励或补偿策略，从而帮助学习者有效缓解学习中情感缺失的问题。通过脑脑接口进行即时双向的无损情感交互，实现刺激神经系统下的情感慰藉，帮助其形成健全的人格);
Use VR, AI and virtual portrait technologies to establish learning ties for educational subjects and related professionals, so that any educational subject can understand and master the rules of metacosm education, and then build a security barrier and escort for education. First of all, the educational metacosm monitors, collates and analyzes all effective data generated by educated people in the learning process in real time through blockchain, edge computing, and artificial intelligence technologies, and dynamically adjusts and stores data through distributed nodes. Secondly, combining learners' historical data and real-time monitoring data, analyzing learners' behavior habits, inferring the real purpose of simulated learners based on virtual simulation technology, timely feedback and comparison of data, so as to ensure that learners will not lose themselves in the digital world and always move in the right direction. Finally, based on the tamper-proof, decentralized, distributed, irreversible, and smart contract features of the blockchain technology, a verifiable, tamper-proof, and traceable information tracing and trust mechanism is built. It can prevent teachers and students from being infringed by false, fraud and bad information, and establish security guarantee for educators and educated people in the educational meta-universe.(利用VR、AI以及虚拟画像等技术，为教育主体和相关专业人士建立学习联系，使任何教育主体都可以理解并掌握元宇宙教育中的规则，进而为受教育搭建安全屏障，保驾护航。首先，教育元宇宙通过区块链、边缘计算、人工智能等技术实时监测、整理并分析受教育者在学习过程产生的一切有效数据，通过分布式节点动态调整与存储数据。其次，结合学习者历史数据和实时监测数据，剖析学习者的行为习惯，基于虚拟仿真技术推测模拟学习者的真实目的，及时反馈并对比数据，以保障学习者在数字世界中不会迷失自我，始终朝着正确的方向前进。最后，以区块链技术的不可篡改性、去中心化、分布式、不可逆、智能合约等特性为基础，构建可验证、不可篡改、可溯源的信息追踪和信任机制，可防止师生受虚假、诈骗、不良信息的侵害，为教育元宇宙中的教育者和受教育者建立安全保障);

中国脑机接口技术监管部门：

国家卫生健康委员会：负责卫生健康领域的监管和管理，包括脑机接口技术的临床应用和医疗器械注册等方面的监管；
国家药品监督管理局：负责医疗器械的注册、审批和监管，包括脑机接口技术相关的医疗器械的注册和审批；
国家知识产权局：负责知识产权的保护和管理，包括脑机接口技术相关的专利申请和保护；
工业和信息化部：负责信息技术产业的管理和监督，包括脑机接口技术相关的信息化产业的管理和监管；
国家标准化管理委员会：负责制定和管理国家标准，包括脑机接口技术相关的标准制定和管理；
国家安全生产监督管理委员会：负责安全生产的监管和管理，包括脑机接口技术相关的安全生产监督和管理；

相关文献名称：

《医疗器械中应用的纳米技术：国家药品监督管理局监管科学研究进展》

国家药品监督管理局于2006年印发《关于纳米生物材料类医疗器械产品分类调整的通知》，规定纳米生物材料类医疗器械作为III类器械管理，该文件目前已废止；


fix: update breaking reference to the node's sizeMode

@DnMllr @gadicc

Thanks for the fast fix!
It's failing on Travis?
components/Size.js
  131:18  warning  "SizeSystem" used outside of binding context  block-scoped-var
  131:18  error    "SizeSystem" is not defined                   no-undef
✖ 2 problems (1 error, 1 warning)

Sorry, I'd usually submit a PR for something so simple, just have a few other commitments on atm and figured an early report was more helpful.

Landed as c4580714da1d5a142a428dfc215dc1094d26a4bf

Awesome, thanks, closing original issue too.


fix: hover link encode unnecessarily

This PR fixes #108819

The reason for this problem is that if you pass in a URI link, it'll call the toString function to display it .And the toString function of the URI will by default encode.
https://github.com/microsoft/vscode/blob/master/src/vs/base/common/uri.ts#L372

So is there a need for encode? If not, we can solve this problem by toString(true).

The current link.url.toString() was introduced when this feature was added in https://github.com/microsoft/vscode/commit/1c28c30760ed2f329afba38d6f523ec7199e20af by @rebornix .
@jrieken We need a bit of help here. Here we generate markdown that later on gets clicked on and reaches the opener service. What is the best way to include this link in the markdown? With .toString() or .toString(true) ?

Here we generate markdown that later on gets clicked on and reaches the opener service. What is the best way to include this link in the markdown? With .toString() or .toString(true) ?

The URI unfortunately has bugs that we cannot fix anymore (there are too many extensions relying on these bugs) and therefore links can be a string or URI. So, try to have a string. However, when having a URI it is safe to call toString(true) because it will skip all encoding except for absolutely necessary bits (like # inside the path etc). However, toString(true) might already be too late because the actual bugs in URI are in parse so it really depends on how these uris are created

OK, then I will accept the PR on the hover side.
But @jrieken the markdown link provider is stuck with using URI. I think our modes.ts allows for simple strings, but the API only allows URI here

Thank you @chenjigeng
To reproduce:
[example](https://www.example.com?encoded=unnecessarily)

But @jrieken the markdown link provider is stuck with using URI. I think our modes.ts allows for simple strings, but the API only allows URI here

Yeah, we have https://github.com/microsoft/vscode/issues/85930 for that


Automate Greeting Workflow

Description:
The current process of sending greetings to new users requires manual intervention, which is time-consuming and prone to delays. To improve user onboarding and engagement, we need to automate the greeting workflow. The automation should:

Trigger a greeting message when a new user joins or signs up.
Personalize the greeting with the user’s name.
Send the message via the platform’s default communication method (email, chat, etc.).
Include a welcome message, relevant platform information, and links to key resources (e.g., FAQ, tutorials, etc.).
Ensure the workflow is flexible to accommodate future customization, such as sending different greetings based on user roles or preferences.

Expected Outcome:
A seamless and automated greeting process that enhances user experience and reduces the time spent on manual greetings.
Technical Details:

Potential trigger: User creation or sign-up event
Message template: Should be customizable
Platform integration: Ensure compatibility with the existing communication channels

Please @DeadmanAbir assign me this task with labels "gssoc-ext", "hacktoberfest-accepted" and "level3".

Description:
The current process of sending greetings to new users requires manual intervention, which is time-consuming and prone to delays. To improve user onboarding and engagement, we need to automate the greeting workflow. The automation should:

Trigger a greeting message when a new user joins or signs up.
Personalize the greeting with the user’s name.
Send the message via the platform’s default communication method (email, chat, etc.).
Include a welcome message, relevant platform information, and links to key resources (e.g., FAQ, tutorials, etc.).
Ensure the workflow is flexible to accommodate future customization, such as sending different greetings based on user roles or preferences.

Expected Outcome:
A seamless and automated greeting process that enhances user experience and reduces the time spent on manual greetings.
Technical Details:

Potential trigger: User creation or sign-up event
Message template: Should be customizable
Platform integration: Ensure compatibility with the existing communication channels

Please @DeadmanAbir assign me this task with labels "gssoc-ext", "hacktoberfest-accepted" and "level3".

not relevant to our project for now!


Respect output_ignorelist for macro definitions

When trying to generate bindings for the p4est headers, adding sc_MPI to the output_ignorelist setting in the generator.toml has no effect: Macros of the type
#define sc_MPI_COMM_WORLD          MPI_COMM_WORLD

are still translated to
const sc_MPI_COMM_WORLD = MPI_COMM_WORLD

It seems like macro printing ignores the output_ignorelist, or am I missing something? If I am right, can this be easily fixed?

I can not reproduce this.
It should be handled here: https://github.com/JuliaInterop/Clang.jl/blob/9931c38d6d699f49923206a2c1bece819ef017c7/src/generator/passes.jl#L957
julia> using Clang.Generators

julia> args = get_default_args()
6-element Vector{String}:
 "-isystem/Users/gnimuc/.julia/ar" ⋯ 61 bytes ⋯ "64-apple-darwin14/4.8.5/include"
 "-isystem/Users/gnimuc/.julia/ar" ⋯ 67 bytes ⋯ "le-darwin14/4.8.5/include-fixed"
 "-isystem/Users/gnimuc/.julia/ar" ⋯ 47 bytes ⋯ "9/x86_64-apple-darwin14/include"
 "-isystem/Users/gnimuc/.julia/ar" ⋯ 60 bytes ⋯ "e-darwin14/sys-root/usr/include"
 "-isystem/Users/gnimuc/.julia/ar" ⋯ 74 bytes ⋯ "-root/System/Library/Frameworks"
 "--target=x86_64-apple-darwin14"

shell> cat test.h
#define sc_MPI_COMM_WORLD          MPI_COMM_WORLD
typedef int cs_long_t;
typedef void * cs_dl;

cs_long_t cs_dl_fkeep (cs_dl *A, cs_long_t (*fkeep) (cs_long_t, cs_long_t, double, void *), void *other) ;

julia> ctx = create_context("./test.h", args, Dict("general"=>Dict{String,Any}("output_ignorelist"=>["sc_MPI_COMM_WORLD"])))
[ Info: Parsing headers...
Context(...)

julia> build!(ctx)
[ Info: Processing header: test.h
[ Info: Building the DAG...
┌ Warning: default libname: ":libxxx" is being used, did you forget to set `library_name` in the toml file?
└ @ Clang.Generators ~/.julia/dev/Clang/src/generator/audit.jl:16
[ Info: Emit Julia expressions...
const cs_long_t = Cint

const cs_dl = Ptr{Cvoid}

function cs_dl_fkeep(A, fkeep, other)
    ccall((:cs_dl_fkeep, libxxx), cs_long_t, (Ptr{cs_dl}, Ptr{Cvoid}, Ptr{Cvoid}), A, fkeep, other)
end

[ Info: Done!
Context(...)

You are right. It was a user error: After editing export_symbol_prefixes, I assumed (without checking) that output_ignorelist also works with prefixes and thus added only sc_MPI_. Once I add the complete symbol name sc_MPI_COMM_WORLD, it is not printed as expected. Thus... 🤦🙈
Having said this: Is there a way to apply prefixes (or even patterns) in the output_ignorelist?
In any case, thank you very much for the swift support!

Having said this: Is there a way to apply prefixes (or even patterns) in the output_ignorelist?

That's a good idea. Would you like to submit a PR? The corresponding lines are https://github.com/JuliaInterop/Clang.jl/blob/9931c38d6d699f49923206a2c1bece819ef017c7/src/generator/passes.jl#L853-L860

Would you like to submit a PR?

I would, but alas, I do not have enough time at the moment to do this right. I could, however, create an issue for it to keep track of the idea, if that would be helpful as well.

closed by #385


Fix broken links to the docs

Fixed the broken links inside of the README.md file.

LGTM

These are being fixed in #325. Thank you for the PR.

Should I close this PR then?

@flavio I'll hold off until the other is merged and use this as a double check.


added parameter validation

Issue #14
parameter validation
Changes

Added parameter validation for the three commands

Currently the user won't know which env variable is missing, since only Environment variable is empty is echoed. Furthermore, I don't think we should execute the curl command if one of the required parameters, like the token or chat id, is missing.

Thanks for the changes @rmoswela. One more request: the sendphoto command is already implemented. Could you remove it from your PR?

Closed since both of these features are already implemented.


Destructuring allows me to bypass prop-types rule

When I use this rule:
"react/prop-types": 2,
This code
var testing = this.props.something;

yields this
  31:33  error  'something' is missing in props validation  react/prop-types

which I expect.
When I use destructuring however:
let {something} = this.props;

There is no eslint error.

Destructuring is handled since v2.0.0 and prop-types should yields about the missing props validation.
With the following configuration I have the expected behavior with eslint 0.22.1 and eslint-plugin-react 2.5.0:
test.js
var Hello = React.createClass({
  render: function() {
    let {firstname} = this.props;
    return
Hello {firstname}
;
  }
});

.eslintrc
{
  "env": {
    "node": true,
    "es6": true
  },
  "ecmaFeatures": {
    "jsx": true
  },
  "plugins": [
    "react"
  ],
  "rules": {
    "react/prop-types": 2
  }
}

$ eslint --reset test.js

test.js
  3:9  error  'firstname' is missing in props validation  react/prop-types

✖ 1 problem (1 error, 0 warnings)

If you still have the problem, can you post your full source code and .eslintrc configuration ? Thanks.

Destructuring listing works fine for case with this.props
let {firstname} = this.props;

but rule can't handle case of destructuring this object:
let { props: { firstname } } = this

@stremlenye

let { props: { firstname } } = this

You're right, this case is not handled right now, but this is not the case reported by @jamischarles

This may be related, or a new issue, but I have this problem:
eslint-plugin-react version: 2.6.2
eslint version: 0.24.0
In .eslintrc I have "react/prop-types": 2
My code: const {stores, section} = this.props.content;
And the propTypes:
Section.propTypes = {
    content: PropTypes.shape({
        section: PropTypes.object.isRequired,
        stores: PropTypes.object.isRequired
    })
};

Results in the error 'stores' is missing in props validation for Section   react/prop-types (and same error for section)
If I define my propTypes like this I don't get an error, but this is not what my propTypes should look like.
Section.propTypes = {
    content: PropTypes.object,
    stores: PropTypes.object,
    section: PropTypes.object
};

Of course if I define my consts like this I also don't get the error:
const stores = this.props.content.stores;
const section = this.props.content.section;

As I see it's two different issues.
The first id about destructuring, the second is handling shape clause.
As I've got from the estree docs there are different mechanics to investigate if property was supplied to shape func or as plain object.
As for me to get such deep analysis is out of the scope of the eslint rule. It looks like a static type check.

Yep, it seems there is a lot of different prop-types issues here, I'll try to clean this up:

@jamischarles As said in https://github.com/yannickcr/eslint-plugin-react/issues/104#issuecomment-111828230, I was not able to reproduce your issue.
@stremlenye https://github.com/yannickcr/eslint-plugin-react/issues/104#issuecomment-115703465 is a different issue but it should be fixed in v2.6.2.
@davidgilbertson https://github.com/yannickcr/eslint-plugin-react/issues/104#issuecomment-116862534 seems to be related to the new nested props support (introduced in v2.6.0). I'll have a look, but can you create another issue for this ? Thanks.

@jamischarles I will close this issue for now, feel free to re-open it if you have more information to share about the problem you encountered and how to reproduce it.

Thx @yannickcr
Do you need a new issue to be created for my clause?

Do you talk about the let { props: { firstname } } = this problem ?
If it's the case, no it is not needed since the issue was already resolved.

Thanks for the quick reply, guys. Created issue https://github.com/yannickcr/eslint-plugin-react/issues/136


how to write test for chairo plugin services register on server object.

HI Franzip, I am nodejs developer and using this boilerplate for one of my project. I am happy to use this for all the future projects.
But right now, i am not getting how to write test case for the following code.
server.seneca.add({role : 'someRole', cmd : 'someCommand'}, (message, next) => {
// bussiness logic which i need to test
});
seneca.test.js
	'use strict';

	const Lab = require('lab');
	const Code = require('code');
	const Hapi = require('hapi');
	const Config = require('../config');
	const Dogwater = require('dogwater');

	const lab = exports.lab = Lab.script();
	const describe = lab.describe;
	const it = lab.it;
	const before = lab.before;
	const beforeEach = lab.beforeEach;
	const afterEach = lab.afterEach;
	const after = lab.after;
	const expect = Code.expect;

	describe('seneca', () => {

		let server;

		before((done) => {

	        server = new Hapi.Server();
	        server.connection();

	        server.settings.app = Config;

	        server.register([{
	            register: Dogwater,
	            options : {
			        connections: {
				      tmc_backend: {
				        adapter: 'sails-mongo',
				        host: 'mongo_test',
				        port: 27017,
				        database: 'billwise'
				      }
				    },
				    adapters: {
				      'sails-mongo': require('sails-mongo')
				    },
				    models: require('path').resolve('../src', 'models')
				}
	        },
	        { register: require('chairo'),
				options: {
				  timeout: 999999999
				}
	        },
	        { register : require('../lib') }
	        ], (err) => {

	            if (err) {
	                return done(err);
	            }

	            server.initialize(done);
	        });
		});

		after((done) => {
			server = null;
			done();
		});

		it('should execute the defined action', (done) => {
			server.seneca.act({ role : 'add', cmd : 'addingNumber'}, (err, result) => {
				expect(err).to.not.exist();
				done();
			});
		});
	});

the above test stops at "expect(err).to.not.exist()" even though err occurs or result is received.
So, i am confused whether i am going in wrong direction? Any help would appreciate.
Please Note:- I am not using Labbable server.

Hi @saurabhghewari
Unfortunately I could not reproduce your issue.
If you are willing to stick to the opinionated conventions that this project follows, testing seneca with Labbable is as easy as the adding the following to your tests;
it('has working services', (done) => {
  server.seneca.act({ generate: 'id' }, (err, result) => {
    expect(err).to.not.exist();
    expect(result.id).to.equal(1);
    done();
  });
});

Sorry for late response. Thank you for the answer. I will give it a try.

Are you planing to migrate this project to Hapi 17 from Hapi 16?
Here you can find the documentation for latest hapi api.
Hapi17


Run Tox Test Environments in Parallel

See title! I'm really hoping to see this really cut our runtime down. Let's find out!
@Azure/azure-sdk-eng

So is this relying on a built in parallelism mechanism?

Yeah. The key fix isn't actually in this PR. This fix to the plugin tox-monorepo is what I think will fix the parallelism issues we were having in the past. Here's hoping!

/azp run python - storage - ci

/azp run python - core - ci

/azp run python - keyvault - ci

Can one of the admins verify this patch?

/azp run python - storage - ci

/azp run python - core - ci

/azp run python - eventhub - ci


⚠ ClamAV has degraded performance

In 5c7b0ed, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 639 ms

Resolved: ClamAV performance has improved in 65d6d6f.


Missing MONDO -> EFO xref for Bronchitis

Mondo term (ID and Label):
MONDO_0003781 (Bronchitis)
https://www.ebi.ac.uk/ols/ontologies/mondo/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FMONDO_0003781
Xref that should be fixed (ID and label):
EFO_0009661 (Bronchitis)
https://www.ebi.ac.uk/ols/ontologies/efo/terms?iri=http%3A%2F%2Fwww.ebi.ac.uk%2Fefo%2FEFO_0009661
Other comments:
Not an expert here, but the terms seem identical in both ontologies, so I'm assuming they should be matched.
EFO has an xref to the MONDO term here, but MONDO is missing the xref to EFO.

you are correct @darintay, thank you!
I fixed this on a PR, it will be available in the next release.


Tutorial: Send push notifications to Xamarin.Forms apps using Azure Notification Hubs via a backend service

If want to sent notifications to individual devices, would you recommend to register the device with a unique Tag for that device and then send the push notifications to just that Tag?  This seems the obvious method of accomplishing what I want to do but just wanted your thoughts.  Thanks.

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

ID: ae6b97ae-ec64-6de9-8f02-16f91f5f9519
Version Independent ID: d9748b97-4afb-fc97-9598-188bd460cc13
Content: Send push notifications to Xamarin.Forms apps using Azure Notification Hubs via a backend service
Content Source: articles/mobile-apps/notification-hubs-backend-service-xamarin-forms.md
Service: mobile-services
GitHub Login: @mikeparker104
Microsoft Alias: miparker

Closing this issue due to staleness. We apologize for the delayed response. If you are still encountering the problem you've described, please re-open the issue within 2 weeks and we'll take a look. Thanks!
#label:"UUF-Stale-Not Planned"


[Metadata] Kerbal Health seems to have some sort of bad data

When updating Kerbal Health to 1.4.6:
CKAN.InvalidModuleFileKraken: KerbalHealth v1.4.6: _%appdata%_\Local\Temp\tmp8C6C.tmp has length 108046, should be 108051
   at CKAN.NetModuleCache.Store(CkanModule module, String path, String description, Boolean move)
   at CKAN.NetAsyncModulesDownloader.ModuleDownloadComplete(Uri url, String filename, Exception error)

I've attempted deleting the file pointed to and trying again, and removing extra temporary files to move where the file lands on the SSD. All other mods appear to be updating correctly.

Looks like a ninja reupload from the author. The bot has already picked up the changed zip and updated the metadata: https://github.com/KSP-CKAN/CKAN-meta/commit/7904dc038c013a239868525252b7809da0c7fa45#diff-29595738c0c9be568f955e17f2ba8fd0
Try hitting "Refresh" in CKAN and try again, it should work then.

Huh, yup. Guess I had bad timing there - I know there were a couple of issues with the upload mentioned on the mod page, but they'd been more than a few hours prior to the report.
Thanks @DasSkelett ! I'll close this.


Relax C-string constraint: allow null in strings

Some input data contains nulls, so we can't outlaw it. Eventually it
would be nice to support these, but for now we can just copy it over.
The evaluator will only see the prefix of the string up to the first
null.
! @jystic @tranma

Ok, it passes tests here and a couple of times locally. I think all the generators must be using muppets, so no NUL in strings.

👍 Looks good, how sad :(


[now-cli] Add platform in Sentry report

This PR attach platform to Sentry report. Fix: #2743

Codecov Report

Merging #2960 into canary will decrease coverage by 0.56%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           canary    #2960      +/-   ##
==========================================
- Coverage   12.04%   11.47%   -0.57%
==========================================
  Files         267      267
  Lines       10173    10098      -75
  Branches     1285     1300      +15
==========================================
- Hits         1225     1159      -66
+ Misses       8857     8850       -7
+ Partials       91       89       -2

Impacted Files
Coverage Δ

src/util/output/create-output.ts
31.25% <0%> (-12.34%)
:arrow_down:

src/util/prefer-v2-deployment.ts
56.25% <0%> (-5.66%)
:arrow_down:

src/util/dev/router.ts
78.57% <0%> (-4.13%)
:arrow_down:

src/util/get-files.ts
87.77% <0%> (-3.89%)
:arrow_down:

src/util/projects/get-project-by-id-or-name.ts
25% <0%> (-3.58%)
:arrow_down:

src/util/report-error.js
0% <0%> (ø)
:arrow_up:

src/util/metrics.ts
70.58% <0%> (+2.4%)
:arrow_up:

src/util/dev/builder-cache.ts
80.86% <0%> (+3.42%)
:arrow_up:

Continue to review full report at Codecov.

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


Support writing Debug Messages from MobiFlight Firmware to log

Is your feature request related to a problem? Please describe.
We have added a log message type to the firmware code which is useful during development.
Describe the solution you'd like
MobiFlight Firmware Log messages are printed to debug log on MobiFlight Connector side.
Describe alternatives you've considered
Not print it.

duplicate of #854


#112 roles and permissions update (WIP)

Added referential integrity for user groups.
Factorized unit tests code.
Rollback / delete unit test data.

Need to correct linting errors and to upgrade Python scripts to take into account the new column user_group_id (instead of user_group)


Mount functions not working properly when switching tabs

Version
Tell us which versions you are using:

react-native-router-flux v3.38.0
react-native v0.42.3

Expected behaviour
I have 2 tabs right now. I'd like to call a specific function every time I arrive on one of these tabs, in the componentWillMount method if possible.
Actual behaviour
I tried to do so but the behavior is kind of weird. Let's say I have 2 tabs A and B. When I launch my app, A is mounted and my function is called. I switch to tab B, tab B is mounted and my function on tab B is called. I switch back to A, A is unmounted and re-mounted, my function is called. Until now, everything worked as expected but when I switch back to B, B isn't unmounted and re-mounted and my function isn't called because B's componentWillMount function is not called. From now on, none of the componentWillMount or componentWillUnmount is called on any of both tabs and I can't call my function.
I feel like I have the exact opposite behavior of that guy's issue: https://github.com/aksonov/react-native-router-flux/issues/1725
Thanks in advance :)

Hi !
Any news on this ?

Check the issues with "lifecycle" will show you the fact that RNRF does not run the lifecycle methods during tab switching, lifecycle method is called only when:

props change (made by react-redux's mapStateToProps or passing props when loading tabs)
RN unmounted it for saving memory

Some solutions suggest using your own reducer, or changing the component logics.
FYI
The non-redux Solution is not well mentioned in the docs, require override onPress function of tab (scene with icon) in order to pass your own parameter:
https://github.com/aksonov/react-native-router-flux/blob/master/docs/OTHER_INFO.md#tabbar
  <Scene
    key="myTab"
    title="My Tab"
    icon={MyTabIcon}
    onPress={()=> {
      Actions.myTab({propsToPass});
    }}
   >
     //...Available Scenes inside "My Tab"...//
  </Scene>

Thanks for pointing out the onPress method.  It's not well mentioned in the doc (https://github.com/aksonov/react-native-router-flux/blob/master/docs/API_CONFIGURATION.md) as you said it :/. Maybe this should be ...
Either way, thanks :)


Tutorial Cross Contract Communication

What does this PR fix/introduce?
Tutorial for Cross Contract Communication
Additional context
Step by step tutorial on writing contracts and interacting with them using the CLI and passing parameters to the deploys.
The goal is to provide enough information to be able to grasp one of most important topics in the development of the cross contract communication on the Casper Network.
Checklist
(Delete any that aren't relevant)

[x] Docs are successfully building - yarn install && yarn run build.
[x] For new internal links I used relative file paths (with .md extension) - e.g. ../../faq/faq-general.md - instead of introducing absolute file path, or relative/absolute URL.
[x] All external links have been verified with yarn run check:externals.
[x] My changes follow the Casper docs style guidelines.
[x] All technical procedures have been tested (if you want help with this, mention it in Reviewers).
[x] If structural changes are introduced (not just content changes), cross-broswer testing has been completed.

Reviewers
// Tag whoever needs to review. If you're not sure, leave blank.

Needs to be in the sidebar menu on the left-hand side. it's in the TOC for advanced tutorials but not in the menu


close#1

Adding Search option in nav bar

Adding Search option in nav bar

Hey @yashgautam9274 , you have not written the views function. Do refer https://github.com/diyajaiswal11/Bloggitt/issues/1#issuecomment-734933456 and make the changes.

I don't know how to solve this issue

I don't know how to solve this issue

Do you have basic idea of Django?? @yashgautam9274

no i know only  html ,css,python,little php

no i know only html ,css,python,little php

Would you like to work on this issue? I can send some links where you can refer how to solve this issue.

ok
i want to work on your readme file . i can added code of conductance , contibution guidelines file and link them in readme.md and many other beautiful thing in u readme file

ok
i want to work on your readme file . i can added code of conductance , contibution guidelines file and link them in readme.md and many other beautiful thing in u readme file

Okay!!


Added back button for nav bar

What's in this PR?
Replace this text with information about what's in your PR. What's changed? Why has it changed? Reference any GitHub issue this PR relates to, etc.

Added back button in nav bar

Pre-merge checklist
Before merging any PR, please check the following common things that should be done beforehand. These aren't all always required, so just check the box if it doesn't apply.

[ ] When adding files, make sure they're added to the right target. If you're adding new files that should be bundled up with Cocoapods etc, they need to be added to the TABTestKit target, not Pods-TABTestKit_Example etc.
[ ] Run pod install to ensure that the latest changes are in the Example project. Without this, Carthage might not see the latest changes.
[ ] Added and updated tests where possible. This isn't always possible but try wherever you can. The example app contains UI tests to test many of the TABTestKit features.
[ ] Updated the CHANGELOG. For any changes pending a release, add to the Pending section. For releases, move everything pending to the release section.
[ ] Updated the README. Add info for any new features, update existing info for anything that's changed or needs extra info.

A different solution would be to add a custom Element, don't know what would be preferred?
Example:
struct BackBarButton: Element, Tappable {
    let id: String? = nil
    let index: Int = 0
    let parent: Element = NavBar()
    let type: XCUIElement.ElementType = .button
}

A different solution would be to add a custom Element, don't know what would be preferred?
Example:
struct BackBarButton: Element, Tappable {
    let id: String? = nil
    let index: Int = 0
    let parent: Element = NavBar()
    let type: XCUIElement.ElementType = .button
}

I personally prefer this because it means you're still enforcing that all buttons should have some sort of ID, unlike if you allow nil as the id (which I hope helps with accessibility in the app because people will have to assign an accessibility label or identifier)

Don't most back buttons have a specific title or label? Either "Back" or the title of the previous screen? This could maybe be solved with an extension or update on NavBar:
extension NavBar {

  func backButton(titled title: String = "Back") -> Button {
    return Button(id: title, parent: self)
  }
}

Don't most back buttons have a specific title or label? Either "Back" or the title of the previous screen? This could maybe be solved with an extension or update on NavBar:
extension NavBar {

  func backButton(titled title: String = "Back") -> Button {
    return Button(id: title, parent: self)
  }
}

By default the back item has the title of the previous screen, so I guess that won't work
print(navigationController!.navigationBar.backItem!)
// output: <UINavigationItem: 0x7ff8fb006180> title='sdgsdfgdf'

Don't most back buttons have a specific title or label? Either "Back" or the title of the previous screen? This could maybe be solved with an extension or update on NavBar:
extension NavBar {

  func backButton(titled title: String = "Back") -> Button {
    return Button(id: title, parent: self)
  }
}

By default the back item has the title of the previous screen, so I guess that won't work
print(navigationController!.navigationBar.backItem!)
// output: <UINavigationItem: 0x7ff8fb006180> title='sdgsdfgdf'

Yeah that's what I said 😬 in your tests you'd have to know what the previous screen was so you can tap the back button, but since you're in control of your tests that shouldn't be a problem?
Given(I: tap(navBar.backButton(titled: "sdgsdfgdf")))

I have to check in our real project, because we are doing some magic to hide the title in the navigationbar

I have to check in our real project, because we are doing some magic to hide the title in the navigationbar.
Also the default "Back" could be language specific.
In our project the title seems to be empty
po navigationController?.navigationBar.backItem?.backBarButtonItem
▿ Optional<UIBarButtonItem>
  - some : <UIBarButtonItem: 0x7fa3ffc5d8c0> menuOnTouchDown menu=0x6000013bad50 title=''

You could just remove the default, it was there as a suggestion :)
I'm guessing the title is "" because you've removed the title and just have an arrow? What happens for VoiceOver when it navigates over that, I assume it just reads out "Back"? It might be worth putting a breakpoint in your tests when the button is visible and then printing out the hierarchy so you can see what the tests can see:
po App.shared or po NavBar()
Alternatively you might be able to just use the Accessibility Inspector. As a last resort you could add a custom accessibilityIdentifier to the back button wherever you're removing the title?

Yeah there you go, "Vorige" is dutch for "Previous"
NavigationBar, 0x60000309a4c0, {{0.0, 58.0}, {414.0, 56.0}}, identifier: 'LargeTitleView'
   Button, 0x60000309a5a0, {{0.0, 64.0}, {44.0, 44.0}}, label: 'Vorige'

Yeah there you go, "Vorige" is Dutch for "Previous"
NavigationBar, 0x60000309a4c0, {{0.0, 58.0}, {414.0, 56.0}}, identifier: 'LargeTitleView'
   Button, 0x60000309a5a0, {{0.0, 64.0}, {44.0, 44.0}}, label: 'Vorige'

Cool so in your tests you could just use navBar.backButton(titled: "Vorige"), or you might be able to add an accessibilityIdentifier which would remain consistent between languages

Yeah there you go, "Vorige" is Dutch for "Previous"
NavigationBar, 0x60000309a4c0, {{0.0, 58.0}, {414.0, 56.0}}, identifier: 'LargeTitleView'
   Button, 0x60000309a5a0, {{0.0, 64.0}, {44.0, 44.0}}, label: 'Vorige'

Cool so in your tests you could just use navBar.backButton(titled: "Vorige"), or you might be able to add an accessibilityIdentifier which would remain consistent between languages

Sounds like a plan! I just reverted my previous commit & processed your feedback :)


4.2.0 Cannot find module '/node_modules/astro-purgecss'

Describe the bug
Perhaps related to #571, but after updating to "astro-purgecss": "^4.2.0", I can no longer start my dev server:
Cannot find module '/Users/ .... /node_modules/astro-purgecss/dist/utils'
full console output
    > astro dev
11:23:35 AM [vite] Error when evaluating SSR module /Users/ .... /astro.config.mjs: failed to import "astro-purgecss"
|- Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/ .... /node_modules/astro-purgecss/dist/utils' imported from /Users/ .... /node_modules/astro-purgecss/dist/index.mjs
    at finalizeResolution (node:internal/modules/esm/resolve:264:11)
    at moduleResolve (node:internal/modules/esm/resolve:924:10)
    at defaultResolve (node:internal/modules/esm/resolve:1148:11)
    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:390:12)
    at ModuleLoader.resolve (node:internal/modules/esm/loader:359:25)
    at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:234:38)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:87:39)
    at link (node:internal/modules/esm/module_job:86:36)

[astro] Unable to load your Astro config

Cannot find module '/Users/ .... /node_modules/astro-purgecss/dist/utils' imported from /Users/ .... /node_modules/astro-purgecss/dist/index.mjs
  Stack trace:
    at finalizeResolution (node:internal/modules/esm/resolve:264:11)
    at defaultResolve (node:internal/modules/esm/resolve:1148:11)
    at ModuleLoader.resolve (node:internal/modules/esm/loader:359:25)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:87:39)

To Reproduce
Update to or install astro-purgecss v 4.2.0 via
npx astro add astro-purgecss
npm i astro-purgecss@latest also fails to create a /node_modules/astro-purgecss/ directory.
Additional context
I am not setting the 'site' param in config and am also using the experimental envField however I do not believe either of these has any bearing on this current issue.
astro.config.mjs
import { defineConfig, envField } from "astro/config";

import icon from 'astro-icon';
import purgecss from "astro-purgecss";

export default defineConfig({
  build: {
    inlineStylesheets: 'auto'
  },
  // site: 'https://example.com', // We are not setting this as we want to deploy to multiple domains, e.g. yourname.github.io and yourname.com.
  integrations: [icon(), purgecss()],
  output: 'static',
  experimental: {
    env: {
      schema: {
        PUBLIC_CANONICAL: envField.string({
          context: "server",
          access: "public",
          optional: true
        }),
        PUBLIC_MIRROR: envField.string({
          context: "server",
          access: "public",
          optional: true
        })
      }
    }
  }
});

Rolling back to 4.1.1 works as expected.

thanks @bnjmnrsh for reporting I will be reverting back the changes.

<EMAIL_ADDRESS>has been pushed, changes has been reverted, should work as expected. thanks


SRFGlobal recommendation proposition is too old

Issue type
Incorrect behavior
Description of the problem
When playing the latest episode of #SRFGlobal in applications, the next episode is from 2015.
Same for #SRFGlobal audio.
Environment information

Client (web brower, application, …): Play SRF iOS and Android applications
Client version: Any
Device: Any

Reproducibility
Always reproducible
Steps to reproduce

Search for #SRFGlobal show, video or audio.
Play the first episode in the list (latest one)
Seek to the end and display next content proposition

https://playfff-dev.herokuapp.com/api/v2/playlist/recommendation/continuousPlayback/urn:srf:video:89a60795-45d1-4223-9888-738afb1c89e9?standalone=false

Instead for having 100 episodes to select episode order, a new environment variable is introduced:

ASCENDING_EPISODES_MAX (optional, integer): max episodes for a show to be considered as a podcast with ascending published date. If not set, defaults is 25.

Only a show with 25 episodes or less with play the first episode after playing the newest one.


Cow: Watch ma-codereduc.fr

Cow requests the watch of the watch_keyword ma-codereduc\.fr. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

ma-codereduc\.fr has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Add Animated Background

Is your feature request related to a problem? Please describe.
Animated Background
Describe the solution you'd like
Animated Background using pure css and html

Is your feature request related to a problem? Please describe. Animated Background
Describe the solution you'd like Animated Background using pure css and html

Assigning this to you !🎊🎊🎊🎊🎊make sure you follow previous merged prs.


Switching Set (ss1) MPD points to wrong location for media segments

Currently the ss1 MPDs point to the <stream_ID> sub-folder (e.g. t19) for the media segments, but the actual test streams are in the <stream_ID>/<upload_date> sub-folder.
Example:

ss1 points to: cfhd_sets/14.985_29.97_59.94/t19
expected: cfhd_sets/14.985_29.97_59.94/t19/2022-10-17

Sorry I must have missed something.
I took the first ss1 in the database: https://dash.akamaized.net/WAVE/vectors/cfhd_sets/12.5_25_50/ss1/2022-10-17/avc_12.5_25_50_ss1_stream_v4.mpd
If I look online, I see: https://dash.akamaized.net/WAVE/vectors/cfhd_sets/12.5_25_50/ss1/2022-10-17/cfhd_sets/12.5_25_50/t19/
If I unzip the archive, I see:
 creating: cfhd_sets/12.5_25_50/t19/

What is the issue?
Note that the ss1 itself is in a "2022-10-17" folder e.g. "https://dash.akamaized.net/WAVE/vectors/cfhd_sets/12.5_25_50/ss1/2022-10-17/".

Sorry if I wasn't clear. The MPD expects the segments to be located in the tN folders.
E.g. cfhd_sets/14.985_29.97_59.94/t19/init.mp4
<AdaptationSet segmentAlignment="true" maxWidth="1920" maxHeight="1080" maxFrameRate="60" par="16:9" lang="und" startWithSAP="1" contentType="video" containerProfiles="'cmf2','cfhd'" initializationPrinciple="cfhd_sets/15_30_60/t19/init.mp4" >
And the segments are indeed in that folder in the ss1.zip files.
So the upload_date sub-folder is missing from the ss1 folder structure in the MPDs and zips.

So the upload_date sub-folder is missing from the ss1 folder structure in the MPDs and zips.

Yes, that's intended. As I wrote above: "Note that the ss1 itself is in a "2022-10-17" folder e.g. https://dash.akamaized.net/WAVE/vectors/cfhd_sets/12.5_25_50/ss1/2022-10-17/". So the full path of the txx (e.g. t19) content contains the date.
Is it an issue for you, or were you just surprised that the folder structure was different in this case?

Yes, that's intended.
Is it an issue for you, or were you just surprised that the folder structure was different in this case?

Neither, it just doesn't match with the agreed structure.
I don't think it makes sense to have duplicates of the same test streams, or to have a mix of chdf and cfhd within the cfhd_sets folder.
If this is a concern, happy to discuss/clarify.
I expected the following:
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/ss1.zip
and when extracting ss1.zip for AVC 15_30_60:
https://dash.akamaized.net/WAVE/vectors/avc_15_30_60_ss1_stream.mpd

referencing:
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t19/2022-10-17/1/init.mp4
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t19/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/chdf_sets/15_30_60/t20/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t23/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t24/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t25/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t28/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t32/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t34/2022-10-17/1/$Time$.m4s

I.e. using the same media segments as the single representation test streams.
And it seems that we have:
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/ss1.zip
intended to be extracted as:
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/avc_15_30_60_ss1_stream.mpd

referencing:
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t19/init.mp4
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t19/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/chdf_sets/15_30_60/t20/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t23/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t24/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t25/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t28/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t32/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t34/$Time$.m4s

Neither, it just doesn't match with the agreed structure.

I don't mind changing the structure. However I don't feel like the agreed structure would have to apply to any sub-structure. The current choice is just trying to avoid name collisions.

I don't think it makes sense to have duplicates of the same test streams

I agree, but this is what was decided during the calls. That's because eventually or switching sets could refer to audio streams etc. that could be accidentally moved or deleted ; we would not know which ss depends on which test stream.

or to have a mix of chdf and cfhd within the cfhd_sets folder.

I think having ss1 using both raises the question of where ss1 belongs. I mentioned it in a call and I was told to put it anywhere, so I put it in cfhd. But where would we put it once we integrate audio etc.?
I am not against re-opening this discussion. Its' just that at this point I don't understand which problems we are trying to solve.

@rbouqueau Do not use duplicate copies of the content anymore in the mpd. But the zip would contain all the necessary content.
@nicholas-fr Where do we put ss1? In the vector/ folder, unless told otherwise. Please confirm.

Waiting for the confirmation this is ok to update the content.

I propose to use the following structure and MPD name for ss1 and other stream IDs that use media segments from the single representation test streams (t1..t34):
<codec>/<frame_rate_family>/<stream_id>/<upload_date>/<stream_id>.zip
<codec>/<frame_rate_family>/<stream_id>/<upload_date>/stream.mpd
e.g. https://dash.akamaized.net/WAVE/vectors/avc/15_30_60/ss1/2022-10-17/ss1.zip
e.g. https://dash.akamaized.net/WAVE/vectors/avc/15_30_60/ss1/2022-10-17/stream.mpd
Where the MPD references (via relative reference) the same media segments as the single representation test streams:
https://dash.akamaized.net/WAVE/vectors/avc/15_30_60/ss1/2022-10-17/stream.mpd

https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t19/2022-10-17/1/init.mp4
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t19/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/chdf_sets/15_30_60/t20/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t23/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t24/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t25/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t28/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t32/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t34/2022-10-17/1/$Time$.m4s

To clarify, this proposal would:

Change the ss1 MPD name
Change the ss1 zip and MPD location (folder structure).

Currently we have:
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/ss1.zip
intended to be extracted as:
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/avc_15_30_60_ss1_stream.mpd
referencing:
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t19/init.mp4
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t19/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/chdf_sets/15_30_60/t20/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t23/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t24/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t25/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t28/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t32/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/ss1/2022-10-17/cfhd_sets/15_30_60/t34/$Time$.m4s
With the proposal in the folder structure, "cfhd_sets" would change to "avc", and the MPD filename would change from "avc_15_30_60_ss1_stream.mpd" to "stream.mpd" and would be extracted to the ss1/<upload_date> folder, using the same approach as t1..t34:
https://dash.akamaized.net/WAVE/vectors/avc/15_30_60/ss1/2022-10-17/ss1.zip
intended to be extracted as:
https://dash.akamaized.net/WAVE/vectors/avc/15_30_60/ss1/2022-10-17/stream.mpd
referencing:
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t19/2022-10-17/1/init.mp4
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t19/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/chdf_sets/15_30_60/t20/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t23/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t24/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t25/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t28/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t32/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t34/2022-10-17/1/$Time$.m4s

Two questions:

What happens when a switching set contains several codecs? Why not use a switching_sets/ folder instead of codec/? (I realize we would then have to handle switching sets "naming/ordering" with a global approach)
Is it ok for everyone to have absolute URLs in the MPD? @nicholas-fr do you confirm it is what you intent? or do we expect people to extract the other zips as well?

@rbouqueau
Regarding 1, I was thinking we would always use the "main" codec as the reference point, e.g. the AVC codec switching test would be under avc/* even if it uses the same tracks and media segments as the HEVC codec switching test.
It might be harder to manage unique switching set naming globally.
Regarding 2, I'm not proposing to change the referencing, I would propose to continue using relative URLs.
Likewise, the zips (e.g. ss1.zip) could be extracted to the root folder (vectors) and would contain the MPD and the media segments. Unless there are concerns with that.

Agreement from today's goal:

replace avc/ by switching_sets/
the server folder only contains the mpd (with relative URLs) and a zip (containing the same MPD + the content from the relative vectors)

This would give:
https://dash.akamaized.net/WAVE/vectors/switching_sets/15_30_60/ss1/2022-10-17/stream.mpd
and
https://dash.akamaized.net/WAVE/vectors/switching_sets/15_30_60/ss1/2022-10-17/ss1.zip
intended to be extracted as:
https://dash.akamaized.net/WAVE/vectors/switching_sets/15_30_60/ss1/2022-10-17/stream.mpd
referencing:
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t19/2022-10-17/1/init.mp4
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t19/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/chdf_sets/15_30_60/t20/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t23/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t24/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t25/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t28/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t32/2022-10-17/1/$Time$.m4s
https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/t34/2022-10-17/1/$Time$.m4s
@nicholas-fr Please confirm this is ok and I will regenerate.

@rbouqueau Thanks Romain, that matches my understanding, OK for me.

Updated and uploaded!

@nicholas-fr to validate. Once done this issue and https://github.com/nicholas-fr/test-content-validation/issues/15 can be closed.

Close. @nicholas-fr can reopen if it has not been validated.


Small Edits for Getting Started and Release Notes

Minor punctuation edits
Small formatting edits

@briandooley @finp

@briandooley @finp is this okay to merge?

@joaedwar Merged now.


Document minimum privileges required for Oracle DVT connection

Most Oracle customers will not tolerate using the SYSTEM account for validations and will want to know the minimum privileges required so they can create a specific read only account following the principle of least privilege.
We already do this for BigQuery: https://github.com/GoogleCloudPlatform/professional-services-data-validator/blob/develop/docs/connections.md#google-bigquery
We should do something similar for the Oracle connectivity section (and in future for other RDBMSs too).

Closing the ticket. Doc updated under -  https://github.com/GoogleCloudPlatform/professional-services-data-validator/commit/a7889bf7c8b5106a4144a73a0767c2b59b4c09b0


struct redefinitions

Win SDK version: 10.0.26100.0

phnt installed from https://vcpkg.link/ports/phnt/v/2024-05-22/0

This issue is fixed in upstream with https://github.com/winsiderss/systeminformer/commit/060790a298177dea9cdc99663821bfea17de9c5b however the vcpkg release does not yet reflect these changes.


Bug: indent guides not visible with Midnight -- but appear after switching between different color schemes

Did you check documentation and existing issues?

[X] I have read all the midnight.nvim documentation
[X] I have searched through all existing issues of midnight.nvim
[X] My issue is non-trivial and does not belong in the Discussions section

Neovim version (nvim -v)
0.9.5
Operating system / version (for eg., uname -sro)
Linux 6.7.1-arch1-1 GNU/Linux
Describe the bug
No indent guide bars are shown when using midnight.nvim. However, changing 'colorscheme' to another scheme and then back to midnight will show the guide bars. Indent bars courtesy of indent-blankline.nvim.
Steps To Reproduce

Start nvim with only indent-blankline.nvim and midnight.nvim modules loading via Lazy.
Open midnight.lua. No guidebars shown for indented code sections. (1-midnight-no-guidebars.png)
Change colorscheme to Default. Guidebars are shown. (2-default-guidebars.png)
Change colorscheme back to midnight. Guidebars are shown. (3-midnight-with-guidebars.png)

Expected Behavior
Guidebars should be visible in midnight without having to change colorschemes.
Additional, unrelated: I really enjoy this color scheme and it is my daily driver. Thank you for your time and effort putting it together for the Neovim gang. Only fine-tune selection I made was to have matching parens show up better against the dark background:
MatchParen = { fg = require('midnight.colors').palette.orange[1] },
This was commented out in my tests so it does not appear to affect the guidebars.
Any additional info you need, LMK!
Repro
-- DO NOT change the paths
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system {
    "git",
    "clone",
    "--filter=blob:none",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  }
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
require("lazy").setup({
  {
    "dasupradyumna/midnight.nvim",
    lazy = false,
    priority = 1000,
    config = function()
      require('midnight').setup {
        --- add code here
      }
    end,
  }
}, { root = root .. "/plugins" })

vim.cmd.colorscheme "midnight"

Thanks for the issue!
I use my custom indent guide logic, so it seems I did not add support for this plugin.
Will be done within the next week.
Cheers ~

Dasu:
No worries at all! Let's put it this way: it took me a week or so to notice it, so I'm not exactly the most discerning of users. 🙂
Thank you again for your great color scheme. Hope you have a relaxing, interesting weekend!
--Mike

From: Dasu Pradyumna @.>
Sent: Friday, January 26, 2024 17:52
To: dasupradyumna/midnight.nvim @.>
Cc: Michael Toot @.>; Author @.>
Subject: Re: [dasupradyumna/midnight.nvim] Bug: indent guides not visible with Midnight -- but appear after switching between different color schemes (Issue #9)
Thanks for the issue!
I use my custom indent guide logic, so it seems I did not add support for this plugin.
Will be done within the next week.
Cheers ~
—
Reply to this email directly, view it on GitHubhttps://github.com/dasupradyumna/midnight.nvim/issues/9#issuecomment-1912909560, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVR7DGAVOVZSXE3DZH5NVHTYQRMW5AVCNFSM6AAAAABCM2FAGWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJSHEYDSNJWGA.
You are receiving this because you authored the thread.Message ID: @.***>

Hello, I have tried reproducing your issue but I couldn't.
indent-blankline.nvim seems to work fine. Plus I went through the plugin documentation and found that every highlight has a fallback if a colorscheme does not define it. So, it is working as expected.
Can you open neovim using this command $ nvim -u repro.lua in a test directory and see if your bug persists?
Below is the config repro.lua which I used to try to reproduce your issue.
-- repro.lua

-- DO NOT change the paths
local root = vim.fn.fnamemodify('./.repro', ':p')

-- set stdpaths to use .repro
for _, name in ipairs { 'config', 'data', 'state', 'cache' } do
  vim.env[('XDG_%s_HOME'):format(name:upper())] = root .. '/' .. name
end

-- bootstrap lazy
local lazypath = root .. '/plugins/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system {
    'git',
    'clone',
    '--filter=blob:none',
    'https://github.com/folke/lazy.nvim.git',
    lazypath,
  }
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
require('lazy').setup({
  {
    'dasupradyumna/midnight.nvim',
    lazy = false,
    priority = 1000,
    config = function() require('midnight').setup {} end,
  },
  {
    'lukas-reineke/indent-blankline.nvim',
    main = 'ibl',
    opts = {},
  },
}, { root = root .. '/plugins' })

vim.cmd.colorscheme 'midnight'

This is how the above config renders the indents

Welp, you're right. It's working now. Attached are two repro dirs, one with Kitty (my daily driver) and one with xterm. If I had to guess, something in the treesitter stuff going on the past couple of weeks changed things just enough so the lines weren't showing up. I'm usually pretty good about synching plugins; I could have missed an update and thus the "problem."
Go ahead and close this bug -- mark it fixed if you're feeling generous, "delusional user" if you're not. :D Again, thank you for the great theme and my gratitude for your work on the "bug." --Mike
kitty-repro.tar.gz
xterm-repro.tar.gz


Typo: "Tagalong"

In the “Macintosh language IDs” section, “Tagalong” should be “Tagalog”.

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

ID: 9bc5a9d9-70e1-97b3-6926-c176e1a2401d
Version Independent ID: 1afb0f5b-d1a7-7d69-d175-a5c9382b74be
Content: name - Naming table specification - Typography
Content Source: typographydocs/opentype/spec/name.md
Product: windows
GitHub Login: @PeterCon
Microsoft Alias: PeterCon

Thanks. Will be corrected in the next version.


asset registry with basic functionalities

Also please add a MySQL DB  table structures.
Like: https://github.com/linux-training-group-1/asset-registry/blob/main/scripts/table.sql


Upgraded dependencies

Issue Number
fixes #114

Describe the changes you've made
I have made the following changes:

Upgraded the dependencies to their latest version
Fixed breaking changes due to upgraded dependencies
Fixed the linting errors due to upgraded dependencies
Updated documentation to install using proper command

Describe if there is any unusual behavior (Any Warning) of your code(Write NA if there isn't)
NA
Additional context (OPTIONAL)
NA
Test plan (OPTIONAL)
NA
Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[x] The title of my pull request is a short description of the requested changes.

Provide a Deployed link of route/page that needs to review
NA

@Abhirup-99
Should I create a different PR for the Cypress tests or add them in this PR itself?

Add the cypress tests in a separate PR. Push 1 more commit to fix the build.

@Abhirup-99
Some of the Cypress are not meant to work under any condition. This can cause the build to fail. For example, this line is invalid and hence the test will not pass.
It can be fixed by replacing the text with appropriate content.
Should I make these minor modifications in the tests as well ?

Yes but the lints would work fine right? Can you push that bit in this PR?

Yes but the lints would work fine right? Can you push that bit in this PR?

Sure

Tests all go in a separate PR.

@Abhirup-99
The lint checks have passed

When we are updating the versions, shouldn't it also make sure we don't need to use -f flag to install the dependencies. All the dependencies would work fine with npm install itself. Can you take care of that in this PR?

Build throwing errors.

@Abhirup-99
The build error appeared because in the latest dependencies, webpack 5.x.x. is used, and this caused the import method from JSON file to be erroneous or invalid.
After changing the import method, the build was successful, and it has also passed the lint checks.

@Abhirup-99
The build error appeared because in the latest dependencies, webpack 5.x.x. is used, and this caused the previous import method from JSON file to be erroneous or invalid.
I have fixed it now. After changing the import method, the build was successful, and it has also passed the lint checks.


Update tests to not use create-react-class

Discovered that as part of https://github.com/chenglou/react-motion/pull/460
Caching node_modules  did us a bad service

Probably worth to fix in one go with #459

Will be fixed in #462


guided_summarization

Hello, why did the accuracy drop sharply last night at 3000 steps when training Bert z_abs, and then stay between 4% and 5%?

Hi, maybe this thread (https://github.com/neulab/guided_summarization/issues/22) is helpful.

thanks


Mapper parsing exceptions with date fields

Software
Version

PHP
7.4.15

Elasticsearch
7.10.2

Laravel
6.20.16

Hey, first of all, awesome work!
I'm playing around with the new elastic packages and I'm getting some issues trying to parse date fields with the follow config:
$mapping->date('created_at', [
          'format' => 'strict_date_optional_time_nanos',
]);

It reports a successfull job but debugging the underlying elastic request gives me the following output:
[2021-02-15 12:36:37] production.DEBUG: {"took":1,"errors":true,"items":[{"index":{"_index":"anoreg_mt_vendas","_type":"_doc","_id":"19","status":400,"error":{"type":"mapper_parsing_exception","reason":"failed to parse field [created_at] of type [date] in document with id '19'. Preview of field's value: '2020-11-16 17:07:36'","caused_by":{"type":"illegal_argument_exception","reason":"failed to parse date field [2020-11-16 17:07:36] with format [strict_date_optional_time_nanos]","caused_by":{"type":"date_time_parse_exception","reason":"Text '2020-11-16 17:07:36' could not be parsed, unparsed text found at index 10"}}}}}]}

I think the default config for the date mapping could be  'format' => 'yyyy-MM-dd HH:mm:ss'.
Also, there is a way to report the elastic errors so that the Scout job fails?

Hey @rmundel, sorry for the late reply.
You should define the date format when creating an index.
Currently, not all errors returned by ES result in an exception, I'm investigating it.

Hey man! Thanks for the work btw.
So, after investigating a bit, I added some code inside the ES package and found out that indeed it was not returning exceptions, but the index was rejecting the data because ou some fields validations (I was sending the wrong date format).
I think that the job should fail right?
I lost the errors log but was somthing like this:
Success log example:
[2021-02-19 10:17:06] production.DEBUG: {"took":0,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":0,"relation":"eq"},"max_score":null,"hits":[]}}

Failure log example:
[2021-02-19 10:17:06] production.DEBUG: {"took":0,"timed_out":false,"_shards":{"total":1,"successful":0,"skipped":0,"failed":1},"hits":{"total":{"value":0,"relation":"eq"},"max_score":null,"hits":[]}}

I think this issue should be in the scout driver repo right?
Thanks.

Maybe the ES Scout Driver could read the ES response and fail the job?

@rmundel, definitely. If there is an error, the document manager should throw an exception. Unfortunately, I didn't have time yet to look into it.

@rmundel I've created an issue in the official client repository, let's see how it goes. If it's not resolved in the client library, then I will add extra handling on the adapter level.

Hey @babenkoivan, no worries! Thanks for the effort.


battery plugin - incorrect values

Is any reason for the battery plugin use code line this "local PERC_OUTPUT=$(echo $ACPI_OUTPUT | head -c 23 | tail -c 2)" with head and tail to extract battery percentages?
Would not be possible to use commands like "awk" for example? in my case it is not retrieving the value correctly when discharging and 100% battery yet.

Do you have an example for this? I guess you're using Linux, right? I can't test the above since I'm running OS X, and that's using a different logic branch (and a different command).
If you find a better and more reliant way of finding the correct value, feel free to provide a PR - we're always looking for contributors.

So in OS X awk command is not available? or it is not even possible to run acpi commands?

@jfmcarreira `awk

awk is available, but acpi is not. Here (https://github.com/Bash-it/bash-it/blob/master/plugins%2Favailable%2Fbattery.plugin.bash#L64) you can see that on OS X, it will use ioreg instead.

@nwinkler beat me to it :-)

@tswicegood Sorry about that, must have typed my reply at the same time :smile:

so if in the acpi case we could use awk i guess :)
Either way head tail is wrong at this point. awk has the advantage of  avoiding trailing spaces.  i will make the pull request as soon as i manage to add it to my bash to test it :)

Yes, of course you can use awk! Looking forward to your PR!

Sent the PR.
I guess it will work like this. I will do further test i also have another idea for a function. themes could change colour depending if the battery is charging or discharging.

This was fixed in #690.


[ST] Execution reverted when bridging alUSD from Arbitrum to Optimism

Describe the bug
The user gets an execution reverted error when trying to bridge more than a certain amount.

Link to ticket in discord
https://discord.com/channels/454734546869551114/1194283130442493982/1194312782800232518

This is due to known liquidity fragmentation in the alUSD contract. There needs to be enough nextAlUSD locked up in alUSD to support a transfer.

We would have to build something custom to the alUSD/alETH tokens in order to notify users of insufficient liquidity. Not something we have planned yet .


Test on multiple versions of ruby

Ideally we'd run all of our tests on 1.9, 2.2, jruby, and latest rubinius.

Opened #30 for ruby v2.2 issues


Added the ability to blacklist tags on ehentai

Category
This change is exactly one of the following (please change [ ] to [x]) to indicate which:

[X] a new feature

Description
The user can now add a comma separated list of tags in the config file with a key of "ehentai.blacklist.tags" and the ripper will skip any albums with those tags
I also added a way to get ConfigStringArrays from ripmes config file
Example: Adding "ehentai.blacklist.tags = one,two, three" will cause ripme to skip any ehentai album with the tags one, two or three
Testing
Required verification:

[ ] I've verified that there are no regressions in mvn test (there are no new failures or errors).
[ ] I've verified that this change works as intended.

[ ] Downloads all relevant content.
[ ] Downloads content from multiple pages (as necessary or appropriate).
[ ] Saves content at reasonable file names (e.g. page titles or content IDs) to help easily browse downloaded content.

[ ] I've verified that this change did not break existing functionality (especially in the Ripper I modified).

Optional but recommended:

[ ] I've added a unit test to cover my change.

The failed test is unrelated to these changes


[Feature] modify Runtime to support skip_tokenizer_init

Thank you for your contribution, we really appreciate it. The following instructions will help improve your pull request and make it easier to receive feedback. If there are any items you don't understand, don't worry. Just submit the pull request and ask the maintainers for help.
Motivation
https://github.com/sgl-project/sglang/issues/924
Modification
modify Runtime (i.e. async generate_request) to handle ids when skip_tokenizer_init is set.
Checklist

Ensure pre-commit pre-commit run --all-files or other linting tools are used to fix potential lint issues.
Confirm that modifications are covered by complete unit tests. If not, please add more unit tests for correctness.
Modify documentation as needed, such as docstrings or example tutorials.

Is this a follow-up to https://github.com/sgl-project/sglang/pull/959?

Is this a follow-up to #959?

yes.


JOIN THE LIBRESCORE DISCORD! -IMPORTANT

please join the discord,thanks

https://discord.gg/kTyx6nUjMv

Yeah i fixed the URL for people who couldn't join

Please note that the new repo is hosted at: https://github.com/LibreScore/dl-librescore


TestLemmatizer failing with BalaurProcessor

In the balaur branch, TestLemmatizer fails as follows:
sbt 'testOnly org.clulab.processors.TestLemmatizer'
...
[info] - should not crash when processing this weird file *** FAILED ***
[info]   java.lang.ArrayIndexOutOfBoundsException: -2
[info]   at org.clulab.struct.DirectedGraph$.$anonfun$mkOutgoing$1(DirectedGraph.scala:241)
[info]   at scala.collection.immutable.List.foreach(List.scala:431)
[info]   at org.clulab.struct.DirectedGraph$.mkOutgoing(DirectedGraph.scala:239)
[info]   at org.clulab.struct.DirectedGraph.<init>(DirectedGraph.scala:34)
[info]   at org.clulab.processors.clu.BalaurProcessor.assignDependencyLabels(BalaurProcessor.scala:276)
[info]   at org.clulab.processors.clu.BalaurProcessor.$anonfun$annotate$1(BalaurProcessor.scala:139)
[info]   at org.clulab.processors.clu.BalaurProcessor.$anonfun$annotate$1$adapted(BalaurProcessor.scala:131)
[info]   at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)
[info]   at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
[info]   at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:198)
[info]   ...
[info] Run completed in 2 minutes, 56 seconds.
[info] Total number of tests run: 1
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 0, failed 1, canceled 0, ignored 0, pending 0
[info] *** 1 TEST FAILED ***
[error] Failed tests:
[error]         org.clulab.processors.TestLemmatizer

@kwalcock: can you please look into this? Thank you!

Most likely unrelated, this also fails:
sbt 'corenlp/testOnly org.clulab.processors.TestParallel'
...
[info] - should match processing documents serially *** FAILED ***
[info]   java.util.NoSuchElementException: None.get
[info]   at scala.None$.get(Option.scala:529)
[info]   at scala.None$.get(Option.scala:527)
[info]   at org.clulab.utils.ToEnhancedDependencies$.$anonfun$collapsePrepositionsUniversalDueTo$1(ToEnhancedDependencies.scala:195)
[info]   at org.clulab.utils.ToEnhancedDependencies$.$anonfun$collapsePrepositionsUniversalDueTo$1$adapted(ToEnhancedDependencies.scala:194)
[info]   at scala.collection.immutable.List.foreach(List.scala:431)
[info]   at scala.collection.generic.TraversableForwarder.foreach(TraversableForwarder.scala:38)
[info]   at scala.collection.generic.TraversableForwarder.foreach$(TraversableForwarder.scala:38)
[info]   at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:47)
[info]   at org.clulab.utils.ToEnhancedDependencies$.collapsePrepositionsUniversalDueTo(ToEnhancedDependencies.scala:194)
[info]   at org.clulab.utils.ToEnhancedDependencies$.collapsePrepositionsUniversal(ToEnhancedDependencies.scala:145)
[info]   ...
[info] Run completed in 5 seconds, 968 milliseconds.
[info] Total number of tests run: 1
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 0, failed 1, canceled 0, ignored 0, pending 0
[info] *** 1 TEST FAILED ***
[error] Failed tests:
[error]         org.clulab.processors.TestParallel

@MihaiSurdeanu, the processors branch balaur is not compiling for me.  Is there a commit that hasn't made it to github?  The latest there is 48a754 and it looks incomplete.

Sorry! Yes, the headAndLabels branch in scala-transformers must be published locally first.

I had done that, but the problem seems to be in the processors code :-(

Hmm. Then I'm not sure. Can you please paste in the error?

I've seen this on two separate computers now, so I don't think it's a fluke.  The problem might be that there are two Eisner files and they are getting mixed up.
[error] C:\Users\kwa\MyData\Projects\clulab\processors-project\processors\main\src\main\scala\org\clulab\processors\clu\CluProcessor.scala:452:34: value ensembleParser is not a member of org.clulab.processors.clu.Eisner
[error]     val headsWithLabels = eisner.ensembleParser(
[error]
[warn] C:\Users\kwa\MyData\Projects\clulab\processors-project\processors\main\src\main\scala\org\clulab\processors\clu\CluProcessor.scala:19:93: imported `Eisner` is permanently hidden by definition of object Eisner in package clu
[warn] import org.clulab.dynet.{AnnotatedSentence, ConstEmbeddingParameters, ConstEmbeddingsGlove, Eisner, Metal, ModifierHeadPair}
[warn]                                                                                ^
[warn] C:\Users\kwa\MyData\Projects\clulab\processors-project\processors\main\src\main\scala\org\clulab\processors\clu\CluProcessor.scala:4:93: imported `Eisner` is permanently hidden by definition of object Eisner in package clu
[warn] import org.clulab.dynet.{AnnotatedSentence, ConstEmbeddingParameters, ConstEmbeddingsGlove, Eisner, Metal, ModifierHeadPair, Utils}
[warn]                                                                                ^
[warn] two warnings found

Interesting. I don't see this error on my Mac or a linux box.
In any case, I renamed one of the classes to avoid the conflict.
Can you please pull the branch and try again?
Thanks!

On the first one, there is an edge from -2 to 83.  In EisnerEnsembleParser.generateOutput there is a case where Eisner fails, so there is a reversion to the greedy inference.  A bestDep of -47 is found when i = 45.  head ends up being -2.  The programming here probably needs to be more defensive.  Let me know if I should mess with the code.

On the second problem, it looks like ToEnhancedDependencies.collapsePrepositionsUniversalDueTo is failing because it needs lemmas and lemmatize has apparently not yet been run on the document.

Please go ahead and "mess with the code" :)
The greedy inference is supposed to choose only valid heads that are either -1 (root of the tree) or between 0 and sentence length:
https://github.com/clulab/processors/blob/balaur/main/src/main/scala/org/clulab/processors/clu/EisnerEnsembleParser.scala#L256

OK.  That line 25 is just before depHead - 1, which results in the -2.

I'm trying to understand the nearby code.  In PostProcessor.parserPostProcessing it looks like you are trying to account for "due to" and wanting to change the headsWithLabels(i + 1) to (i, "mwe"), but only if that's not already the case.  If so, the condition at
https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/PostProcessor.scala#L42-L43
might need to have an || instead:

(headsWithLabels(i + 1)._1 != i || headsWithLabels(i + 1)._2 != "mwe")

I think you're right. Nice catch!
Of course, we need parens around the disjunction.

The code is complicated enough to be hiding problems.  For example, the value https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/EisnerEnsembleParser.scala#L291
is already an int not needing conversion and the exception handler
https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/EisnerEnsembleParser.scala#L304
should probably be guarding the line all the way over here:
https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/BalaurProcessor.scala#L233

@MihaiSurdeanu, when BalaurProcessor.assignDependencyLabels gets called, are the original headLabels coming out of the neural network using absolute or relative values?  It looks like relative because of
https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/BalaurProcessor.scala#L233
but then absolute because of
https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/EisnerEnsembleParser.scala#L234

Yes, the ML predicts relative head positions (the classifier generalizes much better with relative positions). The code in the processor then converts them to absolute values, and then construct a DependencyGraph.

The code is complicated enough to be hiding problems. For example, the value
https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/EisnerEnsembleParser.scala#L291
is already an int not needing conversion and the exception handler
https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/EisnerEnsembleParser.scala#L304
should probably be guarding the line all the way over here:
https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/BalaurProcessor.scala#L233

I think you're right. Thanks for catching it!

@MihaiSurdeanu, the model 0.0.4 should be available now.  Next time I will be daring and number it 0.1.0!

Thank you!

I hope to ask tomorrow about some of this code, because there are too many words (for me) for different stages of the same numbers.  Here's a code question, though.  In
https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/EisnerEnsembleParser.scala#L294-L295
relHead being 0 has special meaning, because something can't be its own head.  However, mod + relHead can also be zero, I think, and that doesn't mean quite the same thing: mod + relHead == 0 => i + 1 + relHead == 0 => i + relHead == -1 => absHead == -1 which is invalid.  It might be OK to say that in that case it goes to root just like an actual relHead of 0 would.  However, then if mod + relHead == -1 => absHead == -2, the same going to root option is not taken because the condition in the second line is not satisfied.
If that is the case, I have an urge to rearrange some things so as not to get into that situation.

Let's discuss in our meeting today!

Yet another question...  AFAICT, the data coming into assignDependencyLabels for the heads and labels have heads all originating from the tasks.3.labels file.  These are 160 values ranging from -127 to +77 with some gaps.  There are no duplicates.  That seems like a constant.  I don't think there should be any issue converting any of the heads to integers so that the exception handling is not necessary.  If the values are distinct, then code like
https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/EisnerEnsembleParser.scala#L296
would not seem necessary, either.  For this particular task it looks like the scores are already delivered sorted so that
https://github.com/clulab/processors/blob/23436a41a2c18460bba7952dc9a05f6f9db894f8/main/src/main/scala/org/clulab/processors/clu/EisnerEnsembleParser.scala#L283
is similarly unnecessary.  I'll see if it works without these things.

The older classifier based on dynet could generate some strings labels. But this is no longer true with transformers. So that exception is no longer needed.
You're probably correct on the sortBy as well. At some point I wasn't sorting in scala_transformers. But now we do.


Resource Group not being contained in the export when having dimension ResourceGroup

Hi there,
We've made plenty of use if this tool but recently we upgraded to the latest version (0.37.0 -> 0.41.0)
We've noticed that the:
azure-cost dailyCosts --dimension ResourceGroup -t custom --from 09/01/2024 --to 10/01/2024 --includeTags -o csv
Returns a different layout then before. For example it doesn't include the dimension you are filtering on anymore ^
Example before:
Date,Name,Cost,CostUsd,Currency,Tags 8/1/2024,,0.00979290,0.01059200,EUR, 8/1/2024,$system,0.29824704,0.32258400,EUR, 8/1/2024,rg-cosmos-we,2.75148580,2.97600704,EUR,costcenter:shared;costsubcenter:cosmos table storage;environment:test
Example now:
Date,Cost,Currency,CostUsd,costcenter,costsubcenter,environment 9/1/2024,0.21563342,EUR,0.24000000,shared,networking,developmentsandbox
We still use the same command, is there a way to reinclude the dimension you are actually querying?

That does not look correct. I traced it back to the change that includes the tags. Apparently, I forgot the mapping of the name property. Version 0.41.0 should have the field again. Sorry for the trouble.

Great thanks for the fix!


Change link to polish translation

Thanks for adding a link to polish translation!
I changed it a little bit to make it more clear. :)

Thank you @agagata! Apologies for my linguistic bungle :P Out of curiosity, what is the difference between "Polski" vs "Polszczyzna"?

„Polszczyzna” is a noun, while „polski” is an adjective. „Polszczyzna” is an equivalent to „język polski” („polish language”). I can't explain why exactly it should be „polski” in this context, but it's the norm and for me it just sounds better. ;)

Thanks @sin! That satisfies my curiosity :)


Concrete playback doesn't work when --cfg kani is required

I tried this code:

This test somewhat mimics how the Kani--Bolero integration works, where a function returns a symbolic value in kani mode and a random value otherwise:
fn main() {}

#[cfg(kani)]
fn gen_value() -> i32 {
    kani::any()
}

#[cfg(not(kani))]
fn gen_value() -> i32 {
    rand::random()
}

#[cfg_attr(kani, kani::proof)]
#[cfg_attr(not(kani), test)]
fn harness() {
    let x: i32 = gen_value();
    assert!(x != 50);
}

using the following command line invocation:
cargo kani --enable-unstable --concrete-playback=inplace

with Kani version: 0.18.0
Kani generated the following test:
#[test]
fn kani_concrete_playback_harness_5085686764756153187() {
    let concrete_vals: Vec<Vec<u8>> = vec![
        // 50
        vec![50, 0, 0, 0],
    ];
    kani::concrete_playback_run(concrete_vals, harness);
}

Now if I run this test with:
cargo test kani_concrete_playback_harness_5085686764756153187

or in the debugger, the assertion doesn't fail because the cfg(not(kani)) version of gen_value gets called. In addition, we get the following crash:
running 1 test
test kani_concrete_playback_harness_5085686764756153187 ... FAILED

failures:

---- kani_concrete_playback_harness_5085686764756153187 stdout ----
thread 'kani_concrete_playback_harness_5085686764756153187' panicked at 'At the end of concrete playback, there were still these concrete values left over `[[50, 0, 0, 0]]`. This either happened because: 1) Your code/harness changed after you generated this concrete playback unit test. 2) There's a bug in Kani. Please report the issue here: <https://github.com/model-checking/kani/issues/new?assignees=&labels=bug&template=bug_report.md>', /home/ubuntu/.cargo/git/checkouts/kani-0ce0dacf5e98886d/c135fa9/library/kani/src/concrete_playback.rs:32:9
stack backtrace:
   0: rust_begin_unwind
             at /rustc/70f8737b2f5d3bf7d6b784fad00b663b7ff9feda/library/std/src/panicking.rs:575:5
   1: core::panicking::panic_fmt
             at /rustc/70f8737b2f5d3bf7d6b784fad00b663b7ff9feda/library/core/src/panicking.rs:65:14
   2: kani::concrete_playback::concrete_playback_run::{{closure}}
             at /home/ubuntu/.cargo/git/checkouts/kani-0ce0dacf5e98886d/c135fa9/library/kani/src/concrete_playback.rs:32:9
   3: std::thread::local::LocalKey<T>::try_with
             at /rustc/70f8737b2f5d3bf7d6b784fad00b663b7ff9feda/library/std/src/thread/local.rs:453:16
   4: std::thread::local::LocalKey<T>::with
             at /rustc/70f8737b2f5d3bf7d6b784fad00b663b7ff9feda/library/std/src/thread/local.rs:429:9
   5: kani::concrete_playback::concrete_playback_run
             at /home/ubuntu/.cargo/git/checkouts/kani-0ce0dacf5e98886d/c135fa9/library/kani/src/concrete_playback.rs:30:5
   6: conc_playback_cfg::kani_concrete_playback_harness_5085686764756153187
             at ./src/main.rs:26:5
   7: conc_playback_cfg::kani_concrete_playback_harness_5085686764756153187::{{closure}}
             at ./src/main.rs:21:57
   8: core::ops::function::FnOnce::call_once
             at /rustc/70f8737b2f5d3bf7d6b784fad00b663b7ff9feda/library/core/src/ops/function.rs:507:5
   9: core::ops::function::FnOnce::call_once
             at /rustc/70f8737b2f5d3bf7d6b784fad00b663b7ff9feda/library/core/src/ops/function.rs:507:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

failures:
    kani_concrete_playback_harness_5085686764756153187

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.01s

error: test failed, to rerun pass `--bin conc_playback_cfg`

To reproduce, create a cargo package with the above Rust code and add the following to Cargo.toml:

[dependencies]
rand = "0.8.5"

[dev-dependencies]
kani = { git = "https://github.com/model-checking/kani", features = ["concrete_playback"] }

If I run with --cfg kani, I get a compilation failure:
$ RUSTFLAGS="--cfg kani" cargo test kani_concrete_playback_harness_5085686764756153187
# -- snip --
error[E0433]: failed to resolve: use of undeclared crate or module `kanitool`
  --> src/main.rs:14:18
   |
14 | #[cfg_attr(kani, kani::proof)]
   |                  ^^^^^^^^^^^ use of undeclared crate or module `kanitool`
   |
   = note: this error originates in the attribute macro `kani::proof` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0433`.
error: could not compile `conc_playback_cfg` due to previous error

This seems to be a duplicate of #1610

Indeed. Closing this one.


Hyperlink tool can create two separate hyperlinks

Bug Report 🐛
It is possible to create two separate hyperlinks with the hyperlink tool
Expected Behavior
Only the highlighted area should become a hyperlink
Steps to Reproduce
https://www.loom.com/share/7014c3e0850c486780ae486e96345355

Triple click on a line of text
Press cmd+k to create a hyperlink
Enter a url
Save the hyperlink
Now there are two hyperlinks. One hyperlink is the selected area, and another hyperlink is part of the line after the selected area

This could likely be a check to see if the selection spans multiple nodes at the top level, either on submission or on opening of the modal (through the button or keyboard shortcut).

This issue seems to be coming from Slate. Can you please elaborate your proposed solution. @irmerk I don't think checking at the top level could be enough because the nodes can be in a nested structure.

@amanda-ariyaratne hmm interesting... I think my suggestion could still be good because the check would not be concerned with if something is nested. It would check if the beginning and end of a selection are in the same root node.

So in this example (attached screenshot),
If I double click and highlight the second numbered list item the selection is
{
  "anchor":
     {
        "path": [2,1,0,0],
        "offset":0
     },
  "focus":
     {
       "path": [2,1,0,0],
       "offset":3
     }
}

If I triple click the same the selection is
{
  "anchor":
     {
        "path": [2,1,0,0],
        "offset":0
     },
  "focus":
     {
       "path": [2,2,0,0],
       "offset":0
     }
}

A solution might be possible still. But I'm sure how complex the nesting can get.
Also the demo given by Slate produces the same problem. Try to select the first line by a triple click and add a hyperlink.
I'm willing to work on this so if you have any more ideas let me know.

@amanda-ariyaratne good point on it being in Slate, I should have looked when you mentioned it was coming from there. There doesn't appear to be any Issue on it in their repository.
I would think the solution should be from down in Slate. So I think marking this as Won't Fix and opening an issue in their repository is the best route.
@amanda-ariyaratne if you're interested in working on it, I recommend opening the issue in their repo and working on it there. Would you be fine with at least opening the issue in their repo?

@irmerk yeah sure I'll open up a new issue in Slate, if it isn't already there.
I'm new to this so wanted to make sure there's nothing to be done from this side. Thanks.

@irmerk Shall I implement this issue.

@irmerk @Michael-Grover Have a look upon this

What am I looking for? Can you explain some more context?

@irmerk I guess the problem is only with lists.Here heading and paragraphs worked a quite better than the lists.

In the original recording I shared in the description, it shows there is also a problem when you highlight an entire line that is above a heading. Even though the heading is not highlighted, it becomes a separate link. @Cronus1007 thanks for catching that this bug happens with lists too.

I'm not able to reproduce this bug, so I am closing the issue


http://localhost/ is unreachable

HI,
Everything was installed without issues and I can also see that all 3 containers are running. But accessing http://localhost doesn't seem to work. I get This site can’t be reached is there something that I missed?
command: docker-compose up -d
Thanks,
Ryann

Hey @raihanflores,
You are actually missing the host port here...
If you do a docker-compose ps, you'll see to which port is your nginx install mapped to. In my case, the port is 32768:
         Name                        Command               State               Ports
-------------------------------------------------------------------------------------------------
netboxdocker_netbox_1     /docker-entrypoint.sh            Up
netboxdocker_nginx_1      nginx -g daemon off; -c /e ...   Up      443/tcp, <IP_ADDRESS>:32768->80/tcp
netboxdocker_postgres_1   docker-entrypoint.sh postgres    Up      5432/tcp

Hitting http://localhost:32768 should work for you :).
@cimnine Don't we want to link to the host port 80 by default here? Either that or changing the README, so that we can have a seamless experience :).

Port 80 is unfeasible, because it is a privileged port and requires superuser permissions for a program to bind to.
Updating the README would be the way to go IMO.

Thank you for reporting this. I hope the README is clearer now.


Improve upgrades system, add tests

This branch has more contrived tests for the upgrades system. Most don't pass.

[ ] test_upgrade1: This upgrades from version 0.2 to 0.4. There is no explicit upgrade to 0.4 to 0.5, but an automatic upgrade would succeed; however it is not attempted.
[X] test_upgrade2: This chains two upgrades, with no ambiguity.
[ ] test_upgrade3: Here there are multiple possible upgrade from 0.2: either to 0.3 (then 0.5), or directly to 0.5. The upgrade to 0.3 is preferred, this is wrong.
[ ] test_upgrade4: Here several automatic upgrade would be needed. Module is 0.0, would need to get to 0.1 to upgrade to 0.2, then auto to 0.3 to upgrade to 0.4, then auto to 0.5.

I'm not entirely sure what can be done and what we want to support (specially in terms of automatic upgrades). Discussion is probably needed here.
This doesn't yet cover the problem @rexissimus ran into on VTK functions, #1047. It might be a different issue fixable separately.
#1017 can probably fixed without handling all of this, although the upgrades won't be as robust.

Also, the remapping functions (passed as function_remap, src_port_remap, etc) don't get the controller, which leads to weird workarounds like the global _controller in vtk's upgrade code. But I don't know if we can change this without breaking compatibility (maybe pass it for new-style upgrades, UpgradeModuleRemap objects, and not for old ones, dict?)


Bug 1757863: most must_gather_commands files with output of ceph commands are empty

Backport of PR https://github.com/openshift/ocs-operator/pull/233

/retest


Fix translation error

Overview
Peter and I were running into issues with .po files. This is because for us rsync wasn't adding the .po files in the locale directory to the VM. Rsync excluding only .mo files fixes this. It also enables the modified .po files to be written back to the host with rsync back.
Checklist

[x] PR has a name that won't get you publicly shamed for vagueness

Testing Instructions

vagrant destroy
vagrant up
vagrant ssh
./scripts/update
./scripts/configure_pa_data
./scripts/server
Play with the app and see it it works

@ddohler 's comment seems promising.
I'm not sure I understand why we need to update the .po files as part of this PR... Isn't that only for when we've made new translations?

This works with @ddohler's suggestion. @pcaisse, if you could verify, I'd be comfortable merging.


Add pytorch 1.1 utils.tensorboard support.

This pull request adds the ability to choose to use PyTorch 1.1'storch.util.tensorboard.SummaryWriter. The config is changed so that the user passes in an array of modules names. If tensorboardX is not available, it tries to use torch.utils.tensorboard. The user can switch the ordering to change priority.
Tested with the default example using Pytorch 1.1 and Tenorboard 1.14. Also updated Readme to reflect requirements.

I think having option to choose backend for tensorboard is not a good idea, since those two are expected to do same thing in the same way.
Can you change the logic for selecting writer in the visualization.py to

try to import tensorboardX
try to import torch.utils.tensorboard when (1) fails
display warning if both (1) and (2) failed

and revert the tensorboard part of config.json as before?
The remaining changes looks nice. Thank you for contribution, @christopherbate.

@SunQpark Will take a look tonight, thanks.

So the only change you want is for the user to not be able to change the priority ordering of tensorboardX vs. torch.utils.tensorboard and force the priority order to be 1) tensorboardX and then 2) torch.utils.tensorboard?
It's not because this functionality is not needed, but because it should be somewhere else than the config file. I think the config file should be as simple as possible, holding configurations about experiments only. Few people will want to change backend for visualization and they will have no problem doing that on the source code.

I have made some local commits about this issue, will upload these if you don't mind.

OK, sounds good.

My changes are now uploaded here.
Please check these and comment.


Value of type 'DataRequest' has no member 'responseObject'

Using alamofire 5.0 beta6 and i am looking for the replacement of this object.
Basically what we do after a request is casting response to our custom objects which uses Hashable, Mappable and StaticMappable (we rely heavily on alamofireObjectMapper).
I scrolled a bit into the new code but didn't find what i was looking for.
Any idea ?
ps : same goes for responseArray

Nevermind, those types are coming from AlamofireObjectMapper


ci: fix broken GitHub pipeline

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket: